Github user maropu commented on a diff in the pull request:

    https://github.com/apache/spark/pull/22318#discussion_r214688902
  
    --- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala
 ---
    @@ -921,12 +930,16 @@ class Analyzer(
             failAnalysis("Invalid usage of '*' in explode/json_tuple/UDTF")
     
           // To resolve duplicate expression IDs for Join and Intersect
    -      case j @ Join(left, right, _, _) if !j.duplicateResolved =>
    -        j.copy(right = dedupRight(left, right))
    +      case j @ Join(left, right, _, condition) if !j.duplicateResolved =>
    +        val (dedupedRight, attributeRewrites) = dedupRight(left, right)
    +        val changedCondition = condition.map(rewriteJoinCondition(_, 
attributeRewrites))
    --- End diff --
    
    How about this?
    ```
            val changedCondition = condition.map { _.transform {
              case attr: Attribute => attributeRewrites.getOrElse(attr, attr)
            }}
    ```
    Then, removes `rewriteJoinCondition`?


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to