Github user jiangxb1987 commented on a diff in the pull request:
https://github.com/apache/spark/pull/20345#discussion_r163113728
--- Diff:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/joins.scala
---
@@ -84,19 +84,46 @@ object ReorderJoin extends Rule[LogicalPlan] with
PredicateHelper {
}
}
+ private def extractLeftDeepInnerJoins(plan: LogicalPlan):
Seq[LogicalPlan] = plan match {
--- End diff --
It took me a little while to understand that this can handle `(a join b)
join c` versus `a join (b join c)` correctly. Would be great if we can explain
how it works in the function comment.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]