pub trait Database:
Sized
+ 'static
+ Send
+ Debug {
type Connection: Connection<Database = Self>;
type TransactionManager: TransactionManager<Database = Self>;
type Row: Row<Database = Self>;
type QueryResult: 'static + Send + Sync + Default + Extend<Self::QueryResult>;
type Column: Column<Database = Self>;
type TypeInfo: TypeInfo;
type Value: Value<Database = Self> + 'static;
type ValueRef<'r>: ValueRef<'r, Database = Self>;
type Arguments<'q>: Arguments<'q, Database = Self>;
type ArgumentBuffer<'q>;
type Statement<'q>: Statement<'q, Database = Self>;
Show 2 associated constants and 0 method
const NAME: &'static str;
const URL_SCHEMES: &'static [&'static str];
}
Expand description
A database driver.
This trait encapsulates a complete set of traits that implement a driver for a specific database (e.g., MySQL, PostgreSQL).
Required Associated Typesยง
sourcetype Connection: Connection<Database = Self>
type Connection: Connection<Database = Self>
The concrete Connection
implementation for this database.
sourcetype TransactionManager: TransactionManager<Database = Self>
type TransactionManager: TransactionManager<Database = Self>
The concrete TransactionManager
implementation for this database.
sourcetype QueryResult: 'static + Send + Sync + Default + Extend<Self::QueryResult>
type QueryResult: 'static + Send + Sync + Default + Extend<Self::QueryResult>
The concrete QueryResult
implementation for this database.
sourcetype Value: Value<Database = Self> + 'static
type Value: Value<Database = Self> + 'static
The concrete type used to hold an owned copy of the not-yet-decoded value that was received from the database.
sourcetype ValueRef<'r>: ValueRef<'r, Database = Self>
type ValueRef<'r>: ValueRef<'r, Database = Self>
The concrete type used to hold a reference to the not-yet-decoded value that has just been received from the database.
sourcetype Arguments<'q>: Arguments<'q, Database = Self>
type Arguments<'q>: Arguments<'q, Database = Self>
The concrete Arguments
implementation for this database.
sourcetype ArgumentBuffer<'q>
type ArgumentBuffer<'q>
The concrete type used as a buffer for arguments while encoding.
Required Associated Constantsยง
sourceconst URL_SCHEMES: &'static [&'static str]
const URL_SCHEMES: &'static [&'static str]
The schemes for database URLs that should match this driver.
Object Safetyยง
This trait is not object safe.