sqlx_rqlite/
database.rs

1use crate::rqlite;
2pub(crate) use sqlx_core::database::{
3    Database, HasArguments, HasStatement, HasStatementCache, HasValueRef,
4};
5
6use crate::{
7    connection::RqliteConnection, /*RqliteArgumentValue,*/ RqliteArguments, RqliteColumn,
8    /*RqliteConnection, */ RqliteQueryResult, RqliteRow, RqliteStatement,
9    RqliteTransactionManager, RqliteTypeInfo, RqliteValue, RqliteValueRef,
10};
11
12/// Rqlite database driver.
13#[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 {}