Summary
Add an opt-in RLE v2 codec path that supports run_lengths = Flat(8|16|32) without changing the Lance data file format or RLE protobuf shape.
Scope
- Decode RLE run lengths from
Flat(8), Flat(16), and Flat(32).
- Keep
Flat(8) as the default compatibility mode.
- Add strict validation for zero lengths, values/lengths entry mismatches, underflow, and overflow.
- Add a table-level reader/writer feature flag for datasets that may contain RLE v2 pages.
- Add an explicit writer opt-in path.
Acceptance Criteria
- New Lance can write and read opt-in RLE v2 pages.
- Old
Flat(8) RLE data remains readable.
- Old readers fail closed at the table level when RLE v2 pages may exist.
- Compatibility mode still writes
Flat(8).
Summary
Add an opt-in RLE v2 codec path that supports
run_lengths = Flat(8|16|32)without changing the Lance data file format or RLE protobuf shape.Scope
Flat(8),Flat(16), andFlat(32).Flat(8)as the default compatibility mode.Acceptance Criteria
Flat(8)RLE data remains readable.Flat(8).