[ https://issues.apache.org/jira/browse/HIVE-18823?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zoltan Haindrich updated HIVE-18823: ------------------------------------ Resolution: Fixed Status: Resolved (was: Patch Available) pushed to master. Thank you [~abstractdog] for adding this test! > Vectorization: introduce qtest for SUM (IF/WHEN) with vectorization for ORC > --------------------------------------------------------------------------- > > Key: HIVE-18823 > URL: https://issues.apache.org/jira/browse/HIVE-18823 > Project: Hive > Issue Type: Test > Components: Hive > Affects Versions: 2.3.0 > Reporter: Laszlo Bodor > Assignee: Laszlo Bodor > Priority: Major > Fix For: 4.0.0 > > Attachments: HIVE-18823.01.patch > > > HIVE-16110 introduced some issues when using SUM aggregations with WHEN > clause. > As far as I can see, there is no separate qtests for validating that, > vectorized_case is quite close, but not the same. > The test case would be: > {code:java} > set hive.vectorized.execution.enabled=false; > drop table if exists vectorization_sum_if_when_a; > drop table if exists vectorization_sum_if_when_b; > create table vectorization_sum_if_when_a (x int) stored as orc; > insert into table vectorization_sum_if_when_a values (0), (1), (0), (NULL), > (NULL), (NULL), (NULL), (NULL), (NULL), (NULL); > create table vectorization_sum_if_when_b (x int) stored as orc; > insert into table vectorization_sum_if_when_b select least(t1.x + t2.x + t3.x > + t4.x, 1) from vectorization_sum_if_when_a t1, vectorization_sum_if_when_a > t2, vectorization_sum_if_when_a t3, vectorization_sum_if_when_a t4; > select count(*), x from vectorization_sum_if_when_b group by x; > select sum(IF(x is null, 1, 0)), count(1) from vectorization_sum_if_when_b; > select sum(IF(x=1, 1, 0)), count(1) from vectorization_sum_if_when_b; > select sum((case WHEN x = 1 THEN 1 else 0 end)) from > vectorization_sum_if_when_b; > select sum((case WHEN x = 1 THEN 1 else 0 end)), sum((case WHEN x = 1 THEN 1 > when x is null then 0 else 0 end)) from vectorization_sum_if_when_b; > set hive.vectorized.execution.enabled=true; > select sum(IF(x is null, 1, 0)), count(1) from vectorization_sum_if_when_b; > select sum(IF(x=1, 1, 0)), count(1) from vectorization_sum_if_when_b; > select sum((case WHEN x = 1 THEN 1 else 0 end)) from > vectorization_sum_if_when_b; > select sum((case WHEN x = 1 THEN 1 else 0 end)), sum((case WHEN x = 1 THEN 1 > when x is null then 0 else 0 end)) from vectorization_sum_if_when_b; > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)