aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorCheng Lian <lian@databricks.com>2015-09-11 18:26:56 +0800
committerCheng Lian <lian@databricks.com>2015-09-11 18:26:56 +0800
commite1d7f64296d8164cc4c935aa524af664f63bf9c1 (patch)
tree809a01de78c84eefa3a777701dfacf9acac45230 /sql
parenta140dd77c62255d6f7f6817a2517d47feb8540d4 (diff)
downloadspark-e1d7f64296d8164cc4c935aa524af664f63bf9c1.tar.gz
spark-e1d7f64296d8164cc4c935aa524af664f63bf9c1.tar.bz2
spark-e1d7f64296d8164cc4c935aa524af664f63bf9c1.zip
[SPARK-10472] [SQL] Fixes DataType.typeName for UDT
Before this fix, `MyDenseVectorUDT.typeName` gives `mydensevecto`, which is not desirable. Author: Cheng Lian <lian@databricks.com> Closes #8640 from liancheng/spark-10472/udt-type-name.
Diffstat (limited to 'sql')
-rw-r--r--sql/catalyst/src/main/scala/org/apache/spark/sql/types/DataType.scala4
-rw-r--r--sql/core/src/test/scala/org/apache/spark/sql/UserDefinedTypeSuite.scala6
2 files changed, 9 insertions, 1 deletions
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/types/DataType.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/types/DataType.scala
index 7bcd623b3f..4b54c31dcc 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/types/DataType.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/types/DataType.scala
@@ -51,7 +51,9 @@ abstract class DataType extends AbstractDataType {
def defaultSize: Int
/** Name of the type used in JSON serialization. */
- def typeName: String = this.getClass.getSimpleName.stripSuffix("$").dropRight(4).toLowerCase
+ def typeName: String = {
+ this.getClass.getSimpleName.stripSuffix("$").stripSuffix("Type").stripSuffix("UDT").toLowerCase
+ }
private[sql] def jsonValue: JValue = typeName
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/UserDefinedTypeSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/UserDefinedTypeSuite.scala
index fa8f9c8e00..46d87843df 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/UserDefinedTypeSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/UserDefinedTypeSuite.scala
@@ -157,4 +157,10 @@ class UserDefinedTypeSuite extends QueryTest with SharedSQLContext {
Nil
)
}
+
+ test("SPARK-10472 UserDefinedType.typeName") {
+ assert(IntegerType.typeName === "integer")
+ assert(new MyDenseVectorUDT().typeName === "mydensevector")
+ assert(new OpenHashSetUDT(IntegerType).typeName === "openhashset")
+ }
}