aboutsummaryrefslogtreecommitdiff
path: root/sql/catalyst/src
diff options
context:
space:
mode:
author岑玉海 <261810726@qq.com>2016-09-15 20:45:00 +0200
committerHerman van Hovell <hvanhovell@databricks.com>2016-09-15 20:45:00 +0200
commitfe767395ff46ee6236cf53aece85fcd61c0b49d3 (patch)
treec949f04e48ad9dba3fc9e2ccc7e46f453661e7ac /sql/catalyst/src
parentd403562eb4b5b1d804909861d3e8b75d8f6323b9 (diff)
downloadspark-fe767395ff46ee6236cf53aece85fcd61c0b49d3.tar.gz
spark-fe767395ff46ee6236cf53aece85fcd61c0b49d3.tar.bz2
spark-fe767395ff46ee6236cf53aece85fcd61c0b49d3.zip
[SPARK-17429][SQL] use ImplicitCastInputTypes with function Length
## What changes were proposed in this pull request? select length(11); select length(2.0); these sql will return errors, but hive is ok. this PR will support casting input types implicitly for function length the correct result is: select length(11) return 2 select length(2.0) return 3 Author: 岑玉海 <261810726@qq.com> Author: cenyuhai <cenyuhai@didichuxing.com> Closes #15014 from cenyuhai/SPARK-17429.
Diffstat (limited to 'sql/catalyst/src')
-rw-r--r--sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringExpressions.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringExpressions.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringExpressions.scala
index a8c23a8b0c..1bcbb6cfc9 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringExpressions.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringExpressions.scala
@@ -1057,7 +1057,7 @@ case class Substring(str: Expression, pos: Expression, len: Expression)
@ExpressionDescription(
usage = "_FUNC_(str | binary) - Returns the length of str or number of bytes in binary data.",
extended = "> SELECT _FUNC_('Spark SQL');\n 9")
-case class Length(child: Expression) extends UnaryExpression with ExpectsInputTypes {
+case class Length(child: Expression) extends UnaryExpression with ImplicitCastInputTypes {
override def dataType: DataType = IntegerType
override def inputTypes: Seq[AbstractDataType] = Seq(TypeCollection(StringType, BinaryType))