Skip to main content

Driver

Trait Driver 

Source
pub trait Driver: Default + Debug {
    type Connection: Connection<Driver = Self>;
    type SqlWriter: SqlWriter;
    type Prepared: Prepared;
    type Transaction<'c>: Transaction<'c>;

    const NAME: &'static [&'static str];

    // Required method
    fn sql_writer(&self) -> Self::SqlWriter;

    // Provided methods
    fn name(&self) -> &'static str { ... }
    fn connect(
        &self,
        url: Cow<'static, str>,
    ) -> impl Future<Output = Result<Self::Connection>> { ... }
}
Expand description

Backend connector and dialect.

Required Associated Constants§

Source

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

Human-readable backend name.

Required Associated Types§

Source

type Connection: Connection<Driver = Self>

Concrete connection type.

Source

type SqlWriter: SqlWriter

Dialect-specific SQL writer.

Source

type Prepared: Prepared

Prepared statement implementation.

Source

type Transaction<'c>: Transaction<'c>

Transaction implementation.

Required Methods§

Source

fn sql_writer(&self) -> Self::SqlWriter

Returns a dialect-specific SQL writer for query construction.

Provided Methods§

Source

fn name(&self) -> &'static str

Returns the primary name of the driver.

Source

fn connect( &self, url: Cow<'static, str>, ) -> impl Future<Output = Result<Self::Connection>>

Creates a new connection to the database at the specified URL.

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§