pub struct SpilledCell {
pub offset: usize,
pub byte_len: usize,
pub payload_len: usize,
pub rowid: i64,
pub serials: Vec<i64>,
pub local_len: usize,
pub local_payload_off: usize,
pub first_overflow: u32,
}Expand description
A freed table-leaf cell whose declared payload spills onto an overflow-page
chain (task #73). Recognized by try_carve_spilled_cell_at from the
cell’s intact local prefix; the chain itself is resolved separately
(Database::read_freed_overflow_chain) because that needs whole-database
access. A SpilledCell is deliberately NOT a CarvedCell: until its chain
is walked and validated it cannot masquerade as a recovered row (secure by
design — the type system keeps an unresolved spill out of the full-row output).
Fields§
§offset: usizeByte offset of the cell within the scanned slice.
byte_len: usizeOn-page footprint of the cell prefix: n1 + n2 + local_len + 4.
payload_len: usizeDeclared total payload length P (header + full body).
rowid: i64Decoded rowid varint (intact-prefix anchors); 0 when the prefix was
clobbered and the rowid is unrecoverable (template path).
serials: Vec<i64>Full serial-type array, decoded from the local record header.
local_len: usizeLocal payload bytes kept on the leaf page (local_payload_len(P, usable)).
local_payload_off: usizeOffset, within the scanned slice, at which the local payload begins.
first_overflow: u32First overflow-page number (big-endian u32 at local_payload_off + local_len).
Trait Implementations§
Source§impl Clone for SpilledCell
impl Clone for SpilledCell
Source§fn clone(&self) -> SpilledCell
fn clone(&self) -> SpilledCell
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more