Expand description
Snapshot isolation for ACID compliance
This module provides the SnapshotId type which enforces that all read operations only observe data committed at or before a specific transaction snapshot.
§Hard Rule
No API may observe state not bound to a committed snapshot_id.
If a value cannot be tied to a committed snapshot → it does not exist.
§Example
use sqlitegraph::snapshot::SnapshotId;
// Get current snapshot (only committed data visible)
let snapshot = SnapshotId::current();
// Read from database using snapshot
let node = backend.get_node(snapshot, node_id)?;
// Create snapshot from specific transaction
let snapshot = SnapshotId::from_tx(12345);Structs§
- Snapshot
Id - Snapshot identifier - points to committed transaction state