1#![allow(clippy::module_inception)]
9#![recursion_limit = "2048"]
10
11pub mod be_tree;
12pub mod cache;
13pub mod catalog;
14pub mod columnar;
15pub mod compaction;
16pub mod constraint;
17pub mod cursor;
18pub mod database;
19pub mod encryption;
20pub mod engine;
21pub mod epoch;
22pub mod error;
23pub mod external_table;
24pub mod gc;
25pub mod global_idx;
26pub mod index;
27pub mod manifest;
28pub mod memtable;
29pub mod mutable_run;
30pub mod page;
31pub mod pma;
32pub mod procedure;
33pub mod query;
34pub mod reservoir;
35pub mod retention;
36pub(crate) mod row_id_set;
37pub mod rowid;
38pub mod schema;
39pub mod sorted_run;
40pub mod trace;
41pub mod trigger;
42pub mod tsv;
43pub mod txn;
44pub mod wal;
45
46pub use be_tree::BeTree;
47pub use cache::PageCache;
48pub use columnar::{decode_column, encode_column};
49pub use cursor::{drain_cursor_to_columns, Cursor, MultiRunCursor, NativePageCursor};
50pub use database::{
51 CheckIssue, Database, ExternalTriggerBaseWrite, ExternalTriggerBridge, ExternalTriggerWrite,
52 ExternalTriggerWriteResult,
53};
54pub use encryption::{Cipher, PlaintextCipher};
55pub use engine::{
56 AggState, ApproxAgg, ApproxResult, CachedAgg, ColumnStat, IncrementalAggResult,
57 IndexBuildPolicy, NativeAgg, NativeAggResult, Table,
58};
59pub use epoch::{Epoch, EpochAuthority, EpochClock, Snapshot};
60pub use error::{MongrelError, Result};
61pub use external_table::{
62 ExternalTableDefinition, ExternalTableEntry, ModuleArg, ModuleCapabilities,
63};
64pub use gc::{CheckReport, DoctorReport, GcReport};
65pub use index::{
66 AnnIndex, BitmapIndex, ColumnLearnedRange, FmIndex, HotIndex, LearnedIndex, SparseIndex,
67};
68pub use memtable::{Memtable, Row, Value};
69pub use mutable_run::MutableRun;
70pub use page::{CachedPage, Encoding, PageStat};
71pub use procedure::{
72 ProcedureBody, ProcedureCallOutput, ProcedureCallResult, ProcedureCallRow, ProcedureCondition,
73 ProcedureEntry, ProcedureMode, ProcedureParam, ProcedureStep, ProcedureValue, StoredProcedure,
74};
75pub use query::{Condition, Query};
76pub use reservoir::Reservoir;
77pub use retention::{OwnedSnapshotGuard, SnapshotGuard, SnapshotRegistry};
78pub use rowid::{RowId, RowIdAllocator};
79pub use schema::{AlterColumn, ColumnDef, ColumnFlags, IndexDef, IndexKind, Schema, TypeId};
80pub use sorted_run::{
81 read_column_dir, read_header, write_run, write_run_with, ColumnPayload, RunHeader, RunReader,
82 RunSpec, RunWriter,
83};
84pub use trace::{IndexRebuild, QueryTrace, ScanMode};
85pub use trigger::{
86 StoredTrigger, TriggerCell, TriggerCondition, TriggerConfig, TriggerDefinition, TriggerEntry,
87 TriggerEvent, TriggerExpr, TriggerProgram, TriggerRaiseAction, TriggerStep, TriggerTarget,
88 TriggerTiming, TriggerValue,
89};
90pub use txn::{IsolationLevel, OwnedRow, PutResult, UpsertAction, UpsertActionKind, UpsertResult};
91pub use wal::{AddedRun, DdlOp, Op, Record, SharedWal, Wal, WalReader, SYSTEM_TXN_ID};
92
93#[cfg(feature = "encryption")]
94pub use encryption::{AesCipher, ColumnKeyDescriptor, EncryptionDescriptor, Kek};