1pub(crate) use sqlx_core::database::{
2 Database, HasArguments, HasStatement, HasStatementCache, HasValueRef,
3};
4
5use crate::{
6 connection::RXQLiteConnection, RXQLiteArguments, RXQLiteColumn,
7 RXQLiteQueryResult, RXQLiteRow, RXQLiteStatement,
8 RXQLiteTransactionManager, RXQLiteTypeInfo, RXQLiteValue, RXQLiteValueRef,
9};
10
11#[derive(Debug)]
13pub struct RXQLite;
14
15impl Database for RXQLite {
16 type Connection = RXQLiteConnection;
17
18 type TransactionManager = RXQLiteTransactionManager;
19
20 type Row = RXQLiteRow;
21
22 type QueryResult = RXQLiteQueryResult;
23
24 type Column = RXQLiteColumn;
25
26 type TypeInfo = RXQLiteTypeInfo;
27
28 type Value = RXQLiteValue;
29
30 const NAME: &'static str = "RXQLite";
31
32 const URL_SCHEMES: &'static [&'static str] = &["rxqlite"];
33}
34
35impl<'r> HasValueRef<'r> for RXQLite {
36 type Database = RXQLite;
37
38 type ValueRef = RXQLiteValueRef<'r>;
39}
40
41impl<'q> HasArguments<'q> for RXQLite {
42 type Database = RXQLite;
43
44 type Arguments = RXQLiteArguments;
45
46 type ArgumentBuffer = Vec<rxqlite_common::Value>;
47}
48
49impl<'q> HasStatement<'q> for RXQLite {
50 type Database = RXQLite;
51
52 type Statement = RXQLiteStatement<'q>;
53}
54
55impl HasStatementCache for RXQLite {}