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