dongjoon-hyun commented on code in PR #55628:
URL: https://github.com/apache/spark/pull/55628#discussion_r3170397734
##########
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/PlanMerger.scala:
##########
@@ -91,6 +92,11 @@ object PlanMerger {
* When plans also differ in intermediate [[Project]] expressions, those are
wrapped with
* `If(filterAttr, expr, null)` to avoid computing the expression for rows
that do not
* match that side's filter condition.
+ * Filter propagation also works through [[Join]] nodes: a filter on one child
of the join
+ * produces a boolean attribute that flows through the join output to the
enclosing
+ * [[Aggregate]]. Propagation is skipped when both the left and right children
simultaneously
+ * produce filter attributes, as combining them would require an additional
AND alias above
+ * the join (not yet supported).
Review Comment:
According to the `filterSafeForJoin`, shall we mention NULL-pad cases a
little more?
--
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]