hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "WangMeng (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HIVE-11880) IndexOutOfBoundsException when query with filter condition on type incompatible column of UNION ALL when hive.ppd.remove.duplicatefilters=true
Date Wed, 23 Sep 2015 04:08:04 GMT

     [ 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)

Mime
View raw message