1pub mod actor; pub mod admission_control; pub mod aries_recovery; pub mod checkpoint; pub mod columnar_compression;
81pub mod correctness_testing; pub mod database; pub mod durable_storage; pub mod durability_contract; pub mod ffi;
86pub mod group_commit; pub mod hlc; pub mod hybrid_store; pub mod io_isolation; pub mod ipc; #[cfg(unix)]
92pub mod ipc_server; pub mod learned_index_integration;
94pub mod lock; pub mod lscs;
96pub mod mvcc_concurrent; pub mod mvcc_new;
98pub mod mvcc_snapshot;
99pub mod page_manager;
100pub mod pitr; pub mod production_wal; pub mod ssi; pub mod ssi_scaling; pub mod storage_engine;
105pub mod streaming_iterator; pub mod transaction; pub mod txn_arena; pub mod txn_wal;
109pub mod upgrade_contract; pub mod wal_fencing; pub mod wal_integration;
112pub mod zero_copy_safety; pub mod adaptive_learned_index;
116pub mod adaptive_memtable; pub mod deferred_index; pub mod dirty_tracking; pub mod index_policy; pub mod queue_index; pub mod batch_wal; pub mod key_buffer; pub mod lockfree_memtable; pub mod packed_row; pub mod clr_learned_index; pub mod lockfree_epoch; pub mod hierarchical_ts; pub mod shard_coalesced; pub mod polymorphic_value; pub mod epoch_arena; pub mod stratified_skiplist; pub mod columnar_wal; pub mod generational_slab; pub mod rl_workload; #[cfg(unix)]
138pub mod io_uring_wal; pub mod cow_btree; pub mod epoch_mvcc; pub mod page_cache; pub mod row_format; pub mod tiered_memtable; pub mod tournament_tree; pub mod vectorized_scan; pub mod zero_copy_serde; pub mod namespace; pub mod backend;
155pub mod backup;
156pub mod block_checksum;
157pub mod bloom;
158pub mod compression;
159pub mod dict_compression;
160pub mod direct_io;
161#[cfg(unix)]
162pub mod io_uring;
163pub mod manifest;
164pub mod memory;
165pub mod parallel_merge;
166pub mod payload;
167pub mod prefetch;
168pub mod sketches;
169pub mod two_level_index;
170pub mod validation;
171pub mod version_store;
172pub mod zero_copy;
173
174pub use columnar_compression::{
176 ColumnEncoder, DeltaEncoder, DictionaryEncoder, EncodingStats, EncodingType, RleEncoder,
177};
178pub use learned_index_integration::{
179 HybridIndex, IndexManager, IndexType, KeyStats, PointLookupExecutor,
180};
181pub use lscs::{
182 ColumnDef, ColumnGroup, ColumnType, ColumnarMemtable, Lscs, LscsConfig, LscsRecoveryStats,
183 LscsStats, TableSchema,
184};
185#[allow(deprecated)]
186pub use mvcc_snapshot::{
187 MvccStore, Snapshot as MvccSnapshot, Timestamp, TransactionManager, TxnId, TxnStatus,
188 VersionChain, VersionInfo,
189};
190pub use page_manager::{
191 DEFAULT_PAGE_SIZE, DbHeader, FORMAT_VERSION, FreePageHeader, PageId, PageManager,
192 PageManagerStats, PageType, SOCHDB_MAGIC,
193};
194pub use storage_engine::{
195 ColumnId, ColumnIterator, Row, RowId, StorageEngine, StorageEngineType, StorageStats,
196 TxnHandle, open_storage_engine,
197};
198pub use transaction::{
199 DurabilityLevel, IsolationLevel, RecoveryStats as TxnRecoveryStats, TransactionCoordinator,
200 TransactionHandle,
201};
202pub use txn_wal::{CrashRecoveryStats, TxnWal, TxnWalBuffer, TxnWalEntry, TxnWalStats};
203pub use wal_integration::{
204 GroupCommitBuffer, MvccTransactionManager, RecoveryStats, Transaction, TxnState,
205 WalStorageManager,
206};
207
208pub use adaptive_learned_index::{AdaptiveLearnedIndex, LearnedIndexStats, PiecewiseLinearModel};
210pub use adaptive_memtable::{
211 AdaptiveMemtableConfig, AdaptiveMemtableSizer, AdaptiveMemtableStats,
212 DEFAULT_BASE_SIZE, MAX_MEMTABLE_SIZE, MIN_MEMTABLE_SIZE,
213};
214pub use batch_wal::{
215 BatchAccumulator, BatchedWalReader, BatchedWalStats, BatchedWalWriter, ConcurrentBatchedWal,
216 DEFAULT_MAX_BATCH_BYTES, DEFAULT_MAX_BATCH_SIZE,
217};
218pub use clr_learned_index::{ClrIndex, ClrLookupResult, ClrStats, IndexedSortedRun};
219pub use key_buffer::{
220 ArenaKey,
221 ArenaKeyHandle,
222 BatchKeyGenerator,
223 InternedTablePrefix,
224 KeyArena,
226 KeyBuffer,
227 MAX_KEY_LENGTH,
228};
229pub use lockfree_memtable::{
230 HazardDomain,
231 INLINE_VALUE_SIZE,
232 LockFreeMemTable,
233 LockFreeVersion,
234 LockFreeVersionChain,
235 ValueStorage,
237};
238pub use packed_row::{
239 PackedColumnDef, PackedColumnType, PackedRow, PackedRowBuilder, PackedTableSchema,
240};
241
242pub use backend::{LocalFsBackend, ObjectMetadata, StorageBackend};
244pub use backup::{BackupManager, BackupMetadata};
245pub use block_checksum::{
246 BlockChecksumConfig, BlockChecksumStats, BlockType as BlockChecksumType, BlockWriter, ChecksummedBlock,
247};
248pub use bloom::{BlockedBloomFilter, BloomFilter, LevelAdaptiveFPR, UnifiedBloomFilter};
249pub use compression::{CompressionEngine, CompressionStats, StorageTier};
250pub use manifest::{FileMetadata, LsmState, Manifest, VersionEdit};
251pub use memory::{MemoryBudget, MemoryTracker, WriteBufferManager, WriteBufferStats};
252pub use mvcc_new::{
253 ColumnGroupRef, ReadVersion, Snapshot, SnapshotGuard, VersionGuard, VersionSet,
254 VersionSetStats, VersionSetStatsSnapshot,
255};
256pub use payload::{CompressionType, PayloadStats, PayloadStore};
257pub use sketches::{AdaptiveSketch, CountMinSketch, DDSketch, ExponentialHistogram, HyperLogLog};
258pub use two_level_index::{
259 BlockIndexEntry, BlockIndexReader, FencePointer, TemporalKey, TwoLevelIndex,
260};
261pub use validation::{SSTableValidator, validate_sstable_file};
262
263pub use durable_storage::{ArenaMvccMemTable, DurableStorage, MvccMemTable, TransactionMode};
265
266pub use mvcc_concurrent::{
268 ConcurrentMvcc, HlcTimestamp, ReaderSlot,
269 ConcurrentVersionChain, ConcurrentVersionEntry,
270 VersionStore, VersionStoreStats, WriterGuard,
271};
272
273pub mod version_set;
275pub mod concurrent_art;
276pub mod sstable;
277pub mod wal_segment;
278pub mod compaction_policy;
279pub mod optimized_scan;
280
281pub use version_set::{
283 FileMetadata as VersionFileMetadata, ImmutableMemTable, ImmutableMemTableRef,
284 LevelMetadata, SuperVersion, SuperVersionHandle, VersionSet as CowVersionSet,
285};
286pub use concurrent_art::ConcurrentART;
287pub use sstable::{
288 BlockBuilder, BlockIterator, BlockHandle, BlockType,
289 FilterPolicy, BloomFilterPolicy, RibbonFilterPolicy, XorFilterPolicy, FilterReader,
290 SSTableFormat, Header, Footer, Section, SectionType,
291 SSTableBuilder, SSTableBuilderOptions, SSTableBuilderResult,
292 SSTable, TableMetadata, ReadOptions, BlockCache,
293};
294pub use wal_segment::{
295 WalSegmentManager, SegmentConfig, SegmentHeader, SegmentMetadata,
296 CheckpointRecord, SegmentStats, RecoveryIterator, WalEntry,
297};
298pub use compaction_policy::{
299 CompactionConfig, CompactionFile, CompactionJob, CompactionPicker,
300 CompactionPriority, CompactionReason, CompactionState, CompactionStats,
301 CompactionStrategy, LeveledCompactionPicker, RetentionConfig,
302 UniversalCompactionPicker, VersionPruner,
303};
304pub use optimized_scan::{
305 EntrySource, FileRange, LevelFiles, RangeScanner, ScanConfig, ScanStats,
306 TournamentTree, VersionedEntry,
307};
308pub use cow_btree::{BTreeEntry, BTreeSnapshot, CowBTree, Node, SearchResult};
309pub use epoch_mvcc::{
310 CommitResult, EpochManager, EpochMvccStore, EpochSnapshot, EpochTransaction,
311 EpochVersionChain, GcStats, StoreStats, VersionEntry,
312};
313pub use page_cache::{CacheStats, ClockProCache, CachedPage, PageId as CachePageId, PageState};
314pub use row_format::{Slot, SlotRow, SlotRowArena, SlotRowHandle, SlotRowFlags};
315pub use tiered_memtable::{HotEntry, SortedBatch, TieredMemTable};
316pub use vectorized_scan::{
317 ColumnVector, ComparisonOp, Int64Comparison, VectorBatch, VectorPredicate,
318 VectorizedScanConfig, VectorizedScanStats, DEFAULT_BATCH_SIZE,
319 SimdVisibilityFilter, SoaBatch, SoaScanIterator, SoaScanStats, SoaSource,
321 StreamingScanIterator, ValueHandle, VersionedSlice,
322};
323pub use zero_copy_serde::{
324 FieldDescriptor, MmapWalReader, SerdeStats, WalBatchReader, WalBatchWriter,
325 WalEntryBuilder, WalEntryHeader, WalEntryReader, WalEntryType, ZeroCopyHeader,
326 FORMAT_VERSION as SERDE_FORMAT_VERSION, HEADER_SIZE as SERDE_HEADER_SIZE, ZERO_COPY_MAGIC,
327};
328
329pub use txn_arena::{
331 ArenaWriteSet, BytesRef, KeyFingerprint, TxnArena, TxnWriteBuffer, WriteOp,
332};
333
334pub use dirty_tracking::{
336 BatchedDirtyTracker, DirtyEvent, DirtyTrackingStats, TxnDirtyBuffer,
337};
338
339pub use index_policy::{
341 BalancedTableIndex, IndexPolicy, SortedRun, TableIndexConfig, TableIndexRegistry,
342};
343
344pub use queue_index::{
346 CompositeQueueKey, QueueIndex, QueueIndexConfig, QueueIndexStats, QueueTableRegistry,
347};
348
349pub use database::{
351 ColumnDef as DbColumnDef,
352 ColumnType as DbColumnType,
353 ColumnarQueryResult, Database,
355 DatabaseConfig,
356 GroupCommitSettings,
357 QueryBuilder,
358 QueryResult,
359 QueryRowIterator,
360 RecoveryStats as DbRecoveryStats,
361 Stats as DbStats,
362 SyncMode,
363 TableSchema as DbTableSchema,
364 TxnHandle as KernelTxnHandle,
365 VectorSearchResult,
366};