[jira] [Updated] (HIVE-18823) Vectorization: introduce qtest for SUM (IF/WHEN) with vectorization for ORC

2018-06-07 Thread Zoltan Haindrich (JIRA)


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


[jira] [Updated] (HIVE-18823) Vectorization: introduce qtest for SUM (IF/WHEN) with vectorization for ORC

2018-05-28 Thread Laszlo Bodor (JIRA)


 [ 
https://issues.apache.org/jira/browse/HIVE-18823?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Laszlo Bodor updated HIVE-18823:

Attachment: HIVE-18823.01.patch

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


[jira] [Updated] (HIVE-18823) Vectorization: introduce qtest for SUM (IF/WHEN) with vectorization for ORC

2018-05-28 Thread Laszlo Bodor (JIRA)


 [ 
https://issues.apache.org/jira/browse/HIVE-18823?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Laszlo Bodor updated HIVE-18823:

Status: Patch Available  (was: Open)

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


[jira] [Updated] (HIVE-18823) Vectorization: introduce qtest for SUM (IF/WHEN) with vectorization for ORC

2018-05-28 Thread Laszlo Bodor (JIRA)


 [ 
https://issues.apache.org/jira/browse/HIVE-18823?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Laszlo Bodor updated HIVE-18823:

Fix Version/s: 4.0.0

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