diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorColumnAssignFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorColumnAssignFactory.java index 463c8a6..a507e50 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorColumnAssignFactory.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorColumnAssignFactory.java @@ -18,7 +18,6 @@ package org.apache.hadoop.hive.ql.exec.vector; -import java.sql.Timestamp; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -59,7 +58,6 @@ private static abstract class VectorColumnAssignVectorBase implements VectorColumnAssign { - protected VectorizedRowBatch outBatch; protected T outCol; protected void copyValue(T in, int srcIndex, int destIndex) throws HiveException { @@ -91,7 +89,6 @@ public void assignVectorValue(VectorizedRowBatch inBatch, int batchIndex, } public VectorColumnAssign init(VectorizedRowBatch out, T cv) { - this.outBatch = out; this.outCol = cv; return this; } @@ -165,18 +162,6 @@ protected void assignDecimal(HiveDecimalWritable hdw, int index) { } } - private static abstract class VectorTimestampColumnAssign - extends VectorColumnAssignVectorBase { - - protected void assignTimestamp(Timestamp value, int index) { - outCol.set(index, value); - } - protected void assignTimestamp(TimestampWritable tw, int index) { - outCol.set(index, tw.getTimestamp()); - } - } - - public static VectorColumnAssign[] buildAssigners(VectorizedRowBatch outputBatch) throws HiveException { VectorColumnAssign[] vca = new VectorColumnAssign[outputBatch.cols.length]; @@ -324,17 +309,18 @@ public void assignObjectValue(Object val, int destIndex) throws HiveException { }.init(outputBatch, (LongColumnVector) destCol); break; case TIMESTAMP: - outVCA = new VectorTimestampColumnAssign() { + outVCA = new VectorLongColumnAssign() { @Override public void assignObjectValue(Object val, int destIndex) throws HiveException { if (val == null) { assignNull(destIndex); } else { - assignTimestamp((TimestampWritable) val, destIndex); + TimestampWritable bw = (TimestampWritable)val; + assignLong(bw.getTimestamp().getTime(), destIndex); } } - }.init(outputBatch, (TimestampColumnVector) destCol); + }.init(outputBatch, (LongColumnVector) destCol); break; case DATE: outVCA = new VectorLongColumnAssign() {