rgehan opened a new pull request, #24101:
URL: https://github.com/apache/datafusion/pull/24101

   ## Which issue does this PR close?
   
   Haven't opened an issue, as this is rather self-explanatory, although I'd 
gladly open one if that is actually mandatory.
   
   ## Rationale for this change
   
   Bloom filter pruning codepath evaluates pruning predicates even when no 
bloom filters are defined for the row group.
   
   For wide / expensive predicates, this can add visible latency.
   
   This PR suggests shunting the evaluation of the predicate altogether when a 
row group provably doesn't contain bloom filters.
   
   ## What changes are included in this PR?
   
   Short-circuits the pruning predicate evaluation in bloom filter pruning 
codepath when there are no bloom filters.
   
   ## Are these changes tested?
   
   Yes, but the assertions are weak and cannot differentiate between a skipped 
pruning predicate (no bloom filter case) vs a pruning predicate that was 
evaluated and matches the row group.
   
   I suppose we could build a test with an expensive predicate, and rely on the 
timer, but I find time-based tests to be generally weak/flaky. Let me know if 
you prefer this solution / if you see a better approach.
   
   ## Are there any user-facing changes?
   
   None


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to