sqlx_mysql/
database.rs

1use crate::value::{MySqlValue, MySqlValueRef};
2use crate::{
3    MySqlArguments, MySqlColumn, MySqlConnection, MySqlQueryResult, MySqlRow, MySqlStatement,
4    MySqlTransactionManager, MySqlTypeInfo,
5};
6pub(crate) use sqlx_core::database::{Database, HasStatementCache};
7
8/// MySQL database driver.
9#[derive(Debug)]
10pub struct MySql;
11
12impl Database for MySql {
13    type Connection = MySqlConnection;
14
15    type TransactionManager = MySqlTransactionManager;
16
17    type Row = MySqlRow;
18
19    type QueryResult = MySqlQueryResult;
20
21    type Column = MySqlColumn;
22
23    type TypeInfo = MySqlTypeInfo;
24
25    type Value = MySqlValue;
26    type ValueRef<'r> = MySqlValueRef<'r>;
27
28    type Arguments<'q> = MySqlArguments;
29    type ArgumentBuffer<'q> = Vec<u8>;
30
31    type Statement<'q> = MySqlStatement<'q>;
32
33    const NAME: &'static str = "MySQL";
34
35    const URL_SCHEMES: &'static [&'static str] = &["mysql", "mariadb"];
36}
37
38impl HasStatementCache for MySql {}