pub struct Transaction<'conn> { /* private fields */ }Expand description
A database transaction (concrete implementation).
Transactions provide ACID guarantees and can be committed or rolled back. If dropped without committing, the transaction is automatically rolled back.
This is a concrete type used by the default transaction implementation.
Driver-specific implementations may use their own types that implement
TransactionOps.
Implementations§
Source§impl<'conn> Transaction<'conn>
impl<'conn> Transaction<'conn>
Sourcepub fn new(conn: &'conn dyn TransactionInternal) -> Self
pub fn new(conn: &'conn dyn TransactionInternal) -> Self
Create a new transaction wrapper.
This is typically called by the driver, not by users directly.
Sourcepub const fn is_finalized(&self) -> bool
pub const fn is_finalized(&self) -> bool
Check if this transaction has been finalized.
Trait Implementations§
Source§impl Drop for Transaction<'_>
impl Drop for Transaction<'_>
Source§impl TransactionOps for Transaction<'_>
impl TransactionOps for Transaction<'_>
Source§fn query(
&self,
cx: &Cx,
sql: &str,
params: &[Value],
) -> impl Future<Output = Outcome<Vec<Row>, Error>> + Send
fn query( &self, cx: &Cx, sql: &str, params: &[Value], ) -> impl Future<Output = Outcome<Vec<Row>, Error>> + Send
Execute a query within this transaction.
Source§fn query_one(
&self,
cx: &Cx,
sql: &str,
params: &[Value],
) -> impl Future<Output = Outcome<Option<Row>, Error>> + Send
fn query_one( &self, cx: &Cx, sql: &str, params: &[Value], ) -> impl Future<Output = Outcome<Option<Row>, Error>> + Send
Execute a query and return the first row, if any.
Source§fn execute(
&self,
cx: &Cx,
sql: &str,
params: &[Value],
) -> impl Future<Output = Outcome<u64, Error>> + Send
fn execute( &self, cx: &Cx, sql: &str, params: &[Value], ) -> impl Future<Output = Outcome<u64, Error>> + Send
Execute a statement within this transaction.
Source§fn savepoint(
&self,
cx: &Cx,
name: &str,
) -> impl Future<Output = Outcome<(), Error>> + Send
fn savepoint( &self, cx: &Cx, name: &str, ) -> impl Future<Output = Outcome<(), Error>> + Send
Create a savepoint within this transaction. Read more
Source§fn rollback_to(
&self,
cx: &Cx,
name: &str,
) -> impl Future<Output = Outcome<(), Error>> + Send
fn rollback_to( &self, cx: &Cx, name: &str, ) -> impl Future<Output = Outcome<(), Error>> + Send
Rollback to a previously created savepoint. Read more
Source§fn release(
&self,
cx: &Cx,
name: &str,
) -> impl Future<Output = Outcome<(), Error>> + Send
fn release( &self, cx: &Cx, name: &str, ) -> impl Future<Output = Outcome<(), Error>> + Send
Release a savepoint, making the changes permanent within the transaction. Read more
Auto Trait Implementations§
impl<'conn> Freeze for Transaction<'conn>
impl<'conn> !RefUnwindSafe for Transaction<'conn>
impl<'conn> Send for Transaction<'conn>
impl<'conn> Sync for Transaction<'conn>
impl<'conn> Unpin for Transaction<'conn>
impl<'conn> !UnwindSafe for Transaction<'conn>
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: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Instruments this future with a span (no-op when disabled).
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Instruments this future with the current span (no-op when disabled).