Skip to main content

Savepoint

Struct Savepoint 

Source
#[non_exhaustive]
pub struct Savepoint<'t, 'c> { /* private fields */ }
Expand description

A savepoint within an active transaction.

Created via Transaction::savepoint. The savepoint acts as a sub-transaction: it can be released (committed) or rolled back independently of the outer transaction.

§Drop behaviour

If the savepoint is not explicitly released or rolled back before it goes out of scope, Drop cannot perform async I/O. Users should always call release or rollback explicitly.

Implementations§

Source§

impl<'t, 'c> Savepoint<'t, 'c>

Source

pub async fn release(self) -> Result<()>

Release the savepoint (like a commit for the nested scope).

Source

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

Roll back to the savepoint.

Source

pub async fn query(&mut self, sql: &str) -> Result<QueryResult>

Execute a query that returns rows, within the savepoint scope.

Source

pub async fn execute(&mut self, sql: &str) -> Result<ExecuteResult>

Execute a statement that does not return rows.

Source

pub async fn query_params( &mut self, sql: &str, params: &[&dyn ToSql], ) -> Result<QueryResult>

Execute a parameterized query that returns rows.

Source

pub async fn execute_params( &mut self, sql: &str, params: &[&dyn ToSql], ) -> Result<ExecuteResult>

Execute a parameterized statement that does not return rows.

Source

pub async fn prepare(&mut self, sql: &str) -> Result<PreparedStatement>

Prepare a statement within the savepoint scope.

Trait Implementations§

Source§

impl<'t, 'c> Drop for Savepoint<'t, 'c>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

§

impl<'t, 'c> Freeze for Savepoint<'t, 'c>

§

impl<'t, 'c> !RefUnwindSafe for Savepoint<'t, 'c>

§

impl<'t, 'c> Send for Savepoint<'t, 'c>

§

impl<'t, 'c> Sync for Savepoint<'t, 'c>

§

impl<'t, 'c> Unpin for Savepoint<'t, 'c>

§

impl<'t, 'c> UnsafeUnpin for Savepoint<'t, 'c>

§

impl<'t, 'c> !UnwindSafe for Savepoint<'t, 'c>

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<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

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