sqlx_core/any/
database.rs

1use crate::any::{
2    AnyArgumentBuffer, AnyArguments, AnyColumn, AnyConnection, AnyQueryResult, AnyRow,
3    AnyStatement, AnyTransactionManager, AnyTypeInfo, AnyValue, AnyValueRef,
4};
5use crate::database::{Database, HasArguments, HasStatement, HasStatementCache, HasValueRef};
6
7/// Opaque database driver. Capable of being used in place of any SQLx database driver. The actual
8/// driver used will be selected at runtime, from the connection url.
9#[derive(Debug)]
10pub struct Any;
11
12impl Database for Any {
13    type Connection = AnyConnection;
14
15    type TransactionManager = AnyTransactionManager;
16
17    type Row = AnyRow;
18
19    type QueryResult = AnyQueryResult;
20
21    type Column = AnyColumn;
22
23    type TypeInfo = AnyTypeInfo;
24
25    type Value = AnyValue;
26    const NAME: &'static str = "Any";
27
28    const URL_SCHEMES: &'static [&'static str] = &[];
29}
30
31impl<'r> HasValueRef<'r> for Any {
32    type Database = Any;
33
34    type ValueRef = AnyValueRef<'r>;
35}
36
37impl<'q> HasStatement<'q> for Any {
38    type Database = Any;
39
40    type Statement = AnyStatement<'q>;
41}
42
43impl<'q> HasArguments<'q> for Any {
44    type Database = Any;
45
46    type Arguments = AnyArguments<'q>;
47
48    type ArgumentBuffer = AnyArgumentBuffer<'q>;
49}
50
51// This _may_ be true, depending on the selected database
52impl HasStatementCache for Any {}