Skip to content

perf: defer expensive string predicates from RowFilter when dynamic filter is present#20413

Closed
notashes wants to merge 1 commit intoapache:mainfrom
notashes:perf/strings-attached
Closed

perf: defer expensive string predicates from RowFilter when dynamic filter is present#20413
notashes wants to merge 1 commit intoapache:mainfrom
notashes:perf/strings-attached

Conversation

@notashes
Copy link
Contributor

Which issue does this PR close?

Rationale for this change

When pushdown_filters=true and a TopK dynamic filter is present alongside a col != literal on a string/binary column, the string predicate's decode cost through the predicate cache blocks the dynamic filter from converging. this causes regression in Q24 for instance.

What changes are included in this PR?

when dynamic filters are detected we defer col != literal for string/binary types.

Are these changes tested?

Yes. I have added test_dynamic_filter_defers_string_predicate but it's more of a correctness test as if we actually want to measure if the filter was deferred we'd need to rely on metrics.

Are there any user-facing changes?

@github-actions github-actions bot added the datasource Changes to the datasource crate label Feb 17, 2026
@notashes notashes closed this Feb 18, 2026
@notashes
Copy link
Contributor Author

closed in favour of #20417

@notashes notashes deleted the perf/strings-attached branch February 18, 2026 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

datasource Changes to the datasource crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments