You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by mm...@apache.org on 2018/06/25 10:38:34 UTC

[26/33] hive git commit: Revert "HIVE-12192 : Hive should carry out timestamp computations in UTC (Jesus Camacho Rodriguez via Ashutosh Chauhan)"

http://git-wip-us.apache.org/repos/asf/hive/blob/33088de0/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 477825e..d14f0a9 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,18 +13,19 @@
  */
 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 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;
 
+import org.apache.hadoop.hive.ql.io.parquet.timestamp.NanoTime;
+import org.apache.hadoop.hive.ql.io.parquet.timestamp.NanoTimeUtils;
+
 
 
 /**
@@ -41,7 +42,7 @@ public class TestParquetTimestampUtils extends TestCase {
     cal.set(Calendar.HOUR_OF_DAY, 0);
     cal.setTimeZone(TimeZone.getTimeZone("GMT"));
 
-    Timestamp ts = Timestamp.ofEpochMilli(cal.getTimeInMillis());
+    Timestamp ts = new Timestamp(cal.getTimeInMillis());
     NanoTime nt = NanoTimeUtils.getNanoTime(ts, false);
     Assert.assertEquals(nt.getJulianDay(), 2440000);
 
@@ -56,7 +57,7 @@ public class TestParquetTimestampUtils extends TestCase {
     cal1.set(Calendar.HOUR_OF_DAY, 0);
     cal1.setTimeZone(TimeZone.getTimeZone("GMT"));
 
-    Timestamp ts1 = Timestamp.ofEpochMilli(cal1.getTimeInMillis());
+    Timestamp ts1 = new Timestamp(cal1.getTimeInMillis());
     NanoTime nt1 = NanoTimeUtils.getNanoTime(ts1, false);
 
     Timestamp ts1Fetched = NanoTimeUtils.getTimestamp(nt1, false);
@@ -69,7 +70,7 @@ public class TestParquetTimestampUtils extends TestCase {
     cal2.set(Calendar.HOUR_OF_DAY, 0);
     cal2.setTimeZone(TimeZone.getTimeZone("UTC"));
 
-    Timestamp ts2 = Timestamp.ofEpochMilli(cal2.getTimeInMillis());
+    Timestamp ts2 = new Timestamp(cal2.getTimeInMillis());
     NanoTime nt2 = NanoTimeUtils.getNanoTime(ts2, false);
 
     Timestamp ts2Fetched = NanoTimeUtils.getTimestamp(nt2, false);
@@ -85,7 +86,7 @@ public class TestParquetTimestampUtils extends TestCase {
     cal1.set(Calendar.HOUR_OF_DAY, 0);
     cal1.setTimeZone(TimeZone.getTimeZone("GMT"));
 
-    ts1 = Timestamp.ofEpochMilli(cal1.getTimeInMillis());
+    ts1 = new Timestamp(cal1.getTimeInMillis());
     nt1 = NanoTimeUtils.getNanoTime(ts1, false);
 
     ts1Fetched = NanoTimeUtils.getTimestamp(nt1, false);
@@ -98,7 +99,7 @@ public class TestParquetTimestampUtils extends TestCase {
     cal2.set(Calendar.HOUR_OF_DAY, 0);
     cal2.setTimeZone(TimeZone.getTimeZone("UTC"));
 
-    ts2 = Timestamp.ofEpochMilli(cal2.getTimeInMillis());
+    ts2 = new Timestamp(cal2.getTimeInMillis());
     nt2 = NanoTimeUtils.getNanoTime(ts2, false);
 
     ts2Fetched = NanoTimeUtils.getTimestamp(nt2, false);
@@ -116,7 +117,8 @@ public class TestParquetTimestampUtils extends TestCase {
     cal.set(Calendar.MINUTE, 1);
     cal.set(Calendar.SECOND, 1);
     cal.setTimeZone(TimeZone.getTimeZone("GMT"));
-    Timestamp ts = Timestamp.ofEpochMilli(cal.getTimeInMillis(), 1);
+    Timestamp ts = new Timestamp(cal.getTimeInMillis());
+    ts.setNanos(1);
 
     //(1*60*60 + 1*60 + 1) * 10e9 + 1
     NanoTime nt = NanoTimeUtils.getNanoTime(ts, false);
@@ -131,7 +133,8 @@ public class TestParquetTimestampUtils extends TestCase {
     cal.set(Calendar.MINUTE, 59);
     cal.set(Calendar.SECOND, 59);
     cal.setTimeZone(TimeZone.getTimeZone("GMT"));
-    ts = Timestamp.ofEpochMilli(cal.getTimeInMillis(), 999999999);
+    ts = new Timestamp(cal.getTimeInMillis());
+    ts.setNanos(999999999);
 
     //(23*60*60 + 59*60 + 59)*10e9 + 999999999
     nt = NanoTimeUtils.getNanoTime(ts, false);
@@ -146,7 +149,8 @@ public class TestParquetTimestampUtils extends TestCase {
     cal2.set(Calendar.MINUTE, 10);
     cal2.set(Calendar.SECOND, 0);
     cal2.setTimeZone(TimeZone.getTimeZone("GMT"));
-    Timestamp ts2 = Timestamp.ofEpochMilli(cal2.getTimeInMillis(), 10);
+    Timestamp ts2 = new Timestamp(cal2.getTimeInMillis());
+    ts2.setNanos(10);
 
     Calendar cal1 = Calendar.getInstance();
     cal1.set(Calendar.YEAR,  1968);
@@ -156,7 +160,8 @@ public class TestParquetTimestampUtils extends TestCase {
     cal1.set(Calendar.MINUTE, 0);
     cal1.set(Calendar.SECOND, 0);
     cal1.setTimeZone(TimeZone.getTimeZone("GMT"));
-    Timestamp ts1 = Timestamp.ofEpochMilli(cal1.getTimeInMillis(), 1);
+    Timestamp ts1 = new Timestamp(cal1.getTimeInMillis());
+    ts1.setNanos(1);
 
     NanoTime n2 = NanoTimeUtils.getNanoTime(ts2, false);
     NanoTime n1 = NanoTimeUtils.getNanoTime(ts1, false);
@@ -178,7 +183,8 @@ public class TestParquetTimestampUtils extends TestCase {
     cal.set(Calendar.MINUTE, 1);
     cal.set(Calendar.SECOND, 1);
     cal.setTimeZone(TimeZone.getTimeZone("US/Pacific"));
-    Timestamp ts = Timestamp.ofEpochMilli(cal.getTimeInMillis(), 1);
+    Timestamp ts = new Timestamp(cal.getTimeInMillis());
+    ts.setNanos(1);
 
     /**
      * 17:00 PDT = 00:00 GMT (daylight-savings)
@@ -206,15 +212,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(), 2455562);
-    Assert.assertEquals(nt1.getTimeOfDayNanos(), 59430111111111L);
+    Assert.assertEquals(nt1.getJulianDay(), 2455563);
+    Assert.assertEquals(nt1.getTimeOfDayNanos(), 1830111111111L);
     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(), 1830222222222L);
+    Assert.assertEquals(nt2.getTimeOfDayNanos(), 30630222222222L);
     Timestamp ts2Fetched = NanoTimeUtils.getTimestamp(nt2, true);
     Assert.assertEquals(ts2Fetched.toString(), ts2.toString());
   }
@@ -245,7 +251,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", local);
+    verifyTsString("0001-01-01 00:00:00.0", local);
   }
 
   private void verifyTsString(String tsString, boolean local) {

http://git-wip-us.apache.org/repos/asf/hive/blob/33088de0/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 97695c2..406cece 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.common.type.Date;
-import org.apache.hadoop.hive.serde2.io.DateWritableV2;
+import org.apache.hadoop.hive.serde2.io.DateWritable;
 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) {
-      DateWritableV2 dw = new DateWritableV2((Date)colValue);
+      DateWritable dw = new DateWritable((Date)colValue);
       BaseSemanticAnalyzer.normalizeColSpec(partSpec, colName, colType, originalColSpec, dw);
       assertEquals(result, partSpec.get(colName));
     }

http://git-wip-us.apache.org/repos/asf/hive/blob/33088de0/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 4770ab7..9f20ff6 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,13 +17,14 @@
  */
 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.TimestampWritableV2;
