Struct rsfbclient_rust::RustFbClient

source ·
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

source§

type DbHandle = DbHandle

A database handle
source§

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, dialect: Dialect, no_db_triggers: bool, ) -> 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>, dialect: Dialect, ) -> Result<DbHandle, FbError>

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

impl FirebirdClientSqlOps for RustFbClient

source§

type DbHandle = DbHandle

A database handle
source§

type TrHandle = TrHandle

A transaction handle
source§

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 T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

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 for T

source§

type Output = T

Should always be Self
source§

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

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

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

source§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

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

source§

fn vzip(self) -> V

source§

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