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