Github user gatorsmile commented on a diff in the pull request:
https://github.com/apache/spark/pull/20816#discussion_r174302717
--- Diff:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/Optimizer.scala
---
@@ -1071,6 +1072,66 @@ object PushPredicateThroughJoin extends
Rule[LogicalPlan] with PredicateHelper {
}
}
+/**
+ * Infer and transit predicate from the preserved side to the
null-supplying side
+ * of an outer join. The predicate is inferred from the preserved side
based on the
+ * join condition and will be pushed over to the null-supplying side. For
example,
+ * if the preserved side has constraints of the form 'a > 5' and the join
condition
+ * is 'a = b', in which 'b' is an attribute from the null-supplying side,
a [[Filter]]
+ * operator of 'b > 5' will be applied to the null-supplying side.
--- End diff --
I am fine about the rule, but we do not need a new rule.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]