blob: c8890fed3709a1d3b68662779787ff8c144f29f0 [file] [log] [blame]
set hive.mapred.mode=nonstrict;
-- SORT_QUERY_RESULTS
create table tx1_n1 (a integer,b integer);
insert into tx1_n1 values (1, 105), (2, 203), (3, 300), (4, 400), (null, 400), (null, null);
create table tx2_n0 (a int, b int);
insert into tx2_n0 values (1, 105), (1, 1900), (2, 1995), (2, 1996), (4, 400), (4, null);
explain
select * from tx1_n1 u left semi join tx2_n0 v on u.a=v.a;
select * from tx1_n1 u left semi join tx2_n0 v on u.a=v.a;
explain cbo
select * from tx1_n1 u left semi join tx2_n0 v on u.b <=> v.b;
explain
select * from tx1_n1 u left semi join tx2_n0 v on u.b <=> v.b;
select * from tx1_n1 u left semi join tx2_n0 v on u.b <=> v.b;
explain
select * from tx1_n1 u left semi join tx2_n0 v on u.b <> v.b;
select * from tx1_n1 u left semi join tx2_n0 v on u.b <> v.b;
explain
select * from tx1_n1 u left semi join tx2_n0 v on u.a=v.a and u.b <> v.b;
select * from tx1_n1 u left semi join tx2_n0 v on u.a=v.a and u.b <> v.b;
explain
select * from tx1_n1 u left semi join tx2_n0 v on u.a=v.a or u.b <> v.b;
select * from tx1_n1 u left semi join tx2_n0 v on u.a=v.a or u.b <> v.b;
explain
select * from tx1_n1 u left semi join tx1_n1 v on u.a=v.a;
select * from tx1_n1 u left semi join tx1_n1 v on u.a=v.a;
explain
select * from tx1_n1 u left semi join tx2_n0 v
on (u.a + v.b > 400)
and ((case when u.a > 3 then true when v.b > 1900 then true else false end)
or (coalesce(u.a) + coalesce(v.b) > 1900))
and u.a = v.a;
select * from tx1_n1 u left semi join tx2_n0 v
on (u.a + v.b > 400)
and ((case when u.a > 3 then true when v.b > 1900 then true else false end)
or (coalesce(u.a) + coalesce(v.b) > 1900))
and u.a = v.a;