lance-format / lance-format/lance
Write Range and Delta offsets in Lance 2.3
Open
@Xuanwo is already working on this.
Since Jul 28, 2026.
A-encoding
A-format
enhancement
format-change
- Dominant language
- Rust
- Stars
- 7.1k
- Forks
- 852
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 272
Description
Goal
Use Range and Delta block compression for Lance 2.3 variable-width mini-block offsets when it reduces complete chunk size.
Scope
- Compare legacy interleaved-flat and generic offset containers.
- Keep the legacy candidate when generic metadata or payload placement is not beneficial.
- Preserve Lance 2.0-2.2 bytes, SparseLayout wire, and chunk-local random-read behavior.
- Add representative encode, scan, range, take, and multi-chunk tests and benchmarks.
Context
This is PR 5 of the Generic Block Compression stack extracted from https://github.com/lance-format/lance/pull/8002. It depends on the generic offset reader.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.