pub struct Transaction {
pub id: TransactionId,
pub name: Option<String>,
pub operations: Vec<Operation>,
pub savepoints: Vec<Savepoint>,
pub state: TransactionState,
pub started_at: Instant,
pub created_at: DateTime<Utc>,
pub timeout: Duration,
}Expand description
A transaction groups operations for atomic execution
Fields§
§id: TransactionIdTransaction ID
name: Option<String>Optional name
operations: Vec<Operation>Operations in this transaction
savepoints: Vec<Savepoint>Savepoints for partial rollback
state: TransactionStateCurrent state
started_at: InstantStart time
created_at: DateTime<Utc>Created timestamp
timeout: DurationTimeout duration
Implementations§
Source§impl Transaction
impl Transaction
Sourcepub fn add_operation(&mut self, op: Operation) -> Result<()>
pub fn add_operation(&mut self, op: Operation) -> Result<()>
Add an operation to the transaction
Sourcepub fn is_timed_out(&self) -> bool
pub fn is_timed_out(&self) -> bool
Check if transaction has timed out
Sourcepub fn operation_count(&self) -> usize
pub fn operation_count(&self) -> usize
Get operation count
Trait Implementations§
Source§impl Clone for Transaction
impl Clone for Transaction
Source§fn clone(&self) -> Transaction
fn clone(&self) -> Transaction
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for Transaction
impl RefUnwindSafe for Transaction
impl Send for Transaction
impl Sync for Transaction
impl Unpin for Transaction
impl UnwindSafe for Transaction
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