pub enum WalRecord {
Begin {
tx_id: u64,
},
Commit {
tx_id: u64,
},
Rollback {
tx_id: u64,
},
PageWrite {
tx_id: u64,
page_id: u32,
data: Vec<u8>,
},
TxCommitBatch {
tx_id: u64,
actions: Vec<Vec<u8>>,
},
Checkpoint {
lsn: u64,
},
}Expand description
A single entry in the write-ahead log
Variants§
Begin
Start of a transaction
Commit
Commit of a transaction
Rollback
Rollback of a transaction
PageWrite
Write of a page — always carries uncompressed data (transparent to
callers: read() decompresses on-the-fly).
TxCommitBatch
Atomic logical commit batch. Recovery applies all actions in order iff this complete record and checksum are present.
Checkpoint
Checkpoint marker (indicates up to which LSN pages are flushed)
Implementations§
Source§impl WalRecord
impl WalRecord
Trait Implementations§
impl StructuralPartialEq for WalRecord
Auto Trait Implementations§
impl Freeze for WalRecord
impl RefUnwindSafe for WalRecord
impl Send for WalRecord
impl Sync for WalRecord
impl Unpin for WalRecord
impl UnsafeUnpin for WalRecord
impl UnwindSafe for WalRecord
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request