Skip to content

Commit 22036ae

Browse files
lianchengrxin
authored andcommitted
[BUGFIX][SQL] Should match java.math.BigDecimal when wnrapping Hive output
The `BigDecimal` branch in `unwrap` matches to `scala.math.BigDecimal` rather than `java.math.BigDecimal`. Author: Cheng Lian <[email protected]> Closes #1199 from liancheng/javaBigDecimal and squashes the following commits: e9bb481 [Cheng Lian] Should match java.math.BigDecimal when wnrapping Hive output
1 parent 8fade89 commit 22036ae

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

sql/hive/src/main/scala/org/apache/spark/sql/hive/hiveUdfs.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ private[hive] object HiveFunctionRegistry
8484
case c: Class[_] if c == classOf[hadoopIo.FloatWritable] => FloatType
8585
case c: Class[_] if c == classOf[hadoopIo.BooleanWritable] => BooleanType
8686
case c: Class[_] if c == classOf[hadoopIo.BytesWritable] => BinaryType
87-
87+
8888
// java class
8989
case c: Class[_] if c == classOf[java.lang.String] => StringType
9090
case c: Class[_] if c == classOf[java.sql.Timestamp] => TimestampType
@@ -98,7 +98,7 @@ private[hive] object HiveFunctionRegistry
9898
case c: Class[_] if c == classOf[java.lang.Byte] => ByteType
9999
case c: Class[_] if c == classOf[java.lang.Float] => FloatType
100100
case c: Class[_] if c == classOf[java.lang.Boolean] => BooleanType
101-
101+
102102
// primitive type
103103
case c: Class[_] if c == java.lang.Short.TYPE => ShortType
104104
case c: Class[_] if c == java.lang.Integer.TYPE => IntegerType
@@ -107,7 +107,7 @@ private[hive] object HiveFunctionRegistry
107107
case c: Class[_] if c == java.lang.Byte.TYPE => ByteType
108108
case c: Class[_] if c == java.lang.Float.TYPE => FloatType
109109
case c: Class[_] if c == java.lang.Boolean.TYPE => BooleanType
110-
110+
111111
case c: Class[_] if c.isArray => ArrayType(javaClassToDataType(c.getComponentType))
112112
}
113113
}
@@ -148,7 +148,7 @@ private[hive] trait HiveFunctionFactory {
148148
case p: java.lang.Byte => p
149149
case p: java.lang.Boolean => p
150150
case str: String => str
151-
case p: BigDecimal => p
151+
case p: java.math.BigDecimal => p
152152
case p: Array[Byte] => p
153153
case p: java.sql.Timestamp => p
154154
}

0 commit comments

Comments
 (0)