1use sqlx_core::database::{Database, HasStatementCache};
2
3use crate::{
4 arguments::{ExaArguments, ExaBuffer},
5 column::ExaColumn,
6 connection::ExaConnection,
7 query_result::ExaQueryResult,
8 row::ExaRow,
9 statement::ExaStatement,
10 transaction::ExaTransactionManager,
11 type_info::ExaTypeInfo,
12 value::{ExaValue, ExaValueRef},
13};
14
15#[derive(Debug, Clone, Copy)]
17pub struct Exasol;
18
19impl Database for Exasol {
20 type Connection = ExaConnection;
21
22 type TransactionManager = ExaTransactionManager;
23
24 type Row = ExaRow;
25
26 type QueryResult = ExaQueryResult;
27
28 type Column = ExaColumn;
29
30 type TypeInfo = ExaTypeInfo;
31
32 type Value = ExaValue;
33
34 const NAME: &'static str = "Exasol";
35
36 const URL_SCHEMES: &'static [&'static str] = &["exa"];
37
38 type ValueRef<'r> = ExaValueRef<'r>;
39
40 type Arguments<'q> = ExaArguments;
41
42 type ArgumentBuffer<'q> = ExaBuffer;
43
44 type Statement<'q> = ExaStatement<'q>;
45}
46
47impl HasStatementCache for Exasol {}