pub struct RustFbClient { /* private fields */ }
Expand description

Firebird client implemented in pure rust

Implementations§

source§

impl RustFbClient

source

pub fn new(charset: Charset) -> Self

Construct a new instance of the pure rust client

Trait Implementations§

source§

impl FirebirdClientDbOps for RustFbClient

§

type DbHandle = DbHandle

A database handle
§

type AttachmentConfig = RustFbClientAttachmentConfig

Configuration details for attaching to the database. A user of an implementation of this trait can configure attachment details (database name, user name, etcetera) and then pass this configuration to the implementation via this type when a new attachment is requested
source§

fn attach_database(
    &mut self,
    config: &Self::AttachmentConfig
) -> Result<DbHandle, FbError>

Create a new attachment to a database with the provided configuration Returns a database handle on success
source§

fn detach_database(&mut self, db_handle: &mut DbHandle) -> Result<(), FbError>

Disconnect from the database
source§

fn drop_database(&mut self, db_handle: &mut DbHandle) -> Result<(), FbError>

Drop the database
source§

fn create_database(
    &mut self,
    config: &Self::AttachmentConfig,
    page_size: Option<u32>
) -> Result<DbHandle, FbError>

Create the database and attach Returns a database handle on success
source§

impl FirebirdClientSqlOps for RustFbClient

§

type DbHandle = DbHandle

A database handle
§

type TrHandle = TrHandle

A transaction handle
§

type StmtHandle = StmtHandleData

A statement handle
source§

fn begin_transaction(
    &mut self,
    db_handle: &mut Self::DbHandle,
    confs: TransactionConfiguration
) -> Result<Self::TrHandle, FbError>

Start a new transaction, with the specified transaction parameter buffer
source§

fn transaction_operation(
    &mut self,
    tr_handle: &mut Self::TrHandle,
    op: TrOp
) -> Result<(), FbError>

Commit / Rollback a transaction
source§

fn exec_immediate(
    &mut self,
    _db_handle: &mut Self::DbHandle,
    tr_handle: &mut Self::TrHandle,
    dialect: Dialect,
    sql: &str
) -> Result<(), FbError>

Execute a sql immediately, without returning rows
source§

fn prepare_statement(
    &mut self,
    db_handle: &mut Self::DbHandle,
    tr_handle: &mut Self::TrHandle,
    dialect: Dialect,
    sql: &str
) -> Result<(StmtType, Self::StmtHandle), FbError>

Allocate and prepare a statement Returns the statement type and handle
source§

fn free_statement(
    &mut self,
    stmt_handle: &mut Self::StmtHandle,
    op: FreeStmtOp
) -> Result<(), FbError>

Closes or drops a statement
source§

fn execute(
    &mut self,
    _db_handle: &mut Self::DbHandle,
    tr_handle: &mut Self::TrHandle,
    stmt_handle: &mut Self::StmtHandle,
    params: Vec<SqlType>
) -> Result<usize, FbError>

Execute the prepared statement with parameters and returns the affected rows count
source§

fn execute2(
    &mut self,
    _db_handle: &mut Self::DbHandle,
    tr_handle: &mut Self::TrHandle,
    stmt_handle: &mut Self::StmtHandle,
    params: Vec<SqlType>
) -> Result<Vec<Column>, FbError>

Execute the prepared statement with input and output parameters. Read more
source§

fn fetch(
    &mut self,
    _db_handle: &mut Self::DbHandle,
    tr_handle: &mut Self::TrHandle,
    stmt_handle: &mut Self::StmtHandle
) -> Result<Option<Vec<Column>>, FbError>

Fetch rows from the executed statement, coercing the types according to the provided blr

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere
    T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere
    U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere
    U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere
    U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere
    V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<Hdl, A> FirebirdClient for Awhere
    A: FirebirdClientDbOps<DbHandle = Hdl> + FirebirdClientSqlOps<DbHandle = Hdl>,
    Hdl: Send,