+import org.apache.hadoop.hive.serde2.io.TimestampWritable;
 import org.junit.Test;
 
 import junit.framework.TestCase;
@@ -36,56 +37,56 @@ public class TestUDFDateFormatGranularity extends TestCase {
   public void testTimestampToTimestampWithGranularity() throws Exception {
     // Running example
     // Friday 30th August 1985 02:47:02 AM
-    final TimestampWritableV2 t = new TimestampWritableV2(Timestamp.ofEpochMilli(494243222000L));
+    final TimestampWritable t = new TimestampWritable(new Timestamp(494243222000L));
     UDFDateFloor g;
 
     // Year granularity
     // Tuesday 1st January 1985 12:00:00 AM
     g = new UDFDateFloorYear();
-    TimestampWritableV2 i1 = g.evaluate(t);
-    assertEquals(473385600000L, i1.getTimestamp().toEpochMilli());
+    TimestampWritable i1 = g.evaluate(t);
+    assertEquals(473414400000L, i1.getTimestamp().getTime());
     
     // Quarter granularity
     // Monday 1st July 1985 12:00:00 AM
     g = new UDFDateFloorQuarter();
-    TimestampWritableV2 i2 = g.evaluate(t);
-    assertEquals(489024000000L, i2.getTimestamp().toEpochMilli());
+    TimestampWritable i2 = g.evaluate(t);
+    assertEquals(489049200000L, i2.getTimestamp().getTime());
 
     // Month granularity
     // Thursday 1st August 1985 12:00:00 AM
     g = new UDFDateFloorMonth();
-    TimestampWritableV2 i3 = g.evaluate(t);
-    assertEquals(491702400000L, i3.getTimestamp().toEpochMilli());
+    TimestampWritable i3 = g.evaluate(t);
+    assertEquals(491727600000L, i3.getTimestamp().getTime());
 
     // Week granularity
     // Monday 26th August 1985 12:00:00 AM
     g = new UDFDateFloorWeek();
-    TimestampWritableV2 i4 = g.evaluate(t);
-    assertEquals(493862400000L, i4.getTimestamp().toEpochMilli());
+    TimestampWritable i4 = g.evaluate(t);
+    assertEquals(493887600000L, i4.getTimestamp().getTime());
 
     // Day granularity
     // Friday 30th August 1985 12:00:00 AM
     g = new UDFDateFloorDay();
-    TimestampWritableV2 i5 = g.evaluate(t);
-    assertEquals(494208000000L, i5.getTimestamp().toEpochMilli());
+    TimestampWritable i5 = g.evaluate(t);
+    assertEquals(494233200000L, i5.getTimestamp().getTime());
 
     // Hour granularity
     // Friday 30th August 1985 02:00:00 AM
     g = new UDFDateFloorHour();
-    TimestampWritableV2 i6 = g.evaluate(t);
-    assertEquals(494240400000L, i6.getTimestamp().toEpochMilli());
+    TimestampWritable i6 = g.evaluate(t);
+    assertEquals(494240400000L, i6.getTimestamp().getTime());
 
     // Minute granularity
     // Friday 30th August 1985 02:47:00 AM
     g = new UDFDateFloorMinute();
-    TimestampWritableV2 i7 = g.evaluate(t);
-    assertEquals(494243220000L, i7.getTimestamp().toEpochMilli());
+    TimestampWritable i7 = g.evaluate(t);
+    assertEquals(494243220000L, i7.getTimestamp().getTime());
 
     // Second granularity
     // Friday 30th August 1985 02:47:02 AM
     g = new UDFDateFloorSecond();
-    TimestampWritableV2 i8 = g.evaluate(t);
-    assertEquals(494243222000L, i8.getTimestamp().toEpochMilli());
+    TimestampWritable i8 = g.evaluate(t);
+    assertEquals(494243222000L, i8.getTimestamp().getTime());
   }
 
   @Test

http://git-wip-us.apache.org/repos/asf/hive/blob/33088de0/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 7c2ee15..0db9370 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.TimestampWritableV2;
+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.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,29 +151,41 @@ public class TestGenericUDFAddMonths extends TestCase {
   }
 
   public void testWrongDateStr() throws HiveException {
-    GenericUDFAddMonths udf = new GenericUDFAddMonths();
-    ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
-    ObjectInspector valueOI1 = PrimitiveObjectInspectorFactory.writableIntObjectInspector;
-    ObjectInspector[] arguments = { valueOI0, valueOI1 };
+    boolean caught = false;
+    try {
+      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);
+      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);
   }
 
   public void testWrongTsStr() throws HiveException {
-    GenericUDFAddMonths udf = new GenericUDFAddMonths();
-    ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
-    ObjectInspector valueOI1 = PrimitiveObjectInspectorFactory.writableIntObjectInspector;
-    ObjectInspector[] arguments = { valueOI0, valueOI1 };
+    boolean caught = false;
+    try {
+      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);
+      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);
   }
 
   public void testAddMonthsShort() throws HiveException {
@@ -238,7 +250,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 TimestampWritableV2(ts));
+    DeferredObject valueObj0 = new DeferredJavaObject(new TimestampWritable(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/33088de0/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 dcb4d9c..0acb46d 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.time.LocalDateTime;
+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.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.DateWritableV2;
-import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
+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.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};
-    DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
+    DateWritable output = (DateWritable) 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 = (DateWritableV2) udf.evaluate(nullArgs);
+    output = (DateWritable) 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 TimestampWritableV2(
-        Timestamp.valueOf(LocalDateTime.of(109, 06, 30, 4, 17, 52, 0).toString())));
+    DeferredObject valueObj = new DeferredJavaObject(new TimestampWritable(new Timestamp(109, 06,
+        30, 4, 17, 52, 0)));
     DeferredObject[] args = {valueObj};
