Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
None
-
None
Description
You hit this error indirectly, because how we handle invalid constant comparisons. Consider:
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
Thanks to Hari Sankar Sivarama Subramaniyan for uncovering this as part of adding tests for HIVE-5376