Repository navigation
Fix partition field mapping for vector search source plans - #1211
Merged
JingsongLi merged 4 commits intoOct 24, 2026
Merged
JingsongLi merged 4 commits into
JingsongLi merged 4 commits into
Conversation
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.
Purpose
Indexed vector search can lose matching rows when a partition column's position in the table schema differs from its position in the partition row. For example, filtering
ptin a schemaid, embedding, ptcan return no results when an exact scalar index filter selects a source plan.Brief change log
Remap the partition predicate from partition-row positions back to complete table-schema positions before collecting allowed source row IDs.
Add regression coverage for single and batch vector searches in fast, full and detail modes, checking both scores and materialized rows.
Tests
96e06d764365b59c9895a45692819efccf209b23and pass with this change.cargo test -p paimon --lib table::de_vector_read::tests: 56 passed.test_vector_search.py, using a wheel built from this commit: 15 passed.cargo fmt --all --checkandgit diff --check: passed.The branch includes the dependency security updates and regenerated inventories from #1212 so CI can validate this vector fix together with its prerequisites. The functional vector patch remains byte-for-byte identical to commit
188a754573f90d113a560345edea126e999cb5f1. Merge #1212 first.After combining the changes, the CI-pinned Rust 1.98.0 workspace Clippy check passed after rebuilding paimon, dependency-report verification passed, and all 56 vector unit tests passed again. The original vector-only CI run passed all configured build, unit and integration jobs; the combined branch has triggered a new CI run.
API and Format
No public API or storage-format changes.
Documentation
Bug fix; no documentation changes required.