Github user hvanhovell commented on a diff in the pull request:
https://github.com/apache/spark/pull/21508#discussion_r194023397
--- Diff:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala
---
@@ -1568,11 +1568,13 @@ class Analyzer(
expr.find(_.isInstanceOf[Generator]).isDefined
}
- private def hasNestedGenerator(expr: NamedExpression): Boolean = expr
match {
- case UnresolvedAlias(_: Generator, _) => false
- case Alias(_: Generator, _) => false
- case MultiAlias(_: Generator, _) => false
- case other => hasGenerator(other)
+ private def hasNestedGenerator(expr: NamedExpression): Boolean = {
+ CleanupAliases.trimNonTopLevelAliases(expr) match {
--- End diff --
`CleanupAliases.trimNonTopLevelAliases` only strips `Alias` expressions.
Should we also handle the other two cases?
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]