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]

Reply via email to