Github user peter-toth commented on a diff in the pull request: https://github.com/apache/spark/pull/22318#discussion_r215504208 --- Diff: sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala --- @@ -921,12 +924,18 @@ 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(_.transform { + case attr: Attribute if attr.resolved => attributeRewrites.getOrElse(attr, attr) --- End diff -- but actually there might be an issue here, instead of `attributeRewrites.getOrElse(attr, attr)` I might need to use `dedupAttr(attr, attributeRewrites)` which retains attribute qualifier
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org