Repository: spark
Updated Branches:
  refs/heads/master a140dd77c -> e1d7f6429


[SPARK-10472] [SQL] Fixes DataType.typeName for UDT

Before this fix, `MyDenseVectorUDT.typeName` gives `mydensevecto`, which is not 
desirable.

Author: Cheng Lian <l...@databricks.com>

Closes #8640 from liancheng/spark-10472/udt-type-name.


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/e1d7f642
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/e1d7f642
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/e1d7f642

Branch: refs/heads/master
Commit: e1d7f64296d8164cc4c935aa524af664f63bf9c1
Parents: a140dd7
Author: Cheng Lian <l...@databricks.com>
Authored: Fri Sep 11 18:26:56 2015 +0800
Committer: Cheng Lian <l...@databricks.com>
Committed: Fri Sep 11 18:26:56 2015 +0800

----------------------------------------------------------------------
 .../src/main/scala/org/apache/spark/sql/types/DataType.scala   | 4 +++-
 .../test/scala/org/apache/spark/sql/UserDefinedTypeSuite.scala | 6 ++++++
 2 files changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/e1d7f642/sql/catalyst/src/main/scala/org/apache/spark/sql/types/DataType.scala
----------------------------------------------------------------------
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 7bcd623..4b54c31 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
 

http://git-wip-us.apache.org/repos/asf/spark/blob/e1d7f642/sql/core/src/test/scala/org/apache/spark/sql/UserDefinedTypeSuite.scala
----------------------------------------------------------------------
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 fa8f9c8..46d8784 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")
+  }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org
For additional commands, e-mail: commits-h...@spark.apache.org

Reply via email to