[ https://issues.apache.org/jira/browse/HIVE-11880?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
WangMeng updated HIVE-11880: ---------------------------- Description: For Hive UNION ALL , when an union column is constant(column a such as '0L') and it has incompatible type with the corresponding column A(INT Type). Query with filter condition on type incompatible column a on this UNION ALL will cause IndexOutOfBoundsException. Such as TPC-H table "orders", we create View by : CREATE VIEW `view_orders` AS SELECT `oo`.`o_orderkey` , `oo`.`o_custkey` FROM ( SELECT `orders`.`o_orderkey` , `rcfileorders`.`o_custkey` FROM `rcfileorders` UNION ALL SELECT `orcfileorders`.`o_orderkey` , 0L AS `o_custkey` FROM `textfileorders`) `oo`. In view_orders , type of 'o_custkey' is INT normally, while the type of corresponding column constant "0" is BIGINT. When hive.ppd.remove.duplicatefilters=true, the fllowing query (with filter " incompatible column 'o_custkey' ") will fail with java.lang.IndexOutOfBoundsException: 'select count(1) from view_orders where o_custkey<100000 '. was: For Hive UNION ALL , when an union column is constant(column a such as '0L') and it has incompatible type with the corresponding column A. Query with filter condition on type incompatible column a on this UNION ALL will cause IndexOutOfBoundsException. Such as TPC-H table "orders", we create View by : CREATE VIEW `view_orders` AS SELECT `oo`.`o_orderkey` , `oo`.`o_custkey` FROM ( SELECT `orders`.`o_orderkey` , `rcfileorders`.`o_custkey` FROM `rcfileorders` UNION ALL SELECT `orcfileorders`.`o_orderkey` , 0L AS `o_custkey` FROM `textfileorders`) `oo`. In view_orders , type of 'o_custkey' is INT normally, while the type of corresponding column constant "0" is BIGINT. Then the fllowing query(with filter " incompatible column 'o_custkey' ") will fail with java.lang.IndexOutOfBoundsException: 'select count(1) from view_orders where o_custkey<100000 '. > IndexOutOfBoundsException when query with filter condition on type > incompatible column of UNION ALL when hive.ppd.remove.duplicatefilters=true > ---------------------------------------------------------------------------------------------------------------------------------------------- > > Key: HIVE-11880 > URL: https://issues.apache.org/jira/browse/HIVE-11880 > Project: Hive > Issue Type: Bug > Components: Query Processor > Affects Versions: 1.2.1 > Reporter: WangMeng > Assignee: WangMeng > Attachments: HIVE-11880.01.patch > > > For Hive UNION ALL , when an union column is constant(column a such as > '0L') and it has incompatible type with the corresponding column A(INT > Type). > Query with filter condition on type incompatible column a on this UNION ALL > will cause IndexOutOfBoundsException. > Such as TPC-H table "orders", we create View by : > CREATE VIEW `view_orders` AS > SELECT `oo`.`o_orderkey` , > `oo`.`o_custkey` > FROM ( > SELECT `orders`.`o_orderkey` , > `rcfileorders`.`o_custkey` > FROM `rcfileorders` > UNION ALL > SELECT `orcfileorders`.`o_orderkey` , > 0L AS `o_custkey` > FROM `textfileorders`) `oo`. > In view_orders , type of 'o_custkey' is INT normally, while the type of > corresponding column constant "0" is BIGINT. > When hive.ppd.remove.duplicatefilters=true, the fllowing query (with filter > " incompatible column 'o_custkey' ") will fail with > java.lang.IndexOutOfBoundsException: > 'select count(1) from view_orders where o_custkey<100000 '. -- This message was sent by Atlassian JIRA (v6.3.4#6332)