Zoltan Haindrich created HIVE-20881:
---------------------------------------

             Summary: Constant propagation oversimplifies projections
                 Key: HIVE-20881
                 URL: https://issues.apache.org/jira/browse/HIVE-20881
             Project: Hive
          Issue Type: Bug
            Reporter: Zoltan Haindrich
            Assignee: Zoltan Haindrich


{code:java}
create table cx2(bool1 boolean);
insert into cx2 values (true),(false),(null);

set hive.cbo.enable=true;
select bool1 IS TRUE OR (cast(NULL as boolean) AND bool1 IS NOT TRUE AND bool1 
IS NOT FALSE) from cx2;

+--------+
|  _c0   |
+--------+
| true   |
| false  |
| NULL   |
+--------+


set hive.cbo.enable=false;
select bool1 IS TRUE OR (cast(NULL as boolean) AND bool1 IS NOT TRUE AND bool1 
IS NOT FALSE) from cx2;

+-------+
|  _c0  |
+-------+
| true  |
| NULL  |
| NULL  |
+-------+

{code}

from explain it seems the expression was simplified to: {{(_col0 is true or 
null)}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to