pub struct CarvedFragment {
pub page: u32,
pub offset: usize,
pub surviving: Vec<(usize, Value)>,
pub missing: usize,
pub confidence: f32,
pub source: RecoverySource,
pub wal: Option<WalProvenance>,
}Expand description
A Tier-2 partial recovery: a freed cell whose full row could not be reconstructed but at least one distinctive cell (TEXT ≥ 4 bytes of valid UTF-8, or REAL) survived at a structural anchor.
Deliberately NOT a CarvedRecord: it has no rowid (clobbered) and an
incomplete column set, and it does not share the full-row
0-false-positive guarantee — it is a lead-generation surface with an expected
non-zero false-positive rate. The type system keeps it out of the full-row
output so a fragment can never be silently rendered as a recovered row
(secure by design). Returned only by carve_with_fragments in the opt-in
CarveTiers::fragments bucket. A fragment is “consistent with a partial
deleted row” — the examiner draws the conclusion.
Fields§
§page: u321-based page the fragment was salvaged from.
offset: usizeByte offset of the failed cell’s anchor within that page.
surviving: Vec<(usize, Value)>(column_index, value) for each column that decoded cleanly, ascending by
index — meaningful against the table’s column order.
missing: usizeNumber of the row’s columns that did NOT decode.
confidence: f32Always the flat Tier-2 fragment confidence (0.2) for now — strictly below every full-row class.
source: RecoverySourceWhich class of free space the fragment was salvaged from
(RecoverySource::FreeblockReconstructed for chain-pass fragments,
RecoverySource::InPageFreeBlock for gap-pass fragments).
wal: Option<WalProvenance>WAL log-sequence provenance. None in v1 (no WAL fragment pass yet).
Trait Implementations§
Source§impl Clone for CarvedFragment
impl Clone for CarvedFragment
Source§fn clone(&self) -> CarvedFragment
fn clone(&self) -> CarvedFragment
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more