aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql')
-rw-r--r--sql/core/src/main/scala/org/apache/spark/sql/execution/Generate.scala5
1 files changed, 3 insertions, 2 deletions
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/Generate.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/Generate.scala
index c386fd121c..38877c28de 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/execution/Generate.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/Generate.scala
@@ -39,7 +39,8 @@ case class Generate(
child: SparkPlan)
extends UnaryNode {
- protected def generatorOutput: Seq[Attribute] = {
+ // This must be a val since the generator output expr ids are not preserved by serialization.
+ protected val generatorOutput: Seq[Attribute] = {
if (join && outer) {
generator.output.map(_.withNullability(true))
} else {
@@ -62,7 +63,7 @@ case class Generate(
newProjection(child.output ++ nullValues, child.output)
val joinProjection =
- newProjection(child.output ++ generator.output, child.output ++ generator.output)
+ newProjection(child.output ++ generatorOutput, child.output ++ generatorOutput)
val joinedRow = new JoinedRow
iter.flatMap {row =>