1use cdbc::database::{Database, HasArguments, HasStatement, HasStatementCache, HasValueRef};
2use crate::value::{MySqlValue, MySqlValueRef};
3use crate::{
4 MySqlArguments, MySqlColumn, MySqlConnection, MySqlQueryResult, MySqlRow, MySqlStatement,
5 MySqlTransactionManager, MySqlTypeInfo,
6};
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
27 fn holder() -> &'static str {
28 "?"
29 }
30}
31
32impl<'r> HasValueRef<'r> for MySql {
33 type Database = MySql;
34
35 type ValueRef = MySqlValueRef<'r>;
36}
37
38impl HasArguments<'_> for MySql {
39 type Database = MySql;
40
41 type Arguments = MySqlArguments;
42
43 type ArgumentBuffer = Vec<u8>;
44}
45
46impl HasStatement for MySql {
47 type Database = MySql;
48
49 type Statement = MySqlStatement;
50}
51
52impl HasStatementCache for MySql {}