From 6f4aeccf8cdfe0b5bdf77165711a9062a52d9d90 Mon Sep 17 00:00:00 2001 From: Daoyuan Wang Date: Wed, 7 Sep 2016 13:01:27 +0200 Subject: [SPARK-17427][SQL] function SIZE should return -1 when parameter is null ## What changes were proposed in this pull request? `select size(null)` returns -1 in Hive. In order to be compatible, we should return `-1`. ## How was this patch tested? unit test in `CollectionFunctionsSuite` and `DataFrameFunctionsSuite`. Author: Daoyuan Wang Closes #14991 from adrian-wang/size. --- .../spark/sql/catalyst/expressions/CollectionFunctionsSuite.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sql/catalyst/src/test') diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/CollectionFunctionsSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/CollectionFunctionsSuite.scala index a5f784fdcc..c76dad208e 100644 --- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/CollectionFunctionsSuite.scala +++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/CollectionFunctionsSuite.scala @@ -40,8 +40,8 @@ class CollectionFunctionsSuite extends SparkFunSuite with ExpressionEvalHelper { checkEvaluation(Size(m1), 0) checkEvaluation(Size(m2), 1) - checkEvaluation(Literal.create(null, MapType(StringType, StringType)), null) - checkEvaluation(Literal.create(null, ArrayType(StringType)), null) + checkEvaluation(Size(Literal.create(null, MapType(StringType, StringType))), -1) + checkEvaluation(Size(Literal.create(null, ArrayType(StringType))), -1) } test("MapKeys/MapValues") { -- cgit v1.2.3