aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavies Liu <davies@databricks.com>2015-08-19 13:43:04 -0700
committerReynold Xin <rxin@databricks.com>2015-08-19 13:43:20 -0700
commit1038f677be8ad0b7dac6e21e171ce1d88ccdee48 (patch)
tree1aa162fc94deb1ebee35f80bea50eada385e12c8
parent8c0a5a2485d899e9a58d431b395d2a3f3bf4c5c1 (diff)
downloadspark-1038f677be8ad0b7dac6e21e171ce1d88ccdee48.tar.gz
spark-1038f677be8ad0b7dac6e21e171ce1d88ccdee48.tar.bz2
spark-1038f677be8ad0b7dac6e21e171ce1d88ccdee48.zip
[SPARK-10107] [SQL] fix NPE in format_number
Author: Davies Liu <davies@databricks.com> Closes #8305 from davies/format_number. (cherry picked from commit e05da5cb5ea253e6372f648fc8203204f2a8df8d) Signed-off-by: Reynold Xin <rxin@databricks.com>
-rw-r--r--sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringOperations.scala2
-rw-r--r--sql/core/src/test/scala/org/apache/spark/sql/StringFunctionsSuite.scala4
2 files changed, 3 insertions, 3 deletions
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringOperations.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringOperations.scala
index 134f1aa2af..ca044d3e95 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringOperations.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringOperations.scala
@@ -1306,8 +1306,8 @@ case class FormatNumber(x: Expression, d: Expression)
$df $dFormat = new $df($pattern.toString());
$lastDValue = $d;
$numberFormat.applyPattern($dFormat.toPattern());
- ${ev.primitive} = UTF8String.fromString($numberFormat.format(${typeHelper(num)}));
}
+ ${ev.primitive} = UTF8String.fromString($numberFormat.format(${typeHelper(num)}));
} else {
${ev.primitive} = null;
${ev.isNull} = true;
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/StringFunctionsSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/StringFunctionsSuite.scala
index cc95eede00..b91438baea 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/StringFunctionsSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/StringFunctionsSuite.scala
@@ -348,9 +348,9 @@ class StringFunctionsSuite extends QueryTest with SharedSQLContext {
// it will still use the interpretProjection if projection follows by a LocalRelation,
// hence we add a filter operator.
// See the optimizer rule `ConvertToLocalRelation`
- val df2 = Seq((5L, 4), (4L, 3), (3L, 2)).toDF("a", "b")
+ val df2 = Seq((5L, 4), (4L, 3), (4L, 3), (4L, 3), (3L, 2)).toDF("a", "b")
checkAnswer(
df2.filter("b>0").selectExpr("format_number(a, b)"),
- Row("5.0000") :: Row("4.000") :: Row("3.00") :: Nil)
+ Row("5.0000") :: Row("4.000") :: Row("4.000") :: Row("4.000") :: Row("3.00") :: Nil)
}
}