1use crate::rqlite;
2pub(crate) use sqlx_core::database::{
3 Database, HasArguments, HasStatement, HasStatementCache, HasValueRef,
4};
5
6use crate::{
7 connection::RqliteConnection, RqliteArguments, RqliteColumn,
8 RqliteQueryResult, RqliteRow, RqliteStatement,
9 RqliteTransactionManager, RqliteTypeInfo, RqliteValue, RqliteValueRef,
10};
11
12#[derive(Debug)]
14pub struct Rqlite;
15
16impl Database for Rqlite {
17 type Connection = RqliteConnection;
18
19 type TransactionManager = RqliteTransactionManager;
20
21 type Row = RqliteRow;
22
23 type QueryResult = RqliteQueryResult;
24
25 type Column = RqliteColumn;
26
27 type TypeInfo = RqliteTypeInfo;
28
29 type Value = RqliteValue;
30
31 const NAME: &'static str = "RQLite";
32
33 const URL_SCHEMES: &'static [&'static str] = &["rqlite"];
34}
35
36impl<'r> HasValueRef<'r> for Rqlite {
37 type Database = Rqlite;
38
39 type ValueRef = RqliteValueRef<'r>;
40}
41
42impl<'q> HasArguments<'q> for Rqlite {
43 type Database = Rqlite;
44
45 type Arguments = RqliteArguments;
46
47 type ArgumentBuffer = Vec<rqlite::Value>;
48}
49
50impl<'q> HasStatement<'q> for Rqlite {
51 type Database = Rqlite;
52
53 type Statement = RqliteStatement<'q>;
54}
55
56impl HasStatementCache for Rqlite {}