-
Notifications
You must be signed in to change notification settings - Fork 2.6k
OR
/IN
filter pushdown for VARCHAR
#15219
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
Conversation
Thanks for the PR! Great change. Could we add a benchmark that showcases the performance improvement? I don't see any changes related to the dynamic filter pushdown - did that already work previously or am I missing something? |
@Mytherin Thanks for the review! I've added a few benchmark files that test the behavior:
You are right, the dynamic filter pushdown was working before - this confirms it (it was >2x slower in v1.1.3). |
Looks great - only the benchmarks don't seem to be added (likely by accident?) |
Anecdotal evidence from a single query in text retrieval context: |
@Mytherin Forgot to push those yesterday. They are in now |
Thanks! |
Amazing!!!! Thanks folks!!! This will be so helpful for the crazy queries out there... |
`OR`/`IN` filter pushdown for `VARCHAR` (duckdb/duckdb#15219)
`OR`/`IN` filter pushdown for `VARCHAR` (duckdb/duckdb#15219)
`OR`/`IN` filter pushdown for `VARCHAR` (duckdb/duckdb#15219) Co-authored-by: krlmlr <krlmlr@users.noreply.github.com>
This was only implemented for integral types, so this PR adds support for strings (also works for dynamic join filter pushdown!).
To prevent regressions in IMDB, I had to add a special case for
OPTIONAL_FILTER
s inrow_group.cpp
so that these are skipped for scanning vectors (they are only used for row group checking anyway).