Add an RLE column codec behind the storage interface.
Columns are stored raw native-width. Add run-length encoding as an optional per-column codec (ideal for low-cardinality / sorted columns), decoded lazily on scan. This is the on-ramp to the compression roadmap item.
Where
v2/src/storage.* (the column read/write path). Keep the existing scan/zone-map interface unchanged so exec.cpp doesn't need to care.
Acceptance criteria
- A table with an RLE column returns identical results to a raw column (
bench2 check).
- Report the on-disk size delta in the PR (this is a perf change → before/after numbers required per CONTRIBUTING).
See CONTRIBUTING.md and comment here to claim it.
Add an RLE column codec behind the storage interface.
Columns are stored raw native-width. Add run-length encoding as an optional per-column codec (ideal for low-cardinality / sorted columns), decoded lazily on scan. This is the on-ramp to the compression roadmap item.
Where
v2/src/storage.*(the column read/write path). Keep the existing scan/zone-map interface unchanged soexec.cppdoesn't need to care.Acceptance criteria
bench2check).See CONTRIBUTING.md and comment here to claim it.