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,
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
Sourceยงimpl<T> Instrument for T
impl<T> Instrument for T
Sourceยงfn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Sourceยงfn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Sourceยงimpl<T> IntoEither for T
impl<T> IntoEither for T
Sourceยงfn into_either(self, into_left: bool) -> Either<Self, Self> โ
fn into_either(self, into_left: bool) -> Either<Self, Self> โ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSourceยงfn into_either_with<F>(self, into_left: F) -> Either<Self, Self> โ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> โ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more