Struct sqlx::Transaction
source · pub struct Transaction<'c, DB>where
DB: Database,{ /* private fields */ }
Expand description
An in-progress database transaction or savepoint.
A transaction starts with a call to Pool::begin
or Connection::begin
.
A transaction should end with a call to commit
or rollback
. If neither are called
before the transaction goes out-of-scope, rollback
is called. In other
words, rollback
is called on drop
if the transaction is still in-progress.
A savepoint is a special mark inside a transaction that allows all commands that are executed after it was established to be rolled back, restoring the transaction state to what it was at the time of the savepoint.
Implementations§
Trait Implementations§
source§impl<'c, 't, DB> Acquire<'t> for &'t mut Transaction<'c, DB>where
DB: Database,
impl<'c, 't, DB> Acquire<'t> for &'t mut Transaction<'c, DB>where
DB: Database,
type Database = DB
type Connection = &'t mut <DB as Database>::Connection
fn acquire( self ) -> Pin<Box<dyn Future<Output = Result<<&'t mut Transaction<'c, DB> as Acquire<'t>>::Connection, Error>> + Send + 't>>
fn begin( self ) -> Pin<Box<dyn Future<Output = Result<Transaction<'t, DB>, Error>> + Send + 't>>
source§impl<'c, DB> AsMut<<DB as Database>::Connection> for Transaction<'c, DB>where
DB: Database,
impl<'c, DB> AsMut<<DB as Database>::Connection> for Transaction<'c, DB>where
DB: Database,
source§fn as_mut(&mut self) -> &mut <DB as Database>::Connection
fn as_mut(&mut self) -> &mut <DB as Database>::Connection
Converts this type into a mutable reference of the (usually inferred) input type.
source§impl<'c, DB> Debug for Transaction<'c, DB>where
DB: Database,
impl<'c, DB> Debug for Transaction<'c, DB>where
DB: Database,
source§impl<'c, DB> Deref for Transaction<'c, DB>where
DB: Database,
impl<'c, DB> Deref for Transaction<'c, DB>where
DB: Database,
§type Target = <DB as Database>::Connection
type Target = <DB as Database>::Connection
The resulting type after dereferencing.
source§impl<'c, DB> DerefMut for Transaction<'c, DB>where
DB: Database,
impl<'c, DB> DerefMut for Transaction<'c, DB>where
DB: Database,
Auto Trait Implementations§
impl<'c, DB> Freeze for Transaction<'c, DB>
impl<'c, DB> !RefUnwindSafe for Transaction<'c, DB>
impl<'c, DB> Send for Transaction<'c, DB>
impl<'c, DB> Sync for Transaction<'c, DB>
impl<'c, DB> Unpin for Transaction<'c, DB>
impl<'c, DB> !UnwindSafe for Transaction<'c, DB>
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