[ https://issues.apache.org/jira/browse/HIVE-11973?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14968344#comment-14968344 ]
Yongzhi Chen commented on HIVE-11973: ------------------------------------- IN use ReturnObjectInspectorResolver.update which end up use FunctionRegistry.getCommonClass method. This method is too strict. The elem in (val1, val2...) more like union all style of type conversion. (For types in elem, val1, val2... can be used in union all). I will try the approach to let IN UDF use conversionHelper.updateForUnionAll. > 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 > Attachments: HIVE-11973.1.patch > > > 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)