pub trait Database:
'static
+ Sized
+ Send
+ Debug
+ for<'r> HasValueRef<'r, Database = Self>
+ for<'q> HasArguments<'q, Database = Self>
+ for<'q> HasStatement<'q, Database = Self> {
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;
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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".