pub struct DbTransaction { /* private fields */ }Expand description
Default ITransaction implementation wrapping an IAsyncConnection.
The connection is held in Option so commit / rollback can take it
out by consuming the handle; subsequent savepoint/isolation calls on a
consumed handle return EFError::Transaction.
Implementations§
Source§impl DbTransaction
impl DbTransaction
pub fn new(conn: Box<dyn IAsyncConnection>) -> Self
Trait Implementations§
Source§impl ITransaction for DbTransaction
impl ITransaction for DbTransaction
Source§fn commit(
self: Box<Self>,
) -> Pin<Box<dyn Future<Output = EFResult<()>> + Send + 'static>>
fn commit( self: Box<Self>, ) -> Pin<Box<dyn Future<Output = EFResult<()>> + Send + 'static>>
Commits the transaction and consumes the handle.
Source§fn rollback(
self: Box<Self>,
) -> Pin<Box<dyn Future<Output = EFResult<()>> + Send + 'static>>
fn rollback( self: Box<Self>, ) -> Pin<Box<dyn Future<Output = EFResult<()>> + Send + 'static>>
Rolls back the transaction and consumes the handle.
Source§fn create_point<'a>(
&'a mut self,
name: &'a str,
) -> Pin<Box<dyn Future<Output = EFResult<()>> + Send + 'a>>
fn create_point<'a>( &'a mut self, name: &'a str, ) -> Pin<Box<dyn Future<Output = EFResult<()>> + Send + 'a>>
Creates a savepoint within the current transaction.
Source§fn release_point<'a>(
&'a mut self,
name: &'a str,
) -> Pin<Box<dyn Future<Output = EFResult<()>> + Send + 'a>>
fn release_point<'a>( &'a mut self, name: &'a str, ) -> Pin<Box<dyn Future<Output = EFResult<()>> + Send + 'a>>
Releases (commits) a previously created savepoint.
Source§fn rollback_point<'a>(
&'a mut self,
name: &'a str,
) -> Pin<Box<dyn Future<Output = EFResult<()>> + Send + 'a>>
fn rollback_point<'a>( &'a mut self, name: &'a str, ) -> Pin<Box<dyn Future<Output = EFResult<()>> + Send + 'a>>
Rolls back to the named savepoint, preserving the outer transaction.
Source§fn set_isolation<'a>(
&'a mut self,
level: IsolationLevel,
) -> Pin<Box<dyn Future<Output = EFResult<()>> + Send + 'a>>
fn set_isolation<'a>( &'a mut self, level: IsolationLevel, ) -> Pin<Box<dyn Future<Output = EFResult<()>> + Send + 'a>>
Sets the isolation level of the current transaction.
Source§fn connection(&mut self) -> &mut (dyn IAsyncConnection + Send)
fn connection(&mut self) -> &mut (dyn IAsyncConnection + Send)
Exposes the underlying connection so
save_changes() can reuse the
ambient transaction’s connection.Auto Trait Implementations§
impl !RefUnwindSafe for DbTransaction
impl !UnwindSafe for DbTransaction
impl Freeze for DbTransaction
impl Send for DbTransaction
impl Sync for DbTransaction
impl Unpin for DbTransaction
impl UnsafeUnpin for DbTransaction
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