sqlx/sqlx-sqlite/src/database.rs
nitn3lav 9ba488c831
Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement (#2973)
* HasValueRef, HasArguments, HasStatement -> Database GATs

replace the associated types from the generic traits
`HasValueRef<'r>`, `HasArguments<'q>` and `HasStatement<'q>`
with generic associated types in `Database`

* fixup after rebase

---------

Co-authored-by: Austin Bonander <austin.bonander@gmail.com>
2024-03-14 12:35:52 -07:00

40 lines
988 B
Rust

pub(crate) use sqlx_core::database::{Database, HasStatementCache};
use crate::{
SqliteArgumentValue, SqliteArguments, SqliteColumn, SqliteConnection, SqliteQueryResult,
SqliteRow, SqliteStatement, SqliteTransactionManager, SqliteTypeInfo, SqliteValue,
SqliteValueRef,
};
/// Sqlite database driver.
#[derive(Debug)]
pub struct Sqlite;
impl Database for Sqlite {
type Connection = SqliteConnection;
type TransactionManager = SqliteTransactionManager;
type Row = SqliteRow;
type QueryResult = SqliteQueryResult;
type Column = SqliteColumn;
type TypeInfo = SqliteTypeInfo;
type Value = SqliteValue;
type ValueRef<'r> = SqliteValueRef<'r>;
type Arguments<'q> = SqliteArguments<'q>;
type ArgumentBuffer<'q> = Vec<SqliteArgumentValue<'q>>;
type Statement<'q> = SqliteStatement<'q>;
const NAME: &'static str = "SQLite";
const URL_SCHEMES: &'static [&'static str] = &["sqlite"];
}
impl HasStatementCache for Sqlite {}