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

   Closes https://github.com/apache/datafusion/issues/16188.
   
   As discussed in that issue one of the reasons to hold off on refactoring the 
APIs was waiting until they were used in more places so we could get a better 
picture of what was needed.
   Working on https://github.com/apache/datafusion/pull/16445 necessitated 
[adding new 
APIs](https://github.com/apache/datafusion/pull/16445/files#r2164715273) which 
led me to wanting to do this refactor. So this PR couples implementing parent 
filter passthrough support for joins because this demonstrates that the APIs 
will be sufficient to implement most of the cases we want to tackle. I'm happy 
to split up the PR if that helps (I'll just revert the changes to 
`datafusion/physical-plan/src/joins/hash_join.rs`).
   
   The refactor of the APIs focused on two key things:
   - Removing thin helper methods that could easily be implemented by the 
caller. This adds a bit of boilerplate but makes the code more transparent and 
reduces the number of APIs and structs to juggle (I completely binned 
`PredicateSupports` in favor of `Vec<PredicateSupport>`.
   - Bringing the logic that would have now been repeated in the HashJoinExec 
implementation and FilterExec implementations of `gather_filters_for_pushdown` 
into a single place, which simplifies away several APIs and lifts a lot of 
complexity from ExecutionPlan implementations into the pushdown module itself.


-- 
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: github-unsubscr...@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org
For additional commands, e-mail: github-h...@datafusion.apache.org

Reply via email to