diff options
author | Jakob Odersky <jakob@odersky.com> | 2016-09-28 14:19:26 -0700 |
---|---|---|
committer | Jakob Odersky <jakob@odersky.com> | 2016-09-28 14:48:52 -0700 |
commit | a3dce9f5f9ced492fa6f20b93497856fd51fc757 (patch) | |
tree | 80c68fb70479fe68c12d06d462891ede459240f3 /sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/ScalaReflection.scala | |
parent | 46d1203bf2d01b219c4efc7e0e77a844c0c664da (diff) | |
download | spark-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.scala | 2 |
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) |