blob: 692c366c13cbb1a20277e55d74d5a1b9b34c070a [file] [log] [blame]
--! qt:dataset:src
--! qt:dataset:part
SET hive.vectorized.execution.enabled=false;
set hive.mapred.mode=nonstrict;
-- 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;
create table t4_n5 (key int, value string);
select * from t4_n5;
explain select * from t1_n55 a left semi join t2_n33 b on a.key=b.key sort by a.key, a.value;
select * from t1_n55 a left semi join t2_n33 b on a.key=b.key sort by a.key, a.value;
explain select * from t2_n33 a left semi join t1_n55 b on b.key=a.key sort by a.key, a.value;
select * from t2_n33 a left semi join t1_n55 b on b.key=a.key sort by a.key, a.value;
explain select * from t1_n55 a left semi join t4_n5 b on b.key=a.key sort by a.key, a.value;
select * from t1_n55 a left semi join t4_n5 b on b.key=a.key sort by a.key, a.value;
explain select a.value from t1_n55 a left semi join t3_n12 b on (b.key = a.key and b.key < '15') sort by a.value;
select a.value from t1_n55 a left semi join t3_n12 b on (b.key = a.key and b.key < '15') sort by a.value;
explain select * from t1_n55 a left semi join t2_n33 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
select * from t1_n55 a left semi join t2_n33 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
explain select a.value from t1_n55 a left semi join (select key from t3_n12 where key > 5) b on a.key = b.key sort by a.value;
select a.value from t1_n55 a left semi join (select key from t3_n12 where key > 5) b on a.key = b.key sort by a.value;
explain select a.value from t1_n55 a left semi join (select key , value from t2_n33 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
select a.value from t1_n55 a left semi join (select key , value from t2_n33 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
explain select * from t2_n33 a left semi join (select key , value from t1_n55 where key > 2) b on a.key = b.key sort by a.key, a.value;
select * from t2_n33 a left semi join (select key , value from t1_n55 where key > 2) b on a.key = b.key sort by a.key, a.value;
explain select /*+ mapjoin(b) */ a.key from t3_n12 a left semi join t1_n55 b on a.key = b.key sort by a.key;
select /*+ mapjoin(b) */ a.key from t3_n12 a left semi join t1_n55 b on a.key = b.key sort by a.key;
explain select * from t1_n55 a left semi join t2_n33 b on a.key = 2*b.key sort by a.key, a.value;
select * from t1_n55 a left semi join t2_n33 b on a.key = 2*b.key sort by a.key, a.value;
explain select * from t1_n55 a join t2_n33 b on a.key = b.key left semi join t3_n12 c on b.key = c.key sort by a.key, a.value;
select * from t1_n55 a join t2_n33 b on a.key = b.key left semi join t3_n12 c on b.key = c.key sort by a.key, a.value;
explain select * from t3_n12 a left semi join t1_n55 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
select * from t3_n12 a left semi join t1_n55 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
explain select /*+ mapjoin(b, c) */ a.key from t3_n12 a left semi join t1_n55 b on a.key = b.key left semi join t2_n33 c on a.key = c.key sort by a.key;
select /*+ mapjoin(b, c) */ a.key from t3_n12 a left semi join t1_n55 b on a.key = b.key left semi join t2_n33 c on a.key = c.key sort by a.key;
explain select a.key from t3_n12 a left outer join t1_n55 b on a.key = b.key left semi join t2_n33 c on b.key = c.key sort by a.key;
select a.key from t3_n12 a left outer join t1_n55 b on a.key = b.key left semi join t2_n33 c on b.key = c.key sort by a.key;
explain select a.key from t1_n55 a right outer join t3_n12 b on a.key = b.key left semi join t2_n33 c on b.key = c.key sort by a.key;
select a.key from t1_n55 a right outer join t3_n12 b on a.key = b.key left semi join t2_n33 c on b.key = c.key sort by a.key;
explain select a.key from t1_n55 a full outer join t3_n12 b on a.key = b.key left semi join t2_n33 c on b.key = c.key sort by a.key;
select a.key from t1_n55 a full outer join t3_n12 b on a.key = b.key left semi join t2_n33 c on b.key = c.key sort by a.key;
explain select a.key from t3_n12 a left semi join t2_n33 b on a.key = b.key left outer join t1_n55 c on a.key = c.key sort by a.key;
select a.key from t3_n12 a left semi join t2_n33 b on a.key = b.key left outer join t1_n55 c on a.key = c.key sort by a.key;
explain select a.key from t3_n12 a left semi join t2_n33 b on a.key = b.key right outer join t1_n55 c on a.key = c.key sort by a.key;
select a.key from t3_n12 a left semi join t2_n33 b on a.key = b.key right outer join t1_n55 c on a.key = c.key sort by a.key;
explain select a.key from t3_n12 a left semi join t1_n55 b on a.key = b.key full outer join t2_n33 c on a.key = c.key sort by a.key;
select a.key from t3_n12 a left semi join t1_n55 b on a.key = b.key full outer join t2_n33 c on a.key = c.key sort by a.key;
explain select a.key from t3_n12 a left semi join t2_n33 b on a.key = b.key left outer join t1_n55 c on a.value = c.value sort by a.key;
select a.key from t3_n12 a left semi join t2_n33 b on a.key = b.key left outer join t1_n55 c on a.value = c.value sort by a.key;
explain select a.key from t3_n12 a left semi join t2_n33 b on a.value = b.value where a.key > 100;
select a.key from t3_n12 a left semi join t2_n33 b on a.value = b.value where a.key > 100;
explain select key, value from src outr left semi join
(select a.key, b.value from src a join (select distinct value from src) b on a.value > b.value group by a.key, b.value) inr
on outr.key=inr.key and outr.value=inr.value;
select key, value from src outr left semi join
(select a.key, b.value from src a join (select distinct value from src) b on a.value > b.value group by a.key, b.value) inr
on outr.key=inr.key and outr.value=inr.value;
explain cbo select pp.p_partkey from (select distinct p_name from part) p join part pp on pp.p_name = p.p_name;
select pp.p_partkey from (select distinct p_name from part) p join part pp on pp.p_name = p.p_name;
explain cbo
with ss as
(select count(1), p_partkey, p_name from
part group by p_partkey ,p_name
having count(1) > 1)
select count(1) from part pp where pp.p_partkey IN (select p_partkey from ss);
with ss as
(select count(1), p_partkey, p_name from
part group by p_partkey ,p_name
having count(1) > 1)
select count(1) from part pp where pp.p_partkey IN (select p_partkey from ss);