Eric Lin created HIVE-12788: ------------------------------- Summary: Setting hive.optimize.union.remove to TRUE will break UNION ALL with aggregate functions Key: HIVE-12788 URL: https://issues.apache.org/jira/browse/HIVE-12788 Project: Hive Issue Type: Bug Components: Hive Affects Versions: 1.1.1 Reporter: Eric Lin
See the test case below: {code} 0: jdbc:hive2://localhost:10000/default> create table test (a int); 0: jdbc:hive2://localhost:10000/default> set hive.optimize.union.remove=true; No rows affected (0.01 seconds) 0: jdbc:hive2://localhost:10000/default> set hive.mapred.supports.subdirectories=true; No rows affected (0.007 seconds) 0: jdbc:hive2://localhost:10000/default> SELECT COUNT(1) FROM test UNION ALL SELECT COUNT(1) FROM test; +----------+--+ | _u1._c0 | +----------+--+ +----------+--+ {code} Run the same query without setting hive.mapred.supports.subdirectories and hive.optimize.union.remove to true will give correct result: {code} 0: jdbc:hive2://localhost:10000/default> SELECT COUNT(1) FROM test UNION ALL SELECT COUNT(1) FROM test; +----------+--+ | _u1._c0 | +----------+--+ | 1 | | 1 | +----------+--+ {code} UNION ALL without COUNT function will work as expected: {code} 0: jdbc:hive2://localhost:10000/default> select * from test UNION ALL SELECT * FROM test; +--------+--+ | _u1.a | +--------+--+ | 1 | | 1 | +--------+--+ {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)