sqlx_exasol/
database.rs

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/// Implementor of [`Database`].
16#[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 {}