Skip to main content

Module snapshot

Module snapshot 

Source
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§

SnapshotId
Snapshot identifier - points to committed transaction state