blob: 0bd919ba0aab66cc4c81a0a408d0563414910b79 [file] [log] [blame]
>>
>>create table t004tsq1 (a int, b int not null, c char(3), d char(4) not null);
--- SQL operation complete.
>>create table t004tsq2 (a int, b int not null, c char(3), d char(4) not null);
--- SQL operation complete.
>>create table t004tsq3 (a int, b int not null, c nchar(3), d nchar(4) not null);
--- SQL operation complete.
>>create table t004tsq4 (a int, b int not null, c nchar(3), d nchar(4) not null);
--- SQL operation complete.
>>
>>?section dml
>>insert into t004tsq1 values (10, 10, 'a', 'a');
--- 1 row(s) inserted.
>>insert into t004tsq3 values (10, 10, N'a', N'a');
--- 1 row(s) inserted.
>>
>>-- Empty table T004TSQ2 in subquery.
>>
>>
>>-- ANY predicate
>>-- should not return any rows
>>select * from t004tsq1 where (a = any (select a from t004tsq2));
--- 0 row(s) selected.
>>select * from t004tsq1 where (a > any (select a from t004tsq2));
--- 0 row(s) selected.
>>select * from t004tsq1 where (a >= any (select a from t004tsq2));
--- 0 row(s) selected.
>>select * from t004tsq1 where (a < any (select a from t004tsq2));
--- 0 row(s) selected.
>>select * from t004tsq1 where (a <= any (select a from t004tsq2));
--- 0 row(s) selected.
>>select * from t004tsq1 where (a <> any (select a from t004tsq2));
--- 0 row(s) selected.
>>
>>-- should not return any rows
>>select * from t004tsq1 where (a = any (select a from t004tsq2)) is unknown;
--- 0 row(s) selected.
>>select * from t004tsq1 where (a > any (select a from t004tsq2)) is unknown;
--- 0 row(s) selected.
>>select * from t004tsq1 where (a >= any (select a from t004tsq2)) is unknown;
--- 0 row(s) selected.
>>select * from t004tsq1 where (a < any (select a from t004tsq2)) is unknown;
--- 0 row(s) selected.
>>select * from t004tsq1 where (a <= any (select a from t004tsq2)) is unknown;
--- 0 row(s) selected.
>>select * from t004tsq1 where (a <> any (select a from t004tsq2)) is unknown;
--- 0 row(s) selected.
>>
>>-- should return one row
>>select * from t004tsq1 where not (a = any (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where not (a > any (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where not (a >= any (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where not (a < any (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where not (a <= any (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where not (a <> any (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>
>>-- ALL predicate
>>-- should return one row
>>select * from t004tsq1 where (a = all (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where (a > all (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where (a >= all (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where (a < all (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where (a <= all (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where (a <> all (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>
>>-- EXISTS predicate
>>-- should not return any rows
>>
>>select * from t004tsq1 where (exists (select * from t004tsq2));
--- 0 row(s) selected.
>>select * from t004tsq3 where (exists (select * from t004tsq4));
--- 0 row(s) selected.
>>
>>-- should return one row
>>select * from t004tsq1 where not (exists (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where (exists (select a from t004tsq2)) or 1 = 1;
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq3 where not (exists (select a from t004tsq4));
A B C D
----------- ----------- ------ --------
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq3 where (exists (select a from t004tsq4)) or 1 = 1;
A B C D
----------- ----------- ------ --------
10 10 a a
--- 1 row(s) selected.
>>
>>-- TBF: multi-columns in exists are not being handled correctly.
>>--TBF: select * from t004tsq1 where not (exists (select * from t004tsq2));
>>--TBF: select * from t004tsq1 where (exists (select * from t004tsq2)) or 1 = 1;
>>
>>
>>-- Subquery table T004TSQ2 contains one non-null row.
>>-- All values in corresponding columns from T004TSQ1 and T004TSQ2 are equal.
>>
>>insert into t004tsq2 select * from t004tsq1;
--- 1 row(s) inserted.
>>
>>-- Subquery table TU04TSQ4 contains one non-null row.
>>-- All values in corresponding columns from TU04TSQ4 and TU04TSQ3 are equal
>>
>>insert into t004tsq4 select * from t004tsq3;
--- 1 row(s) inserted.
>>
>>-- should not return any rows
>>select * from t004tsq1 where (a > any (select a from t004tsq2));
--- 0 row(s) selected.
>>select * from t004tsq1 where (a < any (select a from t004tsq2));
--- 0 row(s) selected.
>>select * from t004tsq1 where (a <> any (select a from t004tsq2));
--- 0 row(s) selected.
>>
>>-- should return one row
>>select * from t004tsq1 where (a = any (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where (a >= any (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where (a <= any (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>
>>-- should not return any rows
>>select * from t004tsq1 where not (a = any (select a from t004tsq2));
--- 0 row(s) selected.
>>select * from t004tsq1 where not (a >= any (select a from t004tsq2));
--- 0 row(s) selected.
>>select * from t004tsq1 where not (a <= any (select a from t004tsq2));
--- 0 row(s) selected.
>>
>>-- should return one row
>>select * from t004tsq1 where not (a > any (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where not (a < any (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where not (a <> any (select a from t004tsq2));
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>
>>
>>
>>-- Subquery table T004TSQ2 contains one non-null and one null row.
>>
>>insert into t004tsq2 values (null, 0, 'b', 'z');
--- 1 row(s) inserted.
>>
>>-- Subquery table TU04TSQ4 contains one non-null and one null row.
>>
>>insert into t004tsq4 values (null, 0, N'b', N'z');
--- 1 row(s) inserted.
>>
>>-- should return one row
>>select * from t004tsq1 where (a > any (select a from t004tsq2)) is unknown;
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where (a < any (select a from t004tsq2)) is unknown;
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq1 where (a <> any (select a from t004tsq2)) is unknown;
A B C D
----------- ----------- --- ----
10 10 a a
--- 1 row(s) selected.
>>select * from t004tsq3 where (a > any (select a from t004tsq4)) is unknown;
A B C D
----------- ----------- ------ --------
10 10 a a
--- 1 row(s) selected.
>>
>>-- should not return any rows
>>select * from t004tsq1 where (a = any (select a from t004tsq2)) is unknown;
--- 0 row(s) selected.
>>select * from t004tsq1 where (a >= any (select a from t004tsq2)) is unknown;
--- 0 row(s) selected.
>>select * from t004tsq1 where (a <= any (select a from t004tsq2)) is unknown;
--- 0 row(s) selected.
>>select * from t004tsq3 where (a = any (select a from t004tsq4)) is unknown;
--- 0 row(s) selected.
>>
>>-- tests to verify that mxcmp generates good plan for queries like
>>-- select ... from t1
>>-- where t1.c not in (select t2.c from t2 where t2.c is not null ...)
>>-- and t1.c is not null;
>>-- which were previously generating inefficient plans like
>>-- nested_anti_semi_join(pa(t1), pa(t2))
>>-- evaluating a cross product of t1 with t2 and applying the predicate
>>-- not((t1.c <> t2.c) is true)
>>-- A much better plan would be
>>-- hash_anti_semi_join(pa(t1), pa(t2))
>>-- evaluating a join of t1 with t2 and applying the predicate
>>-- t1.c = t2.c
>>prepare xx from
+>select count(*) from t004tsq1 where b not in (select b from t004tsq2);
--- SQL command prepared.
>>select substring(description from position('join_predicates:' in description)
+> for 77)
+>from table(explain(null, 'XX'))
+>where operator like '%ANTI_SEMI_JOIN%';
(EXPR)
-----------------------------------------------------------------------------
join_predicates: (TRAFODION.SCH.T004TSQ1.B = TRAFODION.SCH.T004TSQ2.B)
--- 1 row(s) selected.
>>explain options 'f' xx;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+000
3 . 4 sort_scalar_aggr 1.00E+000
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan T004TSQ1 1.00E+002
. . 1 trafodion_scan T004TSQ2 1.00E+002
--- SQL operation complete.
>>execute xx;
(EXPR)
--------------------
0
--- 1 row(s) selected.
>>
>>prepare xx from
+>select count(*) from t004tsq1 where d not in (select d from t004tsq2);
--- SQL command prepared.
>>select substring(description from position('join_predicates:' in description)
+> for 77)
+>from table(explain(null, 'XX'))
+>where operator like '%ANTI_SEMI_JOIN%';
(EXPR)
-----------------------------------------------------------------------------
join_predicates: (TRAFODION.SCH.T004TSQ1.D = TRAFODION.SCH.T004TSQ2.D)
--- 1 row(s) selected.
>>explain options 'f' xx;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+000
3 . 4 sort_scalar_aggr 1.00E+000
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan T004TSQ1 1.00E+002
. . 1 trafodion_scan T004TSQ2 1.00E+002
--- SQL operation complete.
>>execute xx;
(EXPR)
--------------------
0
--- 1 row(s) selected.
>>
>>prepare xx from
+>select count(*) from t004tsq1
+>where a not in (select a from t004tsq2 where a is not null)
+> and a is not null;
--- SQL command prepared.
>>select substring(description from position('join_predicates:' in description)
+>for 150)
+>from table(explain(null, 'XX'))
+>where operator like '%ANTI_SEMI_JOIN%';
(EXPR)
------------------------------------------------------------------------------------------------------------------------------------------------------
join_predicates: (TRAFODION.SCH.T004TSQ1.A = TRAFODION.SCH.T004TSQ2.A) other_join_predicates: TRAFODION.SCH.T004TSQ2.A is not null
--- 1 row(s) selected.
>>explain options 'f' xx;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+000
3 . 4 sort_scalar_aggr 1.00E+000
2 1 3 hybrid_hash_anti_sem 9.89E+001
. . 2 trafodion_scan T004TSQ1 9.89E+001
. . 1 trafodion_scan T004TSQ2 9.89E+001
--- SQL operation complete.
>>execute xx;
(EXPR)
--------------------
0
--- 1 row(s) selected.
>>
>>prepare xx from
+>select count(*) from t004tsq1
+>where c not in (select c from t004tsq2 where c is not null)
+> and c is not null;
--- SQL command prepared.
>>select substring(description from position('join_predicates:' in description)
+> for
+> position('other_join_predica' in description) -
+> position('join_predicates:' in description) )
+>from table(explain(null, 'XX'))
+>where operator like '%ANTI_SEMI_JOIN%';
(EXPR)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
join_predicates: (TRAFODION.SCH.T004TSQ1.C = TRAFODION.SCH.T004TSQ2.C)
--- 1 row(s) selected.
>>explain options 'f' xx;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+000
3 . 4 sort_scalar_aggr 1.00E+000
2 1 3 hybrid_hash_anti_sem 9.89E+001
. . 2 trafodion_scan T004TSQ1 9.89E+001
. . 1 trafodion_scan T004TSQ2 9.89E+001
--- SQL operation complete.
>>execute xx;
(EXPR)
--------------------
0
--- 1 row(s) selected.
>>
>>prepare xx from
+>select count(*) from t004tsq1
+>where a not in (select a from t004tsq2 where a > 0)
+> and a < 0;
--- SQL command prepared.
>>select substring(description from position('join_predicates:' in description)
+> for
+> position('other_join_predica' in description) -
+> position('join_predicates:' in description) )
+>from table(explain(null, 'XX'))
+>where operator like '%ANTI_SEMI_JOIN%';
(EXPR)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
join_predicates: (TRAFODION.SCH.T004TSQ1.A = TRAFODION.SCH.T004TSQ2.A)
--- 1 row(s) selected.
>>explain options 'f' xx;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+000
3 . 4 sort_scalar_aggr 1.00E+000
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan T004TSQ1 3.29E+001
. . 1 trafodion_scan T004TSQ2 3.29E+001
--- SQL operation complete.
>>execute xx;
(EXPR)
--------------------
0
--- 1 row(s) selected.
>>
>>prepare xx from
+>select count(*) from t004tsq1
+>where c not in (select c from t004tsq2 where c <> ' ')
+> and c >= ' ';
--- SQL command prepared.
>>explain options 'f' xx;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+000
3 . 4 sort_scalar_aggr 1.00E+000
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan T004TSQ1 3.29E+001
. . 1 trafodion_scan T004TSQ2 6.59E+001
--- SQL operation complete.
>>execute xx;
(EXPR)
--------------------
0
--- 1 row(s) selected.
>>
>>prepare xx from
+>select count(*) from t004tsq1
+>where a not in (select a from t004tsq2 where a >= 0)
+> and a <= 0;
--- SQL command prepared.
>>select substring(description from position('join_predicates:' in description)
+>for 150)
+>from table(explain(null, 'XX'))
+>where operator like '%ANTI_SEMI_JOIN%';
(EXPR)
------------------------------------------------------------------------------------------------------------------------------------------------------
join_predicates: (TRAFODION.SCH.T004TSQ1.A = TRAFODION.SCH.T004TSQ2.A) other_join_predicates: (TRAFODION.SCH.T004TSQ2.A >= 0)
--- 1 row(s) selected.
>>explain options 'f' xx;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+000
3 . 4 sort_scalar_aggr 1.00E+000
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan T004TSQ1 3.29E+001
. . 1 trafodion_scan T004TSQ2 3.29E+001
--- SQL operation complete.
>>execute xx;
(EXPR)
--------------------
0
--- 1 row(s) selected.
>>
>>prepare xx from
+>select count(*) from t004tsq1
+>where c not in (select c from t004tsq2 where not (c is null))
+> and c > ' ';
--- SQL command prepared.
>>select substring(description from position('join_predicates:' in description)
+>for 150)
+>from table(explain(null, 'XX'))
+>where operator like '%ANTI_SEMI_JOIN%';
(EXPR)
------------------------------------------------------------------------------------------------------------------------------------------------------
join_predicates: (TRAFODION.SCH.T004TSQ1.C = TRAFODION.SCH.T004TSQ2.C) other_join_predicates: TRAFODION.SCH.T004TSQ2.C is not null
--- 1 row(s) selected.
>>explain options 'f' xx;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+000
3 . 4 sort_scalar_aggr 1.00E+000
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan T004TSQ1 3.29E+001
. . 1 trafodion_scan T004TSQ2 9.89E+001
--- SQL operation complete.
>>execute xx;
(EXPR)
--------------------
0
--- 1 row(s) selected.
>>
>>prepare xx from
+>select count(*) from t004tsq1
+>where not (a = any (select a from t004tsq2 where a >= 0))
+> and a > 0;
--- SQL command prepared.
>>select substring(description from position('join_predicates:' in description)
+>for 150)
+>from table(explain(null, 'XX'))
+>where operator like '%ANTI_SEMI_JOIN%';
(EXPR)
------------------------------------------------------------------------------------------------------------------------------------------------------
join_predicates: (TRAFODION.SCH.T004TSQ1.A = TRAFODION.SCH.T004TSQ2.A) other_join_predicates: (TRAFODION.SCH.T004TSQ2.A >= 0)
--- 1 row(s) selected.
>>explain options 'f' xx;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+000
3 . 4 sort_scalar_aggr 1.00E+000
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan T004TSQ1 3.29E+001
. . 1 trafodion_scan T004TSQ2 3.29E+001
--- SQL operation complete.
>>execute xx;
(EXPR)
--------------------
0
--- 1 row(s) selected.
>>
>>prepare xx from
+>select count(*) from t004tsq1
+>where (c <> any (select c from t004tsq2 where c = ' '))
+> and c <> ' ';
--- SQL command prepared.
>>select substring(description from position('join_predicates:' in description)
+>for 150)
+>from table(explain(null, 'XX'))
+>where operator like '%ANTI_SEMI_JOIN%';
--- 0 row(s) selected.
>>explain options 'f' xx;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+000
3 . 4 sort_scalar_aggr 1.00E+000
2 1 3 hybrid_hash_semi_joi 6.59E+001
. . 2 trafodion_scan T004TSQ1 6.59E+001
. . 1 trafodion_scan T004TSQ2 1.00E+001
--- SQL operation complete.
>>execute xx;
(EXPR)
--------------------
0
--- 1 row(s) selected.
>>
>>-- query that continues to get nested_anti_semi_join plans
>>prepare xx from
+>select count(*) from t004tsq1
+>where b not in (select a from t004tsq2 where a is not null or d <> ' ');
--- SQL command prepared.
>>select substring(description from position('join_predicates:' in description)
+> for
+> position('is null' in description) + 7 -
+> position('join_predicates:' in description) )
+>from table(explain(null, 'XX'))
+>where operator like '%ANTI_SEMI_JOIN%';
(EXPR)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
join_predicates: (TRAFODION.SCH.T004TSQ1.B = TRAFODION.SCH.T004TSQ2.A) check_inner_null_expr: TRAFODION.SCH.T004TSQ2.A is null
--- 1 row(s) selected.
>>explain options 'f' xx;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+000
3 . 4 sort_scalar_aggr 1.00E+000
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan T004TSQ1 1.00E+002
. . 1 trafodion_scan T004TSQ2 1.00E+002
--- SQL operation complete.
>>execute xx;
(EXPR)
--------------------
0
--- 1 row(s) selected.
>>
>>-- gets hash_anti_semi_join but same old not((d <> c) is true) predicate
>>prepare xx from
+>select count(*) from t004tsq1
+>where d not in (select c from t004tsq2 where c = ' ' or b > 0);
--- SQL command prepared.
>>select substring(description from position('join_predicates:' in description)
+> for
+> position('is null' in description) + 7 -
+> position('join_predicates:' in description) )
+>from table(explain(null, 'XX'))
+>where operator like '%ANTI_SEMI_JOIN%';
(EXPR)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
join_predicates: (TRAFODION.SCH.T004TSQ1.D = TRAFODION.SCH.T004TSQ2.C) check_inner_null_expr: TRAFODION.SCH.T004TSQ2.C is null
--- 1 row(s) selected.
>>--explain options 'f' xx;
>>execute xx;
(EXPR)
--------------------
0
--- 1 row(s) selected.
>>
>>-- also remains nested_anti_semi_join but VEG(t004tsq1.c,t004tsq2.c)
>>-- causes contradiction: VEG(c,' ') and c <> ' '. So, this
>>-- should not return any rows
>>prepare xx from
+>select count(*) from t004tsq1
+>where c not in (select c from t004tsq2 where c <> ' ')
+> and c = ' ';
--- SQL command prepared.
>>explain options 'f' xx;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+000
3 . 4 sort_scalar_aggr 1.00E+000
2 1 3 hybrid_hash_anti_sem 1.00E+001
. . 2 trafodion_scan T004TSQ1 1.00E+001
. . 1 trafodion_scan T004TSQ2 3.29E+001
--- SQL operation complete.
>>execute xx;
(EXPR)
--------------------
0
--- 1 row(s) selected.
>>
>>-- this antisemijoin query used to get an internal error 2006: assertion
>>-- failure ((index >= 0) AND (index < (long)children_.entries())) in file
>>-- optimizer\ItemExpr.cpp at line 4850 because "where t1.b IS NULL" gets
>>-- folded into a "FALSE" itemexpr with no children and
>>-- Join::tryToRewriteJoinPredicate was dereferencing "iePtr->child(0)"
>>-- without first testing if iePtr has any children.
>>PREPARE xxx FROM
+> DELETE FROM t004tsq3 WHERE ( 0 ) = ALL (
+> SELECT t1.a FROM t004tsq2 T1 WHERE t1.b IS NULL ) ;
--- SQL command prepared.
>>
>>--
>>-- Tests for an Anti-Semi-HJ with no search expression, including reuse
>>--
>>delete from t004tsq1;
--- 1 row(s) deleted.
>>delete from t004tsq2;
--- 2 row(s) deleted.
>>delete from t004tsq3;
--- 1 row(s) deleted.
>>
>>control query default NESTED_JOIN_CACHE 'OFF';
--- SQL operation complete.
>> -- disable probe cache
>>control query default HJ_TYPE 'ORDERED';
--- SQL operation complete.
>> -- allow reuse
>>
>>insert into t004tsq1 values (11, 11, 'a', 'a');
--- 1 row(s) inserted.
>>insert into t004tsq1 values (11, 12, 'b', 'b');
--- 1 row(s) inserted.
>> -- dupl, match in t004sq3
>>insert into t004tsq1 values (22, 11, 'a', 'a');
--- 1 row(s) inserted.
>>insert into t004tsq1 values (22, 12, 'b', 'b');
--- 1 row(s) inserted.
>> -- dupl, no match in t004sq3
>>
>>insert into t004tsq2 values (11, 33, 'c', 'c');
--- 1 row(s) inserted.
>>insert into t004tsq2 values (22, 33, 'd', 'd');
--- 1 row(s) inserted.
>>
>>insert into t004tsq3 values (11, 44, N'e', N'e');
--- 1 row(s) inserted.
>>insert into t004tsq3 values (11, 55, N'f', N'f');
--- 1 row(s) inserted.
>>
>>-- nlj generates multiple inputs for reuse
>>control query shape nested_join(cut,hj(cut,cut));
--- SQL operation complete.
>>
>>-- stmt1 - no delay (small HJ inner cardinality)
>>prepare stmt1 from
+> select * from t004tsq1 where t004tsq1.a in (select a from t004tsq2 where not (exists (select a from t004tsq3 <<+ CARDINALITY 1E1>> where a=t004tsq2.a)));
--- SQL command prepared.
>>
>>-- stmt2 -- delay request to the left (based on inner cardinality)
>>prepare stmt2 from
+> select * from t004tsq1 where t004tsq1.a in (select a from t004tsq2 where not (exists (select a from t004tsq3 <<+ CARDINALITY 2E2>> where a=t004tsq2.a)));
--- SQL command prepared.
>>
>>explain options 'f' stmt1;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
5 . 6 root 1.00E+002
1 4 5 nested_semi_join 1.00E+002
3 2 4 ordered_hash_anti_se 1.00E+000
. . 3 trafodion_scan T004TSQ2 5.00E+001
. . 2 trafodion_scan T004TSQ3 1.00E+001
. . 1 trafodion_scan T004TSQ1 1.00E+002
--- SQL operation complete.
>>
>>execute stmt1;
A B C D
----------- ----------- --- ----
22 11 a a
22 12 b b
--- 2 row(s) selected.
>>
>>explain options 'f' stmt2;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
5 . 6 root 1.00E+002
1 4 5 nested_semi_join 1.00E+002
3 2 4 ordered_hash_anti_se 1.00E+000
. . 3 trafodion_scan T004TSQ2 5.00E+001
. . 2 trafodion_scan T004TSQ3 2.00E+002
. . 1 trafodion_scan T004TSQ1 1.00E+002
--- SQL operation complete.
>>
>>execute stmt2;
A B C D
----------- ----------- --- ----
22 11 a a
22 12 b b
--- 2 row(s) selected.
>>
>>log;
>>
>>---------------------------------------------------------------------------
>>--NESTED ANTI SEMI JOIN
>>---------------------------------------------------------------------------
>>control query default ATTEMPT_ESP_PARALLELISM 'OFF';
--- SQL operation complete.
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT NESTED_JOIN(CUT,CUT);
--- SQL operation complete.
>>
>>----------------------------------------------------------------------------
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>obey test004(NOTIN_CQDOFF);
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>
>>----------------------------------------------------------------------------
>>--Single_column#01
>>--NOT NULLABLE, NOT NULLABLE
>>-- all joins ==> a1=b1
>>prepare s from
+>select * from ta where a1 not in (select b1 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
3 . 4 root 1.00E+002
1 2 3 nested_anti_semi_joi 1.00E+002
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[4 ] ROOT statement: select * from ta where a1 not in (select b1 from tb) order by a1;
[3 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested
[2 ] TRAFODION_SCAN (TB) ?
[1 ] TRAFODION_SCAN (TA) ?
--- 4 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#02
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b2 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 92 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
1 3 4 nested_anti_semi_joi 1.00E+002
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b2 from tb) order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: not((TRAFODION.SCH.TA.A1 <> B2) is true)
[1 ] TRAFODION_SCAN (TA) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#03
>>--NOT NULLABLE, NULLABLE with NULL values
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
1 3 4 nested_anti_semi_joi 1.00E+002
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b4 from tb) order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: not((TRAFODION.SCH.TA.A1 <> B4) is true)
[1 ] TRAFODION_SCAN (TA) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#04
>>--NULLABLE with NULL values, NOT NULLABLE
>>-- if hash join ==> a2=b1 with check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b1) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b1 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 91 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
1 3 4 nested_anti_semi_joi 1.00E+002
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2 not in (select b1 from tb) order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: not((TRAFODION.SCH.TA.A2 <> B1) is true)
[1 ] TRAFODION_SCAN (TA) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#05
>>--NULLABLE with NULL values, NULLABLE with no NULL values
>>-- if hash join ==> a2=b2 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
1 3 4 nested_anti_semi_joi 1.00E+002
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2 not in (select b2 from tb) order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: not((TRAFODION.SCH.TA.A2 <> B2) is true)
[1 ] TRAFODION_SCAN (TA) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#06
>>--NULLABLE with NULL values, NULLABLE with NULL values
>>-- if hash join ==> a4=b4 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
1 3 4 nested_anti_semi_joi 1.00E+002
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: not((TRAFODION.SCH.TA.A4 <> B4) is true)
[1 ] TRAFODION_SCAN (TA) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#07
>>--NULLABLE with NULL filtering, NULLABLE with NO NULL filtering
>>-- if hash join ==> a4=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) and a4 >0 order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
1 3 4 nested_anti_semi_joi 3.29E+001
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) and a4 >0 order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: not((TRAFODION.SCH.TA.A4 <> B4) is true)
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
--- 5 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>--Single_column#08
>>--NULLABLE with NULL values, NULLABLE with NULL filtering
>>-- if hash join ==> a4=b4 with check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4>0) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
1 3 4 nested_anti_semi_joi 1.00E+002
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4>0) order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: (B4 > 0) and not((TRAFODION.SCH.TA.A4 <> B4) is true)
[1 ] TRAFODION_SCAN (TA) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#09
>>--NULLABLE with NULL filtering, NULLABLE with NULL filtering
>>-- all joins ==> a4=b4
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4>0) and a4>0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
1 3 4 nested_anti_semi_joi 3.29E+001
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4>0) and a4>0 order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested other_join_predicates: TRAFODION.SCH.TA.A4 is not null and (TRAFODION.SCH.TA.A4 > 0)
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: (B4 = TRAFODION.SCH.TA.A4) and (TRAFODION.SCH.TA.A4 > 0)
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#10
>>--NULLABLE with NULL values, EMPTY NULLABLE with NULL filtering
>>-- if hash join ==> a4=b4 with check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4<0) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
1 3 4 nested_anti_semi_joi 1.00E+002
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4<0) order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: (B4 < 0) and not((TRAFODION.SCH.TA.A4 <> B4) is true)
[1 ] TRAFODION_SCAN (TA) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#11
>>--NULLABLE with NULL filtering, EMPTY NULLABLE with NULL filtering
>>-- all joins ==> a4 = b4
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4<0) and a4>0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 145 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
1 3 4 nested_anti_semi_joi 3.29E+001
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4<0) and a4>0 order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested other_join_predicates: TRAFODION.SCH.TA.A4 is not null and (TRAFODION.SCH.TA.A4 < 0)
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: (B4 = TRAFODION.SCH.TA.A4) and (TRAFODION.SCH.TA.A4 < 0)
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#12
>>--NULLABLE with no NULL filtering, EMPTY NULLABLE with no NULL filtering
>>-- if hash join ==> a4=b4 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b1<0) and a1>200 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
1 3 4 nested_anti_semi_joi 3.29E+001
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b1<0) and a1>200 order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: not((TRAFODION.SCH.TA.A4 <> B4) is true)
[1 ] TRAFODION_SCAN (TA) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #1
>>-- all joins ==> a1=b1 and not (((a2<>b2 ) or (a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
3 . 4 root 1.00E+002
1 2 3 nested_anti_semi_joi 1.00E+002
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[4 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) order by a1;
[3 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested
[2 ] TRAFODION_SCAN (TB) executor_predicates: not((((TRAFODION.SCH.TA.A2 <> B2) or (TRAFODION.SCH.TA.A3 <> B3)) or (TRAFODION.SCH.TA.A4 <> B4)) is true) and (B2 > 2) and (B3 > 3) begin_key: (B1 = TRAFODION.SCH.TA.A1) end_key: (B1 = TRAFODION.SCH.TA.A1)
[1 ] TRAFODION_SCAN (TA) ?
--- 4 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #2
>>-- all joins ==> a1=b1 and a2=b2 and not (((a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) and a2 > 0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
3 . 4 root 3.29E+001
1 2 3 nested_anti_semi_joi 3.29E+001
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[4 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) and a2 > 0 order by a1;
[3 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested other_join_predicates: TRAFODION.SCH.TA.A2 is not null and (TRAFODION.SCH.TA.A2 > 2)
[2 ] TRAFODION_SCAN (TB) executor_predicates: (B2 = TRAFODION.SCH.TA.A2) and not(((TRAFODION.SCH.TA.A3 <> B3) or (TRAFODION.SCH.TA.A4 <> B4)) is true) and (TRAFODION.SCH.TA.A2 > 2) and (B3 > 3) begin_key: (B1 = TRAFODION.SCH.TA.A1) end_key: (B1 = TRAFODION.SCH.TA.A1)
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A2 > 0)
--- 4 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #3
>>-- all joins ==> not (((a2<>b2 ) or (a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb ) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.40E+001
1 3 4 nested_anti_semi_joi 3.40E+001
2 . 3 probe_cache 3.40E-001
. . 2 trafodion_scan TB 3.40E-001
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb ) order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: not((((TRAFODION.SCH.TA.A2 <> B2) or (TRAFODION.SCH.TA.A3 <> B3)) or (TRAFODION.SCH.TA.A4 <> B4)) is true)
[1 ] TRAFODION_SCAN (TA) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #4
>>-- all joins ==> a2=b2 and a3=b3 and a4=b4
>>prepare s from
+>select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb
+>where b2>0 and b3>0 and b4 > 0) and
+>a2>0 and a3>0 and a4 >0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 4.00E+000
1 3 4 nested_anti_semi_joi 4.00E+000
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 4.00E+000
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb where b2>0 and b3>0 and b4 > 0) and a2>0 and a3>0 and a4 >0 order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested other_join_predicates: TRAFODION.SCH.TA.A2 is not null and TRAFODION.SCH.TA.A3 is not null and TRAFODION.SCH.TA.A4 is not null and (TRAFODION.SCH.TA.A2 > 0) and (TRAFODION.SCH.TA.A3 > 0) and (TRAFODION.S
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: (B2 = TRAFODION.SCH.TA.A2) and (B3 = TRAFODION.SCH.TA.A3) and (B4 = TRAFODION.SCH.TA.A4) and (TRAFODION.SCH.TA.A2 > 0) and (TRAFODION.SCH.TA.A3 > 0) and (TRAFODION.SCH.TA.A4 > 0)
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A2 > 0) and (A3 > 0) and (A4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'OFF';
--- SQL operation complete.
>>obey test004(NOTIN_CQDON_SB);
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'OFF';
--- SQL operation complete.
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
1 3 4 nested_anti_semi_joi 1.00E+002
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested other_join_predicates: TRAFODION.SCH.TA.A4 is not null
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: (B4 = TRAFODION.SCH.TA.A4)
[1 ] TRAFODION_SCAN (TA) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
3 . 4 root 1.00E+002
1 2 3 nested_anti_semi_joi 1.00E+002
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[4 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb) order by a1;
[3 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested other_join_predicates: TRAFODION.SCH.TA.A2 is not null and TRAFODION.SCH.TA.A3 is not null and TRAFODION.SCH.TA.A4 is not null
[2 ] TRAFODION_SCAN (TB) executor_predicates: (B2 = TRAFODION.SCH.TA.A2) and (B3 = TRAFODION.SCH.TA.A3) and (B4 = TRAFODION.SCH.TA.A4) begin_key: (B1 = TRAFODION.SCH.TA.A1) end_key: (B1 = TRAFODION.SCH.TA.A1)
[1 ] TRAFODION_SCAN (TA) ?
--- 4 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>----------------------------------------------------------------------------
>>
>>--log;
>>--log ./CORE_TEST004_PLUS_TYPE0_MERGE.--log clear;
>>
>>---------------------------------------------------------------------------
>>--##TYPE0 MERGE ANTI SEMI JOIN
>>---------------------------------------------------------------------------
>>
>>control query default ATTEMPT_ESP_PARALLELISM 'OFF';
--- SQL operation complete.
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT MERGE_JOIN(CUT,CUT);
--- SQL operation complete.
>>----------------------------------------------------------------------------
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>obey test004(NOTIN_CQDOFF);
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>
>>----------------------------------------------------------------------------
>>--Single_column#01
>>--NOT NULLABLE, NOT NULLABLE
>>-- all joins ==> a1=b1
>>prepare s from
+>select * from ta where a1 not in (select b1 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
3 . 4 root 1.00E+002
1 2 3 merge_anti_semi_join 1.00E+002
. . 2 trafodion_scan TB 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[4 ] ROOT statement: select * from ta where a1 not in (select b1 from tb) order by a1;
[3 ] MERGE_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: merge merge_join_predicate: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1)
[2 ] TRAFODION_SCAN (TB) ?
[1 ] TRAFODION_SCAN (TA) ?
--- 4 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#02
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b2 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b2 from tb) order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#03
>>--NOT NULLABLE, NULLABLE with NULL values
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b4 from tb) order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#04
>>--NULLABLE with NULL values, NOT NULLABLE
>>-- if hash join ==> a2=b1 with check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b1) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b1 from tb) order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#05
>>--NULLABLE with NULL values, NULLABLE with no NULL values
>>-- if hash join ==> a2=b2 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b2 from tb) order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#06
>>--NULLABLE with NULL values, NULLABLE with NULL values
>>-- if hash join ==> a4=b4 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#07
>>--NULLABLE with NULL filtering, NULLABLE with NO NULL filtering
>>-- if hash join ==> a4=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) and a4 >0 order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>--Single_column#08
>>--NULLABLE with NULL values, NULLABLE with NULL filtering
>>-- if hash join ==> a4=b4 with check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4>0) order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#09
>>--NULLABLE with NULL filtering, NULLABLE with NULL filtering
>>-- all joins ==> a4=b4
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4>0) and a4>0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
6 . 7 root 3.29E+001
5 . 6 sort 3.29E+001
2 4 5 merge_anti_semi_join 3.29E+001
3 . 4 sort 3.29E+001
. . 3 trafodion_scan TB 3.29E+001
1 . 2 sort 3.29E+001
. . 1 trafodion_scan TA 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[7 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4>0) and a4>0 order by a1;
[6 ] SORT ?
[5 ] MERGE_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: merge merge_join_predicate: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B4 > 0)
[4 ] SORT ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null and (B4 > 0)
[2 ] SORT ?
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
--- 7 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#10
>>--NULLABLE with NULL values, EMPTY NULLABLE with NULL filtering
>>-- if hash join ==> a4=b4 with check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4<0) order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#11
>>--NULLABLE with NULL filtering, EMPTY NULLABLE with NULL filtering
>>-- all joins ==> a4 = b4
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4<0) and a4>0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 145 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
6 . 7 root 3.29E+001
5 . 6 sort 3.29E+001
2 4 5 merge_anti_semi_join 3.29E+001
3 . 4 sort 3.29E+001
. . 3 trafodion_scan TB 3.29E+001
1 . 2 sort 3.29E+001
. . 1 trafodion_scan TA 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[7 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4<0) and a4>0 order by a1;
[6 ] SORT ?
[5 ] MERGE_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: merge merge_join_predicate: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B4 < 0)
[4 ] SORT ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null and (B4 < 0)
[2 ] SORT ?
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
--- 7 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#12
>>--NULLABLE with no NULL filtering, EMPTY NULLABLE with no NULL filtering
>>-- if hash join ==> a4=b4 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b1<0) and a1>200 order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #1
>>-- all joins ==> a1=b1 and not (((a2<>b2 ) or (a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
3 . 4 root 1.00E+002
1 2 3 merge_anti_semi_join 1.00E+002
. . 2 trafodion_scan TB 1.10E+001
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[4 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) order by a1;
[3 ] MERGE_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: merge merge_join_predicate: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1) other_join_predicates: not((((TRAFODION.SCH.TA.A2 <> TRAFODION.SCH.TB.B2) or (TRAFODION.SCH.TA.A3 <> TRAFODION.SCH.TB.B3)) or (TRAFODION.S
[2 ] TRAFODION_SCAN (TB) executor_predicates: (B2 > 2) and (B3 > 3)
[1 ] TRAFODION_SCAN (TA) ?
--- 4 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #2
>>-- all joins ==> a1=b1 and a2=b2 and not (((a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) and a2 > 0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
5 . 6 root 3.29E+001
2 4 5 merge_anti_semi_join 3.29E+001
3 . 4 sort 1.10E+001
. . 3 trafodion_scan TB 1.10E+001
1 . 2 sort 3.29E+001
. . 1 trafodion_scan TA 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[6 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) and a2 > 0 order by a1;
[5 ] MERGE_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: merge merge_join_predicate: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1), (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) other_join_predicates: not(((TRAFODION.SCH.TA.A3 <> TRAFODION.SCH.TB.B3) or (TRAFODION.SCH.TA
[4 ] SORT ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and (B2 > 2) and (B3 > 3)
[2 ] SORT ?
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A2 > 0)
--- 6 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #3
>>-- all joins ==> not (((a2<>b2 ) or (a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb ) order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #4
>>-- all joins ==> a2=b2 and a3=b3 and a4=b4
>>prepare s from
+>select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb
+>where b2>0 and b3>0 and b4 > 0) and
+>a2>0 and a3>0 and a4 >0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
6 . 7 root 4.00E+000
5 . 6 sort 4.00E+000
2 4 5 merge_anti_semi_join 4.00E+000
3 . 4 sort 4.00E+000
. . 3 trafodion_scan TB 4.00E+000
1 . 2 sort 4.00E+000
. . 1 trafodion_scan TA 4.00E+000
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[7 ] ROOT statement: select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb where b2>0 and b3>0 and b4 > 0) and a2>0 and a3>0 and a4 >0 order by a1;
[6 ] SORT ?
[5 ] MERGE_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: merge merge_join_predicate: (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2), (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TB.B3), (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B2 > 0)
[4 ] SORT ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and B3 is not null and B4 is not null and (B2 > 0) and (B3 > 0) and (B4 > 0)
[2 ] SORT ?
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A2 > 0) and (A3 > 0) and (A4 > 0)
--- 7 row(s) selected.
>>----------------------------------------------------------------------------
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'OFF';
--- SQL operation complete.
>>obey test004(NOTIN_CQDON_SB);
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'OFF';
--- SQL operation complete.
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
6 . 7 root 1.00E+002
5 . 6 sort 1.00E+002
2 4 5 merge_anti_semi_join 1.00E+002
3 . 4 sort 1.00E+002
. . 3 trafodion_scan TB 1.00E+002
1 . 2 sort 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[7 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) order by a1;
[6 ] SORT ?
[5 ] MERGE_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: merge merge_join_predicate: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4)
[4 ] SORT ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null
[2 ] SORT ?
[1 ] TRAFODION_SCAN (TA) ?
--- 7 row(s) selected.
>>----------------------------------------------------------------------------
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
5 . 6 root 1.00E+002
2 4 5 merge_anti_semi_join 1.00E+002
3 . 4 sort 1.00E+002
. . 3 trafodion_scan TB 1.00E+002
1 . 2 sort 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[6 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb) order by a1;
[5 ] MERGE_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: merge merge_join_predicate: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1), (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2), (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TB.B3), (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4)
[4 ] SORT ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and B3 is not null and B4 is not null
[2 ] SORT ?
[1 ] TRAFODION_SCAN (TA) ?
--- 6 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>----------------------------------------------------------------------------
>>
>>--log;
>>--log ./CORE_TEST004_PLUS_TYPE0_HASH.--log clear;
>>
>>---------------------------------------------------------------------------
>>--HASH ANTI SEMI JOIN
>>---------------------------------------------------------------------------
>>
>>control query default ATTEMPT_ESP_PARALLELISM 'OFF';
--- SQL operation complete.
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT HYBRID_HASH_JOIN(CUT,CUT);
--- SQL operation complete.
>>
>>
>>----------------------------------------------------------------------------
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>obey test004(NOTIN_CQDOFF);
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>
>>----------------------------------------------------------------------------
>>--Single_column#01
>>--NOT NULLABLE, NOT NULLABLE
>>-- all joins ==> a1=b1
>>prepare s from
+>select * from ta where a1 not in (select b1 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b1 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1)
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#02
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b2 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 92 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b2 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B2) check_inner_null_expr: TRAFODION.SCH.TB.B2 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#03
>>--NOT NULLABLE, NULLABLE with NULL values
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#04
>>--NULLABLE with NULL values, NOT NULLABLE
>>-- if hash join ==> a2=b1 with check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b1) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b1 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 91 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2 not in (select b1 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B1) check_outer_null_expr: TRAFODION.SCH.TA.A2 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#05
>>--NULLABLE with NULL values, NULLABLE with no NULL values
>>-- if hash join ==> a2=b2 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2 not in (select b2 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) check_inner_null_expr: TRAFODION.SCH.TB.B2 is null check_outer_null_expr: TRAFODION.SCH.TA.A2 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#06
>>--NULLABLE with NULL values, NULLABLE with NULL values
>>-- if hash join ==> a4=b4 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null check_outer_null_expr: TRAFODION.SCH.TA.A4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#07
>>--NULLABLE with NULL filtering, NULLABLE with NO NULL filtering
>>-- if hash join ==> a4=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) and a4 >0 order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) and a4 >0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>--Single_column#08
>>--NULLABLE with NULL values, NULLABLE with NULL filtering
>>-- if hash join ==> a4=b4 with check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4>0) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4>0) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_outer_null_expr: TRAFODION.SCH.TA.A4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: (B4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#09
>>--NULLABLE with NULL filtering, NULLABLE with NULL filtering
>>-- all joins ==> a4=b4
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4>0) and a4>0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4>0) and a4>0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B4 > 0)
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
[1 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null and (B4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#10
>>--NULLABLE with NULL values, EMPTY NULLABLE with NULL filtering
>>-- if hash join ==> a4=b4 with check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4<0) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4<0) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_outer_null_expr: TRAFODION.SCH.TA.A4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: (B4 < 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#11
>>--NULLABLE with NULL filtering, EMPTY NULLABLE with NULL filtering
>>-- all joins ==> a4 = b4
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4<0) and a4>0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 145 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4<0) and a4>0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B4 < 0)
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
[1 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null and (B4 < 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#12
>>--NULLABLE with no NULL filtering, EMPTY NULLABLE with no NULL filtering
>>-- if hash join ==> a4=b4 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b1<0) and a1>200 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b1<0) and a1>200 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null check_outer_null_expr: TRAFODION.SCH.TA.A4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #1
>>-- all joins ==> a1=b1 and not (((a2<>b2 ) or (a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.10E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1) other_join_predicates: not((((TRAFODION.SCH.TA.A2 <> TRAFODION.SCH.TB.B2) or (TRAFODION.SCH.TA.A3 <> TRAFODION.SCH.TB.B3)) or (TRAFODION.SC
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: (B2 > 2) and (B3 > 3)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #2
>>-- all joins ==> a1=b1 and a2=b2 and not (((a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) and a2 > 0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 1.10E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) and a2 > 0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1) and (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) other_join_predicates: not(((TRAFODION.SCH.TA.A3 <> TRAFODION.SCH.TB.B3) or (TRAFODION.SCH.
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A2 > 0)
[1 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and (B2 > 2) and (B3 > 3)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #3
>>-- all joins ==> not (((a2<>b2 ) or (a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb ) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.40E+001
3 . 4 sort 3.40E+001
2 1 3 hybrid_hash_anti_sem 3.40E+001
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb ) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash (cross product) other_join_predicates: not((((TRAFODION.SCH.TA.A2 <> TRAFODION.SCH.TB.B2) or (TRAFODION.SCH.TA.A3 <> TRAFODION.SCH.TB.B3)) or (TRAFODION.SCH.TA.A4 <> TRAFODION.SCH.TB.B4)) is true)
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #4
>>-- all joins ==> a2=b2 and a3=b3 and a4=b4
>>prepare s from
+>select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb
+>where b2>0 and b3>0 and b4 > 0) and
+>a2>0 and a3>0 and a4 >0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 4.00E+000
3 . 4 sort 4.00E+000
2 1 3 hybrid_hash_anti_sem 4.00E+000
. . 2 trafodion_scan TA 4.00E+000
. . 1 trafodion_scan TB 4.00E+000
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb where b2>0 and b3>0 and b4 > 0) and a2>0 and a3>0 and a4 >0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) and (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TB.B3) and (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B2
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A2 > 0) and (A3 > 0) and (A4 > 0)
[1 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and B3 is not null and B4 is not null and (B2 > 0) and (B3 > 0) and (B4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'OFF';
--- SQL operation complete.
>>obey test004(NOTIN_CQDON_SB);
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'OFF';
--- SQL operation complete.
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4)
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1) and (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) and (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TB.B3) and (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and B3 is not null and B4 is not null
--- 5 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>----------------------------------------------------------------------------
>>
>>--log;
>>
>>--log ./CORE_TEST004_PLUS_TYPE2_NESTED.--log clear;
>>
>>---------------------------------------------------------------------------
>>--TYPE 2 NESTED ANTI SEMI JOIN
>>---------------------------------------------------------------------------
>>control query default ATTEMPT_ESP_PARALLELISM 'ON';
--- SQL operation complete.
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>#ifndef SEABASE_REGRESS
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT ESP_EXCHANGE(NESTED_JOIN(CUT,CUT,TYPE2));
>>#else
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT NESTED_JOIN(CUT,CUT,TYPE2);
--- SQL operation complete.
>>#endif
>>
>>----------------------------------------------------------------------------
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>obey test004(NOTIN_CQDOFF);
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>
>>----------------------------------------------------------------------------
>>--Single_column#01
>>--NOT NULLABLE, NOT NULLABLE
>>-- all joins ==> a1=b1
>>prepare s from
+>select * from ta where a1 not in (select b1 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
3 . 4 root 1.00E+002
1 2 3 nested_anti_semi_joi 1.00E+002
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[4 ] ROOT statement: select * from ta where a1 not in (select b1 from tb) order by a1;
[3 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested
[2 ] TRAFODION_SCAN (TB) ?
[1 ] TRAFODION_SCAN (TA) ?
--- 4 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#02
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b2 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 92 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
7 . 8 root 1.00E+002
6 . 7 sort 1.00E+002
5 . 6 esp_exchange 1:4(hash2) 1.00E+002
2 4 5 nested_anti_semi_joi 1.00E+002
3 . 4 probe_cache 1.00E+000
. . 3 trafodion_scan TB 1.00E+000
1 . 2 esp_exchange 4(hash2):1 (m) 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[8 ] ROOT statement: select * from ta where a1 not in (select b2 from tb) order by a1;
[7 ] SORT ?
[6 ] ESP_EXCHANGE parent_processes: 1 child_processes: 4 child_partitioning_function: hash2 partitioned 4 ways on (randomNum)
[5 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested parallel_join_type: 2 (N2J Opens all inner partitions)
[4 ] PROBE_CACHE ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: not((TRAFODION.SCH.TA.A1 <> B2) is true)
[2 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: hash2 partitioned 4 ways on (randomNum) partitioning_expression: (HashDistPartHash(cast(randomNum)) Hash2Distrib scaledNumParts) merged_order: TRAFODION.SCH.TA.A1
[1 ] TRAFODION_SCAN (TA) ?
--- 8 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#03
>>--NOT NULLABLE, NULLABLE with NULL values
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
7 . 8 root 1.00E+002
6 . 7 sort 1.00E+002
5 . 6 esp_exchange 1:4(hash2) 1.00E+002
2 4 5 nested_anti_semi_joi 1.00E+002
3 . 4 probe_cache 1.00E+000
. . 3 trafodion_scan TB 1.00E+000
1 . 2 esp_exchange 4(hash2):1 (m) 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[8 ] ROOT statement: select * from ta where a1 not in (select b4 from tb) order by a1;
[7 ] SORT ?
[6 ] ESP_EXCHANGE parent_processes: 1 child_processes: 4 child_partitioning_function: hash2 partitioned 4 ways on (randomNum)
[5 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested parallel_join_type: 2 (N2J Opens all inner partitions)
[4 ] PROBE_CACHE ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: not((TRAFODION.SCH.TA.A1 <> B4) is true)
[2 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: hash2 partitioned 4 ways on (randomNum) partitioning_expression: (HashDistPartHash(cast(randomNum)) Hash2Distrib scaledNumParts) merged_order: TRAFODION.SCH.TA.A1
[1 ] TRAFODION_SCAN (TA) ?
--- 8 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#04
>>--NULLABLE with NULL values, NOT NULLABLE
>>-- if hash join ==> a2=b1 with check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b1) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b1 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 91 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
7 . 8 root 1.00E+002
6 . 7 sort 1.00E+002
5 . 6 esp_exchange 1:4(hash2) 1.00E+002
2 4 5 nested_anti_semi_joi 1.00E+002
3 . 4 probe_cache 1.00E+000
. . 3 trafodion_scan TB 1.00E+000
1 . 2 esp_exchange 4(hash2):1 (m) 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[8 ] ROOT statement: select * from ta where a2 not in (select b1 from tb) order by a1;
[7 ] SORT ?
[6 ] ESP_EXCHANGE parent_processes: 1 child_processes: 4 child_partitioning_function: hash2 partitioned 4 ways on (randomNum)
[5 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested parallel_join_type: 2 (N2J Opens all inner partitions)
[4 ] PROBE_CACHE ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: not((TRAFODION.SCH.TA.A2 <> B1) is true)
[2 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: hash2 partitioned 4 ways on (randomNum) partitioning_expression: (HashDistPartHash(cast(randomNum)) Hash2Distrib scaledNumParts) merged_order: TRAFODION.SCH.TA.A1
[1 ] TRAFODION_SCAN (TA) ?
--- 8 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#05
>>--NULLABLE with NULL values, NULLABLE with no NULL values
>>-- if hash join ==> a2=b2 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
7 . 8 root 1.00E+002
6 . 7 sort 1.00E+002
5 . 6 esp_exchange 1:4(hash2) 1.00E+002
2 4 5 nested_anti_semi_joi 1.00E+002
3 . 4 probe_cache 1.00E+000
. . 3 trafodion_scan TB 1.00E+000
1 . 2 esp_exchange 4(hash2):1 (m) 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[8 ] ROOT statement: select * from ta where a2 not in (select b2 from tb) order by a1;
[7 ] SORT ?
[6 ] ESP_EXCHANGE parent_processes: 1 child_processes: 4 child_partitioning_function: hash2 partitioned 4 ways on (randomNum)
[5 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested parallel_join_type: 2 (N2J Opens all inner partitions)
[4 ] PROBE_CACHE ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: not((TRAFODION.SCH.TA.A2 <> B2) is true)
[2 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: hash2 partitioned 4 ways on (randomNum) partitioning_expression: (HashDistPartHash(cast(randomNum)) Hash2Distrib scaledNumParts) merged_order: TRAFODION.SCH.TA.A1
[1 ] TRAFODION_SCAN (TA) ?
--- 8 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#06
>>--NULLABLE with NULL values, NULLABLE with NULL values
>>-- if hash join ==> a4=b4 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
7 . 8 root 1.00E+002
6 . 7 sort 1.00E+002
5 . 6 esp_exchange 1:4(hash2) 1.00E+002
2 4 5 nested_anti_semi_joi 1.00E+002
3 . 4 probe_cache 1.00E+000
. . 3 trafodion_scan TB 1.00E+000
1 . 2 esp_exchange 4(hash2):1 (m) 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[8 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) order by a1;
[7 ] SORT ?
[6 ] ESP_EXCHANGE parent_processes: 1 child_processes: 4 child_partitioning_function: hash2 partitioned 4 ways on (randomNum)
[5 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested parallel_join_type: 2 (N2J Opens all inner partitions)
[4 ] PROBE_CACHE ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: not((TRAFODION.SCH.TA.A4 <> B4) is true)
[2 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: hash2 partitioned 4 ways on (randomNum) partitioning_expression: (HashDistPartHash(cast(randomNum)) Hash2Distrib scaledNumParts) merged_order: TRAFODION.SCH.TA.A1
[1 ] TRAFODION_SCAN (TA) ?
--- 8 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#07
>>--NULLABLE with NULL filtering, NULLABLE with NO NULL filtering
>>-- if hash join ==> a4=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) and a4 >0 order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
1 3 4 nested_anti_semi_joi 3.29E+001
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) and a4 >0 order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: not((TRAFODION.SCH.TA.A4 <> B4) is true)
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
--- 5 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>--Single_column#08
>>--NULLABLE with NULL values, NULLABLE with NULL filtering
>>-- if hash join ==> a4=b4 with check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4>0) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
7 . 8 root 1.00E+002
6 . 7 sort 1.00E+002
5 . 6 esp_exchange 1:4(hash2) 1.00E+002
2 4 5 nested_anti_semi_joi 1.00E+002
3 . 4 probe_cache 1.00E+000
. . 3 trafodion_scan TB 1.00E+000
1 . 2 esp_exchange 4(hash2):1 (m) 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[8 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4>0) order by a1;
[7 ] SORT ?
[6 ] ESP_EXCHANGE parent_processes: 1 child_processes: 4 child_partitioning_function: hash2 partitioned 4 ways on (randomNum)
[5 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested parallel_join_type: 2 (N2J Opens all inner partitions)
[4 ] PROBE_CACHE ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: (B4 > 0) and not((TRAFODION.SCH.TA.A4 <> B4) is true)
[2 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: hash2 partitioned 4 ways on (randomNum) partitioning_expression: (HashDistPartHash(cast(randomNum)) Hash2Distrib scaledNumParts) merged_order: TRAFODION.SCH.TA.A1
[1 ] TRAFODION_SCAN (TA) ?
--- 8 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#09
>>--NULLABLE with NULL filtering, NULLABLE with NULL filtering
>>-- all joins ==> a4=b4
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4>0) and a4>0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
1 3 4 nested_anti_semi_joi 3.29E+001
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4>0) and a4>0 order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested other_join_predicates: TRAFODION.SCH.TA.A4 is not null and (TRAFODION.SCH.TA.A4 > 0)
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: (B4 = TRAFODION.SCH.TA.A4) and (TRAFODION.SCH.TA.A4 > 0)
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#10
>>--NULLABLE with NULL values, EMPTY NULLABLE with NULL filtering
>>-- if hash join ==> a4=b4 with check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4<0) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
7 . 8 root 1.00E+002
6 . 7 sort 1.00E+002
5 . 6 esp_exchange 1:4(hash2) 1.00E+002
2 4 5 nested_anti_semi_joi 1.00E+002
3 . 4 probe_cache 1.00E+000
. . 3 trafodion_scan TB 1.00E+000
1 . 2 esp_exchange 4(hash2):1 (m) 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[8 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4<0) order by a1;
[7 ] SORT ?
[6 ] ESP_EXCHANGE parent_processes: 1 child_processes: 4 child_partitioning_function: hash2 partitioned 4 ways on (randomNum)
[5 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested parallel_join_type: 2 (N2J Opens all inner partitions)
[4 ] PROBE_CACHE ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: (B4 < 0) and not((TRAFODION.SCH.TA.A4 <> B4) is true)
[2 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: hash2 partitioned 4 ways on (randomNum) partitioning_expression: (HashDistPartHash(cast(randomNum)) Hash2Distrib scaledNumParts) merged_order: TRAFODION.SCH.TA.A1
[1 ] TRAFODION_SCAN (TA) ?
--- 8 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#11
>>--NULLABLE with NULL filtering, EMPTY NULLABLE with NULL filtering
>>-- all joins ==> a4 = b4
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4<0) and a4>0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 145 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
1 3 4 nested_anti_semi_joi 3.29E+001
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4<0) and a4>0 order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested other_join_predicates: TRAFODION.SCH.TA.A4 is not null and (TRAFODION.SCH.TA.A4 < 0)
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: (B4 = TRAFODION.SCH.TA.A4) and (TRAFODION.SCH.TA.A4 < 0)
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#12
>>--NULLABLE with no NULL filtering, EMPTY NULLABLE with no NULL filtering
>>-- if hash join ==> a4=b4 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b1<0) and a1>200 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
1 3 4 nested_anti_semi_joi 3.29E+001
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b1<0) and a1>200 order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: not((TRAFODION.SCH.TA.A4 <> B4) is true)
[1 ] TRAFODION_SCAN (TA) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #1
>>-- all joins ==> a1=b1 and not (((a2<>b2 ) or (a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
3 . 4 root 1.00E+002
1 2 3 nested_anti_semi_joi 1.00E+002
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[4 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) order by a1;
[3 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested
[2 ] TRAFODION_SCAN (TB) executor_predicates: not((((TRAFODION.SCH.TA.A2 <> B2) or (TRAFODION.SCH.TA.A3 <> B3)) or (TRAFODION.SCH.TA.A4 <> B4)) is true) and (B2 > 2) and (B3 > 3) begin_key: (B1 = TRAFODION.SCH.TA.A1) end_key: (B1 = TRAFODION.SCH.TA.A1)
[1 ] TRAFODION_SCAN (TA) ?
--- 4 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #2
>>-- all joins ==> a1=b1 and a2=b2 and not (((a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) and a2 > 0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
3 . 4 root 3.29E+001
1 2 3 nested_anti_semi_joi 3.29E+001
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[4 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) and a2 > 0 order by a1;
[3 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested other_join_predicates: TRAFODION.SCH.TA.A2 is not null and (TRAFODION.SCH.TA.A2 > 2)
[2 ] TRAFODION_SCAN (TB) executor_predicates: (B2 = TRAFODION.SCH.TA.A2) and not(((TRAFODION.SCH.TA.A3 <> B3) or (TRAFODION.SCH.TA.A4 <> B4)) is true) and (TRAFODION.SCH.TA.A2 > 2) and (B3 > 3) begin_key: (B1 = TRAFODION.SCH.TA.A1) end_key: (B1 = TRAFODION.SCH.TA.A1)
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A2 > 0)
--- 4 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #3
>>-- all joins ==> not (((a2<>b2 ) or (a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb ) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
7 . 8 root 3.40E+001
6 . 7 sort 3.40E+001
5 . 6 esp_exchange 1:4(hash2) 3.40E+001
2 4 5 nested_anti_semi_joi 3.40E+001
3 . 4 probe_cache 3.40E-001
. . 3 trafodion_scan TB 3.40E-001
1 . 2 esp_exchange 4(hash2):1 (m) 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[8 ] ROOT statement: select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb ) order by a1;
[7 ] SORT ?
[6 ] ESP_EXCHANGE parent_processes: 1 child_processes: 4 child_partitioning_function: hash2 partitioned 4 ways on (randomNum)
[5 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested parallel_join_type: 2 (N2J Opens all inner partitions)
[4 ] PROBE_CACHE ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: not((((TRAFODION.SCH.TA.A2 <> B2) or (TRAFODION.SCH.TA.A3 <> B3)) or (TRAFODION.SCH.TA.A4 <> B4)) is true)
[2 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: hash2 partitioned 4 ways on (randomNum) partitioning_expression: (HashDistPartHash(cast(randomNum)) Hash2Distrib scaledNumParts) merged_order: TRAFODION.SCH.TA.A1
[1 ] TRAFODION_SCAN (TA) ?
--- 8 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #4
>>-- all joins ==> a2=b2 and a3=b3 and a4=b4
>>prepare s from
+>select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb
+>where b2>0 and b3>0 and b4 > 0) and
+>a2>0 and a3>0 and a4 >0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 4.00E+000
1 3 4 nested_anti_semi_joi 4.00E+000
2 . 3 probe_cache 1.00E+000
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 4.00E+000
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb where b2>0 and b3>0 and b4 > 0) and a2>0 and a3>0 and a4 >0 order by a1;
[4 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested other_join_predicates: TRAFODION.SCH.TA.A2 is not null and TRAFODION.SCH.TA.A3 is not null and TRAFODION.SCH.TA.A4 is not null and (TRAFODION.SCH.TA.A2 > 0) and (TRAFODION.SCH.TA.A3 > 0) and (TRAFODION.S
[3 ] PROBE_CACHE ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: (B2 = TRAFODION.SCH.TA.A2) and (B3 = TRAFODION.SCH.TA.A3) and (B4 = TRAFODION.SCH.TA.A4) and (TRAFODION.SCH.TA.A2 > 0) and (TRAFODION.SCH.TA.A3 > 0) and (TRAFODION.SCH.TA.A4 > 0)
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A2 > 0) and (A3 > 0) and (A4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'OFF';
--- SQL operation complete.
>>obey test004(NOTIN_CQDON_SB);
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'OFF';
--- SQL operation complete.
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
7 . 8 root 1.00E+002
6 . 7 sort 1.00E+002
5 . 6 esp_exchange 1:4(hash2) 1.00E+002
2 4 5 nested_anti_semi_joi 1.00E+002
3 . 4 probe_cache 1.00E+000
. . 3 trafodion_scan TB 1.00E+000
1 . 2 esp_exchange 4(hash2):1 (m) 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[8 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) order by a1;
[7 ] SORT ?
[6 ] ESP_EXCHANGE parent_processes: 1 child_processes: 4 child_partitioning_function: hash2 partitioned 4 ways on (randomNum)
[5 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested parallel_join_type: 2 (N2J Opens all inner partitions) other_join_predicates: TRAFODION.SCH.TA.A4 is not null
[4 ] PROBE_CACHE ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: (B4 = TRAFODION.SCH.TA.A4)
[2 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: hash2 partitioned 4 ways on (randomNum) partitioning_expression: (HashDistPartHash(cast(randomNum)) Hash2Distrib scaledNumParts) merged_order: TRAFODION.SCH.TA.A1
[1 ] TRAFODION_SCAN (TA) ?
--- 8 row(s) selected.
>>----------------------------------------------------------------------------
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
3 . 4 root 1.00E+002
1 2 3 nested_anti_semi_joi 1.00E+002
. . 2 trafodion_scan TB 1.00E+000
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[4 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb) order by a1;
[3 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested other_join_predicates: TRAFODION.SCH.TA.A2 is not null and TRAFODION.SCH.TA.A3 is not null and TRAFODION.SCH.TA.A4 is not null
[2 ] TRAFODION_SCAN (TB) executor_predicates: (B2 = TRAFODION.SCH.TA.A2) and (B3 = TRAFODION.SCH.TA.A3) and (B4 = TRAFODION.SCH.TA.A4) begin_key: (B1 = TRAFODION.SCH.TA.A1) end_key: (B1 = TRAFODION.SCH.TA.A1)
[1 ] TRAFODION_SCAN (TA) ?
--- 4 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>----------------------------------------------------------------------------
>>
>>--log;
>>--log ./CORE_TEST004_PLUS_TYPE2_HASH.--log clear;
>>
>>---------------------------------------------------------------------------
>>--TYPE2 HASH ANTI SEMI JOIN
>>---------------------------------------------------------------------------
>>
>>control query default ATTEMPT_ESP_PARALLELISM 'ON';
--- SQL operation complete.
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>#ifndef SEABASE_REGRESS
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT ESP_EXCHANGE(HYBRID_HASH_JOIN(CUT,CUT,TYPE2));
>>#else
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT HYBRID_HASH_JOIN(CUT,CUT,TYPE2);
--- SQL operation complete.
>>#endif
>>
>>
>>----------------------------------------------------------------------------
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>obey test004(NOTIN_CQDOFF);
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>
>>----------------------------------------------------------------------------
>>--Single_column#01
>>--NOT NULLABLE, NOT NULLABLE
>>-- all joins ==> a1=b1
>>prepare s from
+>select * from ta where a1 not in (select b1 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b1 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1)
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#02
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b2 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 92 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b2 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B2) check_inner_null_expr: TRAFODION.SCH.TB.B2 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#03
>>--NOT NULLABLE, NULLABLE with NULL values
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#04
>>--NULLABLE with NULL values, NOT NULLABLE
>>-- if hash join ==> a2=b1 with check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b1) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b1 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 91 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2 not in (select b1 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B1) check_outer_null_expr: TRAFODION.SCH.TA.A2 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#05
>>--NULLABLE with NULL values, NULLABLE with no NULL values
>>-- if hash join ==> a2=b2 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2 not in (select b2 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) check_inner_null_expr: TRAFODION.SCH.TB.B2 is null check_outer_null_expr: TRAFODION.SCH.TA.A2 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#06
>>--NULLABLE with NULL values, NULLABLE with NULL values
>>-- if hash join ==> a4=b4 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null check_outer_null_expr: TRAFODION.SCH.TA.A4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#07
>>--NULLABLE with NULL filtering, NULLABLE with NO NULL filtering
>>-- if hash join ==> a4=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) and a4 >0 order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) and a4 >0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>--Single_column#08
>>--NULLABLE with NULL values, NULLABLE with NULL filtering
>>-- if hash join ==> a4=b4 with check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4>0) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4>0) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_outer_null_expr: TRAFODION.SCH.TA.A4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: (B4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#09
>>--NULLABLE with NULL filtering, NULLABLE with NULL filtering
>>-- all joins ==> a4=b4
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4>0) and a4>0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4>0) and a4>0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B4 > 0)
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
[1 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null and (B4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#10
>>--NULLABLE with NULL values, EMPTY NULLABLE with NULL filtering
>>-- if hash join ==> a4=b4 with check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4<0) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4<0) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_outer_null_expr: TRAFODION.SCH.TA.A4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: (B4 < 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#11
>>--NULLABLE with NULL filtering, EMPTY NULLABLE with NULL filtering
>>-- all joins ==> a4 = b4
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4<0) and a4>0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 145 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4<0) and a4>0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B4 < 0)
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
[1 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null and (B4 < 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#12
>>--NULLABLE with no NULL filtering, EMPTY NULLABLE with no NULL filtering
>>-- if hash join ==> a4=b4 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b1<0) and a1>200 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b1<0) and a1>200 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null check_outer_null_expr: TRAFODION.SCH.TA.A4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #1
>>-- all joins ==> a1=b1 and not (((a2<>b2 ) or (a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.10E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1) other_join_predicates: not((((TRAFODION.SCH.TA.A2 <> TRAFODION.SCH.TB.B2) or (TRAFODION.SCH.TA.A3 <> TRAFODION.SCH.TB.B3)) or (TRAFODION.SC
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: (B2 > 2) and (B3 > 3)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #2
>>-- all joins ==> a1=b1 and a2=b2 and not (((a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) and a2 > 0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 1.10E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) and a2 > 0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1) and (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) other_join_predicates: not(((TRAFODION.SCH.TA.A3 <> TRAFODION.SCH.TB.B3) or (TRAFODION.SCH.
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A2 > 0)
[1 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and (B2 > 2) and (B3 > 3)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #3
>>-- all joins ==> not (((a2<>b2 ) or (a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb ) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
7 . 8 root 3.40E+001
6 . 7 esp_exchange 1:4(hash2) (m) 3.40E+001
5 . 6 sort 3.40E+001
4 2 5 hybrid_hash_anti_sem 3.40E+001
3 . 4 esp_exchange 4(hash2):1 (m) 1.00E+002
. . 3 trafodion_scan TA 1.00E+002
1 . 2 esp_exchange 4(rep-b):1 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[8 ] ROOT statement: select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb ) order by a1;
[7 ] ESP_EXCHANGE parent_processes: 1 child_processes: 4 child_partitioning_function: hash2 partitioned 4 ways on (randomNum) merged_order: TRAFODION.SCH.TA.A1
[6 ] SORT ?
[5 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash (cross product) parallel_join_type: 2 other_join_predicates: not((((TRAFODION.SCH.TA.A2 <> TRAFODION.SCH.TB.B2) or (TRAFODION.SCH.TA.A3 <> TRAFODION.SCH.TB.B3)) or (TRAFODION.SCH.TA.A4 <> TRAFODION.SCH.TB
[4 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: hash2 partitioned 4 ways on (randomNum) partitioning_expression: (HashDistPartHash(cast(randomNum)) Hash2Distrib scaledNumParts) merged_order: TRAFODION.SCH.TA.A1
[3 ] TRAFODION_SCAN (TA) ?
[2 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: broadcast 4 times
[1 ] TRAFODION_SCAN (TB) ?
--- 8 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #4
>>-- all joins ==> a2=b2 and a3=b3 and a4=b4
>>prepare s from
+>select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb
+>where b2>0 and b3>0 and b4 > 0) and
+>a2>0 and a3>0 and a4 >0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 4.00E+000
3 . 4 sort 4.00E+000
2 1 3 hybrid_hash_anti_sem 4.00E+000
. . 2 trafodion_scan TA 4.00E+000
. . 1 trafodion_scan TB 4.00E+000
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb where b2>0 and b3>0 and b4 > 0) and a2>0 and a3>0 and a4 >0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) and (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TB.B3) and (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B2
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A2 > 0) and (A3 > 0) and (A4 > 0)
[1 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and B3 is not null and B4 is not null and (B2 > 0) and (B3 > 0) and (B4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'OFF';
--- SQL operation complete.
>>obey test004(NOTIN_CQDON_SB);
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'OFF';
--- SQL operation complete.
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4)
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1) and (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) and (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TB.B3) and (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and B3 is not null and B4 is not null
--- 5 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>----------------------------------------------------------------------------
>>
>>--log;
>>--log ./CORE_TEST004_PLUS_TYPE1_MERGE.--log clear;
>>
>>---------------------------------------------------------------------------
>>--##TYPE1 MERGE ANTI SEMI JOIN
>>---------------------------------------------------------------------------
>>
>>control query default ATTEMPT_ESP_PARALLELISM 'ON';
--- SQL operation complete.
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>#ifndef SEABASE_REGRESS
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT ESP_EXCHANGE(MERGE_JOIN(CUT,CUT,TYPE1));
>>#else
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT MERGE_JOIN(CUT,CUT);
--- SQL operation complete.
>>#endif
>>-- no type1 join in seabase yet
>>
>>----------------------------------------------------------------------------
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>obey test004(NOTIN_CQDOFF);
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>
>>----------------------------------------------------------------------------
>>--Single_column#01
>>--NOT NULLABLE, NOT NULLABLE
>>-- all joins ==> a1=b1
>>prepare s from
+>select * from ta where a1 not in (select b1 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
3 . 4 root 1.00E+002
1 2 3 merge_anti_semi_join 1.00E+002
. . 2 trafodion_scan TB 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[4 ] ROOT statement: select * from ta where a1 not in (select b1 from tb) order by a1;
[3 ] MERGE_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: merge merge_join_predicate: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1)
[2 ] TRAFODION_SCAN (TB) ?
[1 ] TRAFODION_SCAN (TA) ?
--- 4 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#02
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b2 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b2 from tb) order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#03
>>--NOT NULLABLE, NULLABLE with NULL values
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b4 from tb) order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#04
>>--NULLABLE with NULL values, NOT NULLABLE
>>-- if hash join ==> a2=b1 with check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b1) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b1 from tb) order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#05
>>--NULLABLE with NULL values, NULLABLE with no NULL values
>>-- if hash join ==> a2=b2 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b2 from tb) order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#06
>>--NULLABLE with NULL values, NULLABLE with NULL values
>>-- if hash join ==> a4=b4 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#07
>>--NULLABLE with NULL filtering, NULLABLE with NO NULL filtering
>>-- if hash join ==> a4=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) and a4 >0 order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>--Single_column#08
>>--NULLABLE with NULL values, NULLABLE with NULL filtering
>>-- if hash join ==> a4=b4 with check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4>0) order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#09
>>--NULLABLE with NULL filtering, NULLABLE with NULL filtering
>>-- all joins ==> a4=b4
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4>0) and a4>0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
6 . 7 root 3.29E+001
5 . 6 sort 3.29E+001
2 4 5 merge_anti_semi_join 3.29E+001
3 . 4 sort 3.29E+001
. . 3 trafodion_scan TB 3.29E+001
1 . 2 sort 3.29E+001
. . 1 trafodion_scan TA 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[7 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4>0) and a4>0 order by a1;
[6 ] SORT ?
[5 ] MERGE_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: merge merge_join_predicate: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B4 > 0)
[4 ] SORT ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null and (B4 > 0)
[2 ] SORT ?
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
--- 7 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#10
>>--NULLABLE with NULL values, EMPTY NULLABLE with NULL filtering
>>-- if hash join ==> a4=b4 with check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4<0) order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#11
>>--NULLABLE with NULL filtering, EMPTY NULLABLE with NULL filtering
>>-- all joins ==> a4 = b4
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4<0) and a4>0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 145 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
6 . 7 root 3.29E+001
5 . 6 sort 3.29E+001
2 4 5 merge_anti_semi_join 3.29E+001
3 . 4 sort 3.29E+001
. . 3 trafodion_scan TB 3.29E+001
1 . 2 sort 3.29E+001
. . 1 trafodion_scan TA 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[7 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4<0) and a4>0 order by a1;
[6 ] SORT ?
[5 ] MERGE_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: merge merge_join_predicate: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B4 < 0)
[4 ] SORT ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null and (B4 < 0)
[2 ] SORT ?
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
--- 7 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#12
>>--NULLABLE with no NULL filtering, EMPTY NULLABLE with no NULL filtering
>>-- if hash join ==> a4=b4 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b1<0) and a1>200 order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #1
>>-- all joins ==> a1=b1 and not (((a2<>b2 ) or (a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
3 . 4 root 1.00E+002
1 2 3 merge_anti_semi_join 1.00E+002
. . 2 trafodion_scan TB 1.10E+001
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[4 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) order by a1;
[3 ] MERGE_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: merge merge_join_predicate: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1) other_join_predicates: not((((TRAFODION.SCH.TA.A2 <> TRAFODION.SCH.TB.B2) or (TRAFODION.SCH.TA.A3 <> TRAFODION.SCH.TB.B3)) or (TRAFODION.S
[2 ] TRAFODION_SCAN (TB) executor_predicates: (B2 > 2) and (B3 > 3)
[1 ] TRAFODION_SCAN (TA) ?
--- 4 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #2
>>-- all joins ==> a1=b1 and a2=b2 and not (((a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) and a2 > 0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
5 . 6 root 3.29E+001
2 4 5 merge_anti_semi_join 3.29E+001
3 . 4 sort 1.10E+001
. . 3 trafodion_scan TB 1.10E+001
1 . 2 sort 3.29E+001
. . 1 trafodion_scan TA 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[6 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) and a2 > 0 order by a1;
[5 ] MERGE_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: merge merge_join_predicate: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1), (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) other_join_predicates: not(((TRAFODION.SCH.TA.A3 <> TRAFODION.SCH.TB.B3) or (TRAFODION.SCH.TA
[4 ] SORT ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and (B2 > 2) and (B3 > 3)
[2 ] SORT ?
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A2 > 0)
--- 6 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #3
>>-- all joins ==> not (((a2<>b2 ) or (a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb ) order by a1;
*** ERROR[2105] This query could not be compiled because of incompatible Control Query Shape (CQS) specifications. Inspect the CQS in effect.
*** ERROR[8822] The statement was not prepared.
>>
>>execute s;
*** ERROR[15017] Statement S was not found.
>>explain options 'f' s;
*** ERROR[8804] The provided input statement does not exist in the current context.
--- SQL operation failed with errors.
>>
>>execute explainASJ;
--- 0 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #4
>>-- all joins ==> a2=b2 and a3=b3 and a4=b4
>>prepare s from
+>select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb
+>where b2>0 and b3>0 and b4 > 0) and
+>a2>0 and a3>0 and a4 >0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
6 . 7 root 4.00E+000
5 . 6 sort 4.00E+000
2 4 5 merge_anti_semi_join 4.00E+000
3 . 4 sort 4.00E+000
. . 3 trafodion_scan TB 4.00E+000
1 . 2 sort 4.00E+000
. . 1 trafodion_scan TA 4.00E+000
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[7 ] ROOT statement: select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb where b2>0 and b3>0 and b4 > 0) and a2>0 and a3>0 and a4 >0 order by a1;
[6 ] SORT ?
[5 ] MERGE_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: merge merge_join_predicate: (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2), (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TB.B3), (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B2 > 0)
[4 ] SORT ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and B3 is not null and B4 is not null and (B2 > 0) and (B3 > 0) and (B4 > 0)
[2 ] SORT ?
[1 ] TRAFODION_SCAN (TA) executor_predicates: (A2 > 0) and (A3 > 0) and (A4 > 0)
--- 7 row(s) selected.
>>----------------------------------------------------------------------------
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'OFF';
--- SQL operation complete.
>>obey test004(NOTIN_CQDON_SB);
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'OFF';
--- SQL operation complete.
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
6 . 7 root 1.00E+002
5 . 6 sort 1.00E+002
2 4 5 merge_anti_semi_join 1.00E+002
3 . 4 sort 1.00E+002
. . 3 trafodion_scan TB 1.00E+002
1 . 2 sort 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[7 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) order by a1;
[6 ] SORT ?
[5 ] MERGE_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: merge merge_join_predicate: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4)
[4 ] SORT ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null
[2 ] SORT ?
[1 ] TRAFODION_SCAN (TA) ?
--- 7 row(s) selected.
>>----------------------------------------------------------------------------
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
5 . 6 root 1.00E+002
2 4 5 merge_anti_semi_join 1.00E+002
3 . 4 sort 1.00E+002
. . 3 trafodion_scan TB 1.00E+002
1 . 2 sort 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[6 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb) order by a1;
[5 ] MERGE_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: merge merge_join_predicate: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1), (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2), (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TB.B3), (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4)
[4 ] SORT ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and B3 is not null and B4 is not null
[2 ] SORT ?
[1 ] TRAFODION_SCAN (TA) ?
--- 6 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>----------------------------------------------------------------------------
>>--log;
>>
>>--log ./CORE_TEST004_PLUS_TYPE1_HASH_NO_SKEW.--log clear;
>>
>>---------------------------------------------------------------------------
>>--##TYPE 1, HASH ANTI SEMI JOIN, INNER NULLABLE, NO SKEWDE VALUES
>>---------------------------------------------------------------------------
>>#ifndef SEABASE_REGRESS
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT ESP_EXCHANGE(HYBRID_HASH_JOIN(CUT,CUT,TYPE1));
>>#else
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT HYBRID_HASH_JOIN(CUT,CUT);
--- SQL operation complete.
>>#endif
>>-- no type1 in seabase yet
>>
>>control query default ATTEMPT_ESP_PARALLELISM 'ON';
--- SQL operation complete.
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>control query default SKEW_SENSITIVITY_THRESHOLD '0.01';
*** ERROR[2050] SKEW_SENSITIVITY_THRESHOLD is not the name of any DEFAULTS table attribute.
*** ERROR[8822] The statement was not prepared.
>>control query default SKEW_ROWCOUNT_THRESHOLD '999';
*** ERROR[2050] SKEW_ROWCOUNT_THRESHOLD is not the name of any DEFAULTS table attribute.
*** ERROR[8822] The statement was not prepared.
>>
>>----------------------------------------------------------------------------
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>obey test004(NOTIN_CQDOFF);
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>
>>----------------------------------------------------------------------------
>>--Single_column#01
>>--NOT NULLABLE, NOT NULLABLE
>>-- all joins ==> a1=b1
>>prepare s from
+>select * from ta where a1 not in (select b1 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b1 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1)
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#02
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b2 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 92 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b2 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B2) check_inner_null_expr: TRAFODION.SCH.TB.B2 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#03
>>--NOT NULLABLE, NULLABLE with NULL values
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#04
>>--NULLABLE with NULL values, NOT NULLABLE
>>-- if hash join ==> a2=b1 with check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b1) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b1 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 91 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2 not in (select b1 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B1) check_outer_null_expr: TRAFODION.SCH.TA.A2 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#05
>>--NULLABLE with NULL values, NULLABLE with no NULL values
>>-- if hash join ==> a2=b2 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2 not in (select b2 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) check_inner_null_expr: TRAFODION.SCH.TB.B2 is null check_outer_null_expr: TRAFODION.SCH.TA.A2 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#06
>>--NULLABLE with NULL values, NULLABLE with NULL values
>>-- if hash join ==> a4=b4 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null check_outer_null_expr: TRAFODION.SCH.TA.A4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#07
>>--NULLABLE with NULL filtering, NULLABLE with NO NULL filtering
>>-- if hash join ==> a4=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) and a4 >0 order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) and a4 >0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>--Single_column#08
>>--NULLABLE with NULL values, NULLABLE with NULL filtering
>>-- if hash join ==> a4=b4 with check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4>0) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4>0) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_outer_null_expr: TRAFODION.SCH.TA.A4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: (B4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#09
>>--NULLABLE with NULL filtering, NULLABLE with NULL filtering
>>-- all joins ==> a4=b4
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4>0) and a4>0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4>0) and a4>0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B4 > 0)
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
[1 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null and (B4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#10
>>--NULLABLE with NULL values, EMPTY NULLABLE with NULL filtering
>>-- if hash join ==> a4=b4 with check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4<0) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4<0) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_outer_null_expr: TRAFODION.SCH.TA.A4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: (B4 < 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#11
>>--NULLABLE with NULL filtering, EMPTY NULLABLE with NULL filtering
>>-- all joins ==> a4 = b4
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4<0) and a4>0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 145 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4<0) and a4>0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B4 < 0)
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
[1 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null and (B4 < 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#12
>>--NULLABLE with no NULL filtering, EMPTY NULLABLE with no NULL filtering
>>-- if hash join ==> a4=b4 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b1<0) and a1>200 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b1<0) and a1>200 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null check_outer_null_expr: TRAFODION.SCH.TA.A4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #1
>>-- all joins ==> a1=b1 and not (((a2<>b2 ) or (a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.10E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1) other_join_predicates: not((((TRAFODION.SCH.TA.A2 <> TRAFODION.SCH.TB.B2) or (TRAFODION.SCH.TA.A3 <> TRAFODION.SCH.TB.B3)) or (TRAFODION.SC
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: (B2 > 2) and (B3 > 3)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #2
>>-- all joins ==> a1=b1 and a2=b2 and not (((a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) and a2 > 0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 1.10E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) and a2 > 0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1) and (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) other_join_predicates: not(((TRAFODION.SCH.TA.A3 <> TRAFODION.SCH.TB.B3) or (TRAFODION.SCH.
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A2 > 0)
[1 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and (B2 > 2) and (B3 > 3)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #3
>>-- all joins ==> not (((a2<>b2 ) or (a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb ) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
7 . 8 root 3.40E+001
6 . 7 esp_exchange 1:4(hash2) (m) 3.40E+001
5 . 6 sort 3.40E+001
4 2 5 hybrid_hash_anti_sem 3.40E+001
3 . 4 esp_exchange 4(hash2):1 (m) 1.00E+002
. . 3 trafodion_scan TA 1.00E+002
1 . 2 esp_exchange 4(rep-b):1 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[8 ] ROOT statement: select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb ) order by a1;
[7 ] ESP_EXCHANGE parent_processes: 1 child_processes: 4 child_partitioning_function: hash2 partitioned 4 ways on (randomNum) merged_order: TRAFODION.SCH.TA.A1
[6 ] SORT ?
[5 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash (cross product) parallel_join_type: 2 other_join_predicates: not((((TRAFODION.SCH.TA.A2 <> TRAFODION.SCH.TB.B2) or (TRAFODION.SCH.TA.A3 <> TRAFODION.SCH.TB.B3)) or (TRAFODION.SCH.TA.A4 <> TRAFODION.SCH.TB
[4 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: hash2 partitioned 4 ways on (randomNum) partitioning_expression: (HashDistPartHash(cast(randomNum)) Hash2Distrib scaledNumParts) merged_order: TRAFODION.SCH.TA.A1
[3 ] TRAFODION_SCAN (TA) ?
[2 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: broadcast 4 times
[1 ] TRAFODION_SCAN (TB) ?
--- 8 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #4
>>-- all joins ==> a2=b2 and a3=b3 and a4=b4
>>prepare s from
+>select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb
+>where b2>0 and b3>0 and b4 > 0) and
+>a2>0 and a3>0 and a4 >0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 4.00E+000
3 . 4 sort 4.00E+000
2 1 3 hybrid_hash_anti_sem 4.00E+000
. . 2 trafodion_scan TA 4.00E+000
. . 1 trafodion_scan TB 4.00E+000
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb where b2>0 and b3>0 and b4 > 0) and a2>0 and a3>0 and a4 >0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) and (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TB.B3) and (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B2
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A2 > 0) and (A3 > 0) and (A4 > 0)
[1 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and B3 is not null and B4 is not null and (B2 > 0) and (B3 > 0) and (B4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'OFF';
--- SQL operation complete.
>>obey test004(NOTIN_CQDON_SB);
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'OFF';
--- SQL operation complete.
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4)
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1) and (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) and (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TB.B3) and (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and B3 is not null and B4 is not null
--- 5 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>----------------------------------------------------------------------------
>>
>>---------------------------------------------------------------------------
>>--##TYPE 1, HASH ANTI SEMI JOIN, INNER NULLABLE, NO SKEWDE VALUES (PLUS3))
>>---------------------------------------------------------------------------
>>#ifndef SEABASE_REGRESS
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT ESP_EXCHANGE(HYBRID_HASH_JOIN(CUT,CUT,TYPE1));
>>#else
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT HYBRID_HASH_JOIN(CUT,CUT);
--- SQL operation complete.
>>#endif
>>
>>control query default ATTEMPT_ESP_PARALLELISM 'ON';
--- SQL operation complete.
>>control query default DEF_NUM_NODES_IN_ACTIVE_CLUSTERS '2';
--- SQL operation complete.
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>control query default SKEW_SENSITIVITY_THRESHOLD '0.01';
*** ERROR[2050] SKEW_SENSITIVITY_THRESHOLD is not the name of any DEFAULTS table attribute.
*** ERROR[8822] The statement was not prepared.
>>control query default SKEW_ROWCOUNT_THRESHOLD '999';
*** ERROR[2050] SKEW_ROWCOUNT_THRESHOLD is not the name of any DEFAULTS table attribute.
*** ERROR[8822] The statement was not prepared.
>>
>>----------------------------------------------------------------------------
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>obey test004(NOTIN_PLUS3);
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>
>>
>>----------------------------------------------------------------------------
>>--Single_column#01
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b2 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 92 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b2 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B2) check_inner_null_expr: TRAFODION.SCH.TB.B2 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#02
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b2 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b2 from tb where b1 <0) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b2 from tb where b1 <0) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B2) check_inner_null_expr: TRAFODION.SCH.TB.B2 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#03
>>--NOT NULLABLE, NULLABLE with NULL values
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>--Single_column#04
>>--NULLABLE with NULL values, NULLABLE with no NULL values
>>-- if hash join ==> a2=b2 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2 not in (select b2 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) check_inner_null_expr: TRAFODION.SCH.TB.B2 is null check_outer_null_expr: TRAFODION.SCH.TA.A2 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>
>>
>>control query default DEF_NUM_NODES_IN_ACTIVE_CLUSTERS '4';
--- SQL operation complete.
>>----------------------------------------------------------------------------
>>--log;
>>--log ./CORE_TEST004_PLUS_TYPE1_HASH_SKEW.--log clear;
>>
>>---------------------------------------------------------------------------
>>--##TYPE 1, HASH ANTI SEMI JOIN, INNER NULLABLE, WITH SKEWED VALUES
>>---------------------------------------------------------------------------
>>#ifndef SEABASE_REGRESS
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT ESP_EXCHANGE(HYBRID_HASH_JOIN(CUT,CUT,TYPE1));
>>#else
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT HYBRID_HASH_JOIN(CUT,CUT);
--- SQL operation complete.
>>#endif
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>control query default ATTEMPT_ESP_PARALLELISM 'ON';
--- SQL operation complete.
>>
>>control query default SKEW_SENSITIVITY_THRESHOLD '0.01';
*** ERROR[2050] SKEW_SENSITIVITY_THRESHOLD is not the name of any DEFAULTS table attribute.
*** ERROR[8822] The statement was not prepared.
>>control query default SKEW_ROWCOUNT_THRESHOLD '10';
*** ERROR[2050] SKEW_ROWCOUNT_THRESHOLD is not the name of any DEFAULTS table attribute.
*** ERROR[8822] The statement was not prepared.
>>
>>----------------------------------------------------------------------------
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>obey test004(NOTIN_CQDOFF);
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>
>>----------------------------------------------------------------------------
>>--Single_column#01
>>--NOT NULLABLE, NOT NULLABLE
>>-- all joins ==> a1=b1
>>prepare s from
+>select * from ta where a1 not in (select b1 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b1 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1)
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#02
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b2 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 92 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b2 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B2) check_inner_null_expr: TRAFODION.SCH.TB.B2 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#03
>>--NOT NULLABLE, NULLABLE with NULL values
>>--NOT NULLABLE, NULLABLE with no NULL values
>>-- if hash join ==> a1=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a1<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a1 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1 not in (select b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#04
>>--NULLABLE with NULL values, NOT NULLABLE
>>-- if hash join ==> a2=b1 with check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b1) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b1 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 91 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2 not in (select b1 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B1) check_outer_null_expr: TRAFODION.SCH.TA.A2 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#05
>>--NULLABLE with NULL values, NULLABLE with no NULL values
>>-- if hash join ==> a2=b2 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a2<>b2) IS TRUE)
>>prepare s from
+>select * from ta where a2 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2 not in (select b2 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) check_inner_null_expr: TRAFODION.SCH.TB.B2 is null check_outer_null_expr: TRAFODION.SCH.TA.A2 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#06
>>--NULLABLE with NULL values, NULLABLE with NULL values
>>-- if hash join ==> a4=b4 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null check_outer_null_expr: TRAFODION.SCH.TA.A4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#07
>>--NULLABLE with NULL filtering, NULLABLE with NO NULL filtering
>>-- if hash join ==> a4=b4 with check_inner_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) and a4 >0 order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) and a4 >0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>--Single_column#08
>>--NULLABLE with NULL values, NULLABLE with NULL filtering
>>-- if hash join ==> a4=b4 with check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4>0) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4>0) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_outer_null_expr: TRAFODION.SCH.TA.A4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: (B4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#09
>>--NULLABLE with NULL filtering, NULLABLE with NULL filtering
>>-- all joins ==> a4=b4
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4>0) and a4>0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4>0) and a4>0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B4 > 0)
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
[1 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null and (B4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#10
>>--NULLABLE with NULL values, EMPTY NULLABLE with NULL filtering
>>-- if hash join ==> a4=b4 with check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4<0) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4<0) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_outer_null_expr: TRAFODION.SCH.TA.A4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: (B4 < 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#11
>>--NULLABLE with NULL filtering, EMPTY NULLABLE with NULL filtering
>>-- all joins ==> a4 = b4
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b4<0) and a4>0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 145 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b4<0) and a4>0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B4 < 0)
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A4 > 0)
[1 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null and (B4 < 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Single_column#12
>>--NULLABLE with no NULL filtering, EMPTY NULLABLE with no NULL filtering
>>-- if hash join ==> a4=b4 with check_inner_null_expr and check_outer_null_expr
>>-- otherwise ==>NOT(a4<>b4) IS TRUE)
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb where b1<0) and a1>200 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 3.29E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb where b1<0) and a1>200 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) check_inner_null_expr: TRAFODION.SCH.TB.B4 is null check_outer_null_expr: TRAFODION.SCH.TA.A4 is null
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) ?
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #1
>>-- all joins ==> a1=b1 and not (((a2<>b2 ) or (a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.10E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1) other_join_predicates: not((((TRAFODION.SCH.TA.A2 <> TRAFODION.SCH.TB.B2) or (TRAFODION.SCH.TA.A3 <> TRAFODION.SCH.TB.B3)) or (TRAFODION.SC
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: (B2 > 2) and (B3 > 3)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #2
>>-- all joins ==> a1=b1 and a2=b2 and not (((a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) and a2 > 0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 3.29E+001
3 . 4 sort 3.29E+001
2 1 3 hybrid_hash_anti_sem 3.29E+001
. . 2 trafodion_scan TA 3.29E+001
. . 1 trafodion_scan TB 1.10E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb where b2 > 2 and b3 >3 ) and a2 > 0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1) and (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) other_join_predicates: not(((TRAFODION.SCH.TA.A3 <> TRAFODION.SCH.TB.B3) or (TRAFODION.SCH.
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A2 > 0)
[1 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and (B2 > 2) and (B3 > 3)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #3
>>-- all joins ==> not (((a2<>b2 ) or (a3<>b3) or a4<>b4)) is true)
>>prepare s from
+>select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb ) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
7 . 8 root 3.40E+001
6 . 7 esp_exchange 1:4(hash2) (m) 3.40E+001
5 . 6 sort 3.40E+001
4 2 5 hybrid_hash_anti_sem 3.40E+001
3 . 4 esp_exchange 4(hash2):1 (m) 1.00E+002
. . 3 trafodion_scan TA 1.00E+002
1 . 2 esp_exchange 4(rep-b):1 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[8 ] ROOT statement: select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb ) order by a1;
[7 ] ESP_EXCHANGE parent_processes: 1 child_processes: 4 child_partitioning_function: hash2 partitioned 4 ways on (randomNum) merged_order: TRAFODION.SCH.TA.A1
[6 ] SORT ?
[5 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash (cross product) parallel_join_type: 2 other_join_predicates: not((((TRAFODION.SCH.TA.A2 <> TRAFODION.SCH.TB.B2) or (TRAFODION.SCH.TA.A3 <> TRAFODION.SCH.TB.B3)) or (TRAFODION.SCH.TA.A4 <> TRAFODION.SCH.TB
[4 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: hash2 partitioned 4 ways on (randomNum) partitioning_expression: (HashDistPartHash(cast(randomNum)) Hash2Distrib scaledNumParts) merged_order: TRAFODION.SCH.TA.A1
[3 ] TRAFODION_SCAN (TA) ?
[2 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: broadcast 4 times
[1 ] TRAFODION_SCAN (TB) ?
--- 8 row(s) selected.
>>----------------------------------------------------------------------------
>>--Multi_column #4
>>-- all joins ==> a2=b2 and a3=b3 and a4=b4
>>prepare s from
+>select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb
+>where b2>0 and b3>0 and b4 > 0) and
+>a2>0 and a3>0 and a4 >0 order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 4.00E+000
3 . 4 sort 4.00E+000
2 1 3 hybrid_hash_anti_sem 4.00E+000
. . 2 trafodion_scan TA 4.00E+000
. . 1 trafodion_scan TB 4.00E+000
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a2,a3,a4 not in (select b2,b3,b4 from tb where b2>0 and b3>0 and b4 > 0) and a2>0 and a3>0 and a4 >0 order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) and (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TB.B3) and (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4) other_join_predicates: (TRAFODION.SCH.TB.B2
[2 ] TRAFODION_SCAN (TA) executor_predicates: (A2 > 0) and (A3 > 0) and (A4 > 0)
[1 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and B3 is not null and B4 is not null and (B2 > 0) and (B3 > 0) and (B4 > 0)
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'OFF';
--- SQL operation complete.
>>obey test004(NOTIN_CQDON_SB);
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'OFF';
--- SQL operation complete.
>>prepare s from
+>select * from ta where a4 not in (select b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a4 not in (select b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB.B4)
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: B4 is not null
--- 5 row(s) selected.
>>----------------------------------------------------------------------------
>>prepare s from
+>select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 5 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
4 . 5 root 1.00E+002
3 . 4 sort 1.00E+002
2 1 3 hybrid_hash_anti_sem 1.00E+002
. . 2 trafodion_scan TA 1.00E+002
. . 1 trafodion_scan TB 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[5 ] ROOT statement: select * from ta where a1,a2,a3,a4 not in (select b1,b2,b3,b4 from tb) order by a1;
[4 ] SORT ?
[3 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A1 = TRAFODION.SCH.TB.B1) and (TRAFODION.SCH.TA.A2 = TRAFODION.SCH.TB.B2) and (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TB.B3) and (TRAFODION.SCH.TA.A4 = TRAFODION.SCH.TB
[2 ] TRAFODION_SCAN (TA) ?
[1 ] TRAFODION_SCAN (TB) executor_predicates: B2 is not null and B3 is not null and B4 is not null
--- 5 row(s) selected.
>>
>>----------------------------------------------------------------------------
>>
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>----------------------------------------------------------------------------
>>
>>--log;
>>--log ./CORE_TEST004_PLUS_NOTIN_PLUS_NESTED.--log clear;
>>
>>---------------------------------------------------------------------------
>>--##NESTED ANTI SEMI JOIN
>>---------------------------------------------------------------------------
>>CQD HASH_JOINS 'OFF';
--- SQL operation complete.
>>CQD MERGE_JOINS 'OFF';
--- SQL operation complete.
>>CQD NESTED_JOINS 'ON';
--- SQL operation complete.
>>control query shape cut;
--- SQL operation complete.
>>control query default ATTEMPT_ESP_PARALLELISM 'ON';
--- SQL operation complete.
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>---------------------------------------------------------------------------
>>obey test004(NOTIN_PLUS);
>>
>>-- NOTIN_PLUS #1
>>-- (ta,tb) ==> not((a4<>b4) is true)
>>-- (ta,tc) ==> not((a4<>c4) is true)
>>prepare s from
+>select *
+>from ta
+>where
+>a4 not in (select b4 from tb) and
+>a4 not in (select c4 from tc)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #2
>>-- (ta,tb) ==> if hash a4=b4 with check_inner_null_expr otherwise not((a4<>b4) is true)
>>-- (ta,tc) ==> if hash a4=c4 with check_inner_null_expr otherwise not((a4<>c4) is true)
>>prepare s from
+>select *
+>from ta
+>where
+>a4 not in (select b4 from tb) and
+>a4 not in (select c4 from tc) and
+>a4>0
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #3
>>-- (ta,tb) ==> a4=b4
>>-- (ta,tc) ==> if hash a4=c4 with check_inner_null_expr otherwise not((a4<>c4) is true)
>>prepare s from
+>select *
+>from ta
+>where
+>a4 not in (select b4 from tb where b4 >0 ) and
+>a4 not in (select c4 from tc) and
+>a4>0
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #4
>>-- (ta,tb) ==> a4=b4
>>-- (ta,tc) ==> a4=c4
>>prepare s from
+>select *
+>from ta
+>where
+>a4 not in (select b4 from tb where b4 >0) and
+>a4 not in (select c4 from tc where c4 >0) and
+>a4>0
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 3 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #5
>>-- (ta,tb) ==> if hash a4=c4 with check_outer_null_expr otherwise not((a4<>c4) is true)
>>-- (ta,tc) ==> if hash a4=c4 with check_outer_null_expr otherwise not((a4<>c4) is true)
>>prepare s from
+>select *
+>from ta
+>where
+>a4 not in (select b4 from tb where b4 >0) and
+>a4 not in (select c4 from tc where c4 >0)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 3 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #6
>>prepare s from
+>select *
+>from ta
+>where (select max(b4) from tb) not in (select c4 from tc where c4 >0)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #6-1
>>prepare s from
+>select *
+>from ta
+>where (select max(b4) from tb) not in (select max(c4) from tc where c4 >0)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #7
>>prepare s from
+>select *
+>from ta
+>where (select max(b4) from tb where ta.a4=tb.b4) not in (select c4 from tc where c4>0)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
10 . 11 root 1.00E+002
9 . 10 sort 1.00E+002
8 . 9 esp_exchange 1:4(hash2) 1.00E+002
2 7 8 nested_anti_semi_joi 1.00E+002
6 . 7 probe_cache 1.34E+000
4 5 6 nested_join 1.34E+000
. . 5 trafodion_scan TC 1.11E+001
3 . 4 sort_scalar_aggr 3.40E-001
. . 3 trafodion_scan TB 5.00E+001
1 . 2 esp_exchange 4(hash2):1 (m) 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[11] ROOT statement: select * from ta where (select max(b4) from tb where ta.a4=tb.b4) not in (select c4 from tc where c4>0) order by a1;
[10] SORT ?
[9 ] ESP_EXCHANGE parent_processes: 1 child_processes: 4 child_partitioning_function: hash2 partitioned 4 ways on (randomNum)
[8 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested parallel_join_type: 2 (N2J Opens all inner partitions)
[7 ] PROBE_CACHE ?
[6 ] NESTED_JOIN ?
[5 ] TRAFODION_SCAN (TC) executor_predicates: not((max(TRAFODION.SCH.TA.A4) <> C4) is true) and (C4 > 0)
[4 ] SORT_SCALAR_AGGR ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: (B4 = TRAFODION.SCH.TA.A4)
[2 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: hash2 partitioned 4 ways on (randomNum) partitioning_expression: (HashDistPartHash(cast(randomNum)) Hash2Distrib scaledNumParts) merged_order: TRAFODION.SCH.TA.A1
[1 ] TRAFODION_SCAN (TA) ?
--- 11 row(s) selected.
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #8
>>prepare s from
+>select *
+>from ta
+>where a4 not in (select b4 from tb where b4 not in (select c4 from tc where c4>0))
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #8-1
>>prepare s from
+>select *
+>from ta
+>where a4 not in (select b4 from tb where b4 not in (select c4 from tc where c4>0))
+>and a4 >0
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #9
>>prepare s from
+>select *
+>from ta
+>where a4 not in (select c4 from tc where c4 not in (select b4 from tb))
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #10
>>prepare s from
+>select *
+>from ta
+>where a4+1 not in (select c4+1 from tc)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #10
>>prepare s from
+>select *
+>from ta
+>where (select a4,sum(a1) from ta where a4 >0 group by a4) not in (select c4, sum(c1) from tc where c4 >0 group by c4)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
*** ERROR[8401] A row subquery or SELECT...INTO statement cannot return more than one row.
--- 0 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #11
>>CQD NOT_IN_OPTIMIZATION 'OFF';
--- SQL operation complete.
>>prepare s from
+>select *
+>from ta
+>where a2 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>CQD NOT_IN_OPTIMIZATION 'ON';
--- SQL operation complete.
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #12
>>delete from td;
--- 0 row(s) deleted.
>>prepare s from
+>insert into td
+>select *
+>from ta
+>where a2 not in (select b2 from tb);
--- SQL command prepared.
>>
>>execute s;
--- 4 row(s) inserted.
>>
>>select * from td order by d1;
D1 D2 D3 D4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #13
>>delete from td;
--- 4 row(s) deleted.
>>insert into td select * from ta;
--- 146 row(s) inserted.
>>
>>prepare s from
+>update td
+>set d4=0
+>where d2 not in (select b2 from tb);
--- SQL command prepared.
>>execute s;
--- 4 row(s) updated.
>>
>>select * from td order by d1;
D1 D2 D3 D4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 0
100000 100000 100000 0
100001 100001 100001 0
100002 100002 100002 0
100003 ? ? ?
--- 146 row(s) selected.
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #14
>>delete from td;
--- 146 row(s) deleted.
>>insert into td select * from ta;
--- 146 row(s) inserted.
>>
>>prepare s from
+>delete from td
+>where d2 not in (select b2 from tb);
--- SQL command prepared.
>>execute s;
--- 4 row(s) deleted.
>>
>>select * from td order by d1;
D1 D2 D3 D4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
100003 ? ? ?
--- 142 row(s) selected.
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #15
>>--outer refrences
>>cqd not_in_optimization 'off';
--- SQL operation complete.
>>
>>select * from ta where a2 not in (select b4 from tb where 1 <= ta.a2 ) order by a1;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100003 ? ? ?
--- 1 row(s) selected.
>>
>>
>>cqd not_in_optimization 'on';
--- SQL operation complete.
>>
>>select * from ta where a2 not in (select b4 from tb where 1 <= ta.a2 ) order by a1;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100003 ? ? ?
--- 1 row(s) selected.
>>
>>--outer refrences in select list
>>select * from ta where a2 not in (select a1 from tb) order by a1;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
--- 87 row(s) selected.
>>
>>select * from ta where a2 not in (select a3 from tb) order by a1;
--- 0 row(s) selected.
>>
>>
>>---------------------------------------------------------------------------
>>--log;
>>
>>--log ./CORE_TEST004_PLUS_NOTIN_PLUS_MERGE.--log clear;
>>
>>---------------------------------------------------------------------------
>>--##MERGW ANTI SEMI JOIN
>>---------------------------------------------------------------------------
>>CQD HASH_JOINS 'OFF';
--- SQL operation complete.
>>CQD MERGE_JOINS 'ON';
--- SQL operation complete.
>>CQD NESTED_JOINS 'OFF';
--- SQL operation complete.
>>
>>control query shape cut;
--- SQL operation complete.
>>control query default ATTEMPT_ESP_PARALLELISM 'ON';
--- SQL operation complete.
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>---------------------------------------------------------------------------
>>obey test004(NOTIN_PLUS);
>>
>>-- NOTIN_PLUS #1
>>-- (ta,tb) ==> not((a4<>b4) is true)
>>-- (ta,tc) ==> not((a4<>c4) is true)
>>prepare s from
+>select *
+>from ta
+>where
+>a4 not in (select b4 from tb) and
+>a4 not in (select c4 from tc)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #2
>>-- (ta,tb) ==> if hash a4=b4 with check_inner_null_expr otherwise not((a4<>b4) is true)
>>-- (ta,tc) ==> if hash a4=c4 with check_inner_null_expr otherwise not((a4<>c4) is true)
>>prepare s from
+>select *
+>from ta
+>where
+>a4 not in (select b4 from tb) and
+>a4 not in (select c4 from tc) and
+>a4>0
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #3
>>-- (ta,tb) ==> a4=b4
>>-- (ta,tc) ==> if hash a4=c4 with check_inner_null_expr otherwise not((a4<>c4) is true)
>>prepare s from
+>select *
+>from ta
+>where
+>a4 not in (select b4 from tb where b4 >0 ) and
+>a4 not in (select c4 from tc) and
+>a4>0
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #4
>>-- (ta,tb) ==> a4=b4
>>-- (ta,tc) ==> a4=c4
>>prepare s from
+>select *
+>from ta
+>where
+>a4 not in (select b4 from tb where b4 >0) and
+>a4 not in (select c4 from tc where c4 >0) and
+>a4>0
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 3 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #5
>>-- (ta,tb) ==> if hash a4=c4 with check_outer_null_expr otherwise not((a4<>c4) is true)
>>-- (ta,tc) ==> if hash a4=c4 with check_outer_null_expr otherwise not((a4<>c4) is true)
>>prepare s from
+>select *
+>from ta
+>where
+>a4 not in (select b4 from tb where b4 >0) and
+>a4 not in (select c4 from tc where c4 >0)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 3 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #6
>>prepare s from
+>select *
+>from ta
+>where (select max(b4) from tb) not in (select c4 from tc where c4 >0)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #6-1
>>prepare s from
+>select *
+>from ta
+>where (select max(b4) from tb) not in (select max(c4) from tc where c4 >0)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #7
>>prepare s from
+>select *
+>from ta
+>where (select max(b4) from tb where ta.a4=tb.b4) not in (select c4 from tc where c4>0)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
10 . 11 root 1.00E+002
9 . 10 sort 1.00E+002
8 . 9 esp_exchange 1:4(hash2) 1.00E+002
2 7 8 nested_anti_semi_joi 1.00E+002
6 . 7 probe_cache 1.34E+000
4 5 6 nested_join 1.34E+000
. . 5 trafodion_scan TC 1.11E+001
3 . 4 sort_scalar_aggr 3.40E-001
. . 3 trafodion_scan TB 5.00E+001
1 . 2 esp_exchange 4(hash2):1 (m) 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[11] ROOT statement: select * from ta where (select max(b4) from tb where ta.a4=tb.b4) not in (select c4 from tc where c4>0) order by a1;
[10] SORT ?
[9 ] ESP_EXCHANGE parent_processes: 1 child_processes: 4 child_partitioning_function: hash2 partitioned 4 ways on (randomNum)
[8 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested parallel_join_type: 2 (N2J Opens all inner partitions)
[7 ] PROBE_CACHE ?
[6 ] NESTED_JOIN ?
[5 ] TRAFODION_SCAN (TC) executor_predicates: not((max(TRAFODION.SCH.TA.A4) <> C4) is true) and (C4 > 0)
[4 ] SORT_SCALAR_AGGR ?
[3 ] TRAFODION_SCAN (TB) executor_predicates: (B4 = TRAFODION.SCH.TA.A4)
[2 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: hash2 partitioned 4 ways on (randomNum) partitioning_expression: (HashDistPartHash(cast(randomNum)) Hash2Distrib scaledNumParts) merged_order: TRAFODION.SCH.TA.A1
[1 ] TRAFODION_SCAN (TA) ?
--- 11 row(s) selected.
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #8
>>prepare s from
+>select *
+>from ta
+>where a4 not in (select b4 from tb where b4 not in (select c4 from tc where c4>0))
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #8-1
>>prepare s from
+>select *
+>from ta
+>where a4 not in (select b4 from tb where b4 not in (select c4 from tc where c4>0))
+>and a4 >0
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #9
>>prepare s from
+>select *
+>from ta
+>where a4 not in (select c4 from tc where c4 not in (select b4 from tb))
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #10
>>prepare s from
+>select *
+>from ta
+>where a4+1 not in (select c4+1 from tc)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #10
>>prepare s from
+>select *
+>from ta
+>where (select a4,sum(a1) from ta where a4 >0 group by a4) not in (select c4, sum(c1) from tc where c4 >0 group by c4)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
*** ERROR[8401] A row subquery or SELECT...INTO statement cannot return more than one row.
--- 0 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #11
>>CQD NOT_IN_OPTIMIZATION 'OFF';
--- SQL operation complete.
>>prepare s from
+>select *
+>from ta
+>where a2 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>CQD NOT_IN_OPTIMIZATION 'ON';
--- SQL operation complete.
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #12
>>delete from td;
--- 142 row(s) deleted.
>>prepare s from
+>insert into td
+>select *
+>from ta
+>where a2 not in (select b2 from tb);
--- SQL command prepared.
>>
>>execute s;
--- 4 row(s) inserted.
>>
>>select * from td order by d1;
D1 D2 D3 D4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #13
>>delete from td;
--- 4 row(s) deleted.
>>insert into td select * from ta;
--- 146 row(s) inserted.
>>
>>prepare s from
+>update td
+>set d4=0
+>where d2 not in (select b2 from tb);
--- SQL command prepared.
>>execute s;
--- 4 row(s) updated.
>>
>>select * from td order by d1;
D1 D2 D3 D4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 0
100000 100000 100000 0
100001 100001 100001 0
100002 100002 100002 0
100003 ? ? ?
--- 146 row(s) selected.
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #14
>>delete from td;
--- 146 row(s) deleted.
>>insert into td select * from ta;
--- 146 row(s) inserted.
>>
>>prepare s from
+>delete from td
+>where d2 not in (select b2 from tb);
--- SQL command prepared.
>>execute s;
--- 4 row(s) deleted.
>>
>>select * from td order by d1;
D1 D2 D3 D4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
100003 ? ? ?
--- 142 row(s) selected.
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #15
>>--outer refrences
>>cqd not_in_optimization 'off';
--- SQL operation complete.
>>
>>select * from ta where a2 not in (select b4 from tb where 1 <= ta.a2 ) order by a1;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100003 ? ? ?
--- 1 row(s) selected.
>>
>>
>>cqd not_in_optimization 'on';
--- SQL operation complete.
>>
>>select * from ta where a2 not in (select b4 from tb where 1 <= ta.a2 ) order by a1;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100003 ? ? ?
--- 1 row(s) selected.
>>
>>--outer refrences in select list
>>select * from ta where a2 not in (select a1 from tb) order by a1;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
--- 87 row(s) selected.
>>
>>select * from ta where a2 not in (select a3 from tb) order by a1;
--- 0 row(s) selected.
>>
>>
>>---------------------------------------------------------------------------
>>--log;
>>--log ./CORE_TEST004_PLUS_NOTIN_PLUS_HASH.--log clear;
>>
>>---------------------------------------------------------------------------
>>--##HASH ANTI SEMI JOIN
>>---------------------------------------------------------------------------
>>CQD HASH_JOINS 'ON';
--- SQL operation complete.
>>CQD MERGE_JOINS 'OFF';
--- SQL operation complete.
>>CQD NESTED_JOINS 'OFF';
--- SQL operation complete.
>>
>>control query shape cut;
--- SQL operation complete.
>>control query default ATTEMPT_ESP_PARALLELISM 'ON';
--- SQL operation complete.
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>---------------------------------------------------------------------------
>>obey test004(NOTIN_PLUS);
>>
>>-- NOTIN_PLUS #1
>>-- (ta,tb) ==> not((a4<>b4) is true)
>>-- (ta,tc) ==> not((a4<>c4) is true)
>>prepare s from
+>select *
+>from ta
+>where
+>a4 not in (select b4 from tb) and
+>a4 not in (select c4 from tc)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #2
>>-- (ta,tb) ==> if hash a4=b4 with check_inner_null_expr otherwise not((a4<>b4) is true)
>>-- (ta,tc) ==> if hash a4=c4 with check_inner_null_expr otherwise not((a4<>c4) is true)
>>prepare s from
+>select *
+>from ta
+>where
+>a4 not in (select b4 from tb) and
+>a4 not in (select c4 from tc) and
+>a4>0
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #3
>>-- (ta,tb) ==> a4=b4
>>-- (ta,tc) ==> if hash a4=c4 with check_inner_null_expr otherwise not((a4<>c4) is true)
>>prepare s from
+>select *
+>from ta
+>where
+>a4 not in (select b4 from tb where b4 >0 ) and
+>a4 not in (select c4 from tc) and
+>a4>0
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #4
>>-- (ta,tb) ==> a4=b4
>>-- (ta,tc) ==> a4=c4
>>prepare s from
+>select *
+>from ta
+>where
+>a4 not in (select b4 from tb where b4 >0) and
+>a4 not in (select c4 from tc where c4 >0) and
+>a4>0
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 3 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #5
>>-- (ta,tb) ==> if hash a4=c4 with check_outer_null_expr otherwise not((a4<>c4) is true)
>>-- (ta,tc) ==> if hash a4=c4 with check_outer_null_expr otherwise not((a4<>c4) is true)
>>prepare s from
+>select *
+>from ta
+>where
+>a4 not in (select b4 from tb where b4 >0) and
+>a4 not in (select c4 from tc where c4 >0)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 3 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #6
>>prepare s from
+>select *
+>from ta
+>where (select max(b4) from tb) not in (select c4 from tc where c4 >0)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #6-1
>>prepare s from
+>select *
+>from ta
+>where (select max(b4) from tb) not in (select max(c4) from tc where c4 >0)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #7
>>prepare s from
+>select *
+>from ta
+>where (select max(b4) from tb where ta.a4=tb.b4) not in (select c4 from tc where c4>0)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
10 . 11 root 1.00E+002
9 . 10 sort 1.00E+002
8 . 9 esp_exchange 1:4(hash2) 1.00E+002
2 7 8 nested_anti_semi_joi 1.00E+002
6 . 7 probe_cache 1.34E+000
5 3 6 hybrid_hash_join 1.34E+000
4 . 5 sort_scalar_aggr 3.40E-001
. . 4 trafodion_scan TB 5.00E+001
. . 3 trafodion_scan TC 3.33E+001
1 . 2 esp_exchange 4(hash2):1 (m) 1.00E+002
. . 1 trafodion_scan TA 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[11] ROOT statement: select * from ta where (select max(b4) from tb where ta.a4=tb.b4) not in (select c4 from tc where c4>0) order by a1;
[10] SORT ?
[9 ] ESP_EXCHANGE parent_processes: 1 child_processes: 4 child_partitioning_function: hash2 partitioned 4 ways on (randomNum)
[8 ] NESTED_ANTI_SEMI_JOIN join_type: inner anti-semi join_method: nested parallel_join_type: 2 (N2J Opens all inner partitions)
[7 ] PROBE_CACHE ?
[6 ] HYBRID_HASH_JOIN ?
[5 ] SORT_SCALAR_AGGR ?
[4 ] TRAFODION_SCAN (TB) executor_predicates: (B4 = TRAFODION.SCH.TA.A4)
[3 ] TRAFODION_SCAN (TC) executor_predicates: (C4 > 0)
[2 ] ESP_EXCHANGE parent_processes: 4 child_processes: 1 parent_partitioning_function: hash2 partitioned 4 ways on (randomNum) partitioning_expression: (HashDistPartHash(cast(randomNum)) Hash2Distrib scaledNumParts) merged_order: TRAFODION.SCH.TA.A1
[1 ] TRAFODION_SCAN (TA) ?
--- 11 row(s) selected.
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #8
>>prepare s from
+>select *
+>from ta
+>where a4 not in (select b4 from tb where b4 not in (select c4 from tc where c4>0))
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #8-1
>>prepare s from
+>select *
+>from ta
+>where a4 not in (select b4 from tb where b4 not in (select c4 from tc where c4>0))
+>and a4 >0
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #9
>>prepare s from
+>select *
+>from ta
+>where a4 not in (select c4 from tc where c4 not in (select b4 from tb))
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 146 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #10
>>prepare s from
+>select *
+>from ta
+>where a4+1 not in (select c4+1 from tc)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
--- 0 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #10
>>prepare s from
+>select *
+>from ta
+>where (select a4,sum(a1) from ta where a4 >0 group by a4) not in (select c4, sum(c1) from tc where c4 >0 group by c4)
+>order by a1;
--- SQL command prepared.
>>
>>execute s;
*** ERROR[8401] A row subquery or SELECT...INTO statement cannot return more than one row.
--- 0 row(s) selected.
>>--explain options 'f' s;
>>
>>--execute explainASJ;
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #11
>>CQD NOT_IN_OPTIMIZATION 'OFF';
--- SQL operation complete.
>>prepare s from
+>select *
+>from ta
+>where a2 not in (select b2 from tb) order by a1;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>CQD NOT_IN_OPTIMIZATION 'ON';
--- SQL operation complete.
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #12
>>delete from td;
--- 142 row(s) deleted.
>>prepare s from
+>insert into td
+>select *
+>from ta
+>where a2 not in (select b2 from tb);
--- SQL command prepared.
>>
>>execute s;
--- 4 row(s) inserted.
>>
>>select * from td order by d1;
D1 D2 D3 D4
----------- ----------- ----------- -----------
257 257 257 257
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 4 row(s) selected.
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #13
>>delete from td;
--- 4 row(s) deleted.
>>insert into td select * from ta;
--- 146 row(s) inserted.
>>
>>prepare s from
+>update td
+>set d4=0
+>where d2 not in (select b2 from tb);
--- SQL command prepared.
>>execute s;
--- 4 row(s) updated.
>>
>>select * from td order by d1;
D1 D2 D3 D4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
257 257 257 0
100000 100000 100000 0
100001 100001 100001 0
100002 100002 100002 0
100003 ? ? ?
--- 146 row(s) selected.
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #14
>>delete from td;
--- 146 row(s) deleted.
>>insert into td select * from ta;
--- 146 row(s) inserted.
>>
>>prepare s from
+>delete from td
+>where d2 not in (select b2 from tb);
--- SQL command prepared.
>>execute s;
--- 4 row(s) deleted.
>>
>>select * from td order by d1;
D1 D2 D3 D4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
101 101 101 101
102 102 102 102
103 103 103 103
104 104 104 104
105 105 105 105
106 106 106 106
107 107 107 107
108 108 108 108
109 109 109 109
111 111 111 111
112 112 112 112
113 113 113 113
114 114 114 114
115 115 115 115
116 116 116 116
117 117 117 117
118 118 118 118
119 119 119 119
121 121 121 121
122 122 122 122
123 123 123 123
124 124 124 124
125 125 125 125
126 126 126 126
127 127 127 127
128 128 128 128
129 129 129 129
131 131 131 131
132 132 132 132
133 133 133 133
134 134 134 134
135 135 135 135
136 136 136 136
137 137 137 137
138 138 138 138
139 139 139 139
141 141 141 141
142 142 142 142
143 143 143 143
144 144 144 144
145 145 145 145
146 146 146 146
147 147 147 147
148 148 148 148
149 149 149 149
151 151 151 151
152 152 152 152
153 153 153 153
154 154 154 154
155 155 155 155
156 156 156 156
157 157 157 157
158 158 158 158
159 159 159 159
100003 ? ? ?
--- 142 row(s) selected.
>>----------------------------------------------------------------------------
>>-- NOTIN_PLUS #15
>>--outer refrences
>>cqd not_in_optimization 'off';
--- SQL operation complete.
>>
>>select * from ta where a2 not in (select b4 from tb where 1 <= ta.a2 ) order by a1;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100003 ? ? ?
--- 1 row(s) selected.
>>
>>
>>cqd not_in_optimization 'on';
--- SQL operation complete.
>>
>>select * from ta where a2 not in (select b4 from tb where 1 <= ta.a2 ) order by a1;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100003 ? ? ?
--- 1 row(s) selected.
>>
>>--outer refrences in select list
>>select * from ta where a2 not in (select a1 from tb) order by a1;
A1 A2 A3 A4
----------- ----------- ----------- -----------
4 20000 20000 20000
5 20000 20000 20000
6 20000 20000 20000
7 20000 20000 20000
8 20000 20000 20000
9 20000 20000 20000
11 20000 20000 20000
12 20000 20000 20000
13 20000 20000 20000
14 20000 20000 20000
15 20000 20000 20000
16 20000 20000 20000
17 20000 20000 20000
18 20000 20000 20000
19 20000 20000 20000
21 20000 20000 20000
22 20000 20000 20000
23 20000 20000 20000
24 20000 20000 20000
25 20000 20000 20000
26 20000 20000 20000
27 20000 20000 20000
28 20000 20000 20000
29 20000 20000 20000
31 20000 20000 20000
32 20000 20000 20000
33 20000 20000 20000
34 20000 20000 20000
35 20000 20000 20000
36 20000 20000 20000
37 20000 20000 20000
38 20000 20000 20000
39 20000 20000 20000
41 20000 20000 20000
42 20000 20000 20000
43 20000 20000 20000
44 20000 20000 20000
45 20000 20000 20000
46 20000 20000 20000
47 20000 20000 20000
48 20000 20000 20000
49 20000 20000 20000
51 20001 20001 20001
52 20001 20001 20001
53 20001 20001 20001
54 20001 20001 20001
55 20001 20001 20001
56 20001 20001 20001
57 20001 20001 20001
58 20001 20001 20001
59 20001 20001 20001
61 20001 20001 20001
62 20001 20001 20001
63 20001 20001 20001
64 20001 20001 20001
65 20001 20001 20001
66 20001 20001 20001
67 20001 20001 20001
68 20001 20001 20001
69 20001 20001 20001
71 20001 20001 20001
72 20001 20001 20001
73 20001 20001 20001
74 20001 20001 20001
75 20001 20001 20001
76 20001 20001 20001
77 20001 20001 20001
78 20001 20001 20001
79 20001 20001 20001
81 20001 20001 20001
82 20001 20001 20001
83 20001 20001 20001
84 20001 20001 20001
85 20001 20001 20001
86 20001 20001 20001
87 20001 20001 20001
88 20001 20001 20001
89 20001 20001 20001
91 20001 20001 20001
92 20001 20001 20001
93 20001 20001 20001
94 20001 20001 20001
95 20001 20001 20001
96 20001 20001 20001
97 20001 20001 20001
98 20001 20001 20001
99 20001 20001 20001
--- 87 row(s) selected.
>>
>>select * from ta where a2 not in (select a3 from tb) order by a1;
--- 0 row(s) selected.
>>
>>
>>---------------------------------------------------------------------------
>>--log;
>>
>>--log ./CORE_TEST004_PLUS_NOTIN_PLUS_HASH_SKEW_BUSTER.--log clear;
>>
>>---------------------------------------------------------------------------
>>--##HASH ANTI SEMI JOIN
>>---------------------------------------------------------------------------
>>CQD HASH_JOINS 'ON';
--- SQL operation complete.
>>CQD MERGE_JOINS 'OFF';
--- SQL operation complete.
>>CQD NESTED_JOINS 'OFF';
--- SQL operation complete.
>>control query default ATTEMPT_ESP_PARALLELISM 'ON';
--- SQL operation complete.
>>CQD NOT_IN_ANSI_NULL_SEMANTICS 'ON';
--- SQL operation complete.
>>#ifndef SEABASE_REGRESS
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT
+>EXCHANGE(HYBRID_HASH_JOIN(EXCHANGE(HYBRID_HASH_JOIN(CUT,CUT,TYPE1)),CUT,TYPE1));
>>#else
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT
+>HYBRID_HASH_JOIN(HYBRID_HASH_JOIN(CUT,CUT),CUT);
--- SQL operation complete.
>>#endif
>>
>>
>>prepare s from
+>select *
+>from ta
+>where a3 not in (select b3 from tb) and
+> a3 not in (select c3 from tc)
+>order by a1,a2;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 3 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
6 . 7 root 1.00E+002
5 . 6 sort 1.00E+002
4 1 5 hybrid_hash_anti_sem 1.00E+002
3 2 4 hybrid_hash_anti_sem 1.00E+002
. . 3 trafodion_scan TA 1.00E+002
. . 2 trafodion_scan TB 1.00E+002
. . 1 trafodion_scan TC 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[7 ] ROOT statement: select * from ta where a3 not in (select b3 from tb) and a3 not in (select c3 from tc) order by a1,a2;
[6 ] SORT ?
[5 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TC.C3) check_inner_null_expr: TRAFODION.SCH.TC.C3 is null check_outer_null_expr: TRAFODION.SCH.TA.A3 is null
[4 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TB.B3) check_inner_null_expr: TRAFODION.SCH.TB.B3 is null check_outer_null_expr: TRAFODION.SCH.TA.A3 is null
[3 ] TRAFODION_SCAN (TA) ?
[2 ] TRAFODION_SCAN (TB) ?
[1 ] TRAFODION_SCAN (TC) ?
--- 7 row(s) selected.
>>----------------------------------------------------------------------------
>>prepare s from
+>select *
+>from ta
+>where a3 not in (select b3 from tb where b3 is not null ) and
+> a3 not in (select c3 from tc)
+>order by a1,a2;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 3 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
6 . 7 root 1.00E+002
5 . 6 sort 1.00E+002
4 1 5 hybrid_hash_anti_sem 1.00E+002
3 2 4 hybrid_hash_anti_sem 1.00E+002
. . 3 trafodion_scan TA 1.00E+002
. . 2 trafodion_scan TB 9.89E+001
. . 1 trafodion_scan TC 1.00E+002
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[7 ] ROOT statement: select * from ta where a3 not in (select b3 from tb where b3 is not null ) and a3 not in (select c3 from tc) order by a1,a2;
[6 ] SORT ?
[5 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TC.C3) check_inner_null_expr: TRAFODION.SCH.TC.C3 is null check_outer_null_expr: TRAFODION.SCH.TA.A3 is null
[4 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TB.B3) check_outer_null_expr: TRAFODION.SCH.TA.A3 is null
[3 ] TRAFODION_SCAN (TA) ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: B3 is not null
[1 ] TRAFODION_SCAN (TC) ?
--- 7 row(s) selected.
>>----------------------------------------------------------------------------
>>prepare s from
+>select *
+>from ta
+>where a3 not in (select b3 from tb) and
+> a3 not in (select c3 from tc where c3 is not null)
+>order by a1,a2;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 3 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
6 . 7 root 1.00E+002
5 . 6 sort 1.00E+002
4 1 5 hybrid_hash_anti_sem 1.00E+002
3 2 4 hybrid_hash_anti_sem 1.00E+002
. . 3 trafodion_scan TA 1.00E+002
. . 2 trafodion_scan TB 1.00E+002
. . 1 trafodion_scan TC 9.89E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[7 ] ROOT statement: select * from ta where a3 not in (select b3 from tb) and a3 not in (select c3 from tc where c3 is not null) order by a1,a2;
[6 ] SORT ?
[5 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TC.C3) check_outer_null_expr: TRAFODION.SCH.TA.A3 is null
[4 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TB.B3) check_inner_null_expr: TRAFODION.SCH.TB.B3 is null check_outer_null_expr: TRAFODION.SCH.TA.A3 is null
[3 ] TRAFODION_SCAN (TA) ?
[2 ] TRAFODION_SCAN (TB) ?
[1 ] TRAFODION_SCAN (TC) executor_predicates: C3 is not null
--- 7 row(s) selected.
>>----------------------------------------------------------------------------
>>prepare s from
+>select *
+>from ta
+>where a3 not in (select b3 from tb where b3 is not null) and
+> a3 not in (select c3 from tc where c3 is not null)
+>order by a1,a2;
--- SQL command prepared.
>>
>>execute s;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 3 row(s) selected.
>>explain options 'f' s;
LC RC OP OPERATOR OPT DESCRIPTION CARD
---- ---- ---- -------------------- -------- -------------------- ---------
6 . 7 root 1.00E+002
5 . 6 sort 1.00E+002
4 1 5 hybrid_hash_anti_sem 1.00E+002
3 2 4 hybrid_hash_anti_sem 1.00E+002
. . 3 trafodion_scan TA 1.00E+002
. . 2 trafodion_scan TB 9.89E+001
. . 1 trafodion_scan TC 9.89E+001
--- SQL operation complete.
>>
>>execute explainASJ;
OP DESCRIP
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[7 ] ROOT statement: select * from ta where a3 not in (select b3 from tb where b3 is not null) and a3 not in (select c3 from tc where c3 is not null) order by a1,a2;
[6 ] SORT ?
[5 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TC.C3) check_outer_null_expr: TRAFODION.SCH.TA.A3 is null
[4 ] HYBRID_HASH_ANTI_SEMI_JOI join_type: inner anti-semi join_method: hash hash_join_predicates: (TRAFODION.SCH.TA.A3 = TRAFODION.SCH.TB.B3) check_outer_null_expr: TRAFODION.SCH.TA.A3 is null
[3 ] TRAFODION_SCAN (TA) ?
[2 ] TRAFODION_SCAN (TB) executor_predicates: B3 is not null
[1 ] TRAFODION_SCAN (TC) executor_predicates: C3 is not null
--- 7 row(s) selected.
>>----------------------------------------------------------------------------
>>
>>obey TEST004(NOTIN_PLUS2);
>>
>>CONTROL QUERY SHAPE CUT;
--- SQL operation complete.
>>CQD QUERY_CACHE RESET;
--- SQL operation complete.
>>
>>-- test for isInnerEmpty flag inistialization
>>cqd hash_joins 'on';
--- SQL operation complete.
>>cqd nested_joins 'off';
--- SQL operation complete.
>>cqd merge_joins 'off';
--- SQL operation complete.
>>
>>control query default query_cache reset;
--- SQL operation complete.
>>
>>prepare s1 from select * from ta where a2 not in (select b2 from tb where b2<?) and a1 >100000;
--- SQL command prepared.
>>
>>execute s1 using 0;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 3 row(s) selected.
>>
>>execute s1 using 200;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100001 100001 100001 100001
100002 100002 100002 100002
--- 2 row(s) selected.
>>
>>execute s1 using 0;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 3 row(s) selected.
>>execute s1 using 200;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100001 100001 100001 100001
100002 100002 100002 100002
--- 2 row(s) selected.
>>
>>execute s1 using 0;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 3 row(s) selected.
>>
>>-- test for broadacst one row initialization
>>#ifndef SEABASE_REGRESS
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT ESP_EXCHANGE(HYBRID_HASH_JOIN(CUT,CUT,TYPE1));
>>#else
>>CONTROL QUERY SHAPE IMPLICIT EXCHANGE_AND_SORT HYBRID_HASH_JOIN(CUT,CUT);
--- SQL operation complete.
>>#endif
>>
>>prepare s1 from select * from ta where a2 not in (select b1 from tb where b2 = ?) and a1 >=100000 order by a1;
--- SQL command prepared.
>>
>>
>>execute s1 using 101;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 3 row(s) selected.
>>execute s1 using 101;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 3 row(s) selected.
>>execute s1 using 1011111;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 4 row(s) selected.
>>execute s1 using 1011111;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 4 row(s) selected.
>>execute s1 using 101;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
--- 3 row(s) selected.
>>execute s1 using 1011111;
A1 A2 A3 A4
----------- ----------- ----------- -----------
100000 100000 100000 100000
100001 100001 100001 100001
100002 100002 100002 100002
100003 ? ? ?
--- 4 row(s) selected.
>>
>>log;