pub struct DetailedUndoRecord {
pub offset: usize,
pub record_type: UndoRecordType,
pub undo_no: u64,
pub table_id: u64,
pub pk_fields: Vec<Vec<u8>>,
pub trx_id: Option<u64>,
pub roll_ptr: Option<[u8; 7]>,
pub update_fields: Vec<UndoUpdateField>,
}Expand description
A fully-parsed undo record with decoded fields.
Unlike UndoRecord which only captures offsets and type info, this struct
decodes compressed integers (undo_no, table_id), primary key fields,
transaction IDs, roll pointers, and update vector fields.
Fields§
§offset: usizeByte offset of this record within the page.
record_type: UndoRecordTypeUndo operation type.
undo_no: u64Undo record sequence number within the transaction.
table_id: u64Table ID this record belongs to.
pk_fields: Vec<Vec<u8>>Raw primary key field bytes.
trx_id: Option<u64>Transaction ID (for DEL_MARK and UPD_EXIST records).
roll_ptr: Option<[u8; 7]>Roll pointer (7 bytes, for DEL_MARK and UPD_EXIST records).
update_fields: Vec<UndoUpdateField>Update vector fields (for UPD_EXIST/UPD_DEL/DEL_MARK).
Trait Implementations§
Source§impl Clone for DetailedUndoRecord
impl Clone for DetailedUndoRecord
Source§fn clone(&self) -> DetailedUndoRecord
fn clone(&self) -> DetailedUndoRecord
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 DetailedUndoRecord
impl Debug for DetailedUndoRecord
Auto Trait Implementations§
impl Freeze for DetailedUndoRecord
impl RefUnwindSafe for DetailedUndoRecord
impl Send for DetailedUndoRecord
impl Sync for DetailedUndoRecord
impl Unpin for DetailedUndoRecord
impl UnsafeUnpin for DetailedUndoRecord
impl UnwindSafe for DetailedUndoRecord
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> 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