-    DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
+    DateWritable output = (DateWritable) udf.evaluate(args);
 
-    assertEquals("to_date() test for TIMESTAMP failed ", "0109-06-30", output.toString());
+    assertEquals("to_date() test for TIMESTAMP failed ", "2009-07-30", output.toString());
 
     // Try with null args
     DeferredObject[] nullArgs = { new DeferredJavaObject(null) };
-    output = (DateWritableV2) udf.evaluate(nullArgs);
+    output = (DateWritable) 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 DateWritableV2(Date.of(109, 06, 30)));
+    DeferredObject valueObj = new DeferredJavaObject(new DateWritable(new Date(109, 06, 30)));
     DeferredObject[] args = {valueObj};
-    DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
+    DateWritable output = (DateWritable) udf.evaluate(args);
 
-    assertEquals("to_date() test for DATEWRITABLE failed ", "0109-06-30", output.toString());
+    assertEquals("to_date() test for DATEWRITABLE failed ", "2009-07-30", output.toString());
 
     // Try with null args
     DeferredObject[] nullArgs = { new DeferredJavaObject(null) };
-    output = (DateWritableV2) udf.evaluate(nullArgs);
+    output = (DateWritable) 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) };
-    DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
+    DateWritable output = (DateWritable) udf.evaluate(args);
 
     // Try with null VOID
     assertNull("to_date() with null DATE ", output);

http://git-wip-us.apache.org/repos/asf/hive/blob/33088de0/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 d74a4ef..9caf3b7 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.time.LocalDateTime;
+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.DateWritableV2;
-import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
+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.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};
-    DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
+    DateWritable output = (DateWritable) 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 TimestampWritableV2(
-        Timestamp.valueOf(LocalDateTime.of(109, 06, 20, 4, 17, 52, 0).toString())));
+    DeferredObject valueObj1 = new DeferredJavaObject(new TimestampWritable(new Timestamp(109, 06,
+        20, 4, 17, 52, 0)));
     DeferredObject valueObj2 = new DeferredJavaObject(new Integer("3"));
     DeferredObject[] args = {valueObj1, valueObj2};
-    DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
+    DateWritable output = (DateWritable) udf.evaluate(args);
 
