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#[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 {}