Github user rxin commented on a diff in the pull request:
https://github.com/apache/spark/pull/10542#discussion_r48676822
--- Diff:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/Optimizer.scala
---
@@ -769,6 +770,63 @@ object ReorderJoin extends Rule[LogicalPlan] with
PredicateHelper {
}
/**
+ * Conversion of outer joins, if the local predicates can restrict the
result sets so that
+ * all null-supplying rows are eliminated
+ *
+ * - full outer -> inner if both sides have such local predicates
+ * - left outer -> inner if the right side has such local predicates
+ * - right outer -> inner if the left side has such local predicates
+ * - full outer -> left outer if only the left side has such local
predicates
+ * - full outer -> right outer if only the right side has such local
predicates
+ *
+ * This rule should be executed before pushing down the Filter
+ */
+object OuterJoinConversion extends Rule[LogicalPlan] with PredicateHelper {
--- End diff --
is there a better name for this? this is a form of strength reduction right?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]