Trait rsfbclient_core::FirebirdClientSqlOps
source · [−]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
type StmtHandle: Send
type StmtHandle: Send
A statement handle
Required Methods
fn begin_transaction(
&mut self,
db_handle: &mut Self::DbHandle,
isolation_level: TrIsolationLevel
) -> Result<Self::TrHandle, FbError>
fn begin_transaction(
&mut self,
db_handle: &mut Self::DbHandle,
isolation_level: TrIsolationLevel
) -> Result<Self::TrHandle, FbError>
Start a new transaction, with the specified transaction parameter buffer
Commit / Rollback a transaction
Execute a sql immediately, without returning rows
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 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
fn free_statement(
&mut self,
stmt_handle: &mut Self::StmtHandle,
op: FreeStmtOp
) -> Result<(), FbError>
fn free_statement(
&mut self,
stmt_handle: &mut Self::StmtHandle,
op: FreeStmtOp
) -> Result<(), FbError>
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