You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jd...@apache.org on 2014/10/28 18:46:20 UTC

svn commit: r1634933 - in /hive/branches/branch-0.14: ql/src/test/queries/clientpositive/ ql/src/test/results/clientpositive/ serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/

Author: jdere
Date: Tue Oct 28 17:46:20 2014
New Revision: 1634933

URL: http://svn.apache.org/r1634933
Log:
HIVE-8321: Fix serialization of TypeInfo for qualified types (Jason Dere, reviewed by Ashutosh Chauhan)

Added:
    hive/branches/branch-0.14/ql/src/test/queries/clientpositive/cast_qualified_types.q
    hive/branches/branch-0.14/ql/src/test/results/clientpositive/cast_qualified_types.q.out
Modified:
    hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/BaseCharTypeInfo.java
    hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/CharTypeInfo.java
    hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/DecimalTypeInfo.java
    hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/VarcharTypeInfo.java

Added: hive/branches/branch-0.14/ql/src/test/queries/clientpositive/cast_qualified_types.q
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.14/ql/src/test/queries/clientpositive/cast_qualified_types.q?rev=1634933&view=auto
==============================================================================
--- hive/branches/branch-0.14/ql/src/test/queries/clientpositive/cast_qualified_types.q (added)
+++ hive/branches/branch-0.14/ql/src/test/queries/clientpositive/cast_qualified_types.q Tue Oct 28 17:46:20 2014
@@ -0,0 +1,9 @@
+set hive.plan.serialization.format=javaXML;
+
+select
+  cast(key as decimal(10,2)) as c1,
+  cast(key as char(10)) as c2,
+  cast(key as varchar(10)) as c3
+from src
+order by c1, c2, c3
+limit 1;

Added: hive/branches/branch-0.14/ql/src/test/results/clientpositive/cast_qualified_types.q.out
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.14/ql/src/test/results/clientpositive/cast_qualified_types.q.out?rev=1634933&view=auto
==============================================================================
--- hive/branches/branch-0.14/ql/src/test/results/clientpositive/cast_qualified_types.q.out (added)
+++ hive/branches/branch-0.14/ql/src/test/results/clientpositive/cast_qualified_types.q.out Tue Oct 28 17:46:20 2014
@@ -0,0 +1,21 @@
+PREHOOK: query: select
+  cast(key as decimal(10,2)) as c1,
+  cast(key as char(10)) as c2,
+  cast(key as varchar(10)) as c3
+from src
+order by c1, c2, c3
+limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  cast(key as decimal(10,2)) as c1,
+  cast(key as char(10)) as c2,
+  cast(key as varchar(10)) as c3
+from src
+order by c1, c2, c3
+limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+0	0         	0

Modified: hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/BaseCharTypeInfo.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/BaseCharTypeInfo.java?rev=1634933&r1=1634932&r2=1634933&view=diff
==============================================================================
--- hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/BaseCharTypeInfo.java (original)
+++ hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/BaseCharTypeInfo.java Tue Oct 28 17:46:20 2014
@@ -27,6 +27,10 @@ public abstract class BaseCharTypeInfo e
   public BaseCharTypeInfo() {
   }
 
+  public BaseCharTypeInfo(String typeName) {
+    super(typeName);
+  }
+
   public BaseCharTypeInfo(String typeName, int length) {
     super(typeName);
     this.length = length;
@@ -53,4 +57,9 @@ public abstract class BaseCharTypeInfo e
     return sb.toString();
   }
 
+  @Override
+  public void setTypeName(String typeName) {
+    // type name should already be set by subclass
+    return;
+  }
 }

Modified: hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/CharTypeInfo.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/CharTypeInfo.java?rev=1634933&r1=1634932&r2=1634933&view=diff
==============================================================================
--- hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/CharTypeInfo.java (original)
+++ hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/CharTypeInfo.java Tue Oct 28 17:46:20 2014
@@ -25,6 +25,7 @@ public class CharTypeInfo  extends BaseC
 
   // no-arg constructor to make kyro happy.
   public CharTypeInfo() {
+    super(serdeConstants.CHAR_TYPE_NAME);
   }
 
   public CharTypeInfo(int length) {

Modified: hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/DecimalTypeInfo.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/DecimalTypeInfo.java?rev=1634933&r1=1634932&r2=1634933&view=diff
==============================================================================
--- hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/DecimalTypeInfo.java (original)
+++ hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/DecimalTypeInfo.java Tue Oct 28 17:46:20 2014
@@ -28,6 +28,7 @@ public class DecimalTypeInfo extends Pri
 
   // no-arg constructor to make kyro happy.
   public DecimalTypeInfo() {
+    super(serdeConstants.DECIMAL_TYPE_NAME);
   }
 
   public DecimalTypeInfo(int precision, int scale) {
@@ -43,6 +44,12 @@ public class DecimalTypeInfo extends Pri
   }
 
   @Override
+  public void setTypeName(String typeName) {
+    // No need to set type name, it should always be decimal
+    return;
+  }
+
+  @Override
   public boolean equals(Object other) {
     if (other == null || !(other instanceof DecimalTypeInfo)) {
       return false;
@@ -101,4 +108,20 @@ public class DecimalTypeInfo extends Pri
     return this.precision() - this.scale() >= dti.precision() - dti.scale();
   }
 
+  public int getPrecision() {
+    return precision;
+  }
+
+  public void setPrecision(int precision) {
+    this.precision = precision;
+  }
+
+  public int getScale() {
+    return scale;
+  }
+
+  public void setScale(int scale) {
+    this.scale = scale;
+  }
+
 }

Modified: hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/VarcharTypeInfo.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/VarcharTypeInfo.java?rev=1634933&r1=1634932&r2=1634933&view=diff
==============================================================================
--- hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/VarcharTypeInfo.java (original)
+++ hive/branches/branch-0.14/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/VarcharTypeInfo.java Tue Oct 28 17:46:20 2014
@@ -25,6 +25,7 @@ public class VarcharTypeInfo extends Bas
 
   // no-arg constructor to make kyro happy.
   public VarcharTypeInfo() {
+    super(serdeConstants.VARCHAR_TYPE_NAME);
   }
 
   public VarcharTypeInfo(int length) {