sqlx_scylladb_core/
database.rs

1use sqlx::{Database, database::HasStatementCache};
2
3use crate::{
4    ScyllaDBArguments, ScyllaDBColumn, ScyllaDBConnection, ScyllaDBQueryResult, ScyllaDBRow,
5    ScyllaDBStatement, ScyllaDBTransactionManager, ScyllaDBTypeInfo, ScyllaDBValue,
6    ScyllaDBValueRef, arguments::ScyllaDBArgumentBuffer,
7};
8
9/// ScyllaDB database driver.
10#[derive(Debug)]
11pub struct ScyllaDB;
12
13impl Database for ScyllaDB {
14    type Connection = ScyllaDBConnection;
15
16    type TransactionManager = ScyllaDBTransactionManager;
17
18    type Row = ScyllaDBRow;
19
20    type QueryResult = ScyllaDBQueryResult;
21
22    type Column = ScyllaDBColumn;
23
24    type TypeInfo = ScyllaDBTypeInfo;
25
26    type Value = ScyllaDBValue;
27
28    type ValueRef<'r> = ScyllaDBValueRef<'r>;
29
30    type Arguments<'q> = ScyllaDBArguments;
31
32    type ArgumentBuffer<'q> = ScyllaDBArgumentBuffer;
33
34    type Statement<'q> = ScyllaDBStatement<'q>;
35
36    const NAME: &'static str = "ScyllaDB";
37
38    const URL_SCHEMES: &'static [&'static str] = &["scylladb"];
39}
40
41impl HasStatementCache for ScyllaDB {}