diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatisticsImpl.java b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatisticsImpl.java index 9c2c9c2..4588e99 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatisticsImpl.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatisticsImpl.java @@ -17,6 +17,9 @@ */ package org.apache.hadoop.hive.ql.io.orc; +import java.sql.Date; +import java.sql.Timestamp; + import org.apache.hadoop.hive.common.type.HiveDecimal; import org.apache.hadoop.hive.serde2.io.DateWritable; import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector; @@ -24,8 +27,6 @@ import org.apache.hadoop.io.BytesWritable; import org.apache.hadoop.io.Text; -import java.sql.Timestamp; - class ColumnStatisticsImpl implements ColumnStatistics { private static final class BooleanStatisticsImpl extends ColumnStatisticsImpl @@ -697,15 +698,15 @@ void merge(ColumnStatisticsImpl other) { private transient final DateWritable maxDate = new DateWritable(); @Override - public DateWritable getMinimum() { + public Date getMinimum() { minDate.set(minimum); - return minDate; + return minDate.get(); } @Override - public DateWritable getMaximum() { + public Date getMaximum() { maxDate.set(maximum); - return maxDate; + return maxDate.get(); } @Override diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/DateColumnStatistics.java b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/DateColumnStatistics.java index 03cdeef..26a7f45 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/DateColumnStatistics.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/DateColumnStatistics.java @@ -17,7 +17,7 @@ */ package org.apache.hadoop.hive.ql.io.orc; -import org.apache.hadoop.hive.serde2.io.DateWritable; +import java.sql.Date; /** * Statistics for DATE columns. @@ -27,11 +27,11 @@ * Get the minimum value for the column. * @return minimum value */ - DateWritable getMinimum(); + Date getMinimum(); /** * Get the maximum value for the column. * @return maximum value */ - DateWritable getMaximum(); + Date getMaximum(); } diff --git a/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestColumnStatistics.java b/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestColumnStatistics.java index 5c7fe60..4d30377 100644 --- a/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestColumnStatistics.java +++ b/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestColumnStatistics.java @@ -20,6 +20,12 @@ import static junit.framework.Assert.assertEquals; +import java.io.File; +import java.io.FileOutputStream; +import java.io.PrintStream; +import java.sql.Timestamp; +import java.util.List; + import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; @@ -35,12 +41,6 @@ import org.junit.Test; import org.junit.rules.TestName; -import java.io.File; -import java.io.FileOutputStream; -import java.io.PrintStream; -import java.sql.Timestamp; -import java.util.List; - /** * Test ColumnStatisticsImpl for ORC. */ @@ -130,14 +130,14 @@ public void testDateMerge() throws Exception { stats2.updateDate(new DateWritable(2000)); stats1.merge(stats2); DateColumnStatistics typed = (DateColumnStatistics) stats1; - assertEquals(new DateWritable(10), typed.getMinimum()); - assertEquals(new DateWritable(2000), typed.getMaximum()); + assertEquals(new DateWritable(10).get(), typed.getMinimum()); + assertEquals(new DateWritable(2000).get(), typed.getMaximum()); stats1.reset(); stats1.updateDate(new DateWritable(-10)); stats1.updateDate(new DateWritable(10000)); stats1.merge(stats2); - assertEquals(-10, typed.getMinimum().getDays()); - assertEquals(10000, typed.getMaximum().getDays()); + assertEquals(new DateWritable(-10).get(), typed.getMinimum()); + assertEquals(new DateWritable(10000).get(), typed.getMaximum()); } @Test