fix: make vector distance schema nullable#6649
Merged
Conversation
Contributor
|
ACTION NEEDED The PR title and description are used as the merge commit message. Please update your PR title and description to match the specification. For details on the error please inspect the "PR Title Check" action. |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
wjones127
approved these changes
Apr 30, 2026
Contributor
|
lgtm |
justinrmiller
approved these changes
Apr 30, 2026
westonpace
pushed a commit
that referenced
this pull request
Apr 30, 2026
## Bug Fix - What is the bug? - Vector search result schemas disagreed on the `_distance` column nullability. The public scanner and KNN schemas already expose `_distance` as nullable, while `VECTOR_RESULT_SCHEMA` and a mem-wal vector path still marked it as non-nullable. - What issues or incorrect behavior does the bug cause? - The mismatch can create inconsistent schemas across vector search execution paths and tests, even though callers should see a single nullable `_distance` contract. - How does this PR fix the problem? - Updates the remaining vector result schema definitions and related test fixtures to mark `_distance` as `Float32` nullable. - Updates the `VectorIndex` schema documentation to match the nullable contract. ## Validation - `rg` check for remaining explicit `_distance` `Float32` `nullable=false` definitions under `rust/lance` and `rust/lance-index` - `cargo fmt --all --check` - `cargo test -p lance --lib dataset::mem_wal::scanner::exec::filter_stale::tests:: --no-fail-fast` - `git diff --check`
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bug Fix
_distancecolumn nullability. The public scanner and KNN schemas already expose_distanceas nullable, whileVECTOR_RESULT_SCHEMAand a mem-wal vector path still marked it as non-nullable._distancecontract._distanceasFloat32nullable.VectorIndexschema documentation to match the nullable contract.Validation
rgcheck for remaining explicit_distanceFloat32nullable=falsedefinitions underrust/lanceandrust/lance-indexcargo fmt --all --checkcargo test -p lance --lib dataset::mem_wal::scanner::exec::filter_stale::tests:: --no-fail-fastgit diff --check