Skip to content

refactor: compose exact current-format readers - #8024

Draft
Xuanwo wants to merge 2 commits into
xuanwo/exact-version-stack-06-writersfrom
xuanwo/exact-version-stack-07-readers
Draft

refactor: compose exact current-format readers#8024
Xuanwo wants to merge 2 commits into
xuanwo/exact-version-stack-06-writersfrom
xuanwo/exact-version-stack-07-readers

Conversation

@Xuanwo

@Xuanwo Xuanwo commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

Part 7/12 of #7877. Depends on #8023.

This is an independently reviewable step toward the final layout demonstrated in #7979.

This PR gives V2.0, V2.1, V2.2, and V2.3 explicit reader composition alongside V1. The root reader keeps shared runtime machinery and type-erased forwarding, but exact version modules own construction, decoder selection, and supported capabilities.

The large shared reader implementation is reduced to mechanisms that are actually common. Version-sensitive choices no longer depend on ordering comparisons or scattered conditions, and the reader still parses persisted identity once at the boundary.

Validation:

  • cargo test -p lance-file
  • cargo clippy --all --tests --benches -- -D warnings
  • uv run make build in python/
  • cargo check --manifest-path java/lance-jni/Cargo.toml

@github-actions github-actions Bot added A-python Python bindings A-index Vector index, linalg, tokenizer A-java Java bindings + JNI A-encoding Encoding, IO, file reader/writer labels Jul 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-encoding Encoding, IO, file reader/writer A-index Vector index, linalg, tokenizer A-java Java bindings + JNI A-python Python bindings

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant