pub fn build_rowid_versions(rowid: i64, views: &[RowView]) -> Vec<RowVersion>Expand description
Build the ordered RowVersions for ONE rowid by walking views (already
in chronological order: epoch commits ascending, then the final live view).
Emits a version only when the value CHANGES (insert / update / delete /
reinsert), collapsing identical consecutive values into one version labelled
by the EARLIEST view it appeared in. View-state is evidence-based:
PresentInFinalView when the value is the final live value; ValueChangedLater
when a later view replaced it with a different value; AbsentInFinalView when
the rowid’s last value disappeared. Rowid REUSE (present → absent → present
with a different record) flags every version of the rowid rowid_reused and
treats the post-gap value as a fresh insert.
Pure: no I/O. The result is in chronological order for this rowid.