Struct 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ยง

Sourceยง

impl<'c, DB> Transaction<'c, DB>
where DB: Database,

Source

pub async fn commit(self) -> Result<(), Error>

Commits this transaction or savepoint.

Source

pub async fn rollback(self) -> Result<(), Error>

Aborts this transaction or savepoint.

Trait Implementationsยง

Sourceยง

impl<'c, 't, DB> Acquire<'t> for &'t mut Transaction<'c, DB>
where DB: Database,

Sourceยง

type Database = DB

Sourceยง

type Connection = &'t mut <DB as Database>::Connection

Sourceยง

fn acquire( self, ) -> Pin<Box<dyn Future<Output = Result<<&'t mut Transaction<'c, DB> as Acquire<'t>>::Connection, Error>> + Send + 't>>

Sourceยง

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,

Sourceยง

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,

Sourceยง

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Sourceยง

impl<'c, DB> Deref for Transaction<'c, DB>
where DB: Database,

Sourceยง

type Target = <DB as Database>::Connection

The resulting type after dereferencing.
Sourceยง

fn deref(&self) -> &<Transaction<'c, DB> as Deref>::Target

Dereferences the value.
Sourceยง

impl<'c, DB> DerefMut for Transaction<'c, DB>
where DB: Database,

Sourceยง

fn deref_mut(&mut self) -> &mut <Transaction<'c, DB> as Deref>::Target

Mutably dereferences the value.
Sourceยง

impl<'c, DB> Drop for Transaction<'c, DB>
where DB: Database,

Sourceยง

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementationsยง

ยง

impl<'c, DB> Freeze for Transaction<'c, DB>
where <DB as Database>::Connection: Freeze,

ยง

impl<'c, DB> !RefUnwindSafe for Transaction<'c, DB>

ยง

impl<'c, DB> Send for Transaction<'c, DB>

ยง

impl<'c, DB> Sync for Transaction<'c, DB>
where <DB as Database>::Connection: Sync,

ยง

impl<'c, DB> Unpin for Transaction<'c, DB>
where <DB as Database>::Connection: Unpin,

ยง

impl<'c, DB> !UnwindSafe for Transaction<'c, DB>

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

Sourceยง

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Sourceยง

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Sourceยง

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 more
Sourceยง

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> โ“˜
where F: FnOnce(&Self) -> bool,

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
Sourceยง

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Sourceยง

type Target = T

๐Ÿ”ฌThis is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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<T> WithSubscriber for T

Sourceยง

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Sourceยง

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Sourceยง

impl<T> ErasedDestructor for T
where T: 'static,

Sourceยง

impl<T> Formattable for T
where T: Deref, <T as Deref>::Target: Formattable,

Sourceยง

impl<T> Parsable for T
where T: Deref, <T as Deref>::Target: Parsable,