uqa-storage 0.4.8

Document store, inverted index, IVF/HNSW vectors, B-tree, R*Tree, catalog
Documentation
//
// Unified Query Algebra
//
// Copyright (c) 2023-2026 Cognica, Inc.
//

//! Committed record histories and snapshot retention shared by storage providers.
//!
//! Record validation is independent of SQL tuple locks and command execution. A physical record replacement must carry the revision it replaces, including the revision of a tombstone. Derived indexes additionally need their owning logical mutation rules; an opaque replacement is not an index merge.

pub(crate) mod commit;
mod deletions;
mod graph;
mod guards;
mod history;
mod hnsw;
mod identifiers;
mod ivf;
mod key;
mod markers;
mod memory;
mod notifications;
mod occurrence;
pub use notifications::{NotificationRecordLayout, NOTIFICATION_PUBLICATION_KEY};
mod outcome;
mod overlay;
mod persistence;
mod populations;
mod projection;
mod receipts;
mod resolution;
mod resources;
mod restore;
mod retention;
mod serializable;
mod session;
mod tombstones;
mod types;
mod vector;
mod vector_fields;
mod view;

pub use session::VectorFieldGuardMaintenance;
pub use vector_fields::{VectorFieldGuard, VectorFieldGuardLayout};

pub use commit::{PreparedRecordCommit, PreparedRecordWrite};
pub use graph::{GraphMutation, GraphRecordKey, GraphRecordLayout};
pub use guards::verify_revision_guards;
pub use history::{RecordHistory, RecordVersion, ScannedRecord, SharedRecordValue};
pub use hnsw::{HNSWRecordHeader, HNSWRecordKey, HNSWRecordLayout, HNSWRecordValue};
pub use identifiers::{
    reserve_identifier_workspace, verify_identifier_allocations, verify_identifier_batches,
    IdentifierAllocation, IdentifierAllocator, IdentifierRequest, ObservedIdentifier,
};
pub use ivf::{IVFRecordHeader, IVFRecordKey, IVFRecordLayout, IVFRecordValue};
pub use memory::{MemoryRecordSnapshot, MemoryVersionStore};
pub use occurrence::{
    OccurrenceRecordKind, OccurrenceRecordLayout, OccurrenceRecordValue, OccurrenceRelatedKey,
};
pub use outcome::{TransactionCompletionError, TransactionOutcome, TransactionOutcomeId};
pub use overlay::{
    PrivateRecordChanges, PrivateRecordKey, PrivateRecordRevision, PrivateRecordSnapshot,
};
pub use persistence::{
    resolve_prepared_receipt, CommitErrorOutcome, CommitFailure, CommitFingerprint, CommitReceipt,
    CommitResult, CommitStatus, DatabaseId, RecordPage, StorageMutationOrigin,
    StorageTransactionId, VersionedPersistence,
};
pub use populations::{
    DiskANNPopulationHeader, DiskANNPopulationOrigin, DiskANNPopulationRecordLayout,
};
pub use receipts::{
    receipt_lease_id, ReceiptAcknowledgement, RetainedTransactionAllocation,
    DEFAULT_RECEIPT_RETENTION_LIMIT,
};
pub(crate) use resources::WeakResourceLease;
pub use resources::{
    retain_local_resource, ResourceLease, ResourceLeaseId, ResourceLeaseProvider,
    ResourceLeaseRequest,
};
pub use restore::DatabaseRestore;
pub use retention::{
    verify_version_reclamation, ReclamationHorizon, SnapshotLease, SnapshotLeaseTransport,
    SnapshotRegistry,
};
pub use serializable::{
    admit_serializable, LocalSerializableLeases, LocalSerializableState, SafeSnapshot,
    SerializableCheckpointKey, SerializableCheckpointRecord, SerializableCoordinator,
    SerializableGraph, SerializableKeySpace, SerializableLeases, SerializableOperation,
    SerializableParticipant, SerializablePredicate, SerializablePublication, SerializableStatus,
    SerializableTransactionId, SerializableWriteMark,
};
pub use session::{
    RecordRead, SerializableReadContext, SerializableSession, SerializableSnapshotCapture,
    SerializableSnapshotOptions, VersionedKeyValueStore, VersionedSessionOptions,
};
pub use tombstones::{
    reclaim_key_value_diskann_tombstones, reclaim_tombstone_prefix, verify_tombstone_reclamation,
    verify_tombstone_reclamation_pages, TombstoneReclamationPage, TombstoneReclamationRequest,
    TombstoneReclamationStep, RECLAMATION_DOMAIN_PREFIX, RECLAMATION_EPOCH_NAMESPACE,
    TOMBSTONE_RECLAMATION_PAGE,
};
pub use types::{CommitSequence, RecordWrite, VersionError, VersionResult};
pub use view::{
    retain_record_snapshot, BorrowedRecord, CommittedRecordSnapshot, MergedRecordSnapshot,
    RecordKeyIterator, RecordKeyVisitor, RecordMetadata, RecordPointVisitor, RecordScanVisitor,
    RecordValueVisitor, ScannedVisibleRecord, VisibleRecord, VisibleRecordRevision,
};

mod maintenance;
pub use maintenance::MaintenanceRecordLayout;