Skip to main content

tessarikv/
lib.rs

1//! TessariKV: a pure-Rust, lock-free-first LSM key-value storage engine.
2
3// Production code is held to the workspace lints; a test states its own expectations.
4#![cfg_attr(
5    test,
6    allow(
7        clippy::unwrap_used,
8        clippy::expect_used,
9        clippy::as_conversions,
10        clippy::arithmetic_side_effects,
11        clippy::panic
12    )
13)]
14
15mod db;
16mod error;
17mod log;
18mod memtable;
19mod options;
20mod sealing;
21mod statistics;
22mod storage;
23mod tombstones;
24mod transaction;
25mod version;
26
27pub use db::{Db, DbIterator, ScanPage, ScanRange, Snapshot};
28pub use error::{Error, ErrorCategory, Result};
29pub use options::{
30    CompactionStyle, DbOptions, DbOptionsBuilder, Durability, Encryption, Isolation, KeyProvider,
31    KeyspaceOptions, KeyspaceOptionsBuilder, ReadOptions, StorageMode, TransactionOptions,
32    WalRecovery, WriteOptions,
33};
34pub use statistics::{Histogram, HistogramSnapshot, StatisticsSnapshot, Ticker};
35pub use storage::{MemoryStorage, OsStorage, ReadableFile, Storage, StorageLock, WritableFile};
36pub use tessarikv_format::{BatchEntry, Cipher, Compression, ROOT_KEY_BYTES, RootKey, WriteBatch};
37pub use tessarikv_types::{KeyspaceId, SequenceNumber};
38pub use transaction::{Savepoint, Transaction};