aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiang-Chi Hsieh <viirya@gmail.com>2015-03-04 20:23:43 +0800
committerCheng Lian <lian@databricks.com>2015-03-04 20:23:43 +0800
commitaef8a84e42351419a67d56abaf1ee75a05eb11ea (patch)
tree14c30a31fa52c816d1168f8e73e5e3c73eb23c26
parent76b472f12a57bb5bec7b3791660eb47e9177da7f (diff)
downloadspark-aef8a84e42351419a67d56abaf1ee75a05eb11ea.tar.gz
spark-aef8a84e42351419a67d56abaf1ee75a05eb11ea.tar.bz2
spark-aef8a84e42351419a67d56abaf1ee75a05eb11ea.zip
[SPARK-6134][SQL] Fix wrong datatype for casting FloatType and default LongType value in defaultPrimitive
In `CodeGenerator`, the casting on `FloatType` should use `FloatType` instead of `IntegerType`. Besides, `defaultPrimitive` for `LongType` should be `-1L` instead of `1L`. Author: Liang-Chi Hsieh <viirya@gmail.com> Closes #4870 from viirya/codegen_type and squashes the following commits: 76311dd [Liang-Chi Hsieh] Fix wrong datatype for casting on FloatType. Fix the wrong value for LongType in defaultPrimitive.
-rw-r--r--sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala
index c347780924..e48b8cde20 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala
@@ -259,7 +259,7 @@ abstract class CodeGenerator[InType <: AnyRef, OutType <: AnyRef] extends Loggin
child.castOrNull(c => q"$c.toDouble", DoubleType)
case Cast(child @ NumericType(), FloatType) =>
- child.castOrNull(c => q"$c.toFloat", IntegerType)
+ child.castOrNull(c => q"$c.toFloat", FloatType)
// Special handling required for timestamps in hive test cases since the toString function
// does not match the expected output.
@@ -626,7 +626,7 @@ abstract class CodeGenerator[InType <: AnyRef, OutType <: AnyRef] extends Loggin
case FloatType => ru.Literal(Constant(-1.0.toFloat))
case StringType => ru.Literal(Constant("<uninit>"))
case ShortType => ru.Literal(Constant(-1.toShort))
- case LongType => ru.Literal(Constant(1L))
+ case LongType => ru.Literal(Constant(-1L))
case ByteType => ru.Literal(Constant(-1.toByte))
case DoubleType => ru.Literal(Constant(-1.toDouble))
case DecimalType() => q"org.apache.spark.sql.types.Decimal(-1)"