[
https://issues.apache.org/jira/browse/HIVE-21387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vineet Garg resolved HIVE-21387.
--------------------------------
Resolution: Fixed
Fix Version/s: 4.0.0
Fixed in HIVE-21382
> Wrong result for UNION query with GROUP BY consisting of PK columns
> -------------------------------------------------------------------
>
> Key: HIVE-21387
> URL: https://issues.apache.org/jira/browse/HIVE-21387
> Project: Hive
> Issue Type: Bug
> Components: Query Planning
> Affects Versions: 4.0.0
> Reporter: Vineet Garg
> Assignee: Vineet Garg
> Priority: Critical
> Fix For: 4.0.0
>
>
> *Reproducer*
> {code:sql}
> create table t1(i int primary key disable rely, j int);
> insert into t1 values(1,100),(2,200);
> create table t2(i int primary key disable rely, j int);
> insert into t2 values(2,1000),(4,500);
> select i from (select i, j from t1 union all select i,j from t2) subq group
> by i,j;
> {code}
> *Expected Result*
> {noformat}
> 2
> 2
> 4
> 1
> {noformat}
> *Actual Result*
> {noformat}
> 1
> 2
> 4
> {noformat}
> *CBO Plan*
> {code:sql}
> HiveAggregate(group=[{0}])
> HiveProject(i=[$0], j=[$1])
> HiveUnion(all=[true])
> HiveProject(i=[$0], j=[$1])
> HiveTableScan(table=[[default, t1]], table:alias=[t1])
> HiveProject(i=[$0], j=[$1])
> HiveTableScan(table=[[default, t2]], table:alias=[t2])
> {code}
> This is due to Group by reduction logic reducing keys when it shouldn't.
> Because of UNION relative cardinality of the group by keys are changed (they
> are not PK/UNIQUE anymore). Therefore we shouldn't be trying to reduce group
> by keys at all.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)