You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jc...@apache.org on 2018/06/28 15:45:11 UTC
[27/34] hive git commit: HIVE-20007: Hive should carry out timestamp
computations in UTC (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcFile.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcFile.java b/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcFile.java
index dc0da9c..97d4fc6 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcFile.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcFile.java
@@ -25,11 +25,8 @@ import static junit.framework.Assert.assertTrue;
import java.io.File;
import java.io.IOException;
-import java.math.BigDecimal;
import java.math.BigInteger;
import java.nio.ByteBuffer;
-import java.sql.Date;
-import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -43,16 +40,18 @@ import com.google.common.primitives.Longs;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hive.common.type.Date;
import org.apache.hadoop.hive.common.type.HiveDecimal;
+import org.apache.hadoop.hive.common.type.Timestamp;
import org.apache.hadoop.hive.ql.io.sarg.PredicateLeaf;
import org.apache.hadoop.hive.ql.io.sarg.SearchArgument;
import org.apache.hadoop.hive.ql.io.sarg.SearchArgumentFactory;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
-import org.apache.hadoop.hive.serde2.io.DateWritable;
+import org.apache.hadoop.hive.serde2.io.DateWritableV2;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
-import org.apache.hadoop.hive.serde2.io.TimestampWritable;
+import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
import org.apache.hadoop.hive.serde2.objectinspector.ListObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.MapObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
@@ -542,7 +541,7 @@ public class TestOrcFile {
while (rows.hasNext()) {
Object row = rows.next(null);
Timestamp tlistTimestamp = tslist.get(idx++);
- if (tlistTimestamp.getNanos() != ((TimestampWritable) row).getNanos()) {
+ if (tlistTimestamp.getNanos() != ((TimestampWritableV2) row).getNanos()) {
assertTrue(false);
}
}
@@ -1312,10 +1311,10 @@ public class TestOrcFile {
for (int year = minYear; year < maxYear; ++year) {
for (int ms = 1000; ms < 2000; ++ms) {
row.setFieldValue(0,
- new TimestampWritable(Timestamp.valueOf(year + "-05-05 12:34:56."
+ new TimestampWritableV2(Timestamp.valueOf(year + "-05-05 12:34:56."
+ ms)));
row.setFieldValue(1,
- new DateWritable(new Date(year - 1900, 11, 25)));
+ new DateWritableV2(Date.of(year - 1900, 11, 25)));
writer.addRow(row);
}
}
@@ -1326,10 +1325,10 @@ public class TestOrcFile {
for (int year = minYear; year < maxYear; ++year) {
for(int ms = 1000; ms < 2000; ++ms) {
row = (OrcStruct) rows.next(row);
- assertEquals(new TimestampWritable
+ assertEquals(new TimestampWritableV2
(Timestamp.valueOf(year + "-05-05 12:34:56." + ms)),
row.getFieldValue(0));
- assertEquals(new DateWritable(new Date(year - 1900, 11, 25)),
+ assertEquals(new DateWritableV2(Date.of(year - 1900, 11, 25)),
row.getFieldValue(1));
}
}
@@ -1383,12 +1382,12 @@ public class TestOrcFile {
OrcStruct row = new OrcStruct(3);
OrcUnion union = new OrcUnion();
row.setFieldValue(1, union);
- row.setFieldValue(0, new TimestampWritable(Timestamp.valueOf("2000-03-12 15:00:00")));
+ row.setFieldValue(0, new TimestampWritableV2(Timestamp.valueOf("2000-03-12 15:00:00")));
HiveDecimal value = HiveDecimal.create("12345678.6547456");
row.setFieldValue(2, new HiveDecimalWritable(value));
union.set((byte) 0, new IntWritable(42));
writer.addRow(row);
- row.setFieldValue(0, new TimestampWritable(Timestamp.valueOf("2000-03-20 12:00:00.123456789")));
+ row.setFieldValue(0, new TimestampWritableV2(Timestamp.valueOf("2000-03-20 12:00:00.123456789")));
union.set((byte) 1, new Text("hello"));
value = HiveDecimal.create("-5643.234");
row.setFieldValue(2, new HiveDecimalWritable(value));
@@ -1403,14 +1402,14 @@ public class TestOrcFile {
union.set((byte) 1, null);
writer.addRow(row);
union.set((byte) 0, new IntWritable(200000));
- row.setFieldValue(0, new TimestampWritable
+ row.setFieldValue(0, new TimestampWritableV2
(Timestamp.valueOf("1970-01-01 00:00:00")));
value = HiveDecimal.create("10000000000000000000");
row.setFieldValue(2, new HiveDecimalWritable(value));
writer.addRow(row);
Random rand = new Random(42);
for(int i=1970; i < 2038; ++i) {
- row.setFieldValue(0, new TimestampWritable(Timestamp.valueOf(i +
+ row.setFieldValue(0, new TimestampWritableV2(Timestamp.valueOf(i +
"-05-05 12:34:56." + i)));
if ((i & 1) == 0) {
union.set((byte) 0, new IntWritable(i*i));
@@ -1490,7 +1489,7 @@ public class TestOrcFile {
inspector = reader.getObjectInspector();
assertEquals("struct<time:timestamp,union:uniontype<int,string>,decimal:decimal(38,18)>",
inspector.getTypeName());
- assertEquals(new TimestampWritable(Timestamp.valueOf("2000-03-12 15:00:00")),
+ assertEquals(new TimestampWritableV2(Timestamp.valueOf("2000-03-12 15:00:00")),
row.getFieldValue(0));
union = (OrcUnion) row.getFieldValue(1);
assertEquals(0, union.getTag());
@@ -1499,7 +1498,7 @@ public class TestOrcFile {
row.getFieldValue(2));
row = (OrcStruct) rows.next(row);
assertEquals(2, rows.getRowNumber());
- assertEquals(new TimestampWritable(Timestamp.valueOf("2000-03-20 12:00:00.123456789")),
+ assertEquals(new TimestampWritableV2(Timestamp.valueOf("2000-03-20 12:00:00.123456789")),
row.getFieldValue(0));
assertEquals(1, union.getTag());
assertEquals(new Text("hello"), union.getObject());
@@ -1521,7 +1520,7 @@ public class TestOrcFile {
assertEquals(null, union.getObject());
assertEquals(null, row.getFieldValue(2));
row = (OrcStruct) rows.next(row);
- assertEquals(new TimestampWritable(Timestamp.valueOf("1970-01-01 00:00:00")),
+ assertEquals(new TimestampWritableV2(Timestamp.valueOf("1970-01-01 00:00:00")),
row.getFieldValue(0));
assertEquals(new IntWritable(200000), union.getObject());
assertEquals(new HiveDecimalWritable(HiveDecimal.create("10000000000000000000")),
@@ -1529,7 +1528,7 @@ public class TestOrcFile {
rand = new Random(42);
for(int i=1970; i < 2038; ++i) {
row = (OrcStruct) rows.next(row);
- assertEquals(new TimestampWritable(Timestamp.valueOf(i + "-05-05 12:34:56." + i)),
+ assertEquals(new TimestampWritableV2(Timestamp.valueOf(i + "-05-05 12:34:56." + i)),
row.getFieldValue(0));
if ((i & 1) == 0) {
assertEquals(0, union.getTag());
@@ -1556,7 +1555,7 @@ public class TestOrcFile {
assertEquals(reader.getNumberOfRows(), rows.getRowNumber());
rows.seekToRow(1);
row = (OrcStruct) rows.next(row);
- assertEquals(new TimestampWritable(Timestamp.valueOf("2000-03-20 12:00:00.123456789")),
+ assertEquals(new TimestampWritableV2(Timestamp.valueOf("2000-03-20 12:00:00.123456789")),
row.getFieldValue(0));
assertEquals(1, union.getTag());
assertEquals(new Text("hello"), union.getObject());
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcSerDeStats.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcSerDeStats.java b/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcSerDeStats.java
index 81d2e2d..092da69 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcSerDeStats.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcSerDeStats.java
@@ -420,12 +420,12 @@ public class TestOrcSerDeStats {
long rowCount = writer.getNumberOfRows();
long rawDataSize = writer.getRawDataSize();
assertEquals(2, rowCount);
- assertEquals(1740, rawDataSize);
+ assertEquals(1668, rawDataSize);
Reader reader = OrcFile.createReader(testFilePath,
OrcFile.readerOptions(conf).filesystem(fs));
assertEquals(2, reader.getNumberOfRows());
- assertEquals(1740, reader.getRawDataSize());
+ assertEquals(1668, reader.getRawDataSize());
assertEquals(8, reader.getRawDataSizeOfColumns(Lists.newArrayList("boolean1")));
assertEquals(8, reader.getRawDataSizeOfColumns(Lists.newArrayList("byte1")));
assertEquals(8, reader.getRawDataSizeOfColumns(Lists.newArrayList("short1")));
@@ -438,9 +438,9 @@ public class TestOrcSerDeStats {
assertEquals(455, reader.getRawDataSizeOfColumns(Lists.newArrayList("list")));
assertEquals(368, reader.getRawDataSizeOfColumns(Lists.newArrayList("map")));
assertEquals(364, reader.getRawDataSizeOfColumns(Lists.newArrayList("middle")));
- assertEquals(80, reader.getRawDataSizeOfColumns(Lists.newArrayList("ts")));
+ assertEquals(8, reader.getRawDataSizeOfColumns(Lists.newArrayList("ts")));
assertEquals(224, reader.getRawDataSizeOfColumns(Lists.newArrayList("decimal1")));
- assertEquals(88, reader.getRawDataSizeOfColumns(Lists.newArrayList("ts", "int1")));
+ assertEquals(16, reader.getRawDataSizeOfColumns(Lists.newArrayList("ts", "int1")));
assertEquals(1195,
reader.getRawDataSizeOfColumns(Lists.newArrayList("middle", "list", "map", "float1")));
assertEquals(185,
@@ -514,12 +514,12 @@ public class TestOrcSerDeStats {
long rowCount = writer.getNumberOfRows();
long rawDataSize = writer.getRawDataSize();
assertEquals(2, rowCount);
- assertEquals(1740, rawDataSize);
+ assertEquals(1668, rawDataSize);
Reader reader = OrcFile.createReader(testFilePath,
OrcFile.readerOptions(conf).filesystem(fs));
assertEquals(2, reader.getNumberOfRows());
- assertEquals(1740, reader.getRawDataSize());
+ assertEquals(1668, reader.getRawDataSize());
assertEquals(8, reader.getRawDataSizeOfColumns(Lists.newArrayList("boolean1")));
assertEquals(8, reader.getRawDataSizeOfColumns(Lists.newArrayList("byte1")));
assertEquals(8, reader.getRawDataSizeOfColumns(Lists.newArrayList("short1")));
@@ -532,9 +532,9 @@ public class TestOrcSerDeStats {
assertEquals(455, reader.getRawDataSizeOfColumns(Lists.newArrayList("list")));
assertEquals(368, reader.getRawDataSizeOfColumns(Lists.newArrayList("map")));
assertEquals(364, reader.getRawDataSizeOfColumns(Lists.newArrayList("middle")));
- assertEquals(80, reader.getRawDataSizeOfColumns(Lists.newArrayList("ts")));
+ assertEquals(8, reader.getRawDataSizeOfColumns(Lists.newArrayList("ts")));
assertEquals(224, reader.getRawDataSizeOfColumns(Lists.newArrayList("decimal1")));
- assertEquals(88, reader.getRawDataSizeOfColumns(Lists.newArrayList("ts", "int1")));
+ assertEquals(16, reader.getRawDataSizeOfColumns(Lists.newArrayList("ts", "int1")));
assertEquals(1195,
reader.getRawDataSizeOfColumns(Lists.newArrayList("middle", "list", "map", "float1")));
assertEquals(185,
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestVectorizedORCReader.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestVectorizedORCReader.java b/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestVectorizedORCReader.java
index c23f00e..2071d13 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestVectorizedORCReader.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestVectorizedORCReader.java
@@ -19,9 +19,7 @@
package org.apache.hadoop.hive.ql.io.orc;
import java.io.File;
-import java.sql.Date;
-import java.sql.Timestamp;
-import java.util.Calendar;
+import java.time.LocalDateTime;
import java.util.Random;
import junit.framework.Assert;
@@ -29,7 +27,9 @@ import junit.framework.Assert;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hive.common.type.Date;
import org.apache.hadoop.hive.common.type.HiveDecimal;
+import org.apache.hadoop.hive.common.type.Timestamp;
import org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector;
import org.apache.hadoop.hive.ql.exec.vector.ColumnVector;
import org.apache.hadoop.hive.ql.exec.vector.DecimalColumnVector;
@@ -38,18 +38,17 @@ import org.apache.hadoop.hive.ql.exec.vector.LongColumnVector;
import org.apache.hadoop.hive.ql.exec.vector.TimestampColumnVector;
import org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
-import org.apache.hadoop.hive.serde2.io.DateWritable;
+import org.apache.hadoop.hive.serde2.io.DateWritableV2;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
-import org.apache.hadoop.hive.serde2.io.TimestampWritable;
+import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory;
import org.apache.hadoop.io.BooleanWritable;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
-import org.apache.orc.TypeDescription;
import org.junit.Before;
import org.junit.Test;
@@ -134,7 +133,7 @@ public class TestVectorizedORCReader {
for (int i = 0; i < 21000; ++i) {
if ((i % 7) != 0) {
writer.addRow(new MyRecord(((i % 3) == 0), (byte)(i % 5), i, (long) 200, (short) (300 + i), (double) (400 + i),
- words[r1.nextInt(words.length)], new Timestamp(Calendar.getInstance().getTime().getTime()),
+ words[r1.nextInt(words.length)], Timestamp.valueOf(LocalDateTime.now().toString()),
Date.valueOf(dates[i % 3]), HiveDecimal.create(decimalStrings[i % decimalStrings.length])));
} else {
writer.addRow(new MyRecord(null, null, i, (long) 200, null, null, null, null, null, null));
@@ -174,19 +173,21 @@ public class TestVectorizedORCReader {
Long temp = (long) (((BooleanWritable) a).get() ? 1 : 0);
long b = ((LongColumnVector) cv).vector[rowId];
Assert.assertEquals(temp.toString(), Long.toString(b));
- } else if (a instanceof TimestampWritable) {
+ } else if (a instanceof TimestampWritableV2) {
// Timestamps are stored as long, so convert and compare
- TimestampWritable t = ((TimestampWritable) a);
+ TimestampWritableV2 t = ((TimestampWritableV2) a);
TimestampColumnVector tcv = ((TimestampColumnVector) cv);
- Assert.assertEquals(t.getTimestamp(), tcv.asScratchTimestamp(rowId));
+ java.sql.Timestamp ts = tcv.asScratchTimestamp(rowId);
+ Assert.assertEquals(
+ t.getTimestamp(), Timestamp.ofEpochMilli(ts.getTime(), ts.getNanos()));
- } else if (a instanceof DateWritable) {
+ } else if (a instanceof DateWritableV2) {
// Dates are stored as long, so convert and compare
- DateWritable adt = (DateWritable) a;
+ DateWritableV2 adt = (DateWritableV2) a;
long b = ((LongColumnVector) cv).vector[rowId];
- Assert.assertEquals(adt.get().getTime(),
- DateWritable.daysToMillis((int) b));
+ Assert.assertEquals(adt.get().toEpochMilli(),
+ DateWritableV2.daysToMillis((int) b));
} else if (a instanceof HiveDecimalWritable) {
// Decimals are stored as BigInteger, so convert and compare
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/VectorizedColumnReaderTestBase.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/VectorizedColumnReaderTestBase.java b/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/VectorizedColumnReaderTestBase.java
index a230441..1d32afe 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/VectorizedColumnReaderTestBase.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/VectorizedColumnReaderTestBase.java
@@ -23,6 +23,7 @@ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hive.common.type.HiveDecimal;
+import org.apache.hadoop.hive.common.type.Timestamp;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.ql.exec.Utilities;
import org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector;
@@ -62,7 +63,6 @@ import org.apache.parquet.io.api.Binary;
import org.apache.parquet.schema.MessageType;
import java.io.IOException;
-import java.sql.Timestamp;
import java.util.Arrays;
import java.util.List;
@@ -209,7 +209,9 @@ public class VectorizedColumnReaderTestBase {
}
protected static NanoTime getNanoTime(int index) {
- return NanoTimeUtils.getNanoTime(new Timestamp(index), false);
+ Timestamp ts = new Timestamp();
+ ts.setTimeInMillis(index);
+ return NanoTimeUtils.getNanoTime(ts, false);
}
protected static HiveDecimal getDecimal(
@@ -376,8 +378,13 @@ public class VectorizedColumnReaderTestBase {
if (c == nElements) {
break;
}
- Timestamp expected = isDictionaryEncoding ? new Timestamp(c % UNIQUE_NUM) : new Timestamp(c);
- assertEquals("Not the same time at " + c, expected.getTime(), vector.getTime(i));
+ Timestamp expected = new Timestamp();
+ if (isDictionaryEncoding) {
+ expected.setTimeInMillis(c % UNIQUE_NUM);
+ } else {
+ expected.setTimeInMillis(c);
+ }
+ assertEquals("Not the same time at " + c, expected.toEpochMilli(), vector.getTime(i));
assertEquals("Not the same nano at " + c, expected.getNanos(), vector.getNanos(i));
assertFalse(vector.isNull[i]);
c++;
@@ -408,8 +415,12 @@ public class VectorizedColumnReaderTestBase {
break;
}
- Timestamp expected = isDictionaryEncoding ? new Timestamp(c % UNIQUE_NUM) : new Timestamp(
- c);
+ Timestamp expected = new Timestamp();
+ if (isDictionaryEncoding) {
+ expected.setTimeInMillis(c % UNIQUE_NUM);
+ } else {
+ expected.setTimeInMillis(c);
+ };
String actual = new String(Arrays
.copyOfRange(vector.vector[i], vector.start[i], vector.start[i] + vector.length[i]));
assertEquals("Not the same time at " + c, expected.toString(), actual);
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/serde/TestParquetTimestampUtils.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/serde/TestParquetTimestampUtils.java b/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/serde/TestParquetTimestampUtils.java
index d14f0a9..477825e 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/serde/TestParquetTimestampUtils.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/serde/TestParquetTimestampUtils.java
@@ -13,19 +13,18 @@
*/
package org.apache.hadoop.hive.ql.io.parquet.serde;
-import java.sql.Timestamp;
import java.util.Calendar;
-import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;
import java.util.concurrent.TimeUnit;
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
+import org.apache.hadoop.hive.common.type.Timestamp;
import org.apache.hadoop.hive.ql.io.parquet.timestamp.NanoTime;
import org.apache.hadoop.hive.ql.io.parquet.timestamp.NanoTimeUtils;
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
/**
@@ -42,7 +41,7 @@ public class TestParquetTimestampUtils extends TestCase {
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.setTimeZone(TimeZone.getTimeZone("GMT"));
- Timestamp ts = new Timestamp(cal.getTimeInMillis());
+ Timestamp ts = Timestamp.ofEpochMilli(cal.getTimeInMillis());
NanoTime nt = NanoTimeUtils.getNanoTime(ts, false);
Assert.assertEquals(nt.getJulianDay(), 2440000);
@@ -57,7 +56,7 @@ public class TestParquetTimestampUtils extends TestCase {
cal1.set(Calendar.HOUR_OF_DAY, 0);
cal1.setTimeZone(TimeZone.getTimeZone("GMT"));
- Timestamp ts1 = new Timestamp(cal1.getTimeInMillis());
+ Timestamp ts1 = Timestamp.ofEpochMilli(cal1.getTimeInMillis());
NanoTime nt1 = NanoTimeUtils.getNanoTime(ts1, false);
Timestamp ts1Fetched = NanoTimeUtils.getTimestamp(nt1, false);
@@ -70,7 +69,7 @@ public class TestParquetTimestampUtils extends TestCase {
cal2.set(Calendar.HOUR_OF_DAY, 0);
cal2.setTimeZone(TimeZone.getTimeZone("UTC"));
- Timestamp ts2 = new Timestamp(cal2.getTimeInMillis());
+ Timestamp ts2 = Timestamp.ofEpochMilli(cal2.getTimeInMillis());
NanoTime nt2 = NanoTimeUtils.getNanoTime(ts2, false);
Timestamp ts2Fetched = NanoTimeUtils.getTimestamp(nt2, false);
@@ -86,7 +85,7 @@ public class TestParquetTimestampUtils extends TestCase {
cal1.set(Calendar.HOUR_OF_DAY, 0);
cal1.setTimeZone(TimeZone.getTimeZone("GMT"));
- ts1 = new Timestamp(cal1.getTimeInMillis());
+ ts1 = Timestamp.ofEpochMilli(cal1.getTimeInMillis());
nt1 = NanoTimeUtils.getNanoTime(ts1, false);
ts1Fetched = NanoTimeUtils.getTimestamp(nt1, false);
@@ -99,7 +98,7 @@ public class TestParquetTimestampUtils extends TestCase {
cal2.set(Calendar.HOUR_OF_DAY, 0);
cal2.setTimeZone(TimeZone.getTimeZone("UTC"));
- ts2 = new Timestamp(cal2.getTimeInMillis());
+ ts2 = Timestamp.ofEpochMilli(cal2.getTimeInMillis());
nt2 = NanoTimeUtils.getNanoTime(ts2, false);
ts2Fetched = NanoTimeUtils.getTimestamp(nt2, false);
@@ -117,8 +116,7 @@ public class TestParquetTimestampUtils extends TestCase {
cal.set(Calendar.MINUTE, 1);
cal.set(Calendar.SECOND, 1);
cal.setTimeZone(TimeZone.getTimeZone("GMT"));
- Timestamp ts = new Timestamp(cal.getTimeInMillis());
- ts.setNanos(1);
+ Timestamp ts = Timestamp.ofEpochMilli(cal.getTimeInMillis(), 1);
//(1*60*60 + 1*60 + 1) * 10e9 + 1
NanoTime nt = NanoTimeUtils.getNanoTime(ts, false);
@@ -133,8 +131,7 @@ public class TestParquetTimestampUtils extends TestCase {
cal.set(Calendar.MINUTE, 59);
cal.set(Calendar.SECOND, 59);
cal.setTimeZone(TimeZone.getTimeZone("GMT"));
- ts = new Timestamp(cal.getTimeInMillis());
- ts.setNanos(999999999);
+ ts = Timestamp.ofEpochMilli(cal.getTimeInMillis(), 999999999);
//(23*60*60 + 59*60 + 59)*10e9 + 999999999
nt = NanoTimeUtils.getNanoTime(ts, false);
@@ -149,8 +146,7 @@ public class TestParquetTimestampUtils extends TestCase {
cal2.set(Calendar.MINUTE, 10);
cal2.set(Calendar.SECOND, 0);
cal2.setTimeZone(TimeZone.getTimeZone("GMT"));
- Timestamp ts2 = new Timestamp(cal2.getTimeInMillis());
- ts2.setNanos(10);
+ Timestamp ts2 = Timestamp.ofEpochMilli(cal2.getTimeInMillis(), 10);
Calendar cal1 = Calendar.getInstance();
cal1.set(Calendar.YEAR, 1968);
@@ -160,8 +156,7 @@ public class TestParquetTimestampUtils extends TestCase {
cal1.set(Calendar.MINUTE, 0);
cal1.set(Calendar.SECOND, 0);
cal1.setTimeZone(TimeZone.getTimeZone("GMT"));
- Timestamp ts1 = new Timestamp(cal1.getTimeInMillis());
- ts1.setNanos(1);
+ Timestamp ts1 = Timestamp.ofEpochMilli(cal1.getTimeInMillis(), 1);
NanoTime n2 = NanoTimeUtils.getNanoTime(ts2, false);
NanoTime n1 = NanoTimeUtils.getNanoTime(ts1, false);
@@ -183,8 +178,7 @@ public class TestParquetTimestampUtils extends TestCase {
cal.set(Calendar.MINUTE, 1);
cal.set(Calendar.SECOND, 1);
cal.setTimeZone(TimeZone.getTimeZone("US/Pacific"));
- Timestamp ts = new Timestamp(cal.getTimeInMillis());
- ts.setNanos(1);
+ Timestamp ts = Timestamp.ofEpochMilli(cal.getTimeInMillis(), 1);
/**
* 17:00 PDT = 00:00 GMT (daylight-savings)
@@ -212,15 +206,15 @@ public class TestParquetTimestampUtils extends TestCase {
public void testTimezoneless() {
Timestamp ts1 = Timestamp.valueOf("2011-01-01 00:30:30.111111111");
NanoTime nt1 = NanoTimeUtils.getNanoTime(ts1, true);
- Assert.assertEquals(nt1.getJulianDay(), 2455563);
- Assert.assertEquals(nt1.getTimeOfDayNanos(), 1830111111111L);
+ Assert.assertEquals(nt1.getJulianDay(), 2455562);
+ Assert.assertEquals(nt1.getTimeOfDayNanos(), 59430111111111L);
Timestamp ts1Fetched = NanoTimeUtils.getTimestamp(nt1, true);
Assert.assertEquals(ts1Fetched.toString(), ts1.toString());
Timestamp ts2 = Timestamp.valueOf("2011-02-02 08:30:30.222222222");
NanoTime nt2 = NanoTimeUtils.getNanoTime(ts2, true);
Assert.assertEquals(nt2.getJulianDay(), 2455595);
- Assert.assertEquals(nt2.getTimeOfDayNanos(), 30630222222222L);
+ Assert.assertEquals(nt2.getTimeOfDayNanos(), 1830222222222L);
Timestamp ts2Fetched = NanoTimeUtils.getTimestamp(nt2, true);
Assert.assertEquals(ts2Fetched.toString(), ts2.toString());
}
@@ -251,7 +245,7 @@ public class TestParquetTimestampUtils extends TestCase {
//test some extreme cases.
verifyTsString("9999-09-09 09:09:09.999999999", local);
- verifyTsString("0001-01-01 00:00:00.0", local);
+ verifyTsString("0001-01-01 00:00:00", local);
}
private void verifyTsString(String tsString, boolean local) {
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/parse/TestSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/parse/TestSemanticAnalyzer.java b/ql/src/test/org/apache/hadoop/hive/ql/parse/TestSemanticAnalyzer.java
index 406cece..97695c2 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/parse/TestSemanticAnalyzer.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/parse/TestSemanticAnalyzer.java
@@ -19,11 +19,11 @@ package org.apache.hadoop.hive.ql.parse;
import static org.junit.Assert.*;
-import java.sql.Date;
import java.util.HashMap;
import java.util.Map;
-import org.apache.hadoop.hive.serde2.io.DateWritable;
+import org.apache.hadoop.hive.common.type.Date;
+import org.apache.hadoop.hive.serde2.io.DateWritableV2;
import org.junit.Test;
public class TestSemanticAnalyzer {
@@ -61,7 +61,7 @@ public class TestSemanticAnalyzer {
BaseSemanticAnalyzer.normalizeColSpec(partSpec, colName, colType, originalColSpec, colValue);
assertEquals(result, partSpec.get(colName));
if (colValue instanceof Date) {
- DateWritable dw = new DateWritable((Date)colValue);
+ DateWritableV2 dw = new DateWritableV2((Date)colValue);
BaseSemanticAnalyzer.normalizeColSpec(partSpec, colName, colType, originalColSpec, dw);
assertEquals(result, partSpec.get(colName));
}
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFDateFormatGranularity.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFDateFormatGranularity.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFDateFormatGranularity.java
index 9f20ff6..4770ab7 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFDateFormatGranularity.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFDateFormatGranularity.java
@@ -17,14 +17,13 @@
*/
package org.apache.hadoop.hive.ql.udf;
-import java.sql.Timestamp;
import java.time.Instant;
import java.time.ZoneId;
-import java.time.ZoneOffset;
+import org.apache.hadoop.hive.common.type.Timestamp;
import org.apache.hadoop.hive.common.type.TimestampTZ;
import org.apache.hadoop.hive.serde2.io.TimestampLocalTZWritable;
-import org.apache.hadoop.hive.serde2.io.TimestampWritable;
+import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
import org.junit.Test;
import junit.framework.TestCase;
@@ -37,56 +36,56 @@ public class TestUDFDateFormatGranularity extends TestCase {
public void testTimestampToTimestampWithGranularity() throws Exception {
// Running example
// Friday 30th August 1985 02:47:02 AM
- final TimestampWritable t = new TimestampWritable(new Timestamp(494243222000L));
+ final TimestampWritableV2 t = new TimestampWritableV2(Timestamp.ofEpochMilli(494243222000L));
UDFDateFloor g;
// Year granularity
// Tuesday 1st January 1985 12:00:00 AM
g = new UDFDateFloorYear();
- TimestampWritable i1 = g.evaluate(t);
- assertEquals(473414400000L, i1.getTimestamp().getTime());
+ TimestampWritableV2 i1 = g.evaluate(t);
+ assertEquals(473385600000L, i1.getTimestamp().toEpochMilli());
// Quarter granularity
// Monday 1st July 1985 12:00:00 AM
g = new UDFDateFloorQuarter();
- TimestampWritable i2 = g.evaluate(t);
- assertEquals(489049200000L, i2.getTimestamp().getTime());
+ TimestampWritableV2 i2 = g.evaluate(t);
+ assertEquals(489024000000L, i2.getTimestamp().toEpochMilli());
// Month granularity
// Thursday 1st August 1985 12:00:00 AM
g = new UDFDateFloorMonth();
- TimestampWritable i3 = g.evaluate(t);
- assertEquals(491727600000L, i3.getTimestamp().getTime());
+ TimestampWritableV2 i3 = g.evaluate(t);
+ assertEquals(491702400000L, i3.getTimestamp().toEpochMilli());
// Week granularity
// Monday 26th August 1985 12:00:00 AM
g = new UDFDateFloorWeek();
- TimestampWritable i4 = g.evaluate(t);
- assertEquals(493887600000L, i4.getTimestamp().getTime());
+ TimestampWritableV2 i4 = g.evaluate(t);
+ assertEquals(493862400000L, i4.getTimestamp().toEpochMilli());
// Day granularity
// Friday 30th August 1985 12:00:00 AM
g = new UDFDateFloorDay();
- TimestampWritable i5 = g.evaluate(t);
- assertEquals(494233200000L, i5.getTimestamp().getTime());
+ TimestampWritableV2 i5 = g.evaluate(t);
+ assertEquals(494208000000L, i5.getTimestamp().toEpochMilli());
// Hour granularity
// Friday 30th August 1985 02:00:00 AM
g = new UDFDateFloorHour();
- TimestampWritable i6 = g.evaluate(t);
- assertEquals(494240400000L, i6.getTimestamp().getTime());
+ TimestampWritableV2 i6 = g.evaluate(t);
+ assertEquals(494240400000L, i6.getTimestamp().toEpochMilli());
// Minute granularity
// Friday 30th August 1985 02:47:00 AM
g = new UDFDateFloorMinute();
- TimestampWritable i7 = g.evaluate(t);
- assertEquals(494243220000L, i7.getTimestamp().getTime());
+ TimestampWritableV2 i7 = g.evaluate(t);
+ assertEquals(494243220000L, i7.getTimestamp().toEpochMilli());
// Second granularity
// Friday 30th August 1985 02:47:02 AM
g = new UDFDateFloorSecond();
- TimestampWritable i8 = g.evaluate(t);
- assertEquals(494243222000L, i8.getTimestamp().getTime());
+ TimestampWritableV2 i8 = g.evaluate(t);
+ assertEquals(494243222000L, i8.getTimestamp().toEpochMilli());
}
@Test
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFAddMonths.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFAddMonths.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFAddMonths.java
index 0db9370..7c2ee15 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFAddMonths.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFAddMonths.java
@@ -19,19 +19,19 @@ package org.apache.hadoop.hive.ql.udf.generic;
import junit.framework.TestCase;
+import org.apache.hadoop.hive.common.type.Timestamp;
import org.apache.hadoop.hive.ql.exec.UDFArgumentTypeException;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredJavaObject;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredObject;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
-import org.apache.hadoop.hive.serde2.io.TimestampWritable;
+import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
-import java.sql.Timestamp;
public class TestGenericUDFAddMonths extends TestCase {
@@ -151,41 +151,29 @@ public class TestGenericUDFAddMonths extends TestCase {
}
public void testWrongDateStr() throws HiveException {
- boolean caught = false;
- try {
- GenericUDFAddMonths udf = new GenericUDFAddMonths();
- ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
- ObjectInspector valueOI1 = PrimitiveObjectInspectorFactory.writableIntObjectInspector;
- ObjectInspector[] arguments = { valueOI0, valueOI1 };
+ GenericUDFAddMonths udf = new GenericUDFAddMonths();
+ ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
+ ObjectInspector valueOI1 = PrimitiveObjectInspectorFactory.writableIntObjectInspector;
+ ObjectInspector[] arguments = { valueOI0, valueOI1 };
- udf.initialize(arguments);
- runAndVerify("2014-02-30", 1, "2014-04-02", udf);
- runAndVerify("2014-02-32", 1, "2014-04-04", udf);
- runAndVerify("2014-01", 1, null, udf);
- } catch (HiveException e) {
- caught = true;
- }
- assertTrue(caught);
+ udf.initialize(arguments);
+ runAndVerify("2014-02-30", 1, "2014-04-02", udf);
+ runAndVerify("2014-02-32", 1, "2014-04-04", udf);
+ runAndVerify("2014-01", 1, null, udf);
}
public void testWrongTsStr() throws HiveException {
- boolean caught = false;
- try {
- GenericUDFAddMonths udf = new GenericUDFAddMonths();
- ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
- ObjectInspector valueOI1 = PrimitiveObjectInspectorFactory.writableIntObjectInspector;
- ObjectInspector[] arguments = { valueOI0, valueOI1 };
+ GenericUDFAddMonths udf = new GenericUDFAddMonths();
+ ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
+ ObjectInspector valueOI1 = PrimitiveObjectInspectorFactory.writableIntObjectInspector;
+ ObjectInspector[] arguments = { valueOI0, valueOI1 };
- udf.initialize(arguments);
+ udf.initialize(arguments);
- runAndVerify("2014-02-30 10:30:00", 1, "2014-04-02", udf);
- runAndVerify("2014-02-32 10:30:00", 1, "2014-04-04", udf);
- runAndVerify("2014/01/31 10:30:00", 1, null, udf);
- runAndVerify("2014-01-31T10:30:00", 1, "2014-02-28", udf);
- } catch (HiveException e) {
- caught = true;
- }
- assertTrue(caught);
+ runAndVerify("2014-02-30 10:30:00", 1, "2014-04-02", udf);
+ runAndVerify("2014-02-32 10:30:00", 1, "2014-04-04", udf);
+ runAndVerify("2014/01/31 10:30:00", 1, null, udf);
+ runAndVerify("2014-01-31T10:30:00", 1, "2014-02-28", udf);
}
public void testAddMonthsShort() throws HiveException {
@@ -250,7 +238,7 @@ public class TestGenericUDFAddMonths extends TestCase {
private void runAndVerify(Timestamp ts, int months, Text dateFormat, String expResult, GenericUDF udf)
throws HiveException {
- DeferredObject valueObj0 = new DeferredJavaObject(new TimestampWritable(ts));
+ DeferredObject valueObj0 = new DeferredJavaObject(new TimestampWritableV2(ts));
DeferredObject valueObj1 = new DeferredJavaObject(new IntWritable(months));
DeferredObject valueObj2 = new DeferredJavaObject(dateFormat);
DeferredObject[] args = {valueObj0, valueObj1, valueObj2};
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDate.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDate.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDate.java
index 0acb46d..dcb4d9c 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDate.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDate.java
@@ -18,22 +18,22 @@
package org.apache.hadoop.hive.ql.udf.generic;
-import java.sql.Date;
-import java.sql.Timestamp;
-
-import junit.framework.TestCase;
+import java.time.LocalDateTime;
+import org.apache.hadoop.hive.common.type.Date;
+import org.apache.hadoop.hive.common.type.Timestamp;
import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredJavaObject;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredObject;
-import org.apache.hadoop.hive.ql.udf.generic.GenericUDFDate;
-import org.apache.hadoop.hive.serde2.io.DateWritable;
-import org.apache.hadoop.hive.serde2.io.TimestampWritable;
+import org.apache.hadoop.hive.serde2.io.DateWritableV2;
+import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
import org.apache.hadoop.io.Text;
+import junit.framework.TestCase;
+
public class TestGenericUDFDate extends TestCase {
public void testStringToDate() throws HiveException {
GenericUDFDate udf = new GenericUDFDate();
@@ -43,13 +43,13 @@ public class TestGenericUDFDate extends TestCase {
udf.initialize(arguments);
DeferredObject valueObj = new DeferredJavaObject(new Text("2009-07-30"));
DeferredObject[] args = {valueObj};
- DateWritable output = (DateWritable) udf.evaluate(args);
+ DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
assertEquals("to_date() test for STRING failed ", "2009-07-30", output.toString());
// Try with null args
DeferredObject[] nullArgs = { new DeferredJavaObject(null) };
- output = (DateWritable) udf.evaluate(nullArgs);
+ output = (DateWritableV2) udf.evaluate(nullArgs);
assertNull("to_date() with null STRING", output);
}
@@ -59,16 +59,16 @@ public class TestGenericUDFDate extends TestCase {
ObjectInspector[] arguments = {valueOI};
udf.initialize(arguments);
- DeferredObject valueObj = new DeferredJavaObject(new TimestampWritable(new Timestamp(109, 06,
- 30, 4, 17, 52, 0)));
+ DeferredObject valueObj = new DeferredJavaObject(new TimestampWritableV2(
+ Timestamp.valueOf(LocalDateTime.of(109, 06, 30, 4, 17, 52, 0).toString())));
DeferredObject[] args = {valueObj};
- DateWritable output = (DateWritable) udf.evaluate(args);
+ DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
- assertEquals("to_date() test for TIMESTAMP failed ", "2009-07-30", output.toString());
+ assertEquals("to_date() test for TIMESTAMP failed ", "0109-06-30", output.toString());
// Try with null args
DeferredObject[] nullArgs = { new DeferredJavaObject(null) };
- output = (DateWritable) udf.evaluate(nullArgs);
+ output = (DateWritableV2) udf.evaluate(nullArgs);
assertNull("to_date() with null TIMESTAMP", output);
}
@@ -78,15 +78,15 @@ public class TestGenericUDFDate extends TestCase {
ObjectInspector[] arguments = {valueOI};
udf.initialize(arguments);
- DeferredObject valueObj = new DeferredJavaObject(new DateWritable(new Date(109, 06, 30)));
+ DeferredObject valueObj = new DeferredJavaObject(new DateWritableV2(Date.of(109, 06, 30)));
DeferredObject[] args = {valueObj};
- DateWritable output = (DateWritable) udf.evaluate(args);
+ DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
- assertEquals("to_date() test for DATEWRITABLE failed ", "2009-07-30", output.toString());
+ assertEquals("to_date() test for DATEWRITABLE failed ", "0109-06-30", output.toString());
// Try with null args
DeferredObject[] nullArgs = { new DeferredJavaObject(null) };
- output = (DateWritable) udf.evaluate(nullArgs);
+ output = (DateWritableV2) udf.evaluate(nullArgs);
assertNull("to_date() with null DATE", output);
}
@@ -97,7 +97,7 @@ public class TestGenericUDFDate extends TestCase {
udf.initialize(arguments);
DeferredObject[] args = { new DeferredJavaObject(null) };
- DateWritable output = (DateWritable) udf.evaluate(args);
+ DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
// Try with null VOID
assertNull("to_date() with null DATE ", output);
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateAdd.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateAdd.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateAdd.java
index 9caf3b7..d74a4ef 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateAdd.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateAdd.java
@@ -18,21 +18,21 @@
package org.apache.hadoop.hive.ql.udf.generic;
-import java.sql.Date;
-import java.sql.Timestamp;
-
-import junit.framework.TestCase;
+import java.time.LocalDateTime;
+import org.apache.hadoop.hive.common.type.Date;
+import org.apache.hadoop.hive.common.type.Timestamp;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredJavaObject;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredObject;
-import org.apache.hadoop.hive.ql.udf.generic.GenericUDFDateAdd;
-import org.apache.hadoop.hive.serde2.io.DateWritable;
-import org.apache.hadoop.hive.serde2.io.TimestampWritable;
+import org.apache.hadoop.hive.serde2.io.DateWritableV2;
+import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
import org.apache.hadoop.io.Text;
+import junit.framework.TestCase;
+
public class TestGenericUDFDateAdd extends TestCase {
public void testStringToDate() throws HiveException {
GenericUDFDateAdd udf = new GenericUDFDateAdd();
@@ -44,7 +44,7 @@ public class TestGenericUDFDateAdd extends TestCase {
DeferredObject valueObj1 = new DeferredJavaObject(new Text("2009-07-20 04:17:52"));
DeferredObject valueObj2 = new DeferredJavaObject(new Integer("2"));
DeferredObject[] args = {valueObj1, valueObj2};
- DateWritable output = (DateWritable) udf.evaluate(args);
+ DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
assertEquals("date_add() test for STRING failed ", "2009-07-22", output.toString());
@@ -66,13 +66,13 @@ public class TestGenericUDFDateAdd extends TestCase {
ObjectInspector[] arguments = {valueOI1, valueOI2};
udf.initialize(arguments);
- DeferredObject valueObj1 = new DeferredJavaObject(new TimestampWritable(new Timestamp(109, 06,
- 20, 4, 17, 52, 0)));
+ DeferredObject valueObj1 = new DeferredJavaObject(new TimestampWritableV2(
+ Timestamp.valueOf(LocalDateTime.of(109, 06, 20, 4, 17, 52, 0).toString())));
DeferredObject valueObj2 = new DeferredJavaObject(new Integer("3"));
DeferredObject[] args = {valueObj1, valueObj2};
- DateWritable output = (DateWritable) udf.evaluate(args);
+ DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
- assertEquals("date_add() test for TIMESTAMP failed ", "2009-07-23", output.toString());
+ assertEquals("date_add() test for TIMESTAMP failed ", "0109-06-23", output.toString());
// Test with null args
args = new DeferredObject[] { new DeferredJavaObject(null), valueObj2 };
@@ -93,12 +93,12 @@ public class TestGenericUDFDateAdd extends TestCase {
udf.initialize(arguments);
- DeferredObject valueObj1 = new DeferredJavaObject(new DateWritable(new Date(109, 06, 20)));
+ DeferredObject valueObj1 = new DeferredJavaObject(new DateWritableV2(Date.of(109, 06, 20)));
DeferredObject valueObj2 = new DeferredJavaObject(new Integer("4"));
DeferredObject[] args = {valueObj1, valueObj2};
- DateWritable output = (DateWritable) udf.evaluate(args);
+ DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
- assertEquals("date_add() test for DATEWRITABLE failed ", "2009-07-24", output.toString());
+ assertEquals("date_add() test for DATEWRITABLE failed ", "0109-06-24", output.toString());
// Test with null args
args = new DeferredObject[] { new DeferredJavaObject(null), valueObj2 };
@@ -118,12 +118,12 @@ public class TestGenericUDFDateAdd extends TestCase {
ObjectInspector[] arguments = {valueOI1, valueOI2};
udf.initialize(arguments);
- DeferredObject valueObj1 = new DeferredJavaObject(new DateWritable(new Date(109, 06, 20)));
+ DeferredObject valueObj1 = new DeferredJavaObject(new DateWritableV2(Date.of(109, 06, 20)));
DeferredObject valueObj2 = new DeferredJavaObject(new Byte("4"));
DeferredObject[] args = {valueObj1, valueObj2};
- DateWritable output = (DateWritable) udf.evaluate(args);
+ DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
- assertEquals("date_add() test for BYTE failed ", "2009-07-24", output.toString());
+ assertEquals("date_add() test for BYTE failed ", "0109-06-24", output.toString());
}
public void testShortDataTypeAsDays() throws HiveException {
@@ -133,11 +133,11 @@ public class TestGenericUDFDateAdd extends TestCase {
ObjectInspector[] arguments = {valueOI1, valueOI2};
udf.initialize(arguments);
- DeferredObject valueObj1 = new DeferredJavaObject(new DateWritable(new Date(109, 06, 20)));
+ DeferredObject valueObj1 = new DeferredJavaObject(new DateWritableV2(Date.of(109, 06, 20)));
DeferredObject valueObj2 = new DeferredJavaObject(new Short("4"));
DeferredObject[] args = {valueObj1, valueObj2};
- DateWritable output = (DateWritable) udf.evaluate(args);
+ DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
- assertEquals("date_add() test for SHORT failed ", "2009-07-24", output.toString());
+ assertEquals("date_add() test for SHORT failed ", "0109-06-24", output.toString());
}
}
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateDiff.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateDiff.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateDiff.java
index 3f4ea3f..ea183d4 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateDiff.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateDiff.java
@@ -18,22 +18,22 @@
package org.apache.hadoop.hive.ql.udf.generic;
-import java.sql.Date;
-import java.sql.Timestamp;
-
-import junit.framework.TestCase;
+import java.time.LocalDateTime;
+import org.apache.hadoop.hive.common.type.Date;
+import org.apache.hadoop.hive.common.type.Timestamp;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredJavaObject;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredObject;
-import org.apache.hadoop.hive.ql.udf.generic.GenericUDFDateDiff;
-import org.apache.hadoop.hive.serde2.io.DateWritable;
-import org.apache.hadoop.hive.serde2.io.TimestampWritable;
+import org.apache.hadoop.hive.serde2.io.DateWritableV2;
+import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
+import junit.framework.TestCase;
+
public class TestGenericUDFDateDiff extends TestCase {
public void testStringToDate() throws HiveException {
GenericUDFDateDiff udf = new GenericUDFDateDiff();
@@ -67,10 +67,10 @@ public class TestGenericUDFDateDiff extends TestCase {
ObjectInspector[] arguments = {valueOI1, valueOI2};
udf.initialize(arguments);
- DeferredObject valueObj1 = new DeferredJavaObject(new TimestampWritable(new Timestamp(109, 06,
- 20, 0, 0, 0, 0)));
- DeferredObject valueObj2 = new DeferredJavaObject(new TimestampWritable(new Timestamp(109, 06,
- 17, 0, 0, 0, 0)));
+ DeferredObject valueObj1 = new DeferredJavaObject(new TimestampWritableV2(
+ Timestamp.valueOf(LocalDateTime.of(109, 06, 20, 0, 0, 0, 0).toString())));
+ DeferredObject valueObj2 = new DeferredJavaObject(new TimestampWritableV2(
+ Timestamp.valueOf(LocalDateTime.of(109, 06, 17, 0, 0, 0, 0).toString())));
DeferredObject[] args = {valueObj1, valueObj2};
IntWritable output = (IntWritable) udf.evaluate(args);
@@ -95,8 +95,8 @@ public class TestGenericUDFDateDiff extends TestCase {
udf.initialize(arguments);
- DeferredObject valueObj1 = new DeferredJavaObject(new DateWritable(new Date(109, 06, 20)));
- DeferredObject valueObj2 = new DeferredJavaObject(new DateWritable(new Date(109, 06, 10)));
+ DeferredObject valueObj1 = new DeferredJavaObject(new DateWritableV2(Date.of(109, 06, 20)));
+ DeferredObject valueObj2 = new DeferredJavaObject(new DateWritableV2(Date.of(109, 06, 10)));
DeferredObject[] args = {valueObj1, valueObj2};
IntWritable output = (IntWritable) udf.evaluate(args);
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateFormat.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateFormat.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateFormat.java
index d29d964..6a3cdda 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateFormat.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateFormat.java
@@ -17,21 +17,19 @@
*/
package org.apache.hadoop.hive.ql.udf.generic;
-import java.sql.Date;
-import java.sql.Timestamp;
-
import junit.framework.TestCase;
+import org.apache.hadoop.hive.common.type.Date;
+import org.apache.hadoop.hive.common.type.Timestamp;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredJavaObject;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredObject;
-import org.apache.hadoop.hive.serde2.io.DateWritable;
-import org.apache.hadoop.hive.serde2.io.TimestampWritable;
+import org.apache.hadoop.hive.serde2.io.DateWritableV2;
+import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
import org.apache.hadoop.io.Text;
-import org.junit.Assume;
public class TestGenericUDFDateFormat extends TestCase {
@@ -67,24 +65,18 @@ public class TestGenericUDFDateFormat extends TestCase {
}
public void testWrongDateStr() throws HiveException {
- boolean caught = false;
- try {
- GenericUDFDateFormat udf = new GenericUDFDateFormat();
- ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
- Text fmtText = new Text("EEEE");
- ObjectInspector valueOI1 = PrimitiveObjectInspectorFactory
- .getPrimitiveWritableConstantObjectInspector(TypeInfoFactory.stringTypeInfo, fmtText);
- ObjectInspector[] arguments = { valueOI0, valueOI1 };
-
- udf.initialize(arguments);
- runAndVerifyStr("2016-02-30 10:30:45", fmtText, "Tuesday", udf);
- runAndVerifyStr("2014-01-32", fmtText, "Saturday", udf);
- runAndVerifyStr("01/14/2014", fmtText, null, udf);
- runAndVerifyStr(null, fmtText, null, udf);
- } catch (HiveException e) {
- caught = true;
- }
- assertTrue(caught);
+ GenericUDFDateFormat udf = new GenericUDFDateFormat();
+ ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
+ Text fmtText = new Text("EEEE");
+ ObjectInspector valueOI1 = PrimitiveObjectInspectorFactory
+ .getPrimitiveWritableConstantObjectInspector(TypeInfoFactory.stringTypeInfo, fmtText);
+ ObjectInspector[] arguments = {valueOI0, valueOI1};
+
+ udf.initialize(arguments);
+ runAndVerifyStr("2016-02-30 10:30:45", fmtText, "Tuesday", udf);
+ runAndVerifyStr("2014-01-32", fmtText, "Saturday", udf);
+ runAndVerifyStr("01/14/2014", fmtText, null, udf);
+ runAndVerifyStr(null, fmtText, null, udf);
}
public void testDateFormatDate() throws HiveException {
@@ -165,7 +157,7 @@ public class TestGenericUDFDateFormat extends TestCase {
private void runAndVerifyDate(String str, Text fmtText, String expResult, GenericUDF udf)
throws HiveException {
- DeferredObject valueObj0 = new DeferredJavaObject(str != null ? new DateWritable(
+ DeferredObject valueObj0 = new DeferredJavaObject(str != null ? new DateWritableV2(
Date.valueOf(str)) : null);
DeferredObject valueObj1 = new DeferredJavaObject(fmtText);
DeferredObject[] args = { valueObj0, valueObj1 };
@@ -175,7 +167,7 @@ public class TestGenericUDFDateFormat extends TestCase {
private void runAndVerifyTs(String str, Text fmtText, String expResult, GenericUDF udf)
throws HiveException {
- DeferredObject valueObj0 = new DeferredJavaObject(str != null ? new TimestampWritable(
+ DeferredObject valueObj0 = new DeferredJavaObject(str != null ? new TimestampWritableV2(
Timestamp.valueOf(str)) : null);
DeferredObject valueObj1 = new DeferredJavaObject(fmtText);
DeferredObject[] args = { valueObj0, valueObj1 };
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateSub.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateSub.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateSub.java
index cb00cfd..c71c2b7 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateSub.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateSub.java
@@ -18,21 +18,21 @@
package org.apache.hadoop.hive.ql.udf.generic;
-import java.sql.Date;
-import java.sql.Timestamp;
-
-import junit.framework.TestCase;
+import java.time.LocalDateTime;
+import org.apache.hadoop.hive.common.type.Date;
+import org.apache.hadoop.hive.common.type.Timestamp;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredJavaObject;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredObject;
-import org.apache.hadoop.hive.ql.udf.generic.GenericUDFDateSub;
-import org.apache.hadoop.hive.serde2.io.DateWritable;
-import org.apache.hadoop.hive.serde2.io.TimestampWritable;
+import org.apache.hadoop.hive.serde2.io.DateWritableV2;
+import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
import org.apache.hadoop.io.Text;
+import junit.framework.TestCase;
+
public class TestGenericUDFDateSub extends TestCase {
public void testStringToDate() throws HiveException {
GenericUDFDateSub udf = new GenericUDFDateSub();
@@ -44,7 +44,7 @@ public class TestGenericUDFDateSub extends TestCase {
DeferredObject valueObj1 = new DeferredJavaObject(new Text("2009-07-20 04:17:52"));
DeferredObject valueObj2 = new DeferredJavaObject(new Integer("2"));
DeferredObject[] args = {valueObj1, valueObj2};
- DateWritable output = (DateWritable) udf.evaluate(args);
+ DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
assertEquals("date_sub() test for STRING failed ", "2009-07-18", output.toString());
@@ -66,13 +66,13 @@ public class TestGenericUDFDateSub extends TestCase {
ObjectInspector[] arguments = {valueOI1, valueOI2};
udf.initialize(arguments);
- DeferredObject valueObj1 = new DeferredJavaObject(new TimestampWritable(new Timestamp(109, 06,
- 20, 4, 17, 52, 0)));
+ DeferredObject valueObj1 = new DeferredJavaObject(new TimestampWritableV2(
+ Timestamp.valueOf(LocalDateTime.of(109, 06, 20, 4, 17, 52, 0).toString())));
DeferredObject valueObj2 = new DeferredJavaObject(new Integer("3"));
DeferredObject[] args = {valueObj1, valueObj2};
- DateWritable output = (DateWritable) udf.evaluate(args);
+ DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
- assertEquals("date_sub() test for TIMESTAMP failed ", "2009-07-17", output.toString());
+ assertEquals("date_sub() test for TIMESTAMP failed ", "0109-06-17", output.toString());
// Test with null args
args = new DeferredObject[] { new DeferredJavaObject(null), valueObj2 };
@@ -93,12 +93,12 @@ public class TestGenericUDFDateSub extends TestCase {
udf.initialize(arguments);
- DeferredObject valueObj1 = new DeferredJavaObject(new DateWritable(new Date(109, 06, 20)));
+ DeferredObject valueObj1 = new DeferredJavaObject(new DateWritableV2(Date.of(109, 06, 20)));
DeferredObject valueObj2 = new DeferredJavaObject(new Integer("4"));
DeferredObject[] args = {valueObj1, valueObj2};
- DateWritable output = (DateWritable) udf.evaluate(args);
+ DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
- assertEquals("date_sub() test for DATEWRITABLE failed ", "2009-07-16", output.toString());
+ assertEquals("date_sub() test for DATEWRITABLE failed ", "0109-06-16", output.toString());
// Test with null args
args = new DeferredObject[] { new DeferredJavaObject(null), valueObj2 };
@@ -118,12 +118,12 @@ public class TestGenericUDFDateSub extends TestCase {
ObjectInspector[] arguments = {valueOI1, valueOI2};
udf.initialize(arguments);
- DeferredObject valueObj1 = new DeferredJavaObject(new DateWritable(new Date(109, 06, 20)));
+ DeferredObject valueObj1 = new DeferredJavaObject(new DateWritableV2(Date.of(109, 06, 20)));
DeferredObject valueObj2 = new DeferredJavaObject(new Byte("4"));
DeferredObject[] args = {valueObj1, valueObj2};
- DateWritable output = (DateWritable) udf.evaluate(args);
+ DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
- assertEquals("date_add() test for BYTE failed ", "2009-07-16", output.toString());
+ assertEquals("date_add() test for BYTE failed ", "0109-06-16", output.toString());
}
public void testShortDataTypeAsDays() throws HiveException {
@@ -133,11 +133,11 @@ public class TestGenericUDFDateSub extends TestCase {
ObjectInspector[] arguments = {valueOI1, valueOI2};
udf.initialize(arguments);
- DeferredObject valueObj1 = new DeferredJavaObject(new DateWritable(new Date(109, 06, 20)));
+ DeferredObject valueObj1 = new DeferredJavaObject(new DateWritableV2(Date.of(109, 06, 20)));
DeferredObject valueObj2 = new DeferredJavaObject(new Short("4"));
DeferredObject[] args = {valueObj1, valueObj2};
- DateWritable output = (DateWritable) udf.evaluate(args);
+ DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
- assertEquals("date_add() test for SHORT failed ", "2009-07-16", output.toString());
+ assertEquals("date_add() test for SHORT failed ", "0109-06-16", output.toString());
}
}
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFromUtcTimestamp.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFromUtcTimestamp.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFromUtcTimestamp.java
index bc8572e..bb9918c 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFromUtcTimestamp.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFromUtcTimestamp.java
@@ -18,17 +18,12 @@
package org.apache.hadoop.hive.ql.udf.generic;
-import java.sql.Date;
-import java.sql.Timestamp;
-
+import org.apache.hadoop.hive.common.type.Timestamp;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredJavaObject;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredObject;
-import org.apache.hadoop.hive.serde2.io.DateWritable;
-import org.apache.hadoop.hive.serde2.io.TimestampWritable;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
-import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import junit.framework.TestCase;
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFGreatest.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFGreatest.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFGreatest.java
index 4677aa7..9787454 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFGreatest.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFGreatest.java
@@ -18,12 +18,13 @@
package org.apache.hadoop.hive.ql.udf.generic;
import junit.framework.TestCase;
+import org.apache.hadoop.hive.common.type.Date;
import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredJavaObject;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredObject;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
-import org.apache.hadoop.hive.serde2.io.DateWritable;
+import org.apache.hadoop.hive.serde2.io.DateWritableV2;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
@@ -32,8 +33,6 @@ import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
-import java.sql.Date;
-
public class TestGenericUDFGreatest extends TestCase {
public void testOneArg() throws HiveException {
@@ -210,7 +209,7 @@ public class TestGenericUDFGreatest extends TestCase {
} else if (o instanceof Double) {
return o != null ? new DoubleWritable((Double) o) : null;
} else if (o instanceof Date) {
- return o != null ? new DateWritable((Date) o) : null;
+ return o != null ? new DateWritableV2((Date) o) : null;
} else if (o instanceof Byte) {
return o != null ? new ByteWritable((Byte) o): null;
} else if (o instanceof Short) {
@@ -231,8 +230,8 @@ public class TestGenericUDFGreatest extends TestCase {
return ((IntWritable) o).get();
} else if (o instanceof DoubleWritable) {
return ((DoubleWritable) o).get();
- } else if (o instanceof DateWritable) {
- return ((DateWritable) o).get();
+ } else if (o instanceof DateWritableV2) {
+ return ((DateWritableV2) o).get();
} else if (o instanceof ByteWritable) {
return ((ByteWritable) o).get();
} else if (o instanceof ShortWritable) {
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLastDay.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLastDay.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLastDay.java
index 7d7c84d..972ab35 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLastDay.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLastDay.java
@@ -17,18 +17,17 @@
*/
package org.apache.hadoop.hive.ql.udf.generic;
-import java.sql.Timestamp;
-
-import junit.framework.TestCase;
-
+import org.apache.hadoop.hive.common.type.Timestamp;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredJavaObject;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredObject;
-import org.apache.hadoop.hive.serde2.io.TimestampWritable;
+import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
import org.apache.hadoop.io.Text;
+import junit.framework.TestCase;
+
public class TestGenericUDFLastDay extends TestCase {
public void testLastDay() throws HiveException {
@@ -65,41 +64,29 @@ public class TestGenericUDFLastDay extends TestCase {
}
public void testWrongDateStr() throws HiveException {
- boolean caught = false;
- try {
- GenericUDFLastDay udf = new GenericUDFLastDay();
- ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
- ObjectInspector[] arguments = { valueOI0 };
-
- udf.initialize(arguments);
-
- runAndVerify("2016-02-30", "2016-03-31", udf);
- runAndVerify("2014-01-32", "2014-02-28", udf);
- runAndVerify("01/14/2014", null, udf);
- runAndVerify(null, null, udf);
- } catch (HiveException e) {
- caught = true;
- }
- assertTrue(caught);
+ GenericUDFLastDay udf = new GenericUDFLastDay();
+ ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
+ ObjectInspector[] arguments = {valueOI0};
+
+ udf.initialize(arguments);
+
+ runAndVerify("2016-02-30", "2016-03-31", udf);
+ runAndVerify("2014-01-32", "2014-02-28", udf);
+ runAndVerify("01/14/2014", null, udf);
+ runAndVerify(null, null, udf);
}
public void testWrongTsStr() throws HiveException {
- boolean caught = false;
- try {
- GenericUDFLastDay udf = new GenericUDFLastDay();
- ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
- ObjectInspector[] arguments = { valueOI0 };
-
- udf.initialize(arguments);
-
- runAndVerify("2016-02-30 10:30:45", "2016-03-31", udf);
- runAndVerify("2014-01-32 10:30:45", "2014-02-28", udf);
- runAndVerify("01/14/2014 10:30:45", null, udf);
- runAndVerify("2016-02-28T10:30:45", "2016-02-29", udf);
- } catch (HiveException e) {
- caught = true;
- }
- assertTrue(caught);
+ GenericUDFLastDay udf = new GenericUDFLastDay();
+ ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
+ ObjectInspector[] arguments = { valueOI0 };
+
+ udf.initialize(arguments);
+
+ runAndVerify("2016-02-30 10:30:45", "2016-03-31", udf);
+ runAndVerify("2014-01-32 10:30:45", "2014-02-28", udf);
+ runAndVerify("01/14/2014 10:30:45", null, udf);
+ runAndVerify("2016-02-28T10:30:45", null, udf);
}
public void testLastDayTs() throws HiveException {
@@ -132,7 +119,7 @@ public class TestGenericUDFLastDay extends TestCase {
}
private void runAndVerifyTs(String str, String expResult, GenericUDF udf) throws HiveException {
- DeferredObject valueObj0 = new DeferredJavaObject(str != null ? new TimestampWritable(
+ DeferredObject valueObj0 = new DeferredJavaObject(str != null ? new TimestampWritableV2(
Timestamp.valueOf(str)) : null);
DeferredObject[] args = { valueObj0 };
Text output = (Text) udf.evaluate(args);
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLeast.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLeast.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLeast.java
index f966cb0..cccc70e 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLeast.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLeast.java
@@ -17,16 +17,15 @@
*/
package org.apache.hadoop.hive.ql.udf.generic;
-import java.sql.Date;
-
import junit.framework.TestCase;
+import org.apache.hadoop.hive.common.type.Date;
import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredJavaObject;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredObject;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
-import org.apache.hadoop.hive.serde2.io.DateWritable;
+import org.apache.hadoop.hive.serde2.io.DateWritableV2;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
@@ -210,7 +209,7 @@ public class TestGenericUDFLeast extends TestCase {
} else if (o instanceof Double) {
return o != null ? new DoubleWritable((Double) o) : null;
} else if (o instanceof Date) {
- return o != null ? new DateWritable((Date) o) : null;
+ return o != null ? new DateWritableV2((Date) o) : null;
} else if (o instanceof Byte) {
return o != null ? new ByteWritable((Byte) o): null;
} else if (o instanceof Short) {
@@ -231,8 +230,8 @@ public class TestGenericUDFLeast extends TestCase {
return ((IntWritable) o).get();
} else if (o instanceof DoubleWritable) {
return ((DoubleWritable) o).get();
- } else if (o instanceof DateWritable) {
- return ((DateWritable) o).get();
+ } else if (o instanceof DateWritableV2) {
+ return ((DateWritableV2) o).get();
} else if (o instanceof ByteWritable) {
return ((ByteWritable) o).get();
} else if (o instanceof ShortWritable) {
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFMonthsBetween.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFMonthsBetween.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFMonthsBetween.java
index 7eee550..e9f32a1 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFMonthsBetween.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFMonthsBetween.java
@@ -17,14 +17,13 @@
*/
package org.apache.hadoop.hive.ql.udf.generic;
-import java.sql.Date;
-import java.sql.Timestamp;
-
+import org.apache.hadoop.hive.common.type.Date;
+import org.apache.hadoop.hive.common.type.Timestamp;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredJavaObject;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredObject;
-import org.apache.hadoop.hive.serde2.io.DateWritable;
-import org.apache.hadoop.hive.serde2.io.TimestampWritable;
+import org.apache.hadoop.hive.serde2.io.DateWritableV2;
+import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
@@ -60,20 +59,14 @@ public class TestGenericUDFMonthsBetween extends TestCase {
}
public void testWrongDateStr() throws HiveException {
- boolean caught = false;
- try {
- GenericUDFMonthsBetween udf = new GenericUDFMonthsBetween();
- ObjectInspector valueOI1 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
- ObjectInspector valueOI2 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
- ObjectInspector[] arguments = { valueOI1, valueOI2 };
- udf.initialize(arguments);
-
- runTestStr("2002-03", "2002-02-24", null, udf);
- runTestStr("2002-03-24", "2002-02", null, udf);
- } catch (HiveException e) {
- caught = true;
- }
- assertTrue(caught);
+ GenericUDFMonthsBetween udf = new GenericUDFMonthsBetween();
+ ObjectInspector valueOI1 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
+ ObjectInspector valueOI2 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
+ ObjectInspector[] arguments = {valueOI1, valueOI2};
+ udf.initialize(arguments);
+
+ runTestStr("2002-03", "2002-02-24", null, udf);
+ runTestStr("2002-03-24", "2002-02", null, udf);
}
public void testMonthsBetweenForString(GenericUDFMonthsBetween udf) throws HiveException {
@@ -187,7 +180,7 @@ public class TestGenericUDFMonthsBetween extends TestCase {
runTestTs("2002-03-24 00:00:00", "2002-02-24 10:30:00", 1.0, udf);
runTestTs("2002-03-24 10:30:00", "2002-02-24 00:00:00", 1.0, udf);
- runTestTs("2003-04-23 23:59:59", "2003-03-24 00:0:0", 0.99999963, udf);
+ runTestTs("2003-04-23 23:59:59", "2003-03-24 00:00:00", 0.99999963, udf);
}
public void testMonthsBetweenForDate() throws HiveException {
@@ -253,8 +246,8 @@ public class TestGenericUDFMonthsBetween extends TestCase {
protected void runTestTs(String ts1, String ts2, Double expDiff, GenericUDFMonthsBetween udf)
throws HiveException {
- TimestampWritable tsWr1 = ts1 == null ? null : new TimestampWritable(Timestamp.valueOf(ts1));
- TimestampWritable tsWr2 = ts2 == null ? null : new TimestampWritable(Timestamp.valueOf(ts2));
+ TimestampWritableV2 tsWr1 = ts1 == null ? null : new TimestampWritableV2(Timestamp.valueOf(ts1));
+ TimestampWritableV2 tsWr2 = ts2 == null ? null : new TimestampWritableV2(Timestamp.valueOf(ts2));
DeferredJavaObject valueObj1 = new DeferredJavaObject(tsWr1);
DeferredJavaObject valueObj2 = new DeferredJavaObject(tsWr2);
DeferredObject[] args = new DeferredObject[] { valueObj1, valueObj2 };
@@ -269,8 +262,8 @@ public class TestGenericUDFMonthsBetween extends TestCase {
protected void runTestDt(String dt1, String dt2, Double expDiff, GenericUDFMonthsBetween udf)
throws HiveException {
- DateWritable dtWr1 = dt1 == null ? null : new DateWritable(Date.valueOf(dt1));
- DateWritable dtWr2 = dt2 == null ? null : new DateWritable(Date.valueOf(dt2));
+ DateWritableV2 dtWr1 = dt1 == null ? null : new DateWritableV2(Date.valueOf(dt1));
+ DateWritableV2 dtWr2 = dt2 == null ? null : new DateWritableV2(Date.valueOf(dt2));
DeferredJavaObject valueObj1 = new DeferredJavaObject(dtWr1);
DeferredJavaObject valueObj2 = new DeferredJavaObject(dtWr2);
DeferredObject[] args = new DeferredObject[] { valueObj1, valueObj2 };
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java
index af7f0b0..c211fdd 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java
@@ -71,27 +71,21 @@ public class TestGenericUDFNextDay extends TestCase {
}
public void testNotValidValues() throws Exception {
- boolean caught = false;
- try {
- GenericUDFNextDay udf = new GenericUDFNextDay();
- ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
- ObjectInspector valueOI1 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
- ObjectInspector[] arguments = { valueOI0, valueOI1 };
+ GenericUDFNextDay udf = new GenericUDFNextDay();
+ ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
+ ObjectInspector valueOI1 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
+ ObjectInspector[] arguments = { valueOI0, valueOI1 };
- udf.initialize(arguments);
+ udf.initialize(arguments);
- runAndVerify("01/14/2015", "TU", null, udf);
- runAndVerify("2015-01-14", "VT", null, udf);
- runAndVerify("2015-02-30", "WE", "2015-03-04", udf);
- runAndVerify("2015-02-32", "WE", "2015-03-11", udf);
- runAndVerify("2015-02-30 10:30:00", "WE", "2015-03-04", udf);
- runAndVerify("2015-02-32 10:30:00", "WE", "2015-03-11", udf);
- runAndVerify("2015/01/14 14:04:34", "SAT", null, udf);
- runAndVerify("2015-01-14T14:04:34", "SAT", "2015-01-17", udf);
- } catch (HiveException e) {
- caught = true;
- }
- assertTrue(caught);
+ runAndVerify("01/14/2015", "TU", null, udf);
+ runAndVerify("2015-01-14", "VT", null, udf);
+ runAndVerify("2015-02-30", "WE", "2015-03-04", udf);
+ runAndVerify("2015-02-32", "WE", "2015-03-11", udf);
+ runAndVerify("2015-02-30 10:30:00", "WE", "2015-03-04", udf);
+ runAndVerify("2015-02-32 10:30:00", "WE", "2015-03-11", udf);
+ runAndVerify("2015/01/14 14:04:34", "SAT", null, udf);
+ runAndVerify("2015-01-14T14:04:34", "SAT", null, udf);
}
public void testNextDayErrorArg1() throws HiveException {
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNullif.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNullif.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNullif.java
index 1402467..281b0d5 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNullif.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNullif.java
@@ -23,7 +23,7 @@ import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredJavaObject;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredObject;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
-import org.apache.hadoop.hive.serde2.io.DateWritable;
+import org.apache.hadoop.hive.serde2.io.DateWritableV2;
import org.apache.hadoop.hive.serde2.lazy.LazyInteger;
import org.apache.hadoop.hive.serde2.lazy.objectinspector.primitive.LazyPrimitiveObjectInspectorFactory;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
@@ -109,7 +109,7 @@ public class TestGenericUDFNullif {
ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.writableDateObjectInspector,
PrimitiveObjectInspectorFactory.writableByteObjectInspector };
- DeferredObject[] args = { new DeferredJavaObject(new DateWritable(4)),
+ DeferredObject[] args = { new DeferredJavaObject(new DateWritableV2(4)),
new DeferredJavaObject(new ByteWritable((byte) 4)) };
udf.initialize(inputOIs);
@@ -123,8 +123,8 @@ public class TestGenericUDFNullif {
PrimitiveObjectInspectorFactory.writableDateObjectInspector,
PrimitiveObjectInspectorFactory.writableDateObjectInspector };
DeferredObject[] args = {
- new DeferredJavaObject(new DateWritable(4)),
- new DeferredJavaObject(new DateWritable(4))
+ new DeferredJavaObject(new DateWritableV2(4)),
+ new DeferredJavaObject(new DateWritableV2(4))
};
PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
http://git-wip-us.apache.org/repos/asf/hive/blob/ae008b79/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFOPMinus.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFOPMinus.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFOPMinus.java
index efc9514..504aa7a 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFOPMinus.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFOPMinus.java
@@ -18,26 +18,25 @@
package org.apache.hadoop.hive.ql.udf.generic;
-import java.sql.Date;
-import java.sql.Timestamp;
-
+import org.apache.hadoop.hive.common.type.Date;
import org.apache.hadoop.hive.common.type.HiveDecimal;
import org.apache.hadoop.hive.common.type.HiveIntervalDayTime;
import org.apache.hadoop.hive.common.type.HiveIntervalYearMonth;
+import org.apache.hadoop.hive.common.type.Timestamp;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.session.SessionState;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredJavaObject;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredObject;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
-import org.apache.hadoop.hive.serde2.io.DateWritable;
+import org.apache.hadoop.hive.serde2.io.DateWritableV2;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable;
import org.apache.hadoop.hive.serde2.io.HiveIntervalDayTimeWritable;
import org.apache.hadoop.hive.serde2.io.HiveIntervalYearMonthWritable;
import org.apache.hadoop.hive.serde2.io.HiveVarcharWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
-import org.apache.hadoop.hive.serde2.io.TimestampWritable;
+import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
@@ -282,8 +281,8 @@ public class TestGenericUDFOPMinus extends AbstractTestGenericUDFOPNumeric {
public void testDateMinusIntervalYearMonth() throws Exception {
GenericUDFOPMinus udf = new GenericUDFOPMinus();
- DateWritable left =
- new DateWritable(Date.valueOf("2004-02-15"));
+ DateWritableV2 left =
+ new DateWritableV2(Date.valueOf("2004-02-15"));
HiveIntervalYearMonthWritable right =
new HiveIntervalYearMonthWritable(HiveIntervalYearMonth.valueOf("2-8"));
ObjectInspector[] inputOIs = {
@@ -297,7 +296,7 @@ public class TestGenericUDFOPMinus extends AbstractTestGenericUDFOPNumeric {
PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
Assert.assertEquals(TypeInfoFactory.dateTypeInfo, oi.getTypeInfo());
- DateWritable res = (DateWritable) udf.evaluate(args);
+ DateWritableV2 res = (DateWritableV2) udf.evaluate(args);
Assert.assertEquals(Date.valueOf("2001-06-15"), res.get());
}
@@ -305,8 +304,8 @@ public class TestGenericUDFOPMinus extends AbstractTestGenericUDFOPNumeric {
public void testTimestampMinusIntervalYearMonth() throws Exception {
GenericUDFOPMinus udf = new GenericUDFOPMinus();
- TimestampWritable left =
- new TimestampWritable(Timestamp.valueOf("2004-01-15 01:02:03.123456789"));
+ TimestampWritableV2 left =
+ new TimestampWritableV2(Timestamp.valueOf("2004-01-15 01:02:03.123456789"));
HiveIntervalYearMonthWritable right =
new HiveIntervalYearMonthWritable(HiveIntervalYearMonth.valueOf("2-2"));
ObjectInspector[] inputOIs = {
@@ -320,7 +319,7 @@ public class TestGenericUDFOPMinus extends AbstractTestGenericUDFOPNumeric {
PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
Assert.assertEquals(TypeInfoFactory.timestampTypeInfo, oi.getTypeInfo());
- TimestampWritable res = (TimestampWritable) udf.evaluate(args);
+ TimestampWritableV2 res = (TimestampWritableV2) udf.evaluate(args);
Assert.assertEquals(Timestamp.valueOf("2001-11-15 01:02:03.123456789"), res.getTimestamp());
}
@@ -351,8 +350,8 @@ public class TestGenericUDFOPMinus extends AbstractTestGenericUDFOPNumeric {
public void testTimestampMinusIntervalDayTime() throws Exception {
GenericUDFOPMinus udf = new GenericUDFOPMinus();
- TimestampWritable left =
- new TimestampWritable(Timestamp.valueOf("2001-01-02 2:3:4.567"));
+ TimestampWritableV2 left =
+ new TimestampWritableV2(Timestamp.valueOf("2001-01-02 2:3:4.567"));
HiveIntervalDayTimeWritable right =
new HiveIntervalDayTimeWritable(HiveIntervalDayTime.valueOf("1 2:3:4.567"));
ObjectInspector[] inputOIs = {
@@ -366,7 +365,7 @@ public class TestGenericUDFOPMinus extends AbstractTestGenericUDFOPNumeric {
PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
Assert.assertEquals(TypeInfoFactory.timestampTypeInfo, oi.getTypeInfo());
- TimestampWritable res = (TimestampWritable) udf.evaluate(args);
+ TimestampWritableV2 res = (TimestampWritableV2) udf.evaluate(args);
Assert.assertEquals(Timestamp.valueOf("2001-01-01 00:00:00"), res.getTimestamp());
}
@@ -374,8 +373,8 @@ public class TestGenericUDFOPMinus extends AbstractTestGenericUDFOPNumeric {
public void testDateMinusIntervalDayTime() throws Exception {
GenericUDFOPMinus udf = new GenericUDFOPMinus();
- DateWritable left =
- new DateWritable(Date.valueOf("2001-01-01"));
+ DateWritableV2 left =
+ new DateWritableV2(Date.valueOf("2001-01-01"));
HiveIntervalDayTimeWritable right =
new HiveIntervalDayTimeWritable(HiveIntervalDayTime.valueOf("1 0:0:0.555"));
ObjectInspector[] inputOIs = {
@@ -389,7 +388,7 @@ public class TestGenericUDFOPMinus extends AbstractTestGenericUDFOPNumeric {
PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
Assert.assertEquals(TypeInfoFactory.timestampTypeInfo, oi.getTypeInfo());
- TimestampWritable res = (TimestampWritable) udf.evaluate(args);
+ TimestampWritableV2 res = (TimestampWritableV2) udf.evaluate(args);
Assert.assertEquals(Timestamp.valueOf("2000-12-30 23:59:59.445"), res.getTimestamp());
}
}