[ https://issues.apache.org/jira/browse/HIVE-11973?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14935249#comment-14935249 ]
Yongzhi Chen commented on HIVE-11973: ------------------------------------- The in statement thinks string can not convert to date for FunctionRegistry.getPrimitiveCommonCategory(TypeInfo, TypeInfo) return null for the two types. For string can be converted to Date and implicitly converted to Date. So the PrimitiveCommonCategory for the two should be Date. {noformat} FunctionRegistry.getPrimitiveCommonCategory(TypeInfo, TypeInfo) line: 772 FunctionRegistry.getCommonClass(TypeInfo, TypeInfo) line: 810 GenericUDFUtils$ReturnObjectInspectorResolver.update(ObjectInspector, boolean) line: 165 GenericUDFUtils$ReturnObjectInspectorResolver.update(ObjectInspector) line: 103 GenericUDFIn.initialize(ObjectInspector[]) line: 89 GenericUDFIn(GenericUDF).initializeAndFoldConstants(ObjectInspector[]) line: 139 ExprNodeGenericFuncDesc.newInstance(GenericUDF, String, List<ExprNodeDesc>) line: 234 {noformat} > IN operator fails when the column type is DATE > ----------------------------------------------- > > Key: HIVE-11973 > URL: https://issues.apache.org/jira/browse/HIVE-11973 > Project: Hive > Issue Type: Bug > Components: Query Processor > Affects Versions: 1.0.0 > Reporter: sanjiv singh > Assignee: Yongzhi Chen > > Test DLL : > {code} > CREATE TABLE `date_dim`( > `d_date_sk` int, > `d_date_id` string, > `d_date` date, > `d_current_week` string, > `d_current_month` string, > `d_current_quarter` string, > `d_current_year` string) ; > {code} > Hive query : > {code} > SELECT * > FROM date_dim > WHERE d_date IN ('2000-03-22','2001-03-22') ; > {code} > In 1.0.0 , the above query fails with: > {code} > FAILED: SemanticException [Error 10014]: Line 1:180 Wrong arguments > ''2001-03-22'': The arguments for IN should be the same type! Types are: > {date IN (string, string)} > {code} > I changed the query as given to pass the error : > {code} > SELECT * > FROM date_dim > WHERE d_date IN (CAST('2000-03-22' AS DATE) , CAST('2001-03-22' AS DATE) > ) ; > {code} > But it works without casting : > {code} > SELECT * > FROM date_dim > WHERE d_date = '2000-03-22' ; > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)