diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFIn.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFIn.java index 7660ca4fdc48a073e65404167186c0577be8b707..ec64f9a59d98a478b147e29023d0c99ca4653b32 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFIn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFIn.java @@ -86,7 +86,7 @@ public ObjectInspector initialize(ObjectInspector[] arguments) conversionHelper = new GenericUDFUtils.ReturnObjectInspectorResolver(true); for (ObjectInspector oi : arguments) { - if(!conversionHelper.update(oi)) { + if(!conversionHelper.updateForUnionAll(oi)) { StringBuilder sb = new StringBuilder(); sb.append("The arguments for IN should be the same type! Types are: {"); sb.append(arguments[0].getTypeName()); diff --git a/ql/src/test/queries/clientpositive/selectindate.q b/ql/src/test/queries/clientpositive/selectindate.q new file mode 100644 index 0000000000000000000000000000000000000000..208dd8f9885de489528406530c16c43403f1b081 --- /dev/null +++ b/ql/src/test/queries/clientpositive/selectindate.q @@ -0,0 +1,6 @@ +drop table if exists datetest; +create table datetest(dValue date, iValue int); +insert into datetest values('2000-03-22', 1); +SELECT * FROM datetest WHERE dValue IN ('2000-03-22','2001-03-22'); +drop table datetest; + diff --git a/ql/src/test/results/clientpositive/selectindate.q.out b/ql/src/test/results/clientpositive/selectindate.q.out new file mode 100644 index 0000000000000000000000000000000000000000..7736a294c73d1b983f3647745ee662ebdd920740 --- /dev/null +++ b/ql/src/test/results/clientpositive/selectindate.q.out @@ -0,0 +1,39 @@ +PREHOOK: query: drop table if exists datetest +PREHOOK: type: DROPTABLE +POSTHOOK: query: drop table if exists datetest +POSTHOOK: type: DROPTABLE +PREHOOK: query: create table datetest(dValue date, iValue int) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@datetest +POSTHOOK: query: create table datetest(dValue date, iValue int) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@datetest +PREHOOK: query: insert into datetest values('2000-03-22', 1) +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__1 +PREHOOK: Output: default@datetest +POSTHOOK: query: insert into datetest values('2000-03-22', 1) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__1 +POSTHOOK: Output: default@datetest +POSTHOOK: Lineage: datetest.dvalue EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: datetest.ivalue EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +PREHOOK: query: SELECT * FROM datetest WHERE dValue IN ('2000-03-22','2001-03-22') +PREHOOK: type: QUERY +PREHOOK: Input: default@datetest +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM datetest WHERE dValue IN ('2000-03-22','2001-03-22') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@datetest +#### A masked pattern was here #### +2000-03-22 1 +PREHOOK: query: drop table datetest +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@datetest +PREHOOK: Output: default@datetest +POSTHOOK: query: drop table datetest +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@datetest +POSTHOOK: Output: default@datetest