pub struct LiveTable {
pub name: String,
pub rootpage: u32,
pub column_names: Option<Vec<String>>,
pub affinities: Vec<Affinity>,
pub create_sql: String,
}Expand description
A live (schema-present) table, as read from sqlite_master: its name,
b-tree rootpage, and per-column shape used to attribute a freed row whose
page linkage is gone.
column_names is Some only when the CREATE TABLE statement parsed with
confidence AND its column count equals affinities.len(); otherwise None,
so a caller falls back to generic c0..cN rather than risk wrong names. The
affinities are always present (one per parsed column) and drive shape
matching.
Fields§
§name: StringTable name from sqlite_master.name.
rootpage: u321-based b-tree rootpage from sqlite_master.rootpage.
column_names: Option<Vec<String>>Declared column names, or None when low-confidence (caller uses c0..).
affinities: Vec<Affinity>Declared column affinity for each column, in column order.
create_sql: StringThe table’s CREATE TABLE statement (sqlite_master.sql), threaded so a
consumer can re-derive schema properties (e.g. AUTOINCREMENT-ness via
crate::is_autoincrement) without re-reading the schema. Empty when the
schema row carried no/invalid sql (a damaged schema).