-    assertEquals("date_add() test for TIMESTAMP failed ", "0109-06-23", output.toString());
+    assertEquals("date_add() test for TIMESTAMP failed ", "2009-07-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 DateWritableV2(Date.of(109, 06, 20)));
+    DeferredObject valueObj1 = new DeferredJavaObject(new DateWritable(new Date(109, 06, 20)));
     DeferredObject valueObj2 = new DeferredJavaObject(new Integer("4"));
     DeferredObject[] args = {valueObj1, valueObj2};
-    DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
+    DateWritable output = (DateWritable) udf.evaluate(args);
 
-    assertEquals("date_add() test for DATEWRITABLE failed ", "0109-06-24", output.toString());
+    assertEquals("date_add() test for DATEWRITABLE failed ", "2009-07-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 DateWritableV2(Date.of(109, 06, 20)));
+    DeferredObject valueObj1 = new DeferredJavaObject(new DateWritable(new Date(109, 06, 20)));
     DeferredObject valueObj2 = new DeferredJavaObject(new Byte("4"));
     DeferredObject[] args = {valueObj1, valueObj2};
-    DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
+    DateWritable output = (DateWritable) udf.evaluate(args);
 
-    assertEquals("date_add() test for BYTE failed ", "0109-06-24", output.toString());
+    assertEquals("date_add() test for BYTE failed ", "2009-07-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 DateWritableV2(Date.of(109, 06, 20)));
+    DeferredObject valueObj1 = new DeferredJavaObject(new DateWritable(new Date(109, 06, 20)));
     DeferredObject valueObj2 = new DeferredJavaObject(new Short("4"));
     DeferredObject[] args = {valueObj1, valueObj2};
-    DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
+    DateWritable output = (DateWritable) udf.evaluate(args);
 
-    assertEquals("date_add() test for SHORT failed ", "0109-06-24", output.toString());
+    assertEquals("date_add() test for SHORT failed ", "2009-07-24", output.toString());
   }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/33088de0/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 ea183d4..3f4ea3f 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.time.LocalDateTime;
+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.DateWritableV2;
-import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
+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.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 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 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[] 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 DateWritableV2(Date.of(109, 06, 20)));
-    DeferredObject valueObj2 = new DeferredJavaObject(new DateWritableV2(Date.of(109, 06, 10)));
+    DeferredObject valueObj1 = new DeferredJavaObject(new DateWritable(new Date(109, 06, 20)));
+    DeferredObject valueObj2 = new DeferredJavaObject(new DateWritable(new Date(109, 06, 10)));
     DeferredObject[] args = {valueObj1, valueObj2};
     IntWritable output = (IntWritable) udf.evaluate(args);
 

http://git-wip-us.apache.org/repos/asf/hive/blob/33088de0/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 6a3cdda..d29d964 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,19 +17,21 @@
  */
 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.DateWritableV2;
-import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
+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.hive.serde2.typeinfo.TypeInfoFactory;
 import org.apache.hadoop.io.Text;
+import org.junit.Assume;
 
 public class TestGenericUDFDateFormat extends TestCase {
 
@@ -65,18 +67,24 @@ public class TestGenericUDFDateFormat extends TestCase {
   }
 
   public void testWrongDateStr() throws HiveException {
-    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);
+    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);
   }
 
   public void testDateFormatDate() throws HiveException {
@@ -157,7 +165,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 DateWritableV2(
+    DeferredObject valueObj0 = new DeferredJavaObject(str != null ? new DateWritable(
         Date.valueOf(str)) : null);
     DeferredObject valueObj1 = new DeferredJavaObject(fmtText);
     DeferredObject[] args = { valueObj0, valueObj1 };
@@ -167,7 +175,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 TimestampWritableV2(
+    DeferredObject valueObj0 = new DeferredJavaObject(str != null ? new TimestampWritable(
         Timestamp.valueOf(str)) : null);
     DeferredObject valueObj1 = new DeferredJavaObject(fmtText);
     DeferredObject[] args = { valueObj0, valueObj1 };

http://git-wip-us.apache.org/repos/asf/hive/blob/33088de0/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 c71c2b7..cb00cfd 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.time.LocalDateTime;
+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.DateWritableV2;
-import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
+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.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};
-    DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
+    DateWritable output = (DateWritable) 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 TimestampWritableV2(
-        Timestamp.valueOf(LocalDateTime.of(109, 06, 20, 4, 17, 52, 0).toString())));
+    DeferredObject valueObj1 = new DeferredJavaObject(new TimestampWritable(new Timestamp(109, 06,
+        20, 4, 17, 52, 0)));
     DeferredObject valueObj2 = new DeferredJavaObject(new Integer("3"));
     DeferredObject[] args = {valueObj1, valueObj2};
-    DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
+    DateWritable output = (DateWritable) udf.evaluate(args);
 
-    assertEquals("date_sub() test for TIMESTAMP failed ", "0109-06-17", output.toString());
+    assertEquals("date_sub() test for TIMESTAMP failed ", "2009-07-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 DateWritableV2(Date.of(109, 06, 20)));
+    DeferredObject valueObj1 = new DeferredJavaObject(new DateWritable(new Date(109, 06, 20)));
     DeferredObject valueObj2 = new DeferredJavaObject(new Integer("4"));
     DeferredObject[] args = {valueObj1, valueObj2};
-    DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
+    DateWritable output = (DateWritable) udf.evaluate(args);
 
-    assertEquals("date_sub() test for DATEWRITABLE failed ", "0109-06-16", output.toString());
+    assertEquals("date_sub() test for DATEWRITABLE failed ", "2009-07-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 DateWritableV2(Date.of(109, 06, 20)));
+    DeferredObject valueObj1 = new DeferredJavaObject(new DateWritable(new Date(109, 06, 20)));
     DeferredObject valueObj2 = new DeferredJavaObject(new Byte("4"));
     DeferredObject[] args = {valueObj1, valueObj2};
-    DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
+    DateWritable output = (DateWritable) udf.evaluate(args);
 
-    assertEquals("date_add() test for BYTE failed ", "0109-06-16", output.toString());
+    assertEquals("date_add() test for BYTE failed ", "2009-07-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 DateWritableV2(Date.of(109, 06, 20)));
+    DeferredObject valueObj1 = new DeferredJavaObject(new DateWritable(new Date(109, 06, 20)));
     DeferredObject valueObj2 = new DeferredJavaObject(new Short("4"));
     DeferredObject[] args = {valueObj1, valueObj2};
-    DateWritableV2 output = (DateWritableV2) udf.evaluate(args);
+    DateWritable output = (DateWritable) udf.evaluate(args);
 
-    assertEquals("date_add() test for SHORT failed ", "0109-06-16", output.toString());
+    assertEquals("date_add() test for SHORT failed ", "2009-07-16", output.toString());
   }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/33088de0/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 bb9918c..bc8572e 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,12 +18,17 @@
 
 package org.apache.hadoop.hive.ql.udf.generic;
 
-import org.apache.hadoop.hive.common.type.Timestamp;
+import java.sql.Date;
+import java.sql.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/33088de0/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 9787454..4677aa7 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,13 +18,12 @@
 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.DateWritableV2;
+import org.apache.hadoop.hive.serde2.io.DateWritable;
 import org.apache.hadoop.hive.serde2.io.DoubleWritable;
 import org.apache.hadoop.hive.serde2.io.ShortWritable;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
@@ -33,6 +32,8 @@ 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 {
@@ -209,7 +210,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 DateWritableV2((Date) o) : null;
+      return o != null ? new DateWritable((Date) o) : null;
     } else if (o instanceof Byte) {
       return o != null ? new ByteWritable((Byte) o): null;
     } else if (o instanceof Short) {
@@ -230,8 +231,8 @@ public class TestGenericUDFGreatest extends TestCase {
       return ((IntWritable) o).get();
     } else if (o instanceof DoubleWritable) {
       return ((DoubleWritable) o).get();
-    } else if (o instanceof DateWritableV2) {
-      return ((DateWritableV2) o).get();
+    } else if (o instanceof DateWritable) {
+      return ((DateWritable) 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/33088de0/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 972ab35..7d7c84d 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,17 +17,18 @@
  */
 package org.apache.hadoop.hive.ql.udf.generic;
 
-import org.apache.hadoop.hive.common.type.Timestamp;
+import java.sql.Timestamp;
+
+import junit.framework.TestCase;
+
 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.TimestampWritableV2;
+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.Text;
 
-import junit.framework.TestCase;
-
 public class TestGenericUDFLastDay extends TestCase {
 
   public void testLastDay() throws HiveException {
@@ -64,29 +65,41 @@ public class TestGenericUDFLastDay extends TestCase {
   }
 
   public void testWrongDateStr() throws HiveException {
-    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);
+    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);
   }
 
   public void testWrongTsStr() throws HiveException {
-    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);
+    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);
   }
 
   public void testLastDayTs() throws HiveException {
@@ -119,7 +132,7 @@ public class TestGenericUDFLastDay extends TestCase {
   }
 
   private void runAndVerifyTs(String str, String expResult, GenericUDF udf) throws HiveException {
-    DeferredObject valueObj0 = new DeferredJavaObject(str != null ? new TimestampWritableV2(
+    DeferredObject valueObj0 = new DeferredJavaObject(str != null ? new TimestampWritable(
         Timestamp.valueOf(str)) : null);
     DeferredObject[] args = { valueObj0 };
     Text output = (Text) udf.evaluate(args);

http://git-wip-us.apache.org/repos/asf/hive/blob/33088de0/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 cccc70e..f966cb0 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,15 +17,16 @@
  */
 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.DateWritableV2;
+import org.apache.hadoop.hive.serde2.io.DateWritable;
 import org.apache.hadoop.hive.serde2.io.DoubleWritable;
 import org.apache.hadoop.hive.serde2.io.ShortWritable;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
@@ -209,7 +210,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 DateWritableV2((Date) o) : null;
+      return o != null ? new DateWritable((Date) o) : null;
     } else if (o instanceof Byte) {
       return o != null ? new ByteWritable((Byte) o): null;
     } else if (o instanceof Short) {
@@ -230,8 +231,8 @@ public class TestGenericUDFLeast extends TestCase {
       return ((IntWritable) o).get();
     } else if (o instanceof DoubleWritable) {
       return ((DoubleWritable) o).get();
-    } else if (o instanceof DateWritableV2) {
-      return ((DateWritableV2) o).get();
+    } else if (o instanceof DateWritable) {
+      return ((DateWritable) 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/33088de0/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 e9f32a1..7eee550 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,13 +17,14 @@
  */
 package org.apache.hadoop.hive.ql.udf.generic;
 
-import org.apache.hadoop.hive.common.type.Date;
-import org.apache.hadoop.hive.common.type.Timestamp;
+import java.sql.Date;
+import java.sql.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.DateWritableV2;
-import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
+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.hive.serde2.typeinfo.TypeInfoFactory;
@@ -59,14 +60,20 @@ public class TestGenericUDFMonthsBetween extends TestCase {
   }
 
   public void testWrongDateStr() throws HiveException {
-    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);
+    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);
   }
 
   public void testMonthsBetweenForString(GenericUDFMonthsBetween udf) throws HiveException {
@@ -180,7 +187,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:00:00", 0.99999963, udf);
+    runTestTs("2003-04-23 23:59:59", "2003-03-24 00:0:0", 0.99999963, udf);
   }
 
   public void testMonthsBetweenForDate() throws HiveException {
@@ -246,8 +253,8 @@ public class TestGenericUDFMonthsBetween extends TestCase {
 
   protected void runTestTs(String ts1, String ts2, Double expDiff, GenericUDFMonthsBetween udf)
       throws HiveException {
-    TimestampWritableV2 tsWr1 = ts1 == null ? null : new TimestampWritableV2(Timestamp.valueOf(ts1));
-    TimestampWritableV2 tsWr2 = ts2 == null ? null : new TimestampWritableV2(Timestamp.valueOf(ts2));
+    TimestampWritable tsWr1 = ts1 == null ? null : new TimestampWritable(Timestamp.valueOf(ts1));
+    TimestampWritable tsWr2 = ts2 == null ? null : new TimestampWritable(Timestamp.valueOf(ts2));
     DeferredJavaObject valueObj1 = new DeferredJavaObject(tsWr1);
     DeferredJavaObject valueObj2 = new DeferredJavaObject(tsWr2);
     DeferredObject[] args = new DeferredObject[] { valueObj1, valueObj2 };
@@ -262,8 +269,8 @@ public class TestGenericUDFMonthsBetween extends TestCase {
 
   protected void runTestDt(String dt1, String dt2, Double expDiff, GenericUDFMonthsBetween udf)
       throws HiveException {
-    DateWritableV2 dtWr1 = dt1 == null ? null : new DateWritableV2(Date.valueOf(dt1));
-    DateWritableV2 dtWr2 = dt2 == null ? null : new DateWritableV2(Date.valueOf(dt2));
+    DateWritable dtWr1 = dt1 == null ? null : new DateWritable(Date.valueOf(dt1));
+    DateWritable dtWr2 = dt2 == null ? null : new DateWritable(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/33088de0/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 c211fdd..af7f0b0 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,21 +71,27 @@ public class TestGenericUDFNextDay extends TestCase {
   }
 
   public void testNotValidValues() throws Exception {
-    GenericUDFNextDay udf = new GenericUDFNextDay();
-    ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
-    ObjectInspector valueOI1 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
-    ObjectInspector[] arguments = { valueOI0, valueOI1 };
+    boolean caught = false;
+    try {
+      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", null, udf);
+      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);
   }
 
   public void testNextDayErrorArg1() throws HiveException {

http://git-wip-us.apache.org/repos/asf/hive/blob/33088de0/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 281b0d5..1402467 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.DateWritableV2;
+import org.apache.hadoop.hive.serde2.io.DateWritable;
 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 DateWritableV2(4)),
+    DeferredObject[] args = { new DeferredJavaObject(new DateWritable(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 DateWritableV2(4)),
-        new DeferredJavaObject(new DateWritableV2(4))
+        new DeferredJavaObject(new DateWritable(4)),
+        new DeferredJavaObject(new DateWritable(4))
         };
 
     PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);

http://git-wip-us.apache.org/repos/asf/hive/blob/33088de0/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 504aa7a..efc9514 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,25 +18,26 @@
 
 package org.apache.hadoop.hive.ql.udf.generic;
 
-import org.apache.hadoop.hive.common.type.Date;
+import java.sql.Date;
+import java.sql.Timestamp;
+
 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.DateWritableV2;
+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.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.TimestampWritableV2;
+import org.apache.hadoop.hive.serde2.io.TimestampWritable;
 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;
@@ -281,8 +282,8 @@ public class TestGenericUDFOPMinus extends AbstractTestGenericUDFOPNumeric {
   public void testDateMinusIntervalYearMonth() throws Exception {
     GenericUDFOPMinus udf = new GenericUDFOPMinus();
 
-    DateWritableV2 left =
-        new DateWritableV2(Date.valueOf("2004-02-15"));
+    DateWritable left =
+        new DateWritable(Date.valueOf("2004-02-15"));
     HiveIntervalYearMonthWritable right =
         new HiveIntervalYearMonthWritable(HiveIntervalYearMonth.valueOf("2-8"));
     ObjectInspector[] inputOIs = {
@@ -296,7 +297,7 @@ public class TestGenericUDFOPMinus extends AbstractTestGenericUDFOPNumeric {
 
     PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
     Assert.assertEquals(TypeInfoFactory.dateTypeInfo, oi.getTypeInfo());
-    DateWritableV2 res = (DateWritableV2) udf.evaluate(args);
+    DateWritable res = (DateWritable) udf.evaluate(args);
     Assert.assertEquals(Date.valueOf("2001-06-15"), res.get());
   }
 
@@ -304,8 +305,8 @@ public class TestGenericUDFOPMinus extends AbstractTestGenericUDFOPNumeric {
   public void testTimestampMinusIntervalYearMonth() throws Exception {
     GenericUDFOPMinus udf = new GenericUDFOPMinus();
 
-    TimestampWritableV2 left =
-        new TimestampWritableV2(Timestamp.valueOf("2004-01-15 01:02:03.123456789"));
+    TimestampWritable left =
+        new TimestampWritable(Timestamp.valueOf("2004-01-15 01:02:03.123456789"));
     HiveIntervalYearMonthWritable right =
         new HiveIntervalYearMonthWritable(HiveIntervalYearMonth.valueOf("2-2"));
     ObjectInspector[] inputOIs = {
@@ -319,7 +320,7 @@ public class TestGenericUDFOPMinus extends AbstractTestGenericUDFOPNumeric {
 
     PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
     Assert.assertEquals(TypeInfoFactory.timestampTypeInfo, oi.getTypeInfo());
-    TimestampWritableV2 res = (TimestampWritableV2) udf.evaluate(args);
+    TimestampWritable res = (TimestampWritable) udf.evaluate(args);
     Assert.assertEquals(Timestamp.valueOf("2001-11-15 01:02:03.123456789"), res.getTimestamp());
   }
 
@@ -350,8 +351,8 @@ public class TestGenericUDFOPMinus extends AbstractTestGenericUDFOPNumeric {
   public void testTimestampMinusIntervalDayTime() throws Exception {
     GenericUDFOPMinus udf = new GenericUDFOPMinus();
 
-    TimestampWritableV2 left =
-        new TimestampWritableV2(Timestamp.valueOf("2001-01-02 2:3:4.567"));
+    TimestampWritable left =
+        new TimestampWritable(Timestamp.valueOf("2001-01-02 2:3:4.567"));
     HiveIntervalDayTimeWritable right =
         new HiveIntervalDayTimeWritable(HiveIntervalDayTime.valueOf("1 2:3:4.567"));
     ObjectInspector[] inputOIs = {
@@ -365,7 +366,7 @@ public class TestGenericUDFOPMinus extends AbstractTestGenericUDFOPNumeric {
 
     PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
     Assert.assertEquals(TypeInfoFactory.timestampTypeInfo, oi.getTypeInfo());
-    TimestampWritableV2 res = (TimestampWritableV2) udf.evaluate(args);
+    TimestampWritable res = (TimestampWritable) udf.evaluate(args);
     Assert.assertEquals(Timestamp.valueOf("2001-01-01 00:00:00"), res.getTimestamp());
   }
 
@@ -373,8 +374,8 @@ public class TestGenericUDFOPMinus extends AbstractTestGenericUDFOPNumeric {
   public void testDateMinusIntervalDayTime() throws Exception {
     GenericUDFOPMinus udf = new GenericUDFOPMinus();
 
-    DateWritableV2 left =
-        new DateWritableV2(Date.valueOf("2001-01-01"));
+    DateWritable left =
+        new DateWritable(Date.valueOf("2001-01-01"));
     HiveIntervalDayTimeWritable right =
         new HiveIntervalDayTimeWritable(HiveIntervalDayTime.valueOf("1 0:0:0.555"));
     ObjectInspector[] inputOIs = {
@@ -388,7 +389,7 @@ public class TestGenericUDFOPMinus extends AbstractTestGenericUDFOPNumeric {
 
     PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
     Assert.assertEquals(TypeInfoFactory.timestampTypeInfo, oi.getTypeInfo());
-    TimestampWritableV2 res = (TimestampWritableV2) udf.evaluate(args);
+    TimestampWritable res = (TimestampWritable) udf.evaluate(args);
     Assert.assertEquals(Timestamp.valueOf("2000-12-30 23:59:59.445"), res.getTimestamp());
   }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/33088de0/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFOPPlus.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFOPPlus.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFOPPlus.java
index 2169999..5350a00 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFOPPlus.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFOPPlus.java
@@ -18,25 +18,26 @@
 
 package org.apache.hadoop.hive.ql.udf.generic;
 
-import org.apache.hadoop.hive.common.type.Date;
+import java.sql.Date;
+import java.sql.Timestamp;
+
 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.DateWritableV2;
+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.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.TimestampWritableV2;
+import org.apache.hadoop.hive.serde2.io.TimestampWritable;
 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;
@@ -288,8 +289,8 @@ public class TestGenericUDFOPPlus extends AbstractTestGenericUDFOPNumeric {
 
     HiveIntervalYearMonthWritable left =
         new HiveIntervalYearMonthWritable(HiveIntervalYearMonth.valueOf("2-8"));
-    DateWritableV2 right =
-        new DateWritableV2(Date.valueOf("2001-06-15"));
+    DateWritable right =
+        new DateWritable(Date.valueOf("2001-06-15"));
     ObjectInspector[] inputOIs = {
         PrimitiveObjectInspectorFactory.writableHiveIntervalYearMonthObjectInspector,
         PrimitiveObjectInspectorFactory.writableDateObjectInspector
@@ -301,7 +302,7 @@ public class TestGenericUDFOPPlus extends AbstractTestGenericUDFOPNumeric {
 
     PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
     Assert.assertEquals(TypeInfoFactory.dateTypeInfo, oi.getTypeInfo());
-    DateWritableV2 res = (DateWritableV2) udf.evaluate(args);
+    DateWritable res = (DateWritable) udf.evaluate(args);
     Assert.assertEquals(Date.valueOf("2004-02-15"), res.get());
   }
 
@@ -309,8 +310,8 @@ public class TestGenericUDFOPPlus extends AbstractTestGenericUDFOPNumeric {
   public void testDatePlusIntervalYearMonth() throws Exception {
     GenericUDFOPPlus udf = new GenericUDFOPPlus();
 
-    DateWritableV2 left =
-        new DateWritableV2(Date.valueOf("2001-06-15"));
+    DateWritable left =
+        new DateWritable(Date.valueOf("2001-06-15"));
     HiveIntervalYearMonthWritable right =
         new HiveIntervalYearMonthWritable(HiveIntervalYearMonth.valueOf("2-8"));
     ObjectInspector[] inputOIs = {
@@ -324,7 +325,7 @@ public class TestGenericUDFOPPlus extends AbstractTestGenericUDFOPNumeric {
 
     PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
     Assert.assertEquals(TypeInfoFactory.dateTypeInfo, oi.getTypeInfo());
-    DateWritableV2 res = (DateWritableV2) udf.evaluate(args);
+    DateWritable res = (DateWritable) udf.evaluate(args);
     Assert.assertEquals(Date.valueOf("2004-02-15"), res.get());
   }
 
@@ -334,8 +335,8 @@ public class TestGenericUDFOPPlus extends AbstractTestGenericUDFOPNumeric {
 
     HiveIntervalYearMonthWritable left =
         new HiveIntervalYearMonthWritable(HiveIntervalYearMonth.valueOf("2-2"));
-    TimestampWritableV2 right =
-        new TimestampWritableV2(Timestamp.valueOf("2001-11-15 01:02:03.123456789"));
+    TimestampWritable right =
+        new TimestampWritable(Timestamp.valueOf("2001-11-15 01:02:03.123456789"));
     ObjectInspector[] inputOIs = {
         PrimitiveObjectInspectorFactory.writableHiveIntervalYearMonthObjectInspector,
         PrimitiveObjectInspectorFactory.writableTimestampObjectInspector
@@ -347,7 +348,7 @@ public class TestGenericUDFOPPlus extends AbstractTestGenericUDFOPNumeric {
 
     PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
     Assert.assertEquals(TypeInfoFactory.timestampTypeInfo, oi.getTypeInfo());
-    TimestampWritableV2 res = (TimestampWritableV2) udf.evaluate(args);
+    TimestampWritable res = (TimestampWritable) udf.evaluate(args);
     Assert.assertEquals(Timestamp.valueOf("2004-01-15 01:02:03.123456789"), res.getTimestamp());
   }
 
@@ -355,8 +356,8 @@ public class TestGenericUDFOPPlus extends AbstractTestGenericUDFOPNumeric {
   public void testTimestampPlusIntervalYearMonth() throws Exception {
     GenericUDFOPPlus udf = new GenericUDFOPPlus();
 
-    TimestampWritableV2 left =
-        new TimestampWritableV2(Timestamp.valueOf("2001-11-15 01:02:03.123456789"));
+    TimestampWritable left =
+        new TimestampWritable(Timestamp.valueOf("2001-11-15 01:02:03.123456789"));
     HiveIntervalYearMonthWritable right =
         new HiveIntervalYearMonthWritable(HiveIntervalYearMonth.valueOf("2-2"));
     ObjectInspector[] inputOIs = {
@@ -370,7 +371,7 @@ public class TestGenericUDFOPPlus extends AbstractTestGenericUDFOPNumeric {
 
     PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
     Assert.assertEquals(TypeInfoFactory.timestampTypeInfo, oi.getTypeInfo());
-    TimestampWritableV2 res = (TimestampWritableV2) udf.evaluate(args);
+    TimestampWritable res = (TimestampWritable) udf.evaluate(args);
     Assert.assertEquals(Timestamp.valueOf("2004-01-15 01:02:03.123456789"), res.getTimestamp());
   }
 
@@ -403,8 +404,8 @@ public class TestGenericUDFOPPlus extends AbstractTestGenericUDFOPNumeric {
 
     HiveIntervalDayTimeWritable left =
         new HiveIntervalDayTimeWritable(HiveIntervalDayTime.valueOf("1 2:3:4.567"));
-    TimestampWritableV2 right =
-        new TimestampWritableV2(Timestamp.valueOf("2001-01-01 00:00:00"));
+    TimestampWritable right =
+        new TimestampWritable(Timestamp.valueOf("2001-01-01 00:00:00"));
     ObjectInspector[] inputOIs = {
         PrimitiveObjectInspectorFactory.writableHiveIntervalDayTimeObjectInspector,
         PrimitiveObjectInspectorFactory.writableTimestampObjectInspector
@@ -416,7 +417,7 @@ public class TestGenericUDFOPPlus extends AbstractTestGenericUDFOPNumeric {
 
     PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
     Assert.assertEquals(TypeInfoFactory.timestampTypeInfo, oi.getTypeInfo());
-    TimestampWritableV2 res = (TimestampWritableV2) udf.evaluate(args);
+    TimestampWritable res = (TimestampWritable) udf.evaluate(args);
     Assert.assertEquals(Timestamp.valueOf("2001-01-02 2:3:4.567"), res.getTimestamp());
   }
 
@@ -424,8 +425,8 @@ public class TestGenericUDFOPPlus extends AbstractTestGenericUDFOPNumeric {
   public void testTimestampPlusIntervalDayTime() throws Exception {
     GenericUDFOPPlus udf = new GenericUDFOPPlus();
 
-    TimestampWritableV2 left =
-        new TimestampWritableV2(Timestamp.valueOf("2001-01-01 00:00:00"));
+    TimestampWritable left =
+        new TimestampWritable(Timestamp.valueOf("2001-01-01 00:00:00"));
     HiveIntervalDayTimeWritable right =
         new HiveIntervalDayTimeWritable(HiveIntervalDayTime.valueOf("1 2:3:4.567"));
     ObjectInspector[] inputOIs = {
@@ -439,7 +440,7 @@ public class TestGenericUDFOPPlus extends AbstractTestGenericUDFOPNumeric {
 
     PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
     Assert.assertEquals(TypeInfoFactory.timestampTypeInfo, oi.getTypeInfo());
-    TimestampWritableV2 res = (TimestampWritableV2) udf.evaluate(args);
+    TimestampWritable res = (TimestampWritable) udf.evaluate(args);
     Assert.assertEquals(Timestamp.valueOf("2001-01-02 2:3:4.567"), res.getTimestamp());
   }
 
@@ -449,8 +450,8 @@ public class TestGenericUDFOPPlus extends AbstractTestGenericUDFOPNumeric {
 
     HiveIntervalDayTimeWritable left =
         new HiveIntervalDayTimeWritable(HiveIntervalDayTime.valueOf("1 2:3:4.567"));
-    DateWritableV2 right =
-        new DateWritableV2(Date.valueOf("2001-01-01"));
+    DateWritable right =
+        new DateWritable(Date.valueOf("2001-01-01"));
     ObjectInspector[] inputOIs = {
         PrimitiveObjectInspectorFactory.writableHiveIntervalDayTimeObjectInspector,
         PrimitiveObjectInspectorFactory.writableDateObjectInspector
@@ -463,7 +464,7 @@ public class TestGenericUDFOPPlus extends AbstractTestGenericUDFOPNumeric {
     // Date + day-time interval = timestamp
     PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
     Assert.assertEquals(TypeInfoFactory.timestampTypeInfo, oi.getTypeInfo());
-    TimestampWritableV2 res = (TimestampWritableV2) udf.evaluate(args);
+    TimestampWritable res = (TimestampWritable) udf.evaluate(args);
     Assert.assertEquals(Timestamp.valueOf("2001-01-02 2:3:4.567"), res.getTimestamp());
   }
 
@@ -471,8 +472,8 @@ public class TestGenericUDFOPPlus extends AbstractTestGenericUDFOPNumeric {
   public void testDatePlusIntervalDayTime() throws Exception {
     GenericUDFOPPlus udf = new GenericUDFOPPlus();
 
-    DateWritableV2 left =
-        new DateWritableV2(Date.valueOf("2001-01-01"));
+    DateWritable left =
+        new DateWritable(Date.valueOf("2001-01-01"));
     HiveIntervalDayTimeWritable right =
         new HiveIntervalDayTimeWritable(HiveIntervalDayTime.valueOf("1 2:3:4.567"));
     ObjectInspector[] inputOIs = {
@@ -487,7 +488,7 @@ public class TestGenericUDFOPPlus extends AbstractTestGenericUDFOPNumeric {
     // Date + day-time interval = timestamp
     PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs);
     Assert.assertEquals(TypeInfoFactory.timestampTypeInfo, oi.getTypeInfo());
-    TimestampWritableV2 res = (TimestampWritableV2) udf.evaluate(args);
+    TimestampWritable res = (TimestampWritable) udf.evaluate(args);
     Assert.assertEquals(Timestamp.valueOf("2001-01-02 2:3:4.567"), res.getTimestamp());
   }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/33088de0/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFQuarter.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFQuarter.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFQuarter.java
index 5e6c14e..4b09aa1 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFQuarter.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFQuarter.java
@@ -17,15 +17,16 @@
  */
 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.DateWritableV2;
-import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
+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.IntWritable;
@@ -82,16 +83,22 @@ public class TestGenericUDFQuarter extends TestCase {
   }
 
   public void testWrongDateStr() throws HiveException {
-    GenericUDFQuarter udf = new GenericUDFQuarter();
-    ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
-    ObjectInspector[] arguments = {valueOI0};
-
-    udf.initialize(arguments);
-
-    runAndVerifyStr("2016-03-35", 2, udf);
-    runAndVerifyStr("2014-01-32", 1, udf);
-    runAndVerifyStr("01/14/2014", null, udf);
-    runAndVerifyStr(null, null, udf);
+    boolean caught = false;
+    try {
+      GenericUDFQuarter udf = new GenericUDFQuarter();
+      ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
+      ObjectInspector[] arguments = { valueOI0 };
+
+      udf.initialize(arguments);
+
+      runAndVerifyStr("2016-03-35", 2, udf);
+      runAndVerifyStr("2014-01-32", 1, udf);
+      runAndVerifyStr("01/14/2014", null, udf);
+      runAndVerifyStr(null, null, udf);
+    } catch (HiveException e) {
+      caught = true;
+    }
+    assertTrue(caught);
   }
 
   public void testQuarterDt() throws HiveException {
@@ -159,7 +166,7 @@ public class TestGenericUDFQuarter extends TestCase {
   }
 
   private void runAndVerifyDt(String str, Integer expResult, GenericUDF udf) throws HiveException {
-    DeferredObject valueObj0 = new DeferredJavaObject(str != null ? new DateWritableV2(
+    DeferredObject valueObj0 = new DeferredJavaObject(str != null ? new DateWritable(
         Date.valueOf(str)) : null);
     DeferredObject[] args = { valueObj0 };
     IntWritable output = (IntWritable) udf.evaluate(args);
@@ -172,7 +179,7 @@ public class TestGenericUDFQuarter extends TestCase {
   }
 
   private void runAndVerifyTs(String str, Integer expResult, GenericUDF udf) throws HiveException {
-    DeferredObject valueObj0 = new DeferredJavaObject(str != null ? new TimestampWritableV2(
+    DeferredObject valueObj0 = new DeferredJavaObject(str != null ? new TimestampWritable(
         Timestamp.valueOf(str)) : null);
     DeferredObject[] args = { valueObj0 };
     IntWritable output = (IntWritable) udf.evaluate(args);

http://git-wip-us.apache.org/repos/asf/hive/blob/33088de0/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFSortArray.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFSortArray.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFSortArray.java
index 5b6e2ab..fcdb49c 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFSortArray.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFSortArray.java
@@ -18,14 +18,14 @@
 
 package org.apache.hadoop.hive.ql.udf.generic;
 
+import java.sql.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import static java.util.Arrays.asList;
 
-import org.apache.hadoop.hive.common.type.Date;
 import org.apache.hadoop.hive.ql.metadata.HiveException;
-import org.apache.hadoop.hive.serde2.io.DateWritableV2;
+import org.apache.hadoop.hive.serde2.io.DateWritable;
 import org.apache.hadoop.hive.serde2.io.DoubleWritable;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory;
@@ -93,22 +93,22 @@ public class TestGenericUDFSortArray {
     udf.initialize(inputOIs);
 
     Object i1 = asList(new Text("a"), new DoubleWritable(3.1415),
-        new DateWritableV2(Date.of(2015, 5, 26)),
+        new DateWritable(new Date(2015, 5, 26)),
         asList(new IntWritable(1), new IntWritable(3),
             new IntWritable(2), new IntWritable(4)));
 
     Object i2 = asList(new Text("b"), new DoubleWritable(3.14),
-        new DateWritableV2(Date.of(2015, 5, 26)),
+        new DateWritable(new Date(2015, 5, 26)),
         asList(new IntWritable(1), new IntWritable(3),
             new IntWritable(2), new IntWritable(4)));
 
     Object i3 = asList(new Text("a"), new DoubleWritable(3.1415),
-        new DateWritableV2(Date.of(2015, 5, 25)),
+        new DateWritable(new Date(2015, 5, 25)),
         asList(new IntWritable(1), new IntWritable(3),
             new IntWritable(2), new IntWritable(5)));
 
     Object i4 = asList(new Text("a"), new DoubleWritable(3.1415),
-        new DateWritableV2(Date.of(2015, 5, 25)),
+        new DateWritable(new Date(2015, 5, 25)),
         asList(new IntWritable(1), new IntWritable(3),
             new IntWritable(2), new IntWritable(4)));
 

http://git-wip-us.apache.org/repos/asf/hive/blob/33088de0/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFToUnixTimestamp.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFToUnixTimestamp.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFToUnixTimestamp.java
index 61623d5..d840238 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFToUnixTimestamp.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFToUnixTimestamp.java
@@ -18,13 +18,14 @@
 
 package org.apache.hadoop.hive.ql.udf.generic;
 
-import org.apache.hadoop.hive.common.type.Date;
-import org.apache.hadoop.hive.common.type.Timestamp;
+import java.sql.Date;
+import java.sql.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.DateWritableV2;
-import org.apache.hadoop.hive.serde2.io.TimestampWritableV2;
+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;
@@ -64,13 +65,13 @@ public class TestGenericUDFToUnixTimestamp extends TestCase {
 
     Timestamp ts = Timestamp.valueOf("1970-01-01 00:00:00");
     runAndVerify(udf,
-        new TimestampWritableV2(ts),
-        new LongWritable(ts.toEpochSecond()));
+        new TimestampWritable(ts),
+        new LongWritable(ts.getTime() / 1000));
 
     ts = Timestamp.valueOf("2001-02-03 01:02:03");
     runAndVerify(udf,
-        new TimestampWritableV2(ts),
-        new LongWritable(ts.toEpochSecond()));
+        new TimestampWritable(ts),
+        new LongWritable(ts.getTime() / 1000));
 
     // test null values
     runAndVerify(udf, null, null);
@@ -84,8 +85,8 @@ public class TestGenericUDFToUnixTimestamp extends TestCase {
 
     Date date = Date.valueOf("1970-01-01");
     runAndVerify(udf,
-        new DateWritableV2(date),
-        new LongWritable(date.toEpochSecond()));
+        new DateWritable(date),
+        new LongWritable(date.getTime() / 1000));
 
     // test null values
     runAndVerify(udf, null, null);
@@ -100,7 +101,7 @@ public class TestGenericUDFToUnixTimestamp extends TestCase {
     String val = "2001-01-01 01:02:03";
     runAndVerify(udf1,
         new Text(val),
-        new LongWritable(Timestamp.valueOf(val).toEpochSecond()));
+        new LongWritable(Timestamp.valueOf(val).getTime() / 1000));
 
     // test null values
     runAndVerify(udf1, null, null);
@@ -115,7 +116,7 @@ public class TestGenericUDFToUnixTimestamp extends TestCase {
     runAndVerify(udf2,
         new Text(val),
         new Text(format),
-        new LongWritable(Date.valueOf(val).toEpochSecond()));
+        new LongWritable(Date.valueOf(val).getTime() / 1000));
 
     // test null values
     runAndVerify(udf2, null, null, null);