pub struct CatalogCacheRevisions {
pub table_catalog: u64,
pub registries: u64,
pub graphs: Option<BTreeMap<String, u64>>,
pub table_data: BTreeMap<String, u64>,
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>§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.