feat(scanner): ignore selected scalar indices - #9034
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9503ceeb27
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
✅ Gate recommendation: approve.
The Java/JNI naming issue is fixed in 89c43eca: the public option and its full binding path now consistently use ignoredScalarIndices. The selective exclusion remains at the scalar-parser construction boundary, preserving the original filter and all unaffected index paths.
Summary
with_ignored_scalar_indices), Java (ignoredScalarIndices), and Python (ignored_scalar_indices)Motivation
External query planners can consume a scalar index during task planning and pass the resulting row selection to Lance workers. For example, lance-spark can query a ZoneMap on the driver, produce fragment-local physical slices, and then avoid querying that same ZoneMap again on executors without disabling useful BTree or other scalar indices.
This fills the gap between the existing all-or-nothing
use_scalar_indexoption and retaining every available scalar index.Semantics
use_scalar_index = falsecontinues to disable all scalar-index planningValidation
cargo fmt --all --checkcargo check -p lance --testscd java && ./mvnw spotless:checkcd java && ./mvnw -Dtest=ScannerTest,AsyncScannerTest test(54 Java tests and 22 JNI tests)cd python && cargo check --releaseThe PR is intentionally opened as a draft so the API shape and naming can be discussed before lance-spark adopts it.