Trait sqlx_core::database::Database

source ·
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 Types§

source

type Connection: Connection<Database = Self>

The concrete Connection implementation for this database.

source

type TransactionManager: TransactionManager<Database = Self>

The concrete TransactionManager implementation for this database.

source

type Row: Row<Database = Self>

The concrete Row implementation for this database.

source

type QueryResult: 'static + Sized + Send + Sync + Default + Extend<Self::QueryResult>

The concrete QueryResult implementation for this database.

source

type Column: Column<Database = Self>

The concrete Column implementation for this database.

source

type TypeInfo: TypeInfo

The concrete TypeInfo implementation for this database.

source

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.

Required Associated Constants§

source

const NAME: &'static str

The display name for this database driver.

source

const URL_SCHEMES: &'static [&'static str]

The schemes for database URLs that should match this driver.

Object Safety§

This trait is not object safe.

Implementors§