-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/38805/
-----------------------------------------------------------

Review request for hive.


Bugs: HIVE-11880
    https://issues.apache.org/jira/browse/HIVE-11880


Repository: hive-git


Description
-------

For UNION ALL , when an union operator is constant column (such as '0L', BIGINT 
Type) and its corresponding column has incompatible type (such as INT type).
Query with filter condition on type incompatible column on this UNION ALL will 
cause IndexOutOfBoundsException.

Such as TPC-H table "orders",in the following query:
Type of 'orders'.'o_custkey' is INT normally, while the type of corresponding 
constant column "0" is BIGINT( `0L AS `o_custkey` ).
This query (with filter "type incompatible column 'o_custkey' ") will fail with 
java.lang.IndexOutOfBoundsException :
//
SELECT Count(1)
FROM   (
              SELECT `o_orderkey` ,
                     `o_custkey`
              FROM   `orders`
              UNION ALL
              SELECT `o_orderkey`,
                     0L  AS `o_custkey`
              FROM   `orders`) `oo`
WHERE  o_custkey<100000 limit 4 ;
//

when set hive.ppd.remove.duplicatefilters=true.


Diffs
-----

  ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java c5f39d3 
  ql/src/java/org/apache/hadoop/hive/ql/ppd/OpProcFactory.java dbd021b 

Diff: https://reviews.apache.org/r/38805/diff/


Testing
-------


Thanks,

meng wang

Reply via email to