aboutsummaryrefslogtreecommitdiff
path: root/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/JavaTypeInference.scala
diff options
context:
space:
mode:
Diffstat (limited to 'sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/JavaTypeInference.scala')
-rw-r--r--sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/JavaTypeInference.scala27
1 files changed, 13 insertions, 14 deletions
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/JavaTypeInference.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/JavaTypeInference.scala
index 9d4617dda5..86a73a319e 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/JavaTypeInference.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/JavaTypeInference.scala
@@ -204,20 +204,19 @@ object JavaTypeInference {
typeToken.getRawType match {
case c if !inferExternalType(c).isInstanceOf[ObjectType] => getPath
- case c if c == classOf[java.lang.Short] =>
- NewInstance(c, getPath :: Nil, ObjectType(c))
- case c if c == classOf[java.lang.Integer] =>
- NewInstance(c, getPath :: Nil, ObjectType(c))
- case c if c == classOf[java.lang.Long] =>
- NewInstance(c, getPath :: Nil, ObjectType(c))
- case c if c == classOf[java.lang.Double] =>
- NewInstance(c, getPath :: Nil, ObjectType(c))
- case c if c == classOf[java.lang.Byte] =>
- NewInstance(c, getPath :: Nil, ObjectType(c))
- case c if c == classOf[java.lang.Float] =>
- NewInstance(c, getPath :: Nil, ObjectType(c))
- case c if c == classOf[java.lang.Boolean] =>
- NewInstance(c, getPath :: Nil, ObjectType(c))
+ case c if c == classOf[java.lang.Short] ||
+ c == classOf[java.lang.Integer] ||
+ c == classOf[java.lang.Long] ||
+ c == classOf[java.lang.Double] ||
+ c == classOf[java.lang.Float] ||
+ c == classOf[java.lang.Byte] ||
+ c == classOf[java.lang.Boolean] =>
+ StaticInvoke(
+ c,
+ ObjectType(c),
+ "valueOf",
+ getPath :: Nil,
+ propagateNull = true)
case c if c == classOf[java.sql.Date] =>
StaticInvoke(