pub struct TransactionSnapshot {
pub txn_id: u64,
pub snapshot_id: u64,
}Expand description
Transaction metadata captured when a transaction begins.
A snapshot contains two key pieces of information:
txn_id: The unique ID of this transaction (used for writes)snapshot_id: The highest committed transaction ID at the time this transaction started
The snapshot_id determines which rows are visible: rows created by transactions
with IDs ≤ snapshot_id are visible, while rows created by later transactions are not.
This implements snapshot isolation.
Fields§
§txn_id: u64The unique ID assigned to this transaction.
snapshot_id: u64The highest committed transaction ID when this transaction began.
Trait Implementations§
Source§impl Clone for TransactionSnapshot
impl Clone for TransactionSnapshot
Source§fn clone(&self) -> TransactionSnapshot
fn clone(&self) -> TransactionSnapshot
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 moreSource§impl Debug for TransactionSnapshot
impl Debug for TransactionSnapshot
impl Copy for TransactionSnapshot
Auto Trait Implementations§
impl Freeze for TransactionSnapshot
impl RefUnwindSafe for TransactionSnapshot
impl Send for TransactionSnapshot
impl Sync for TransactionSnapshot
impl Unpin for TransactionSnapshot
impl UnwindSafe for TransactionSnapshot
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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