pub struct PreparedLnReplay {
pub db_id: u64,
pub original_lsn: Lsn,
pub operation: PreparedLnOperation,
pub key: Vec<u8>,
pub data: Option<Vec<u8>>,
}Expand description
A single LN entry queued for replay when a recovered prepared
transaction is committed via xa_commit(xid).
Stored as owned bytes so the recovered prepared-txn list outlives
the file-mmap region that the analysis pass scanned. This pays a
Vec allocation per prepared LN at recovery time, which is
acceptable given that prepared transactions are bounded in size by
the application’s XA workflow.
Wave 3-2 of the v1.5+ remediation plan.
Fields§
§db_id: u64Database id this LN belongs to.
original_lsn: LsnLSN where this LN was originally logged.
operation: PreparedLnOperationLN operation: insert, update, or delete.
key: Vec<u8>LN key.
data: Option<Vec<u8>>LN value (None for deletes).
Trait Implementations§
Source§impl Clone for PreparedLnReplay
impl Clone for PreparedLnReplay
Source§fn clone(&self) -> PreparedLnReplay
fn clone(&self) -> PreparedLnReplay
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 PreparedLnReplay
impl RefUnwindSafe for PreparedLnReplay
impl Send for PreparedLnReplay
impl Sync for PreparedLnReplay
impl Unpin for PreparedLnReplay
impl UnsafeUnpin for PreparedLnReplay
impl UnwindSafe for PreparedLnReplay
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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