[ https://issues.apache.org/jira/browse/HIVE-8099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14223395#comment-14223395 ]
Ashutosh Chauhan commented on HIVE-8099: ---------------------------------------- Backported to 0.14 > IN operator for partition column fails when the partition column type is DATE > ----------------------------------------------------------------------------- > > Key: HIVE-8099 > URL: https://issues.apache.org/jira/browse/HIVE-8099 > Project: Hive > Issue Type: Bug > Components: Query Processor > Affects Versions: 0.13.0, 0.13.1 > Reporter: Venki Korukanti > Assignee: Venki Korukanti > Fix For: 0.15.0, 0.14.1 > > Attachments: HIVE-8099-ppr-fix.patch, HIVE-8099.1.patch, > HIVE-8099.2.patch, HIVE-8099.3.patch, HIVE-8099.4.patch > > > Test table DLL: > {code} > CREATE TABLE testTbl(col1 string) PARTITIONED BY (date_prt date); > {code} > Following query used to work fine in Hive 0.12 as the constant types are > 'string' and partition column type is considered as 'string' throughout the > planning and optimization (including partition pruning). > {code} > SELECT * FROM testTbl WHERE date_prt IN ('2014-08-09', '2014-08-08'); > {code} > In trunk the above query fails with: > {code} > Line 1:33 Wrong arguments ''2014-08-08'': The arguments for IN should be the > same type! Types are: {date IN (string, string)} > {code} > HIVE-6642 changed the SemanticAnalyzer.java to consider partition type given > in table definition instead of hardcoded 'string' type. (Modified [Hive 0.12 > code|https://github.com/apache/hive/blob/branch-0.12/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java#L7778]). > So changed the query as follows to go past the above error: > {code} > SELECT * FROM testTbl WHERE date_prt IN (CAST('2014-08-09' AS DATE), > CAST('2014-08-08' AS DATE)); > {code} > Now query goes past the error in SemanticAnalyzer, but hits the same issue > (default 'string' type for partition columns) in partition pruning > optimization. (Realted code > [here|https://github.com/apache/hive/blob/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartExprEvalUtils.java#L110]). > > {code} > 14/09/14 20:07:20 ERROR ql.Driver: FAILED: SemanticException > MetaException(message:The arguments for IN should be the same type! Types > are: {string IN (date, date)}) > {code} > We need to change partition pruning code to consider the partition column as > the type given in table definition. -- This message was sent by Atlassian JIRA (v6.3.4#6332)