Skip to main content

reifydb_column/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2025 ReifyDB
3
4//! Columnar storage engine: the immutable, on-disk representation of materialized columns plus the read-time
5//! machinery (compute kernels, predicates, scans, selection vectors, snapshots) the engine uses to query them. This
6//! crate owns the bucket layout, the per-column compression and encoding schemes, and the registry that tracks which
7//! columns are present and at what version.
8//!
9//! Read paths come in here, get a column reader, and stream values through compute kernels that operate directly on
10//! the encoded bytes where possible - decoding only when a kernel cannot run on the encoded form. The snapshot type
11//! is what the subscription tier hands out to consumers so they can iterate over a stable view of the column without
12//! racing against ongoing writes.
13//!
14//! Invariant: a column's encoded bytes plus its stats and bitmap are produced together and never updated piecewise.
15//! Tearing those apart - rewriting just the values, just the bitmap, or just the stats - means readers can observe
16//! a column whose statistics no longer describe its contents, which silently corrupts every kernel that reads stats
17//! to skip work.
18
19pub mod bucket;
20pub mod compress;
21pub mod compute;
22pub mod encoding;
23pub mod error;
24pub mod predicate;
25pub mod reader;
26pub mod registry;
27pub mod scan;
28pub mod selection;
29pub mod snapshot;