use crate::value::{FirebirdValue, FirebirdValueRef};
use crate::{
FirebirdArguments, FirebirdColumn, FirebirdConnection, FirebirdQueryResult, FirebirdRow,
FirebirdStatement, FirebirdTransactionManager, FirebirdTypeInfo,
};
pub(crate) use sqlx_core::database::{Database, HasStatementCache};
#[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 {}