//
// Unified Query Algebra
//
// Copyright (c) 2023-2026 Cognica, Inc.
//
//! Transaction-visible invalidation generations, without loading catalog payloads.
use BTreeMap;
/// 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 a separate domain for transaction-private changes; rollback
/// restores the prior tokens and commit replaces them with durable generations.