pub trait Database: 'static + Send + Debug + for<'r> HasValueRef<'r, Database = Self> + for<'q> HasArguments<'q, Database = Self> + for<'q> HasStatement<'q, Database = Self> {
type Connection: Connection
where
<Self::Connection as Connection>::Database == Self;
type TransactionManager: TransactionManager
where
<Self::TransactionManager as TransactionManager>::Database == Self;
type Row: Row
where
<Self::Row as Row>::Database == Self;
type QueryResult: 'static + Sized + Send + Sync + Default + Extend<Self::QueryResult>;
type Column: Column
where
<Self::Column as Column>::Database == Self;
type TypeInfo: TypeInfo;
type Value: 'static + Value
where
<Self::Value as Value>::Database == Self;
}
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
type Connection: Connection
where
<Self::Connection as Connection>::Database == Self
type Connection: Connection
where
<Self::Connection as Connection>::Database == Self
The concrete Connection
implementation for this database.
type TransactionManager: TransactionManager
where
<Self::TransactionManager as TransactionManager>::Database == Self
type TransactionManager: TransactionManager
where
<Self::TransactionManager as TransactionManager>::Database == Self
The concrete TransactionManager
implementation for this database.
The concrete Row
implementation for this database.
type 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.
The concrete Column
implementation for this database.