pub trait FirebirdClientSqlOps {
    type DbHandle: Send;
    type TrHandle: Send;
    type StmtHandle: Send;

    fn begin_transaction(
        &mut self,
        db_handle: &mut Self::DbHandle,
        isolation_level: TrIsolationLevel
    ) -> Result<Self::TrHandle, FbError>; fn transaction_operation(
        &mut self,
        tr_handle: &mut Self::TrHandle,
        op: TrOp
    ) -> Result<(), FbError>; fn exec_immediate(
        &mut self,
        db_handle: &mut Self::DbHandle,
        tr_handle: &mut Self::TrHandle,
        dialect: Dialect,
        sql: &str
    ) -> Result<(), FbError>; fn prepare_statement(
        &mut self,
        db_handle: &mut Self::DbHandle,
        tr_handle: &mut Self::TrHandle,
        dialect: Dialect,
        sql: &str
    ) -> Result<(StmtType, Self::StmtHandle), FbError>; fn free_statement(
        &mut self,
        stmt_handle: &mut Self::StmtHandle,
        op: FreeStmtOp
    ) -> Result<(), FbError>; 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>; 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>; fn fetch(
        &mut self,
        db_handle: &mut Self::DbHandle,
        tr_handle: &mut Self::TrHandle,
        stmt_handle: &mut Self::StmtHandle
    ) -> Result<Option<Vec<Column>>, FbError>; }
Expand description

Responsible for actual transaction and statement execution

Required Associated Types

A database handle

A transaction handle

A statement handle

Required Methods

Start a new transaction, with the specified transaction parameter buffer

Commit / Rollback a transaction

Execute a sql immediately, without returning rows

Allocate and prepare a statement Returns the statement type and handle

Closes or drops a statement

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

Execute the prepared statement with input and output parameters.

The output parameters will be returned as in the Result

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

Implementors