pub trait Database:
'static
+ Sized
+ Send
+ Debug {
type Connection: Connection<Database = Self>;
type TransactionManager: TransactionManager<Database = Self>;
type Row: Row<Database = Self>;
type QueryResult: 'static + Sized + 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 Constants§
Sourceconst URL_SCHEMES: &'static [&'static str]
const URL_SCHEMES: &'static [&'static str]
The schemes for database URLs that should match this driver.
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 + Sized + Send + Sync + Default + Extend<Self::QueryResult>
type QueryResult: 'static + Sized + 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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.