sqlx-firebirdsql 0.1.0

Firebird SQL driver for SQLx
use crate::value::{FirebirdValue, FirebirdValueRef};
use crate::{
    FirebirdArguments, FirebirdColumn, FirebirdConnection, FirebirdQueryResult, FirebirdRow,
    FirebirdStatement, FirebirdTransactionManager, FirebirdTypeInfo,
};
pub(crate) use sqlx_core::database::{Database, HasStatementCache};

/// Firebird database driver.
#[derive(Debug)]
pub struct Firebird;

impl Database for Firebird {
    type Connection = FirebirdConnection;

    type TransactionManager = FirebirdTransactionManager;

    type Row = FirebirdRow;

    type QueryResult = FirebirdQueryResult;

    type Column = FirebirdColumn;

    type TypeInfo = FirebirdTypeInfo;

    type Value = FirebirdValue;
    type ValueRef<'r> = FirebirdValueRef<'r>;

    type Arguments = FirebirdArguments;
    type ArgumentBuffer = Vec<firebirust::Param>;

    type Statement = FirebirdStatement;

    const NAME: &'static str = "Firebird";

    const URL_SCHEMES: &'static [&'static str] = &["firebird"];
}

impl HasStatementCache for Firebird {}