pub struct SavepointGuard { /* private fields */ }Expand description
Savepoint guard that tracks savepoint state
Implementations§
Source§impl SavepointGuard
impl SavepointGuard
Sourcepub async fn new(tx: &mut Transaction<'_, Postgres>, name: &str) -> Result<Self>
pub async fn new(tx: &mut Transaction<'_, Postgres>, name: &str) -> Result<Self>
Create a new savepoint within a transaction
Sourcepub async fn release(self, tx: &mut Transaction<'_, Postgres>) -> Result<()>
pub async fn release(self, tx: &mut Transaction<'_, Postgres>) -> Result<()>
Release the savepoint (commit the nested transaction)
Sourcepub async fn rollback(self, tx: &mut Transaction<'_, Postgres>) -> Result<()>
pub async fn rollback(self, tx: &mut Transaction<'_, Postgres>) -> Result<()>
Rollback to the savepoint
Sourcepub fn is_handled(&self) -> bool
pub fn is_handled(&self) -> bool
Check if the savepoint has been committed or rolled back
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SavepointGuard
impl RefUnwindSafe for SavepointGuard
impl Send for SavepointGuard
impl Sync for SavepointGuard
impl Unpin for SavepointGuard
impl UnwindSafe for SavepointGuard
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