--! qt:dataset:src
-- HIVE-3849 Aliased column in where clause for multi-groupby single reducer cannot be resolved

-- SORT_QUERY_RESULTS

set hive.cbo.enable=true;

create table e1_n1 (key string, count int);
create table e2_n2 (key string, count int);

explain
from src
insert overwrite table e1_n1
select key, count(*)
where src.value in ('val_100', 'val_200', 'val_300') AND key in (100, 150, 200)
group by key
insert overwrite table e2_n2
select key, count(*)
where src.value in ('val_400', 'val_500') AND key in (400, 450)
group by key;

from src
insert overwrite table e1_n1
select key, count(*)
where src.value in ('val_100', 'val_200', 'val_300') AND key in (100, 150, 200)
group by key
insert overwrite table e2_n2
select key, count(*)
where src.value in ('val_400', 'val_500') AND key in (400, 450)
group by key;

select * from e1_n1;
select * from e2_n2;

explain
from src
insert overwrite table e1_n1
select value, count(*)
where src.key + src.key = 200 or src.key - 100 = 100 or src.key = 300 AND VALUE IS NOT NULL
group by value
insert overwrite table e2_n2
select value, count(*)
where src.key + src.key = 400 or src.key - 100 = 500 AND VALUE IS NOT NULL
group by value;

from src
insert overwrite table e1_n1
select value, count(*)
where src.key + src.key = 200 or src.key - 100 = 100 or src.key = 300 AND VALUE IS NOT NULL
group by value
insert overwrite table e2_n2
select value, count(*)
where src.key + src.key = 400 or src.key - 100 = 500 AND VALUE IS NOT NULL
group by value;

select * from e1_n1;
select * from e2_n2;

set hive.optimize.ppd=false;

explain
from src
insert overwrite table e1_n1
select key, count(*)
where src.value in ('val_100', 'val_200', 'val_300') AND key in (100, 150, 200)
group by key
insert overwrite table e2_n2
select key, count(*)
where src.value in ('val_400', 'val_500') AND key in (400, 450)
group by key;

from src
insert overwrite table e1_n1
select key, count(*)
where src.value in ('val_100', 'val_200', 'val_300') AND key in (100, 150, 200)
group by key
insert overwrite table e2_n2
select key, count(*)
where src.value in ('val_400', 'val_500') AND key in (400, 450)
group by key;

select * from e1_n1;
select * from e2_n2;

explain
from src
insert overwrite table e1_n1
select value, count(*)
where src.key + src.key = 200 or src.key - 100 = 100 or src.key = 300 AND VALUE IS NOT NULL
group by value
insert overwrite table e2_n2
select value, count(*)
where src.key + src.key = 400 or src.key - 100 = 500 AND VALUE IS NOT NULL
group by value;

from src
insert overwrite table e1_n1
select value, count(*)
where src.key + src.key = 200 or src.key - 100 = 100 or src.key = 300 AND VALUE IS NOT NULL
group by value
insert overwrite table e2_n2
select value, count(*)
where src.key + src.key = 400 or src.key - 100 = 500 AND VALUE IS NOT NULL
group by value;

select * from e1_n1;
select * from e2_n2;
