Skip to content

refactor: activate exact current-format writers - #8023

Draft
Xuanwo wants to merge 2 commits into
xuanwo/exact-version-stack-05-file-runtimefrom
xuanwo/exact-version-stack-06-writers
Draft

refactor: activate exact current-format writers#8023
Xuanwo wants to merge 2 commits into
xuanwo/exact-version-stack-05-file-runtimefrom
xuanwo/exact-version-stack-06-writers

Conversation

@Xuanwo

@Xuanwo Xuanwo commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

Part 6/12 of #7877. Depends on #8022.

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

This PR switches the public file writer boundary to exact-version dispatch. The root FileWriter becomes type erasure plus forwarding, while V1 and each current format own construction and behavior inside their version modules. Writer call sites in Lance, indexes, Python, and Java now pass an exact ConcreteFileVersion.

This removes version-conditioned behavior from the shared current-format writer and makes every temporary, shuffle, merge, and dataset file creation site choose a format explicitly. Reader dispatch is intentionally deferred to the next PR.

Validation:

  • cargo clippy --all --tests --benches -- -D warnings
  • uv run make build in python/
  • cargo check --manifest-path java/lance-jni/Cargo.toml
  • exact-version compatibility fixture tests

@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