5967 lines
243 KiB
Plaintext
5967 lines
243 KiB
Plaintext
*************** Case 1 ***************
|
|
|
|
SQL: select c1 from t0 start with pk = 1 connect by prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 1(end) **************
|
|
|
|
*************** Case 2 ***************
|
|
|
|
SQL: select c1 from t0 start with c1 = 1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |900 |490 |
|
|
|1 | TABLE SCAN |t0 |9 |72 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter([t0.c1 = ?]),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 2(end) **************
|
|
|
|
*************** Case 3 ***************
|
|
|
|
SQL: select c1 from t0 start with pk > 1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.pk], [t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(1 ; MAX),
|
|
range_cond([t0.pk > ?])
|
|
2 - output([t0.c1], [t0.c2], [t0.pk]), filter(nil)
|
|
3 - output([t0.pk], [t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.pk], [t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 3(end) **************
|
|
|
|
*************** Case 4 ***************
|
|
|
|
SQL: select c1 from t0 start with c1 > 1 or c1 < -1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |9000 |3730|
|
|
|1 | TABLE SCAN |t0 |90 |64 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter([t0.c1 > ? OR t0.c1 < ?]),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 4(end) **************
|
|
|
|
*************** Case 5 ***************
|
|
|
|
SQL: select c1 from t0 start with c1 > 1 or 1 = 2 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |9000 |3730|
|
|
|1 | TABLE SCAN |t0 |90 |64 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter([t0.c1 > ? OR ?]),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 5(end) **************
|
|
|
|
*************** Case 6 ***************
|
|
|
|
SQL: select c1 from (select * from t0) as tt start with c1 > 1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |5000 |1990|
|
|
|1 | SUBPLAN SCAN |tt |50 |78 |
|
|
|2 | TABLE SCAN |t0 |100 |56 |
|
|
|3 | MATERIAL | |100 |143 |
|
|
|4 | SUBPLAN SCAN |tt |100 |69 |
|
|
|5 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([tt.c1]), filter(nil),
|
|
conds([tt.c1 = tt.c2]), nl_params_(nil)
|
|
1 - output([tt.c1], [tt.c2]), filter([tt.c1 > ?]),
|
|
access([tt.c1], [tt.c2])
|
|
2 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([tt.c1], [tt.c2]), filter(nil)
|
|
4 - output([tt.c1], [tt.c2]), filter(nil),
|
|
access([tt.c1], [tt.c2])
|
|
5 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 6(end) **************
|
|
|
|
*************** Case 7 ***************
|
|
|
|
SQL: select t0.c1 from t0, t4 start with t0.c1 = 1 connect by prior t0.c1 = t0.c2;
|
|
|
|
==============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
--------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |9000000 |3617996|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |900 |754 |
|
|
|2 | TABLE SCAN |t0 |9 |72 |
|
|
|3 | MATERIAL | |100 |53 |
|
|
|4 | TABLE SCAN |t4 |100 |53 |
|
|
|5 | MATERIAL | |10000 |7082 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7082 |
|
|
|7 | TABLE SCAN |t0 |100 |56 |
|
|
|8 | MATERIAL | |100 |53 |
|
|
|9 | TABLE SCAN |t4 |100 |53 |
|
|
==============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1], [t0.c2]), filter([t0.c1 = ?]),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([1]), filter(nil)
|
|
4 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN,MIN ; MAX,MAX)always true
|
|
5 - output([t0.c1], [t0.c2]), filter(nil)
|
|
6 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([1]), filter(nil)
|
|
9 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN,MIN ; MAX,MAX)always true
|
|
|
|
*************** Case 7(end) **************
|
|
|
|
*************** Case 8 ***************
|
|
|
|
SQL: select t0.c1 from t0, t4 start with t4.c1 = 1 connect by prior t0.c1 = t0.c2;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127051|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7082 |
|
|
|2 | TABLE SCAN |t0 |100 |56 |
|
|
|3 | MATERIAL | |100 |53 |
|
|
|4 | TABLE SCAN |t4 |100 |53 |
|
|
|5 | MATERIAL | |10000 |7082 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7082 |
|
|
|7 | TABLE SCAN |t0 |100 |56 |
|
|
|8 | MATERIAL | |100 |53 |
|
|
|9 | TABLE SCAN |t4 |100 |53 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([1]), filter(nil)
|
|
4 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(1,MIN ; 1,MAX),
|
|
range_cond([t4.c1 = ?])
|
|
5 - output([t0.c1], [t0.c2]), filter(nil)
|
|
6 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([1]), filter(nil)
|
|
9 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN,MIN ; MAX,MAX)always true
|
|
|
|
*************** Case 8(end) **************
|
|
|
|
*************** Case 9 ***************
|
|
|
|
SQL: select t0.c1 from t0, t4 start with t0.c1 + t4.c1 = 1 connect by prior t0.c1 = t0.c2;
|
|
|
|
=============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
-------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |500000 |211334|
|
|
|1 | NESTED-LOOP INNER JOIN | |50 |3688 |
|
|
|2 | TABLE SCAN |t0 |100 |56 |
|
|
|3 | MATERIAL | |100 |53 |
|
|
|4 | TABLE SCAN |t4 |100 |53 |
|
|
|5 | MATERIAL | |10000 |7082 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7082 |
|
|
|7 | TABLE SCAN |t0 |100 |56 |
|
|
|8 | MATERIAL | |100 |53 |
|
|
|9 | TABLE SCAN |t4 |100 |53 |
|
|
=============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds([t0.c1 + t4.c1 = ?]), nl_params_(nil)
|
|
2 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t4.c1]), filter(nil)
|
|
4 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN,MIN ; MAX,MAX)always true
|
|
5 - output([t0.c1], [t0.c2]), filter(nil)
|
|
6 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([1]), filter(nil)
|
|
9 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN,MIN ; MAX,MAX)always true
|
|
|
|
*************** Case 9(end) **************
|
|
|
|
*************** Case 10 ***************
|
|
|
|
SQL: select t0.c1 from t0 left join t4 on t0.c1 = t4.c1 connect by prior t0.c1 = t0.c2;
|
|
|
|
==================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
--------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |810000 |326584|
|
|
|1 | MERGE LEFT OUTER JOIN | |900 |835 |
|
|
|2 | SORT | |100 |144 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
|4 | TABLE SCAN |t4 |100 |53 |
|
|
|5 | MATERIAL | |900 |835 |
|
|
|6 | MERGE LEFT OUTER JOIN| |900 |835 |
|
|
|7 | SORT | |100 |144 |
|
|
|8 | TABLE SCAN |t0 |100 |56 |
|
|
|9 | TABLE SCAN |t4 |100 |53 |
|
|
==================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
equal_conds([t0.c1 = t4.c1]), other_conds(nil)
|
|
2 - output([t0.c1], [t0.c2]), filter(nil), sort_keys([t0.c1, ASC])
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
4 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN,MIN ; MAX,MAX)always true
|
|
5 - output([t0.c1], [t0.c2]), filter(nil)
|
|
6 - output([t0.c1], [t0.c2]), filter(nil),
|
|
equal_conds([t0.c1 = t4.c1]), other_conds(nil)
|
|
7 - output([t0.c1], [t0.c2]), filter(nil), sort_keys([t0.c1, ASC])
|
|
8 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
9 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN,MIN ; MAX,MAX)always true
|
|
|
|
*************** Case 10(end) **************
|
|
|
|
*************** Case 11 ***************
|
|
|
|
SQL: select t0.c1 from t0 left join t4 on t0.c1 = t4.c1 and t0.c1 > 1 start with t4.c1 is NULL connect by prior t0.c1 = t0.c2;
|
|
|
|
=================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
-------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |65610 |28197|
|
|
|1 | MERGE LEFT OUTER JOIN | |81 |939 |
|
|
|2 | SORT | |100 |144 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
|4 | TABLE SCAN |t4 |100 |53 |
|
|
|5 | MATERIAL | |810 |939 |
|
|
|6 | MERGE LEFT OUTER JOIN| |810 |939 |
|
|
|7 | SORT | |100 |144 |
|
|
|8 | TABLE SCAN |t0 |100 |56 |
|
|
|9 | TABLE SCAN |t4 |100 |53 |
|
|
=================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter([(T_OP_IS, t4.c1, NULL, 0)]),
|
|
equal_conds([t0.c1 = t4.c1]), other_conds([t0.c1 > ?])
|
|
2 - output([t0.c1], [t0.c2]), filter(nil), sort_keys([t0.c1, ASC])
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
4 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN,MIN ; MAX,MAX)always true
|
|
5 - output([t0.c1], [t0.c2]), filter(nil)
|
|
6 - output([t0.c1], [t0.c2]), filter(nil),
|
|
equal_conds([t0.c1 = t4.c1]), other_conds([t0.c1 > ?])
|
|
7 - output([t0.c1], [t0.c2]), filter(nil), sort_keys([t0.c1, ASC])
|
|
8 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
9 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN,MIN ; MAX,MAX)always true
|
|
|
|
*************** Case 11(end) **************
|
|
|
|
*************** Case 12 ***************
|
|
|
|
SQL: select t0.c1 from t0 left join t4 on t0.c1 = t4.c1 start with t0.pk != 0 connect by prior t0.c1 = t0.c2;
|
|
|
|
==================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
--------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |1312200 |528570|
|
|
|1 | HASH LEFT OUTER JOIN | |1458 |1373 |
|
|
|2 | TABLE SCAN |t0 |162 |145 |
|
|
|3 | TABLE SCAN |t4 |100 |53 |
|
|
|4 | MATERIAL | |900 |835 |
|
|
|5 | MERGE LEFT OUTER JOIN| |900 |835 |
|
|
|6 | SORT | |100 |144 |
|
|
|7 | TABLE SCAN |t0 |100 |56 |
|
|
|8 | TABLE SCAN |t4 |100 |53 |
|
|
==================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
equal_conds([t0.c1 = t4.c1]), other_conds(nil)
|
|
2 - output([t0.c1], [t0.pk], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.pk], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(NULL ; 0), (0 ; MAX),
|
|
range_cond([t0.pk != ?])
|
|
3 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN,MIN ; MAX,MAX)always true
|
|
4 - output([t0.c1], [t0.c2]), filter(nil)
|
|
5 - output([t0.c1], [t0.c2]), filter(nil),
|
|
equal_conds([t0.c1 = t4.c1]), other_conds(nil)
|
|
6 - output([t0.c1], [t0.c2]), filter(nil), sort_keys([t0.c1, ASC])
|
|
7 - output([t0.c1], [t0.pk], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.pk], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN,MIN ; MAX,MAX)always true
|
|
|
|
*************** Case 12(end) **************
|
|
|
|
*************** Case 13 ***************
|
|
|
|
SQL: select t0.c1 from t0 left join t4 on t0.c1 > t4.c1 start with t0.pk != 0 and t4.c1 is NULL connect by prior t0.c1 = t0.c2;
|
|
|
|
========================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
--------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |1799999 |738879|
|
|
|1 | NESTED-LOOP LEFT OUTER JOIN | |540 |10438 |
|
|
|2 | TABLE SCAN |t0 |162 |145 |
|
|
|3 | TABLE SCAN |t4 |33 |41 |
|
|
|4 | MATERIAL | |3333 |6409 |
|
|
|5 | NESTED-LOOP LEFT OUTER JOIN| |3333 |6409 |
|
|
|6 | TABLE SCAN |t0 |100 |56 |
|
|
|7 | TABLE SCAN |t4 |33 |41 |
|
|
========================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter([(T_OP_IS, t4.c1, NULL, 0)]),
|
|
conds(nil), nl_params_([t0.c1])
|
|
2 - output([t0.c1], [t0.pk], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.pk], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(NULL ; 0), (0 ; MAX),
|
|
range_cond([t0.pk != ?])
|
|
3 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN ; MAX),
|
|
range_cond([? > t4.c1])
|
|
4 - output([t0.c1], [t0.c2]), filter(nil)
|
|
5 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds(nil), nl_params_([t0.c1])
|
|
6 - output([t0.c1], [t0.pk], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.pk], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
7 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN ; MAX),
|
|
range_cond([? > t4.c1])
|
|
|
|
*************** Case 13(end) **************
|
|
|
|
*************** Case 14 ***************
|
|
|
|
SQL: select t0.c1 from t0, t4 , t7 start with t0.c1 = 1 connect by prior t0.c1 = t0.c2;
|
|
|
|
=====================================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS |COST |
|
|
---------------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |90000000000|36102366864|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |90000 |63553 |
|
|
|2 | NESTED-LOOP INNER JOIN CARTESIAN | |900 |754 |
|
|
|3 | TABLE SCAN |t0 |9 |72 |
|
|
|4 | MATERIAL | |100 |53 |
|
|
|5 | TABLE SCAN |t4 |100 |53 |
|
|
|6 | MATERIAL | |100 |51 |
|
|
|7 | TABLE SCAN |t7 |100 |51 |
|
|
|8 | MATERIAL | |1000000 |704328 |
|
|
|9 | NESTED-LOOP INNER JOIN CARTESIAN | |1000000 |704328 |
|
|
|10| NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7082 |
|
|
|11| TABLE SCAN |t0 |100 |56 |
|
|
|12| MATERIAL | |100 |53 |
|
|
|13| TABLE SCAN |t4 |100 |53 |
|
|
|14| MATERIAL | |100 |51 |
|
|
|15| TABLE SCAN |t7 |100 |51 |
|
|
=====================================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter([t0.c1 = ?]),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
4 - output([1]), filter(nil)
|
|
5 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN,MIN ; MAX,MAX)always true
|
|
6 - output([1]), filter(nil)
|
|
7 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
8 - output([t0.c1], [t0.c2]), filter(nil)
|
|
9 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
10 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
11 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
12 - output([1]), filter(nil)
|
|
13 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN,MIN ; MAX,MAX)always true
|
|
14 - output([1]), filter(nil)
|
|
15 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 14(end) **************
|
|
|
|
*************** Case 15 ***************
|
|
|
|
SQL: select t0.c1 from t0, t4 , t7 start with t0.pk = 1 connect by prior t0.c1 = t0.c2;
|
|
|
|
====================================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS |COST |
|
|
--------------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |10000000000|4012000298|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7194 |
|
|
|2 | NESTED-LOOP INNER JOIN CARTESIAN | |100 |170 |
|
|
|3 | TABLE GET |t0 |1 |52 |
|
|
|4 | TABLE SCAN |t4 |100 |53 |
|
|
|5 | MATERIAL | |100 |51 |
|
|
|6 | TABLE SCAN |t7 |100 |51 |
|
|
|7 | MATERIAL | |1000000 |704328 |
|
|
|8 | NESTED-LOOP INNER JOIN CARTESIAN | |1000000 |704328 |
|
|
|9 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7082 |
|
|
|10| TABLE SCAN |t0 |100 |56 |
|
|
|11| MATERIAL | |100 |53 |
|
|
|12| TABLE SCAN |t4 |100 |53 |
|
|
|13| MATERIAL | |100 |51 |
|
|
|14| TABLE SCAN |t7 |100 |51 |
|
|
====================================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
3 - output([t0.pk], [t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.pk], [t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
4 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN,MIN ; MAX,MAX)always true
|
|
5 - output([1]), filter(nil)
|
|
6 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
7 - output([t0.c1], [t0.c2]), filter(nil)
|
|
8 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
9 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
10 - output([t0.pk], [t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.pk], [t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
11 - output([1]), filter(nil)
|
|
12 - output([t4.c1]), filter(nil),
|
|
access([t4.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(MIN,MIN ; MAX,MAX)always true
|
|
13 - output([1]), filter(nil)
|
|
14 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 15(end) **************
|
|
|
|
*************** Case 16 ***************
|
|
|
|
SQL: select t0.c1 from t0 start with t0.c1 = 1 connect by 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |900 |902 |
|
|
|1 | TABLE SCAN |t0 |9 |70 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.c1]), filter([t0.c1 = ?]),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1]), filter(nil)
|
|
3 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 16(end) **************
|
|
|
|
*************** Case 17 ***************
|
|
|
|
SQL: select t0.c1 from t0 start with t0.pk = 1 connect by 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 17(end) **************
|
|
|
|
*************** Case 18 ***************
|
|
|
|
SQL: select t0.c1 from t0 start with t0.c1 connect by 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |8100 |7119|
|
|
|1 | TABLE SCAN |t0 |81 |62 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.c1]), filter([t0.c1]),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1]), filter(nil)
|
|
3 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 18(end) **************
|
|
|
|
*************** Case 19 ***************
|
|
|
|
SQL: select t0.c1 from t0 start with t0.c1 + t0.c2 connect by 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |5000 |4443|
|
|
|1 | TABLE SCAN |t0 |50 |64 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter([t0.c1 + t0.c2]),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 19(end) **************
|
|
|
|
*************** Case 20 ***************
|
|
|
|
SQL: select t0.c1 from t0 start with (select c1 from t7) connect by prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |5000 |5521|
|
|
|1 | SUBPLAN FILTER | |50 |1144|
|
|
|2 | TABLE SCAN |t0 |50 |62 |
|
|
|3 | TABLE SCAN |t7 |100 |51 |
|
|
|4 | MATERIAL | |100 |53 |
|
|
|5 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.c1]), filter([subquery(1)]),
|
|
exec_params_(nil), onetime_exprs_(nil), init_plan_idxs_([1])
|
|
2 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
4 - output([t0.c1]), filter(nil)
|
|
5 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 20(end) **************
|
|
|
|
*************** Case 21 ***************
|
|
|
|
SQL: select t0.c1 from t0 start with t0.c1 > (select c1 from t7) connect by prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |3333 |3756|
|
|
|1 | SUBPLAN FILTER | |33 |820 |
|
|
|2 | TABLE SCAN |t0 |33 |70 |
|
|
|3 | TABLE SCAN |t7 |100 |51 |
|
|
|4 | MATERIAL | |100 |53 |
|
|
|5 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.c1]), filter([t0.c1 > subquery(1)]),
|
|
exec_params_(nil), onetime_exprs_(nil), init_plan_idxs_([1])
|
|
2 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
4 - output([t0.c1]), filter(nil)
|
|
5 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 21(end) **************
|
|
|
|
*************** Case 22 ***************
|
|
|
|
SQL: select c1 from (select * from t0) as tt start with c1 = 1 connect by 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |19 |105 |
|
|
|1 | SUBPLAN SCAN |tt |0 |76 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | SUBPLAN SCAN |tt |100 |67 |
|
|
|4 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([tt.c1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([tt.c1]), filter([tt.c1 = ?]),
|
|
access([tt.c1])
|
|
2 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([tt.c1]), filter(nil),
|
|
access([tt.c1])
|
|
4 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 22(end) **************
|
|
|
|
*************** Case 23 ***************
|
|
|
|
SQL: select c1 from (select * from t0) as tt start with pk = 1 connect by 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |19 |105 |
|
|
|1 | SUBPLAN SCAN |tt |0 |76 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | SUBPLAN SCAN |tt |100 |67 |
|
|
|4 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([tt.c1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([tt.pk], [tt.c1]), filter([tt.pk = ?]),
|
|
access([tt.pk], [tt.c1])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([tt.pk], [tt.c1]), filter(nil),
|
|
access([tt.pk], [tt.c1])
|
|
4 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 23(end) **************
|
|
|
|
*************** Case 24 ***************
|
|
|
|
SQL: select c1 from (select * from t0) as tt start with c1 + c2 connect by 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |5000 |4531|
|
|
|1 | SUBPLAN SCAN |tt |50 |78 |
|
|
|2 | TABLE SCAN |t0 |100 |56 |
|
|
|3 | MATERIAL | |100 |143 |
|
|
|4 | SUBPLAN SCAN |tt |100 |69 |
|
|
|5 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([tt.c1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([tt.c1], [tt.c2]), filter([tt.c1 + tt.c2]),
|
|
access([tt.c1], [tt.c2])
|
|
2 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([tt.c1], [tt.c2]), filter(nil)
|
|
4 - output([tt.c1], [tt.c2]), filter(nil),
|
|
access([tt.c1], [tt.c2])
|
|
5 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 24(end) **************
|
|
|
|
*************** Case 25 ***************
|
|
|
|
SQL: select t0.c1 from t0 join t7 start with t0.c1 = 1 connect by 1 = 1;
|
|
|
|
==============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
--------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |9000000 |7789625|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |900 |749 |
|
|
|2 | TABLE SCAN |t0 |9 |70 |
|
|
|3 | MATERIAL | |100 |51 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |10000 |7077 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7077 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |51 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
==============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1]), filter([t0.c1 = ?]),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([1]), filter(nil)
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1]), filter(nil)
|
|
6 - output([t0.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([1]), filter(nil)
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 25(end) **************
|
|
|
|
*************** Case 26 ***************
|
|
|
|
SQL: select t0.c1 from t0 join t7 start with t7.c1 = 1 connect by 1 = 1;
|
|
|
|
=============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
-------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |1000000 |871897|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |100 |175 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |1 |51 |
|
|
|4 | TABLE GET |t7 |1 |51 |
|
|
|5 | MATERIAL | |10000 |7077 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7077 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |51 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
=============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([1]), filter(nil)
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range[1 ; 1],
|
|
range_cond([t7.c1 = ?])
|
|
5 - output([t0.c1]), filter(nil)
|
|
6 - output([t0.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([1]), filter(nil)
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 26(end) **************
|
|
|
|
*************** Case 27 ***************
|
|
|
|
SQL: select t0.c1 from t0 join t7 start with t0.c1 + t7.c1 connect by 1 = 1;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |50000000 |43244659|
|
|
|1 | NESTED-LOOP INNER JOIN | |5000 |5368 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |51 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |10000 |7077 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7077 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |51 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 + t7.c1]), nl_params_(nil)
|
|
2 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t7.c1]), filter(nil)
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1]), filter(nil)
|
|
6 - output([t0.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([1]), filter(nil)
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 27(end) **************
|
|
|
|
*************** Case 28 ***************
|
|
|
|
SQL: select t0.c1 from t0 left join t7 on t0.c1 = t7.c1 start with t0.c1 = 1 connect by 1 = 1;
|
|
|
|
=================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
-------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |72900 |64060|
|
|
|1 | MERGE LEFT OUTER JOIN | |81 |197 |
|
|
|2 | SORT | |9 |76 |
|
|
|3 | TABLE SCAN |t0 |9 |70 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |900 |830 |
|
|
|6 | MERGE LEFT OUTER JOIN| |900 |830 |
|
|
|7 | SORT | |100 |142 |
|
|
|8 | TABLE SCAN |t0 |100 |53 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
=================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.c1]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
2 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
3 - output([t0.c1]), filter([t0.c1 = ?]),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1]), filter(nil)
|
|
6 - output([t0.c1]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
7 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
8 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 28(end) **************
|
|
|
|
*************** Case 29 ***************
|
|
|
|
SQL: select t0.c1 from t0 left join t7 on t0.c1 = t7.c1 start with t7.c1 = 1 connect by 1 = 1;
|
|
|
|
=================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
-------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |72900 |64693|
|
|
|1 | MERGE LEFT OUTER JOIN | |81 |830 |
|
|
|2 | SORT | |100 |142 |
|
|
|3 | TABLE SCAN |t0 |100 |53 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |900 |830 |
|
|
|6 | MERGE LEFT OUTER JOIN| |900 |830 |
|
|
|7 | SORT | |100 |142 |
|
|
|8 | TABLE SCAN |t0 |100 |53 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
=================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.c1]), filter([t7.c1 = ?]),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
2 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
3 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1]), filter(nil)
|
|
6 - output([t0.c1]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
7 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
8 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 29(end) **************
|
|
|
|
*************** Case 30 ***************
|
|
|
|
SQL: select t0.c1 from t0 left join t7 on t0.c1 = t7.c1 start with t0.c1 + t7.c1 connect by 1 = 1;
|
|
|
|
==================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
--------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |405000 |351842|
|
|
|1 | MERGE LEFT OUTER JOIN | |450 |830 |
|
|
|2 | SORT | |100 |142 |
|
|
|3 | TABLE SCAN |t0 |100 |53 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |900 |830 |
|
|
|6 | MERGE LEFT OUTER JOIN| |900 |830 |
|
|
|7 | SORT | |100 |142 |
|
|
|8 | TABLE SCAN |t0 |100 |53 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
==================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.c1]), filter([t0.c1 + t7.c1]),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
2 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
3 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1]), filter(nil)
|
|
6 - output([t0.c1]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
7 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
8 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 30(end) **************
|
|
|
|
*************** Case 31 ***************
|
|
|
|
SQL: select * from t7 connect by prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |8754|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t7 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 31(end) **************
|
|
|
|
*************** Case 32 ***************
|
|
|
|
SQL: select * from t7 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4119|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t7 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter(nil),
|
|
conds([t7.c1 = t7.c2]), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 32(end) **************
|
|
|
|
*************** Case 33 ***************
|
|
|
|
SQL: select * from t7 connect by prior c1 + c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |5370|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t7 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter(nil),
|
|
conds([t7.c1 + t7.c2]), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 33(end) **************
|
|
|
|
*************** Case 34 ***************
|
|
|
|
SQL: select * from t7 connect by prior c1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |6949|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t7 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter(nil),
|
|
conds([t7.c1]), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 34(end) **************
|
|
|
|
*************** Case 35 ***************
|
|
|
|
SQL: select * from t7 connect by prior c1 > 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |8245|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t7 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter(nil),
|
|
conds([t7.c1 > ?]), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2], [t7.c1 > ?]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2], [t7.c1 > ?]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2], [t7.c1 > ?]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 35(end) **************
|
|
|
|
*************** Case 36 ***************
|
|
|
|
SQL: select * from t7 connect by prior c1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4119|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t7 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter(nil),
|
|
conds([t7.c1 = ?]), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2], [t7.c1 = ?]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2], [t7.c1 = ?]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2], [t7.c1 = ?]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 36(end) **************
|
|
|
|
*************** Case 37 ***************
|
|
|
|
SQL: select * from t7 connect by c1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |8100 |5763|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |81 |62 |
|
|
|3 | TABLE SCAN |t7 |81 |62 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2]), filter([t7.c1]),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 37(end) **************
|
|
|
|
*************** Case 38 ***************
|
|
|
|
SQL: select * from t7 connect by c1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |175 |
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |1 |51 |
|
|
|3 | TABLE GET |t7 |1 |51 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2], [t7.c1 = ?]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2], [t7.c1 = ?]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2], [t7.c1 = ?]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range[1 ; 1],
|
|
range_cond([t7.c1 = ?])
|
|
|
|
*************** Case 38(end) **************
|
|
|
|
*************** Case 39 ***************
|
|
|
|
SQL: select * from t7 connect by c1 + c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |5000 |3602|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |50 |62 |
|
|
|3 | TABLE SCAN |t7 |50 |62 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2], [t7.c1 + t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2], [t7.c1 + t7.c2]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2], [t7.c1 + t7.c2]), filter([t7.c1 + t7.c2]),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 39(end) **************
|
|
|
|
*************** Case 40 ***************
|
|
|
|
SQL: select * from t7 connect by prior c1 + c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |5370|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t7 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter(nil),
|
|
conds([t7.c1 + t7.c2]), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 40(end) **************
|
|
|
|
*************** Case 41 ***************
|
|
|
|
SQL: select * from t7 connect by prior c1 > prior c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |5358|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t7 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter(nil),
|
|
conds([t7.c1 > t7.c2]), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2], [t7.c1 > t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2], [t7.c1 > t7.c2]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2], [t7.c1 > t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 41(end) **************
|
|
|
|
*************** Case 42 ***************
|
|
|
|
SQL: select * from t7 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4119|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t7 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter(nil),
|
|
conds([t7.c1 = t7.c2]), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 42(end) **************
|
|
|
|
*************** Case 43 ***************
|
|
|
|
SQL: select t0.c1 from t0 join t7 connect by t7.c1 > 1;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|69733618|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7077 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |51 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |10000 |7077 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7077 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |51 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
1 - output([t0.c1], [t7.c1], [t7.c1 > ?]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t7.c1], [t7.c1 > ?]), filter(nil)
|
|
4 - output([t7.c1], [t7.c1 > ?]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t7.c1], [t7.c1 > ?]), filter(nil)
|
|
6 - output([t0.c1], [t7.c1], [t7.c1 > ?]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t7.c1], [t7.c1 > ?]), filter(nil)
|
|
9 - output([t7.c1], [t7.c1 > ?]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(1 ; MAX),
|
|
range_cond([t7.c1 > ?])
|
|
|
|
*************** Case 43(end) **************
|
|
|
|
*************** Case 44 ***************
|
|
|
|
SQL: select t0.c1 from t0 join t7 connect by t0.c1 > 1;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |90000000 |62760991|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7077 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |51 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |9000 |6397 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |9000 |6397 |
|
|
|7 | TABLE SCAN |t0 |90 |70 |
|
|
|8 | MATERIAL | |100 |51 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c1 > ?]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1], [t0.c1 > ?]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([1]), filter(nil)
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t0.c1 > ?]), filter(nil)
|
|
6 - output([t0.c1], [t0.c1 > ?]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.c1], [t0.c1 > ?]), filter([t0.c1 > ?]),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([1]), filter(nil)
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 44(end) **************
|
|
|
|
*************** Case 45 ***************
|
|
|
|
SQL: select t0.c1 from t0 join t7 connect by prior t7.c1 > 1;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|81385006|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7077 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |51 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |10000 |7077 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7077 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |51 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t7.c1 > ?]), nl_params_(nil)
|
|
1 - output([t0.c1], [t7.c1], [t7.c1 > ?]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t7.c1], [t7.c1 > ?]), filter(nil)
|
|
4 - output([t7.c1], [t7.c1 > ?]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t7.c1], [t7.c1 > ?]), filter(nil)
|
|
6 - output([t0.c1], [t7.c1], [t7.c1 > ?]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t7.c1], [t7.c1 > ?]), filter(nil)
|
|
9 - output([t7.c1], [t7.c1 > ?]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 45(end) **************
|
|
|
|
*************** Case 46 ***************
|
|
|
|
SQL: select t0.c1 from t0 join t7 connect by prior t0.c1 > 1;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|81385006|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7077 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |51 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |10000 |7077 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7077 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |51 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 > ?]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c1 > ?]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1], [t0.c1 > ?]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([1]), filter(nil)
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t0.c1 > ?]), filter(nil)
|
|
6 - output([t0.c1], [t0.c1 > ?]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.c1], [t0.c1 > ?]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([1]), filter(nil)
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 46(end) **************
|
|
|
|
*************** Case 47 ***************
|
|
|
|
SQL: select t0.c1 from t0 left join t7 on t0.c1 = t7.c1 connect by t7.c1 = 1;
|
|
|
|
=================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
-------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |72900 |52486|
|
|
|1 | MERGE LEFT OUTER JOIN | |900 |830 |
|
|
|2 | SORT | |100 |142 |
|
|
|3 | TABLE SCAN |t0 |100 |53 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |81 |830 |
|
|
|6 | MERGE LEFT OUTER JOIN| |81 |830 |
|
|
|7 | SORT | |100 |142 |
|
|
|8 | TABLE SCAN |t0 |100 |53 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
=================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
1 - output([t0.c1], [t7.c1], [t7.c1 = ?]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
2 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
3 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t7.c1], [t7.c1 = ?]), filter(nil)
|
|
6 - output([t0.c1], [t7.c1], [t7.c1 = ?]), filter([t7.c1 = ?]),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
7 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
8 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
9 - output([t7.c1], [t7.c1 = ?]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 47(end) **************
|
|
|
|
*************** Case 48 ***************
|
|
|
|
SQL: select t0.c1 from t0 left join t7 on t0.c1 = t7.c1 connect by t0.c1 = 1;
|
|
|
|
=================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
-------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |72900 |51853|
|
|
|1 | MERGE LEFT OUTER JOIN | |900 |830 |
|
|
|2 | SORT | |100 |142 |
|
|
|3 | TABLE SCAN |t0 |100 |53 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |81 |197 |
|
|
|6 | MERGE LEFT OUTER JOIN| |81 |197 |
|
|
|7 | SORT | |9 |76 |
|
|
|8 | TABLE SCAN |t0 |9 |70 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
=================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c1 = ?]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
2 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
3 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t0.c1 = ?]), filter(nil)
|
|
6 - output([t0.c1], [t0.c1 = ?]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
7 - output([t0.c1], [t0.c1 = ?]), filter(nil), sort_keys([t0.c1, ASC])
|
|
8 - output([t0.c1], [t0.c1 = ?]), filter([t0.c1 = ?]),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 48(end) **************
|
|
|
|
*************** Case 49 ***************
|
|
|
|
SQL: select t0.c1 from t0 left join t7 on t0.c1 = t7.c1 connect by prior t7.c1 = 1;
|
|
|
|
==================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
--------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |810000 |326575|
|
|
|1 | MERGE LEFT OUTER JOIN | |900 |830 |
|
|
|2 | SORT | |100 |142 |
|
|
|3 | TABLE SCAN |t0 |100 |53 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |900 |830 |
|
|
|6 | MERGE LEFT OUTER JOIN| |900 |830 |
|
|
|7 | SORT | |100 |142 |
|
|
|8 | TABLE SCAN |t0 |100 |53 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
==================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t7.c1 = ?]), nl_params_(nil)
|
|
1 - output([t0.c1], [t7.c1], [t7.c1 = ?]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
2 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
3 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t7.c1], [t7.c1 = ?]), filter(nil)
|
|
6 - output([t0.c1], [t7.c1], [t7.c1 = ?]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
7 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
8 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
9 - output([t7.c1], [t7.c1 = ?]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 49(end) **************
|
|
|
|
*************** Case 50 ***************
|
|
|
|
SQL: select t0.c1 from t0 left join t7 on t0.c1 = t7.c1 connect by prior t0.c1 = 1;
|
|
|
|
==================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
--------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |810000 |326575|
|
|
|1 | MERGE LEFT OUTER JOIN | |900 |830 |
|
|
|2 | SORT | |100 |142 |
|
|
|3 | TABLE SCAN |t0 |100 |53 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |900 |830 |
|
|
|6 | MERGE LEFT OUTER JOIN| |900 |830 |
|
|
|7 | SORT | |100 |142 |
|
|
|8 | TABLE SCAN |t0 |100 |53 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
==================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = ?]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c1 = ?]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
2 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
3 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t0.c1 = ?]), filter(nil)
|
|
6 - output([t0.c1], [t0.c1 = ?]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
7 - output([t0.c1], [t0.c1 = ?]), filter(nil), sort_keys([t0.c1, ASC])
|
|
8 - output([t0.c1], [t0.c1 = ?]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 50(end) **************
|
|
|
|
*************** Case 51 ***************
|
|
|
|
SQL: select t0.c1 from t0 join t7 connect by t0.c1 = t7.c1;
|
|
|
|
=============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
-------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |9000000 |6282660|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7077 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |51 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |900 |830 |
|
|
|6 | MERGE INNER JOIN | |900 |830 |
|
|
|7 | SORT | |100 |142 |
|
|
|8 | TABLE SCAN |t0 |100 |53 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
=============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
1 - output([t0.c1], [t7.c1], [t0.c1 = t7.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t7.c1]), filter(nil)
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t7.c1], [t0.c1 = t7.c1]), filter(nil)
|
|
6 - output([t0.c1], [t7.c1], [t0.c1 = t7.c1]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
7 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
8 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 51(end) **************
|
|
|
|
*************** Case 52 ***************
|
|
|
|
SQL: select t0.c1 from t0 join t7 connect by prior t0.c1 = prior t7.c1;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127043|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7077 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |51 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |10000 |7077 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7077 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |51 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t7.c1]), nl_params_(nil)
|
|
1 - output([t0.c1], [t7.c1], [t0.c1 = t7.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t7.c1]), filter(nil)
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t7.c1], [t0.c1 = t7.c1]), filter(nil)
|
|
6 - output([t0.c1], [t7.c1], [t0.c1 = t7.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t7.c1]), filter(nil)
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 52(end) **************
|
|
|
|
*************** Case 53 ***************
|
|
|
|
SQL: select t0.c1 from t0 join t7 connect by prior t0.c1 = t7.c1;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127043|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7077 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |51 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |10000 |7077 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7077 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |51 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t7.c1]), nl_params_(nil)
|
|
1 - output([t0.c1], [t7.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t7.c1]), filter(nil)
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t7.c1]), filter(nil)
|
|
6 - output([t0.c1], [t7.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t7.c1]), filter(nil)
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 53(end) **************
|
|
|
|
*************** Case 54 ***************
|
|
|
|
SQL: select t0.c1 from t0 left join t7 on t0.c1 = t7.c1 connect by t0.c1 = t7.c1;
|
|
|
|
=================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
-------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |72900 |52486|
|
|
|1 | MERGE LEFT OUTER JOIN | |900 |830 |
|
|
|2 | SORT | |100 |142 |
|
|
|3 | TABLE SCAN |t0 |100 |53 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |81 |830 |
|
|
|6 | MERGE LEFT OUTER JOIN| |81 |830 |
|
|
|7 | SORT | |100 |142 |
|
|
|8 | TABLE SCAN |t0 |100 |53 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
=================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
1 - output([t0.c1], [t7.c1], [t0.c1 = t7.c1]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
2 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
3 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t7.c1], [t0.c1 = t7.c1]), filter(nil)
|
|
6 - output([t0.c1], [t7.c1], [t0.c1 = t7.c1]), filter([t0.c1 = t7.c1]),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
7 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
8 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 54(end) **************
|
|
|
|
*************** Case 55 ***************
|
|
|
|
SQL: select t0.c1 from t0 left join t7 on t0.c1 = t7.c1 connect by prior t0.c1 = prior t7.c1;
|
|
|
|
==================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
--------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |810000 |326575|
|
|
|1 | MERGE LEFT OUTER JOIN | |900 |830 |
|
|
|2 | SORT | |100 |142 |
|
|
|3 | TABLE SCAN |t0 |100 |53 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |900 |830 |
|
|
|6 | MERGE LEFT OUTER JOIN| |900 |830 |
|
|
|7 | SORT | |100 |142 |
|
|
|8 | TABLE SCAN |t0 |100 |53 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
==================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t7.c1]), nl_params_(nil)
|
|
1 - output([t0.c1], [t7.c1], [t0.c1 = t7.c1]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
2 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
3 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t7.c1], [t0.c1 = t7.c1]), filter(nil)
|
|
6 - output([t0.c1], [t7.c1], [t0.c1 = t7.c1]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
7 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
8 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 55(end) **************
|
|
|
|
*************** Case 56 ***************
|
|
|
|
SQL: select t0.c1 from t0 left join t7 on t0.c1 = t7.c1 connect by prior t0.c1 = t7.c1;
|
|
|
|
==================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
--------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |810000 |326575|
|
|
|1 | MERGE LEFT OUTER JOIN | |900 |830 |
|
|
|2 | SORT | |100 |142 |
|
|
|3 | TABLE SCAN |t0 |100 |53 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |900 |830 |
|
|
|6 | MERGE LEFT OUTER JOIN| |900 |830 |
|
|
|7 | SORT | |100 |142 |
|
|
|8 | TABLE SCAN |t0 |100 |53 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
==================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t7.c1]), nl_params_(nil)
|
|
1 - output([t0.c1], [t7.c1]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
2 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
3 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t7.c1]), filter(nil)
|
|
6 - output([t0.c1], [t7.c1]), filter(nil),
|
|
equal_conds([t0.c1 = t7.c1]), other_conds(nil)
|
|
7 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
8 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 56(end) **************
|
|
|
|
*************** Case 57 ***************
|
|
|
|
SQL: select * from t7 where t7.c1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4119|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t7 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter([t7.c1]),
|
|
conds([t7.c1 = t7.c2]), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 57(end) **************
|
|
|
|
*************** Case 58 ***************
|
|
|
|
SQL: select * from t7 where t7.c1 + t7.c2 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4119|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t7 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter([t7.c1 + t7.c2]),
|
|
conds([t7.c1 = t7.c2]), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2], [t7.c1 + t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2], [t7.c1 + t7.c2]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2], [t7.c1 + t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 58(end) **************
|
|
|
|
*************** Case 59 ***************
|
|
|
|
SQL: select * from t7 where t7.c1 > t7.c2 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4119|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t7 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter([t7.c1 > t7.c2]),
|
|
conds([t7.c1 = t7.c2]), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2], [t7.c1 > t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2], [t7.c1 > t7.c2]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2], [t7.c1 > t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 59(end) **************
|
|
|
|
*************** Case 60 ***************
|
|
|
|
SQL: select * from t7 where prior t7.c1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4119|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t7 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter([t7.c1]),
|
|
conds([t7.c1 = t7.c2]), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 60(end) **************
|
|
|
|
*************** Case 61 ***************
|
|
|
|
SQL: select * from t7 where prior t7.c1 + t7.c2 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4119|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t7 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter([t7.c1 + t7.c2]),
|
|
conds([t7.c1 = t7.c2]), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 61(end) **************
|
|
|
|
*************** Case 62 ***************
|
|
|
|
SQL: select * from t7 where t7.c1 > prior t7.c2 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4119|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t7 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter([t7.c1 > t7.c2]),
|
|
conds([t7.c1 = t7.c2]), nl_params_(nil)
|
|
1 - output([t7.c2], [t7.c1]), filter(nil),
|
|
access([t7.c2], [t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 62(end) **************
|
|
|
|
*************** Case 63 ***************
|
|
|
|
SQL: select * from t7 where prior (t7.c1 + t7.c2) connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4119|
|
|
|1 | TABLE SCAN |t7 |100 |53 |
|
|
|2 | MATERIAL | |100 |53 |
|
|
|3 | TABLE SCAN |t7 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter([t7.c1 + t7.c2]),
|
|
conds([t7.c1 = t7.c2]), nl_params_(nil)
|
|
1 - output([t7.c1], [t7.c2], [t7.c1 + t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t7.c1], [t7.c2], [t7.c1 + t7.c2]), filter(nil)
|
|
3 - output([t7.c1], [t7.c2], [t7.c1 + t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 63(end) **************
|
|
|
|
*************** Case 64 ***************
|
|
|
|
SQL: select * from t7 where (select c1 from t0) connect by prior c1 = c2;
|
|
|
|
==================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
--------------------------------------------------
|
|
|0 |SUBPLAN FILTER | |10000 |203867|
|
|
|1 | NESTED-LOOP CONNECT BY| |10000 |4119 |
|
|
|2 | TABLE SCAN |t7 |100 |53 |
|
|
|3 | MATERIAL | |100 |53 |
|
|
|4 | TABLE SCAN |t7 |100 |53 |
|
|
|5 | TABLE SCAN |t0 |100 |53 |
|
|
==================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter([subquery(1)]),
|
|
exec_params_(nil), onetime_exprs_(nil), init_plan_idxs_([1])
|
|
1 - output([t7.c1], [t7.c2]), filter(nil),
|
|
conds([t7.c1 = t7.c2]), nl_params_(nil)
|
|
2 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
3 - output([t7.c1], [t7.c2]), filter(nil)
|
|
4 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 64(end) **************
|
|
|
|
*************** Case 65 ***************
|
|
|
|
SQL: select * from t7 where c1 > (select c1 from t0) connect by prior c1 = c2;
|
|
|
|
==================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
--------------------------------------------------
|
|
|0 |SUBPLAN FILTER | |10000 |203867|
|
|
|1 | NESTED-LOOP CONNECT BY| |10000 |4119 |
|
|
|2 | TABLE SCAN |t7 |100 |53 |
|
|
|3 | MATERIAL | |100 |53 |
|
|
|4 | TABLE SCAN |t7 |100 |53 |
|
|
|5 | TABLE SCAN |t0 |100 |53 |
|
|
==================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter([t7.c1 > subquery(1)]),
|
|
exec_params_(nil), onetime_exprs_(nil), init_plan_idxs_([1])
|
|
1 - output([t7.c1], [t7.c2]), filter(nil),
|
|
conds([t7.c1 = t7.c2]), nl_params_(nil)
|
|
2 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
3 - output([t7.c1], [t7.c2]), filter(nil)
|
|
4 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 65(end) **************
|
|
|
|
*************** Case 66 ***************
|
|
|
|
SQL: select c1 + prior a3 > (select c1 from t7) from t0 connect by prior c1 = c2;
|
|
|
|
==================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
--------------------------------------------------
|
|
|0 |SUBPLAN FILTER | |10000 |203873|
|
|
|1 | NESTED-LOOP CONNECT BY| |10000 |4128 |
|
|
|2 | TABLE SCAN |t0 |100 |58 |
|
|
|3 | MATERIAL | |100 |58 |
|
|
|4 | TABLE SCAN |t0 |100 |58 |
|
|
|5 | TABLE SCAN |t7 |100 |51 |
|
|
==================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1 + t0.a3 > subquery(1)]), filter(nil),
|
|
exec_params_(nil), onetime_exprs_(nil), init_plan_idxs_([1])
|
|
1 - output([t0.c1], [t0.a3], [t0.c1 + t0.a3]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
2 - output([t0.a3], [t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.a3], [t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t0.c1], [t0.a3], [t0.c2]), filter(nil)
|
|
4 - output([t0.c1], [t0.c2], [t0.a3]), filter(nil),
|
|
access([t0.c1], [t0.c2], [t0.a3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
5 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 66(end) **************
|
|
|
|
*************** Case 67 ***************
|
|
|
|
SQL: select prior c1 + 1 > (select c1 from t7) from t0 connect by prior c1 = c2;
|
|
|
|
==================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
--------------------------------------------------
|
|
|0 |SUBPLAN FILTER | |10000 |203869|
|
|
|1 | NESTED-LOOP CONNECT BY| |10000 |4123 |
|
|
|2 | TABLE SCAN |t0 |100 |56 |
|
|
|3 | MATERIAL | |100 |56 |
|
|
|4 | TABLE SCAN |t0 |100 |56 |
|
|
|5 | TABLE SCAN |t7 |100 |51 |
|
|
==================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1 + 1 > subquery(1)]), filter(nil),
|
|
exec_params_(nil), onetime_exprs_(nil), init_plan_idxs_([1])
|
|
1 - output([t0.c1], [t0.c1 + 1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
2 - output([t0.c1], [t0.c2], [t0.c1 + 1]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t0.c1], [t0.c1 + 1], [t0.c2]), filter(nil)
|
|
4 - output([t0.c1], [t0.c2], [t0.c1 + 1]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
5 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 67(end) **************
|
|
|
|
*************** Case 68 ***************
|
|
|
|
SQL: select t0.c1 from t0 join t7 where t0.c1 connect by prior t0.c1 = t7.c1;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127043|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7077 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |51 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |10000 |7077 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7077 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |51 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([t0.c1]),
|
|
conds([t0.c1 = t7.c1]), nl_params_(nil)
|
|
1 - output([t0.c1], [t7.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t7.c1]), filter(nil)
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t7.c1]), filter(nil)
|
|
6 - output([t0.c1], [t7.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t7.c1]), filter(nil)
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 68(end) **************
|
|
|
|
*************** Case 69 ***************
|
|
|
|
SQL: select t0.c1 from t0 join t7 where t0.c1 + t7.c1 connect by prior t0.c1 = t7.c1;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127043|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7077 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |51 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |10000 |7077 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7077 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |51 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([t0.c1 + t7.c1]),
|
|
conds([t0.c1 = t7.c1]), nl_params_(nil)
|
|
1 - output([t0.c1], [t7.c1], [t0.c1 + t7.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t7.c1]), filter(nil)
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t7.c1], [t0.c1 + t7.c1]), filter(nil)
|
|
6 - output([t0.c1], [t7.c1], [t0.c1 + t7.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t7.c1]), filter(nil)
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 69(end) **************
|
|
|
|
*************** Case 70 ***************
|
|
|
|
SQL: select t0.c1 from t7 left join t0 on t7.c1 = t0.c1 where t0.c1 is NULL connect by prior t0.c1 = t7.c1;
|
|
|
|
==================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
--------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |810000 |326575|
|
|
|1 | MERGE LEFT OUTER JOIN | |900 |830 |
|
|
|2 | TABLE SCAN |t7 |100 |51 |
|
|
|3 | SORT | |100 |142 |
|
|
|4 | TABLE SCAN |t0 |100 |53 |
|
|
|5 | MATERIAL | |900 |830 |
|
|
|6 | MERGE LEFT OUTER JOIN| |900 |830 |
|
|
|7 | TABLE SCAN |t7 |100 |51 |
|
|
|8 | SORT | |100 |142 |
|
|
|9 | TABLE SCAN |t0 |100 |53 |
|
|
==================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([(T_OP_IS, t0.c1, NULL, 0)]),
|
|
conds([t0.c1 = t7.c1]), nl_params_(nil)
|
|
1 - output([t0.c1], [(T_OP_IS, t0.c1, NULL, 0)], [t7.c1]), filter(nil),
|
|
equal_conds([t7.c1 = t0.c1]), other_conds(nil)
|
|
2 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
3 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
4 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [(T_OP_IS, t0.c1, NULL, 0)], [t7.c1]), filter(nil)
|
|
6 - output([t0.c1], [(T_OP_IS, t0.c1, NULL, 0)], [t7.c1]), filter(nil),
|
|
equal_conds([t7.c1 = t0.c1]), other_conds(nil)
|
|
7 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
8 - output([t0.c1], [(T_OP_IS, t0.c1, NULL, 0)]), filter(nil), sort_keys([t0.c1, ASC])
|
|
9 - output([t0.c1], [(T_OP_IS, t0.c1, NULL, 0)]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 70(end) **************
|
|
|
|
*************** Case 71 ***************
|
|
|
|
SQL: select t0.c1 from t0 join t7 where prior (t0.c1 + t7.c1) connect by prior t0.c1 = t7.c1;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127043|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7077 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |51 |
|
|
|4 | TABLE SCAN |t7 |100 |51 |
|
|
|5 | MATERIAL | |10000 |7077 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7077 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |51 |
|
|
|9 | TABLE SCAN |t7 |100 |51 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([t0.c1 + t7.c1]),
|
|
conds([t0.c1 = t7.c1]), nl_params_(nil)
|
|
1 - output([t0.c1], [t7.c1], [t0.c1 + t7.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t7.c1]), filter(nil)
|
|
4 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t7.c1], [t0.c1 + t7.c1]), filter(nil)
|
|
6 - output([t0.c1], [t7.c1], [t0.c1 + t7.c1]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t7.c1]), filter(nil)
|
|
9 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 71(end) **************
|
|
|
|
*************** Case 72 ***************
|
|
|
|
SQL: select t0.c1 from t7 left join t0 on t7.c1 = t0.c1 where prior t0.c1 is NULL connect by prior t0.c1 = t7.c1;
|
|
|
|
==================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
--------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |810000 |326575|
|
|
|1 | MERGE LEFT OUTER JOIN | |900 |830 |
|
|
|2 | TABLE SCAN |t7 |100 |51 |
|
|
|3 | SORT | |100 |142 |
|
|
|4 | TABLE SCAN |t0 |100 |53 |
|
|
|5 | MATERIAL | |900 |830 |
|
|
|6 | MERGE LEFT OUTER JOIN| |900 |830 |
|
|
|7 | TABLE SCAN |t7 |100 |51 |
|
|
|8 | SORT | |100 |142 |
|
|
|9 | TABLE SCAN |t0 |100 |53 |
|
|
==================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([(T_OP_IS, t0.c1, NULL, 0)]),
|
|
conds([t0.c1 = t7.c1]), nl_params_(nil)
|
|
1 - output([t0.c1], [(T_OP_IS, t0.c1, NULL, 0)], [t7.c1]), filter(nil),
|
|
equal_conds([t7.c1 = t0.c1]), other_conds(nil)
|
|
2 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
3 - output([t0.c1]), filter(nil), sort_keys([t0.c1, ASC])
|
|
4 - output([t0.c1]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [(T_OP_IS, t0.c1, NULL, 0)], [t7.c1]), filter(nil)
|
|
6 - output([t0.c1], [(T_OP_IS, t0.c1, NULL, 0)], [t7.c1]), filter(nil),
|
|
equal_conds([t7.c1 = t0.c1]), other_conds(nil)
|
|
7 - output([t7.c1]), filter(nil),
|
|
access([t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
8 - output([t0.c1], [(T_OP_IS, t0.c1, NULL, 0)]), filter(nil), sort_keys([t0.c1, ASC])
|
|
9 - output([t0.c1], [(T_OP_IS, t0.c1, NULL, 0)]), filter(nil),
|
|
access([t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 72(end) **************
|
|
|
|
*************** Case 73 ***************
|
|
|
|
SQL: select prior c2, c1 from t0 start with c1 = 1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |900 |490 |
|
|
|1 | TABLE SCAN |t0 |9 |72 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c2], [t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter([t0.c1 = ?]),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 73(end) **************
|
|
|
|
*************** Case 74 ***************
|
|
|
|
SQL: select prior c2, c2 from t0 connect by prior (c1 + 1) = (c1 + 1);
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c2], [t0.c2]), filter(nil),
|
|
conds([t0.c1 + ? = t0.c1 + ?]), nl_params_(nil)
|
|
1 - output([t0.c2], [t0.c1], [t0.c1 + ?], [t0.c1 + ?]), filter(nil),
|
|
access([t0.c2], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c2], [t0.c1], [t0.c1 + ?], [t0.c1 + ?]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.c1 + ?], [t0.c1 + ?]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 74(end) **************
|
|
|
|
*************** Case 75 ***************
|
|
|
|
SQL: select prior (c2 + 1), (c2 + 1) from t0 connect by prior c1 = c1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c2 + 1], [t0.c2 + 1]), filter(nil),
|
|
conds([t0.c1 = t0.c1]), nl_params_(nil)
|
|
1 - output([t0.c2], [t0.c1], [t0.c2 + 1], [t0.c2 + 1]), filter(nil),
|
|
access([t0.c2], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c2], [t0.c2 + 1], [t0.c2 + 1], [t0.c1]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.c2 + 1], [t0.c2 + 1]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 75(end) **************
|
|
|
|
*************** Case 76 ***************
|
|
|
|
SQL: select prior 1 from t0 where prior (c2 + 1) = (c2 + 1) connect by prior c1 = c1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([1]), filter([t0.c2 + ? = t0.c2 + ?]),
|
|
conds([t0.c1 = t0.c1]), nl_params_(nil)
|
|
1 - output([t0.c2], [t0.c1], [t0.c2 + ?], [t0.c2 + ?]), filter(nil),
|
|
access([t0.c2], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c2], [t0.c2 + ?], [t0.c2 + ?], [t0.c1]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.c2 + ?], [t0.c2 + ?]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 76(end) **************
|
|
|
|
*************** Case 77 ***************
|
|
|
|
SQL: select prior 1 from t0 where prior (c2 + 1) = (c2 + c1) connect by prior c1 = c1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([1]), filter([t0.c2 + ? = t0.c2 + t0.c1]),
|
|
conds([t0.c1 = t0.c1]), nl_params_(nil)
|
|
1 - output([t0.c2], [t0.c1], [t0.c2 + ?], [t0.c2 + t0.c1]), filter(nil),
|
|
access([t0.c2], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c2], [t0.c1], [t0.c2 + t0.c1], [t0.c2 + ?]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.c2 + t0.c1], [t0.c2 + ?]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 77(end) **************
|
|
|
|
*************** Case 78 ***************
|
|
|
|
SQL: select prior pk from t0 where c1 = 0 start with c1 = 1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |900 |490 |
|
|
|1 | TABLE SCAN |t0 |9 |72 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.pk]), filter([t0.c1 = ?]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.pk], [t0.c2], [t0.c1 = ?]), filter([t0.c1 = ?]),
|
|
access([t0.c1], [t0.pk], [t0.c2]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c1 = ?], [t0.pk], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.pk], [t0.c1 = ?]), filter(nil),
|
|
access([t0.c1], [t0.c2], [t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 78(end) **************
|
|
|
|
*************** Case 79 ***************
|
|
|
|
SQL: select prior a3, pk from t0 start with c1 = 1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |900 |494 |
|
|
|1 | TABLE SCAN |t0 |9 |75 |
|
|
|2 | MATERIAL | |100 |58 |
|
|
|3 | TABLE SCAN |t0 |100 |58 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.a3], [t0.pk]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.a3], [t0.pk], [t0.c2]), filter([t0.c1 = ?]),
|
|
access([t0.c1], [t0.a3], [t0.pk], [t0.c2]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.pk], [t0.a3], [t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.a3], [t0.pk]), filter(nil),
|
|
access([t0.c1], [t0.c2], [t0.a3], [t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 79(end) **************
|
|
|
|
*************** Case 80 ***************
|
|
|
|
SQL: select c1 + c2 from t0 where prior c2 = c1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1 + t0.c2]), filter([t0.c2 = t0.c1]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c2], [t0.c1], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.c2], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 80(end) **************
|
|
|
|
*************** Case 81 ***************
|
|
|
|
SQL: select prior(c1 + c2) from t0 where prior c2 = c1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1 + t0.c2]), filter([t0.c2 = t0.c1]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 81(end) **************
|
|
|
|
*************** Case 82 ***************
|
|
|
|
SQL: select abs(a3) + a3 from t0 where prior c2 = c1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4128|
|
|
|1 | TABLE SCAN |t0 |100 |58 |
|
|
|2 | MATERIAL | |100 |58 |
|
|
|3 | TABLE SCAN |t0 |100 |58 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([abs(t0.a3) + t0.a3]), filter([t0.c2 = t0.c1]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c2], [t0.c1], [t0.a3], [abs(t0.a3)], [abs(t0.a3) + t0.a3]), filter(nil),
|
|
access([t0.c2], [t0.c1], [t0.a3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.a3], [abs(t0.a3)], [abs(t0.a3) + t0.a3], [t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.a3], [abs(t0.a3)], [abs(t0.a3) + t0.a3]), filter(nil),
|
|
access([t0.c1], [t0.c2], [t0.a3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 82(end) **************
|
|
|
|
*************** Case 83 ***************
|
|
|
|
SQL: select prior (abs(a3) + a3) from t0 where prior c2 = c1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4128|
|
|
|1 | TABLE SCAN |t0 |100 |58 |
|
|
|2 | MATERIAL | |100 |58 |
|
|
|3 | TABLE SCAN |t0 |100 |58 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([abs(t0.a3) + t0.a3]), filter([t0.c2 = t0.c1]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.a3], [t0.c2], [t0.c1], [abs(t0.a3)], [abs(t0.a3) + t0.a3]), filter(nil),
|
|
access([t0.a3], [t0.c2], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.a3], [abs(t0.a3)], [abs(t0.a3) + t0.a3], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.a3], [abs(t0.a3)], [abs(t0.a3) + t0.a3]), filter(nil),
|
|
access([t0.c1], [t0.c2], [t0.a3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 83(end) **************
|
|
|
|
*************** Case 84 ***************
|
|
|
|
SQL: select c1 + c2 from t0 where prior c2 < c1 connect by prior c1 > c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |5363|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1 + t0.c2]), filter([t0.c2 < t0.c1]),
|
|
conds([t0.c1 > t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c2], [t0.c1], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.c2], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 84(end) **************
|
|
|
|
*************** Case 85 ***************
|
|
|
|
SQL: select prior(c1 + c2) from t0 where prior c2 < c1 connect by prior c1 > c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |5363|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1 + t0.c2]), filter([t0.c2 < t0.c1]),
|
|
conds([t0.c1 > t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 85(end) **************
|
|
|
|
*************** Case 86 ***************
|
|
|
|
SQL: select prior(c1 + c2), (c1 + c2) from t0 where prior c2 < c1 connect by prior c1 > c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |5363|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1 + t0.c2], [t0.c1 + t0.c2]), filter([t0.c2 < t0.c1]),
|
|
conds([t0.c1 > t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2], [t0.c1 + t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 86(end) **************
|
|
|
|
*************** Case 87 ***************
|
|
|
|
SQL: select abs(a3) + a3 from t0 where prior c2 < c1 connect by prior c1 > c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |5367|
|
|
|1 | TABLE SCAN |t0 |100 |58 |
|
|
|2 | MATERIAL | |100 |58 |
|
|
|3 | TABLE SCAN |t0 |100 |58 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([abs(t0.a3) + t0.a3]), filter([t0.c2 < t0.c1]),
|
|
conds([t0.c1 > t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c2], [t0.c1], [t0.a3], [abs(t0.a3)], [abs(t0.a3) + t0.a3]), filter(nil),
|
|
access([t0.c2], [t0.c1], [t0.a3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.a3], [abs(t0.a3)], [abs(t0.a3) + t0.a3], [t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.a3], [abs(t0.a3)], [abs(t0.a3) + t0.a3]), filter(nil),
|
|
access([t0.c1], [t0.c2], [t0.a3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 87(end) **************
|
|
|
|
*************** Case 88 ***************
|
|
|
|
SQL: select prior (abs(a3) + a3) from t0 where prior c2 < c1 connect by prior c1 > c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |5367|
|
|
|1 | TABLE SCAN |t0 |100 |58 |
|
|
|2 | MATERIAL | |100 |58 |
|
|
|3 | TABLE SCAN |t0 |100 |58 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([abs(t0.a3) + t0.a3]), filter([t0.c2 < t0.c1]),
|
|
conds([t0.c1 > t0.c2]), nl_params_(nil)
|
|
1 - output([t0.a3], [t0.c2], [t0.c1], [abs(t0.a3)], [abs(t0.a3) + t0.a3]), filter(nil),
|
|
access([t0.a3], [t0.c2], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.a3], [abs(t0.a3)], [abs(t0.a3) + t0.a3], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.a3], [abs(t0.a3)], [abs(t0.a3) + t0.a3]), filter(nil),
|
|
access([t0.c1], [t0.c2], [t0.a3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 88(end) **************
|
|
|
|
*************** Case 89 ***************
|
|
|
|
SQL: select prior t9.c3, t0.pk from t0 join t9 connect by prior t0.pk = t9.c3;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127043|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7077 |
|
|
|2 | TABLE SCAN |t0 |100 |51 |
|
|
|3 | MATERIAL | |100 |53 |
|
|
|4 | TABLE SCAN |t9 |100 |53 |
|
|
|5 | MATERIAL | |10000 |7077 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7077 |
|
|
|7 | TABLE SCAN |t0 |100 |51 |
|
|
|8 | MATERIAL | |100 |53 |
|
|
|9 | TABLE SCAN |t9 |100 |53 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t9.c3], [t0.pk]), filter(nil),
|
|
conds([t0.pk = t9.c3]), nl_params_(nil)
|
|
1 - output([t9.c3], [t0.pk]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.pk]), filter(nil),
|
|
access([t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t9.c3]), filter(nil)
|
|
4 - output([t9.c3]), filter(nil),
|
|
access([t9.c3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.pk], [t9.c3]), filter(nil)
|
|
6 - output([t0.pk], [t9.c3]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.pk]), filter(nil),
|
|
access([t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t9.c3]), filter(nil)
|
|
9 - output([t9.c3]), filter(nil),
|
|
access([t9.c3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 89(end) **************
|
|
|
|
*************** Case 90 ***************
|
|
|
|
SQL: select prior t0.a3, t0.pk from t0 join t9 connect by prior t0.pk = t0.a3;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127043|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7077 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |51 |
|
|
|4 | TABLE SCAN |t9 |100 |51 |
|
|
|5 | MATERIAL | |10000 |7077 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7077 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |51 |
|
|
|9 | TABLE SCAN |t9 |100 |51 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.a3], [t0.pk]), filter(nil),
|
|
conds([t0.pk = t0.a3]), nl_params_(nil)
|
|
1 - output([t0.a3], [t0.pk]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.a3], [t0.pk]), filter(nil),
|
|
access([t0.a3], [t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([1]), filter(nil)
|
|
4 - output([t9.c1]), filter(nil),
|
|
access([t9.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.pk], [t0.a3]), filter(nil)
|
|
6 - output([t0.pk], [t0.a3]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.pk], [t0.a3]), filter(nil),
|
|
access([t0.pk], [t0.a3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([1]), filter(nil)
|
|
9 - output([t9.c1]), filter(nil),
|
|
access([t9.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 90(end) **************
|
|
|
|
*************** Case 91 ***************
|
|
|
|
SQL: select prior t9.c3, t0.pk, prior t0.c2 from t0 join t9 where t9.c1 > 1 connect by prior t0.pk = t9.c3;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127047|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7079 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |53 |
|
|
|4 | TABLE SCAN |t9 |100 |53 |
|
|
|5 | MATERIAL | |10000 |7079 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7079 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |53 |
|
|
|9 | TABLE SCAN |t9 |100 |53 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t9.c3], [t0.pk], [t0.c2]), filter([t9.c1 > ?]),
|
|
conds([t0.pk = t9.c3]), nl_params_(nil)
|
|
1 - output([t9.c3], [t0.c2], [t0.pk], [t9.c1], [t9.c1 > ?]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c2], [t0.pk]), filter(nil),
|
|
access([t0.c2], [t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t9.c3], [t9.c1], [t9.c1 > ?]), filter(nil)
|
|
4 - output([t9.c3], [t9.c1], [t9.c1 > ?]), filter(nil),
|
|
access([t9.c3], [t9.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.pk], [t9.c1], [t9.c1 > ?], [t9.c3], [t0.c2]), filter(nil)
|
|
6 - output([t0.pk], [t9.c1], [t9.c1 > ?], [t9.c3], [t0.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.pk], [t0.c2]), filter(nil),
|
|
access([t0.pk], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t9.c1], [t9.c1 > ?], [t9.c3]), filter(nil)
|
|
9 - output([t9.c3], [t9.c1], [t9.c1 > ?]), filter(nil),
|
|
access([t9.c3], [t9.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 91(end) **************
|
|
|
|
*************** Case 92 ***************
|
|
|
|
SQL: select t9.c1 from t0 join t9 where prior t9.c3 + t0.pk + prior t0.c2 connect by prior t0.pk = t9.c3;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127047|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7079 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |53 |
|
|
|4 | TABLE SCAN |t9 |100 |53 |
|
|
|5 | MATERIAL | |10000 |7079 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7079 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |53 |
|
|
|9 | TABLE SCAN |t9 |100 |53 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t9.c1]), filter([t9.c3 + t0.pk + t0.c2]),
|
|
conds([t0.pk = t9.c3]), nl_params_(nil)
|
|
1 - output([t9.c3], [t0.c2], [t9.c1], [t0.pk]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c2], [t0.pk]), filter(nil),
|
|
access([t0.c2], [t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t9.c3], [t9.c1]), filter(nil)
|
|
4 - output([t9.c3], [t9.c1]), filter(nil),
|
|
access([t9.c3], [t9.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
5 - output([t9.c1], [t0.pk], [t9.c3], [t0.c2]), filter(nil)
|
|
6 - output([t9.c1], [t0.pk], [t9.c3], [t0.c2]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.pk], [t0.c2]), filter(nil),
|
|
access([t0.pk], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t9.c1], [t9.c3]), filter(nil)
|
|
9 - output([t9.c3], [t9.c1]), filter(nil),
|
|
access([t9.c3], [t9.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 92(end) **************
|
|
|
|
*************** Case 93 ***************
|
|
|
|
SQL: select prior t0.c1, t9.c2 from t0 join t9 connect by prior t0.pk = t9.c3;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127051|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7082 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |56 |
|
|
|4 | TABLE SCAN |t9 |100 |56 |
|
|
|5 | MATERIAL | |10000 |7082 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7082 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |56 |
|
|
|9 | TABLE SCAN |t9 |100 |56 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [t9.c2]), filter(nil),
|
|
conds([t0.pk = t9.c3]), nl_params_(nil)
|
|
1 - output([t0.c1], [t9.c2], [t9.c3], [t0.pk]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1], [t0.pk]), filter(nil),
|
|
access([t0.c1], [t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t9.c2], [t9.c3]), filter(nil)
|
|
4 - output([t9.c2], [t9.c3]), filter(nil),
|
|
access([t9.c2], [t9.c3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
5 - output([t9.c2], [t0.c1], [t0.pk], [t9.c3]), filter(nil)
|
|
6 - output([t9.c2], [t0.c1], [t0.pk], [t9.c3]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t9.c2], [t9.c3]), filter(nil)
|
|
9 - output([t9.c3], [t9.c2]), filter(nil),
|
|
access([t9.c3], [t9.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 93(end) **************
|
|
|
|
*************** Case 94 ***************
|
|
|
|
SQL: select prior t0.c1 from t0 join t9 where t9.c2 > 1 connect by prior t0.pk = t9.c3;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127051|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7082 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |56 |
|
|
|4 | TABLE SCAN |t9 |100 |56 |
|
|
|5 | MATERIAL | |10000 |7082 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7082 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |56 |
|
|
|9 | TABLE SCAN |t9 |100 |56 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([t9.c2 > ?]),
|
|
conds([t0.pk = t9.c3]), nl_params_(nil)
|
|
1 - output([t0.c1], [t9.c2], [t9.c2 > ?], [t9.c3], [t0.pk]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1], [t0.pk]), filter(nil),
|
|
access([t0.c1], [t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t9.c2], [t9.c2 > ?], [t9.c3]), filter(nil)
|
|
4 - output([t9.c2], [t9.c3], [t9.c2 > ?]), filter(nil),
|
|
access([t9.c2], [t9.c3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
5 - output([t9.c2], [t9.c2 > ?], [t0.c1], [t0.pk], [t9.c3]), filter(nil)
|
|
6 - output([t9.c2], [t9.c2 > ?], [t0.c1], [t0.pk], [t9.c3]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t9.c2], [t9.c2 > ?], [t9.c3]), filter(nil)
|
|
9 - output([t9.c3], [t9.c2], [t9.c2 > ?]), filter(nil),
|
|
access([t9.c3], [t9.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 94(end) **************
|
|
|
|
*************** Case 95 ***************
|
|
|
|
SQL: select t0.c1, prior t9.c2 from t0 join t9 connect by prior t0.pk = t9.c3;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127051|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7082 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |56 |
|
|
|4 | TABLE SCAN |t9 |100 |56 |
|
|
|5 | MATERIAL | |10000 |7082 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7082 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |56 |
|
|
|9 | TABLE SCAN |t9 |100 |56 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [t9.c2]), filter(nil),
|
|
conds([t0.pk = t9.c3]), nl_params_(nil)
|
|
1 - output([t9.c2], [t0.c1], [t9.c3], [t0.pk]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t9.c2], [t9.c3]), filter(nil)
|
|
4 - output([t9.c2], [t9.c3]), filter(nil),
|
|
access([t9.c2], [t9.c3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t9.c2], [t0.pk], [t9.c3]), filter(nil)
|
|
6 - output([t0.c1], [t9.c2], [t0.pk], [t9.c3]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t9.c2], [t9.c3]), filter(nil)
|
|
9 - output([t9.c3], [t9.c2]), filter(nil),
|
|
access([t9.c3], [t9.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 95(end) **************
|
|
|
|
*************** Case 96 ***************
|
|
|
|
SQL: select t0.c1 from t0 join t9 where prior t9.c2 > 1 connect by prior t0.pk = t9.c3;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127051|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7082 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |56 |
|
|
|4 | TABLE SCAN |t9 |100 |56 |
|
|
|5 | MATERIAL | |10000 |7082 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7082 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |56 |
|
|
|9 | TABLE SCAN |t9 |100 |56 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([t9.c2 > ?]),
|
|
conds([t0.pk = t9.c3]), nl_params_(nil)
|
|
1 - output([t9.c2], [t9.c2 > ?], [t0.c1], [t9.c3], [t0.pk]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t9.c2], [t9.c2 > ?], [t9.c3]), filter(nil)
|
|
4 - output([t9.c2], [t9.c3], [t9.c2 > ?]), filter(nil),
|
|
access([t9.c2], [t9.c3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t9.c2], [t9.c2 > ?], [t0.pk], [t9.c3]), filter(nil)
|
|
6 - output([t0.c1], [t9.c2], [t9.c2 > ?], [t0.pk], [t9.c3]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t9.c2], [t9.c2 > ?], [t9.c3]), filter(nil)
|
|
9 - output([t9.c3], [t9.c2], [t9.c2 > ?]), filter(nil),
|
|
access([t9.c3], [t9.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 96(end) **************
|
|
|
|
*************** Case 97 ***************
|
|
|
|
SQL: select prior (t0.c1 + t0.c2) from t0 join t9 where t0.pk > prior t9.c3 connect by prior t0.pk = t9.c3;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127051|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7082 |
|
|
|2 | TABLE SCAN |t0 |100 |56 |
|
|
|3 | MATERIAL | |100 |53 |
|
|
|4 | TABLE SCAN |t9 |100 |53 |
|
|
|5 | MATERIAL | |10000 |7082 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7082 |
|
|
|7 | TABLE SCAN |t0 |100 |56 |
|
|
|8 | MATERIAL | |100 |53 |
|
|
|9 | TABLE SCAN |t9 |100 |53 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1 + t0.c2]), filter([t0.pk > t9.c3]),
|
|
conds([t0.pk = t9.c3]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2], [t9.c3], [t0.pk]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1], [t0.c2], [t0.pk], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2], [t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t9.c3]), filter(nil)
|
|
4 - output([t9.c3]), filter(nil),
|
|
access([t9.c3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.pk], [t0.c1], [t0.c2], [t0.c1 + t0.c2], [t9.c3]), filter(nil)
|
|
6 - output([t0.pk], [t0.c1], [t0.c2], [t0.c1 + t0.c2], [t9.c3]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.pk], [t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.pk], [t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t9.c3]), filter(nil)
|
|
9 - output([t9.c3]), filter(nil),
|
|
access([t9.c3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 97(end) **************
|
|
|
|
*************** Case 98 ***************
|
|
|
|
SQL: select prior (t0.c1 + t9.c2) from t0 join t9 where t0.pk > prior t9.c3 connect by prior t0.pk = t9.c3;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127051|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7082 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |56 |
|
|
|4 | TABLE SCAN |t9 |100 |56 |
|
|
|5 | MATERIAL | |10000 |7082 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7082 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |56 |
|
|
|9 | TABLE SCAN |t9 |100 |56 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1 + t9.c2]), filter([t0.pk > t9.c3]),
|
|
conds([t0.pk = t9.c3]), nl_params_(nil)
|
|
1 - output([t0.c1], [t9.c2], [t0.c1 + t9.c2], [t9.c3], [t0.pk]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.c1], [t0.pk]), filter(nil),
|
|
access([t0.c1], [t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t9.c2], [t9.c3]), filter(nil)
|
|
4 - output([t9.c2], [t9.c3]), filter(nil),
|
|
access([t9.c2], [t9.c3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.pk], [t0.c1], [t9.c2], [t0.c1 + t9.c2], [t9.c3]), filter(nil)
|
|
6 - output([t0.pk], [t0.c1], [t9.c2], [t0.c1 + t9.c2], [t9.c3]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t9.c2], [t9.c3]), filter(nil)
|
|
9 - output([t9.c3], [t9.c2]), filter(nil),
|
|
access([t9.c3], [t9.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 98(end) **************
|
|
|
|
*************** Case 99 ***************
|
|
|
|
SQL: select t0.c1 + t0.c2 from t0 join t9 where t0.pk > prior t9.c3 connect by prior t0.pk = t9.c3;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127051|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7082 |
|
|
|2 | TABLE SCAN |t0 |100 |56 |
|
|
|3 | MATERIAL | |100 |53 |
|
|
|4 | TABLE SCAN |t9 |100 |53 |
|
|
|5 | MATERIAL | |10000 |7082 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7082 |
|
|
|7 | TABLE SCAN |t0 |100 |56 |
|
|
|8 | MATERIAL | |100 |53 |
|
|
|9 | TABLE SCAN |t9 |100 |53 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1 + t0.c2]), filter([t0.pk > t9.c3]),
|
|
conds([t0.pk = t9.c3]), nl_params_(nil)
|
|
1 - output([t9.c3], [t0.c1], [t0.c2], [t0.c1 + t0.c2], [t0.pk]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.pk], [t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.pk], [t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t9.c3]), filter(nil)
|
|
4 - output([t9.c3]), filter(nil),
|
|
access([t9.c3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2], [t0.pk], [t9.c3]), filter(nil)
|
|
6 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2], [t0.pk], [t9.c3]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.pk], [t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.pk], [t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t9.c3]), filter(nil)
|
|
9 - output([t9.c3]), filter(nil),
|
|
access([t9.c3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 99(end) **************
|
|
|
|
*************** Case 100 ***************
|
|
|
|
SQL: select t0.c1 + t9.c2 from t0 join t9 where t0.pk > prior t9.c3 connect by prior t0.pk = t9.c3;
|
|
|
|
===============================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
---------------------------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY | |100000000|40127051|
|
|
|1 | NESTED-LOOP INNER JOIN CARTESIAN | |10000 |7082 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
|3 | MATERIAL | |100 |56 |
|
|
|4 | TABLE SCAN |t9 |100 |56 |
|
|
|5 | MATERIAL | |10000 |7082 |
|
|
|6 | NESTED-LOOP INNER JOIN CARTESIAN| |10000 |7082 |
|
|
|7 | TABLE SCAN |t0 |100 |53 |
|
|
|8 | MATERIAL | |100 |56 |
|
|
|9 | TABLE SCAN |t9 |100 |56 |
|
|
===============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1 + t9.c2]), filter([t0.pk > t9.c3]),
|
|
conds([t0.pk = t9.c3]), nl_params_(nil)
|
|
1 - output([t9.c3], [t0.c1], [t9.c2], [t0.c1 + t9.c2], [t0.pk]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t9.c3], [t9.c2]), filter(nil)
|
|
4 - output([t9.c3], [t9.c2]), filter(nil),
|
|
access([t9.c3], [t9.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
5 - output([t0.c1], [t9.c2], [t0.c1 + t9.c2], [t0.pk], [t9.c3]), filter(nil)
|
|
6 - output([t0.c1], [t9.c2], [t0.c1 + t9.c2], [t0.pk], [t9.c3]), filter(nil),
|
|
conds(nil), nl_params_(nil)
|
|
7 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
8 - output([t9.c2], [t9.c3]), filter(nil)
|
|
9 - output([t9.c3], [t9.c2]), filter(nil),
|
|
access([t9.c3], [t9.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t9.c1]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 100(end) **************
|
|
|
|
*************** Case 101 ***************
|
|
|
|
SQL: select c1, level from t0 start with pk = 1 connect by prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [LEVEL]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 101(end) **************
|
|
|
|
*************** Case 102 ***************
|
|
|
|
SQL: select c1, level + 1 from t0 start with pk = 1 connect by prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [LEVEL + 1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 102(end) **************
|
|
|
|
*************** Case 103 ***************
|
|
|
|
SQL: select c1 from t0 where level < 1 start with pk = 1 connect by prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([LEVEL < ?]),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 103(end) **************
|
|
|
|
*************** Case 104 ***************
|
|
|
|
SQL: select c1, level from t0 where level < 1 start with pk = 1 connect by prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [LEVEL]), filter([LEVEL < ?]),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 104(end) **************
|
|
|
|
*************** Case 105 ***************
|
|
|
|
SQL: select c1, level from t0 where level < 1 start with pk = 1 connect by prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [LEVEL]), filter([LEVEL < ?]),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 105(end) **************
|
|
|
|
*************** Case 106 ***************
|
|
|
|
SQL: select c1, level from t0 where abs(level) != level start with pk = 1 connect by prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [LEVEL]), filter([abs(LEVEL) != LEVEL]),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 106(end) **************
|
|
|
|
*************** Case 107 ***************
|
|
|
|
SQL: select max(level) from t0 start with pk = 1 connect by prior 1 = 1;
|
|
|
|
================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
------------------------------------------------
|
|
|0 |SCALAR GROUP BY | |1 |204 |
|
|
|1 | NESTED-LOOP CONNECT BY| |100 |185 |
|
|
|2 | TABLE GET |t0 |1 |51 |
|
|
|3 | TABLE SCAN |t0 |100 |51 |
|
|
================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([T_FUN_MAX(LEVEL)]), filter(nil),
|
|
group(nil), agg_func([T_FUN_MAX(LEVEL)])
|
|
1 - output([LEVEL]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
2 - output([t0.pk]), filter(nil),
|
|
access([t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
3 - output([t0.pk]), filter(nil),
|
|
access([t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 107(end) **************
|
|
|
|
*************** Case 108 ***************
|
|
|
|
SQL: select max(level + 1) from t0 start with pk = 1 connect by prior 1 = 1;
|
|
|
|
================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
------------------------------------------------
|
|
|0 |SCALAR GROUP BY | |1 |204 |
|
|
|1 | NESTED-LOOP CONNECT BY| |100 |185 |
|
|
|2 | TABLE GET |t0 |1 |51 |
|
|
|3 | TABLE SCAN |t0 |100 |51 |
|
|
================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([T_FUN_MAX(LEVEL + 1)]), filter(nil),
|
|
group(nil), agg_func([T_FUN_MAX(LEVEL + 1)])
|
|
1 - output([LEVEL], [LEVEL + 1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
2 - output([t0.pk]), filter(nil),
|
|
access([t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
3 - output([t0.pk]), filter(nil),
|
|
access([t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 108(end) **************
|
|
|
|
*************** Case 109 ***************
|
|
|
|
SQL: select c1 from t0 where level connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([LEVEL]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 109(end) **************
|
|
|
|
*************** Case 110 ***************
|
|
|
|
SQL: select c1 from t0 where level > 1 and level < 2 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([LEVEL > ?], [LEVEL < ?]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 110(end) **************
|
|
|
|
*************** Case 111 ***************
|
|
|
|
SQL: select c1 from t0 where level > 1 or level < 2 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([LEVEL > ? OR LEVEL < ?]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 111(end) **************
|
|
|
|
*************** Case 112 ***************
|
|
|
|
SQL: select c1 from t0 where level > 1 or level < 2 and level < 2*level connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([LEVEL > ? OR LEVEL < ? AND LEVEL < ? * LEVEL]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 112(end) **************
|
|
|
|
*************** Case 113 ***************
|
|
|
|
SQL: select c1 from t0 where level > level * c2 or level < c1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([LEVEL > LEVEL * t0.c2 OR LEVEL < t0.c1]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 113(end) **************
|
|
|
|
*************** Case 114 ***************
|
|
|
|
SQL: select c1, connect_by_isleaf from t0 start with pk = 1 connect by prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [CONNECT_BY_ISLEAF]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 114(end) **************
|
|
|
|
*************** Case 115 ***************
|
|
|
|
SQL: select c1, connect_by_isleaf + 1 from t0 start with pk = 1 connect by prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [CONNECT_BY_ISLEAF + 1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 115(end) **************
|
|
|
|
*************** Case 116 ***************
|
|
|
|
SQL: select c1 from t0 where connect_by_isleaf < 1 start with pk = 1 connect by prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([CONNECT_BY_ISLEAF < ?]),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 116(end) **************
|
|
|
|
*************** Case 117 ***************
|
|
|
|
SQL: select c1, connect_by_isleaf from t0 where connect_by_isleaf < 1 start with pk = 1 connect by prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [CONNECT_BY_ISLEAF]), filter([CONNECT_BY_ISLEAF < ?]),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 117(end) **************
|
|
|
|
*************** Case 118 ***************
|
|
|
|
SQL: select c1, connect_by_isleaf from t0 where connect_by_isleaf < 1 start with pk = 1 connect by prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [CONNECT_BY_ISLEAF]), filter([CONNECT_BY_ISLEAF < ?]),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 118(end) **************
|
|
|
|
*************** Case 119 ***************
|
|
|
|
SQL: select c1, connect_by_isleaf from t0 where abs(connect_by_isleaf) != connect_by_isleaf start with pk = 1 connect by prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [CONNECT_BY_ISLEAF]), filter([abs(CONNECT_BY_ISLEAF) != CONNECT_BY_ISLEAF]),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 119(end) **************
|
|
|
|
*************** Case 120 ***************
|
|
|
|
SQL: select max(connect_by_isleaf) from t0 start with pk = 1 connect by prior 1 = 1;
|
|
|
|
================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
------------------------------------------------
|
|
|0 |SCALAR GROUP BY | |1 |204 |
|
|
|1 | NESTED-LOOP CONNECT BY| |100 |185 |
|
|
|2 | TABLE GET |t0 |1 |51 |
|
|
|3 | TABLE SCAN |t0 |100 |51 |
|
|
================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([T_FUN_MAX(CONNECT_BY_ISLEAF)]), filter(nil),
|
|
group(nil), agg_func([T_FUN_MAX(CONNECT_BY_ISLEAF)])
|
|
1 - output([CONNECT_BY_ISLEAF]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
2 - output([t0.pk]), filter(nil),
|
|
access([t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
3 - output([t0.pk]), filter(nil),
|
|
access([t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 120(end) **************
|
|
|
|
*************** Case 121 ***************
|
|
|
|
SQL: select max(connect_by_isleaf + 1) from t0 start with pk = 1 connect by prior 1 = 1;
|
|
|
|
================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
------------------------------------------------
|
|
|0 |SCALAR GROUP BY | |1 |204 |
|
|
|1 | NESTED-LOOP CONNECT BY| |100 |185 |
|
|
|2 | TABLE GET |t0 |1 |51 |
|
|
|3 | TABLE SCAN |t0 |100 |51 |
|
|
================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([T_FUN_MAX(CONNECT_BY_ISLEAF + 1)]), filter(nil),
|
|
group(nil), agg_func([T_FUN_MAX(CONNECT_BY_ISLEAF + 1)])
|
|
1 - output([CONNECT_BY_ISLEAF], [CONNECT_BY_ISLEAF + 1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
2 - output([t0.pk]), filter(nil),
|
|
access([t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
3 - output([t0.pk]), filter(nil),
|
|
access([t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 121(end) **************
|
|
|
|
*************** Case 122 ***************
|
|
|
|
SQL: select c1 from t0 where connect_by_isleaf connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([CONNECT_BY_ISLEAF]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 122(end) **************
|
|
|
|
*************** Case 123 ***************
|
|
|
|
SQL: select c1 from t0 where connect_by_isleaf > 1 and connect_by_isleaf < 2 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([CONNECT_BY_ISLEAF > ?], [CONNECT_BY_ISLEAF < ?]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 123(end) **************
|
|
|
|
*************** Case 124 ***************
|
|
|
|
SQL: select c1 from t0 where connect_by_isleaf > 1 or connect_by_isleaf < 2 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([CONNECT_BY_ISLEAF > ? OR CONNECT_BY_ISLEAF < ?]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 124(end) **************
|
|
|
|
*************** Case 125 ***************
|
|
|
|
SQL: select c1 from t0 where connect_by_isleaf > 1 or connect_by_isleaf < 2 and connect_by_isleaf < 2*connect_by_isleaf connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([CONNECT_BY_ISLEAF > ? OR CONNECT_BY_ISLEAF < ? AND CONNECT_BY_ISLEAF < ? * CONNECT_BY_ISLEAF]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 125(end) **************
|
|
|
|
*************** Case 126 ***************
|
|
|
|
SQL: select c1 from t0 where connect_by_isleaf > connect_by_isleaf * c2 or connect_by_isleaf < c1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([CONNECT_BY_ISLEAF > CONNECT_BY_ISLEAF * t0.c2 OR CONNECT_BY_ISLEAF < t0.c1]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 126(end) **************
|
|
|
|
*************** Case 127 ***************
|
|
|
|
SQL: select c1, connect_by_iscycle from t0 start with pk = 1 connect by nocycle prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [CONNECT_BY_ISCYCLE]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 127(end) **************
|
|
|
|
*************** Case 128 ***************
|
|
|
|
SQL: select c1, connect_by_iscycle + 1 from t0 start with pk = 1 connect by nocycle prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [CONNECT_BY_ISCYCLE + 1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 128(end) **************
|
|
|
|
*************** Case 129 ***************
|
|
|
|
SQL: select c1 from t0 where connect_by_iscycle < 1 start with pk = 1 connect by nocycle prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([CONNECT_BY_ISCYCLE < ?]),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 129(end) **************
|
|
|
|
*************** Case 130 ***************
|
|
|
|
SQL: select c1, connect_by_iscycle from t0 where connect_by_iscycle < 1 start with pk = 1 connect by nocycle prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [CONNECT_BY_ISCYCLE]), filter([CONNECT_BY_ISCYCLE < ?]),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 130(end) **************
|
|
|
|
*************** Case 131 ***************
|
|
|
|
SQL: select c1, connect_by_iscycle from t0 where connect_by_iscycle < 1 start with pk = 1 connect by nocycle prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [CONNECT_BY_ISCYCLE]), filter([CONNECT_BY_ISCYCLE < ?]),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 131(end) **************
|
|
|
|
*************** Case 132 ***************
|
|
|
|
SQL: select c1, connect_by_iscycle from t0 where abs(connect_by_iscycle) != connect_by_iscycle start with pk = 1 connect by nocycle prior 1 = 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |100 |187 |
|
|
|1 | TABLE GET |t0 |1 |51 |
|
|
|2 | TABLE SCAN |t0 |100 |53 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [CONNECT_BY_ISCYCLE]), filter([abs(CONNECT_BY_ISCYCLE) != CONNECT_BY_ISCYCLE]),
|
|
conds([? = ?]), nl_params_(nil)
|
|
1 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
2 - output([t0.pk], [t0.c1]), filter(nil),
|
|
access([t0.pk], [t0.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 132(end) **************
|
|
|
|
*************** Case 133 ***************
|
|
|
|
SQL: select max(connect_by_iscycle) from t0 start with pk = 1 connect by nocycle prior 1 = 1;
|
|
|
|
================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
------------------------------------------------
|
|
|0 |SCALAR GROUP BY | |1 |204 |
|
|
|1 | NESTED-LOOP CONNECT BY| |100 |185 |
|
|
|2 | TABLE GET |t0 |1 |51 |
|
|
|3 | TABLE SCAN |t0 |100 |51 |
|
|
================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([T_FUN_MAX(CONNECT_BY_ISCYCLE)]), filter(nil),
|
|
group(nil), agg_func([T_FUN_MAX(CONNECT_BY_ISCYCLE)])
|
|
1 - output([CONNECT_BY_ISCYCLE]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
2 - output([t0.pk]), filter(nil),
|
|
access([t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
3 - output([t0.pk]), filter(nil),
|
|
access([t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 133(end) **************
|
|
|
|
*************** Case 134 ***************
|
|
|
|
SQL: select max(connect_by_iscycle + 1) from t0 start with pk = 1 connect by nocycle prior 1 = 1;
|
|
|
|
================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
------------------------------------------------
|
|
|0 |SCALAR GROUP BY | |1 |204 |
|
|
|1 | NESTED-LOOP CONNECT BY| |100 |185 |
|
|
|2 | TABLE GET |t0 |1 |51 |
|
|
|3 | TABLE SCAN |t0 |100 |51 |
|
|
================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([T_FUN_MAX(CONNECT_BY_ISCYCLE + 1)]), filter(nil),
|
|
group(nil), agg_func([T_FUN_MAX(CONNECT_BY_ISCYCLE + 1)])
|
|
1 - output([CONNECT_BY_ISCYCLE], [CONNECT_BY_ISCYCLE + 1]), filter(nil),
|
|
conds([? = ?]), nl_params_(nil)
|
|
2 - output([t0.pk]), filter(nil),
|
|
access([t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range[1 ; 1],
|
|
range_cond([t0.pk = ?])
|
|
3 - output([t0.pk]), filter(nil),
|
|
access([t0.pk]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 134(end) **************
|
|
|
|
*************** Case 135 ***************
|
|
|
|
SQL: select c1 from t0 where connect_by_iscycle connect by nocycle prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([CONNECT_BY_ISCYCLE]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 135(end) **************
|
|
|
|
*************** Case 136 ***************
|
|
|
|
SQL: select c1 from t0 where connect_by_iscycle > 1 and connect_by_iscycle < 2 connect by nocycle prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([CONNECT_BY_ISCYCLE > ?], [CONNECT_BY_ISCYCLE < ?]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 136(end) **************
|
|
|
|
*************** Case 137 ***************
|
|
|
|
SQL: select c1 from t0 where connect_by_iscycle > 1 or connect_by_iscycle < 2 connect by nocycle prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([CONNECT_BY_ISCYCLE > ? OR CONNECT_BY_ISCYCLE < ?]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 137(end) **************
|
|
|
|
*************** Case 138 ***************
|
|
|
|
SQL: select c1 from t0 where connect_by_iscycle > 1 or connect_by_iscycle < 2 and connect_by_iscycle < 2*connect_by_iscycle connect by nocycle prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([CONNECT_BY_ISCYCLE > ? OR CONNECT_BY_ISCYCLE < ? AND CONNECT_BY_ISCYCLE < ? * CONNECT_BY_ISCYCLE]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 138(end) **************
|
|
|
|
*************** Case 139 ***************
|
|
|
|
SQL: select c1 from t0 where connect_by_iscycle > connect_by_iscycle * c2 or connect_by_iscycle < c1 connect by nocycle prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([CONNECT_BY_ISCYCLE > CONNECT_BY_ISCYCLE * t0.c2 OR CONNECT_BY_ISCYCLE < t0.c1]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 139(end) **************
|
|
|
|
*************** Case 140 ***************
|
|
|
|
SQL: select c1, c2 from t0 connect by prior c1 = c2 order by c1 + 1;
|
|
|
|
=================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
-------------------------------------------------
|
|
|0 |SORT | |10000 |18507|
|
|
|1 | NESTED-LOOP CONNECT BY| |10000 |4123 |
|
|
|2 | TABLE SCAN |t0 |100 |56 |
|
|
|3 | MATERIAL | |100 |56 |
|
|
|4 | TABLE SCAN |t0 |100 |56 |
|
|
=================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [t0.c2]), filter(nil), sort_keys([t0.c1 + 1, ASC])
|
|
1 - output([t0.c1], [t0.c2], [t0.c1 + 1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
2 - output([t0.c1], [t0.c2], [t0.c1 + 1]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t0.c1], [t0.c2], [t0.c1 + 1]), filter(nil)
|
|
4 - output([t0.c1], [t0.c2], [t0.c1 + 1]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 140(end) **************
|
|
|
|
*************** Case 141 ***************
|
|
|
|
SQL: select c1, c2 from t0 connect by prior c1 = c2 order by c1 + c2;
|
|
|
|
=================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
-------------------------------------------------
|
|
|0 |SORT | |10000 |18507|
|
|
|1 | NESTED-LOOP CONNECT BY| |10000 |4123 |
|
|
|2 | TABLE SCAN |t0 |100 |56 |
|
|
|3 | MATERIAL | |100 |56 |
|
|
|4 | TABLE SCAN |t0 |100 |56 |
|
|
=================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [t0.c2]), filter(nil), sort_keys([t0.c1 + t0.c2, ASC])
|
|
1 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
2 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil)
|
|
4 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 141(end) **************
|
|
|
|
*************** Case 142 ***************
|
|
|
|
SQL: select c1, c2 from t0 connect by prior c1 = c2 order siblings by c1 + 1;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2], [t0.c1 + 1]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2], [t0.c1 + 1]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.c1 + 1]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 142(end) **************
|
|
|
|
*************** Case 143 ***************
|
|
|
|
SQL: select c1, c2 from t0 connect by prior c1 = c2 order siblings by c1 + c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1], [t0.c2]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.c1 + t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 143(end) **************
|
|
|
|
*************** Case 144 ***************
|
|
|
|
SQL: select connect_by_root(c1) from t0 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([(T_OP_CONNECT_BY_ROOT, t0.c1)]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 144(end) **************
|
|
|
|
*************** Case 145 ***************
|
|
|
|
SQL: select connect_by_root(c1 + 1) from t0 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([(T_OP_CONNECT_BY_ROOT, t0.c1 + 1)]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2], [t0.c1 + 1]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c1 + 1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.c1 + 1]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 145(end) **************
|
|
|
|
*************** Case 146 ***************
|
|
|
|
SQL: select 1 + connect_by_root(c1) from t0 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([1 + (T_OP_CONNECT_BY_ROOT, t0.c1)]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 146(end) **************
|
|
|
|
*************** Case 147 ***************
|
|
|
|
SQL: select connect_by_root(1) from t0 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([(T_OP_CONNECT_BY_ROOT, 1)]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 147(end) **************
|
|
|
|
*************** Case 148 ***************
|
|
|
|
SQL: select connect_by_root(level + c1) from t0 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([(T_OP_CONNECT_BY_ROOT, LEVEL + t0.c1)]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 148(end) **************
|
|
|
|
*************** Case 149 ***************
|
|
|
|
SQL: select c1 from t0 where connect_by_root(c1) > 1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([(T_OP_CONNECT_BY_ROOT, t0.c1) > ?]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 149(end) **************
|
|
|
|
*************** Case 150 ***************
|
|
|
|
SQL: select c1 from t0 where connect_by_root(level) > c2 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([(T_OP_CONNECT_BY_ROOT, LEVEL) > t0.c2]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 150(end) **************
|
|
|
|
*************** Case 151 ***************
|
|
|
|
SQL: select c1 from t0 where connect_by_root(1) > c2 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([(T_OP_CONNECT_BY_ROOT, ?) > t0.c2]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 151(end) **************
|
|
|
|
*************** Case 152 ***************
|
|
|
|
SQL: select c1 from t0 connect by prior c1 = c2 order by connect_by_root c1;
|
|
|
|
=================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
-------------------------------------------------
|
|
|0 |SORT | |10000 |18507|
|
|
|1 | NESTED-LOOP CONNECT BY| |10000 |4123 |
|
|
|2 | TABLE SCAN |t0 |100 |56 |
|
|
|3 | MATERIAL | |100 |56 |
|
|
|4 | TABLE SCAN |t0 |100 |56 |
|
|
=================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil), sort_keys([(T_OP_CONNECT_BY_ROOT, t0.c1), ASC])
|
|
1 - output([t0.c1], [(T_OP_CONNECT_BY_ROOT, t0.c1)]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
2 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t0.c1], [t0.c2]), filter(nil)
|
|
4 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 152(end) **************
|
|
|
|
*************** Case 153 ***************
|
|
|
|
SQL: select sys_connect_by_path(c1, 1) from t0 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([sys_connect_by_path(t0.c1, ?)]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 153(end) **************
|
|
|
|
*************** Case 154 ***************
|
|
|
|
SQL: select sys_connect_by_path(c1 + 1, 1) from t0 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([sys_connect_by_path(t0.c1 + 1, ?)]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2], [t0.c1 + 1]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c1 + 1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2], [t0.c1 + 1]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 154(end) **************
|
|
|
|
*************** Case 155 ***************
|
|
|
|
SQL: select 1 + sys_connect_by_path(c1, 'a') from t0 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([? + sys_connect_by_path(t0.c1, 'a')]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 155(end) **************
|
|
|
|
*************** Case 156 ***************
|
|
|
|
SQL: select sys_connect_by_path(1, 'a') from t0 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([sys_connect_by_path(1, 'a')]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 156(end) **************
|
|
|
|
*************** Case 157 ***************
|
|
|
|
SQL: select sys_connect_by_path(level + c1, 'abc') from t0 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([sys_connect_by_path(LEVEL + t0.c1, 'abc')]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 157(end) **************
|
|
|
|
*************** Case 158 ***************
|
|
|
|
SQL: select c1 from t0 where sys_connect_by_path(c1, 1) > 1 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([sys_connect_by_path(t0.c1, ?) > ?]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 158(end) **************
|
|
|
|
*************** Case 159 ***************
|
|
|
|
SQL: select c1 from t0 where sys_connect_by_path(level, 'b') > c2 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([sys_connect_by_path(LEVEL, ?) > t0.c2]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 159(end) **************
|
|
|
|
*************** Case 160 ***************
|
|
|
|
SQL: select c1 from t0 where sys_connect_by_path(1, 'c') > c2 connect by prior c1 = c2;
|
|
|
|
===============================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
-----------------------------------------------
|
|
|0 |NESTED-LOOP CONNECT BY| |10000 |4123|
|
|
|1 | TABLE SCAN |t0 |100 |56 |
|
|
|2 | MATERIAL | |100 |56 |
|
|
|3 | TABLE SCAN |t0 |100 |56 |
|
|
===============================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter([sys_connect_by_path(?, ?) > t0.c2]),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
1 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1], [t0.c2]), filter(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 160(end) **************
|
|
|
|
*************** Case 161 ***************
|
|
|
|
SQL: select c1 from t0 connect by prior c1 = c2 order by sys_connect_by_path(c1, 'd');
|
|
|
|
=================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
-------------------------------------------------
|
|
|0 |SORT | |10000 |69617|
|
|
|1 | NESTED-LOOP CONNECT BY| |10000 |4123 |
|
|
|2 | TABLE SCAN |t0 |100 |56 |
|
|
|3 | MATERIAL | |100 |56 |
|
|
|4 | TABLE SCAN |t0 |100 |56 |
|
|
=================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.c1]), filter(nil), sort_keys([sys_connect_by_path(t0.c1, 'd'), ASC])
|
|
1 - output([t0.c1], [sys_connect_by_path(t0.c1, 'd')]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
2 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
3 - output([t0.c1], [t0.c2]), filter(nil)
|
|
4 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 161(end) **************
|
|
|
|
*************** Case 162 ***************
|
|
|
|
SQL: select * from t7 where c1 in (select c1 from t0 start with c1 = 0 connect by nocycle prior c1 = c2 order siblings by c1);
|
|
|
|
================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
------------------------------------------------
|
|
|0 |SUBPLAN FILTER | |50 |9136|
|
|
|1 | TABLE SCAN |t7 |50 |62 |
|
|
|2 | NESTED-LOOP CONNECT BY| |900 |490 |
|
|
|3 | TABLE SCAN |t0 |9 |72 |
|
|
|4 | MATERIAL | |100 |56 |
|
|
|5 | TABLE SCAN |t0 |100 |56 |
|
|
================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter([t7.c1 = ANY(subquery(1))]),
|
|
exec_params_(nil), onetime_exprs_(nil), init_plan_idxs_([1])
|
|
1 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter([t0.c1 = ?]),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
4 - output([t0.c1], [t0.c2]), filter(nil)
|
|
5 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 162(end) **************
|
|
|
|
*************** Case 163 ***************
|
|
|
|
SQL: select * from t7 where c2 in (select c1 from t0 start with c1 = 0 and t7.c1 > 0 connect by nocycle prior c1 = c2);
|
|
|
|
=================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST |
|
|
-------------------------------------------------
|
|
|0 |SUBPLAN FILTER | |50 |19491|
|
|
|1 | TABLE SCAN |t7 |50 |62 |
|
|
|2 | NESTED-LOOP CONNECT BY| |450 |326 |
|
|
|3 | TABLE SCAN |t0 |4 |89 |
|
|
|4 | MATERIAL | |100 |56 |
|
|
|5 | TABLE SCAN |t0 |100 |56 |
|
|
=================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter([t7.c2 = ANY(subquery(1))]),
|
|
exec_params_([t7.c1]), onetime_exprs_(nil), init_plan_idxs_(nil)
|
|
1 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter([t0.c1 = ?], [? > ?]),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false,false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
4 - output([t0.c1], [t0.c2]), filter(nil)
|
|
5 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 163(end) **************
|
|
|
|
*************** Case 164 ***************
|
|
|
|
SQL: select * from t7 where c2 in (select c1 from t0 start with c1 = 0 connect by nocycle prior c1 = c2);
|
|
|
|
================================================
|
|
|ID|OPERATOR |NAME|EST. ROWS|COST|
|
|
------------------------------------------------
|
|
|0 |SUBPLAN FILTER | |50 |9136|
|
|
|1 | TABLE SCAN |t7 |50 |62 |
|
|
|2 | NESTED-LOOP CONNECT BY| |900 |490 |
|
|
|3 | TABLE SCAN |t0 |9 |72 |
|
|
|4 | MATERIAL | |100 |56 |
|
|
|5 | TABLE SCAN |t0 |100 |56 |
|
|
================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter([t7.c2 = ANY(subquery(1))]),
|
|
exec_params_(nil), onetime_exprs_(nil), init_plan_idxs_([1])
|
|
1 - output([t7.c2], [t7.c1]), filter(nil),
|
|
access([t7.c2], [t7.c1]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([t0.c1]), filter(nil),
|
|
conds([t0.c1 = t0.c2]), nl_params_(nil)
|
|
3 - output([t0.c1], [t0.c2]), filter([t0.c1 = ?]),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
4 - output([t0.c1], [t0.c2]), filter(nil)
|
|
5 - output([t0.c1], [t0.c2]), filter(nil),
|
|
access([t0.c1], [t0.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
|
|
*************** Case 164(end) **************
|
|
|
|
*************** Case 165 ***************
|
|
|
|
SQL: select * from t7 where c2 in (select t7.c1 > 0 from t1 start with c1 = 0 and t7.c1 > 0 connect by nocycle prior c1 = c2);
|
|
|
|
==========================================================
|
|
|ID|OPERATOR |NAME |EST. ROWS|COST |
|
|
----------------------------------------------------------
|
|
|0 |SUBPLAN FILTER | |50 |12112|
|
|
|1 | TABLE SCAN |t7 |50 |62 |
|
|
|2 | NESTED-LOOP CONNECT BY| |250 |206 |
|
|
|3 | TABLE GET |t1 |0 |52 |
|
|
|4 | MATERIAL | |500 |53 |
|
|
|5 | EXCHANGE IN DISTR | |500 |53 |
|
|
|6 | EXCHANGE OUT DISTR | |500 |53 |
|
|
|7 | TABLE SCAN |t1(idx_t1_c2)|500 |53 |
|
|
==========================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t7.c1], [t7.c2]), filter([t7.c2 = ANY(subquery(1))]),
|
|
exec_params_([t7.c1]), onetime_exprs_(nil), init_plan_idxs_(nil)
|
|
1 - output([t7.c1], [t7.c2]), filter(nil),
|
|
access([t7.c1], [t7.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t7.c1]), range(MIN ; MAX)always true
|
|
2 - output([? > 0]), filter(nil),
|
|
conds([t1.c1 = t1.c2]), nl_params_(nil)
|
|
3 - output([t1.c1], [t1.c2], [? > 0]), filter([? > ?]),
|
|
access([t1.c1], [t1.c2]), partitions(p0),
|
|
is_index_back=false, filter_before_indexback[false],
|
|
range_key([t1.c1]), range[0 ; 0],
|
|
range_cond([t1.c1 = ?])
|
|
4 - output([t1.c1], [t1.c2]), filter(nil)
|
|
5 - output([t1.c1], [t1.c2]), filter(nil)
|
|
6 - output([t1.c1], [t1.c2]), filter(nil)
|
|
7 - output([t1.c1], [t1.c2]), filter(nil),
|
|
access([t1.c1], [t1.c2]), partitions(p[0-4]),
|
|
is_index_back=false,
|
|
range_key([t1.c2], [t1.c1]), range(MIN,MIN ; MAX,MAX)always true
|
|
|
|
*************** Case 165(end) **************
|
|
|
|
*************** Case 166 ***************
|
|
|
|
SQL: select * from t0 where c2 in (select prior t0.c1 + 99 from t4 start with c1 = 0 connect by nocycle prior c1 = c2);
|
|
|
|
==============================================================
|
|
|ID|OPERATOR |NAME |EST. ROWS|COST |
|
|
--------------------------------------------------------------
|
|
|0 |SUBPLAN FILTER | |50 |275045|
|
|
|1 | TABLE SCAN |t0 |50 |66 |
|
|
|2 | NESTED-LOOP CONNECT BY| |10000 |4119 |
|
|
|3 | TABLE SCAN |t4 |100 |53 |
|
|
|4 | MATERIAL | |100 |53 |
|
|
|5 | TABLE SCAN |t4(idx_t4_c2_c3)|100 |53 |
|
|
==============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.pk], [t0.c1], [t0.c2], [t0.a3]), filter([t0.c2 = ANY(subquery(1))]),
|
|
exec_params_([t0.c1]), onetime_exprs_(nil), init_plan_idxs_(nil)
|
|
1 - output([t0.c1], [t0.c2], [t0.pk], [t0.a3]), filter(nil),
|
|
access([t0.c1], [t0.c2], [t0.pk], [t0.a3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([? + 99]), filter(nil),
|
|
conds([t4.c1 = t4.c2]), nl_params_(nil)
|
|
3 - output([t4.c1], [t4.c2], [? + 99]), filter(nil),
|
|
access([t4.c1], [t4.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(0,MIN ; 0,MAX),
|
|
range_cond([t4.c1 = ?])
|
|
4 - output([t4.c1], [t4.c2]), filter(nil)
|
|
5 - output([t4.c1], [t4.c2]), filter(nil),
|
|
access([t4.c1], [t4.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c2], [t4.c3], [t4.c1]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
|
|
|
*************** Case 166(end) **************
|
|
|
|
*************** Case 167 ***************
|
|
|
|
SQL: select * from t0 where c2 in (select t0.c1 + 99 from t4 start with c1 = 0 connect by nocycle prior c1 = c2);
|
|
|
|
==============================================================
|
|
|ID|OPERATOR |NAME |EST. ROWS|COST |
|
|
--------------------------------------------------------------
|
|
|0 |SUBPLAN FILTER | |50 |275045|
|
|
|1 | TABLE SCAN |t0 |50 |66 |
|
|
|2 | NESTED-LOOP CONNECT BY| |10000 |4119 |
|
|
|3 | TABLE SCAN |t4 |100 |53 |
|
|
|4 | MATERIAL | |100 |53 |
|
|
|5 | TABLE SCAN |t4(idx_t4_c2_c3)|100 |53 |
|
|
==============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.pk], [t0.c1], [t0.c2], [t0.a3]), filter([t0.c2 = ANY(subquery(1))]),
|
|
exec_params_([t0.c1]), onetime_exprs_(nil), init_plan_idxs_(nil)
|
|
1 - output([t0.c1], [t0.c2], [t0.pk], [t0.a3]), filter(nil),
|
|
access([t0.c1], [t0.c2], [t0.pk], [t0.a3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([? + 99]), filter(nil),
|
|
conds([t4.c1 = t4.c2]), nl_params_(nil)
|
|
3 - output([t4.c1], [t4.c2], [? + 99]), filter(nil),
|
|
access([t4.c1], [t4.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(0,MIN ; 0,MAX),
|
|
range_cond([t4.c1 = ?])
|
|
4 - output([t4.c1], [t4.c2]), filter(nil)
|
|
5 - output([t4.c1], [t4.c2]), filter(nil),
|
|
access([t4.c1], [t4.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c2], [t4.c3], [t4.c1]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
|
|
|
*************** Case 167(end) **************
|
|
|
|
*************** Case 168 ***************
|
|
|
|
SQL: select * from t0 where c2 in (select t0.c1 > t4.c1 from t4 start with c1 = 0 connect by nocycle prior c1 = c2);
|
|
|
|
==============================================================
|
|
|ID|OPERATOR |NAME |EST. ROWS|COST |
|
|
--------------------------------------------------------------
|
|
|0 |SUBPLAN FILTER | |50 |275045|
|
|
|1 | TABLE SCAN |t0 |50 |66 |
|
|
|2 | NESTED-LOOP CONNECT BY| |10000 |4119 |
|
|
|3 | TABLE SCAN |t4 |100 |53 |
|
|
|4 | MATERIAL | |100 |53 |
|
|
|5 | TABLE SCAN |t4(idx_t4_c2_c3)|100 |53 |
|
|
==============================================================
|
|
|
|
Outputs & filters:
|
|
-------------------------------------
|
|
0 - output([t0.pk], [t0.c1], [t0.c2], [t0.a3]), filter([t0.c2 = ANY(subquery(1))]),
|
|
exec_params_([t0.c1]), onetime_exprs_(nil), init_plan_idxs_(nil)
|
|
1 - output([t0.c1], [t0.c2], [t0.pk], [t0.a3]), filter(nil),
|
|
access([t0.c1], [t0.c2], [t0.pk], [t0.a3]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t0.pk]), range(MIN ; MAX)always true
|
|
2 - output([? > t4.c1]), filter(nil),
|
|
conds([t4.c1 = t4.c2]), nl_params_(nil)
|
|
3 - output([t4.c1], [t4.c2], [? > t4.c1]), filter(nil),
|
|
access([t4.c1], [t4.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c1], [t4.c2]), range(0,MIN ; 0,MAX),
|
|
range_cond([t4.c1 = ?])
|
|
4 - output([t4.c1], [? > t4.c1], [t4.c2]), filter(nil)
|
|
5 - output([t4.c1], [t4.c2], [? > t4.c1]), filter(nil),
|
|
access([t4.c1], [t4.c2]), partitions(p0),
|
|
is_index_back=false,
|
|
range_key([t4.c2], [t4.c3], [t4.c1]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
|
|
|
*************** Case 168(end) **************
|
|
|