Skip to main content

sqlx_cloudflare_d1/
database.rs

1use sqlx_core::database::Database;
2
3use crate::{
4    D1ArgumentValue, D1Arguments, D1Column, D1Connection, D1QueryResult, D1Row, D1Statement,
5    D1TransactionManager, D1TypeInfo, D1Value, D1ValueRef,
6};
7
8/// The Cloudflare D1 database driver: the type sqlx code names in
9/// `Executor<'_, Database = D1>`, `sqlx::query_as::<D1, _>` and so on.
10#[derive(Debug)]
11pub struct D1;
12
13impl Database for D1 {
14    type Connection = D1Connection;
15
16    type TransactionManager = D1TransactionManager;
17
18    type Row = D1Row;
19
20    type QueryResult = D1QueryResult;
21
22    type Column = D1Column;
23
24    type TypeInfo = D1TypeInfo;
25
26    type Value = D1Value;
27    type ValueRef<'r> = D1ValueRef<'r>;
28
29    type Arguments = D1Arguments;
30    type ArgumentBuffer = Vec<D1ArgumentValue>;
31
32    type Statement = D1Statement;
33
34    const NAME: &'static str = "D1";
35
36    const URL_SCHEMES: &'static [&'static str] = &["d1"];
37}