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) {