1#![cfg_attr(feature = "bench", feature(test))]
5
6mod btree;
7mod column;
8mod compress;
9mod db;
10mod display;
11mod error;
12mod file;
13mod hash;
14mod index;
15mod log;
16mod migration;
17mod multitree;
18mod options;
19mod parking_lot;
20mod ref_count;
21mod stats;
22mod table;
23
24pub use btree::BTreeIterator;
25pub use column::{ColId, ValueIterState};
26pub use compress::CompressionType;
27pub use db::{check::CheckOptions, Db, Operation, TreeReader, Value};
28#[cfg(feature = "instrumentation")]
29pub use error::set_number_of_allowed_io_operations;
30pub use error::{Error, Result};
31pub use migration::{clear_column, migrate};
32pub use multitree::{Children, NewNode, NodeAddress, NodeRef};
33pub use options::{ColumnOptions, Options};
34pub use stats::{ColumnStatSummary, StatSummary};
35
36pub const KEY_SIZE: usize = 32;
37pub type Key = [u8; KEY_SIZE];
38
39#[cfg(not(any(
40 target_arch = "x86_64",
41 target_arch = "aarch64",
42 target_arch = "loongarch64",
43 target_arch = "riscv64"
44)))]
45compile_error!("parity-db only supports x86_64, aarch64, riscv64 and loongarch64 (unofficially)");
46
47#[cfg(not(target_endian = "little"))]
48compile_error!("parity-db only supports little-endian platforms");