pub struct CatalogCacheRevisions {
pub table_catalog: u64,
pub registries: u64,
pub graphs: Option<BTreeMap<String, u64>>,
pub table_data: BTreeMap<String, u64>,
pub table_data_commits: BTreeMap<String, (DatabaseId, CommitSequence)>,
pub column_statistics: BTreeMap<String, u64>,
pub statistics_maintenance: BTreeMap<String, u64>,
pub storage_schema: u64,
}Expand description
Lightweight generations read from the same storage snapshot as catalog and
row data. Providers must advance them atomically with the corresponding
mutation, including direct storage writes, and restore them on rollback.
Missing support is distinct from an empty, unchanged database.
Generations are opaque equality tokens, not clocks or counts. A logical
provider may use the domain at or above Self::PRIVATE_GENERATION_BASE
for transaction-private changes; rollback restores the prior tokens and
commit replaces them with durable generations.
Fields§
§table_catalog: u64§registries: u64§graphs: Option<BTreeMap<String, u64>>Per-graph generations, separate from SQL registries. None preserves
conservative restoration for providers without graph-scoped tracking.
table_data: BTreeMap<String, u64>§table_data_commits: BTreeMap<String, (DatabaseId, CommitSequence)>Last committed change of each table’s data generation on this snapshot, even when its visible generation is private. An absent entry supplies no certificate. The database and sequence let a reader recognize data it already observed, including its own commit adopted without catalog reads.
column_statistics: BTreeMap<String, u64>§statistics_maintenance: BTreeMap<String, u64>§storage_schema: u64Physical schema changes also invalidate bindings, even when a caller changed the storage schema without an ordinary catalog operation.
Implementations§
Source§impl CatalogCacheRevisions
impl CatalogCacheRevisions
Sourcepub const PRIVATE_GENERATION_BASE: u64
pub const PRIVATE_GENERATION_BASE: u64
The first generation of the domain reserved for changes private to the reading transaction. Durable generations stay below it.
Sourcepub fn is_private_generation(generation: u64) -> bool
pub fn is_private_generation(generation: u64) -> bool
Whether generation identifies a change private to the reading transaction instead of a committed generation.