mirror of
https://github.com/launchbadge/sqlx.git
synced 2026-03-23 10:38:57 +00:00
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>
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
pub(crate) use sqlx_core::database::{
|
||||
Database, HasArguments, HasStatement, HasStatementCache, HasValueRef,
|
||||
};
|
||||
pub(crate) use sqlx_core::database::{Database, HasStatementCache};
|
||||
|
||||
use crate::{
|
||||
SqliteArgumentValue, SqliteArguments, SqliteColumn, SqliteConnection, SqliteQueryResult,
|
||||
@@ -26,30 +24,16 @@ impl Database for Sqlite {
|
||||
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<'r> HasValueRef<'r> for Sqlite {
|
||||
type Database = Sqlite;
|
||||
|
||||
type ValueRef = SqliteValueRef<'r>;
|
||||
}
|
||||
|
||||
impl<'q> HasArguments<'q> for Sqlite {
|
||||
type Database = Sqlite;
|
||||
|
||||
type Arguments = SqliteArguments<'q>;
|
||||
|
||||
type ArgumentBuffer = Vec<SqliteArgumentValue<'q>>;
|
||||
}
|
||||
|
||||
impl<'q> HasStatement<'q> for Sqlite {
|
||||
type Database = Sqlite;
|
||||
|
||||
type Statement = SqliteStatement<'q>;
|
||||
}
|
||||
|
||||
impl HasStatementCache for Sqlite {}
|
||||
|
||||
Reference in New Issue
Block a user