sqlx_core::database

Trait Database

Source
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§

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.

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.

Source

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.

Source

type Arguments<'q>: Arguments<'q, Database = Self>

The concrete Arguments implementation for this database.

Source

type ArgumentBuffer<'q>

The concrete type used as a buffer for arguments while encoding.

Source

type Statement<'q>: Statement<'q, Database = Self>

The concrete Statement implementation for this database.

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.

Implementors§