blob: 79bf573c8b1d135cb0d8ca989cc4b3faddf9468e [file] [log] [blame]
--! qt:dataset:src
--! qt:dataset:part
SET hive.vectorized.execution.enabled=false;
set hive.mapred.mode=nonstrict;
SET hive.auto.convert.join=false;
SET hive.auto.convert.anti.join=true;
-- SORT_QUERY_RESULTS
create table t1_n55 as select cast(key as int) key, value from src where key <= 10;
select * from t1_n55 sort by key;
create table t2_n33 as select cast(2*key as int) key, value from t1_n55;
select * from t2_n33 sort by key;
create table t3_n12 as select * from (select * from t1_n55 union all select * from t2_n33) b;
select * from t3_n12 sort by key, value;
explain select a.key, a.value from t1_n55 a where not exists (select 1 from t2_n33 b where a.key=b.key) sort by a.key, a.value;
explain cbo select a.key, a.value from t1_n55 a where not exists (select 1 from t2_n33 b where a.key=b.key) sort by a.key, a.value;
select a.key, a.value from t1_n55 a where not exists (select 1 from t2_n33 b where a.key=b.key) sort by a.key, a.value;
explain select a.key, a.value from t1_n55 a left join t2_n33 b on a.key=b.key where b.key is null;
explain cbo select a.key, a.value from t1_n55 a left join t2_n33 b on a.key=b.key where b.key is null;
select a.key, a.value from t1_n55 a left join t2_n33 b on a.key=b.key where b.key is null;
explain select a.key, a.value from t1_n55 a left join t2_n33 b on a.key=b.key join t3_n12 c on a.key=c.key where b.key is null sort by a.key, a.value;
explain cbo select a.key, a.value from t1_n55 a left join t2_n33 b on a.key=b.key join t3_n12 c on a.key=c.key where b.key is null sort by a.key, a.value;
select a.key, a.value from t1_n55 a left join t2_n33 b on a.key=b.key join t3_n12 c on a.key=c.key where b.key is null sort by a.key, a.value;
SET hive.vectorized.execution.enabled=true;
SET hive.auto.convert.join=true;
explain select a.key, a.value from t1_n55 a where not exists (select 1 from t2_n33 b where a.key=b.key) sort by a.key, a.value;
explain cbo select a.key, a.value from t1_n55 a where not exists (select 1 from t2_n33 b where a.key=b.key) sort by a.key, a.value;
select a.key, a.value from t1_n55 a where not exists (select 1 from t2_n33 b where a.key=b.key) sort by a.key, a.value;
explain select a.key, a.value from t1_n55 a left join t2_n33 b on a.key=b.key where b.key is null;
explain cbo select a.key, a.value from t1_n55 a left join t2_n33 b on a.key=b.key where b.key is null;
select a.key, a.value from t1_n55 a left join t2_n33 b on a.key=b.key where b.key is null;
explain select a.key, a.value from t1_n55 a left join t2_n33 b on a.key=b.key join t3_n12 c on a.key=c.key where b.key is null sort by a.key, a.value;
explain cbo select a.key, a.value from t1_n55 a left join t2_n33 b on a.key=b.key join t3_n12 c on a.key=c.key where b.key is null sort by a.key, a.value;
select a.key, a.value from t1_n55 a left join t2_n33 b on a.key=b.key join t3_n12 c on a.key=c.key where b.key is null sort by a.key, a.value;
-- single extra simple filter on right side.
explain select a.key from t1_n55 a left join t2_n33 b on a.key = b.key where b.key is null and b.value is null;
-- single extra simple filter on left side.
explain select a.key from t1_n55 a left join t2_n33 b on a.key = b.key where b.key is null and a.key > 100;
-- single extra non deterministic filter on right side.
explain select a.key from t1_n55 a left join t2_n33 b on a.key = b.key where b.key is null and rand(length(b.value)) > 100;
-- single extra deterministic filter on left side.
explain select a.key from t1_n55 a left join t2_n33 b on a.key = b.key where b.key is null and rand(a.key) > 100;
-- multiple extra deterministic filter on right side.
explain select a.key from t1_n55 a left join t2_n33 b on a.key = b.key where b.key is null and rand(length(b.value)) < 100 and rand(length(b.value)) > 100;
-- multiple extra deterministic filter on left side.
explain select a.key from t1_n55 a left join t2_n33 b on a.key = b.key where b.key is null and rand(a.key) > 100 and rand(length(a.value)) > 100;
-- filter with 'or' are not converted to anti join
explain select a.key from t1_n55 a left join t2_n33 b on a.key = b.key where b.key is null or b.value is null;
explain select a.key from t1_n55 a left join t2_n33 b on a.key = b.key where b.key is null or b.value = 'val_1';