Skip to main content

Transaction

Struct Transaction 

Source
pub struct Transaction { /* private fields */ }
Expand description

A database transaction.

Created by Pool::begin(). Must be explicitly committed via commit(). If dropped without commit(), the connection is discarded from the pool (unless no queries were executed, in which case BEGIN was never sent and the connection is clean).

Implementations§

Source§

impl Transaction

Source

pub async fn commit(self) -> BsqlResult<()>

Commit the transaction and return the connection to the pool.

Consumes self — the transaction cannot be used after commit.

If no queries were executed (BEGIN was never sent), this is a no-op: no COMMIT is sent and the connection returns cleanly.

Source

pub async fn rollback(self) -> BsqlResult<()>

Explicitly roll back the transaction and return the connection to the pool.

Consumes self — the transaction cannot be used after rollback.

If no queries were executed (BEGIN was never sent), this is a no-op: no ROLLBACK is sent and the connection returns cleanly.

Trait Implementations§

Source§

impl Debug for Transaction

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Drop for Transaction

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Executor for Transaction

Source§

type Rows = Vec<Row>

Row container returned by query_raw / query_raw_readonly. Read more
Source§

async fn query_raw( &self, sql: &str, params: &[&(dyn ToSql + Sync)], ) -> BsqlResult<Vec<Row>>

Execute a query and return all rows.
Source§

async fn query_raw_readonly( &self, sql: &str, params: &[&(dyn ToSql + Sync)], ) -> BsqlResult<Vec<Row>>

Execute a read-only query. Routes to replicas when available. Read more
Source§

async fn execute_raw( &self, sql: &str, params: &[&(dyn ToSql + Sync)], ) -> BsqlResult<u64>

Execute a query and return the number of affected rows.

Auto Trait Implementations§

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> 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<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