diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDateDiff.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDateDiff.java index 403cf11e69..8d7eec36c6 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDateDiff.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDateDiff.java @@ -108,6 +108,7 @@ private Date convertToDate(PrimitiveCategory inputType, Converter converter, Def } Date date = new Date(); switch (inputType) { + case DATE: case STRING: case VARCHAR: case CHAR: @@ -123,10 +124,6 @@ private Date convertToDate(PrimitiveCategory inputType, Converter converter, Def .getTimestamp(); date.setTime(ts.getTime()); break; - case DATE: - DateWritable dw = (DateWritable) converter.convert(argument.get()); - date = dw.get(); - break; default: throw new UDFArgumentException( "TO_DATE() only takes STRING/TIMESTAMP/DATEWRITABLE types, got " + inputType); @@ -143,6 +140,7 @@ private Converter checkArguments(ObjectInspector[] arguments, int i) throws UDFA PrimitiveCategory inputType = ((PrimitiveObjectInspector) arguments[i]).getPrimitiveCategory(); Converter converter; switch (inputType) { + case DATE: case STRING: case VARCHAR: case CHAR: @@ -154,10 +152,6 @@ private Converter checkArguments(ObjectInspector[] arguments, int i) throws UDFA converter = new TimestampConverter((PrimitiveObjectInspector) arguments[i], PrimitiveObjectInspectorFactory.writableTimestampObjectInspector); break; - case DATE: - converter = ObjectInspectorConverters.getConverter((PrimitiveObjectInspector)arguments[i], - PrimitiveObjectInspectorFactory.writableDateObjectInspector); - break; default: throw new UDFArgumentException( " DATEDIFF() only takes STRING/TIMESTAMP/DATEWRITABLE types as " + (i + 1)