[ https://issues.apache.org/jira/browse/HIVE-6934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13977554#comment-13977554 ]
Hari Sankar Sivarama Subramaniyan commented on HIVE-6934: --------------------------------------------------------- encountered another hive issue as part of this fix. explain select * from table where 1; The above query passes where as ' select * from table where 1;' fails when trying to convert 1 to boolean. We should be able to catch this exception semantically. > PartitionPruner doesn't handle top level constant expression correctly > ---------------------------------------------------------------------- > > Key: HIVE-6934 > URL: https://issues.apache.org/jira/browse/HIVE-6934 > Project: Hive > Issue Type: Bug > Reporter: Harish Butani > Assignee: Hari Sankar Sivarama Subramaniyan > Attachments: HIVE-6934.1.patch > > > You hit this error indirectly, because how we handle invalid constant > comparisons. Consider: > {code} > create table x(key int, value string) partitioned by (dt int, ts string); > -- both these queries hit this issue > select * from x where key = 'abc'; > select * from x where dt = 'abc'; > -- the issue is the comparison get converted to the constant false > -- and the PartitionPruner doesn't handle top level constant exprs corrcetly > {code} > Thanks to [~hsubramaniyan] for uncovering this as part of adding tests for > HIVE-5376 -- This message was sent by Atlassian JIRA (v6.2#6252)