sqlx-firebirdsql 0.1.0

Firebird SQL driver for SQLx
pub(crate) use sqlx_core::driver_prelude::*;
use sqlx_core::{
    impl_acquire, impl_column_index_for_row, impl_column_index_for_statement,
    impl_encode_for_option, impl_into_arguments_for_arguments,
};

#[cfg(feature = "any")]
pub mod any;

mod arguments;
mod column;
mod connection;
mod database;
mod error;
mod options;
mod query_result;
mod row;
mod statement;
mod transaction;
mod type_checking;
mod type_info;
pub mod types;
mod value;

#[cfg(feature = "migrate")]
mod migrate;

#[cfg(feature = "migrate")]
mod testing;

pub use arguments::FirebirdArguments;
pub use column::FirebirdColumn;
pub use connection::FirebirdConnection;
pub use database::Firebird;
pub use error::FirebirdDatabaseError;
pub use options::FirebirdConnectOptions;
pub use query_result::FirebirdQueryResult;
pub use row::FirebirdRow;
pub use statement::FirebirdStatement;
pub use transaction::FirebirdTransactionManager;
pub use type_info::FirebirdTypeInfo;
pub use value::{FirebirdValue, FirebirdValueFormat, FirebirdValueRef};

/// An alias for [`Pool`][crate::pool::Pool], specialized for Firebird.
pub type FirebirdPool = crate::pool::Pool<Firebird>;

/// An alias for [`PoolOptions`][crate::pool::PoolOptions], specialized for Firebird.
pub type FirebirdPoolOptions = crate::pool::PoolOptions<Firebird>;

/// An alias for [`Executor<'_, Database = Firebird>`][crate::executor::Executor].
pub trait FirebirdExecutor<'c>: crate::executor::Executor<'c, Database = Firebird> {}
impl<'c, T: crate::executor::Executor<'c, Database = Firebird>> FirebirdExecutor<'c> for T {}

/// An alias for [`Transaction`][sqlx_core::transaction::Transaction], specialized for Firebird.
pub type FirebirdTransaction<'c> = sqlx_core::transaction::Transaction<'c, Firebird>;

// NOTE: required due to the lack of lazy normalization
impl_into_arguments_for_arguments!(FirebirdArguments);
impl_acquire!(Firebird, FirebirdConnection);
impl_column_index_for_row!(FirebirdRow);
impl_column_index_for_statement!(FirebirdStatement);

// required because some databases have a different handling of NULL
impl_encode_for_option!(Firebird);