-
Notifications
You must be signed in to change notification settings - Fork 285
fix block filter #23237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix block filter #23237
Conversation
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||
Merge Queue Status✅ The pull request has been merged at a9fb29c This pull request spent 56 minutes 36 seconds in the queue, including 56 minutes 27 seconds running CI. Required conditions to merge
|
User description
What type of PR is this?
Which issue(s) this PR fixes:
issue ##13959
What this PR does / why we need it:
fix block filter EQ, IN, ...
PR Type
Bug fix
Description
Fix block filter search functions to correctly handle duplicate values
Add early return checks for empty input vectors or search values
Refactor binary search logic to find all matching indices for duplicates
Improve handling of variable-length and fixed-size data type searches
Diagram Walkthrough
File Walkthrough
search.go
Refactor search functions to handle duplicate valuespkg/container/vector/search.go
OrderedBinarySearchOffsetByValFactory,VarlenBinarySearchOffsetByValFactory, andFixedSizedBinarySearchOffsetByValFactoryconsecutive duplicate values by finding run boundaries
for matching duplicate values instead of just first occurrence
area references
search_test.go
Add comprehensive tests for duplicate value handlingpkg/container/vector/search_test.go
dataset and duplicate values
and dataset sizes
multiple data ranges
comparator