Author: jitendra
Date: Sat Mar 29 05:30:56 2014
New Revision: 1582957
URL: http://svn.apache.org/r1582957
Log:
HIVE-6662: Vector Join operations with DATE columns fail. (Gopal V via jitendra)
Modified:
hive/branches/branch-0.13/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorColumnAssignFactory.java
Modified:
hive/branches/branch-0.13/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorColumnAssignFactory.java
URL:
http://svn.apache.org/viewvc/hive/branches/branch-0.13/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorColumnAssignFactory.java?rev=1582957&r1=1582956&r2=1582957&view=diff
==============================================================================
---
hive/branches/branch-0.13/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorColumnAssignFactory.java
(original)
+++
hive/branches/branch-0.13/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorColumnAssignFactory.java
Sat Mar 29 05:30:56 2014
@@ -20,6 +20,7 @@ package org.apache.hadoop.hive.ql.exec.v
import java.sql.Timestamp;
import java.util.Arrays;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -27,6 +28,7 @@ import org.apache.hadoop.hive.common.typ
import org.apache.hadoop.hive.common.type.HiveDecimal;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
+import org.apache.hadoop.hive.serde2.io.DateWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
@@ -302,6 +304,20 @@ public class VectorColumnAssignFactory {
}
}.init(outputBatch, (LongColumnVector) destCol);
break;
+ case DATE:
+ outVCA = new VectorLongColumnAssign() {
+ @Override
+ public void assignObjectValue(Object val, int destIndex) throws
HiveException {
+ if (val == null) {
+ assignNull(destIndex);
+ }
+ else {
+ DateWritable bw = (DateWritable) val;
+ assignLong(bw.getDays(), destIndex);
+ }
+ }
+ }.init(outputBatch, (LongColumnVector) destCol);
+ break;
default:
throw new HiveException("Incompatible Long vector column and primitive
category " +
poi.getPrimitiveCategory());