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: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to