pub struct Transaction { /* private fields */ }Expand description
Transaction.
See SqlClient::start_transaction(), execute(), query(), get_transaction_error_info(), commit(), rollback().
Note: Should invoke Self::close before Self::drop to dispose the transaction.
§Examples
use tsubakuro_rust_core::prelude::*;
async fn example(client: &SqlClient) -> Result<(), TgError> {
let mut transaction_option = TransactionOption::new();
transaction_option.set_transaction_type(TransactionType::Short); // OCC
let transaction = client.start_transaction(&transaction_option).await?;
let mut result: Result<(), TgError> = todo!(); // execute SQL using transaction
if result.is_ok() {
let commit_option = CommitOption::default();
result = client.commit(&transaction, &commit_option).await;
}
transaction.close().await?;
result
}Implementations§
Source§impl Transaction
impl Transaction
Sourcepub fn transaction_id(&self) -> &String
pub fn transaction_id(&self) -> &String
Provides transaction id that is unique to for the duration of the database server’s lifetime.
Sourcepub fn set_close_timeout(&mut self, timeout: Duration)
pub fn set_close_timeout(&mut self, timeout: Duration)
Set close timeout.
Sourcepub fn close_timeout(&self) -> Duration
pub fn close_timeout(&self) -> Duration
Get close timeout.
Sourcepub async fn close(&self) -> Result<(), TgError>
pub async fn close(&self) -> Result<(), TgError>
Disposes this resource.
Note: Should invoke close before Self::drop to dispose the transaction.
Trait Implementations§
Source§impl Debug for Transaction
impl Debug for Transaction
Auto Trait Implementations§
impl !Freeze for Transaction
impl !RefUnwindSafe for Transaction
impl Send for Transaction
impl Sync for Transaction
impl Unpin for Transaction
impl !UnwindSafe for Transaction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more