aboutsummaryrefslogtreecommitdiff
path: root/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/ScalaReflection.scala
diff options
context:
space:
mode:
authorJakob Odersky <jakob@odersky.com>2016-09-28 14:19:26 -0700
committerJakob Odersky <jakob@odersky.com>2016-09-28 14:48:52 -0700
commita3dce9f5f9ced492fa6f20b93497856fd51fc757 (patch)
tree80c68fb70479fe68c12d06d462891ede459240f3 /sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/ScalaReflection.scala
parent46d1203bf2d01b219c4efc7e0e77a844c0c664da (diff)
downloadspark-value-classes.tar.gz
spark-value-classes.tar.bz2
spark-value-classes.zip
Add support for value class serialization and deserializationvalue-classes
Value classes were unsupported because catalyst data types were obtained through reflection on erased types, which would resolve to a value class' wrapped type and hence lead to unavailable methods during code generation. This patch simply removes the erasure step when getting data types for catalyst.
Diffstat (limited to 'sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/ScalaReflection.scala')
-rw-r--r--sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/ScalaReflection.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/ScalaReflection.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/ScalaReflection.scala
index 7923cfce82..31c6e5def1 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/ScalaReflection.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/ScalaReflection.scala
@@ -628,7 +628,7 @@ object ScalaReflection extends ScalaReflection {
/*
* Retrieves the runtime class corresponding to the provided type.
*/
- def getClassFromType(tpe: Type): Class[_] = mirror.runtimeClass(tpe.erasure.typeSymbol.asClass)
+ def getClassFromType(tpe: Type): Class[_] = mirror.runtimeClass(tpe.typeSymbol.asClass)
case class Schema(dataType: DataType, nullable: Boolean)