diff options
author | Takuya UESHIN <ueshin@happy-camper.st> | 2014-06-05 12:00:31 -0700 |
---|---|---|
committer | Michael Armbrust <michael@databricks.com> | 2014-06-05 12:00:31 -0700 |
commit | e4c11eef2f64df0b6a432f40b669486d91ca6352 (patch) | |
tree | e37a9e5d1d19bda9d31d1e37b75eb41f08df5c38 /sql/catalyst | |
parent | 89cdbb087cb2f0d03be2dd77440300c6bd61c792 (diff) | |
download | spark-e4c11eef2f64df0b6a432f40b669486d91ca6352.tar.gz spark-e4c11eef2f64df0b6a432f40b669486d91ca6352.tar.bz2 spark-e4c11eef2f64df0b6a432f40b669486d91ca6352.zip |
[SPARK-2036] [SQL] CaseConversionExpression should check if the evaluated value is null.
`CaseConversionExpression` should check if the evaluated value is `null`.
Author: Takuya UESHIN <ueshin@happy-camper.st>
Closes #982 from ueshin/issues/SPARK-2036 and squashes the following commits:
61e1c54 [Takuya UESHIN] Add check if the evaluated value is null.
Diffstat (limited to 'sql/catalyst')
-rw-r--r-- | sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringOperations.scala | 8 |
1 files changed, 6 insertions, 2 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 dcded07741..4203034084 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 @@ -81,8 +81,12 @@ trait CaseConversionExpression { def dataType: DataType = StringType override def eval(input: Row): Any = { - val converted = child.eval(input) - convert(converted.toString) + val evaluated = child.eval(input) + if (evaluated == null) { + null + } else { + convert(evaluated.toString) + } } } |