diff options
author | Daoyuan Wang <daoyuan.wang@intel.com> | 2014-09-26 12:04:37 -0700 |
---|---|---|
committer | Michael Armbrust <michael@databricks.com> | 2014-09-26 12:04:37 -0700 |
commit | 0ec2d2e8f0c0dc61a7ed6377898846661d2424cd (patch) | |
tree | c93a6ab5dec1a2ac5e9d143d3265edff46fd643f /sql/hive | |
parent | 8da10bf14660f1d5b1dab692cb56b9832ab10d40 (diff) | |
download | spark-0ec2d2e8f0c0dc61a7ed6377898846661d2424cd.tar.gz spark-0ec2d2e8f0c0dc61a7ed6377898846661d2424cd.tar.bz2 spark-0ec2d2e8f0c0dc61a7ed6377898846661d2424cd.zip |
[SPARK-3531][SQL]select null from table would throw a MatchError
Author: Daoyuan Wang <daoyuan.wang@intel.com>
Closes #2396 from adrian-wang/selectnull and squashes the following commits:
2458229 [Daoyuan Wang] rebase solution
Diffstat (limited to 'sql/hive')
3 files changed, 5 insertions, 0 deletions
diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveMetastoreCatalog.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveMetastoreCatalog.scala index 6b4399e852..9a0b9b46ac 100644 --- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveMetastoreCatalog.scala +++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveMetastoreCatalog.scala @@ -244,6 +244,7 @@ object HiveMetastoreTypes extends RegexParsers { case BooleanType => "boolean" case DecimalType => "decimal" case TimestampType => "timestamp" + case NullType => "void" } } diff --git a/sql/hive/src/test/resources/golden/select null from table-0-5bb53cca754cc8afe9cd22feb8c586d1 b/sql/hive/src/test/resources/golden/select null from table-0-5bb53cca754cc8afe9cd22feb8c586d1 new file mode 100644 index 0000000000..7951defec1 --- /dev/null +++ b/sql/hive/src/test/resources/golden/select null from table-0-5bb53cca754cc8afe9cd22feb8c586d1 @@ -0,0 +1 @@ +NULL diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveQuerySuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveQuerySuite.scala index 426f5fcee6..2f876cafaf 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveQuerySuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveQuerySuite.scala @@ -330,6 +330,9 @@ class HiveQuerySuite extends HiveComparisonTest { createQueryTest("timestamp cast #8", "SELECT CAST(CAST(-1.2 AS TIMESTAMP) AS DOUBLE) FROM src LIMIT 1") + createQueryTest("select null from table", + "SELECT null FROM src LIMIT 1") + test("implement identity function using case statement") { val actual = sql("SELECT (CASE key WHEN key THEN key END) FROM src") .map { case Row(i: Int) => i } |