Github user cloud-fan commented on a diff in the pull request: https://github.com/apache/spark/pull/19683#discussion_r158716569 --- Diff: sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala --- @@ -846,12 +846,13 @@ class Analyzer( // ResolveReferences. Attributes in the output will be resolved by ResolveGenerate. case g @ Generate(generator, _, _, _, _, _) if generator.resolved => g - case g @ Generate(generator, join, outer, qualifier, output, child) => + case g @ Generate(generator, requiredChildOutput, outer, qualifier, output, child) => val newG = resolveExpression(generator, child, throws = true) if (newG.fastEquals(generator)) { g } else { - Generate(newG.asInstanceOf[Generator], join, outer, qualifier, output, child) + Generate(newG.asInstanceOf[Generator], child.output, outer, --- End diff -- we should reserve `requiredChildOutput` here.
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org