Repository: spark
Updated Branches:
  refs/heads/master 9f7db3486 -> 3083e1764


[QUICKFIX] [SQL] fix copy of generated row

copy() of generated Row doesn't check nullability of columns

Author: Davies Liu <dav...@databricks.com>

Closes #7163 from davies/fix_copy and squashes the following commits:

661a206 [Davies Liu] fix copy of generated row


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/3083e176
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/3083e176
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/3083e176

Branch: refs/heads/master
Commit: 3083e17645e4b707646fe48e406e02c156a0f37b
Parents: 9f7db34
Author: Davies Liu <dav...@databricks.com>
Authored: Wed Jul 1 12:39:57 2015 -0700
Committer: Davies Liu <dav...@databricks.com>
Committed: Wed Jul 1 12:39:57 2015 -0700

----------------------------------------------------------------------
 .../sql/catalyst/expressions/codegen/GenerateProjection.scala     | 2 +-
 .../spark/sql/catalyst/expressions/ExpressionEvalHelper.scala     | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/3083e176/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateProjection.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateProjection.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateProjection.scala
index 5be4717..3c7ee9c 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateProjection.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateProjection.scala
@@ -148,7 +148,7 @@ object GenerateProjection extends 
CodeGenerator[Seq[Expression], Projection] {
     }.mkString("\n")
 
     val copyColumns = expressions.zipWithIndex.map { case (e, i) =>
-        s"""arr[$i] = c$i;"""
+        s"""if (!nullBits[$i]) arr[$i] = c$i;"""
     }.mkString("\n      ")
 
     val code = s"""

http://git-wip-us.apache.org/repos/asf/spark/blob/3083e176/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/ExpressionEvalHelper.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/ExpressionEvalHelper.scala
 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/ExpressionEvalHelper.scala
index 7d95ef7..3171caf 100644
--- 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/ExpressionEvalHelper.scala
+++ 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/ExpressionEvalHelper.scala
@@ -136,6 +136,9 @@ trait ExpressionEvalHelper {
       val input = if (inputRow == EmptyRow) "" else s", input: $inputRow"
       fail(s"Incorrect Evaluation: $expression, actual: $actual, expected: 
$expected$input")
     }
+    if (actual.copy() != expectedRow) {
+      fail(s"Copy of generated Row is wrong: actual: ${actual.copy()}, 
expected: $expectedRow")
+    }
   }
 
   protected def checkEvaluationWithOptimization(


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org
For additional commands, e-mail: commits-h...@spark.apache.org

Reply via email to