[ 
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 a union column is constant(column a such as '0L')  
and it has incompatible type with the corresponding column A. The query with 
filter condition on type incompatible column a on this UNION-ALL results  will 
cause IndexOutOfBoundsException

  Such as TPC-H table "orders", we  CREATE VIEW `view_orders` AS select 
`oo`.`o_orderkey` , `oo`.`o_custkey`  from (  select  `orders`.`o_orderkey` , 
`rcfileorders`.`o_custkey` from `tpch270g`.`rcfileorders`   union all  select 
`orcfileorders`.`o_orderkey` , 0L as `o_custkey`   from  
`tpch270g`.`textfileorders`) `oo`.

   Type of "o_custkey" is INT,  the type of corresponding constant "0" is 
BIGINT.

   Then the fllowing query(with filter incompatible column 0_custkey)  will 
fail  with  java.lang.IndexOutOfBoundsException:
    "select count(1) from view_orders  where o_custkey<100000 ".

  was:
For Hive UNION ALL , when a union column is constant(column a) and it has 
incompatible type with the corresponding column A. The query with filter 
condition on type incompatible column a on this UNION-ALL results  will cause 
IndexOutOfBoundsException

such as TPC-H table orders:
CREATE VIEW `view_orders` AS select `oo`.`o_orderkey` , `oo`.`o_custkey`  from 
(  select  `orders`.`o_orderkey` , `rcfileorders`.`o_custkey` from 
`tpch270g`.`rcfileorders`   union all  select `orcfileorders`.`o_orderkey` , 0L 
as `o_custkey`   from  `tpch270g`.`textfileorders`) `oo`.

Type of "o_custkey" is INT,  the type of corresponding constant column 0 is 
BIGINT.
Then the fllowing query(with filter incompatible column 0_custkey)  will fail:
select count(1) from view_orders  where o_custkey<100000 with  
java.lang.IndexOutOfBoundsException.


>    IndexOutOfBoundsException when execute query with filter condition on type 
> incompatible column(A) on data(composed by UNION ALL when a union column is 
> constant and it has incompatible type with  corresponding column) 
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 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
>
>    For Hive UNION ALL , when a union column is constant(column a such as 
> '0L')  and it has incompatible type with the corresponding column A. The 
> query with filter condition on type incompatible column a on this UNION-ALL 
> results  will cause IndexOutOfBoundsException
>   Such as TPC-H table "orders", we  CREATE VIEW `view_orders` AS select 
> `oo`.`o_orderkey` , `oo`.`o_custkey`  from (  select  `orders`.`o_orderkey` , 
> `rcfileorders`.`o_custkey` from `tpch270g`.`rcfileorders`   union all  select 
> `orcfileorders`.`o_orderkey` , 0L as `o_custkey`   from  
> `tpch270g`.`textfileorders`) `oo`.
>    Type of "o_custkey" is INT,  the type of corresponding constant "0" is 
> BIGINT.
>    Then the fllowing query(with filter incompatible column 0_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)

Reply via email to