• R/O
  • HTTP
  • SSH
  • HTTPS

pg_hint_plan: コミット

firtst release


コミットメタ情報

リビジョン3fb05c9aad1a66fa3bf07edc301e0fb6f0328af6 (tree)
日時2018-12-05 17:31:27
作者Kyotaro Horiguchi <horiguchi.kyotaro@lab....>
コミッターKyotaro Horiguchi

ログメッセージ

Adjust regression test

Some regression test items need adjustment due to change of server
behavior. The way the regression test ignores unstable portions of
EXPLAIN output is changed along with that.

変更サマリ

差分

--- a/expected/init.out
+++ b/expected/init.out
@@ -159,8 +159,9 @@ SELECT name, setting, category
159159 OR name = 'client_min_messages'
160160 ORDER BY category, name;
161161 SELECT * FROM settings;
162- name | setting | category
163---------------------------------+-----------+---------------------------------------------
162+ name | setting | category
163+--------------------------------+-----------+-------------------------------------------------
164+ client_min_messages | notice | Client Connection Defaults / Statement Behavior
164165 geqo | on | Query Tuning / Genetic Query Optimizer
165166 geqo_effort | 5 | Query Tuning / Genetic Query Optimizer
166167 geqo_generations | 0 | Query Tuning / Genetic Query Optimizer
@@ -173,8 +174,9 @@ SELECT * FROM settings;
173174 default_statistics_target | 100 | Query Tuning / Other Planner Options
174175 force_parallel_mode | off | Query Tuning / Other Planner Options
175176 from_collapse_limit | 8 | Query Tuning / Other Planner Options
176- jit | off | Query Tuning / Other Planner Options
177+ jit | on | Query Tuning / Other Planner Options
177178 join_collapse_limit | 8 | Query Tuning / Other Planner Options
179+ plan_cache_mode | auto | Query Tuning / Other Planner Options
178180 cpu_index_tuple_cost | 0.005 | Query Tuning / Planner Cost Constants
179181 cpu_operator_cost | 0.0025 | Query Tuning / Planner Cost Constants
180182 cpu_tuple_cost | 0.01 | Query Tuning / Planner Cost Constants
@@ -205,7 +207,6 @@ SELECT * FROM settings;
205207 enable_seqscan | on | Query Tuning / Planner Method Configuration
206208 enable_sort | on | Query Tuning / Planner Method Configuration
207209 enable_tidscan | on | Query Tuning / Planner Method Configuration
208- client_min_messages | notice | Reporting and Logging / When to Log
209-(45 rows)
210+(46 rows)
210211
211212 ANALYZE;
--- a/expected/pg_hint_plan.out
+++ b/expected/pg_hint_plan.out
@@ -8748,11 +8748,10 @@ EXPLAIN SELECT * FROM t1 JOIN t2 ON (t1.id = t2.id);
87488748 \! sql/maskout.sh results/pg_hint_plan.tmpout
87498749 QUERY PLAN
87508750 ------------------------------------------------------------------------------
8751- Merge Join (cost=xxx rows=1000 width=xxx)
8751+ Merge Join (cost=xxx..xxx rows=1000 width=xxx)
87528752 Merge Cond: (t1.id = t2.id)
8753- -> Index Scan using t1_pkey on t1 (cost=xxx rows=10000 width=xxx)
8754- -> Index Scan using t2_pkey on t2 (cost=xxx rows=1000 width=xxx)
8755-(4 rows)
8753+ -> Index Scan using t1_pkey on t1 (cost=xxx..xxx rows=10000 width=xxx)
8754+ -> Index Scan using t2_pkey on t2 (cost=xxx..xxx rows=1000 width=xxx)
87568755
87578756 \o results/pg_hint_plan.tmpout
87588757 /*+ Rows(t1 t2 #99) */
@@ -8768,11 +8767,10 @@ error hint:
87688767 \! sql/maskout.sh results/pg_hint_plan.tmpout
87698768 QUERY PLAN
87708769 ------------------------------------------------------------------------------
8771- Merge Join (cost=xxx rows=99 width=xxx)
8770+ Merge Join (cost=xxx..xxx rows=99 width=xxx)
87728771 Merge Cond: (t1.id = t2.id)
8773- -> Index Scan using t1_pkey on t1 (cost=xxx rows=10000 width=xxx)
8774- -> Index Scan using t2_pkey on t2 (cost=xxx rows=1000 width=xxx)
8775-(4 rows)
8772+ -> Index Scan using t1_pkey on t1 (cost=xxx..xxx rows=10000 width=xxx)
8773+ -> Index Scan using t2_pkey on t2 (cost=xxx..xxx rows=1000 width=xxx)
87768774
87778775 \o results/pg_hint_plan.tmpout
87788776 /*+ Rows(t1 t2 +99) */
@@ -8788,11 +8786,10 @@ error hint:
87888786 \! sql/maskout.sh results/pg_hint_plan.tmpout
87898787 QUERY PLAN
87908788 ------------------------------------------------------------------------------
8791- Merge Join (cost=xxx rows=1099 width=xxx)
8789+ Merge Join (cost=xxx..xxx rows=1099 width=xxx)
87928790 Merge Cond: (t1.id = t2.id)
8793- -> Index Scan using t1_pkey on t1 (cost=xxx rows=10000 width=xxx)
8794- -> Index Scan using t2_pkey on t2 (cost=xxx rows=1000 width=xxx)
8795-(4 rows)
8791+ -> Index Scan using t1_pkey on t1 (cost=xxx..xxx rows=10000 width=xxx)
8792+ -> Index Scan using t2_pkey on t2 (cost=xxx..xxx rows=1000 width=xxx)
87968793
87978794 \o results/pg_hint_plan.tmpout
87988795 /*+ Rows(t1 t2 -99) */
@@ -8808,11 +8805,10 @@ error hint:
88088805 \! sql/maskout.sh results/pg_hint_plan.tmpout
88098806 QUERY PLAN
88108807 ------------------------------------------------------------------------------
8811- Merge Join (cost=xxx rows=901 width=xxx)
8808+ Merge Join (cost=xxx..xxx rows=901 width=xxx)
88128809 Merge Cond: (t1.id = t2.id)
8813- -> Index Scan using t1_pkey on t1 (cost=xxx rows=10000 width=xxx)
8814- -> Index Scan using t2_pkey on t2 (cost=xxx rows=1000 width=xxx)
8815-(4 rows)
8810+ -> Index Scan using t1_pkey on t1 (cost=xxx..xxx rows=10000 width=xxx)
8811+ -> Index Scan using t2_pkey on t2 (cost=xxx..xxx rows=1000 width=xxx)
88168812
88178813 \o results/pg_hint_plan.tmpout
88188814 /*+ Rows(t1 t2 *99) */
@@ -8828,11 +8824,10 @@ error hint:
88288824 \! sql/maskout.sh results/pg_hint_plan.tmpout
88298825 QUERY PLAN
88308826 ------------------------------------------------------------------------------
8831- Merge Join (cost=xxx rows=99000 width=xxx)
8827+ Merge Join (cost=xxx..xxx rows=99000 width=xxx)
88328828 Merge Cond: (t1.id = t2.id)
8833- -> Index Scan using t1_pkey on t1 (cost=xxx rows=10000 width=xxx)
8834- -> Index Scan using t2_pkey on t2 (cost=xxx rows=1000 width=xxx)
8835-(4 rows)
8829+ -> Index Scan using t1_pkey on t1 (cost=xxx..xxx rows=10000 width=xxx)
8830+ -> Index Scan using t2_pkey on t2 (cost=xxx..xxx rows=1000 width=xxx)
88368831
88378832 \o results/pg_hint_plan.tmpout
88388833 /*+ Rows(t1 t2 *0.01) */
@@ -8848,11 +8843,10 @@ error hint:
88488843 \! sql/maskout.sh results/pg_hint_plan.tmpout
88498844 QUERY PLAN
88508845 ------------------------------------------------------------------------------
8851- Merge Join (cost=xxx rows=10 width=xxx)
8846+ Merge Join (cost=xxx..xxx rows=10 width=xxx)
88528847 Merge Cond: (t1.id = t2.id)
8853- -> Index Scan using t1_pkey on t1 (cost=xxx rows=10000 width=xxx)
8854- -> Index Scan using t2_pkey on t2 (cost=xxx rows=1000 width=xxx)
8855-(4 rows)
8848+ -> Index Scan using t1_pkey on t1 (cost=xxx..xxx rows=10000 width=xxx)
8849+ -> Index Scan using t2_pkey on t2 (cost=xxx..xxx rows=1000 width=xxx)
88568850
88578851 \o results/pg_hint_plan.tmpout
88588852 /*+ Rows(t1 t2 #aa) */
@@ -8870,11 +8864,10 @@ Rows(t1 t2 #aa)
88708864 \! sql/maskout.sh results/pg_hint_plan.tmpout
88718865 QUERY PLAN
88728866 ------------------------------------------------------------------------------
8873- Merge Join (cost=xxx rows=1000 width=xxx)
8867+ Merge Join (cost=xxx..xxx rows=1000 width=xxx)
88748868 Merge Cond: (t1.id = t2.id)
8875- -> Index Scan using t1_pkey on t1 (cost=xxx rows=10000 width=xxx)
8876- -> Index Scan using t2_pkey on t2 (cost=xxx rows=1000 width=xxx)
8877-(4 rows)
8869+ -> Index Scan using t1_pkey on t1 (cost=xxx..xxx rows=10000 width=xxx)
8870+ -> Index Scan using t2_pkey on t2 (cost=xxx..xxx rows=1000 width=xxx)
88788871
88798872 \o results/pg_hint_plan.tmpout
88808873 /*+ Rows(t1 t2 /99) */
@@ -8892,11 +8885,10 @@ Rows(t1 t2 /99)
88928885 \! sql/maskout.sh results/pg_hint_plan.tmpout
88938886 QUERY PLAN
88948887 ------------------------------------------------------------------------------
8895- Merge Join (cost=xxx rows=1000 width=xxx)
8888+ Merge Join (cost=xxx..xxx rows=1000 width=xxx)
88968889 Merge Cond: (t1.id = t2.id)
8897- -> Index Scan using t1_pkey on t1 (cost=xxx rows=10000 width=xxx)
8898- -> Index Scan using t2_pkey on t2 (cost=xxx rows=1000 width=xxx)
8899-(4 rows)
8890+ -> Index Scan using t1_pkey on t1 (cost=xxx..xxx rows=10000 width=xxx)
8891+ -> Index Scan using t2_pkey on t2 (cost=xxx..xxx rows=1000 width=xxx)
89008892
89018893 -- round up to 1
89028894 \o results/pg_hint_plan.tmpout
@@ -8914,11 +8906,10 @@ error hint:
89148906 \! sql/maskout.sh results/pg_hint_plan.tmpout
89158907 QUERY PLAN
89168908 ------------------------------------------------------------------------------
8917- Merge Join (cost=xxx rows=1 width=xxx)
8909+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
89188910 Merge Cond: (t1.id = t2.id)
8919- -> Index Scan using t1_pkey on t1 (cost=xxx rows=10000 width=xxx)
8920- -> Index Scan using t2_pkey on t2 (cost=xxx rows=1000 width=xxx)
8921-(4 rows)
8911+ -> Index Scan using t1_pkey on t1 (cost=xxx..xxx rows=10000 width=xxx)
8912+ -> Index Scan using t2_pkey on t2 (cost=xxx..xxx rows=1000 width=xxx)
89228913
89238914 -- complex join tree
89248915 \o results/pg_hint_plan.tmpout
@@ -8927,16 +8918,15 @@ EXPLAIN SELECT * FROM t1 JOIN t2 ON (t1.id = t2.id) JOIN t3 ON (t3.id = t2.id);
89278918 \! sql/maskout.sh results/pg_hint_plan.tmpout
89288919 QUERY PLAN
89298920 ------------------------------------------------------------------------------------
8930- Merge Join (cost=xxx rows=10 width=xxx)
8921+ Merge Join (cost=xxx..xxx rows=10 width=xxx)
89318922 Merge Cond: (t1.id = t3.id)
8932- -> Merge Join (cost=xxx rows=1000 width=xxx)
8923+ -> Merge Join (cost=xxx..xxx rows=1000 width=xxx)
89338924 Merge Cond: (t1.id = t2.id)
8934- -> Index Scan using t1_pkey on t1 (cost=xxx rows=10000 width=xxx)
8935- -> Index Scan using t2_pkey on t2 (cost=xxx rows=1000 width=xxx)
8936- -> Sort (cost=xxx rows=100 width=xxx)
8925+ -> Index Scan using t1_pkey on t1 (cost=xxx..xxx rows=10000 width=xxx)
8926+ -> Index Scan using t2_pkey on t2 (cost=xxx..xxx rows=1000 width=xxx)
8927+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
89378928 Sort Key: t3.id
8938- -> Seq Scan on t3 (cost=xxx rows=100 width=xxx)
8939-(9 rows)
8929+ -> Seq Scan on t3 (cost=xxx..xxx rows=100 width=xxx)
89408930
89418931 \o results/pg_hint_plan.tmpout
89428932 /*+ Rows(t1 t2 #22) */
@@ -8952,16 +8942,15 @@ error hint:
89528942 \! sql/maskout.sh results/pg_hint_plan.tmpout
89538943 QUERY PLAN
89548944 ------------------------------------------------------------------------------------
8955- Merge Join (cost=xxx rows=1 width=xxx)
8945+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
89568946 Merge Cond: (t1.id = t3.id)
8957- -> Merge Join (cost=xxx rows=22 width=xxx)
8947+ -> Merge Join (cost=xxx..xxx rows=22 width=xxx)
89588948 Merge Cond: (t1.id = t2.id)
8959- -> Index Scan using t1_pkey on t1 (cost=xxx rows=10000 width=xxx)
8960- -> Index Scan using t2_pkey on t2 (cost=xxx rows=1000 width=xxx)
8961- -> Sort (cost=xxx rows=100 width=xxx)
8949+ -> Index Scan using t1_pkey on t1 (cost=xxx..xxx rows=10000 width=xxx)
8950+ -> Index Scan using t2_pkey on t2 (cost=xxx..xxx rows=1000 width=xxx)
8951+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
89628952 Sort Key: t3.id
8963- -> Seq Scan on t3 (cost=xxx rows=100 width=xxx)
8964-(9 rows)
8953+ -> Seq Scan on t3 (cost=xxx..xxx rows=100 width=xxx)
89658954
89668955 \o results/pg_hint_plan.tmpout
89678956 /*+ Rows(t1 t3 *10) */
@@ -8978,16 +8967,15 @@ set max_parallel_workers_per_gather to DEFAULT;
89788967 \! sql/maskout.sh results/pg_hint_plan.tmpout
89798968 QUERY PLAN
89808969 ------------------------------------------------------------------------------------
8981- Merge Join (cost=xxx rows=100 width=xxx)
8970+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
89828971 Merge Cond: (t1.id = t3.id)
8983- -> Merge Join (cost=xxx rows=1000 width=xxx)
8972+ -> Merge Join (cost=xxx..xxx rows=1000 width=xxx)
89848973 Merge Cond: (t1.id = t2.id)
8985- -> Index Scan using t1_pkey on t1 (cost=xxx rows=10000 width=xxx)
8986- -> Index Scan using t2_pkey on t2 (cost=xxx rows=1000 width=xxx)
8987- -> Sort (cost=xxx rows=100 width=xxx)
8974+ -> Index Scan using t1_pkey on t1 (cost=xxx..xxx rows=10000 width=xxx)
8975+ -> Index Scan using t2_pkey on t2 (cost=xxx..xxx rows=1000 width=xxx)
8976+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
89888977 Sort Key: t3.id
8989- -> Seq Scan on t3 (cost=xxx rows=100 width=xxx)
8990-(9 rows)
8978+ -> Seq Scan on t3 (cost=xxx..xxx rows=100 width=xxx)
89918979
89928980 \! rm results/pg_hint_plan.tmpout
89938981 -- hint error level
--- a/expected/ut-A.out
+++ b/expected/ut-A.out
@@ -2014,8 +2014,10 @@ SHOW pg_hint_plan.parse_messages;
20142014 /*+Set*/SELECT 1;
20152015 ERROR: pg_hint_plan: hint syntax error at or near ""
20162016 DETAIL: Opening parenthesis is necessary.
2017-SET client_min_messages TO fatal;
2017+SET client_min_messages TO error;
20182018 /*+Set*/SELECT 1;
2019+ERROR: pg_hint_plan: hint syntax error at or near ""
2020+DETAIL: Opening parenthesis is necessary.
20192021 -- No. A-8-4-11
20202022 RESET client_min_messages;
20212023 SET pg_hint_plan.parse_messages TO DEFAULT;
@@ -3226,6 +3228,7 @@ NestLoop(t1 t1)
32263228 SELECT name, setting FROM settings;
32273229 name | setting
32283230 --------------------------------+-----------
3231+ client_min_messages | log
32293232 geqo | on
32303233 geqo_effort | 5
32313234 geqo_generations | 0
@@ -3238,8 +3241,9 @@ SELECT name, setting FROM settings;
32383241 default_statistics_target | 100
32393242 force_parallel_mode | off
32403243 from_collapse_limit | 8
3241- jit | off
3244+ jit | on
32423245 join_collapse_limit | 8
3246+ plan_cache_mode | auto
32433247 cpu_index_tuple_cost | 0.005
32443248 cpu_operator_cost | 0.0025
32453249 cpu_tuple_cost | 0.01
@@ -3270,8 +3274,7 @@ SELECT name, setting FROM settings;
32703274 enable_seqscan | on
32713275 enable_sort | on
32723276 enable_tidscan | on
3273- client_min_messages | log
3274-(45 rows)
3277+(46 rows)
32753278
32763279 SET pg_hint_plan.parse_messages TO error;
32773280 /*+Set(enable_seqscan off)Set(geqo_threshold 100)SeqScan(t1)MergeJoin(t1 t2)NestLoop(t1 t1)*/
@@ -3281,6 +3284,7 @@ DETAIL: Relation name "t1" is duplicated.
32813284 SELECT name, setting FROM settings;
32823285 name | setting
32833286 --------------------------------+-----------
3287+ client_min_messages | log
32843288 geqo | on
32853289 geqo_effort | 5
32863290 geqo_generations | 0
@@ -3293,8 +3297,9 @@ SELECT name, setting FROM settings;
32933297 default_statistics_target | 100
32943298 force_parallel_mode | off
32953299 from_collapse_limit | 8
3296- jit | off
3300+ jit | on
32973301 join_collapse_limit | 8
3302+ plan_cache_mode | auto
32983303 cpu_index_tuple_cost | 0.005
32993304 cpu_operator_cost | 0.0025
33003305 cpu_tuple_cost | 0.01
@@ -3325,8 +3330,7 @@ SELECT name, setting FROM settings;
33253330 enable_seqscan | on
33263331 enable_sort | on
33273332 enable_tidscan | on
3328- client_min_messages | log
3329-(45 rows)
3333+(46 rows)
33303334
33313335 /*+Set(enable_seqscan off)Set(geqo_threshold 100)SeqScan(t1)MergeJoin(t1 t2)*/
33323336 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
@@ -3355,6 +3359,7 @@ error hint:
33553359 SELECT name, setting FROM settings;
33563360 name | setting
33573361 --------------------------------+-----------
3362+ client_min_messages | log
33583363 geqo | on
33593364 geqo_effort | 5
33603365 geqo_generations | 0
@@ -3367,8 +3372,9 @@ SELECT name, setting FROM settings;
33673372 default_statistics_target | 100
33683373 force_parallel_mode | off
33693374 from_collapse_limit | 8
3370- jit | off
3375+ jit | on
33713376 join_collapse_limit | 8
3377+ plan_cache_mode | auto
33723378 cpu_index_tuple_cost | 0.005
33733379 cpu_operator_cost | 0.0025
33743380 cpu_tuple_cost | 0.01
@@ -3399,8 +3405,7 @@ SELECT name, setting FROM settings;
33993405 enable_seqscan | on
34003406 enable_sort | on
34013407 enable_tidscan | on
3402- client_min_messages | log
3403-(45 rows)
3408+(46 rows)
34043409
34053410 SET pg_hint_plan.parse_messages TO error;
34063411 /*+Set(enable_seqscan off)Set(geqo_threshold 100)SeqScan(t1)MergeJoin(t1 t2)NestLoop(t1 t1)*/
@@ -3410,6 +3415,7 @@ DETAIL: Relation name "t1" is duplicated.
34103415 SELECT name, setting FROM settings;
34113416 name | setting
34123417 --------------------------------+-----------
3418+ client_min_messages | log
34133419 geqo | on
34143420 geqo_effort | 5
34153421 geqo_generations | 0
@@ -3422,8 +3428,9 @@ SELECT name, setting FROM settings;
34223428 default_statistics_target | 100
34233429 force_parallel_mode | off
34243430 from_collapse_limit | 8
3425- jit | off
3431+ jit | on
34263432 join_collapse_limit | 8
3433+ plan_cache_mode | auto
34273434 cpu_index_tuple_cost | 0.005
34283435 cpu_operator_cost | 0.0025
34293436 cpu_tuple_cost | 0.01
@@ -3454,8 +3461,7 @@ SELECT name, setting FROM settings;
34543461 enable_seqscan | on
34553462 enable_sort | on
34563463 enable_tidscan | on
3457- client_min_messages | log
3458-(45 rows)
3464+(46 rows)
34593465
34603466 EXPLAIN (COSTS false) EXECUTE p1;
34613467 QUERY PLAN
@@ -3473,6 +3479,7 @@ EXPLAIN (COSTS false) EXECUTE p1;
34733479 SELECT name, setting FROM settings;
34743480 name | setting
34753481 --------------------------------+-----------
3482+ client_min_messages | log
34763483 geqo | on
34773484 geqo_effort | 5
34783485 geqo_generations | 0
@@ -3485,8 +3492,9 @@ SELECT name, setting FROM settings;
34853492 default_statistics_target | 100
34863493 force_parallel_mode | off
34873494 from_collapse_limit | 8
3488- jit | off
3495+ jit | on
34893496 join_collapse_limit | 8
3497+ plan_cache_mode | auto
34903498 cpu_index_tuple_cost | 0.005
34913499 cpu_operator_cost | 0.0025
34923500 cpu_tuple_cost | 0.01
@@ -3517,8 +3525,7 @@ SELECT name, setting FROM settings;
35173525 enable_seqscan | on
35183526 enable_sort | on
35193527 enable_tidscan | on
3520- client_min_messages | log
3521-(45 rows)
3528+(46 rows)
35223529
35233530 SET pg_hint_plan.parse_messages TO error;
35243531 EXPLAIN (COSTS false) EXECUTE p2;
@@ -3559,6 +3566,7 @@ EXPLAIN (COSTS false) EXECUTE p1;
35593566 SELECT name, setting FROM settings;
35603567 name | setting
35613568 --------------------------------+-----------
3569+ client_min_messages | log
35623570 geqo | on
35633571 geqo_effort | 5
35643572 geqo_generations | 0
@@ -3571,8 +3579,9 @@ SELECT name, setting FROM settings;
35713579 default_statistics_target | 100
35723580 force_parallel_mode | off
35733581 from_collapse_limit | 8
3574- jit | off
3582+ jit | on
35753583 join_collapse_limit | 8
3584+ plan_cache_mode | auto
35763585 cpu_index_tuple_cost | 0.005
35773586 cpu_operator_cost | 0.0025
35783587 cpu_tuple_cost | 0.01
@@ -3603,14 +3612,14 @@ SELECT name, setting FROM settings;
36033612 enable_seqscan | on
36043613 enable_sort | on
36053614 enable_tidscan | on
3606- client_min_messages | log
3607-(45 rows)
3615+(46 rows)
36083616
36093617 -- No. A-12-1-4
36103618 -- No. A-12-2-4
36113619 SELECT name, setting FROM settings;
36123620 name | setting
36133621 --------------------------------+-----------
3622+ client_min_messages | log
36143623 geqo | on
36153624 geqo_effort | 5
36163625 geqo_generations | 0
@@ -3623,8 +3632,9 @@ SELECT name, setting FROM settings;
36233632 default_statistics_target | 100
36243633 force_parallel_mode | off
36253634 from_collapse_limit | 8
3626- jit | off
3635+ jit | on
36273636 join_collapse_limit | 8
3637+ plan_cache_mode | auto
36283638 cpu_index_tuple_cost | 0.005
36293639 cpu_operator_cost | 0.0025
36303640 cpu_tuple_cost | 0.01
@@ -3655,8 +3665,7 @@ SELECT name, setting FROM settings;
36553665 enable_seqscan | on
36563666 enable_sort | on
36573667 enable_tidscan | on
3658- client_min_messages | log
3659-(45 rows)
3668+(46 rows)
36603669
36613670 SET pg_hint_plan.parse_messages TO error;
36623671 EXPLAIN (COSTS false) EXECUTE p2;
@@ -3675,6 +3684,7 @@ EXPLAIN (COSTS false) EXECUTE p1;
36753684 SELECT name, setting FROM settings;
36763685 name | setting
36773686 --------------------------------+-----------
3687+ client_min_messages | log
36783688 geqo | on
36793689 geqo_effort | 5
36803690 geqo_generations | 0
@@ -3687,8 +3697,9 @@ SELECT name, setting FROM settings;
36873697 default_statistics_target | 100
36883698 force_parallel_mode | off
36893699 from_collapse_limit | 8
3690- jit | off
3700+ jit | on
36913701 join_collapse_limit | 8
3702+ plan_cache_mode | auto
36923703 cpu_index_tuple_cost | 0.005
36933704 cpu_operator_cost | 0.0025
36943705 cpu_tuple_cost | 0.01
@@ -3719,8 +3730,7 @@ SELECT name, setting FROM settings;
37193730 enable_seqscan | on
37203731 enable_sort | on
37213732 enable_tidscan | on
3722- client_min_messages | log
3723-(45 rows)
3733+(46 rows)
37243734
37253735 DEALLOCATE p1;
37263736 SET pg_hint_plan.parse_messages TO LOG;
@@ -3754,6 +3764,7 @@ EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
37543764 SELECT name, setting FROM settings;
37553765 name | setting
37563766 --------------------------------+-----------
3767+ client_min_messages | log
37573768 geqo | on
37583769 geqo_effort | 5
37593770 geqo_generations | 0
@@ -3766,8 +3777,9 @@ SELECT name, setting FROM settings;
37663777 default_statistics_target | 100
37673778 force_parallel_mode | off
37683779 from_collapse_limit | 8
3769- jit | off
3780+ jit | on
37703781 join_collapse_limit | 8
3782+ plan_cache_mode | auto
37713783 cpu_index_tuple_cost | 0.005
37723784 cpu_operator_cost | 0.0025
37733785 cpu_tuple_cost | 0.01
@@ -3798,8 +3810,7 @@ SELECT name, setting FROM settings;
37983810 enable_seqscan | on
37993811 enable_sort | on
38003812 enable_tidscan | on
3801- client_min_messages | log
3802-(45 rows)
3813+(46 rows)
38033814
38043815 /*+Set(enable_indexscan on)Set(geqo_threshold 100)IndexScan(t2)MergeJoin(t1 t2)Leading(t2 t1)*/
38053816 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
@@ -3825,6 +3836,7 @@ error hint:
38253836 SELECT name, setting FROM settings;
38263837 name | setting
38273838 --------------------------------+-----------
3839+ client_min_messages | log
38283840 geqo | on
38293841 geqo_effort | 5
38303842 geqo_generations | 0
@@ -3837,8 +3849,9 @@ SELECT name, setting FROM settings;
38373849 default_statistics_target | 100
38383850 force_parallel_mode | off
38393851 from_collapse_limit | 8
3840- jit | off
3852+ jit | on
38413853 join_collapse_limit | 8
3854+ plan_cache_mode | auto
38423855 cpu_index_tuple_cost | 0.005
38433856 cpu_operator_cost | 0.0025
38443857 cpu_tuple_cost | 0.01
@@ -3869,8 +3882,7 @@ SELECT name, setting FROM settings;
38693882 enable_seqscan | on
38703883 enable_sort | on
38713884 enable_tidscan | on
3872- client_min_messages | log
3873-(45 rows)
3885+(46 rows)
38743886
38753887 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
38763888 QUERY PLAN
@@ -3898,6 +3910,7 @@ EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
38983910 SELECT name, setting FROM settings;
38993911 name | setting
39003912 --------------------------------+-----------
3913+ client_min_messages | log
39013914 geqo | on
39023915 geqo_effort | 5
39033916 geqo_generations | 0
@@ -3910,8 +3923,9 @@ SELECT name, setting FROM settings;
39103923 default_statistics_target | 100
39113924 force_parallel_mode | off
39123925 from_collapse_limit | 8
3913- jit | off
3926+ jit | on
39143927 join_collapse_limit | 8
3928+ plan_cache_mode | auto
39153929 cpu_index_tuple_cost | 0.005
39163930 cpu_operator_cost | 0.0025
39173931 cpu_tuple_cost | 0.01
@@ -3942,8 +3956,7 @@ SELECT name, setting FROM settings;
39423956 enable_seqscan | on
39433957 enable_sort | on
39443958 enable_tidscan | on
3945- client_min_messages | log
3946-(45 rows)
3959+(46 rows)
39473960
39483961 BEGIN;
39493962 /*+Set(enable_indexscan on)Set(geqo_threshold 100)IndexScan(t2)MergeJoin(t1 t2)Leading(t2 t1)*/
@@ -3972,6 +3985,7 @@ BEGIN;
39723985 SELECT name, setting FROM settings;
39733986 name | setting
39743987 --------------------------------+-----------
3988+ client_min_messages | log
39753989 geqo | on
39763990 geqo_effort | 5
39773991 geqo_generations | 0
@@ -3984,8 +3998,9 @@ SELECT name, setting FROM settings;
39843998 default_statistics_target | 100
39853999 force_parallel_mode | off
39864000 from_collapse_limit | 8
3987- jit | off
4001+ jit | on
39884002 join_collapse_limit | 8
4003+ plan_cache_mode | auto
39894004 cpu_index_tuple_cost | 0.005
39904005 cpu_operator_cost | 0.0025
39914006 cpu_tuple_cost | 0.01
@@ -4016,8 +4031,7 @@ SELECT name, setting FROM settings;
40164031 enable_seqscan | on
40174032 enable_sort | on
40184033 enable_tidscan | on
4019- client_min_messages | log
4020-(45 rows)
4034+(46 rows)
40214035
40224036 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
40234037 QUERY PLAN
@@ -4046,6 +4060,7 @@ EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
40464060 SELECT name, setting FROM settings;
40474061 name | setting
40484062 --------------------------------+-----------
4063+ client_min_messages | log
40494064 geqo | on
40504065 geqo_effort | 5
40514066 geqo_generations | 0
@@ -4058,8 +4073,9 @@ SELECT name, setting FROM settings;
40584073 default_statistics_target | 100
40594074 force_parallel_mode | off
40604075 from_collapse_limit | 8
4061- jit | off
4076+ jit | on
40624077 join_collapse_limit | 8
4078+ plan_cache_mode | auto
40634079 cpu_index_tuple_cost | 0.005
40644080 cpu_operator_cost | 0.0025
40654081 cpu_tuple_cost | 0.01
@@ -4090,8 +4106,7 @@ SELECT name, setting FROM settings;
40904106 enable_seqscan | on
40914107 enable_sort | on
40924108 enable_tidscan | on
4093- client_min_messages | log
4094-(45 rows)
4109+(46 rows)
40954110
40964111 /*+Set(enable_indexscan on)Set(geqo_threshold 100)IndexScan(t2)MergeJoin(t1 t2)Leading(t2 t1)*/
40974112 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
@@ -4121,6 +4136,7 @@ LOAD 'pg_hint_plan';
41214136 SELECT name, setting FROM settings;
41224137 name | setting
41234138 --------------------------------+-----------
4139+ client_min_messages | notice
41244140 geqo | on
41254141 geqo_effort | 5
41264142 geqo_generations | 0
@@ -4133,8 +4149,9 @@ SELECT name, setting FROM settings;
41334149 default_statistics_target | 100
41344150 force_parallel_mode | off
41354151 from_collapse_limit | 8
4136- jit | off
4152+ jit | on
41374153 join_collapse_limit | 8
4154+ plan_cache_mode | auto
41384155 cpu_index_tuple_cost | 0.005
41394156 cpu_operator_cost | 0.0025
41404157 cpu_tuple_cost | 0.01
@@ -4165,8 +4182,7 @@ SELECT name, setting FROM settings;
41654182 enable_seqscan | on
41664183 enable_sort | on
41674184 enable_tidscan | on
4168- client_min_messages | notice
4169-(45 rows)
4185+(46 rows)
41704186
41714187 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
41724188 QUERY PLAN
--- a/expected/ut-J.out
+++ b/expected/ut-J.out
@@ -797,18 +797,17 @@ error hint:
797797 \! sql/maskout.sh results/ut-J.tmpout
798798 QUERY PLAN
799799 ---------------------------------------------------------------------------------------------
800- Nested Loop (cost=xxx rows=1 width=xxx)
800+ Nested Loop (cost={inf}..{inf} rows=1 width=xxx)
801801 InitPlan 1 (returns $1)
802- -> Aggregate (cost=xxx rows=1 width=xxx)
803- -> Nested Loop (cost=xxx rows=100 width=xxx)
804- -> Seq Scan on t2 st2 (cost=xxx rows=100 width=xxx)
805- -> Index Only Scan using t1_i1 on t1 st1 (cost=xxx rows=1 width=xxx)
802+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
803+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
804+ -> Seq Scan on t2 st2 (cost=xxx..xxx rows=100 width=xxx)
805+ -> Index Only Scan using t1_i1 on t1 st1 (cost=xxx..xxx rows=1 width=xxx)
806806 Index Cond: (c1 = st2.c1)
807- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
807+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
808808 Index Cond: (c1 = $1)
809- -> Seq Scan on t2 (cost=xxx rows=1 width=xxx)
809+ -> Seq Scan on t2 (cost=xxx..xxx rows=1 width=xxx)
810810 Filter: (c1 = $1)
811-(11 rows)
812811
813812 --
814813 -- There are cases where difference in the measured value and predicted value
@@ -4745,13 +4744,12 @@ error hint:
47454744
47464745 \o
47474746 \! sql/maskout.sh results/ut-J.tmpout
4748- QUERY PLAN
4749---------------------------------------------------------------------------
4750- Hash Full Join (cost=xxx rows=1000 width=xxx)
4747+ QUERY PLAN
4748+-------------------------------------------------------------------------------
4749+ Hash Full Join (cost={inf}..{inf} rows=1000 width=xxx)
47514750 Hash Cond: (t1.c1 = t2.c1)
4752- -> Seq Scan on t1 (cost=xxx rows=1000 width=xxx)
4753- -> Hash (cost=xxx rows=100 width=xxx)
4754- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4755-(5 rows)
4751+ -> Seq Scan on t1 (cost=xxx..xxx rows=1000 width=xxx)
4752+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
4753+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
47564754
47574755 \! rm results/ut-J.tmpout
--- a/expected/ut-R.out
+++ b/expected/ut-R.out
@@ -9,13 +9,12 @@ EXPLAIN SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
99 \! sql/maskout.sh results/ut-R.tmpout
1010 QUERY PLAN
1111 ---------------------------------------------------------------------------
12- Merge Join (cost=xxx rows=100 width=xxx)
12+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
1313 Merge Cond: (t1.c1 = t2.c1)
14- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
15- -> Sort (cost=xxx rows=100 width=xxx)
14+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
15+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
1616 Sort Key: t2.c1
17- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
18-(6 rows)
17+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
1918
2019 ----
2120 ---- No. R-1-1 specified pattern of the object name
@@ -35,13 +34,12 @@ error hint:
3534 \! sql/maskout.sh results/ut-R.tmpout
3635 QUERY PLAN
3736 ---------------------------------------------------------------------------
38- Merge Join (cost=xxx rows=1 width=xxx)
37+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
3938 Merge Cond: (t1.c1 = t2.c1)
40- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
41- -> Sort (cost=xxx rows=100 width=xxx)
39+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
40+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
4241 Sort Key: t2.c1
43- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
44-(6 rows)
42+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
4543
4644 -- No. R-1-1-2
4745 \o results/ut-R.tmpout
@@ -58,13 +56,12 @@ error hint:
5856 \! sql/maskout.sh results/ut-R.tmpout
5957 QUERY PLAN
6058 -------------------------------------------------------------------------------
61- Merge Join (cost=xxx rows=100 width=xxx)
59+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
6260 Merge Cond: (t_1.c1 = t_2.c1)
63- -> Index Scan using t1_i1 on t1 t_1 (cost=xxx rows=1000 width=xxx)
64- -> Sort (cost=xxx rows=100 width=xxx)
61+ -> Index Scan using t1_i1 on t1 t_1 (cost=xxx..xxx rows=1000 width=xxx)
62+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
6563 Sort Key: t_2.c1
66- -> Seq Scan on t2 t_2 (cost=xxx rows=100 width=xxx)
67-(6 rows)
64+ -> Seq Scan on t2 t_2 (cost=xxx..xxx rows=100 width=xxx)
6865
6966 -- No. R-1-1-3
7067 \o results/ut-R.tmpout
@@ -81,13 +78,12 @@ error hint:
8178 \! sql/maskout.sh results/ut-R.tmpout
8279 QUERY PLAN
8380 -------------------------------------------------------------------------------
84- Merge Join (cost=xxx rows=1 width=xxx)
81+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
8582 Merge Cond: (t_1.c1 = t_2.c1)
86- -> Index Scan using t1_i1 on t1 t_1 (cost=xxx rows=1000 width=xxx)
87- -> Sort (cost=xxx rows=100 width=xxx)
83+ -> Index Scan using t1_i1 on t1 t_1 (cost=xxx..xxx rows=1000 width=xxx)
84+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
8885 Sort Key: t_2.c1
89- -> Seq Scan on t2 t_2 (cost=xxx rows=100 width=xxx)
90-(6 rows)
86+ -> Seq Scan on t2 t_2 (cost=xxx..xxx rows=100 width=xxx)
9187
9288 ----
9389 ---- No. R-1-2 specified schema name in the hint option
@@ -107,13 +103,12 @@ error hint:
107103 \! sql/maskout.sh results/ut-R.tmpout
108104 QUERY PLAN
109105 ---------------------------------------------------------------------------
110- Merge Join (cost=xxx rows=1 width=xxx)
106+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
111107 Merge Cond: (t1.c1 = t2.c1)
112- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
113- -> Sort (cost=xxx rows=100 width=xxx)
108+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
109+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
114110 Sort Key: t2.c1
115- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
116-(6 rows)
111+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
117112
118113 -- No. R-1-2-2
119114 \o results/ut-R.tmpout
@@ -130,13 +125,12 @@ error hint:
130125 \! sql/maskout.sh results/ut-R.tmpout
131126 QUERY PLAN
132127 ---------------------------------------------------------------------------
133- Merge Join (cost=xxx rows=100 width=xxx)
128+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
134129 Merge Cond: (t1.c1 = t2.c1)
135- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
136- -> Sort (cost=xxx rows=100 width=xxx)
130+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
131+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
137132 Sort Key: t2.c1
138- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
139-(6 rows)
133+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
140134
141135 ----
142136 ---- No. R-1-3 table doesn't exist in the hint option
@@ -156,13 +150,12 @@ error hint:
156150 \! sql/maskout.sh results/ut-R.tmpout
157151 QUERY PLAN
158152 ---------------------------------------------------------------------------
159- Merge Join (cost=xxx rows=1 width=xxx)
153+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
160154 Merge Cond: (t1.c1 = t2.c1)
161- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
162- -> Sort (cost=xxx rows=100 width=xxx)
155+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
156+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
163157 Sort Key: t2.c1
164- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
165-(6 rows)
158+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
166159
167160 -- No. R-1-3-2
168161 \o results/ut-R.tmpout
@@ -179,13 +172,12 @@ error hint:
179172 \! sql/maskout.sh results/ut-R.tmpout
180173 QUERY PLAN
181174 ---------------------------------------------------------------------------
182- Merge Join (cost=xxx rows=100 width=xxx)
175+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
183176 Merge Cond: (t1.c1 = t2.c1)
184- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
185- -> Sort (cost=xxx rows=100 width=xxx)
177+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
178+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
186179 Sort Key: t2.c1
187- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
188-(6 rows)
180+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
189181
190182 ----
191183 ---- No. R-1-4 conflict table name
@@ -205,13 +197,12 @@ error hint:
205197 \! sql/maskout.sh results/ut-R.tmpout
206198 QUERY PLAN
207199 ---------------------------------------------------------------------------
208- Merge Join (cost=xxx rows=1 width=xxx)
200+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
209201 Merge Cond: (t1.c1 = t2.c1)
210- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
211- -> Sort (cost=xxx rows=100 width=xxx)
202+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
203+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
212204 Sort Key: t2.c1
213- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
214-(6 rows)
205+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
215206
216207 -- No. R-1-4-2
217208 \o results/ut-R.tmpout
@@ -220,13 +211,12 @@ EXPLAIN SELECT * FROM s1.t1, s2.t1 WHERE s1.t1.c1 = s2.t1.c1;
220211 \! sql/maskout.sh results/ut-R.tmpout
221212 QUERY PLAN
222213 ---------------------------------------------------------------------------
223- Merge Join (cost=xxx rows=100 width=xxx)
214+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
224215 Merge Cond: (t1.c1 = t1_1.c1)
225- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
226- -> Sort (cost=xxx rows=100 width=xxx)
216+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
217+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
227218 Sort Key: t1_1.c1
228- -> Seq Scan on t1 t1_1 (cost=xxx rows=100 width=xxx)
229-(6 rows)
219+ -> Seq Scan on t1 t1_1 (cost=xxx..xxx rows=100 width=xxx)
230220
231221 \o results/ut-R.tmpout
232222 /*+Rows(t1 t1 #1)*/
@@ -244,13 +234,12 @@ Rows(t1 t1 #1)
244234 \! sql/maskout.sh results/ut-R.tmpout
245235 QUERY PLAN
246236 ---------------------------------------------------------------------------
247- Merge Join (cost=xxx rows=100 width=xxx)
237+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
248238 Merge Cond: (t1.c1 = t1_1.c1)
249- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
250- -> Sort (cost=xxx rows=100 width=xxx)
239+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
240+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
251241 Sort Key: t1_1.c1
252- -> Seq Scan on t1 t1_1 (cost=xxx rows=100 width=xxx)
253-(6 rows)
242+ -> Seq Scan on t1 t1_1 (cost=xxx..xxx rows=100 width=xxx)
254243
255244 \o results/ut-R.tmpout
256245 /*+Rows(s1.t1 s2.t1 #1)*/
@@ -266,13 +255,12 @@ error hint:
266255 \! sql/maskout.sh results/ut-R.tmpout
267256 QUERY PLAN
268257 ---------------------------------------------------------------------------
269- Merge Join (cost=xxx rows=100 width=xxx)
258+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
270259 Merge Cond: (t1.c1 = t1_1.c1)
271- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
272- -> Sort (cost=xxx rows=100 width=xxx)
260+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
261+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
273262 Sort Key: t1_1.c1
274- -> Seq Scan on t1 t1_1 (cost=xxx rows=100 width=xxx)
275-(6 rows)
263+ -> Seq Scan on t1 t1_1 (cost=xxx..xxx rows=100 width=xxx)
276264
277265 \o results/ut-R.tmpout
278266 EXPLAIN SELECT * FROM s1.t1, s2.t1 s2t1 WHERE s1.t1.c1 = s2t1.c1;
@@ -280,13 +268,12 @@ EXPLAIN SELECT * FROM s1.t1, s2.t1 s2t1 WHERE s1.t1.c1 = s2t1.c1;
280268 \! sql/maskout.sh results/ut-R.tmpout
281269 QUERY PLAN
282270 ---------------------------------------------------------------------------
283- Merge Join (cost=xxx rows=100 width=xxx)
271+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
284272 Merge Cond: (t1.c1 = s2t1.c1)
285- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
286- -> Sort (cost=xxx rows=100 width=xxx)
273+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
274+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
287275 Sort Key: s2t1.c1
288- -> Seq Scan on t1 s2t1 (cost=xxx rows=100 width=xxx)
289-(6 rows)
276+ -> Seq Scan on t1 s2t1 (cost=xxx..xxx rows=100 width=xxx)
290277
291278 \o results/ut-R.tmpout
292279 /*+Rows(t1 s2t1 #1)*/
@@ -302,13 +289,12 @@ error hint:
302289 \! sql/maskout.sh results/ut-R.tmpout
303290 QUERY PLAN
304291 ---------------------------------------------------------------------------
305- Merge Join (cost=xxx rows=1 width=xxx)
292+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
306293 Merge Cond: (t1.c1 = s2t1.c1)
307- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
308- -> Sort (cost=xxx rows=100 width=xxx)
294+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
295+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
309296 Sort Key: s2t1.c1
310- -> Seq Scan on t1 s2t1 (cost=xxx rows=100 width=xxx)
311-(6 rows)
297+ -> Seq Scan on t1 s2t1 (cost=xxx..xxx rows=100 width=xxx)
312298
313299 -- No. R-1-4-3
314300 \o results/ut-R.tmpout
@@ -317,21 +303,20 @@ EXPLAIN SELECT *, (SELECT max(t1.c1) FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1) FROM
317303 \! sql/maskout.sh results/ut-R.tmpout
318304 QUERY PLAN
319305 --------------------------------------------------------------------------------------------------
320- Merge Join (cost=xxx rows=100 width=xxx)
306+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
321307 Merge Cond: (t1.c1 = t2.c1)
322308 InitPlan 1 (returns $0)
323- -> Aggregate (cost=xxx rows=1 width=xxx)
324- -> Merge Join (cost=xxx rows=100 width=xxx)
309+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
310+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
325311 Merge Cond: (t1_1.c1 = t2_1.c1)
326- -> Index Only Scan using t1_i1 on t1 t1_1 (cost=xxx rows=1000 width=xxx)
327- -> Sort (cost=xxx rows=100 width=xxx)
312+ -> Index Only Scan using t1_i1 on t1 t1_1 (cost=xxx..xxx rows=1000 width=xxx)
313+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
328314 Sort Key: t2_1.c1
329- -> Seq Scan on t2 t2_1 (cost=xxx rows=100 width=xxx)
330- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
331- -> Sort (cost=xxx rows=100 width=xxx)
315+ -> Seq Scan on t2 t2_1 (cost=xxx..xxx rows=100 width=xxx)
316+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
317+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
332318 Sort Key: t2.c1
333- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
334-(14 rows)
319+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
335320
336321 \o results/ut-R.tmpout
337322 /*+Rows(t1 t2 #1)*/
@@ -347,21 +332,20 @@ error hint:
347332 \! sql/maskout.sh results/ut-R.tmpout
348333 QUERY PLAN
349334 --------------------------------------------------------------------------------------------------
350- Merge Join (cost=xxx rows=100 width=xxx)
335+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
351336 Merge Cond: (t1.c1 = t2.c1)
352337 InitPlan 1 (returns $0)
353- -> Aggregate (cost=xxx rows=1 width=xxx)
354- -> Merge Join (cost=xxx rows=1 width=xxx)
338+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
339+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
355340 Merge Cond: (t1_1.c1 = t2_1.c1)
356- -> Index Only Scan using t1_i1 on t1 t1_1 (cost=xxx rows=1000 width=xxx)
357- -> Sort (cost=xxx rows=100 width=xxx)
341+ -> Index Only Scan using t1_i1 on t1 t1_1 (cost=xxx..xxx rows=1000 width=xxx)
342+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
358343 Sort Key: t2_1.c1
359- -> Seq Scan on t2 t2_1 (cost=xxx rows=100 width=xxx)
360- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
361- -> Sort (cost=xxx rows=100 width=xxx)
344+ -> Seq Scan on t2 t2_1 (cost=xxx..xxx rows=100 width=xxx)
345+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
346+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
362347 Sort Key: t2.c1
363- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
364-(14 rows)
348+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
365349
366350 \o results/ut-R.tmpout
367351 /*+Rows(st1 st2 #1)Rows(t1 t2 #1)*/
@@ -378,21 +362,20 @@ error hint:
378362 \! sql/maskout.sh results/ut-R.tmpout
379363 QUERY PLAN
380364 -------------------------------------------------------------------------------------------------
381- Merge Join (cost=xxx rows=1 width=xxx)
365+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
382366 Merge Cond: (t1.c1 = t2.c1)
383367 InitPlan 1 (returns $0)
384- -> Aggregate (cost=xxx rows=1 width=xxx)
385- -> Merge Join (cost=xxx rows=1 width=xxx)
368+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
369+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
386370 Merge Cond: (st1.c1 = st2.c1)
387- -> Index Only Scan using t1_i1 on t1 st1 (cost=xxx rows=1000 width=xxx)
388- -> Sort (cost=xxx rows=100 width=xxx)
371+ -> Index Only Scan using t1_i1 on t1 st1 (cost=xxx..xxx rows=1000 width=xxx)
372+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
389373 Sort Key: st2.c1
390- -> Seq Scan on t2 st2 (cost=xxx rows=100 width=xxx)
391- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
392- -> Sort (cost=xxx rows=100 width=xxx)
374+ -> Seq Scan on t2 st2 (cost=xxx..xxx rows=100 width=xxx)
375+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
376+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
393377 Sort Key: t2.c1
394- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
395-(14 rows)
378+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
396379
397380 ----
398381 ---- No. R-1-5 conflict table name
@@ -412,13 +395,12 @@ error hint:
412395 \! sql/maskout.sh results/ut-R.tmpout
413396 QUERY PLAN
414397 ---------------------------------------------------------------------------
415- Merge Join (cost=xxx rows=1 width=xxx)
398+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
416399 Merge Cond: (t1.c1 = t2.c1)
417- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
418- -> Sort (cost=xxx rows=100 width=xxx)
400+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
401+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
419402 Sort Key: t2.c1
420- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
421-(6 rows)
403+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
422404
423405 -- No. R-1-5-2
424406 \o results/ut-R.tmpout
@@ -437,13 +419,12 @@ Rows(t1 t1 #1)
437419 \! sql/maskout.sh results/ut-R.tmpout
438420 QUERY PLAN
439421 ---------------------------------------------------------------------------
440- Merge Join (cost=xxx rows=100 width=xxx)
422+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
441423 Merge Cond: (t1.c1 = t2.c1)
442- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
443- -> Sort (cost=xxx rows=100 width=xxx)
424+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
425+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
444426 Sort Key: t2.c1
445- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
446-(6 rows)
427+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
447428
448429 -- No. R-1-5-3
449430 \o results/ut-R.tmpout
@@ -455,13 +436,12 @@ DETAIL: Unrecognized hint keyword "".
455436 \! sql/maskout.sh results/ut-R.tmpout
456437 QUERY PLAN
457438 ---------------------------------------------------------------------------
458- Merge Join (cost=xxx rows=100 width=xxx)
439+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
459440 Merge Cond: (t1.c1 = t2.c1)
460- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
461- -> Sort (cost=xxx rows=100 width=xxx)
441+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
442+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
462443 Sort Key: t2.c1
463- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
464-(6 rows)
444+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
465445
466446 \o results/ut-R.tmpout
467447 EXPLAIN SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
@@ -469,16 +449,15 @@ EXPLAIN SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
469449 \! sql/maskout.sh results/ut-R.tmpout
470450 QUERY PLAN
471451 ---------------------------------------------------------------------------------
472- Merge Join (cost=xxx rows=100 width=xxx)
452+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
473453 Merge Cond: (t1.c1 = t2.c1)
474- -> Merge Join (cost=xxx rows=1000 width=xxx)
454+ -> Merge Join (cost=xxx..xxx rows=1000 width=xxx)
475455 Merge Cond: (t1.c1 = t3.c1)
476- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
477- -> Index Scan using t3_i1 on t3 (cost=xxx rows=1130 width=xxx)
478- -> Sort (cost=xxx rows=100 width=xxx)
456+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
457+ -> Index Scan using t3_i1 on t3 (cost=xxx..xxx rows=1130 width=xxx)
458+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
479459 Sort Key: t2.c1
480- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
481-(9 rows)
460+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
482461
483462 \o results/ut-R.tmpout
484463 /*+(t1 t2 t1 t2)*/
@@ -489,19 +468,18 @@ DETAIL: Unrecognized hint keyword "".
489468 \! sql/maskout.sh results/ut-R.tmpout
490469 QUERY PLAN
491470 ---------------------------------------------------------------------------------------
492- Nested Loop (cost=xxx rows=100 width=xxx)
493- -> Merge Join (cost=xxx rows=100 width=xxx)
471+ Nested Loop (cost=xxx..xxx rows=100 width=xxx)
472+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
494473 Merge Cond: (t1.c1 = t2.c1)
495- -> Merge Join (cost=xxx rows=1000 width=xxx)
474+ -> Merge Join (cost=xxx..xxx rows=1000 width=xxx)
496475 Merge Cond: (t1.c1 = t3.c1)
497- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
498- -> Index Scan using t3_i1 on t3 (cost=xxx rows=1130 width=xxx)
499- -> Sort (cost=xxx rows=100 width=xxx)
476+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
477+ -> Index Scan using t3_i1 on t3 (cost=xxx..xxx rows=1130 width=xxx)
478+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
500479 Sort Key: t2.c1
501- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
502- -> Index Scan using t4_i1 on t4 (cost=xxx rows=1 width=xxx)
480+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
481+ -> Index Scan using t4_i1 on t4 (cost=xxx..xxx rows=1 width=xxx)
503482 Index Cond: (c1 = t1.c1)
504-(12 rows)
505483
506484 ----
507485 ---- No. R-1-6 object type for the hint
@@ -521,13 +499,12 @@ error hint:
521499 \! sql/maskout.sh results/ut-R.tmpout
522500 QUERY PLAN
523501 ---------------------------------------------------------------------------
524- Merge Join (cost=xxx rows=1 width=xxx)
502+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
525503 Merge Cond: (t1.c1 = t2.c1)
526- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
527- -> Sort (cost=xxx rows=100 width=xxx)
504+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
505+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
528506 Sort Key: t2.c1
529- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
530-(6 rows)
507+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
531508
532509 -- No. R-1-6-2
533510 \o results/ut-R.tmpout
@@ -536,20 +513,19 @@ EXPLAIN SELECT * FROM s1.p1 t1, s1.p1 t2 WHERE t1.c1 = t2.c1;
536513 \! sql/maskout.sh results/ut-R.tmpout
537514 QUERY PLAN
538515 ------------------------------------------------------------------------------
539- Hash Join (cost=xxx rows=301 width=xxx)
516+ Hash Join (cost=xxx..xxx rows=301 width=xxx)
540517 Hash Cond: (t1.c1 = t2.c1)
541- -> Append (cost=xxx rows=301 width=xxx)
542- -> Seq Scan on p1 t1 (cost=xxx rows=1 width=xxx)
543- -> Seq Scan on p1c1 t1_1 (cost=xxx rows=100 width=xxx)
544- -> Seq Scan on p1c2 t1_2 (cost=xxx rows=100 width=xxx)
545- -> Seq Scan on p1c3 t1_3 (cost=xxx rows=100 width=xxx)
546- -> Hash (cost=xxx rows=301 width=xxx)
547- -> Append (cost=xxx rows=301 width=xxx)
548- -> Seq Scan on p1 t2 (cost=xxx rows=1 width=xxx)
549- -> Seq Scan on p1c1 t2_1 (cost=xxx rows=100 width=xxx)
550- -> Seq Scan on p1c2 t2_2 (cost=xxx rows=100 width=xxx)
551- -> Seq Scan on p1c3 t2_3 (cost=xxx rows=100 width=xxx)
552-(13 rows)
518+ -> Append (cost=xxx..xxx rows=301 width=xxx)
519+ -> Seq Scan on p1 t1 (cost=xxx..xxx rows=1 width=xxx)
520+ -> Seq Scan on p1c1 t1_1 (cost=xxx..xxx rows=100 width=xxx)
521+ -> Seq Scan on p1c2 t1_2 (cost=xxx..xxx rows=100 width=xxx)
522+ -> Seq Scan on p1c3 t1_3 (cost=xxx..xxx rows=100 width=xxx)
523+ -> Hash (cost=xxx..xxx rows=301 width=xxx)
524+ -> Append (cost=xxx..xxx rows=301 width=xxx)
525+ -> Seq Scan on p1 t2 (cost=xxx..xxx rows=1 width=xxx)
526+ -> Seq Scan on p1c1 t2_1 (cost=xxx..xxx rows=100 width=xxx)
527+ -> Seq Scan on p1c2 t2_2 (cost=xxx..xxx rows=100 width=xxx)
528+ -> Seq Scan on p1c3 t2_3 (cost=xxx..xxx rows=100 width=xxx)
553529
554530 \o results/ut-R.tmpout
555531 /*+Rows(t1 t2 #1)*/
@@ -565,20 +541,19 @@ error hint:
565541 \! sql/maskout.sh results/ut-R.tmpout
566542 QUERY PLAN
567543 ------------------------------------------------------------------------------
568- Hash Join (cost=xxx rows=1 width=xxx)
544+ Hash Join (cost=xxx..xxx rows=1 width=xxx)
569545 Hash Cond: (t1.c1 = t2.c1)
570- -> Append (cost=xxx rows=301 width=xxx)
571- -> Seq Scan on p1 t1 (cost=xxx rows=1 width=xxx)
572- -> Seq Scan on p1c1 t1_1 (cost=xxx rows=100 width=xxx)
573- -> Seq Scan on p1c2 t1_2 (cost=xxx rows=100 width=xxx)
574- -> Seq Scan on p1c3 t1_3 (cost=xxx rows=100 width=xxx)
575- -> Hash (cost=xxx rows=301 width=xxx)
576- -> Append (cost=xxx rows=301 width=xxx)
577- -> Seq Scan on p1 t2 (cost=xxx rows=1 width=xxx)
578- -> Seq Scan on p1c1 t2_1 (cost=xxx rows=100 width=xxx)
579- -> Seq Scan on p1c2 t2_2 (cost=xxx rows=100 width=xxx)
580- -> Seq Scan on p1c3 t2_3 (cost=xxx rows=100 width=xxx)
581-(13 rows)
546+ -> Append (cost=xxx..xxx rows=301 width=xxx)
547+ -> Seq Scan on p1 t1 (cost=xxx..xxx rows=1 width=xxx)
548+ -> Seq Scan on p1c1 t1_1 (cost=xxx..xxx rows=100 width=xxx)
549+ -> Seq Scan on p1c2 t1_2 (cost=xxx..xxx rows=100 width=xxx)
550+ -> Seq Scan on p1c3 t1_3 (cost=xxx..xxx rows=100 width=xxx)
551+ -> Hash (cost=xxx..xxx rows=301 width=xxx)
552+ -> Append (cost=xxx..xxx rows=301 width=xxx)
553+ -> Seq Scan on p1 t2 (cost=xxx..xxx rows=1 width=xxx)
554+ -> Seq Scan on p1c1 t2_1 (cost=xxx..xxx rows=100 width=xxx)
555+ -> Seq Scan on p1c2 t2_2 (cost=xxx..xxx rows=100 width=xxx)
556+ -> Seq Scan on p1c3 t2_3 (cost=xxx..xxx rows=100 width=xxx)
582557
583558 -- No. R-1-6-3
584559 \o results/ut-R.tmpout
@@ -587,12 +562,11 @@ EXPLAIN SELECT * FROM s1.ul1 t1, s1.ul1 t2 WHERE t1.c1 = t2.c1;
587562 \! sql/maskout.sh results/ut-R.tmpout
588563 QUERY PLAN
589564 -----------------------------------------------------------------------
590- Hash Join (cost=xxx rows=1130 width=xxx)
565+ Hash Join (cost=xxx..xxx rows=1130 width=xxx)
591566 Hash Cond: (t1.c1 = t2.c1)
592- -> Seq Scan on ul1 t1 (cost=xxx rows=1130 width=xxx)
593- -> Hash (cost=xxx rows=1130 width=xxx)
594- -> Seq Scan on ul1 t2 (cost=xxx rows=1130 width=xxx)
595-(5 rows)
567+ -> Seq Scan on ul1 t1 (cost=xxx..xxx rows=1130 width=xxx)
568+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
569+ -> Seq Scan on ul1 t2 (cost=xxx..xxx rows=1130 width=xxx)
596570
597571 \o results/ut-R.tmpout
598572 /*+Rows(t1 t2 #1)*/
@@ -608,12 +582,11 @@ error hint:
608582 \! sql/maskout.sh results/ut-R.tmpout
609583 QUERY PLAN
610584 -----------------------------------------------------------------------
611- Hash Join (cost=xxx rows=1 width=xxx)
585+ Hash Join (cost=xxx..xxx rows=1 width=xxx)
612586 Hash Cond: (t1.c1 = t2.c1)
613- -> Seq Scan on ul1 t1 (cost=xxx rows=1130 width=xxx)
614- -> Hash (cost=xxx rows=1130 width=xxx)
615- -> Seq Scan on ul1 t2 (cost=xxx rows=1130 width=xxx)
616-(5 rows)
587+ -> Seq Scan on ul1 t1 (cost=xxx..xxx rows=1130 width=xxx)
588+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
589+ -> Seq Scan on ul1 t2 (cost=xxx..xxx rows=1130 width=xxx)
617590
618591 -- No. R-1-6-4
619592 CREATE TEMP TABLE tm1 (LIKE s1.t1 INCLUDING ALL);
@@ -623,12 +596,11 @@ EXPLAIN SELECT * FROM tm1 t1, tm1 t2 WHERE t1.c1 = t2.c1;
623596 \! sql/maskout.sh results/ut-R.tmpout
624597 QUERY PLAN
625598 -----------------------------------------------------------------------
626- Hash Join (cost=xxx rows=1130 width=xxx)
599+ Hash Join (cost=xxx..xxx rows=1130 width=xxx)
627600 Hash Cond: (t1.c1 = t2.c1)
628- -> Seq Scan on tm1 t1 (cost=xxx rows=1130 width=xxx)
629- -> Hash (cost=xxx rows=1130 width=xxx)
630- -> Seq Scan on tm1 t2 (cost=xxx rows=1130 width=xxx)
631-(5 rows)
601+ -> Seq Scan on tm1 t1 (cost=xxx..xxx rows=1130 width=xxx)
602+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
603+ -> Seq Scan on tm1 t2 (cost=xxx..xxx rows=1130 width=xxx)
632604
633605 \o results/ut-R.tmpout
634606 /*+Rows(t1 t2 #1)*/
@@ -644,27 +616,25 @@ error hint:
644616 \! sql/maskout.sh results/ut-R.tmpout
645617 QUERY PLAN
646618 -----------------------------------------------------------------------
647- Hash Join (cost=xxx rows=1 width=xxx)
619+ Hash Join (cost=xxx..xxx rows=1 width=xxx)
648620 Hash Cond: (t1.c1 = t2.c1)
649- -> Seq Scan on tm1 t1 (cost=xxx rows=1130 width=xxx)
650- -> Hash (cost=xxx rows=1130 width=xxx)
651- -> Seq Scan on tm1 t2 (cost=xxx rows=1130 width=xxx)
652-(5 rows)
621+ -> Seq Scan on tm1 t1 (cost=xxx..xxx rows=1130 width=xxx)
622+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
623+ -> Seq Scan on tm1 t2 (cost=xxx..xxx rows=1130 width=xxx)
653624
654625 -- No. R-1-6-5
655-CREATE TEMP TABLE t_pg_class WITH OIDS AS SELECT * from pg_class LIMIT 100;
626+CREATE TEMP TABLE t_pg_class AS SELECT * from pg_class LIMIT 100;
656627 \o results/ut-R.tmpout
657628 EXPLAIN SELECT * FROM t_pg_class t1, t_pg_class t2 WHERE t1.oid = t2.oid;
658629 \o
659630 \! sql/maskout.sh results/ut-R.tmpout
660631 QUERY PLAN
661632 ------------------------------------------------------------------------------
662- Hash Join (cost=xxx rows=310 width=xxx)
633+ Hash Join (cost=xxx..xxx rows=450 width=xxx)
663634 Hash Cond: (t1.oid = t2.oid)
664- -> Seq Scan on t_pg_class t1 (cost=xxx rows=310 width=xxx)
665- -> Hash (cost=xxx rows=310 width=xxx)
666- -> Seq Scan on t_pg_class t2 (cost=xxx rows=310 width=xxx)
667-(5 rows)
635+ -> Seq Scan on t_pg_class t1 (cost=xxx..xxx rows=300 width=xxx)
636+ -> Hash (cost=xxx..xxx rows=300 width=xxx)
637+ -> Seq Scan on t_pg_class t2 (cost=xxx..xxx rows=300 width=xxx)
668638
669639 \o results/ut-R.tmpout
670640 /*+Rows(t1 t2 #1)*/
@@ -680,12 +650,11 @@ error hint:
680650 \! sql/maskout.sh results/ut-R.tmpout
681651 QUERY PLAN
682652 ------------------------------------------------------------------------------
683- Hash Join (cost=xxx rows=1 width=xxx)
653+ Hash Join (cost=xxx..xxx rows=1 width=xxx)
684654 Hash Cond: (t1.oid = t2.oid)
685- -> Seq Scan on t_pg_class t1 (cost=xxx rows=310 width=xxx)
686- -> Hash (cost=xxx rows=310 width=xxx)
687- -> Seq Scan on t_pg_class t2 (cost=xxx rows=310 width=xxx)
688-(5 rows)
655+ -> Seq Scan on t_pg_class t1 (cost=xxx..xxx rows=300 width=xxx)
656+ -> Hash (cost=xxx..xxx rows=300 width=xxx)
657+ -> Seq Scan on t_pg_class t2 (cost=xxx..xxx rows=300 width=xxx)
689658
690659 -- No. R-1-6-6
691660 -- refer ut-fdw.sql
@@ -696,11 +665,10 @@ EXPLAIN SELECT * FROM s1.f1() t1, s1.f1() t2 WHERE t1.c1 = t2.c1;
696665 \! sql/maskout.sh results/ut-R.tmpout
697666 QUERY PLAN
698667 -----------------------------------------------------------------
699- Nested Loop (cost=xxx rows=1 width=xxx)
668+ Nested Loop (cost=xxx..xxx rows=1 width=xxx)
700669 Join Filter: (t1.c1 = t2.c1)
701- -> Function Scan on f1 t1 (cost=xxx rows=1 width=xxx)
702- -> Function Scan on f1 t2 (cost=xxx rows=1 width=xxx)
703-(4 rows)
670+ -> Function Scan on f1 t1 (cost=xxx..xxx rows=1 width=xxx)
671+ -> Function Scan on f1 t2 (cost=xxx..xxx rows=1 width=xxx)
704672
705673 \o results/ut-R.tmpout
706674 /*+Rows(t1 t2 #1)*/
@@ -716,11 +684,10 @@ error hint:
716684 \! sql/maskout.sh results/ut-R.tmpout
717685 QUERY PLAN
718686 -----------------------------------------------------------------
719- Nested Loop (cost=xxx rows=1 width=xxx)
687+ Nested Loop (cost=xxx..xxx rows=1 width=xxx)
720688 Join Filter: (t1.c1 = t2.c1)
721- -> Function Scan on f1 t1 (cost=xxx rows=1 width=xxx)
722- -> Function Scan on f1 t2 (cost=xxx rows=1 width=xxx)
723-(4 rows)
689+ -> Function Scan on f1 t1 (cost=xxx..xxx rows=1 width=xxx)
690+ -> Function Scan on f1 t2 (cost=xxx..xxx rows=1 width=xxx)
724691
725692 -- No. R-1-6-8
726693 \o results/ut-R.tmpout
@@ -729,12 +696,11 @@ EXPLAIN SELECT * FROM (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3')) AS t1 (c1, c
729696 \! sql/maskout.sh results/ut-R.tmpout
730697 QUERY PLAN
731698 --------------------------------------------------------------------------
732- Hash Join (cost=xxx rows=3 width=xxx)
699+ Hash Join (cost=xxx..xxx rows=3 width=xxx)
733700 Hash Cond: (t2.c1 = "*VALUES*".column1)
734- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
735- -> Hash (cost=xxx rows=3 width=xxx)
736- -> Values Scan on "*VALUES*" (cost=xxx rows=3 width=xxx)
737-(5 rows)
701+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
702+ -> Hash (cost=xxx..xxx rows=3 width=xxx)
703+ -> Values Scan on "*VALUES*" (cost=xxx..xxx rows=3 width=xxx)
738704
739705 \o results/ut-R.tmpout
740706 /*+Rows(t1 t2 #1)*/
@@ -750,12 +716,11 @@ error hint:
750716 \! sql/maskout.sh results/ut-R.tmpout
751717 QUERY PLAN
752718 --------------------------------------------------------------------------
753- Hash Join (cost=xxx rows=3 width=xxx)
719+ Hash Join (cost=xxx..xxx rows=3 width=xxx)
754720 Hash Cond: (t2.c1 = "*VALUES*".column1)
755- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
756- -> Hash (cost=xxx rows=3 width=xxx)
757- -> Values Scan on "*VALUES*" (cost=xxx rows=3 width=xxx)
758-(5 rows)
721+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
722+ -> Hash (cost=xxx..xxx rows=3 width=xxx)
723+ -> Values Scan on "*VALUES*" (cost=xxx..xxx rows=3 width=xxx)
759724
760725 \o results/ut-R.tmpout
761726 /*+Rows(*VALUES* t2 #1)*/
@@ -771,12 +736,11 @@ error hint:
771736 \! sql/maskout.sh results/ut-R.tmpout
772737 QUERY PLAN
773738 --------------------------------------------------------------------------
774- Hash Join (cost=xxx rows=1 width=xxx)
739+ Hash Join (cost=xxx..xxx rows=1 width=xxx)
775740 Hash Cond: (t2.c1 = "*VALUES*".column1)
776- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
777- -> Hash (cost=xxx rows=3 width=xxx)
778- -> Values Scan on "*VALUES*" (cost=xxx rows=3 width=xxx)
779-(5 rows)
741+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
742+ -> Hash (cost=xxx..xxx rows=3 width=xxx)
743+ -> Values Scan on "*VALUES*" (cost=xxx..xxx rows=3 width=xxx)
780744
781745 -- No. R-1-6-9
782746 \o results/ut-R.tmpout
@@ -785,19 +749,18 @@ EXPLAIN WITH c1(c1) AS (SELECT max(t1.c1) FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1)
785749 \! sql/maskout.sh results/ut-R.tmpout
786750 QUERY PLAN
787751 --------------------------------------------------------------------------------------------------
788- Nested Loop (cost=xxx rows=1 width=xxx)
752+ Nested Loop (cost=xxx..xxx rows=1 width=xxx)
789753 CTE c1
790- -> Aggregate (cost=xxx rows=1 width=xxx)
791- -> Merge Join (cost=xxx rows=100 width=xxx)
754+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
755+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
792756 Merge Cond: (t1_1.c1 = t2.c1)
793- -> Index Only Scan using t1_i1 on t1 t1_1 (cost=xxx rows=1000 width=xxx)
794- -> Sort (cost=xxx rows=100 width=xxx)
757+ -> Index Only Scan using t1_i1 on t1 t1_1 (cost=xxx..xxx rows=1000 width=xxx)
758+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
795759 Sort Key: t2.c1
796- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
797- -> CTE Scan on c1 (cost=xxx rows=1 width=xxx)
798- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
760+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
761+ -> CTE Scan on c1 (cost=xxx..xxx rows=1 width=xxx)
762+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
799763 Index Cond: (c1 = c1.c1)
800-(12 rows)
801764
802765 \o results/ut-R.tmpout
803766 /*+Rows(t1 t2 #1)Rows(t1 c1 +1)*/
@@ -814,19 +777,18 @@ error hint:
814777 \! sql/maskout.sh results/ut-R.tmpout
815778 QUERY PLAN
816779 --------------------------------------------------------------------------------------------------
817- Nested Loop (cost=xxx rows=2 width=xxx)
780+ Nested Loop (cost=xxx..xxx rows=2 width=xxx)
818781 CTE c1
819- -> Aggregate (cost=xxx rows=1 width=xxx)
820- -> Merge Join (cost=xxx rows=1 width=xxx)
782+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
783+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
821784 Merge Cond: (t1_1.c1 = t2.c1)
822- -> Index Only Scan using t1_i1 on t1 t1_1 (cost=xxx rows=1000 width=xxx)
823- -> Sort (cost=xxx rows=100 width=xxx)
785+ -> Index Only Scan using t1_i1 on t1 t1_1 (cost=xxx..xxx rows=1000 width=xxx)
786+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
824787 Sort Key: t2.c1
825- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
826- -> CTE Scan on c1 (cost=xxx rows=1 width=xxx)
827- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
788+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
789+ -> CTE Scan on c1 (cost=xxx..xxx rows=1 width=xxx)
790+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
828791 Index Cond: (c1 = c1.c1)
829-(12 rows)
830792
831793 -- No. R-1-6-10
832794 \o results/ut-R.tmpout
@@ -835,12 +797,11 @@ EXPLAIN SELECT * FROM s1.v1 t1, s1.v1 t2 WHERE t1.c1 = t2.c1;
835797 \! sql/maskout.sh results/ut-R.tmpout
836798 QUERY PLAN
837799 --------------------------------------------------------------------------
838- Hash Join (cost=xxx rows=1000 width=xxx)
800+ Hash Join (cost=xxx..xxx rows=1000 width=xxx)
839801 Hash Cond: (v1t1.c1 = v1t1_1.c1)
840- -> Seq Scan on t1 v1t1 (cost=xxx rows=1000 width=xxx)
841- -> Hash (cost=xxx rows=1000 width=xxx)
842- -> Seq Scan on t1 v1t1_1 (cost=xxx rows=1000 width=xxx)
843-(5 rows)
802+ -> Seq Scan on t1 v1t1 (cost=xxx..xxx rows=1000 width=xxx)
803+ -> Hash (cost=xxx..xxx rows=1000 width=xxx)
804+ -> Seq Scan on t1 v1t1_1 (cost=xxx..xxx rows=1000 width=xxx)
844805
845806 \o results/ut-R.tmpout
846807 /*+Rows(t1 t2 #1)*/
@@ -856,12 +817,11 @@ error hint:
856817 \! sql/maskout.sh results/ut-R.tmpout
857818 QUERY PLAN
858819 --------------------------------------------------------------------------
859- Hash Join (cost=xxx rows=1000 width=xxx)
820+ Hash Join (cost=xxx..xxx rows=1000 width=xxx)
860821 Hash Cond: (v1t1.c1 = v1t1_1.c1)
861- -> Seq Scan on t1 v1t1 (cost=xxx rows=1000 width=xxx)
862- -> Hash (cost=xxx rows=1000 width=xxx)
863- -> Seq Scan on t1 v1t1_1 (cost=xxx rows=1000 width=xxx)
864-(5 rows)
822+ -> Seq Scan on t1 v1t1 (cost=xxx..xxx rows=1000 width=xxx)
823+ -> Hash (cost=xxx..xxx rows=1000 width=xxx)
824+ -> Seq Scan on t1 v1t1_1 (cost=xxx..xxx rows=1000 width=xxx)
865825
866826 \o results/ut-R.tmpout
867827 /*+Rows(v1t1 v1t1_ #1)*/
@@ -877,12 +837,11 @@ error hint:
877837 \! sql/maskout.sh results/ut-R.tmpout
878838 QUERY PLAN
879839 -------------------------------------------------------------------------
880- Hash Join (cost=xxx rows=1 width=xxx)
840+ Hash Join (cost=xxx..xxx rows=1 width=xxx)
881841 Hash Cond: (v1t1.c1 = v1t1_.c1)
882- -> Seq Scan on t1 v1t1 (cost=xxx rows=1000 width=xxx)
883- -> Hash (cost=xxx rows=1000 width=xxx)
884- -> Seq Scan on t1 v1t1_ (cost=xxx rows=1000 width=xxx)
885-(5 rows)
842+ -> Seq Scan on t1 v1t1 (cost=xxx..xxx rows=1000 width=xxx)
843+ -> Hash (cost=xxx..xxx rows=1000 width=xxx)
844+ -> Seq Scan on t1 v1t1_ (cost=xxx..xxx rows=1000 width=xxx)
886845
887846 -- No. R-1-6-11
888847 \o results/ut-R.tmpout
@@ -891,20 +850,19 @@ EXPLAIN SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.c1 = (SELECT max(s
891850 \! sql/maskout.sh results/ut-R.tmpout
892851 QUERY PLAN
893852 -------------------------------------------------------------------------------------------------
894- Nested Loop (cost=xxx rows=1 width=xxx)
853+ Nested Loop (cost=xxx..xxx rows=1 width=xxx)
895854 InitPlan 1 (returns $0)
896- -> Aggregate (cost=xxx rows=1 width=xxx)
897- -> Merge Join (cost=xxx rows=100 width=xxx)
855+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
856+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
898857 Merge Cond: (st1.c1 = st2.c1)
899- -> Index Only Scan using t1_i1 on t1 st1 (cost=xxx rows=1000 width=xxx)
900- -> Sort (cost=xxx rows=100 width=xxx)
858+ -> Index Only Scan using t1_i1 on t1 st1 (cost=xxx..xxx rows=1000 width=xxx)
859+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
901860 Sort Key: st2.c1
902- -> Seq Scan on t2 st2 (cost=xxx rows=100 width=xxx)
903- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
861+ -> Seq Scan on t2 st2 (cost=xxx..xxx rows=100 width=xxx)
862+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
904863 Index Cond: (c1 = $0)
905- -> Seq Scan on t2 (cost=xxx rows=1 width=xxx)
864+ -> Seq Scan on t2 (cost=xxx..xxx rows=1 width=xxx)
906865 Filter: (c1 = $0)
907-(13 rows)
908866
909867 \o results/ut-R.tmpout
910868 /*+Rows(t1 t2 #1)Rows(st1 st2 #1)*/
@@ -921,20 +879,19 @@ error hint:
921879 \! sql/maskout.sh results/ut-R.tmpout
922880 QUERY PLAN
923881 -------------------------------------------------------------------------------------------------
924- Nested Loop (cost=xxx rows=1 width=xxx)
882+ Nested Loop (cost=xxx..xxx rows=1 width=xxx)
925883 InitPlan 1 (returns $0)
926- -> Aggregate (cost=xxx rows=1 width=xxx)
927- -> Merge Join (cost=xxx rows=1 width=xxx)
884+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
885+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
928886 Merge Cond: (st1.c1 = st2.c1)
929- -> Index Only Scan using t1_i1 on t1 st1 (cost=xxx rows=1000 width=xxx)
930- -> Sort (cost=xxx rows=100 width=xxx)
887+ -> Index Only Scan using t1_i1 on t1 st1 (cost=xxx..xxx rows=1000 width=xxx)
888+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
931889 Sort Key: st2.c1
932- -> Seq Scan on t2 st2 (cost=xxx rows=100 width=xxx)
933- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
890+ -> Seq Scan on t2 st2 (cost=xxx..xxx rows=100 width=xxx)
891+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
934892 Index Cond: (c1 = $0)
935- -> Seq Scan on t2 (cost=xxx rows=1 width=xxx)
893+ -> Seq Scan on t2 (cost=xxx..xxx rows=1 width=xxx)
936894 Filter: (c1 = $0)
937-(13 rows)
938895
939896 --
940897 -- There are cases where difference in the measured value and predicted value
@@ -946,13 +903,12 @@ EXPLAIN SELECT * FROM s1.t1, (SELECT t2.c1 FROM s1.t2) st2 WHERE t1.c1 = st2.c1;
946903 \! sql/maskout.sh results/ut-R.tmpout
947904 QUERY PLAN
948905 ---------------------------------------------------------------------------
949- Merge Join (cost=xxx rows=100 width=xxx)
906+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
950907 Merge Cond: (t1.c1 = t2.c1)
951- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
952- -> Sort (cost=xxx rows=100 width=xxx)
908+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
909+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
953910 Sort Key: t2.c1
954- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
955-(6 rows)
911+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
956912
957913 \o results/ut-R.tmpout
958914 /*+Rows(t1 st2 #1)*/
@@ -968,13 +924,12 @@ error hint:
968924 \! sql/maskout.sh results/ut-R.tmpout
969925 QUERY PLAN
970926 ---------------------------------------------------------------------------
971- Merge Join (cost=xxx rows=100 width=xxx)
927+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
972928 Merge Cond: (t1.c1 = t2.c1)
973- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
974- -> Sort (cost=xxx rows=100 width=xxx)
929+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
930+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
975931 Sort Key: t2.c1
976- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
977-(6 rows)
932+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
978933
979934 \o results/ut-R.tmpout
980935 /*+Rows(t1 t2 #1)*/
@@ -990,13 +945,12 @@ error hint:
990945 \! sql/maskout.sh results/ut-R.tmpout
991946 QUERY PLAN
992947 ---------------------------------------------------------------------------
993- Merge Join (cost=xxx rows=1 width=xxx)
948+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
994949 Merge Cond: (t1.c1 = t2.c1)
995- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
996- -> Sort (cost=xxx rows=100 width=xxx)
950+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
951+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
997952 Sort Key: t2.c1
998- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
999-(6 rows)
953+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
1000954
1001955 ----
1002956 ---- No. R-1-7 specified number of conditions
@@ -1018,13 +972,12 @@ Rows(t1 #1)
1018972 \! sql/maskout.sh results/ut-R.tmpout
1019973 QUERY PLAN
1020974 ---------------------------------------------------------------------------
1021- Merge Join (cost=xxx rows=100 width=xxx)
975+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
1022976 Merge Cond: (t1.c1 = t2.c1)
1023- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
1024- -> Sort (cost=xxx rows=100 width=xxx)
977+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
978+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
1025979 Sort Key: t2.c1
1026- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
1027-(6 rows)
980+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
1028981
1029982 -- No. R-1-7-2
1030983 \o results/ut-R.tmpout
@@ -1043,13 +996,12 @@ Rows(t1 t2 1)
1043996 \! sql/maskout.sh results/ut-R.tmpout
1044997 QUERY PLAN
1045998 ---------------------------------------------------------------------------
1046- Merge Join (cost=xxx rows=100 width=xxx)
999+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
10471000 Merge Cond: (t1.c1 = t2.c1)
1048- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
1049- -> Sort (cost=xxx rows=100 width=xxx)
1001+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
1002+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
10501003 Sort Key: t2.c1
1051- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
1052-(6 rows)
1004+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
10531005
10541006 -- No. R-1-7-3
10551007 \o results/ut-R.tmpout
@@ -1068,13 +1020,12 @@ Rows(t1 t2 #notrows)
10681020 \! sql/maskout.sh results/ut-R.tmpout
10691021 QUERY PLAN
10701022 ---------------------------------------------------------------------------
1071- Merge Join (cost=xxx rows=100 width=xxx)
1023+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
10721024 Merge Cond: (t1.c1 = t2.c1)
1073- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
1074- -> Sort (cost=xxx rows=100 width=xxx)
1025+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
1026+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
10751027 Sort Key: t2.c1
1076- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
1077-(6 rows)
1028+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
10781029
10791030 ----
10801031 ---- No. R-2-1 some complexity query blocks
@@ -1119,50 +1070,49 @@ error hint:
11191070 \! sql/maskout.sh results/ut-R.tmpout
11201071 QUERY PLAN
11211072 --------------------------------------------------------------------------------------------------------------------
1122- Aggregate (cost=xxx rows=1 width=xxx)
1073+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
11231074 InitPlan 1 (returns $1)
1124- -> Aggregate (cost=xxx rows=1 width=xxx)
1125- -> Nested Loop (cost=xxx rows=100 width=xxx)
1075+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1076+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
11261077 Join Filter: (b1t2.c1 = b1t1.c1)
1127- -> Hash Join (cost=xxx rows=100 width=xxx)
1078+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
11281079 Hash Cond: (b1t4.c1 = b1t2.c1)
1129- -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
1130- -> Hash (cost=xxx rows=100 width=xxx)
1131- -> Merge Join (cost=xxx rows=100 width=xxx)
1080+ -> Seq Scan on t4 b1t4 (cost=xxx..xxx rows=1130 width=xxx)
1081+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
1082+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
11321083 Merge Cond: (b1t3.c1 = b1t2.c1)
1133- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
1134- -> Sort (cost=xxx rows=100 width=xxx)
1084+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx..xxx rows=1130 width=xxx)
1085+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
11351086 Sort Key: b1t2.c1
1136- -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
1137- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
1087+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=100 width=xxx)
1088+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
11381089 Index Cond: (c1 = b1t3.c1)
11391090 InitPlan 2 (returns $3)
1140- -> Aggregate (cost=xxx rows=1 width=xxx)
1141- -> Nested Loop (cost=xxx rows=100 width=xxx)
1142- -> Hash Join (cost=xxx rows=1000 width=xxx)
1091+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1092+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
1093+ -> Hash Join (cost=xxx..xxx rows=1000 width=xxx)
11431094 Hash Cond: (b2t3.c1 = b2t1.c1)
1144- -> Merge Join (cost=xxx rows=1130 width=xxx)
1095+ -> Merge Join (cost=xxx..xxx rows=1130 width=xxx)
11451096 Merge Cond: (b2t3.c1 = b2t4.c1)
1146- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
1147- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
1148- -> Hash (cost=xxx rows=1000 width=xxx)
1149- -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
1150- -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
1097+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx..xxx rows=1130 width=xxx)
1098+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx..xxx rows=1130 width=xxx)
1099+ -> Hash (cost=xxx..xxx rows=1000 width=xxx)
1100+ -> Seq Scan on t1 b2t1 (cost=xxx..xxx rows=1000 width=xxx)
1101+ -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
11511102 Index Cond: (c1 = b2t1.c1)
1152- -> Nested Loop (cost=xxx rows=100 width=xxx)
1153- -> Hash Join (cost=xxx rows=100 width=xxx)
1103+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
1104+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
11541105 Hash Cond: (bmt3.c1 = bmt1.c1)
1155- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
1156- -> Hash (cost=xxx rows=100 width=xxx)
1157- -> Merge Join (cost=xxx rows=100 width=xxx)
1106+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
1107+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
1108+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
11581109 Merge Cond: (bmt1.c1 = bmt2.c1)
1159- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1000 width=xxx)
1160- -> Sort (cost=xxx rows=100 width=xxx)
1110+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1000 width=xxx)
1111+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
11611112 Sort Key: bmt2.c1
1162- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
1163- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1 width=xxx)
1113+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
1114+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1 width=xxx)
11641115 Index Cond: (c1 = bmt1.c1)
1165-(43 rows)
11661116
11671117 \o results/ut-R.tmpout
11681118 /*+
@@ -1214,50 +1164,49 @@ error hint:
12141164 \! sql/maskout.sh results/ut-R.tmpout
12151165 QUERY PLAN
12161166 --------------------------------------------------------------------------------------------------------------------
1217- Aggregate (cost=xxx rows=1 width=xxx)
1167+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
12181168 InitPlan 1 (returns $1)
1219- -> Aggregate (cost=xxx rows=1 width=xxx)
1220- -> Nested Loop (cost=xxx rows=1 width=xxx)
1169+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1170+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
12211171 Join Filter: (b1t2.c1 = b1t1.c1)
1222- -> Hash Join (cost=xxx rows=1 width=xxx)
1172+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
12231173 Hash Cond: (b1t4.c1 = b1t2.c1)
1224- -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
1225- -> Hash (cost=xxx rows=1 width=xxx)
1226- -> Merge Join (cost=xxx rows=1 width=xxx)
1174+ -> Seq Scan on t4 b1t4 (cost=xxx..xxx rows=1130 width=xxx)
1175+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
1176+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
12271177 Merge Cond: (b1t3.c1 = b1t2.c1)
1228- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
1229- -> Sort (cost=xxx rows=100 width=xxx)
1178+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx..xxx rows=1130 width=xxx)
1179+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
12301180 Sort Key: b1t2.c1
1231- -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
1232- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
1181+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=100 width=xxx)
1182+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
12331183 Index Cond: (c1 = b1t3.c1)
12341184 InitPlan 2 (returns $3)
1235- -> Aggregate (cost=xxx rows=1 width=xxx)
1236- -> Nested Loop (cost=xxx rows=1 width=xxx)
1237- -> Hash Join (cost=xxx rows=1 width=xxx)
1185+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1186+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
1187+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
12381188 Hash Cond: (b2t1.c1 = b2t3.c1)
1239- -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
1240- -> Hash (cost=xxx rows=1 width=xxx)
1241- -> Merge Join (cost=xxx rows=1 width=xxx)
1189+ -> Seq Scan on t1 b2t1 (cost=xxx..xxx rows=1000 width=xxx)
1190+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
1191+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
12421192 Merge Cond: (b2t3.c1 = b2t4.c1)
1243- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
1244- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
1245- -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
1193+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx..xxx rows=1130 width=xxx)
1194+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx..xxx rows=1130 width=xxx)
1195+ -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
12461196 Index Cond: (c1 = b2t1.c1)
1247- -> Nested Loop (cost=xxx rows=1 width=xxx)
1248- -> Hash Join (cost=xxx rows=1 width=xxx)
1197+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
1198+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
12491199 Hash Cond: (bmt3.c1 = bmt1.c1)
1250- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
1251- -> Hash (cost=xxx rows=1 width=xxx)
1252- -> Merge Join (cost=xxx rows=1 width=xxx)
1200+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
1201+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
1202+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
12531203 Merge Cond: (bmt1.c1 = bmt2.c1)
1254- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1000 width=xxx)
1255- -> Sort (cost=xxx rows=100 width=xxx)
1204+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1000 width=xxx)
1205+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
12561206 Sort Key: bmt2.c1
1257- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
1258- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1 width=xxx)
1207+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
1208+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1 width=xxx)
12591209 Index Cond: (c1 = bmt1.c1)
1260-(43 rows)
12611210
12621211 -- No. R-2-1-2
12631212 \o results/ut-R.tmpout
@@ -1307,63 +1256,62 @@ error hint:
13071256 \! sql/maskout.sh results/ut-R.tmpout
13081257 QUERY PLAN
13091258 --------------------------------------------------------------------------------------------------------------------
1310- Aggregate (cost=xxx rows=1 width=xxx)
1259+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
13111260 InitPlan 1 (returns $1)
1312- -> Aggregate (cost=xxx rows=1 width=xxx)
1313- -> Nested Loop (cost=xxx rows=100 width=xxx)
1261+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1262+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
13141263 Join Filter: (b1t2.c1 = b1t1.c1)
1315- -> Hash Join (cost=xxx rows=100 width=xxx)
1264+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
13161265 Hash Cond: (b1t4.c1 = b1t2.c1)
1317- -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
1318- -> Hash (cost=xxx rows=100 width=xxx)
1319- -> Merge Join (cost=xxx rows=100 width=xxx)
1266+ -> Seq Scan on t4 b1t4 (cost=xxx..xxx rows=1130 width=xxx)
1267+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
1268+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
13201269 Merge Cond: (b1t3.c1 = b1t2.c1)
1321- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
1322- -> Sort (cost=xxx rows=100 width=xxx)
1270+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx..xxx rows=1130 width=xxx)
1271+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
13231272 Sort Key: b1t2.c1
1324- -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
1325- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
1273+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=100 width=xxx)
1274+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
13261275 Index Cond: (c1 = b1t3.c1)
13271276 InitPlan 2 (returns $3)
1328- -> Aggregate (cost=xxx rows=1 width=xxx)
1329- -> Nested Loop (cost=xxx rows=100 width=xxx)
1330- -> Hash Join (cost=xxx rows=1000 width=xxx)
1277+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1278+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
1279+ -> Hash Join (cost=xxx..xxx rows=1000 width=xxx)
13311280 Hash Cond: (b2t3.c1 = b2t1.c1)
1332- -> Merge Join (cost=xxx rows=1130 width=xxx)
1281+ -> Merge Join (cost=xxx..xxx rows=1130 width=xxx)
13331282 Merge Cond: (b2t3.c1 = b2t4.c1)
1334- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
1335- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
1336- -> Hash (cost=xxx rows=1000 width=xxx)
1337- -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
1338- -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
1283+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx..xxx rows=1130 width=xxx)
1284+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx..xxx rows=1130 width=xxx)
1285+ -> Hash (cost=xxx..xxx rows=1000 width=xxx)
1286+ -> Seq Scan on t1 b2t1 (cost=xxx..xxx rows=1000 width=xxx)
1287+ -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
13391288 Index Cond: (c1 = b2t1.c1)
13401289 InitPlan 3 (returns $5)
1341- -> Aggregate (cost=xxx rows=1 width=xxx)
1342- -> Nested Loop (cost=xxx rows=100 width=xxx)
1343- -> Hash Join (cost=xxx rows=100 width=xxx)
1290+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1291+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
1292+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
13441293 Hash Cond: (b3t1.c1 = b3t2.c1)
1345- -> Merge Join (cost=xxx rows=1000 width=xxx)
1294+ -> Merge Join (cost=xxx..xxx rows=1000 width=xxx)
13461295 Merge Cond: (b3t1.c1 = b3t4.c1)
1347- -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1000 width=xxx)
1348- -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1130 width=xxx)
1349- -> Hash (cost=xxx rows=100 width=xxx)
1350- -> Seq Scan on t2 b3t2 (cost=xxx rows=100 width=xxx)
1351- -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx rows=1 width=xxx)
1296+ -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx..xxx rows=1000 width=xxx)
1297+ -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx..xxx rows=1130 width=xxx)
1298+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
1299+ -> Seq Scan on t2 b3t2 (cost=xxx..xxx rows=100 width=xxx)
1300+ -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx..xxx rows=1 width=xxx)
13521301 Index Cond: (c1 = b3t1.c1)
1353- -> Nested Loop (cost=xxx rows=100 width=xxx)
1354- -> Hash Join (cost=xxx rows=100 width=xxx)
1302+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
1303+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
13551304 Hash Cond: (bmt3.c1 = bmt1.c1)
1356- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
1357- -> Hash (cost=xxx rows=100 width=xxx)
1358- -> Merge Join (cost=xxx rows=100 width=xxx)
1305+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
1306+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
1307+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
13591308 Merge Cond: (bmt1.c1 = bmt2.c1)
1360- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1000 width=xxx)
1361- -> Sort (cost=xxx rows=100 width=xxx)
1309+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1000 width=xxx)
1310+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
13621311 Sort Key: bmt2.c1
1363- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
1364- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1 width=xxx)
1312+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
1313+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1 width=xxx)
13651314 Index Cond: (c1 = bmt1.c1)
1366-(56 rows)
13671315
13681316 \o results/ut-R.tmpout
13691317 /*+
@@ -1428,63 +1376,62 @@ error hint:
14281376 \! sql/maskout.sh results/ut-R.tmpout
14291377 QUERY PLAN
14301378 --------------------------------------------------------------------------------------------------------------------
1431- Aggregate (cost=xxx rows=1 width=xxx)
1379+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
14321380 InitPlan 1 (returns $1)
1433- -> Aggregate (cost=xxx rows=1 width=xxx)
1434- -> Nested Loop (cost=xxx rows=1 width=xxx)
1381+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1382+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
14351383 Join Filter: (b1t2.c1 = b1t1.c1)
1436- -> Hash Join (cost=xxx rows=1 width=xxx)
1384+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
14371385 Hash Cond: (b1t4.c1 = b1t2.c1)
1438- -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
1439- -> Hash (cost=xxx rows=1 width=xxx)
1440- -> Merge Join (cost=xxx rows=1 width=xxx)
1386+ -> Seq Scan on t4 b1t4 (cost=xxx..xxx rows=1130 width=xxx)
1387+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
1388+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
14411389 Merge Cond: (b1t3.c1 = b1t2.c1)
1442- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
1443- -> Sort (cost=xxx rows=100 width=xxx)
1390+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx..xxx rows=1130 width=xxx)
1391+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
14441392 Sort Key: b1t2.c1
1445- -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
1446- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
1393+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=100 width=xxx)
1394+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
14471395 Index Cond: (c1 = b1t3.c1)
14481396 InitPlan 2 (returns $3)
1449- -> Aggregate (cost=xxx rows=1 width=xxx)
1450- -> Nested Loop (cost=xxx rows=1 width=xxx)
1451- -> Hash Join (cost=xxx rows=1 width=xxx)
1397+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1398+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
1399+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
14521400 Hash Cond: (b2t1.c1 = b2t3.c1)
1453- -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
1454- -> Hash (cost=xxx rows=1 width=xxx)
1455- -> Merge Join (cost=xxx rows=1 width=xxx)
1401+ -> Seq Scan on t1 b2t1 (cost=xxx..xxx rows=1000 width=xxx)
1402+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
1403+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
14561404 Merge Cond: (b2t3.c1 = b2t4.c1)
1457- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
1458- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
1459- -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
1405+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx..xxx rows=1130 width=xxx)
1406+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx..xxx rows=1130 width=xxx)
1407+ -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
14601408 Index Cond: (c1 = b2t1.c1)
14611409 InitPlan 3 (returns $5)
1462- -> Aggregate (cost=xxx rows=1 width=xxx)
1463- -> Nested Loop (cost=xxx rows=1 width=xxx)
1464- -> Hash Join (cost=xxx rows=1 width=xxx)
1410+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1411+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
1412+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
14651413 Hash Cond: (b3t1.c1 = b3t2.c1)
1466- -> Merge Join (cost=xxx rows=1 width=xxx)
1414+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
14671415 Merge Cond: (b3t1.c1 = b3t4.c1)
1468- -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1000 width=xxx)
1469- -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1130 width=xxx)
1470- -> Hash (cost=xxx rows=100 width=xxx)
1471- -> Seq Scan on t2 b3t2 (cost=xxx rows=100 width=xxx)
1472- -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx rows=1 width=xxx)
1416+ -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx..xxx rows=1000 width=xxx)
1417+ -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx..xxx rows=1130 width=xxx)
1418+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
1419+ -> Seq Scan on t2 b3t2 (cost=xxx..xxx rows=100 width=xxx)
1420+ -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx..xxx rows=1 width=xxx)
14731421 Index Cond: (c1 = b3t1.c1)
1474- -> Nested Loop (cost=xxx rows=1 width=xxx)
1475- -> Hash Join (cost=xxx rows=1 width=xxx)
1422+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
1423+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
14761424 Hash Cond: (bmt3.c1 = bmt1.c1)
1477- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
1478- -> Hash (cost=xxx rows=1 width=xxx)
1479- -> Merge Join (cost=xxx rows=1 width=xxx)
1425+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
1426+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
1427+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
14801428 Merge Cond: (bmt1.c1 = bmt2.c1)
1481- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1000 width=xxx)
1482- -> Sort (cost=xxx rows=100 width=xxx)
1429+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1000 width=xxx)
1430+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
14831431 Sort Key: bmt2.c1
1484- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
1485- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1 width=xxx)
1432+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
1433+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1 width=xxx)
14861434 Index Cond: (c1 = bmt1.c1)
1487-(56 rows)
14881435
14891436 -- No. R-2-1-3
14901437 \o results/ut-R.tmpout
@@ -1503,22 +1450,21 @@ error hint:
15031450 \! sql/maskout.sh results/ut-R.tmpout
15041451 QUERY PLAN
15051452 -----------------------------------------------------------------------------------------------
1506- Aggregate (cost=xxx rows=1 width=xxx)
1507- -> Merge Join (cost=xxx rows=100 width=xxx)
1453+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
1454+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
15081455 Merge Cond: (bmt1.c1 = bmt2.c1)
1509- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1000 width=xxx)
1510- -> Sort (cost=xxx rows=100 width=xxx)
1456+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1000 width=xxx)
1457+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
15111458 Sort Key: bmt2.c1
1512- -> Hash Join (cost=xxx rows=100 width=xxx)
1459+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
15131460 Hash Cond: (bmt3.c1 = bmt2.c1)
1514- -> Hash Join (cost=xxx rows=1130 width=xxx)
1461+ -> Hash Join (cost=xxx..xxx rows=1130 width=xxx)
15151462 Hash Cond: (bmt3.c1 = bmt4.c1)
1516- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
1517- -> Hash (cost=xxx rows=1130 width=xxx)
1518- -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
1519- -> Hash (cost=xxx rows=100 width=xxx)
1520- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
1521-(15 rows)
1463+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
1464+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
1465+ -> Seq Scan on t4 bmt4 (cost=xxx..xxx rows=1130 width=xxx)
1466+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
1467+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
15221468
15231469 \o results/ut-R.tmpout
15241470 /*+
@@ -1540,20 +1486,19 @@ error hint:
15401486 \! sql/maskout.sh results/ut-R.tmpout
15411487 QUERY PLAN
15421488 --------------------------------------------------------------------------------------------
1543- Aggregate (cost=xxx rows=1 width=xxx)
1544- -> Nested Loop (cost=xxx rows=1 width=xxx)
1489+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
1490+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
15451491 Join Filter: (bmt2.c1 = bmt1.c1)
1546- -> Nested Loop (cost=xxx rows=1 width=xxx)
1547- -> Hash Join (cost=xxx rows=1 width=xxx)
1492+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
1493+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
15481494 Hash Cond: (bmt3.c1 = bmt4.c1)
1549- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
1550- -> Hash (cost=xxx rows=1130 width=xxx)
1551- -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
1552- -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx rows=1 width=xxx)
1495+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
1496+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
1497+ -> Seq Scan on t4 bmt4 (cost=xxx..xxx rows=1130 width=xxx)
1498+ -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx..xxx rows=1 width=xxx)
15531499 Index Cond: (c1 = bmt3.c1)
1554- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1 width=xxx)
1500+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1 width=xxx)
15551501 Index Cond: (c1 = bmt3.c1)
1556-(13 rows)
15571502
15581503 -- No. R-2-1-4
15591504 \o results/ut-R.tmpout
@@ -1572,22 +1517,21 @@ error hint:
15721517 \! sql/maskout.sh results/ut-R.tmpout
15731518 QUERY PLAN
15741519 -----------------------------------------------------------------------------------------------
1575- Aggregate (cost=xxx rows=1 width=xxx)
1576- -> Merge Join (cost=xxx rows=100 width=xxx)
1520+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
1521+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
15771522 Merge Cond: (bmt1.c1 = bmt2.c1)
1578- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1000 width=xxx)
1579- -> Sort (cost=xxx rows=100 width=xxx)
1523+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1000 width=xxx)
1524+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
15801525 Sort Key: bmt2.c1
1581- -> Hash Join (cost=xxx rows=100 width=xxx)
1526+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
15821527 Hash Cond: (bmt3.c1 = bmt2.c1)
1583- -> Hash Join (cost=xxx rows=1130 width=xxx)
1528+ -> Hash Join (cost=xxx..xxx rows=1130 width=xxx)
15841529 Hash Cond: (bmt3.c1 = bmt4.c1)
1585- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
1586- -> Hash (cost=xxx rows=1130 width=xxx)
1587- -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
1588- -> Hash (cost=xxx rows=100 width=xxx)
1589- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
1590-(15 rows)
1530+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
1531+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
1532+ -> Seq Scan on t4 bmt4 (cost=xxx..xxx rows=1130 width=xxx)
1533+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
1534+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
15911535
15921536 \o results/ut-R.tmpout
15931537 /*+
@@ -1609,20 +1553,19 @@ error hint:
16091553 \! sql/maskout.sh results/ut-R.tmpout
16101554 QUERY PLAN
16111555 --------------------------------------------------------------------------------------------
1612- Aggregate (cost=xxx rows=1 width=xxx)
1613- -> Nested Loop (cost=xxx rows=1 width=xxx)
1556+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
1557+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
16141558 Join Filter: (bmt2.c1 = bmt1.c1)
1615- -> Nested Loop (cost=xxx rows=1 width=xxx)
1616- -> Hash Join (cost=xxx rows=1 width=xxx)
1559+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
1560+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
16171561 Hash Cond: (bmt3.c1 = bmt4.c1)
1618- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
1619- -> Hash (cost=xxx rows=1130 width=xxx)
1620- -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
1621- -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx rows=1 width=xxx)
1562+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
1563+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
1564+ -> Seq Scan on t4 bmt4 (cost=xxx..xxx rows=1130 width=xxx)
1565+ -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx..xxx rows=1 width=xxx)
16221566 Index Cond: (c1 = bmt3.c1)
1623- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1 width=xxx)
1567+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1 width=xxx)
16241568 Index Cond: (c1 = bmt3.c1)
1625-(13 rows)
16261569
16271570 -- No. R-2-1-5
16281571 \o results/ut-R.tmpout
@@ -1663,51 +1606,50 @@ error hint:
16631606 \! sql/maskout.sh results/ut-R.tmpout
16641607 QUERY PLAN
16651608 --------------------------------------------------------------------------------------------------------------------
1666- Aggregate (cost=xxx rows=1 width=xxx)
1609+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
16671610 InitPlan 1 (returns $1)
1668- -> Aggregate (cost=xxx rows=1 width=xxx)
1669- -> Nested Loop (cost=xxx rows=100 width=xxx)
1611+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1612+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
16701613 Join Filter: (b1t2.c1 = b1t1.c1)
1671- -> Hash Join (cost=xxx rows=100 width=xxx)
1614+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
16721615 Hash Cond: (b1t4.c1 = b1t2.c1)
1673- -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
1674- -> Hash (cost=xxx rows=100 width=xxx)
1675- -> Merge Join (cost=xxx rows=100 width=xxx)
1616+ -> Seq Scan on t4 b1t4 (cost=xxx..xxx rows=1130 width=xxx)
1617+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
1618+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
16761619 Merge Cond: (b1t3.c1 = b1t2.c1)
1677- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
1678- -> Sort (cost=xxx rows=100 width=xxx)
1620+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx..xxx rows=1130 width=xxx)
1621+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
16791622 Sort Key: b1t2.c1
1680- -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
1681- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
1623+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=100 width=xxx)
1624+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
16821625 Index Cond: (c1 = b1t3.c1)
16831626 InitPlan 2 (returns $3)
1684- -> Aggregate (cost=xxx rows=1 width=xxx)
1685- -> Nested Loop (cost=xxx rows=100 width=xxx)
1686- -> Hash Join (cost=xxx rows=1000 width=xxx)
1627+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1628+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
1629+ -> Hash Join (cost=xxx..xxx rows=1000 width=xxx)
16871630 Hash Cond: (b2t3.c1 = b2t1.c1)
1688- -> Merge Join (cost=xxx rows=1130 width=xxx)
1631+ -> Merge Join (cost=xxx..xxx rows=1130 width=xxx)
16891632 Merge Cond: (b2t3.c1 = b2t4.c1)
1690- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
1691- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
1692- -> Hash (cost=xxx rows=1000 width=xxx)
1693- -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
1694- -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
1633+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx..xxx rows=1130 width=xxx)
1634+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx..xxx rows=1130 width=xxx)
1635+ -> Hash (cost=xxx..xxx rows=1000 width=xxx)
1636+ -> Seq Scan on t1 b2t1 (cost=xxx..xxx rows=1000 width=xxx)
1637+ -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
16951638 Index Cond: (c1 = b2t1.c1)
1696- -> Nested Loop (cost=xxx rows=100 width=xxx)
1697- -> Hash Join (cost=xxx rows=100 width=xxx)
1639+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
1640+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
16981641 Hash Cond: (bmt3.c1 = bmt1.c1)
1699- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
1700- -> Hash (cost=xxx rows=100 width=xxx)
1701- -> Merge Join (cost=xxx rows=100 width=xxx)
1642+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
1643+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
1644+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
17021645 Merge Cond: (bmt1.c1 = bmt2.c1)
1703- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=998 width=xxx)
1646+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=998 width=xxx)
17041647 Filter: ((c1 <> $1) AND (c1 <> $3))
1705- -> Sort (cost=xxx rows=100 width=xxx)
1648+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
17061649 Sort Key: bmt2.c1
1707- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
1708- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1 width=xxx)
1650+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
1651+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1 width=xxx)
17091652 Index Cond: (c1 = bmt1.c1)
1710-(44 rows)
17111653
17121654 \o results/ut-R.tmpout
17131655 /*+
@@ -1760,51 +1702,50 @@ error hint:
17601702 \! sql/maskout.sh results/ut-R.tmpout
17611703 QUERY PLAN
17621704 --------------------------------------------------------------------------------------------------------------------
1763- Aggregate (cost=xxx rows=1 width=xxx)
1705+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
17641706 InitPlan 1 (returns $1)
1765- -> Aggregate (cost=xxx rows=1 width=xxx)
1766- -> Nested Loop (cost=xxx rows=1 width=xxx)
1707+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1708+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
17671709 Join Filter: (b1t2.c1 = b1t1.c1)
1768- -> Hash Join (cost=xxx rows=1 width=xxx)
1710+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
17691711 Hash Cond: (b1t4.c1 = b1t2.c1)
1770- -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
1771- -> Hash (cost=xxx rows=1 width=xxx)
1772- -> Merge Join (cost=xxx rows=1 width=xxx)
1712+ -> Seq Scan on t4 b1t4 (cost=xxx..xxx rows=1130 width=xxx)
1713+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
1714+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
17731715 Merge Cond: (b1t3.c1 = b1t2.c1)
1774- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
1775- -> Sort (cost=xxx rows=100 width=xxx)
1716+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx..xxx rows=1130 width=xxx)
1717+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
17761718 Sort Key: b1t2.c1
1777- -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
1778- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
1719+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=100 width=xxx)
1720+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
17791721 Index Cond: (c1 = b1t3.c1)
17801722 InitPlan 2 (returns $3)
1781- -> Aggregate (cost=xxx rows=1 width=xxx)
1782- -> Nested Loop (cost=xxx rows=1 width=xxx)
1783- -> Hash Join (cost=xxx rows=1 width=xxx)
1723+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1724+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
1725+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
17841726 Hash Cond: (b2t1.c1 = b2t3.c1)
1785- -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
1786- -> Hash (cost=xxx rows=1 width=xxx)
1787- -> Merge Join (cost=xxx rows=1 width=xxx)
1727+ -> Seq Scan on t1 b2t1 (cost=xxx..xxx rows=1000 width=xxx)
1728+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
1729+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
17881730 Merge Cond: (b2t3.c1 = b2t4.c1)
1789- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
1790- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
1791- -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
1731+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx..xxx rows=1130 width=xxx)
1732+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx..xxx rows=1130 width=xxx)
1733+ -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
17921734 Index Cond: (c1 = b2t1.c1)
1793- -> Nested Loop (cost=xxx rows=1 width=xxx)
1794- -> Hash Join (cost=xxx rows=1 width=xxx)
1735+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
1736+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
17951737 Hash Cond: (bmt3.c1 = bmt1.c1)
1796- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
1797- -> Hash (cost=xxx rows=1 width=xxx)
1798- -> Merge Join (cost=xxx rows=1 width=xxx)
1738+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
1739+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
1740+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
17991741 Merge Cond: (bmt1.c1 = bmt2.c1)
1800- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=998 width=xxx)
1742+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=998 width=xxx)
18011743 Filter: ((c1 <> $1) AND (c1 <> $3))
1802- -> Sort (cost=xxx rows=100 width=xxx)
1744+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
18031745 Sort Key: bmt2.c1
1804- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
1805- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1 width=xxx)
1746+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
1747+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1 width=xxx)
18061748 Index Cond: (c1 = bmt1.c1)
1807-(44 rows)
18081749
18091750 -- No. R-2-1-6
18101751 \o results/ut-R.tmpout
@@ -1854,64 +1795,63 @@ error hint:
18541795 \! sql/maskout.sh results/ut-R.tmpout
18551796 QUERY PLAN
18561797 --------------------------------------------------------------------------------------------------------------------
1857- Aggregate (cost=xxx rows=1 width=xxx)
1798+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
18581799 InitPlan 1 (returns $1)
1859- -> Aggregate (cost=xxx rows=1 width=xxx)
1860- -> Nested Loop (cost=xxx rows=100 width=xxx)
1800+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1801+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
18611802 Join Filter: (b1t2.c1 = b1t1.c1)
1862- -> Hash Join (cost=xxx rows=100 width=xxx)
1803+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
18631804 Hash Cond: (b1t4.c1 = b1t2.c1)
1864- -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
1865- -> Hash (cost=xxx rows=100 width=xxx)
1866- -> Merge Join (cost=xxx rows=100 width=xxx)
1805+ -> Seq Scan on t4 b1t4 (cost=xxx..xxx rows=1130 width=xxx)
1806+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
1807+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
18671808 Merge Cond: (b1t3.c1 = b1t2.c1)
1868- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
1869- -> Sort (cost=xxx rows=100 width=xxx)
1809+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx..xxx rows=1130 width=xxx)
1810+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
18701811 Sort Key: b1t2.c1
1871- -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
1872- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
1812+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=100 width=xxx)
1813+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
18731814 Index Cond: (c1 = b1t3.c1)
18741815 InitPlan 2 (returns $3)
1875- -> Aggregate (cost=xxx rows=1 width=xxx)
1876- -> Nested Loop (cost=xxx rows=100 width=xxx)
1877- -> Hash Join (cost=xxx rows=1000 width=xxx)
1816+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1817+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
1818+ -> Hash Join (cost=xxx..xxx rows=1000 width=xxx)
18781819 Hash Cond: (b2t3.c1 = b2t1.c1)
1879- -> Merge Join (cost=xxx rows=1130 width=xxx)
1820+ -> Merge Join (cost=xxx..xxx rows=1130 width=xxx)
18801821 Merge Cond: (b2t3.c1 = b2t4.c1)
1881- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
1882- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
1883- -> Hash (cost=xxx rows=1000 width=xxx)
1884- -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
1885- -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
1822+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx..xxx rows=1130 width=xxx)
1823+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx..xxx rows=1130 width=xxx)
1824+ -> Hash (cost=xxx..xxx rows=1000 width=xxx)
1825+ -> Seq Scan on t1 b2t1 (cost=xxx..xxx rows=1000 width=xxx)
1826+ -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
18861827 Index Cond: (c1 = b2t1.c1)
18871828 InitPlan 3 (returns $5)
1888- -> Aggregate (cost=xxx rows=1 width=xxx)
1889- -> Nested Loop (cost=xxx rows=100 width=xxx)
1890- -> Hash Join (cost=xxx rows=100 width=xxx)
1829+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1830+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
1831+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
18911832 Hash Cond: (b3t1.c1 = b3t2.c1)
1892- -> Merge Join (cost=xxx rows=1000 width=xxx)
1833+ -> Merge Join (cost=xxx..xxx rows=1000 width=xxx)
18931834 Merge Cond: (b3t1.c1 = b3t4.c1)
1894- -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1000 width=xxx)
1895- -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1130 width=xxx)
1896- -> Hash (cost=xxx rows=100 width=xxx)
1897- -> Seq Scan on t2 b3t2 (cost=xxx rows=100 width=xxx)
1898- -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx rows=1 width=xxx)
1835+ -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx..xxx rows=1000 width=xxx)
1836+ -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx..xxx rows=1130 width=xxx)
1837+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
1838+ -> Seq Scan on t2 b3t2 (cost=xxx..xxx rows=100 width=xxx)
1839+ -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx..xxx rows=1 width=xxx)
18991840 Index Cond: (c1 = b3t1.c1)
1900- -> Nested Loop (cost=xxx rows=100 width=xxx)
1901- -> Hash Join (cost=xxx rows=100 width=xxx)
1841+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
1842+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
19021843 Hash Cond: (bmt3.c1 = bmt1.c1)
1903- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
1904- -> Hash (cost=xxx rows=100 width=xxx)
1905- -> Merge Join (cost=xxx rows=100 width=xxx)
1844+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
1845+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
1846+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
19061847 Merge Cond: (bmt1.c1 = bmt2.c1)
1907- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=997 width=xxx)
1848+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=997 width=xxx)
19081849 Filter: ((c1 <> $1) AND (c1 <> $3) AND (c1 <> $5))
1909- -> Sort (cost=xxx rows=100 width=xxx)
1850+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
19101851 Sort Key: bmt2.c1
1911- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
1912- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1 width=xxx)
1852+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
1853+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1 width=xxx)
19131854 Index Cond: (c1 = bmt1.c1)
1914-(57 rows)
19151855
19161856 \o results/ut-R.tmpout
19171857 /*+
@@ -1976,64 +1916,63 @@ error hint:
19761916 \! sql/maskout.sh results/ut-R.tmpout
19771917 QUERY PLAN
19781918 --------------------------------------------------------------------------------------------------------------------
1979- Aggregate (cost=xxx rows=1 width=xxx)
1919+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
19801920 InitPlan 1 (returns $1)
1981- -> Aggregate (cost=xxx rows=1 width=xxx)
1982- -> Nested Loop (cost=xxx rows=1 width=xxx)
1921+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1922+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
19831923 Join Filter: (b1t2.c1 = b1t1.c1)
1984- -> Hash Join (cost=xxx rows=1 width=xxx)
1924+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
19851925 Hash Cond: (b1t4.c1 = b1t2.c1)
1986- -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
1987- -> Hash (cost=xxx rows=1 width=xxx)
1988- -> Merge Join (cost=xxx rows=1 width=xxx)
1926+ -> Seq Scan on t4 b1t4 (cost=xxx..xxx rows=1130 width=xxx)
1927+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
1928+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
19891929 Merge Cond: (b1t3.c1 = b1t2.c1)
1990- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
1991- -> Sort (cost=xxx rows=100 width=xxx)
1930+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx..xxx rows=1130 width=xxx)
1931+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
19921932 Sort Key: b1t2.c1
1993- -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
1994- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
1933+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=100 width=xxx)
1934+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
19951935 Index Cond: (c1 = b1t3.c1)
19961936 InitPlan 2 (returns $3)
1997- -> Aggregate (cost=xxx rows=1 width=xxx)
1998- -> Nested Loop (cost=xxx rows=1 width=xxx)
1999- -> Hash Join (cost=xxx rows=1 width=xxx)
1937+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1938+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
1939+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
20001940 Hash Cond: (b2t1.c1 = b2t3.c1)
2001- -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
2002- -> Hash (cost=xxx rows=1 width=xxx)
2003- -> Merge Join (cost=xxx rows=1 width=xxx)
1941+ -> Seq Scan on t1 b2t1 (cost=xxx..xxx rows=1000 width=xxx)
1942+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
1943+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
20041944 Merge Cond: (b2t3.c1 = b2t4.c1)
2005- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
2006- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
2007- -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
1945+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx..xxx rows=1130 width=xxx)
1946+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx..xxx rows=1130 width=xxx)
1947+ -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
20081948 Index Cond: (c1 = b2t1.c1)
20091949 InitPlan 3 (returns $5)
2010- -> Aggregate (cost=xxx rows=1 width=xxx)
2011- -> Nested Loop (cost=xxx rows=1 width=xxx)
2012- -> Hash Join (cost=xxx rows=1 width=xxx)
1950+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
1951+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
1952+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
20131953 Hash Cond: (b3t1.c1 = b3t2.c1)
2014- -> Merge Join (cost=xxx rows=1 width=xxx)
1954+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
20151955 Merge Cond: (b3t1.c1 = b3t4.c1)
2016- -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1000 width=xxx)
2017- -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1130 width=xxx)
2018- -> Hash (cost=xxx rows=100 width=xxx)
2019- -> Seq Scan on t2 b3t2 (cost=xxx rows=100 width=xxx)
2020- -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx rows=1 width=xxx)
1956+ -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx..xxx rows=1000 width=xxx)
1957+ -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx..xxx rows=1130 width=xxx)
1958+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
1959+ -> Seq Scan on t2 b3t2 (cost=xxx..xxx rows=100 width=xxx)
1960+ -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx..xxx rows=1 width=xxx)
20211961 Index Cond: (c1 = b3t1.c1)
2022- -> Nested Loop (cost=xxx rows=1 width=xxx)
2023- -> Hash Join (cost=xxx rows=1 width=xxx)
1962+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
1963+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
20241964 Hash Cond: (bmt3.c1 = bmt1.c1)
2025- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
2026- -> Hash (cost=xxx rows=1 width=xxx)
2027- -> Merge Join (cost=xxx rows=1 width=xxx)
1965+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
1966+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
1967+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
20281968 Merge Cond: (bmt1.c1 = bmt2.c1)
2029- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=997 width=xxx)
1969+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=997 width=xxx)
20301970 Filter: ((c1 <> $1) AND (c1 <> $3) AND (c1 <> $5))
2031- -> Sort (cost=xxx rows=100 width=xxx)
1971+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
20321972 Sort Key: bmt2.c1
2033- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
2034- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1 width=xxx)
1973+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
1974+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1 width=xxx)
20351975 Index Cond: (c1 = bmt1.c1)
2036-(57 rows)
20371976
20381977 -- No. R-2-1-7
20391978 \o results/ut-R.tmpout
@@ -2082,61 +2021,60 @@ error hint:
20822021 \! sql/maskout.sh results/ut-R.tmpout
20832022 QUERY PLAN
20842023 --------------------------------------------------------------------------------------------------------------------
2085- Aggregate (cost=xxx rows=1 width=xxx)
2024+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
20862025 CTE c1
2087- -> Aggregate (cost=xxx rows=1 width=xxx)
2088- -> Nested Loop (cost=xxx rows=100 width=xxx)
2026+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
2027+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
20892028 Join Filter: (b1t2.c1 = b1t1.c1)
2090- -> Hash Join (cost=xxx rows=100 width=xxx)
2029+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
20912030 Hash Cond: (b1t4.c1 = b1t2.c1)
2092- -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
2093- -> Hash (cost=xxx rows=100 width=xxx)
2094- -> Merge Join (cost=xxx rows=100 width=xxx)
2031+ -> Seq Scan on t4 b1t4 (cost=xxx..xxx rows=1130 width=xxx)
2032+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
2033+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
20952034 Merge Cond: (b1t3.c1 = b1t2.c1)
2096- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
2097- -> Sort (cost=xxx rows=100 width=xxx)
2035+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx..xxx rows=1130 width=xxx)
2036+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
20982037 Sort Key: b1t2.c1
2099- -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
2100- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
2038+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=100 width=xxx)
2039+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
21012040 Index Cond: (c1 = b1t3.c1)
21022041 CTE c2
2103- -> Aggregate (cost=xxx rows=1 width=xxx)
2104- -> Nested Loop (cost=xxx rows=100 width=xxx)
2105- -> Hash Join (cost=xxx rows=1000 width=xxx)
2042+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
2043+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
2044+ -> Hash Join (cost=xxx..xxx rows=1000 width=xxx)
21062045 Hash Cond: (b2t3.c1 = b2t1.c1)
2107- -> Merge Join (cost=xxx rows=1130 width=xxx)
2046+ -> Merge Join (cost=xxx..xxx rows=1130 width=xxx)
21082047 Merge Cond: (b2t3.c1 = b2t4.c1)
2109- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
2110- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
2111- -> Hash (cost=xxx rows=1000 width=xxx)
2112- -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
2113- -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
2048+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx..xxx rows=1130 width=xxx)
2049+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx..xxx rows=1130 width=xxx)
2050+ -> Hash (cost=xxx..xxx rows=1000 width=xxx)
2051+ -> Seq Scan on t1 b2t1 (cost=xxx..xxx rows=1000 width=xxx)
2052+ -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
21142053 Index Cond: (c1 = b2t1.c1)
2115- -> Hash Join (cost=xxx rows=1 width=xxx)
2054+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
21162055 Hash Cond: (bmt4.c1 = bmt1.c1)
2117- -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
2118- -> Hash (cost=xxx rows=1 width=xxx)
2119- -> Merge Join (cost=xxx rows=1 width=xxx)
2056+ -> Seq Scan on t4 bmt4 (cost=xxx..xxx rows=1130 width=xxx)
2057+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
2058+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
21202059 Merge Cond: (bmt3.c1 = bmt1.c1)
2121- -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx rows=1130 width=xxx)
2122- -> Sort (cost=xxx rows=1 width=xxx)
2060+ -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
2061+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
21232062 Sort Key: bmt1.c1
2124- -> Nested Loop (cost=xxx rows=1 width=xxx)
2125- -> Hash Join (cost=xxx rows=1 width=xxx)
2063+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
2064+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
21262065 Hash Cond: (bmt1.c1 = c1.c1)
2127- -> Seq Scan on t1 bmt1 (cost=xxx rows=1000 width=xxx)
2128- -> Hash (cost=xxx rows=1 width=xxx)
2129- -> Merge Join (cost=xxx rows=1 width=xxx)
2066+ -> Seq Scan on t1 bmt1 (cost=xxx..xxx rows=1000 width=xxx)
2067+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
2068+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
21302069 Merge Cond: (c1.c1 = c2.c1)
2131- -> Sort (cost=xxx rows=1 width=xxx)
2070+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
21322071 Sort Key: c1.c1
2133- -> CTE Scan on c1 (cost=xxx rows=1 width=xxx)
2134- -> Sort (cost=xxx rows=1 width=xxx)
2072+ -> CTE Scan on c1 (cost=xxx..xxx rows=1 width=xxx)
2073+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
21352074 Sort Key: c2.c1
2136- -> CTE Scan on c2 (cost=xxx rows=1 width=xxx)
2137- -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx rows=1 width=xxx)
2075+ -> CTE Scan on c2 (cost=xxx..xxx rows=1 width=xxx)
2076+ -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx..xxx rows=1 width=xxx)
21382077 Index Cond: (c1 = bmt1.c1)
2139-(54 rows)
21402078
21412079 \o results/ut-R.tmpout
21422080 /*+
@@ -2197,61 +2135,60 @@ error hint:
21972135 \! sql/maskout.sh results/ut-R.tmpout
21982136 QUERY PLAN
21992137 --------------------------------------------------------------------------------------------------------------------
2200- Aggregate (cost=xxx rows=1 width=xxx)
2138+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
22012139 CTE c1
2202- -> Aggregate (cost=xxx rows=1 width=xxx)
2203- -> Nested Loop (cost=xxx rows=1 width=xxx)
2140+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
2141+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
22042142 Join Filter: (b1t2.c1 = b1t1.c1)
2205- -> Hash Join (cost=xxx rows=1 width=xxx)
2143+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
22062144 Hash Cond: (b1t4.c1 = b1t2.c1)
2207- -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
2208- -> Hash (cost=xxx rows=1 width=xxx)
2209- -> Merge Join (cost=xxx rows=1 width=xxx)
2145+ -> Seq Scan on t4 b1t4 (cost=xxx..xxx rows=1130 width=xxx)
2146+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
2147+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
22102148 Merge Cond: (b1t3.c1 = b1t2.c1)
2211- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
2212- -> Sort (cost=xxx rows=100 width=xxx)
2149+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx..xxx rows=1130 width=xxx)
2150+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
22132151 Sort Key: b1t2.c1
2214- -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
2215- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
2152+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=100 width=xxx)
2153+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
22162154 Index Cond: (c1 = b1t3.c1)
22172155 CTE c2
2218- -> Aggregate (cost=xxx rows=1 width=xxx)
2219- -> Nested Loop (cost=xxx rows=1 width=xxx)
2220- -> Hash Join (cost=xxx rows=1 width=xxx)
2156+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
2157+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
2158+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
22212159 Hash Cond: (b2t1.c1 = b2t3.c1)
2222- -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
2223- -> Hash (cost=xxx rows=1 width=xxx)
2224- -> Merge Join (cost=xxx rows=1 width=xxx)
2160+ -> Seq Scan on t1 b2t1 (cost=xxx..xxx rows=1000 width=xxx)
2161+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
2162+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
22252163 Merge Cond: (b2t3.c1 = b2t4.c1)
2226- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
2227- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
2228- -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
2164+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx..xxx rows=1130 width=xxx)
2165+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx..xxx rows=1130 width=xxx)
2166+ -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
22292167 Index Cond: (c1 = b2t1.c1)
2230- -> Hash Join (cost=xxx rows=1 width=xxx)
2168+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
22312169 Hash Cond: (bmt4.c1 = bmt1.c1)
2232- -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
2233- -> Hash (cost=xxx rows=1 width=xxx)
2234- -> Merge Join (cost=xxx rows=1 width=xxx)
2170+ -> Seq Scan on t4 bmt4 (cost=xxx..xxx rows=1130 width=xxx)
2171+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
2172+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
22352173 Merge Cond: (bmt3.c1 = bmt1.c1)
2236- -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx rows=1130 width=xxx)
2237- -> Sort (cost=xxx rows=1 width=xxx)
2174+ -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
2175+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
22382176 Sort Key: bmt1.c1
2239- -> Nested Loop (cost=xxx rows=1 width=xxx)
2240- -> Hash Join (cost=xxx rows=1 width=xxx)
2177+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
2178+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
22412179 Hash Cond: (bmt1.c1 = c1.c1)
2242- -> Seq Scan on t1 bmt1 (cost=xxx rows=1000 width=xxx)
2243- -> Hash (cost=xxx rows=1 width=xxx)
2244- -> Merge Join (cost=xxx rows=1 width=xxx)
2180+ -> Seq Scan on t1 bmt1 (cost=xxx..xxx rows=1000 width=xxx)
2181+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
2182+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
22452183 Merge Cond: (c1.c1 = c2.c1)
2246- -> Sort (cost=xxx rows=1 width=xxx)
2184+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
22472185 Sort Key: c1.c1
2248- -> CTE Scan on c1 (cost=xxx rows=1 width=xxx)
2249- -> Sort (cost=xxx rows=1 width=xxx)
2186+ -> CTE Scan on c1 (cost=xxx..xxx rows=1 width=xxx)
2187+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
22502188 Sort Key: c2.c1
2251- -> CTE Scan on c2 (cost=xxx rows=1 width=xxx)
2252- -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx rows=1 width=xxx)
2189+ -> CTE Scan on c2 (cost=xxx..xxx rows=1 width=xxx)
2190+ -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx..xxx rows=1 width=xxx)
22532191 Index Cond: (c1 = bmt1.c1)
2254-(54 rows)
22552192
22562193 -- No. R-2-1-8
22572194 \o results/ut-R.tmpout
@@ -2310,80 +2247,79 @@ error hint:
23102247 \! sql/maskout.sh results/ut-R.tmpout
23112248 QUERY PLAN
23122249 --------------------------------------------------------------------------------------------------------------------
2313- Aggregate (cost=xxx rows=1 width=xxx)
2250+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
23142251 CTE c1
2315- -> Aggregate (cost=xxx rows=1 width=xxx)
2316- -> Nested Loop (cost=xxx rows=100 width=xxx)
2252+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
2253+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
23172254 Join Filter: (b1t2.c1 = b1t1.c1)
2318- -> Hash Join (cost=xxx rows=100 width=xxx)
2255+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
23192256 Hash Cond: (b1t4.c1 = b1t2.c1)
2320- -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
2321- -> Hash (cost=xxx rows=100 width=xxx)
2322- -> Merge Join (cost=xxx rows=100 width=xxx)
2257+ -> Seq Scan on t4 b1t4 (cost=xxx..xxx rows=1130 width=xxx)
2258+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
2259+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
23232260 Merge Cond: (b1t3.c1 = b1t2.c1)
2324- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
2325- -> Sort (cost=xxx rows=100 width=xxx)
2261+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx..xxx rows=1130 width=xxx)
2262+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
23262263 Sort Key: b1t2.c1
2327- -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
2328- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
2264+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=100 width=xxx)
2265+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
23292266 Index Cond: (c1 = b1t3.c1)
23302267 CTE c2
2331- -> Aggregate (cost=xxx rows=1 width=xxx)
2332- -> Nested Loop (cost=xxx rows=100 width=xxx)
2333- -> Hash Join (cost=xxx rows=1000 width=xxx)
2268+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
2269+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
2270+ -> Hash Join (cost=xxx..xxx rows=1000 width=xxx)
23342271 Hash Cond: (b2t3.c1 = b2t1.c1)
2335- -> Merge Join (cost=xxx rows=1130 width=xxx)
2272+ -> Merge Join (cost=xxx..xxx rows=1130 width=xxx)
23362273 Merge Cond: (b2t3.c1 = b2t4.c1)
2337- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
2338- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
2339- -> Hash (cost=xxx rows=1000 width=xxx)
2340- -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
2341- -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
2274+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx..xxx rows=1130 width=xxx)
2275+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx..xxx rows=1130 width=xxx)
2276+ -> Hash (cost=xxx..xxx rows=1000 width=xxx)
2277+ -> Seq Scan on t1 b2t1 (cost=xxx..xxx rows=1000 width=xxx)
2278+ -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
23422279 Index Cond: (c1 = b2t1.c1)
23432280 CTE c3
2344- -> Aggregate (cost=xxx rows=1 width=xxx)
2345- -> Nested Loop (cost=xxx rows=100 width=xxx)
2346- -> Hash Join (cost=xxx rows=100 width=xxx)
2281+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
2282+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
2283+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
23472284 Hash Cond: (b3t1.c1 = b3t2.c1)
2348- -> Merge Join (cost=xxx rows=1000 width=xxx)
2285+ -> Merge Join (cost=xxx..xxx rows=1000 width=xxx)
23492286 Merge Cond: (b3t1.c1 = b3t4.c1)
2350- -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1000 width=xxx)
2351- -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1130 width=xxx)
2352- -> Hash (cost=xxx rows=100 width=xxx)
2353- -> Seq Scan on t2 b3t2 (cost=xxx rows=100 width=xxx)
2354- -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx rows=1 width=xxx)
2287+ -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx..xxx rows=1000 width=xxx)
2288+ -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx..xxx rows=1130 width=xxx)
2289+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
2290+ -> Seq Scan on t2 b3t2 (cost=xxx..xxx rows=100 width=xxx)
2291+ -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx..xxx rows=1 width=xxx)
23552292 Index Cond: (c1 = b3t1.c1)
2356- -> Nested Loop (cost=xxx rows=1 width=xxx)
2357- -> Hash Join (cost=xxx rows=1 width=xxx)
2293+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
2294+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
23582295 Hash Cond: (bmt3.c1 = bmt1.c1)
2359- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
2360- -> Hash (cost=xxx rows=1 width=xxx)
2361- -> Merge Join (cost=xxx rows=1 width=xxx)
2296+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
2297+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
2298+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
23622299 Merge Cond: (bmt1.c1 = bmt2.c1)
2363- -> Sort (cost=xxx rows=1 width=xxx)
2300+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
23642301 Sort Key: bmt1.c1
2365- -> Nested Loop (cost=xxx rows=1 width=xxx)
2302+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
23662303 Join Filter: (c1.c1 = bmt1.c1)
2367- -> Hash Join (cost=xxx rows=1 width=xxx)
2304+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
23682305 Hash Cond: (c2.c1 = c1.c1)
2369- -> Merge Join (cost=xxx rows=1 width=xxx)
2306+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
23702307 Merge Cond: (c2.c1 = c3.c1)
2371- -> Sort (cost=xxx rows=1 width=xxx)
2308+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
23722309 Sort Key: c2.c1
2373- -> CTE Scan on c2 (cost=xxx rows=1 width=xxx)
2374- -> Sort (cost=xxx rows=1 width=xxx)
2310+ -> CTE Scan on c2 (cost=xxx..xxx rows=1 width=xxx)
2311+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
23752312 Sort Key: c3.c1
2376- -> CTE Scan on c3 (cost=xxx rows=1 width=xxx)
2377- -> Hash (cost=xxx rows=1 width=xxx)
2378- -> CTE Scan on c1 (cost=xxx rows=1 width=xxx)
2379- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1 width=xxx)
2313+ -> CTE Scan on c3 (cost=xxx..xxx rows=1 width=xxx)
2314+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
2315+ -> CTE Scan on c1 (cost=xxx..xxx rows=1 width=xxx)
2316+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1 width=xxx)
23802317 Index Cond: (c1 = c2.c1)
2381- -> Sort (cost=xxx rows=100 width=xxx)
2318+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
23822319 Sort Key: bmt2.c1
2383- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
2384- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1 width=xxx)
2320+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
2321+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1 width=xxx)
23852322 Index Cond: (c1 = bmt1.c1)
2386-(73 rows)
23872323
23882324 \o results/ut-R.tmpout
23892325 /*+
@@ -2460,80 +2396,79 @@ error hint:
24602396 \! sql/maskout.sh results/ut-R.tmpout
24612397 QUERY PLAN
24622398 --------------------------------------------------------------------------------------------------------------------
2463- Aggregate (cost=xxx rows=1 width=xxx)
2399+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
24642400 CTE c1
2465- -> Aggregate (cost=xxx rows=1 width=xxx)
2466- -> Nested Loop (cost=xxx rows=1 width=xxx)
2401+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
2402+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
24672403 Join Filter: (b1t2.c1 = b1t1.c1)
2468- -> Hash Join (cost=xxx rows=1 width=xxx)
2404+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
24692405 Hash Cond: (b1t4.c1 = b1t2.c1)
2470- -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
2471- -> Hash (cost=xxx rows=1 width=xxx)
2472- -> Merge Join (cost=xxx rows=1 width=xxx)
2406+ -> Seq Scan on t4 b1t4 (cost=xxx..xxx rows=1130 width=xxx)
2407+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
2408+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
24732409 Merge Cond: (b1t3.c1 = b1t2.c1)
2474- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
2475- -> Sort (cost=xxx rows=100 width=xxx)
2410+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx..xxx rows=1130 width=xxx)
2411+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
24762412 Sort Key: b1t2.c1
2477- -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
2478- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
2413+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=100 width=xxx)
2414+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
24792415 Index Cond: (c1 = b1t3.c1)
24802416 CTE c2
2481- -> Aggregate (cost=xxx rows=1 width=xxx)
2482- -> Nested Loop (cost=xxx rows=1 width=xxx)
2483- -> Hash Join (cost=xxx rows=1 width=xxx)
2417+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
2418+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
2419+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
24842420 Hash Cond: (b2t1.c1 = b2t3.c1)
2485- -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
2486- -> Hash (cost=xxx rows=1 width=xxx)
2487- -> Merge Join (cost=xxx rows=1 width=xxx)
2421+ -> Seq Scan on t1 b2t1 (cost=xxx..xxx rows=1000 width=xxx)
2422+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
2423+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
24882424 Merge Cond: (b2t3.c1 = b2t4.c1)
2489- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
2490- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
2491- -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
2425+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx..xxx rows=1130 width=xxx)
2426+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx..xxx rows=1130 width=xxx)
2427+ -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
24922428 Index Cond: (c1 = b2t1.c1)
24932429 CTE c3
2494- -> Aggregate (cost=xxx rows=1 width=xxx)
2495- -> Nested Loop (cost=xxx rows=1 width=xxx)
2496- -> Hash Join (cost=xxx rows=1 width=xxx)
2430+ -> Aggregate (cost=xxx..xxx rows=1 width=xxx)
2431+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
2432+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
24972433 Hash Cond: (b3t1.c1 = b3t2.c1)
2498- -> Merge Join (cost=xxx rows=1 width=xxx)
2434+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
24992435 Merge Cond: (b3t1.c1 = b3t4.c1)
2500- -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1000 width=xxx)
2501- -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1130 width=xxx)
2502- -> Hash (cost=xxx rows=100 width=xxx)
2503- -> Seq Scan on t2 b3t2 (cost=xxx rows=100 width=xxx)
2504- -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx rows=1 width=xxx)
2436+ -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx..xxx rows=1000 width=xxx)
2437+ -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx..xxx rows=1130 width=xxx)
2438+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
2439+ -> Seq Scan on t2 b3t2 (cost=xxx..xxx rows=100 width=xxx)
2440+ -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx..xxx rows=1 width=xxx)
25052441 Index Cond: (c1 = b3t1.c1)
2506- -> Nested Loop (cost=xxx rows=1 width=xxx)
2507- -> Hash Join (cost=xxx rows=1 width=xxx)
2442+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
2443+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
25082444 Hash Cond: (bmt3.c1 = bmt1.c1)
2509- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
2510- -> Hash (cost=xxx rows=1 width=xxx)
2511- -> Merge Join (cost=xxx rows=1 width=xxx)
2445+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
2446+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
2447+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
25122448 Merge Cond: (bmt1.c1 = bmt2.c1)
2513- -> Sort (cost=xxx rows=1 width=xxx)
2449+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
25142450 Sort Key: bmt1.c1
2515- -> Nested Loop (cost=xxx rows=1 width=xxx)
2451+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
25162452 Join Filter: (c1.c1 = bmt1.c1)
2517- -> Hash Join (cost=xxx rows=1 width=xxx)
2453+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
25182454 Hash Cond: (c2.c1 = c1.c1)
2519- -> Merge Join (cost=xxx rows=1 width=xxx)
2455+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
25202456 Merge Cond: (c2.c1 = c3.c1)
2521- -> Sort (cost=xxx rows=1 width=xxx)
2457+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
25222458 Sort Key: c2.c1
2523- -> CTE Scan on c2 (cost=xxx rows=1 width=xxx)
2524- -> Sort (cost=xxx rows=1 width=xxx)
2459+ -> CTE Scan on c2 (cost=xxx..xxx rows=1 width=xxx)
2460+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
25252461 Sort Key: c3.c1
2526- -> CTE Scan on c3 (cost=xxx rows=1 width=xxx)
2527- -> Hash (cost=xxx rows=1 width=xxx)
2528- -> CTE Scan on c1 (cost=xxx rows=1 width=xxx)
2529- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1 width=xxx)
2462+ -> CTE Scan on c3 (cost=xxx..xxx rows=1 width=xxx)
2463+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
2464+ -> CTE Scan on c1 (cost=xxx..xxx rows=1 width=xxx)
2465+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1 width=xxx)
25302466 Index Cond: (c1 = c2.c1)
2531- -> Sort (cost=xxx rows=100 width=xxx)
2467+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
25322468 Sort Key: bmt2.c1
2533- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
2534- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1 width=xxx)
2469+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
2470+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1 width=xxx)
25352471 Index Cond: (c1 = bmt1.c1)
2536-(73 rows)
25372472
25382473 ----
25392474 ---- No. R-2-2 the number of the tables per quiry block
@@ -2566,22 +2501,21 @@ error hint:
25662501 \! sql/maskout.sh results/ut-R.tmpout
25672502 QUERY PLAN
25682503 ----------------------------------------------------------------------------------
2569- Nested Loop (cost=xxx rows=1 width=xxx)
2504+ Nested Loop (cost=xxx..xxx rows=1 width=xxx)
25702505 CTE c1
2571- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
2506+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
25722507 Index Cond: (c1 = 1)
25732508 InitPlan 2 (returns $1)
2574- -> Index Only Scan using t1_i1 on t1 b2t1 (cost=xxx rows=1 width=xxx)
2509+ -> Index Only Scan using t1_i1 on t1 b2t1 (cost=xxx..xxx rows=1 width=xxx)
25752510 Index Cond: (c1 = 1)
25762511 InitPlan 3 (returns $2)
2577- -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1 width=xxx)
2512+ -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx..xxx rows=1 width=xxx)
25782513 Index Cond: (c1 = 1)
2579- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1 width=xxx)
2514+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1 width=xxx)
25802515 Index Cond: (c1 = 1)
25812516 Filter: (c1 <> $2)
2582- -> CTE Scan on c1 (cost=xxx rows=1 width=xxx)
2517+ -> CTE Scan on c1 (cost=xxx..xxx rows=1 width=xxx)
25832518 Filter: (c1 = 1)
2584-(15 rows)
25852519
25862520 \o results/ut-R.tmpout
25872521 /*+
@@ -2618,22 +2552,21 @@ error hint:
26182552 \! sql/maskout.sh results/ut-R.tmpout
26192553 QUERY PLAN
26202554 ----------------------------------------------------------------------------------
2621- Nested Loop (cost=xxx rows=1 width=xxx)
2555+ Nested Loop (cost=xxx..xxx rows=1 width=xxx)
26222556 CTE c1
2623- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
2557+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
26242558 Index Cond: (c1 = 1)
26252559 InitPlan 2 (returns $1)
2626- -> Index Only Scan using t1_i1 on t1 b2t1 (cost=xxx rows=1 width=xxx)
2560+ -> Index Only Scan using t1_i1 on t1 b2t1 (cost=xxx..xxx rows=1 width=xxx)
26272561 Index Cond: (c1 = 1)
26282562 InitPlan 3 (returns $2)
2629- -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1 width=xxx)
2563+ -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx..xxx rows=1 width=xxx)
26302564 Index Cond: (c1 = 1)
2631- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1 width=xxx)
2565+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1 width=xxx)
26322566 Index Cond: (c1 = 1)
26332567 Filter: (c1 <> $2)
2634- -> CTE Scan on c1 (cost=xxx rows=1 width=xxx)
2568+ -> CTE Scan on c1 (cost=xxx..xxx rows=1 width=xxx)
26352569 Filter: (c1 = 1)
2636-(15 rows)
26372570
26382571 -- No. R-2-2-2
26392572 \o results/ut-R.tmpout
@@ -2679,41 +2612,40 @@ error hint:
26792612 \! sql/maskout.sh results/ut-R.tmpout
26802613 QUERY PLAN
26812614 --------------------------------------------------------------------------------------------
2682- Hash Join (cost=xxx rows=10 width=xxx)
2615+ Hash Join (cost=xxx..xxx rows=10 width=xxx)
26832616 Hash Cond: (bmt1.c1 = bmt2.c1)
26842617 CTE c1
2685- -> Merge Join (cost=xxx rows=100 width=xxx)
2618+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
26862619 Merge Cond: (b1t1.c1 = b1t2.c1)
2687- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1000 width=xxx)
2688- -> Sort (cost=xxx rows=100 width=xxx)
2620+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1000 width=xxx)
2621+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
26892622 Sort Key: b1t2.c1
2690- -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
2623+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=100 width=xxx)
26912624 InitPlan 2 (returns $1)
2692- -> Merge Join (cost=xxx rows=100 width=xxx)
2625+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
26932626 Merge Cond: (b2t1.c1 = b2t2.c1)
2694- -> Index Only Scan using t1_i1 on t1 b2t1 (cost=xxx rows=1000 width=xxx)
2695- -> Sort (cost=xxx rows=100 width=xxx)
2627+ -> Index Only Scan using t1_i1 on t1 b2t1 (cost=xxx..xxx rows=1000 width=xxx)
2628+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
26962629 Sort Key: b2t2.c1
2697- -> Seq Scan on t2 b2t2 (cost=xxx rows=100 width=xxx)
2630+ -> Seq Scan on t2 b2t2 (cost=xxx..xxx rows=100 width=xxx)
26982631 InitPlan 3 (returns $2)
2699- -> Merge Join (cost=xxx rows=100 width=xxx)
2632+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
27002633 Merge Cond: (b3t1.c1 = b3t2.c1)
2701- -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1000 width=xxx)
2702- -> Sort (cost=xxx rows=100 width=xxx)
2634+ -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx..xxx rows=1000 width=xxx)
2635+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
27032636 Sort Key: b3t2.c1
2704- -> Seq Scan on t2 b3t2 (cost=xxx rows=100 width=xxx)
2705- -> Seq Scan on t1 bmt1 (cost=xxx rows=999 width=xxx)
2637+ -> Seq Scan on t2 b3t2 (cost=xxx..xxx rows=100 width=xxx)
2638+ -> Seq Scan on t1 bmt1 (cost=xxx..xxx rows=999 width=xxx)
27062639 Filter: (c1 <> $2)
2707- -> Hash (cost=xxx rows=100 width=xxx)
2708- -> Merge Join (cost=xxx rows=100 width=xxx)
2640+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
2641+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
27092642 Merge Cond: (bmt2.c1 = c1.c1)
2710- -> Sort (cost=xxx rows=100 width=xxx)
2643+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
27112644 Sort Key: bmt2.c1
2712- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
2713- -> Sort (cost=xxx rows=100 width=xxx)
2645+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
2646+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
27142647 Sort Key: c1.c1
2715- -> CTE Scan on c1 (cost=xxx rows=100 width=xxx)
2716-(34 rows)
2648+ -> CTE Scan on c1 (cost=xxx..xxx rows=100 width=xxx)
27172649
27182650 \o results/ut-R.tmpout
27192651 /*+
@@ -2769,41 +2701,40 @@ error hint:
27692701 \! sql/maskout.sh results/ut-R.tmpout
27702702 QUERY PLAN
27712703 --------------------------------------------------------------------------------------------
2772- Hash Join (cost=xxx rows=1 width=xxx)
2704+ Hash Join (cost=xxx..xxx rows=1 width=xxx)
27732705 Hash Cond: (bmt1.c1 = bmt2.c1)
27742706 CTE c1
2775- -> Merge Join (cost=xxx rows=1 width=xxx)
2707+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
27762708 Merge Cond: (b1t1.c1 = b1t2.c1)
2777- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1000 width=xxx)
2778- -> Sort (cost=xxx rows=100 width=xxx)
2709+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1000 width=xxx)
2710+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
27792711 Sort Key: b1t2.c1
2780- -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
2712+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=100 width=xxx)
27812713 InitPlan 2 (returns $1)
2782- -> Merge Join (cost=xxx rows=1 width=xxx)
2714+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
27832715 Merge Cond: (b2t1.c1 = b2t2.c1)
2784- -> Index Only Scan using t1_i1 on t1 b2t1 (cost=xxx rows=1000 width=xxx)
2785- -> Sort (cost=xxx rows=100 width=xxx)
2716+ -> Index Only Scan using t1_i1 on t1 b2t1 (cost=xxx..xxx rows=1000 width=xxx)
2717+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
27862718 Sort Key: b2t2.c1
2787- -> Seq Scan on t2 b2t2 (cost=xxx rows=100 width=xxx)
2719+ -> Seq Scan on t2 b2t2 (cost=xxx..xxx rows=100 width=xxx)
27882720 InitPlan 3 (returns $2)
2789- -> Merge Join (cost=xxx rows=1 width=xxx)
2721+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
27902722 Merge Cond: (b3t1.c1 = b3t2.c1)
2791- -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1000 width=xxx)
2792- -> Sort (cost=xxx rows=100 width=xxx)
2723+ -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx..xxx rows=1000 width=xxx)
2724+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
27932725 Sort Key: b3t2.c1
2794- -> Seq Scan on t2 b3t2 (cost=xxx rows=100 width=xxx)
2795- -> Seq Scan on t1 bmt1 (cost=xxx rows=999 width=xxx)
2726+ -> Seq Scan on t2 b3t2 (cost=xxx..xxx rows=100 width=xxx)
2727+ -> Seq Scan on t1 bmt1 (cost=xxx..xxx rows=999 width=xxx)
27962728 Filter: (c1 <> $2)
2797- -> Hash (cost=xxx rows=1 width=xxx)
2798- -> Merge Join (cost=xxx rows=1 width=xxx)
2729+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
2730+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
27992731 Merge Cond: (bmt2.c1 = c1.c1)
2800- -> Sort (cost=xxx rows=100 width=xxx)
2732+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
28012733 Sort Key: bmt2.c1
2802- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
2803- -> Sort (cost=xxx rows=1 width=xxx)
2734+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
2735+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
28042736 Sort Key: c1.c1
2805- -> CTE Scan on c1 (cost=xxx rows=1 width=xxx)
2806-(34 rows)
2737+ -> CTE Scan on c1 (cost=xxx..xxx rows=1 width=xxx)
28072738
28082739 -- No. R-2-2-3
28092740 \o results/ut-R.tmpout
@@ -2864,68 +2795,67 @@ error hint:
28642795 \! sql/maskout.sh results/ut-R.tmpout
28652796 QUERY PLAN
28662797 ------------------------------------------------------------------------------------------------------------------
2867- Merge Join (cost=xxx rows=10 width=xxx)
2798+ Merge Join (cost=xxx..xxx rows=10 width=xxx)
28682799 Merge Cond: (bmt1.c1 = bmt2.c1)
28692800 CTE c1
2870- -> Merge Join (cost=xxx rows=100 width=xxx)
2801+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
28712802 Merge Cond: (b1t1.c1 = b1t2.c1)
2872- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1000 width=xxx)
2873- -> Sort (cost=xxx rows=100 width=xxx)
2803+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1000 width=xxx)
2804+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
28742805 Sort Key: b1t2.c1
2875- -> Nested Loop (cost=xxx rows=100 width=xxx)
2876- -> Hash Join (cost=xxx rows=1130 width=xxx)
2806+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
2807+ -> Hash Join (cost=xxx..xxx rows=1130 width=xxx)
28772808 Hash Cond: (b1t3.c1 = b1t4.c1)
2878- -> Seq Scan on t3 b1t3 (cost=xxx rows=1130 width=xxx)
2879- -> Hash (cost=xxx rows=1130 width=xxx)
2880- -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
2881- -> Index Only Scan using t2_i1 on t2 b1t2 (cost=xxx rows=1 width=xxx)
2809+ -> Seq Scan on t3 b1t3 (cost=xxx..xxx rows=1130 width=xxx)
2810+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
2811+ -> Seq Scan on t4 b1t4 (cost=xxx..xxx rows=1130 width=xxx)
2812+ -> Index Only Scan using t2_i1 on t2 b1t2 (cost=xxx..xxx rows=1 width=xxx)
28822813 Index Cond: (c1 = b1t3.c1)
28832814 InitPlan 2 (returns $3)
2884- -> Merge Join (cost=xxx rows=100 width=xxx)
2815+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
28852816 Merge Cond: (b2t1.c1 = b2t2.c1)
2886- -> Index Only Scan using t1_i1 on t1 b2t1 (cost=xxx rows=1000 width=xxx)
2887- -> Sort (cost=xxx rows=100 width=xxx)
2817+ -> Index Only Scan using t1_i1 on t1 b2t1 (cost=xxx..xxx rows=1000 width=xxx)
2818+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
28882819 Sort Key: b2t2.c1
2889- -> Nested Loop (cost=xxx rows=100 width=xxx)
2890- -> Hash Join (cost=xxx rows=1130 width=xxx)
2820+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
2821+ -> Hash Join (cost=xxx..xxx rows=1130 width=xxx)
28912822 Hash Cond: (b2t3.c1 = b2t4.c1)
2892- -> Seq Scan on t3 b2t3 (cost=xxx rows=1130 width=xxx)
2893- -> Hash (cost=xxx rows=1130 width=xxx)
2894- -> Seq Scan on t4 b2t4 (cost=xxx rows=1130 width=xxx)
2895- -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
2823+ -> Seq Scan on t3 b2t3 (cost=xxx..xxx rows=1130 width=xxx)
2824+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
2825+ -> Seq Scan on t4 b2t4 (cost=xxx..xxx rows=1130 width=xxx)
2826+ -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
28962827 Index Cond: (c1 = b2t3.c1)
28972828 InitPlan 3 (returns $5)
2898- -> Merge Join (cost=xxx rows=100 width=xxx)
2829+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
28992830 Merge Cond: (b3t1.c1 = b3t2.c1)
2900- -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1000 width=xxx)
2901- -> Sort (cost=xxx rows=100 width=xxx)
2831+ -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx..xxx rows=1000 width=xxx)
2832+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
29022833 Sort Key: b3t2.c1
2903- -> Nested Loop (cost=xxx rows=100 width=xxx)
2904- -> Hash Join (cost=xxx rows=1130 width=xxx)
2834+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
2835+ -> Hash Join (cost=xxx..xxx rows=1130 width=xxx)
29052836 Hash Cond: (b3t3.c1 = b3t4.c1)
2906- -> Seq Scan on t3 b3t3 (cost=xxx rows=1130 width=xxx)
2907- -> Hash (cost=xxx rows=1130 width=xxx)
2908- -> Seq Scan on t4 b3t4 (cost=xxx rows=1130 width=xxx)
2909- -> Index Only Scan using t2_i1 on t2 b3t2 (cost=xxx rows=1 width=xxx)
2837+ -> Seq Scan on t3 b3t3 (cost=xxx..xxx rows=1130 width=xxx)
2838+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
2839+ -> Seq Scan on t4 b3t4 (cost=xxx..xxx rows=1130 width=xxx)
2840+ -> Index Only Scan using t2_i1 on t2 b3t2 (cost=xxx..xxx rows=1 width=xxx)
29102841 Index Cond: (c1 = b3t3.c1)
2911- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=999 width=xxx)
2842+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=999 width=xxx)
29122843 Filter: (c1 <> $5)
2913- -> Sort (cost=xxx rows=100 width=xxx)
2844+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
29142845 Sort Key: bmt2.c1
2915- -> Nested Loop (cost=xxx rows=100 width=xxx)
2916- -> Hash Join (cost=xxx rows=100 width=xxx)
2846+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
2847+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
29172848 Hash Cond: (bmt3.c1 = bmt4.c1)
2918- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
2919- -> Hash (cost=xxx rows=100 width=xxx)
2920- -> Merge Join (cost=xxx rows=100 width=xxx)
2849+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
2850+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
2851+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
29212852 Merge Cond: (bmt4.c1 = c1.c1)
2922- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1130 width=xxx)
2923- -> Sort (cost=xxx rows=100 width=xxx)
2853+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1130 width=xxx)
2854+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
29242855 Sort Key: c1.c1
2925- -> CTE Scan on c1 (cost=xxx rows=100 width=xxx)
2926- -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx rows=1 width=xxx)
2856+ -> CTE Scan on c1 (cost=xxx..xxx rows=100 width=xxx)
2857+ -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx..xxx rows=1 width=xxx)
29272858 Index Cond: (c1 = bmt3.c1)
2928-(61 rows)
29292859
29302860 \o results/ut-R.tmpout
29312861 /*+
@@ -3011,68 +2941,67 @@ error hint:
30112941 \! sql/maskout.sh results/ut-R.tmpout
30122942 QUERY PLAN
30132943 ------------------------------------------------------------------------------------------------------------------
3014- Merge Join (cost=xxx rows=1 width=xxx)
2944+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
30152945 Merge Cond: (bmt1.c1 = bmt2.c1)
30162946 CTE c1
3017- -> Merge Join (cost=xxx rows=1 width=xxx)
2947+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
30182948 Merge Cond: (b1t1.c1 = b1t2.c1)
3019- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1000 width=xxx)
3020- -> Sort (cost=xxx rows=1 width=xxx)
2949+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1000 width=xxx)
2950+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
30212951 Sort Key: b1t2.c1
3022- -> Nested Loop (cost=xxx rows=1 width=xxx)
3023- -> Hash Join (cost=xxx rows=1 width=xxx)
2952+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
2953+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
30242954 Hash Cond: (b1t3.c1 = b1t4.c1)
3025- -> Seq Scan on t3 b1t3 (cost=xxx rows=1130 width=xxx)
3026- -> Hash (cost=xxx rows=1130 width=xxx)
3027- -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
3028- -> Index Only Scan using t2_i1 on t2 b1t2 (cost=xxx rows=1 width=xxx)
2955+ -> Seq Scan on t3 b1t3 (cost=xxx..xxx rows=1130 width=xxx)
2956+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
2957+ -> Seq Scan on t4 b1t4 (cost=xxx..xxx rows=1130 width=xxx)
2958+ -> Index Only Scan using t2_i1 on t2 b1t2 (cost=xxx..xxx rows=1 width=xxx)
30292959 Index Cond: (c1 = b1t3.c1)
30302960 InitPlan 2 (returns $3)
3031- -> Merge Join (cost=xxx rows=1 width=xxx)
2961+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
30322962 Merge Cond: (b2t1.c1 = b2t2.c1)
3033- -> Index Only Scan using t1_i1 on t1 b2t1 (cost=xxx rows=1000 width=xxx)
3034- -> Sort (cost=xxx rows=1 width=xxx)
2963+ -> Index Only Scan using t1_i1 on t1 b2t1 (cost=xxx..xxx rows=1000 width=xxx)
2964+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
30352965 Sort Key: b2t2.c1
3036- -> Nested Loop (cost=xxx rows=1 width=xxx)
3037- -> Hash Join (cost=xxx rows=1 width=xxx)
2966+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
2967+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
30382968 Hash Cond: (b2t3.c1 = b2t4.c1)
3039- -> Seq Scan on t3 b2t3 (cost=xxx rows=1130 width=xxx)
3040- -> Hash (cost=xxx rows=1130 width=xxx)
3041- -> Seq Scan on t4 b2t4 (cost=xxx rows=1130 width=xxx)
3042- -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
2969+ -> Seq Scan on t3 b2t3 (cost=xxx..xxx rows=1130 width=xxx)
2970+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
2971+ -> Seq Scan on t4 b2t4 (cost=xxx..xxx rows=1130 width=xxx)
2972+ -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
30432973 Index Cond: (c1 = b2t3.c1)
30442974 InitPlan 3 (returns $5)
3045- -> Merge Join (cost=xxx rows=1 width=xxx)
2975+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
30462976 Merge Cond: (b3t1.c1 = b3t2.c1)
3047- -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1000 width=xxx)
3048- -> Sort (cost=xxx rows=1 width=xxx)
2977+ -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx..xxx rows=1000 width=xxx)
2978+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
30492979 Sort Key: b3t2.c1
3050- -> Nested Loop (cost=xxx rows=1 width=xxx)
3051- -> Hash Join (cost=xxx rows=1 width=xxx)
2980+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
2981+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
30522982 Hash Cond: (b3t3.c1 = b3t4.c1)
3053- -> Seq Scan on t3 b3t3 (cost=xxx rows=1130 width=xxx)
3054- -> Hash (cost=xxx rows=1130 width=xxx)
3055- -> Seq Scan on t4 b3t4 (cost=xxx rows=1130 width=xxx)
3056- -> Index Only Scan using t2_i1 on t2 b3t2 (cost=xxx rows=1 width=xxx)
2983+ -> Seq Scan on t3 b3t3 (cost=xxx..xxx rows=1130 width=xxx)
2984+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
2985+ -> Seq Scan on t4 b3t4 (cost=xxx..xxx rows=1130 width=xxx)
2986+ -> Index Only Scan using t2_i1 on t2 b3t2 (cost=xxx..xxx rows=1 width=xxx)
30572987 Index Cond: (c1 = b3t3.c1)
3058- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=999 width=xxx)
2988+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=999 width=xxx)
30592989 Filter: (c1 <> $5)
3060- -> Sort (cost=xxx rows=1 width=xxx)
2990+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
30612991 Sort Key: bmt2.c1
3062- -> Nested Loop (cost=xxx rows=1 width=xxx)
3063- -> Hash Join (cost=xxx rows=1 width=xxx)
2992+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
2993+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
30642994 Hash Cond: (bmt3.c1 = bmt4.c1)
3065- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
3066- -> Hash (cost=xxx rows=1 width=xxx)
3067- -> Merge Join (cost=xxx rows=1 width=xxx)
2995+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
2996+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
2997+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
30682998 Merge Cond: (bmt4.c1 = c1.c1)
3069- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1130 width=xxx)
3070- -> Sort (cost=xxx rows=1 width=xxx)
2999+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1130 width=xxx)
3000+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
30713001 Sort Key: c1.c1
3072- -> CTE Scan on c1 (cost=xxx rows=1 width=xxx)
3073- -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx rows=1 width=xxx)
3002+ -> CTE Scan on c1 (cost=xxx..xxx rows=1 width=xxx)
3003+ -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx..xxx rows=1 width=xxx)
30743004 Index Cond: (c1 = bmt3.c1)
3075-(61 rows)
30763005
30773006 -- No. R-2-2-4
30783007 \o results/ut-R.tmpout
@@ -3117,44 +3046,43 @@ error hint:
31173046 \! sql/maskout.sh results/ut-R.tmpout
31183047 QUERY PLAN
31193048 ------------------------------------------------------------------------------------------------------------------
3120- Merge Join (cost=xxx rows=10 width=xxx)
3049+ Merge Join (cost=xxx..xxx rows=10 width=xxx)
31213050 Merge Cond: (bmt1.c1 = bmt2.c1)
31223051 CTE c1
3123- -> Nested Loop (cost=xxx rows=100 width=xxx)
3052+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
31243053 Join Filter: (b1t2.c1 = b1t1.c1)
3125- -> Hash Join (cost=xxx rows=100 width=xxx)
3054+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
31263055 Hash Cond: (b1t3.c1 = b1t2.c1)
3127- -> Merge Join (cost=xxx rows=1130 width=xxx)
3056+ -> Merge Join (cost=xxx..xxx rows=1130 width=xxx)
31283057 Merge Cond: (b1t3.c1 = b1t4.c1)
3129- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
3130- -> Index Only Scan using t4_i1 on t4 b1t4 (cost=xxx rows=1130 width=xxx)
3131- -> Hash (cost=xxx rows=100 width=xxx)
3132- -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
3133- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
3058+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx..xxx rows=1130 width=xxx)
3059+ -> Index Only Scan using t4_i1 on t4 b1t4 (cost=xxx..xxx rows=1130 width=xxx)
3060+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
3061+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=100 width=xxx)
3062+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
31343063 Index Cond: (c1 = b1t3.c1)
31353064 InitPlan 2 (returns $2)
3136- -> Index Only Scan using t1_i1 on t1 b2t1 (cost=xxx rows=1 width=xxx)
3065+ -> Index Only Scan using t1_i1 on t1 b2t1 (cost=xxx..xxx rows=1 width=xxx)
31373066 Index Cond: (c1 = 1)
31383067 InitPlan 3 (returns $3)
3139- -> Seq Scan on t1 b3t1 (cost=xxx rows=1000 width=xxx)
3140- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=999 width=xxx)
3068+ -> Seq Scan on t1 b3t1 (cost=xxx..xxx rows=1000 width=xxx)
3069+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=999 width=xxx)
31413070 Filter: (c1 <> $3)
3142- -> Sort (cost=xxx rows=100 width=xxx)
3071+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
31433072 Sort Key: bmt2.c1
3144- -> Nested Loop (cost=xxx rows=100 width=xxx)
3145- -> Hash Join (cost=xxx rows=100 width=xxx)
3073+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
3074+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
31463075 Hash Cond: (bmt3.c1 = bmt4.c1)
3147- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
3148- -> Hash (cost=xxx rows=100 width=xxx)
3149- -> Merge Join (cost=xxx rows=100 width=xxx)
3076+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
3077+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
3078+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
31503079 Merge Cond: (bmt4.c1 = c1.c1)
3151- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1130 width=xxx)
3152- -> Sort (cost=xxx rows=100 width=xxx)
3080+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1130 width=xxx)
3081+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
31533082 Sort Key: c1.c1
3154- -> CTE Scan on c1 (cost=xxx rows=100 width=xxx)
3155- -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx rows=1 width=xxx)
3083+ -> CTE Scan on c1 (cost=xxx..xxx rows=100 width=xxx)
3084+ -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx..xxx rows=1 width=xxx)
31563085 Index Cond: (c1 = bmt3.c1)
3157-(37 rows)
31583086
31593087 \o results/ut-R.tmpout
31603088 /*+
@@ -3212,44 +3140,43 @@ error hint:
32123140 \! sql/maskout.sh results/ut-R.tmpout
32133141 QUERY PLAN
32143142 ------------------------------------------------------------------------------------------------------------------
3215- Merge Join (cost=xxx rows=1 width=xxx)
3143+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
32163144 Merge Cond: (bmt1.c1 = bmt2.c1)
32173145 CTE c1
3218- -> Nested Loop (cost=xxx rows=1 width=xxx)
3146+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
32193147 Join Filter: (b1t2.c1 = b1t1.c1)
3220- -> Hash Join (cost=xxx rows=1 width=xxx)
3148+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
32213149 Hash Cond: (b1t3.c1 = b1t2.c1)
3222- -> Merge Join (cost=xxx rows=1 width=xxx)
3150+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
32233151 Merge Cond: (b1t3.c1 = b1t4.c1)
3224- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
3225- -> Index Only Scan using t4_i1 on t4 b1t4 (cost=xxx rows=1130 width=xxx)
3226- -> Hash (cost=xxx rows=100 width=xxx)
3227- -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
3228- -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
3152+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx..xxx rows=1130 width=xxx)
3153+ -> Index Only Scan using t4_i1 on t4 b1t4 (cost=xxx..xxx rows=1130 width=xxx)
3154+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
3155+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=100 width=xxx)
3156+ -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
32293157 Index Cond: (c1 = b1t3.c1)
32303158 InitPlan 2 (returns $2)
3231- -> Index Only Scan using t1_i1 on t1 b2t1 (cost=xxx rows=1 width=xxx)
3159+ -> Index Only Scan using t1_i1 on t1 b2t1 (cost=xxx..xxx rows=1 width=xxx)
32323160 Index Cond: (c1 = 1)
32333161 InitPlan 3 (returns $3)
3234- -> Seq Scan on t1 b3t1 (cost=xxx rows=1000 width=xxx)
3235- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=999 width=xxx)
3162+ -> Seq Scan on t1 b3t1 (cost=xxx..xxx rows=1000 width=xxx)
3163+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=999 width=xxx)
32363164 Filter: (c1 <> $3)
3237- -> Sort (cost=xxx rows=1 width=xxx)
3165+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
32383166 Sort Key: bmt2.c1
3239- -> Nested Loop (cost=xxx rows=1 width=xxx)
3240- -> Hash Join (cost=xxx rows=1 width=xxx)
3167+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
3168+ -> Hash Join (cost=xxx..xxx rows=1 width=xxx)
32413169 Hash Cond: (bmt3.c1 = bmt4.c1)
3242- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
3243- -> Hash (cost=xxx rows=1 width=xxx)
3244- -> Merge Join (cost=xxx rows=1 width=xxx)
3170+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
3171+ -> Hash (cost=xxx..xxx rows=1 width=xxx)
3172+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
32453173 Merge Cond: (bmt4.c1 = c1.c1)
3246- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1130 width=xxx)
3247- -> Sort (cost=xxx rows=1 width=xxx)
3174+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1130 width=xxx)
3175+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
32483176 Sort Key: c1.c1
3249- -> CTE Scan on c1 (cost=xxx rows=1 width=xxx)
3250- -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx rows=1 width=xxx)
3177+ -> CTE Scan on c1 (cost=xxx..xxx rows=1 width=xxx)
3178+ -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx..xxx rows=1 width=xxx)
32513179 Index Cond: (c1 = bmt3.c1)
3252-(37 rows)
32533180
32543181 ----
32553182 ---- No. R-2-3 RULE or VIEW
@@ -3271,27 +3198,26 @@ error hint:
32713198 \! sql/maskout.sh results/ut-R.tmpout
32723199 QUERY PLAN
32733200 -----------------------------------------------------------------------------------------------
3274- Aggregate (cost=xxx rows=1 width=xxx)
3275- -> Nested Loop (cost=xxx rows=1 width=xxx)
3201+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3202+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
32763203 Join Filter: (t1.c1 = t4.c1)
3277- -> Nested Loop (cost=xxx rows=1 width=xxx)
3204+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
32783205 Join Filter: (t1.c1 = t3.c1)
3279- -> Merge Join (cost=xxx rows=1 width=xxx)
3206+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
32803207 Merge Cond: (t1.c1 = t2.c1)
3281- -> Nested Loop (cost=xxx rows=6 width=xxx)
3282- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
3208+ -> Nested Loop (cost=xxx..xxx rows=6 width=xxx)
3209+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
32833210 Filter: (ctid = '(1,1)'::tid)
3284- -> Seq Scan on r1 (cost=xxx rows=6 width=xxx)
3211+ -> Seq Scan on r1 (cost=xxx..xxx rows=6 width=xxx)
32853212 Filter: (c1 = 1)
3286- -> Sort (cost=xxx rows=1 width=xxx)
3213+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
32873214 Sort Key: t2.c1
3288- -> Seq Scan on t2 (cost=xxx rows=1 width=xxx)
3215+ -> Seq Scan on t2 (cost=xxx..xxx rows=1 width=xxx)
32893216 Filter: (ctid = '(1,1)'::tid)
3290- -> Tid Scan on t3 (cost=xxx rows=1 width=xxx)
3217+ -> Tid Scan on t3 (cost=xxx..xxx rows=1 width=xxx)
32913218 TID Cond: (ctid = '(1,1)'::tid)
3292- -> Tid Scan on t4 (cost=xxx rows=1 width=xxx)
3219+ -> Tid Scan on t4 (cost=xxx..xxx rows=1 width=xxx)
32933220 TID Cond: (ctid = '(1,1)'::tid)
3294-(20 rows)
32953221
32963222 \o results/ut-R.tmpout
32973223 /*+
@@ -3317,25 +3243,24 @@ error hint:
33173243 \! sql/maskout.sh results/ut-R.tmpout
33183244 QUERY PLAN
33193245 ---------------------------------------------------------------------------------
3320- Aggregate (cost=xxx rows=1 width=xxx)
3321- -> Nested Loop (cost=xxx rows=2 width=xxx)
3246+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3247+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
33223248 Join Filter: (t1.c1 = t4.c1)
3323- -> Tid Scan on t4 (cost=xxx rows=1 width=xxx)
3249+ -> Tid Scan on t4 (cost=xxx..xxx rows=1 width=xxx)
33243250 TID Cond: (ctid = '(1,1)'::tid)
3325- -> Nested Loop (cost=xxx rows=2 width=xxx)
3251+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
33263252 Join Filter: (t1.c1 = t3.c1)
3327- -> Tid Scan on t3 (cost=xxx rows=1 width=xxx)
3253+ -> Tid Scan on t3 (cost=xxx..xxx rows=1 width=xxx)
33283254 TID Cond: (ctid = '(1,1)'::tid)
3329- -> Nested Loop (cost=xxx rows=2 width=xxx)
3255+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
33303256 Join Filter: (t1.c1 = t2.c1)
3331- -> Seq Scan on t2 (cost=xxx rows=1 width=xxx)
3257+ -> Seq Scan on t2 (cost=xxx..xxx rows=1 width=xxx)
33323258 Filter: (ctid = '(1,1)'::tid)
3333- -> Nested Loop (cost=xxx rows=2 width=xxx)
3334- -> Tid Scan on t1 (cost=xxx rows=1 width=xxx)
3259+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
3260+ -> Tid Scan on t1 (cost=xxx..xxx rows=1 width=xxx)
33353261 TID Cond: (ctid = '(1,1)'::tid)
3336- -> Seq Scan on r1 (cost=xxx rows=6 width=xxx)
3262+ -> Seq Scan on r1 (cost=xxx..xxx rows=6 width=xxx)
33373263 Filter: (c1 = 1)
3338-(18 rows)
33393264
33403265 \o results/ut-R.tmpout
33413266 /*+
@@ -3353,27 +3278,26 @@ error hint:
33533278 \! sql/maskout.sh results/ut-R.tmpout
33543279 QUERY PLAN
33553280 ----------------------------------------------------------------------------------------------------
3356- Aggregate (cost=xxx rows=1 width=xxx)
3357- -> Nested Loop (cost=xxx rows=1 width=xxx)
3281+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3282+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
33583283 Join Filter: (b1t1.c1 = b1t4.c1)
3359- -> Nested Loop (cost=xxx rows=1 width=xxx)
3284+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
33603285 Join Filter: (b1t1.c1 = b1t3.c1)
3361- -> Merge Join (cost=xxx rows=1 width=xxx)
3286+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
33623287 Merge Cond: (b1t1.c1 = b1t2.c1)
3363- -> Nested Loop (cost=xxx rows=6 width=xxx)
3364- -> Index Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
3288+ -> Nested Loop (cost=xxx..xxx rows=6 width=xxx)
3289+ -> Index Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
33653290 Filter: (ctid = '(1,1)'::tid)
3366- -> Seq Scan on r1_ (cost=xxx rows=6 width=xxx)
3291+ -> Seq Scan on r1_ (cost=xxx..xxx rows=6 width=xxx)
33673292 Filter: (c1 = 1)
3368- -> Sort (cost=xxx rows=1 width=xxx)
3293+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
33693294 Sort Key: b1t2.c1
3370- -> Seq Scan on t2 b1t2 (cost=xxx rows=1 width=xxx)
3295+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=1 width=xxx)
33713296 Filter: (ctid = '(1,1)'::tid)
3372- -> Tid Scan on t3 b1t3 (cost=xxx rows=1 width=xxx)
3297+ -> Tid Scan on t3 b1t3 (cost=xxx..xxx rows=1 width=xxx)
33733298 TID Cond: (ctid = '(1,1)'::tid)
3374- -> Tid Scan on t4 b1t4 (cost=xxx rows=1 width=xxx)
3299+ -> Tid Scan on t4 b1t4 (cost=xxx..xxx rows=1 width=xxx)
33753300 TID Cond: (ctid = '(1,1)'::tid)
3376-(20 rows)
33773301
33783302 \o results/ut-R.tmpout
33793303 /*+
@@ -3399,25 +3323,24 @@ error hint:
33993323 \! sql/maskout.sh results/ut-R.tmpout
34003324 QUERY PLAN
34013325 -------------------------------------------------------------------------------------
3402- Aggregate (cost=xxx rows=1 width=xxx)
3403- -> Nested Loop (cost=xxx rows=2 width=xxx)
3326+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3327+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
34043328 Join Filter: (b1t1.c1 = b1t4.c1)
3405- -> Tid Scan on t4 b1t4 (cost=xxx rows=1 width=xxx)
3329+ -> Tid Scan on t4 b1t4 (cost=xxx..xxx rows=1 width=xxx)
34063330 TID Cond: (ctid = '(1,1)'::tid)
3407- -> Nested Loop (cost=xxx rows=2 width=xxx)
3331+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
34083332 Join Filter: (b1t1.c1 = b1t3.c1)
3409- -> Tid Scan on t3 b1t3 (cost=xxx rows=1 width=xxx)
3333+ -> Tid Scan on t3 b1t3 (cost=xxx..xxx rows=1 width=xxx)
34103334 TID Cond: (ctid = '(1,1)'::tid)
3411- -> Nested Loop (cost=xxx rows=2 width=xxx)
3335+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
34123336 Join Filter: (b1t1.c1 = b1t2.c1)
3413- -> Seq Scan on t2 b1t2 (cost=xxx rows=1 width=xxx)
3337+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=1 width=xxx)
34143338 Filter: (ctid = '(1,1)'::tid)
3415- -> Nested Loop (cost=xxx rows=2 width=xxx)
3416- -> Tid Scan on t1 b1t1 (cost=xxx rows=1 width=xxx)
3339+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
3340+ -> Tid Scan on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
34173341 TID Cond: (ctid = '(1,1)'::tid)
3418- -> Seq Scan on r1_ (cost=xxx rows=6 width=xxx)
3342+ -> Seq Scan on r1_ (cost=xxx..xxx rows=6 width=xxx)
34193343 Filter: (c1 = 1)
3420-(18 rows)
34213344
34223345 -- No. R-2-3-2
34233346 \o results/ut-R.tmpout
@@ -3443,48 +3366,47 @@ error hint:
34433366 \! sql/maskout.sh results/ut-R.tmpout
34443367 QUERY PLAN
34453368 -----------------------------------------------------------------------------------------------
3446- Aggregate (cost=xxx rows=1 width=xxx)
3447- -> Nested Loop (cost=xxx rows=1 width=xxx)
3369+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3370+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
34483371 Join Filter: (t1.c1 = t4.c1)
3449- -> Nested Loop (cost=xxx rows=1 width=xxx)
3372+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
34503373 Join Filter: (t1.c1 = t3.c1)
3451- -> Merge Join (cost=xxx rows=1 width=xxx)
3374+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
34523375 Merge Cond: (t1.c1 = t2.c1)
3453- -> Nested Loop (cost=xxx rows=6 width=xxx)
3454- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
3376+ -> Nested Loop (cost=xxx..xxx rows=6 width=xxx)
3377+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
34553378 Filter: (ctid = '(1,1)'::tid)
3456- -> Seq Scan on r2 (cost=xxx rows=6 width=xxx)
3379+ -> Seq Scan on r2 (cost=xxx..xxx rows=6 width=xxx)
34573380 Filter: (c1 = 1)
3458- -> Sort (cost=xxx rows=1 width=xxx)
3381+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
34593382 Sort Key: t2.c1
3460- -> Seq Scan on t2 (cost=xxx rows=1 width=xxx)
3383+ -> Seq Scan on t2 (cost=xxx..xxx rows=1 width=xxx)
34613384 Filter: (ctid = '(1,1)'::tid)
3462- -> Tid Scan on t3 (cost=xxx rows=1 width=xxx)
3385+ -> Tid Scan on t3 (cost=xxx..xxx rows=1 width=xxx)
34633386 TID Cond: (ctid = '(1,1)'::tid)
3464- -> Tid Scan on t4 (cost=xxx rows=1 width=xxx)
3387+ -> Tid Scan on t4 (cost=xxx..xxx rows=1 width=xxx)
34653388 TID Cond: (ctid = '(1,1)'::tid)
34663389
3467- Aggregate (cost=xxx rows=1 width=xxx)
3468- -> Nested Loop (cost=xxx rows=1 width=xxx)
3390+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3391+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
34693392 Join Filter: (t1.c1 = t4.c1)
3470- -> Nested Loop (cost=xxx rows=1 width=xxx)
3393+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
34713394 Join Filter: (t1.c1 = t3.c1)
3472- -> Merge Join (cost=xxx rows=1 width=xxx)
3395+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
34733396 Merge Cond: (t1.c1 = t2.c1)
3474- -> Nested Loop (cost=xxx rows=6 width=xxx)
3475- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
3397+ -> Nested Loop (cost=xxx..xxx rows=6 width=xxx)
3398+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
34763399 Filter: (ctid = '(1,1)'::tid)
3477- -> Seq Scan on r2 (cost=xxx rows=6 width=xxx)
3400+ -> Seq Scan on r2 (cost=xxx..xxx rows=6 width=xxx)
34783401 Filter: (c1 = 1)
3479- -> Sort (cost=xxx rows=1 width=xxx)
3402+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
34803403 Sort Key: t2.c1
3481- -> Seq Scan on t2 (cost=xxx rows=1 width=xxx)
3404+ -> Seq Scan on t2 (cost=xxx..xxx rows=1 width=xxx)
34823405 Filter: (ctid = '(1,1)'::tid)
3483- -> Tid Scan on t3 (cost=xxx rows=1 width=xxx)
3406+ -> Tid Scan on t3 (cost=xxx..xxx rows=1 width=xxx)
34843407 TID Cond: (ctid = '(1,1)'::tid)
3485- -> Tid Scan on t4 (cost=xxx rows=1 width=xxx)
3408+ -> Tid Scan on t4 (cost=xxx..xxx rows=1 width=xxx)
34863409 TID Cond: (ctid = '(1,1)'::tid)
3487-(41 rows)
34883410
34893411 \o results/ut-R.tmpout
34903412 /*+
@@ -3521,44 +3443,43 @@ error hint:
35213443 \! sql/maskout.sh results/ut-R.tmpout
35223444 QUERY PLAN
35233445 ---------------------------------------------------------------------------------
3524- Aggregate (cost=xxx rows=1 width=xxx)
3525- -> Nested Loop (cost=xxx rows=2 width=xxx)
3446+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3447+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
35263448 Join Filter: (t1.c1 = t4.c1)
3527- -> Tid Scan on t4 (cost=xxx rows=1 width=xxx)
3449+ -> Tid Scan on t4 (cost=xxx..xxx rows=1 width=xxx)
35283450 TID Cond: (ctid = '(1,1)'::tid)
3529- -> Nested Loop (cost=xxx rows=2 width=xxx)
3451+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
35303452 Join Filter: (t1.c1 = t3.c1)
3531- -> Tid Scan on t3 (cost=xxx rows=1 width=xxx)
3453+ -> Tid Scan on t3 (cost=xxx..xxx rows=1 width=xxx)
35323454 TID Cond: (ctid = '(1,1)'::tid)
3533- -> Nested Loop (cost=xxx rows=2 width=xxx)
3455+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
35343456 Join Filter: (t1.c1 = t2.c1)
3535- -> Seq Scan on t2 (cost=xxx rows=1 width=xxx)
3457+ -> Seq Scan on t2 (cost=xxx..xxx rows=1 width=xxx)
35363458 Filter: (ctid = '(1,1)'::tid)
3537- -> Nested Loop (cost=xxx rows=2 width=xxx)
3538- -> Tid Scan on t1 (cost=xxx rows=1 width=xxx)
3459+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
3460+ -> Tid Scan on t1 (cost=xxx..xxx rows=1 width=xxx)
35393461 TID Cond: (ctid = '(1,1)'::tid)
3540- -> Seq Scan on r2 (cost=xxx rows=6 width=xxx)
3462+ -> Seq Scan on r2 (cost=xxx..xxx rows=6 width=xxx)
35413463 Filter: (c1 = 1)
35423464
3543- Aggregate (cost=xxx rows=1 width=xxx)
3544- -> Nested Loop (cost=xxx rows=2 width=xxx)
3465+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3466+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
35453467 Join Filter: (t1.c1 = t4.c1)
3546- -> Tid Scan on t4 (cost=xxx rows=1 width=xxx)
3468+ -> Tid Scan on t4 (cost=xxx..xxx rows=1 width=xxx)
35473469 TID Cond: (ctid = '(1,1)'::tid)
3548- -> Nested Loop (cost=xxx rows=2 width=xxx)
3470+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
35493471 Join Filter: (t1.c1 = t3.c1)
3550- -> Tid Scan on t3 (cost=xxx rows=1 width=xxx)
3472+ -> Tid Scan on t3 (cost=xxx..xxx rows=1 width=xxx)
35513473 TID Cond: (ctid = '(1,1)'::tid)
3552- -> Nested Loop (cost=xxx rows=2 width=xxx)
3474+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
35533475 Join Filter: (t1.c1 = t2.c1)
3554- -> Seq Scan on t2 (cost=xxx rows=1 width=xxx)
3476+ -> Seq Scan on t2 (cost=xxx..xxx rows=1 width=xxx)
35553477 Filter: (ctid = '(1,1)'::tid)
3556- -> Nested Loop (cost=xxx rows=2 width=xxx)
3557- -> Tid Scan on t1 (cost=xxx rows=1 width=xxx)
3478+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
3479+ -> Tid Scan on t1 (cost=xxx..xxx rows=1 width=xxx)
35583480 TID Cond: (ctid = '(1,1)'::tid)
3559- -> Seq Scan on r2 (cost=xxx rows=6 width=xxx)
3481+ -> Seq Scan on r2 (cost=xxx..xxx rows=6 width=xxx)
35603482 Filter: (c1 = 1)
3561-(37 rows)
35623483
35633484 \o results/ut-R.tmpout
35643485 /*+
@@ -3586,48 +3507,47 @@ error hint:
35863507 \! sql/maskout.sh results/ut-R.tmpout
35873508 QUERY PLAN
35883509 ----------------------------------------------------------------------------------------------------
3589- Aggregate (cost=xxx rows=1 width=xxx)
3590- -> Nested Loop (cost=xxx rows=1 width=xxx)
3510+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3511+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
35913512 Join Filter: (b1t1.c1 = b1t4.c1)
3592- -> Nested Loop (cost=xxx rows=1 width=xxx)
3513+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
35933514 Join Filter: (b1t1.c1 = b1t3.c1)
3594- -> Merge Join (cost=xxx rows=1 width=xxx)
3515+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
35953516 Merge Cond: (b1t1.c1 = b1t2.c1)
3596- -> Nested Loop (cost=xxx rows=6 width=xxx)
3597- -> Index Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
3517+ -> Nested Loop (cost=xxx..xxx rows=6 width=xxx)
3518+ -> Index Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
35983519 Filter: (ctid = '(1,1)'::tid)
3599- -> Seq Scan on r2_ (cost=xxx rows=6 width=xxx)
3520+ -> Seq Scan on r2_ (cost=xxx..xxx rows=6 width=xxx)
36003521 Filter: (c1 = 1)
3601- -> Sort (cost=xxx rows=1 width=xxx)
3522+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
36023523 Sort Key: b1t2.c1
3603- -> Seq Scan on t2 b1t2 (cost=xxx rows=1 width=xxx)
3524+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=1 width=xxx)
36043525 Filter: (ctid = '(1,1)'::tid)
3605- -> Tid Scan on t3 b1t3 (cost=xxx rows=1 width=xxx)
3526+ -> Tid Scan on t3 b1t3 (cost=xxx..xxx rows=1 width=xxx)
36063527 TID Cond: (ctid = '(1,1)'::tid)
3607- -> Tid Scan on t4 b1t4 (cost=xxx rows=1 width=xxx)
3528+ -> Tid Scan on t4 b1t4 (cost=xxx..xxx rows=1 width=xxx)
36083529 TID Cond: (ctid = '(1,1)'::tid)
36093530
3610- Aggregate (cost=xxx rows=1 width=xxx)
3611- -> Nested Loop (cost=xxx rows=1 width=xxx)
3531+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3532+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
36123533 Join Filter: (b2t1.c1 = b2t4.c1)
3613- -> Nested Loop (cost=xxx rows=1 width=xxx)
3534+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
36143535 Join Filter: (b2t1.c1 = b2t3.c1)
3615- -> Merge Join (cost=xxx rows=1 width=xxx)
3536+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
36163537 Merge Cond: (b2t1.c1 = b2t2.c1)
3617- -> Nested Loop (cost=xxx rows=6 width=xxx)
3618- -> Index Scan using t1_i1 on t1 b2t1 (cost=xxx rows=1 width=xxx)
3538+ -> Nested Loop (cost=xxx..xxx rows=6 width=xxx)
3539+ -> Index Scan using t1_i1 on t1 b2t1 (cost=xxx..xxx rows=1 width=xxx)
36193540 Filter: (ctid = '(1,1)'::tid)
3620- -> Seq Scan on r2_ (cost=xxx rows=6 width=xxx)
3541+ -> Seq Scan on r2_ (cost=xxx..xxx rows=6 width=xxx)
36213542 Filter: (c1 = 1)
3622- -> Sort (cost=xxx rows=1 width=xxx)
3543+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
36233544 Sort Key: b2t2.c1
3624- -> Seq Scan on t2 b2t2 (cost=xxx rows=1 width=xxx)
3545+ -> Seq Scan on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
36253546 Filter: (ctid = '(1,1)'::tid)
3626- -> Tid Scan on t3 b2t3 (cost=xxx rows=1 width=xxx)
3547+ -> Tid Scan on t3 b2t3 (cost=xxx..xxx rows=1 width=xxx)
36273548 TID Cond: (ctid = '(1,1)'::tid)
3628- -> Tid Scan on t4 b2t4 (cost=xxx rows=1 width=xxx)
3549+ -> Tid Scan on t4 b2t4 (cost=xxx..xxx rows=1 width=xxx)
36293550 TID Cond: (ctid = '(1,1)'::tid)
3630-(41 rows)
36313551
36323552 \o results/ut-R.tmpout
36333553 /*+
@@ -3679,44 +3599,43 @@ error hint:
36793599 \! sql/maskout.sh results/ut-R.tmpout
36803600 QUERY PLAN
36813601 -------------------------------------------------------------------------------------
3682- Aggregate (cost=xxx rows=1 width=xxx)
3683- -> Nested Loop (cost=xxx rows=2 width=xxx)
3602+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3603+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
36843604 Join Filter: (b1t1.c1 = b1t4.c1)
3685- -> Tid Scan on t4 b1t4 (cost=xxx rows=1 width=xxx)
3605+ -> Tid Scan on t4 b1t4 (cost=xxx..xxx rows=1 width=xxx)
36863606 TID Cond: (ctid = '(1,1)'::tid)
3687- -> Nested Loop (cost=xxx rows=2 width=xxx)
3607+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
36883608 Join Filter: (b1t1.c1 = b1t3.c1)
3689- -> Tid Scan on t3 b1t3 (cost=xxx rows=1 width=xxx)
3609+ -> Tid Scan on t3 b1t3 (cost=xxx..xxx rows=1 width=xxx)
36903610 TID Cond: (ctid = '(1,1)'::tid)
3691- -> Nested Loop (cost=xxx rows=2 width=xxx)
3611+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
36923612 Join Filter: (b1t1.c1 = b1t2.c1)
3693- -> Seq Scan on t2 b1t2 (cost=xxx rows=1 width=xxx)
3613+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=1 width=xxx)
36943614 Filter: (ctid = '(1,1)'::tid)
3695- -> Nested Loop (cost=xxx rows=2 width=xxx)
3696- -> Tid Scan on t1 b1t1 (cost=xxx rows=1 width=xxx)
3615+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
3616+ -> Tid Scan on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
36973617 TID Cond: (ctid = '(1,1)'::tid)
3698- -> Seq Scan on r2_ (cost=xxx rows=6 width=xxx)
3618+ -> Seq Scan on r2_ (cost=xxx..xxx rows=6 width=xxx)
36993619 Filter: (c1 = 1)
37003620
3701- Aggregate (cost=xxx rows=1 width=xxx)
3702- -> Nested Loop (cost=xxx rows=2 width=xxx)
3621+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3622+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
37033623 Join Filter: (b2t1.c1 = b2t4.c1)
3704- -> Tid Scan on t4 b2t4 (cost=xxx rows=1 width=xxx)
3624+ -> Tid Scan on t4 b2t4 (cost=xxx..xxx rows=1 width=xxx)
37053625 TID Cond: (ctid = '(1,1)'::tid)
3706- -> Nested Loop (cost=xxx rows=2 width=xxx)
3626+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
37073627 Join Filter: (b2t1.c1 = b2t3.c1)
3708- -> Tid Scan on t3 b2t3 (cost=xxx rows=1 width=xxx)
3628+ -> Tid Scan on t3 b2t3 (cost=xxx..xxx rows=1 width=xxx)
37093629 TID Cond: (ctid = '(1,1)'::tid)
3710- -> Nested Loop (cost=xxx rows=2 width=xxx)
3630+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
37113631 Join Filter: (b2t1.c1 = b2t2.c1)
3712- -> Seq Scan on t2 b2t2 (cost=xxx rows=1 width=xxx)
3632+ -> Seq Scan on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
37133633 Filter: (ctid = '(1,1)'::tid)
3714- -> Nested Loop (cost=xxx rows=2 width=xxx)
3715- -> Tid Scan on t1 b2t1 (cost=xxx rows=1 width=xxx)
3634+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
3635+ -> Tid Scan on t1 b2t1 (cost=xxx..xxx rows=1 width=xxx)
37163636 TID Cond: (ctid = '(1,1)'::tid)
3717- -> Seq Scan on r2_ (cost=xxx rows=6 width=xxx)
3637+ -> Seq Scan on r2_ (cost=xxx..xxx rows=6 width=xxx)
37183638 Filter: (c1 = 1)
3719-(37 rows)
37203639
37213640 -- No. R-2-3-3
37223641 \o results/ut-R.tmpout
@@ -3749,69 +3668,68 @@ error hint:
37493668 \! sql/maskout.sh results/ut-R.tmpout
37503669 QUERY PLAN
37513670 -----------------------------------------------------------------------------------------------
3752- Aggregate (cost=xxx rows=1 width=xxx)
3753- -> Nested Loop (cost=xxx rows=1 width=xxx)
3671+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3672+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
37543673 Join Filter: (t1.c1 = t4.c1)
3755- -> Nested Loop (cost=xxx rows=1 width=xxx)
3674+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
37563675 Join Filter: (t1.c1 = t3.c1)
3757- -> Merge Join (cost=xxx rows=1 width=xxx)
3676+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
37583677 Merge Cond: (t1.c1 = t2.c1)
3759- -> Nested Loop (cost=xxx rows=6 width=xxx)
3760- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
3678+ -> Nested Loop (cost=xxx..xxx rows=6 width=xxx)
3679+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
37613680 Filter: (ctid = '(1,1)'::tid)
3762- -> Seq Scan on r3 (cost=xxx rows=6 width=xxx)
3681+ -> Seq Scan on r3 (cost=xxx..xxx rows=6 width=xxx)
37633682 Filter: (c1 = 1)
3764- -> Sort (cost=xxx rows=1 width=xxx)
3683+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
37653684 Sort Key: t2.c1
3766- -> Seq Scan on t2 (cost=xxx rows=1 width=xxx)
3685+ -> Seq Scan on t2 (cost=xxx..xxx rows=1 width=xxx)
37673686 Filter: (ctid = '(1,1)'::tid)
3768- -> Tid Scan on t3 (cost=xxx rows=1 width=xxx)
3687+ -> Tid Scan on t3 (cost=xxx..xxx rows=1 width=xxx)
37693688 TID Cond: (ctid = '(1,1)'::tid)
3770- -> Tid Scan on t4 (cost=xxx rows=1 width=xxx)
3689+ -> Tid Scan on t4 (cost=xxx..xxx rows=1 width=xxx)
37713690 TID Cond: (ctid = '(1,1)'::tid)
37723691
3773- Aggregate (cost=xxx rows=1 width=xxx)
3774- -> Nested Loop (cost=xxx rows=1 width=xxx)
3692+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3693+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
37753694 Join Filter: (t1.c1 = t4.c1)
3776- -> Nested Loop (cost=xxx rows=1 width=xxx)
3695+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
37773696 Join Filter: (t1.c1 = t3.c1)
3778- -> Merge Join (cost=xxx rows=1 width=xxx)
3697+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
37793698 Merge Cond: (t1.c1 = t2.c1)
3780- -> Nested Loop (cost=xxx rows=6 width=xxx)
3781- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
3699+ -> Nested Loop (cost=xxx..xxx rows=6 width=xxx)
3700+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
37823701 Filter: (ctid = '(1,1)'::tid)
3783- -> Seq Scan on r3 (cost=xxx rows=6 width=xxx)
3702+ -> Seq Scan on r3 (cost=xxx..xxx rows=6 width=xxx)
37843703 Filter: (c1 = 1)
3785- -> Sort (cost=xxx rows=1 width=xxx)
3704+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
37863705 Sort Key: t2.c1
3787- -> Seq Scan on t2 (cost=xxx rows=1 width=xxx)
3706+ -> Seq Scan on t2 (cost=xxx..xxx rows=1 width=xxx)
37883707 Filter: (ctid = '(1,1)'::tid)
3789- -> Tid Scan on t3 (cost=xxx rows=1 width=xxx)
3708+ -> Tid Scan on t3 (cost=xxx..xxx rows=1 width=xxx)
37903709 TID Cond: (ctid = '(1,1)'::tid)
3791- -> Tid Scan on t4 (cost=xxx rows=1 width=xxx)
3710+ -> Tid Scan on t4 (cost=xxx..xxx rows=1 width=xxx)
37923711 TID Cond: (ctid = '(1,1)'::tid)
37933712
3794- Aggregate (cost=xxx rows=1 width=xxx)
3795- -> Nested Loop (cost=xxx rows=1 width=xxx)
3713+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3714+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
37963715 Join Filter: (t1.c1 = t4.c1)
3797- -> Nested Loop (cost=xxx rows=1 width=xxx)
3716+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
37983717 Join Filter: (t1.c1 = t3.c1)
3799- -> Merge Join (cost=xxx rows=1 width=xxx)
3718+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
38003719 Merge Cond: (t1.c1 = t2.c1)
3801- -> Nested Loop (cost=xxx rows=6 width=xxx)
3802- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
3720+ -> Nested Loop (cost=xxx..xxx rows=6 width=xxx)
3721+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
38033722 Filter: (ctid = '(1,1)'::tid)
3804- -> Seq Scan on r3 (cost=xxx rows=6 width=xxx)
3723+ -> Seq Scan on r3 (cost=xxx..xxx rows=6 width=xxx)
38053724 Filter: (c1 = 1)
3806- -> Sort (cost=xxx rows=1 width=xxx)
3725+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
38073726 Sort Key: t2.c1
3808- -> Seq Scan on t2 (cost=xxx rows=1 width=xxx)
3727+ -> Seq Scan on t2 (cost=xxx..xxx rows=1 width=xxx)
38093728 Filter: (ctid = '(1,1)'::tid)
3810- -> Tid Scan on t3 (cost=xxx rows=1 width=xxx)
3729+ -> Tid Scan on t3 (cost=xxx..xxx rows=1 width=xxx)
38113730 TID Cond: (ctid = '(1,1)'::tid)
3812- -> Tid Scan on t4 (cost=xxx rows=1 width=xxx)
3731+ -> Tid Scan on t4 (cost=xxx..xxx rows=1 width=xxx)
38133732 TID Cond: (ctid = '(1,1)'::tid)
3814-(62 rows)
38153733
38163734 \o results/ut-R.tmpout
38173735 /*+
@@ -3859,63 +3777,62 @@ error hint:
38593777 \! sql/maskout.sh results/ut-R.tmpout
38603778 QUERY PLAN
38613779 ---------------------------------------------------------------------------------
3862- Aggregate (cost=xxx rows=1 width=xxx)
3863- -> Nested Loop (cost=xxx rows=2 width=xxx)
3780+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3781+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
38643782 Join Filter: (t1.c1 = t4.c1)
3865- -> Tid Scan on t4 (cost=xxx rows=1 width=xxx)
3783+ -> Tid Scan on t4 (cost=xxx..xxx rows=1 width=xxx)
38663784 TID Cond: (ctid = '(1,1)'::tid)
3867- -> Nested Loop (cost=xxx rows=2 width=xxx)
3785+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
38683786 Join Filter: (t1.c1 = t3.c1)
3869- -> Tid Scan on t3 (cost=xxx rows=1 width=xxx)
3787+ -> Tid Scan on t3 (cost=xxx..xxx rows=1 width=xxx)
38703788 TID Cond: (ctid = '(1,1)'::tid)
3871- -> Nested Loop (cost=xxx rows=2 width=xxx)
3789+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
38723790 Join Filter: (t1.c1 = t2.c1)
3873- -> Seq Scan on t2 (cost=xxx rows=1 width=xxx)
3791+ -> Seq Scan on t2 (cost=xxx..xxx rows=1 width=xxx)
38743792 Filter: (ctid = '(1,1)'::tid)
3875- -> Nested Loop (cost=xxx rows=2 width=xxx)
3876- -> Tid Scan on t1 (cost=xxx rows=1 width=xxx)
3793+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
3794+ -> Tid Scan on t1 (cost=xxx..xxx rows=1 width=xxx)
38773795 TID Cond: (ctid = '(1,1)'::tid)
3878- -> Seq Scan on r3 (cost=xxx rows=6 width=xxx)
3796+ -> Seq Scan on r3 (cost=xxx..xxx rows=6 width=xxx)
38793797 Filter: (c1 = 1)
38803798
3881- Aggregate (cost=xxx rows=1 width=xxx)
3882- -> Nested Loop (cost=xxx rows=2 width=xxx)
3799+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3800+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
38833801 Join Filter: (t1.c1 = t4.c1)
3884- -> Tid Scan on t4 (cost=xxx rows=1 width=xxx)
3802+ -> Tid Scan on t4 (cost=xxx..xxx rows=1 width=xxx)
38853803 TID Cond: (ctid = '(1,1)'::tid)
3886- -> Nested Loop (cost=xxx rows=2 width=xxx)
3804+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
38873805 Join Filter: (t1.c1 = t3.c1)
3888- -> Tid Scan on t3 (cost=xxx rows=1 width=xxx)
3806+ -> Tid Scan on t3 (cost=xxx..xxx rows=1 width=xxx)
38893807 TID Cond: (ctid = '(1,1)'::tid)
3890- -> Nested Loop (cost=xxx rows=2 width=xxx)
3808+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
38913809 Join Filter: (t1.c1 = t2.c1)
3892- -> Seq Scan on t2 (cost=xxx rows=1 width=xxx)
3810+ -> Seq Scan on t2 (cost=xxx..xxx rows=1 width=xxx)
38933811 Filter: (ctid = '(1,1)'::tid)
3894- -> Nested Loop (cost=xxx rows=2 width=xxx)
3895- -> Tid Scan on t1 (cost=xxx rows=1 width=xxx)
3812+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
3813+ -> Tid Scan on t1 (cost=xxx..xxx rows=1 width=xxx)
38963814 TID Cond: (ctid = '(1,1)'::tid)
3897- -> Seq Scan on r3 (cost=xxx rows=6 width=xxx)
3815+ -> Seq Scan on r3 (cost=xxx..xxx rows=6 width=xxx)
38983816 Filter: (c1 = 1)
38993817
3900- Aggregate (cost=xxx rows=1 width=xxx)
3901- -> Nested Loop (cost=xxx rows=2 width=xxx)
3818+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3819+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
39023820 Join Filter: (t1.c1 = t4.c1)
3903- -> Tid Scan on t4 (cost=xxx rows=1 width=xxx)
3821+ -> Tid Scan on t4 (cost=xxx..xxx rows=1 width=xxx)
39043822 TID Cond: (ctid = '(1,1)'::tid)
3905- -> Nested Loop (cost=xxx rows=2 width=xxx)
3823+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
39063824 Join Filter: (t1.c1 = t3.c1)
3907- -> Tid Scan on t3 (cost=xxx rows=1 width=xxx)
3825+ -> Tid Scan on t3 (cost=xxx..xxx rows=1 width=xxx)
39083826 TID Cond: (ctid = '(1,1)'::tid)
3909- -> Nested Loop (cost=xxx rows=2 width=xxx)
3827+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
39103828 Join Filter: (t1.c1 = t2.c1)
3911- -> Seq Scan on t2 (cost=xxx rows=1 width=xxx)
3829+ -> Seq Scan on t2 (cost=xxx..xxx rows=1 width=xxx)
39123830 Filter: (ctid = '(1,1)'::tid)
3913- -> Nested Loop (cost=xxx rows=2 width=xxx)
3914- -> Tid Scan on t1 (cost=xxx rows=1 width=xxx)
3831+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
3832+ -> Tid Scan on t1 (cost=xxx..xxx rows=1 width=xxx)
39153833 TID Cond: (ctid = '(1,1)'::tid)
3916- -> Seq Scan on r3 (cost=xxx rows=6 width=xxx)
3834+ -> Seq Scan on r3 (cost=xxx..xxx rows=6 width=xxx)
39173835 Filter: (c1 = 1)
3918-(56 rows)
39193836
39203837 \o results/ut-R.tmpout
39213838 /*+
@@ -3955,69 +3872,68 @@ error hint:
39553872 \! sql/maskout.sh results/ut-R.tmpout
39563873 QUERY PLAN
39573874 ----------------------------------------------------------------------------------------------------
3958- Aggregate (cost=xxx rows=1 width=xxx)
3959- -> Nested Loop (cost=xxx rows=1 width=xxx)
3875+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3876+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
39603877 Join Filter: (b1t1.c1 = b1t4.c1)
3961- -> Nested Loop (cost=xxx rows=1 width=xxx)
3878+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
39623879 Join Filter: (b1t1.c1 = b1t3.c1)
3963- -> Merge Join (cost=xxx rows=1 width=xxx)
3880+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
39643881 Merge Cond: (b1t1.c1 = b1t2.c1)
3965- -> Nested Loop (cost=xxx rows=6 width=xxx)
3966- -> Index Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
3882+ -> Nested Loop (cost=xxx..xxx rows=6 width=xxx)
3883+ -> Index Scan using t1_i1 on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
39673884 Filter: (ctid = '(1,1)'::tid)
3968- -> Seq Scan on r3_ (cost=xxx rows=6 width=xxx)
3885+ -> Seq Scan on r3_ (cost=xxx..xxx rows=6 width=xxx)
39693886 Filter: (c1 = 1)
3970- -> Sort (cost=xxx rows=1 width=xxx)
3887+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
39713888 Sort Key: b1t2.c1
3972- -> Seq Scan on t2 b1t2 (cost=xxx rows=1 width=xxx)
3889+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=1 width=xxx)
39733890 Filter: (ctid = '(1,1)'::tid)
3974- -> Tid Scan on t3 b1t3 (cost=xxx rows=1 width=xxx)
3891+ -> Tid Scan on t3 b1t3 (cost=xxx..xxx rows=1 width=xxx)
39753892 TID Cond: (ctid = '(1,1)'::tid)
3976- -> Tid Scan on t4 b1t4 (cost=xxx rows=1 width=xxx)
3893+ -> Tid Scan on t4 b1t4 (cost=xxx..xxx rows=1 width=xxx)
39773894 TID Cond: (ctid = '(1,1)'::tid)
39783895
3979- Aggregate (cost=xxx rows=1 width=xxx)
3980- -> Nested Loop (cost=xxx rows=1 width=xxx)
3896+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3897+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
39813898 Join Filter: (b2t1.c1 = b2t4.c1)
3982- -> Nested Loop (cost=xxx rows=1 width=xxx)
3899+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
39833900 Join Filter: (b2t1.c1 = b2t3.c1)
3984- -> Merge Join (cost=xxx rows=1 width=xxx)
3901+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
39853902 Merge Cond: (b2t1.c1 = b2t2.c1)
3986- -> Nested Loop (cost=xxx rows=6 width=xxx)
3987- -> Index Scan using t1_i1 on t1 b2t1 (cost=xxx rows=1 width=xxx)
3903+ -> Nested Loop (cost=xxx..xxx rows=6 width=xxx)
3904+ -> Index Scan using t1_i1 on t1 b2t1 (cost=xxx..xxx rows=1 width=xxx)
39883905 Filter: (ctid = '(1,1)'::tid)
3989- -> Seq Scan on r3_ (cost=xxx rows=6 width=xxx)
3906+ -> Seq Scan on r3_ (cost=xxx..xxx rows=6 width=xxx)
39903907 Filter: (c1 = 1)
3991- -> Sort (cost=xxx rows=1 width=xxx)
3908+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
39923909 Sort Key: b2t2.c1
3993- -> Seq Scan on t2 b2t2 (cost=xxx rows=1 width=xxx)
3910+ -> Seq Scan on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
39943911 Filter: (ctid = '(1,1)'::tid)
3995- -> Tid Scan on t3 b2t3 (cost=xxx rows=1 width=xxx)
3912+ -> Tid Scan on t3 b2t3 (cost=xxx..xxx rows=1 width=xxx)
39963913 TID Cond: (ctid = '(1,1)'::tid)
3997- -> Tid Scan on t4 b2t4 (cost=xxx rows=1 width=xxx)
3914+ -> Tid Scan on t4 b2t4 (cost=xxx..xxx rows=1 width=xxx)
39983915 TID Cond: (ctid = '(1,1)'::tid)
39993916
4000- Aggregate (cost=xxx rows=1 width=xxx)
4001- -> Nested Loop (cost=xxx rows=1 width=xxx)
3917+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
3918+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
40023919 Join Filter: (b3t1.c1 = b3t4.c1)
4003- -> Nested Loop (cost=xxx rows=1 width=xxx)
3920+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
40043921 Join Filter: (b3t1.c1 = b3t3.c1)
4005- -> Merge Join (cost=xxx rows=1 width=xxx)
3922+ -> Merge Join (cost=xxx..xxx rows=1 width=xxx)
40063923 Merge Cond: (b3t1.c1 = b3t2.c1)
4007- -> Nested Loop (cost=xxx rows=6 width=xxx)
4008- -> Index Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1 width=xxx)
3924+ -> Nested Loop (cost=xxx..xxx rows=6 width=xxx)
3925+ -> Index Scan using t1_i1 on t1 b3t1 (cost=xxx..xxx rows=1 width=xxx)
40093926 Filter: (ctid = '(1,1)'::tid)
4010- -> Seq Scan on r3_ (cost=xxx rows=6 width=xxx)
3927+ -> Seq Scan on r3_ (cost=xxx..xxx rows=6 width=xxx)
40113928 Filter: (c1 = 1)
4012- -> Sort (cost=xxx rows=1 width=xxx)
3929+ -> Sort (cost=xxx..xxx rows=1 width=xxx)
40133930 Sort Key: b3t2.c1
4014- -> Seq Scan on t2 b3t2 (cost=xxx rows=1 width=xxx)
3931+ -> Seq Scan on t2 b3t2 (cost=xxx..xxx rows=1 width=xxx)
40153932 Filter: (ctid = '(1,1)'::tid)
4016- -> Tid Scan on t3 b3t3 (cost=xxx rows=1 width=xxx)
3933+ -> Tid Scan on t3 b3t3 (cost=xxx..xxx rows=1 width=xxx)
40173934 TID Cond: (ctid = '(1,1)'::tid)
4018- -> Tid Scan on t4 b3t4 (cost=xxx rows=1 width=xxx)
3935+ -> Tid Scan on t4 b3t4 (cost=xxx..xxx rows=1 width=xxx)
40193936 TID Cond: (ctid = '(1,1)'::tid)
4020-(62 rows)
40213937
40223938 \o results/ut-R.tmpout
40233939 /*+
@@ -4105,63 +4021,62 @@ error hint:
41054021 \! sql/maskout.sh results/ut-R.tmpout
41064022 QUERY PLAN
41074023 -------------------------------------------------------------------------------------
4108- Aggregate (cost=xxx rows=1 width=xxx)
4109- -> Nested Loop (cost=xxx rows=2 width=xxx)
4024+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
4025+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
41104026 Join Filter: (b1t1.c1 = b1t4.c1)
4111- -> Tid Scan on t4 b1t4 (cost=xxx rows=1 width=xxx)
4027+ -> Tid Scan on t4 b1t4 (cost=xxx..xxx rows=1 width=xxx)
41124028 TID Cond: (ctid = '(1,1)'::tid)
4113- -> Nested Loop (cost=xxx rows=2 width=xxx)
4029+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
41144030 Join Filter: (b1t1.c1 = b1t3.c1)
4115- -> Tid Scan on t3 b1t3 (cost=xxx rows=1 width=xxx)
4031+ -> Tid Scan on t3 b1t3 (cost=xxx..xxx rows=1 width=xxx)
41164032 TID Cond: (ctid = '(1,1)'::tid)
4117- -> Nested Loop (cost=xxx rows=2 width=xxx)
4033+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
41184034 Join Filter: (b1t1.c1 = b1t2.c1)
4119- -> Seq Scan on t2 b1t2 (cost=xxx rows=1 width=xxx)
4035+ -> Seq Scan on t2 b1t2 (cost=xxx..xxx rows=1 width=xxx)
41204036 Filter: (ctid = '(1,1)'::tid)
4121- -> Nested Loop (cost=xxx rows=2 width=xxx)
4122- -> Tid Scan on t1 b1t1 (cost=xxx rows=1 width=xxx)
4037+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
4038+ -> Tid Scan on t1 b1t1 (cost=xxx..xxx rows=1 width=xxx)
41234039 TID Cond: (ctid = '(1,1)'::tid)
4124- -> Seq Scan on r3_ (cost=xxx rows=6 width=xxx)
4040+ -> Seq Scan on r3_ (cost=xxx..xxx rows=6 width=xxx)
41254041 Filter: (c1 = 1)
41264042
4127- Aggregate (cost=xxx rows=1 width=xxx)
4128- -> Nested Loop (cost=xxx rows=2 width=xxx)
4043+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
4044+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
41294045 Join Filter: (b2t1.c1 = b2t4.c1)
4130- -> Tid Scan on t4 b2t4 (cost=xxx rows=1 width=xxx)
4046+ -> Tid Scan on t4 b2t4 (cost=xxx..xxx rows=1 width=xxx)
41314047 TID Cond: (ctid = '(1,1)'::tid)
4132- -> Nested Loop (cost=xxx rows=2 width=xxx)
4048+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
41334049 Join Filter: (b2t1.c1 = b2t3.c1)
4134- -> Tid Scan on t3 b2t3 (cost=xxx rows=1 width=xxx)
4050+ -> Tid Scan on t3 b2t3 (cost=xxx..xxx rows=1 width=xxx)
41354051 TID Cond: (ctid = '(1,1)'::tid)
4136- -> Nested Loop (cost=xxx rows=2 width=xxx)
4052+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
41374053 Join Filter: (b2t1.c1 = b2t2.c1)
4138- -> Seq Scan on t2 b2t2 (cost=xxx rows=1 width=xxx)
4054+ -> Seq Scan on t2 b2t2 (cost=xxx..xxx rows=1 width=xxx)
41394055 Filter: (ctid = '(1,1)'::tid)
4140- -> Nested Loop (cost=xxx rows=2 width=xxx)
4141- -> Tid Scan on t1 b2t1 (cost=xxx rows=1 width=xxx)
4056+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
4057+ -> Tid Scan on t1 b2t1 (cost=xxx..xxx rows=1 width=xxx)
41424058 TID Cond: (ctid = '(1,1)'::tid)
4143- -> Seq Scan on r3_ (cost=xxx rows=6 width=xxx)
4059+ -> Seq Scan on r3_ (cost=xxx..xxx rows=6 width=xxx)
41444060 Filter: (c1 = 1)
41454061
4146- Aggregate (cost=xxx rows=1 width=xxx)
4147- -> Nested Loop (cost=xxx rows=2 width=xxx)
4062+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
4063+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
41484064 Join Filter: (b3t1.c1 = b3t4.c1)
4149- -> Tid Scan on t4 b3t4 (cost=xxx rows=1 width=xxx)
4065+ -> Tid Scan on t4 b3t4 (cost=xxx..xxx rows=1 width=xxx)
41504066 TID Cond: (ctid = '(1,1)'::tid)
4151- -> Nested Loop (cost=xxx rows=2 width=xxx)
4067+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
41524068 Join Filter: (b3t1.c1 = b3t3.c1)
4153- -> Tid Scan on t3 b3t3 (cost=xxx rows=1 width=xxx)
4069+ -> Tid Scan on t3 b3t3 (cost=xxx..xxx rows=1 width=xxx)
41544070 TID Cond: (ctid = '(1,1)'::tid)
4155- -> Nested Loop (cost=xxx rows=2 width=xxx)
4071+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
41564072 Join Filter: (b3t1.c1 = b3t2.c1)
4157- -> Seq Scan on t2 b3t2 (cost=xxx rows=1 width=xxx)
4073+ -> Seq Scan on t2 b3t2 (cost=xxx..xxx rows=1 width=xxx)
41584074 Filter: (ctid = '(1,1)'::tid)
4159- -> Nested Loop (cost=xxx rows=2 width=xxx)
4160- -> Tid Scan on t1 b3t1 (cost=xxx rows=1 width=xxx)
4075+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
4076+ -> Tid Scan on t1 b3t1 (cost=xxx..xxx rows=1 width=xxx)
41614077 TID Cond: (ctid = '(1,1)'::tid)
4162- -> Seq Scan on r3_ (cost=xxx rows=6 width=xxx)
4078+ -> Seq Scan on r3_ (cost=xxx..xxx rows=6 width=xxx)
41634079 Filter: (c1 = 1)
4164-(56 rows)
41654080
41664081 -- No. R-2-3-4
41674082 \o results/ut-R.tmpout
@@ -4180,12 +4095,11 @@ HashJoin(v1t1 v1t1)
41804095 \! sql/maskout.sh results/ut-R.tmpout
41814096 QUERY PLAN
41824097 --------------------------------------------------------------------------
4183- Hash Join (cost=xxx rows=1000 width=xxx)
4098+ Hash Join (cost=xxx..xxx rows=1000 width=xxx)
41844099 Hash Cond: (v1t1.c1 = v1t1_1.c1)
4185- -> Seq Scan on t1 v1t1 (cost=xxx rows=1000 width=xxx)
4186- -> Hash (cost=xxx rows=1000 width=xxx)
4187- -> Seq Scan on t1 v1t1_1 (cost=xxx rows=1000 width=xxx)
4188-(5 rows)
4100+ -> Seq Scan on t1 v1t1 (cost=xxx..xxx rows=1000 width=xxx)
4101+ -> Hash (cost=xxx..xxx rows=1000 width=xxx)
4102+ -> Seq Scan on t1 v1t1_1 (cost=xxx..xxx rows=1000 width=xxx)
41894103
41904104 \o results/ut-R.tmpout
41914105 /*+HashJoin(v1t1 v1t1)Rows(v1t1 v1t1 #1)*/
@@ -4206,12 +4120,11 @@ Rows(v1t1 v1t1 #1)
42064120 \! sql/maskout.sh results/ut-R.tmpout
42074121 QUERY PLAN
42084122 --------------------------------------------------------------------------
4209- Hash Join (cost=xxx rows=1000 width=xxx)
4123+ Hash Join (cost=xxx..xxx rows=1000 width=xxx)
42104124 Hash Cond: (v1t1.c1 = v1t1_1.c1)
4211- -> Seq Scan on t1 v1t1 (cost=xxx rows=1000 width=xxx)
4212- -> Hash (cost=xxx rows=1000 width=xxx)
4213- -> Seq Scan on t1 v1t1_1 (cost=xxx rows=1000 width=xxx)
4214-(5 rows)
4125+ -> Seq Scan on t1 v1t1 (cost=xxx..xxx rows=1000 width=xxx)
4126+ -> Hash (cost=xxx..xxx rows=1000 width=xxx)
4127+ -> Seq Scan on t1 v1t1_1 (cost=xxx..xxx rows=1000 width=xxx)
42154128
42164129 -- No. R-2-3-5
42174130 \o results/ut-R.tmpout
@@ -4228,11 +4141,10 @@ error hint:
42284141 \! sql/maskout.sh results/ut-R.tmpout
42294142 QUERY PLAN
42304143 -----------------------------------------------------------------------------
4231- Nested Loop (cost=xxx rows=1000 width=xxx)
4232- -> Seq Scan on t1 v1t1 (cost=xxx rows=1000 width=xxx)
4233- -> Index Scan using t1_i1 on t1 v1t1_ (cost=xxx rows=1 width=xxx)
4144+ Nested Loop (cost=xxx..xxx rows=1000 width=xxx)
4145+ -> Seq Scan on t1 v1t1 (cost=xxx..xxx rows=1000 width=xxx)
4146+ -> Index Scan using t1_i1 on t1 v1t1_ (cost=xxx..xxx rows=1 width=xxx)
42344147 Index Cond: (c1 = v1t1.c1)
4235-(4 rows)
42364148
42374149 \o results/ut-R.tmpout
42384150 /*+NestLoop(v1t1 v1t1_)Rows(v1t1 v1t1_ #1)*/
@@ -4249,11 +4161,10 @@ error hint:
42494161 \! sql/maskout.sh results/ut-R.tmpout
42504162 QUERY PLAN
42514163 -----------------------------------------------------------------------------
4252- Nested Loop (cost=xxx rows=1 width=xxx)
4253- -> Seq Scan on t1 v1t1 (cost=xxx rows=1000 width=xxx)
4254- -> Index Scan using t1_i1 on t1 v1t1_ (cost=xxx rows=1 width=xxx)
4164+ Nested Loop (cost=xxx..xxx rows=1 width=xxx)
4165+ -> Seq Scan on t1 v1t1 (cost=xxx..xxx rows=1000 width=xxx)
4166+ -> Index Scan using t1_i1 on t1 v1t1_ (cost=xxx..xxx rows=1 width=xxx)
42554167 Index Cond: (c1 = v1t1.c1)
4256-(4 rows)
42574168
42584169 -- No. R-2-3-6
42594170 \o results/ut-R.tmpout
@@ -4265,12 +4176,11 @@ DETAIL: Unrecognized hint keyword "RowsHashJoin".
42654176 \! sql/maskout.sh results/ut-R.tmpout
42664177 QUERY PLAN
42674178 --------------------------------------------------------------------------
4268- Hash Join (cost=xxx rows=1000 width=xxx)
4179+ Hash Join (cost=xxx..xxx rows=1000 width=xxx)
42694180 Hash Cond: (r4t1.c1 = r4t1_1.c1)
4270- -> Seq Scan on t1 r4t1 (cost=xxx rows=1000 width=xxx)
4271- -> Hash (cost=xxx rows=1000 width=xxx)
4272- -> Seq Scan on t1 r4t1_1 (cost=xxx rows=1000 width=xxx)
4273-(5 rows)
4181+ -> Seq Scan on t1 r4t1 (cost=xxx..xxx rows=1000 width=xxx)
4182+ -> Hash (cost=xxx..xxx rows=1000 width=xxx)
4183+ -> Seq Scan on t1 r4t1_1 (cost=xxx..xxx rows=1000 width=xxx)
42744184
42754185 \o results/ut-R.tmpout
42764186 /*+RowsHashJoin(r4t1 r4t1)Rows(r4t1 r4t1 #1)*/
@@ -4281,12 +4191,11 @@ DETAIL: Unrecognized hint keyword "RowsHashJoin".
42814191 \! sql/maskout.sh results/ut-R.tmpout
42824192 QUERY PLAN
42834193 --------------------------------------------------------------------------
4284- Hash Join (cost=xxx rows=1000 width=xxx)
4194+ Hash Join (cost=xxx..xxx rows=1000 width=xxx)
42854195 Hash Cond: (r4t1.c1 = r4t1_1.c1)
4286- -> Seq Scan on t1 r4t1 (cost=xxx rows=1000 width=xxx)
4287- -> Hash (cost=xxx rows=1000 width=xxx)
4288- -> Seq Scan on t1 r4t1_1 (cost=xxx rows=1000 width=xxx)
4289-(5 rows)
4196+ -> Seq Scan on t1 r4t1 (cost=xxx..xxx rows=1000 width=xxx)
4197+ -> Hash (cost=xxx..xxx rows=1000 width=xxx)
4198+ -> Seq Scan on t1 r4t1_1 (cost=xxx..xxx rows=1000 width=xxx)
42904199
42914200 -- No. R-2-3-7
42924201 \o results/ut-R.tmpout
@@ -4303,11 +4212,10 @@ error hint:
43034212 \! sql/maskout.sh results/ut-R.tmpout
43044213 QUERY PLAN
43054214 ----------------------------------------------------------------------------
4306- Nested Loop (cost=xxx rows=1000 width=xxx)
4307- -> Seq Scan on t1 r4t1 (cost=xxx rows=1000 width=xxx)
4308- -> Index Scan using t1_i1 on t1 r5t1 (cost=xxx rows=1 width=xxx)
4215+ Nested Loop (cost=xxx..xxx rows=1000 width=xxx)
4216+ -> Seq Scan on t1 r4t1 (cost=xxx..xxx rows=1000 width=xxx)
4217+ -> Index Scan using t1_i1 on t1 r5t1 (cost=xxx..xxx rows=1 width=xxx)
43094218 Index Cond: (c1 = r4t1.c1)
4310-(4 rows)
43114219
43124220 \o results/ut-R.tmpout
43134221 /*+NestLoop(r4t1 r5t1)Rows(r4t1 r5t1 #1)*/
@@ -4324,11 +4232,10 @@ error hint:
43244232 \! sql/maskout.sh results/ut-R.tmpout
43254233 QUERY PLAN
43264234 ----------------------------------------------------------------------------
4327- Nested Loop (cost=xxx rows=1 width=xxx)
4328- -> Seq Scan on t1 r4t1 (cost=xxx rows=1000 width=xxx)
4329- -> Index Scan using t1_i1 on t1 r5t1 (cost=xxx rows=1 width=xxx)
4235+ Nested Loop (cost=xxx..xxx rows=1 width=xxx)
4236+ -> Seq Scan on t1 r4t1 (cost=xxx..xxx rows=1000 width=xxx)
4237+ -> Index Scan using t1_i1 on t1 r5t1 (cost=xxx..xxx rows=1 width=xxx)
43304238 Index Cond: (c1 = r4t1.c1)
4331-(4 rows)
43324239
43334240 ----
43344241 ---- No. R-2-4 VALUES clause
@@ -4340,15 +4247,14 @@ EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1,
43404247 \! sql/maskout.sh results/ut-R.tmpout
43414248 QUERY PLAN
43424249 --------------------------------------------------------------------------------
4343- Nested Loop (cost=xxx rows=1 width=xxx)
4344- -> Hash Join (cost=xxx rows=2 width=xxx)
4250+ Nested Loop (cost=xxx..xxx rows=1 width=xxx)
4251+ -> Hash Join (cost=xxx..xxx rows=2 width=xxx)
43454252 Hash Cond: (t2.c1 = "*VALUES*".column1)
4346- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4347- -> Hash (cost=xxx rows=2 width=xxx)
4348- -> Values Scan on "*VALUES*" (cost=xxx rows=2 width=xxx)
4349- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
4253+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
4254+ -> Hash (cost=xxx..xxx rows=2 width=xxx)
4255+ -> Values Scan on "*VALUES*" (cost=xxx..xxx rows=2 width=xxx)
4256+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
43504257 Index Cond: (c1 = t2.c1)
4351-(8 rows)
43524258
43534259 \o results/ut-R.tmpout
43544260 /*+ Leading(t3 t1 t2) Rows(t3 t1 #2)Rows(t3 t1 t2 #2)*/
@@ -4366,15 +4272,14 @@ error hint:
43664272 \! sql/maskout.sh results/ut-R.tmpout
43674273 QUERY PLAN
43684274 --------------------------------------------------------------------------------
4369- Nested Loop (cost=xxx rows=1 width=xxx)
4370- -> Hash Join (cost=xxx rows=2 width=xxx)
4275+ Nested Loop (cost=xxx..xxx rows=1 width=xxx)
4276+ -> Hash Join (cost=xxx..xxx rows=2 width=xxx)
43714277 Hash Cond: (t2.c1 = "*VALUES*".column1)
4372- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4373- -> Hash (cost=xxx rows=2 width=xxx)
4374- -> Values Scan on "*VALUES*" (cost=xxx rows=2 width=xxx)
4375- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
4278+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
4279+ -> Hash (cost=xxx..xxx rows=2 width=xxx)
4280+ -> Values Scan on "*VALUES*" (cost=xxx..xxx rows=2 width=xxx)
4281+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
43764282 Index Cond: (c1 = t2.c1)
4377-(8 rows)
43784283
43794284 \o results/ut-R.tmpout
43804285 /*+ Leading(*VALUES* t1 t2) Rows(*VALUES* t1 #2)Rows(*VALUES* t1 t2 #20)*/
@@ -4392,14 +4297,13 @@ error hint:
43924297 \! sql/maskout.sh results/ut-R.tmpout
43934298 QUERY PLAN
43944299 -----------------------------------------------------------------------------
4395- Nested Loop (cost=xxx rows=20 width=xxx)
4396- -> Nested Loop (cost=xxx rows=2 width=xxx)
4397- -> Values Scan on "*VALUES*" (cost=xxx rows=2 width=xxx)
4398- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
4300+ Nested Loop (cost=xxx..xxx rows=20 width=xxx)
4301+ -> Nested Loop (cost=xxx..xxx rows=2 width=xxx)
4302+ -> Values Scan on "*VALUES*" (cost=xxx..xxx rows=2 width=xxx)
4303+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
43994304 Index Cond: (c1 = "*VALUES*".column1)
4400- -> Index Scan using t2_i1 on t2 (cost=xxx rows=1 width=xxx)
4305+ -> Index Scan using t2_i1 on t2 (cost=xxx..xxx rows=1 width=xxx)
44014306 Index Cond: (c1 = t1.c1)
4402-(7 rows)
44034307
44044308 -- No. R-2-4-2
44054309 \o results/ut-R.tmpout
@@ -4408,19 +4312,18 @@ EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1,
44084312 \! sql/maskout.sh results/ut-R.tmpout
44094313 QUERY PLAN
44104314 --------------------------------------------------------------------------------------
4411- Nested Loop (cost=xxx rows=1 width=xxx)
4412- -> Nested Loop (cost=xxx rows=1 width=xxx)
4315+ Nested Loop (cost=xxx..xxx rows=1 width=xxx)
4316+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
44134317 Join Filter: (t2.c1 = "*VALUES*_1".column1)
4414- -> Hash Join (cost=xxx rows=2 width=xxx)
4318+ -> Hash Join (cost=xxx..xxx rows=2 width=xxx)
44154319 Hash Cond: (t2.c1 = "*VALUES*".column1)
4416- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4417- -> Hash (cost=xxx rows=2 width=xxx)
4418- -> Values Scan on "*VALUES*" (cost=xxx rows=2 width=xxx)
4419- -> Materialize (cost=xxx rows=2 width=xxx)
4420- -> Values Scan on "*VALUES*_1" (cost=xxx rows=2 width=xxx)
4421- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
4320+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
4321+ -> Hash (cost=xxx..xxx rows=2 width=xxx)
4322+ -> Values Scan on "*VALUES*" (cost=xxx..xxx rows=2 width=xxx)
4323+ -> Materialize (cost=xxx..xxx rows=2 width=xxx)
4324+ -> Values Scan on "*VALUES*_1" (cost=xxx..xxx rows=2 width=xxx)
4325+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
44224326 Index Cond: (c1 = t2.c1)
4423-(12 rows)
44244327
44254328 \o results/ut-R.tmpout
44264329 /*+ Leading(t4 t3 t2 t1) Rows(t4 t3 #2) Rows(t4 t3 t2 #2)Rows(t4 t3 t2 t1 #2)*/
@@ -4439,19 +4342,18 @@ error hint:
44394342 \! sql/maskout.sh results/ut-R.tmpout
44404343 QUERY PLAN
44414344 --------------------------------------------------------------------------------------
4442- Nested Loop (cost=xxx rows=1 width=xxx)
4443- -> Nested Loop (cost=xxx rows=1 width=xxx)
4345+ Nested Loop (cost=xxx..xxx rows=1 width=xxx)
4346+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
44444347 Join Filter: (t2.c1 = "*VALUES*_1".column1)
4445- -> Hash Join (cost=xxx rows=2 width=xxx)
4348+ -> Hash Join (cost=xxx..xxx rows=2 width=xxx)
44464349 Hash Cond: (t2.c1 = "*VALUES*".column1)
4447- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4448- -> Hash (cost=xxx rows=2 width=xxx)
4449- -> Values Scan on "*VALUES*" (cost=xxx rows=2 width=xxx)
4450- -> Materialize (cost=xxx rows=2 width=xxx)
4451- -> Values Scan on "*VALUES*_1" (cost=xxx rows=2 width=xxx)
4452- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
4350+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
4351+ -> Hash (cost=xxx..xxx rows=2 width=xxx)
4352+ -> Values Scan on "*VALUES*" (cost=xxx..xxx rows=2 width=xxx)
4353+ -> Materialize (cost=xxx..xxx rows=2 width=xxx)
4354+ -> Values Scan on "*VALUES*_1" (cost=xxx..xxx rows=2 width=xxx)
4355+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
44534356 Index Cond: (c1 = t2.c1)
4454-(12 rows)
44554357
44564358 \o results/ut-R.tmpout
44574359 /*+ Leading(*VALUES* t3 t2 t1) Rows(t4 t3 #2)Rows(*VALUES* t3 t2 #2)Rows(*VALUES* t3 t2 t1 #2)*/
@@ -4476,19 +4378,18 @@ Rows(*VALUES* t1 t2 t3 #2)
44764378 \! sql/maskout.sh results/ut-R.tmpout
44774379 QUERY PLAN
44784380 --------------------------------------------------------------------------------------
4479- Nested Loop (cost=xxx rows=1 width=xxx)
4480- -> Nested Loop (cost=xxx rows=1 width=xxx)
4381+ Nested Loop (cost=xxx..xxx rows=1 width=xxx)
4382+ -> Nested Loop (cost=xxx..xxx rows=1 width=xxx)
44814383 Join Filter: (t2.c1 = "*VALUES*_1".column1)
4482- -> Hash Join (cost=xxx rows=2 width=xxx)
4384+ -> Hash Join (cost=xxx..xxx rows=2 width=xxx)
44834385 Hash Cond: (t2.c1 = "*VALUES*".column1)
4484- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4485- -> Hash (cost=xxx rows=2 width=xxx)
4486- -> Values Scan on "*VALUES*" (cost=xxx rows=2 width=xxx)
4487- -> Materialize (cost=xxx rows=2 width=xxx)
4488- -> Values Scan on "*VALUES*_1" (cost=xxx rows=2 width=xxx)
4489- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
4386+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
4387+ -> Hash (cost=xxx..xxx rows=2 width=xxx)
4388+ -> Values Scan on "*VALUES*" (cost=xxx..xxx rows=2 width=xxx)
4389+ -> Materialize (cost=xxx..xxx rows=2 width=xxx)
4390+ -> Values Scan on "*VALUES*_1" (cost=xxx..xxx rows=2 width=xxx)
4391+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1 width=xxx)
44904392 Index Cond: (c1 = t2.c1)
4491-(12 rows)
44924393
44934394 ----
44944395 ---- No. R-2-5
@@ -4500,20 +4401,19 @@ EXPLAIN SELECT max(bmt1.c1) FROM s1.t1 bmt1, (SELECT ctid, * FROM s1.t2 bmt2) sb
45004401 \! sql/maskout.sh results/ut-R.tmpout
45014402 QUERY PLAN
45024403 ------------------------------------------------------------------------------------------------------
4503- Aggregate (cost=xxx rows=1 width=xxx)
4504- -> Nested Loop (cost=xxx rows=100 width=xxx)
4505- -> Merge Join (cost=xxx rows=100 width=xxx)
4404+ Aggregate (cost=xxx..xxx rows=1 width=xxx)
4405+ -> Nested Loop (cost=xxx..xxx rows=100 width=xxx)
4406+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
45064407 Merge Cond: (bmt1.c1 = bmt2.c1)
4507- -> Merge Join (cost=xxx rows=1000 width=xxx)
4408+ -> Merge Join (cost=xxx..xxx rows=1000 width=xxx)
45084409 Merge Cond: (bmt1.c1 = bmt3.c1)
4509- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1000 width=xxx)
4510- -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx rows=1130 width=xxx)
4511- -> Sort (cost=xxx rows=100 width=xxx)
4410+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1000 width=xxx)
4411+ -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
4412+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
45124413 Sort Key: bmt2.c1
4513- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
4514- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1 width=xxx)
4414+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
4415+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1 width=xxx)
45154416 Index Cond: (c1 = bmt1.c1)
4516-(13 rows)
45174417
45184418 \o results/ut-R.tmpout
45194419 /*+
@@ -4533,21 +4433,20 @@ error hint:
45334433 \! sql/maskout.sh results/ut-R.tmpout
45344434 QUERY PLAN
45354435 -----------------------------------------------------------------------------------------
4536- Merge Join (cost=xxx rows=70 width=xxx)
4436+ Merge Join (cost=xxx..xxx rows=70 width=xxx)
45374437 Merge Cond: (bmt1.c1 = bmt2.c1)
4538- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1000 width=xxx)
4539- -> Sort (cost=xxx rows=100 width=xxx)
4438+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1000 width=xxx)
4439+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
45404440 Sort Key: bmt2.c1
4541- -> Hash Join (cost=xxx rows=100 width=xxx)
4441+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
45424442 Hash Cond: (bmt3.c1 = bmt2.c1)
4543- -> Hash Join (cost=xxx rows=1130 width=xxx)
4443+ -> Hash Join (cost=xxx..xxx rows=1130 width=xxx)
45444444 Hash Cond: (bmt3.c1 = bmt4.c1)
4545- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
4546- -> Hash (cost=xxx rows=1130 width=xxx)
4547- -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
4548- -> Hash (cost=xxx rows=100 width=xxx)
4549- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
4550-(14 rows)
4445+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
4446+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
4447+ -> Seq Scan on t4 bmt4 (cost=xxx..xxx rows=1130 width=xxx)
4448+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
4449+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
45514450
45524451 -- No. R-2-5-2
45534452 \o results/ut-R.tmpout
@@ -4556,19 +4455,18 @@ EXPLAIN SELECT bmt1.c1 FROM s1.t1 bmt1, (SELECT ctid, * FROM s1.t2 bmt2) sbmt2,
45564455 \! sql/maskout.sh results/ut-R.tmpout
45574456 QUERY PLAN
45584457 ------------------------------------------------------------------------------------------------
4559- Nested Loop (cost=xxx rows=100 width=xxx)
4560- -> Merge Join (cost=xxx rows=100 width=xxx)
4458+ Nested Loop (cost=xxx..xxx rows=100 width=xxx)
4459+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
45614460 Merge Cond: (bmt1.c1 = bmt2.c1)
4562- -> Merge Join (cost=xxx rows=1000 width=xxx)
4461+ -> Merge Join (cost=xxx..xxx rows=1000 width=xxx)
45634462 Merge Cond: (bmt1.c1 = bmt3.c1)
4564- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1000 width=xxx)
4565- -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx rows=1130 width=xxx)
4566- -> Sort (cost=xxx rows=100 width=xxx)
4463+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1000 width=xxx)
4464+ -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
4465+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
45674466 Sort Key: bmt2.c1
4568- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
4569- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1 width=xxx)
4467+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
4468+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1 width=xxx)
45704469 Index Cond: (c1 = bmt1.c1)
4571-(12 rows)
45724470
45734471 \o results/ut-R.tmpout
45744472 /*+
@@ -4588,21 +4486,20 @@ error hint:
45884486 \! sql/maskout.sh results/ut-R.tmpout
45894487 QUERY PLAN
45904488 -----------------------------------------------------------------------------------------
4591- Merge Join (cost=xxx rows=60 width=xxx)
4489+ Merge Join (cost=xxx..xxx rows=60 width=xxx)
45924490 Merge Cond: (bmt1.c1 = bmt2.c1)
4593- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1000 width=xxx)
4594- -> Sort (cost=xxx rows=60 width=xxx)
4491+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1000 width=xxx)
4492+ -> Sort (cost=xxx..xxx rows=60 width=xxx)
45954493 Sort Key: bmt2.c1
4596- -> Hash Join (cost=xxx rows=60 width=xxx)
4494+ -> Hash Join (cost=xxx..xxx rows=60 width=xxx)
45974495 Hash Cond: (bmt3.c1 = bmt2.c1)
4598- -> Hash Join (cost=xxx rows=678 width=xxx)
4496+ -> Hash Join (cost=xxx..xxx rows=678 width=xxx)
45994497 Hash Cond: (bmt3.c1 = bmt4.c1)
4600- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
4601- -> Hash (cost=xxx rows=1130 width=xxx)
4602- -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
4603- -> Hash (cost=xxx rows=100 width=xxx)
4604- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
4605-(14 rows)
4498+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
4499+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
4500+ -> Seq Scan on t4 bmt4 (cost=xxx..xxx rows=1130 width=xxx)
4501+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
4502+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
46064503
46074504 -- No. R-2-5-3
46084505 \o results/ut-R.tmpout
@@ -4611,19 +4508,18 @@ EXPLAIN SELECT bmt1.c1 FROM s1.t1 bmt1, (SELECT ctid, * FROM s1.t2 bmt2) sbmt2,
46114508 \! sql/maskout.sh results/ut-R.tmpout
46124509 QUERY PLAN
46134510 ------------------------------------------------------------------------------------------------
4614- Nested Loop (cost=xxx rows=100 width=xxx)
4615- -> Merge Join (cost=xxx rows=100 width=xxx)
4511+ Nested Loop (cost=xxx..xxx rows=100 width=xxx)
4512+ -> Merge Join (cost=xxx..xxx rows=100 width=xxx)
46164513 Merge Cond: (bmt1.c1 = bmt2.c1)
4617- -> Merge Join (cost=xxx rows=1000 width=xxx)
4514+ -> Merge Join (cost=xxx..xxx rows=1000 width=xxx)
46184515 Merge Cond: (bmt1.c1 = bmt3.c1)
4619- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1000 width=xxx)
4620- -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx rows=1130 width=xxx)
4621- -> Sort (cost=xxx rows=100 width=xxx)
4516+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1000 width=xxx)
4517+ -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
4518+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
46224519 Sort Key: bmt2.c1
4623- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
4624- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1 width=xxx)
4520+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
4521+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx..xxx rows=1 width=xxx)
46254522 Index Cond: (c1 = bmt1.c1)
4626-(12 rows)
46274523
46284524 \o results/ut-R.tmpout
46294525 /*+
@@ -4643,21 +4539,20 @@ error hint:
46434539 \! sql/maskout.sh results/ut-R.tmpout
46444540 QUERY PLAN
46454541 -----------------------------------------------------------------------------------------
4646- Merge Join (cost=xxx rows=50 width=xxx)
4542+ Merge Join (cost=xxx..xxx rows=50 width=xxx)
46474543 Merge Cond: (bmt1.c1 = bmt2.c1)
4648- -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1000 width=xxx)
4649- -> Sort (cost=xxx rows=100 width=xxx)
4544+ -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx..xxx rows=1000 width=xxx)
4545+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
46504546 Sort Key: bmt2.c1
4651- -> Hash Join (cost=xxx rows=100 width=xxx)
4547+ -> Hash Join (cost=xxx..xxx rows=100 width=xxx)
46524548 Hash Cond: (bmt3.c1 = bmt2.c1)
4653- -> Hash Join (cost=xxx rows=1130 width=xxx)
4549+ -> Hash Join (cost=xxx..xxx rows=1130 width=xxx)
46544550 Hash Cond: (bmt3.c1 = bmt4.c1)
4655- -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
4656- -> Hash (cost=xxx rows=1130 width=xxx)
4657- -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
4658- -> Hash (cost=xxx rows=100 width=xxx)
4659- -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
4660-(14 rows)
4551+ -> Seq Scan on t3 bmt3 (cost=xxx..xxx rows=1130 width=xxx)
4552+ -> Hash (cost=xxx..xxx rows=1130 width=xxx)
4553+ -> Seq Scan on t4 bmt4 (cost=xxx..xxx rows=1130 width=xxx)
4554+ -> Hash (cost=xxx..xxx rows=100 width=xxx)
4555+ -> Seq Scan on t2 bmt2 (cost=xxx..xxx rows=100 width=xxx)
46614556
46624557 ----
46634558 ---- No. R-3-1 abusolute value
@@ -4678,13 +4573,12 @@ error hint:
46784573 \! sql/maskout.sh results/ut-R.tmpout
46794574 QUERY PLAN
46804575 ---------------------------------------------------------------------------
4681- Merge Join (cost=xxx rows=1 width=xxx)
4576+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
46824577 Merge Cond: (t1.c1 = t2.c1)
4683- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
4684- -> Sort (cost=xxx rows=100 width=xxx)
4578+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
4579+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
46854580 Sort Key: t2.c1
4686- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4687-(6 rows)
4581+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
46884582
46894583 -- No. R-3-1-2
46904584 \o results/ut-R.tmpout
@@ -4701,13 +4595,12 @@ error hint:
47014595 \! sql/maskout.sh results/ut-R.tmpout
47024596 QUERY PLAN
47034597 ---------------------------------------------------------------------------
4704- Merge Join (cost=xxx rows=5 width=xxx)
4598+ Merge Join (cost=xxx..xxx rows=5 width=xxx)
47054599 Merge Cond: (t1.c1 = t2.c1)
4706- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
4707- -> Sort (cost=xxx rows=100 width=xxx)
4600+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
4601+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
47084602 Sort Key: t2.c1
4709- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4710-(6 rows)
4603+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
47114604
47124605 ----
47134606 ---- No. R-3-2 increase or decrease value
@@ -4727,13 +4620,12 @@ error hint:
47274620 \! sql/maskout.sh results/ut-R.tmpout
47284621 QUERY PLAN
47294622 ---------------------------------------------------------------------------
4730- Merge Join (cost=xxx rows=101 width=xxx)
4623+ Merge Join (cost=xxx..xxx rows=101 width=xxx)
47314624 Merge Cond: (t1.c1 = t2.c1)
4732- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
4733- -> Sort (cost=xxx rows=100 width=xxx)
4625+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
4626+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
47344627 Sort Key: t2.c1
4735- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4736-(6 rows)
4628+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
47374629
47384630 -- No. R-3-2-2
47394631 \o results/ut-R.tmpout
@@ -4750,13 +4642,12 @@ error hint:
47504642 \! sql/maskout.sh results/ut-R.tmpout
47514643 QUERY PLAN
47524644 ---------------------------------------------------------------------------
4753- Merge Join (cost=xxx rows=99 width=xxx)
4645+ Merge Join (cost=xxx..xxx rows=99 width=xxx)
47544646 Merge Cond: (t1.c1 = t2.c1)
4755- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
4756- -> Sort (cost=xxx rows=100 width=xxx)
4647+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
4648+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
47574649 Sort Key: t2.c1
4758- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4759-(6 rows)
4650+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
47604651
47614652 -- No. R-3-2-3
47624653 \o results/ut-R.tmpout
@@ -4774,13 +4665,12 @@ error hint:
47744665 \! sql/maskout.sh results/ut-R.tmpout
47754666 QUERY PLAN
47764667 ---------------------------------------------------------------------------
4777- Merge Join (cost=xxx rows=1 width=xxx)
4668+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
47784669 Merge Cond: (t1.c1 = t2.c1)
4779- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
4780- -> Sort (cost=xxx rows=100 width=xxx)
4670+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
4671+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
47814672 Sort Key: t2.c1
4782- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4783-(6 rows)
4673+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
47844674
47854675 ----
47864676 ---- No. R-3-3 multiple
@@ -4801,13 +4691,12 @@ error hint:
48014691 \! sql/maskout.sh results/ut-R.tmpout
48024692 QUERY PLAN
48034693 ---------------------------------------------------------------------------
4804- Merge Join (cost=xxx rows=1 width=xxx)
4694+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
48054695 Merge Cond: (t1.c1 = t2.c1)
4806- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
4807- -> Sort (cost=xxx rows=100 width=xxx)
4696+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
4697+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
48084698 Sort Key: t2.c1
4809- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4810-(6 rows)
4699+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
48114700
48124701 -- No. R-3-3-2
48134702 \o results/ut-R.tmpout
@@ -4824,13 +4713,12 @@ error hint:
48244713 \! sql/maskout.sh results/ut-R.tmpout
48254714 QUERY PLAN
48264715 ---------------------------------------------------------------------------
4827- Merge Join (cost=xxx rows=200 width=xxx)
4716+ Merge Join (cost=xxx..xxx rows=200 width=xxx)
48284717 Merge Cond: (t1.c1 = t2.c1)
4829- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
4830- -> Sort (cost=xxx rows=100 width=xxx)
4718+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
4719+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
48314720 Sort Key: t2.c1
4832- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4833-(6 rows)
4721+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
48344722
48354723 -- No. R-3-3-3
48364724 \o results/ut-R.tmpout
@@ -4847,13 +4735,12 @@ error hint:
48474735 \! sql/maskout.sh results/ut-R.tmpout
48484736 QUERY PLAN
48494737 ---------------------------------------------------------------------------
4850- Merge Join (cost=xxx rows=10 width=xxx)
4738+ Merge Join (cost=xxx..xxx rows=10 width=xxx)
48514739 Merge Cond: (t1.c1 = t2.c1)
4852- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
4853- -> Sort (cost=xxx rows=100 width=xxx)
4740+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
4741+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
48544742 Sort Key: t2.c1
4855- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4856-(6 rows)
4743+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
48574744
48584745 ----
48594746 ---- No. R-3-4 join inherit tables
@@ -4865,26 +4752,25 @@ EXPLAIN SELECT * FROM s1.p1, s1.p2 WHERE p1.c1 = p2.c1;
48654752 \! sql/maskout.sh results/ut-R.tmpout
48664753 QUERY PLAN
48674754 -------------------------------------------------------------------------
4868- Hash Join (cost=xxx rows=301 width=xxx)
4755+ Hash Join (cost=xxx..xxx rows=301 width=xxx)
48694756 Hash Cond: (p2.c1 = p1.c1)
4870- -> Append (cost=xxx rows=304 width=xxx)
4871- -> Seq Scan on p2 (cost=xxx rows=1 width=xxx)
4872- -> Seq Scan on p2c1 (cost=xxx rows=1 width=xxx)
4873- -> Seq Scan on p2c2 (cost=xxx rows=1 width=xxx)
4874- -> Seq Scan on p2c3 (cost=xxx rows=1 width=xxx)
4875- -> Seq Scan on p2c1c1 (cost=xxx rows=50 width=xxx)
4876- -> Seq Scan on p2c1c2 (cost=xxx rows=50 width=xxx)
4877- -> Seq Scan on p2c2c1 (cost=xxx rows=50 width=xxx)
4878- -> Seq Scan on p2c2c2 (cost=xxx rows=50 width=xxx)
4879- -> Seq Scan on p2c3c1 (cost=xxx rows=50 width=xxx)
4880- -> Seq Scan on p2c3c2 (cost=xxx rows=50 width=xxx)
4881- -> Hash (cost=xxx rows=301 width=xxx)
4882- -> Append (cost=xxx rows=301 width=xxx)
4883- -> Seq Scan on p1 (cost=xxx rows=1 width=xxx)
4884- -> Seq Scan on p1c1 (cost=xxx rows=100 width=xxx)
4885- -> Seq Scan on p1c2 (cost=xxx rows=100 width=xxx)
4886- -> Seq Scan on p1c3 (cost=xxx rows=100 width=xxx)
4887-(19 rows)
4757+ -> Append (cost=xxx..xxx rows=304 width=xxx)
4758+ -> Seq Scan on p2 (cost=xxx..xxx rows=1 width=xxx)
4759+ -> Seq Scan on p2c1 (cost=xxx..xxx rows=1 width=xxx)
4760+ -> Seq Scan on p2c2 (cost=xxx..xxx rows=1 width=xxx)
4761+ -> Seq Scan on p2c3 (cost=xxx..xxx rows=1 width=xxx)
4762+ -> Seq Scan on p2c1c1 (cost=xxx..xxx rows=50 width=xxx)
4763+ -> Seq Scan on p2c1c2 (cost=xxx..xxx rows=50 width=xxx)
4764+ -> Seq Scan on p2c2c1 (cost=xxx..xxx rows=50 width=xxx)
4765+ -> Seq Scan on p2c2c2 (cost=xxx..xxx rows=50 width=xxx)
4766+ -> Seq Scan on p2c3c1 (cost=xxx..xxx rows=50 width=xxx)
4767+ -> Seq Scan on p2c3c2 (cost=xxx..xxx rows=50 width=xxx)
4768+ -> Hash (cost=xxx..xxx rows=301 width=xxx)
4769+ -> Append (cost=xxx..xxx rows=301 width=xxx)
4770+ -> Seq Scan on p1 (cost=xxx..xxx rows=1 width=xxx)
4771+ -> Seq Scan on p1c1 (cost=xxx..xxx rows=100 width=xxx)
4772+ -> Seq Scan on p1c2 (cost=xxx..xxx rows=100 width=xxx)
4773+ -> Seq Scan on p1c3 (cost=xxx..xxx rows=100 width=xxx)
48884774
48894775 \o results/ut-R.tmpout
48904776 /*+Rows(p1 p2 #1)*/
@@ -4900,26 +4786,25 @@ error hint:
49004786 \! sql/maskout.sh results/ut-R.tmpout
49014787 QUERY PLAN
49024788 -------------------------------------------------------------------------
4903- Hash Join (cost=xxx rows=1 width=xxx)
4789+ Hash Join (cost=xxx..xxx rows=1 width=xxx)
49044790 Hash Cond: (p2.c1 = p1.c1)
4905- -> Append (cost=xxx rows=304 width=xxx)
4906- -> Seq Scan on p2 (cost=xxx rows=1 width=xxx)
4907- -> Seq Scan on p2c1 (cost=xxx rows=1 width=xxx)
4908- -> Seq Scan on p2c2 (cost=xxx rows=1 width=xxx)
4909- -> Seq Scan on p2c3 (cost=xxx rows=1 width=xxx)
4910- -> Seq Scan on p2c1c1 (cost=xxx rows=50 width=xxx)
4911- -> Seq Scan on p2c1c2 (cost=xxx rows=50 width=xxx)
4912- -> Seq Scan on p2c2c1 (cost=xxx rows=50 width=xxx)
4913- -> Seq Scan on p2c2c2 (cost=xxx rows=50 width=xxx)
4914- -> Seq Scan on p2c3c1 (cost=xxx rows=50 width=xxx)
4915- -> Seq Scan on p2c3c2 (cost=xxx rows=50 width=xxx)
4916- -> Hash (cost=xxx rows=301 width=xxx)
4917- -> Append (cost=xxx rows=301 width=xxx)
4918- -> Seq Scan on p1 (cost=xxx rows=1 width=xxx)
4919- -> Seq Scan on p1c1 (cost=xxx rows=100 width=xxx)
4920- -> Seq Scan on p1c2 (cost=xxx rows=100 width=xxx)
4921- -> Seq Scan on p1c3 (cost=xxx rows=100 width=xxx)
4922-(19 rows)
4791+ -> Append (cost=xxx..xxx rows=304 width=xxx)
4792+ -> Seq Scan on p2 (cost=xxx..xxx rows=1 width=xxx)
4793+ -> Seq Scan on p2c1 (cost=xxx..xxx rows=1 width=xxx)
4794+ -> Seq Scan on p2c2 (cost=xxx..xxx rows=1 width=xxx)
4795+ -> Seq Scan on p2c3 (cost=xxx..xxx rows=1 width=xxx)
4796+ -> Seq Scan on p2c1c1 (cost=xxx..xxx rows=50 width=xxx)
4797+ -> Seq Scan on p2c1c2 (cost=xxx..xxx rows=50 width=xxx)
4798+ -> Seq Scan on p2c2c1 (cost=xxx..xxx rows=50 width=xxx)
4799+ -> Seq Scan on p2c2c2 (cost=xxx..xxx rows=50 width=xxx)
4800+ -> Seq Scan on p2c3c1 (cost=xxx..xxx rows=50 width=xxx)
4801+ -> Seq Scan on p2c3c2 (cost=xxx..xxx rows=50 width=xxx)
4802+ -> Hash (cost=xxx..xxx rows=301 width=xxx)
4803+ -> Append (cost=xxx..xxx rows=301 width=xxx)
4804+ -> Seq Scan on p1 (cost=xxx..xxx rows=1 width=xxx)
4805+ -> Seq Scan on p1c1 (cost=xxx..xxx rows=100 width=xxx)
4806+ -> Seq Scan on p1c2 (cost=xxx..xxx rows=100 width=xxx)
4807+ -> Seq Scan on p1c3 (cost=xxx..xxx rows=100 width=xxx)
49234808
49244809 -- No. R-3-4-2
49254810 \o results/ut-R.tmpout
@@ -4928,26 +4813,25 @@ EXPLAIN SELECT * FROM s1.p1, s1.p2 WHERE p1.c1 = p2.c1;
49284813 \! sql/maskout.sh results/ut-R.tmpout
49294814 QUERY PLAN
49304815 -------------------------------------------------------------------------
4931- Hash Join (cost=xxx rows=301 width=xxx)
4816+ Hash Join (cost=xxx..xxx rows=301 width=xxx)
49324817 Hash Cond: (p2.c1 = p1.c1)
4933- -> Append (cost=xxx rows=304 width=xxx)
4934- -> Seq Scan on p2 (cost=xxx rows=1 width=xxx)
4935- -> Seq Scan on p2c1 (cost=xxx rows=1 width=xxx)
4936- -> Seq Scan on p2c2 (cost=xxx rows=1 width=xxx)
4937- -> Seq Scan on p2c3 (cost=xxx rows=1 width=xxx)
4938- -> Seq Scan on p2c1c1 (cost=xxx rows=50 width=xxx)
4939- -> Seq Scan on p2c1c2 (cost=xxx rows=50 width=xxx)
4940- -> Seq Scan on p2c2c1 (cost=xxx rows=50 width=xxx)
4941- -> Seq Scan on p2c2c2 (cost=xxx rows=50 width=xxx)
4942- -> Seq Scan on p2c3c1 (cost=xxx rows=50 width=xxx)
4943- -> Seq Scan on p2c3c2 (cost=xxx rows=50 width=xxx)
4944- -> Hash (cost=xxx rows=301 width=xxx)
4945- -> Append (cost=xxx rows=301 width=xxx)
4946- -> Seq Scan on p1 (cost=xxx rows=1 width=xxx)
4947- -> Seq Scan on p1c1 (cost=xxx rows=100 width=xxx)
4948- -> Seq Scan on p1c2 (cost=xxx rows=100 width=xxx)
4949- -> Seq Scan on p1c3 (cost=xxx rows=100 width=xxx)
4950-(19 rows)
4818+ -> Append (cost=xxx..xxx rows=304 width=xxx)
4819+ -> Seq Scan on p2 (cost=xxx..xxx rows=1 width=xxx)
4820+ -> Seq Scan on p2c1 (cost=xxx..xxx rows=1 width=xxx)
4821+ -> Seq Scan on p2c2 (cost=xxx..xxx rows=1 width=xxx)
4822+ -> Seq Scan on p2c3 (cost=xxx..xxx rows=1 width=xxx)
4823+ -> Seq Scan on p2c1c1 (cost=xxx..xxx rows=50 width=xxx)
4824+ -> Seq Scan on p2c1c2 (cost=xxx..xxx rows=50 width=xxx)
4825+ -> Seq Scan on p2c2c1 (cost=xxx..xxx rows=50 width=xxx)
4826+ -> Seq Scan on p2c2c2 (cost=xxx..xxx rows=50 width=xxx)
4827+ -> Seq Scan on p2c3c1 (cost=xxx..xxx rows=50 width=xxx)
4828+ -> Seq Scan on p2c3c2 (cost=xxx..xxx rows=50 width=xxx)
4829+ -> Hash (cost=xxx..xxx rows=301 width=xxx)
4830+ -> Append (cost=xxx..xxx rows=301 width=xxx)
4831+ -> Seq Scan on p1 (cost=xxx..xxx rows=1 width=xxx)
4832+ -> Seq Scan on p1c1 (cost=xxx..xxx rows=100 width=xxx)
4833+ -> Seq Scan on p1c2 (cost=xxx..xxx rows=100 width=xxx)
4834+ -> Seq Scan on p1c3 (cost=xxx..xxx rows=100 width=xxx)
49514835
49524836 \o results/ut-R.tmpout
49534837 /*+Rows(p1c1 p2c1 #1)*/
@@ -4963,26 +4847,25 @@ error hint:
49634847 \! sql/maskout.sh results/ut-R.tmpout
49644848 QUERY PLAN
49654849 -------------------------------------------------------------------------
4966- Hash Join (cost=xxx rows=301 width=xxx)
4850+ Hash Join (cost=xxx..xxx rows=301 width=xxx)
49674851 Hash Cond: (p2.c1 = p1.c1)
4968- -> Append (cost=xxx rows=304 width=xxx)
4969- -> Seq Scan on p2 (cost=xxx rows=1 width=xxx)
4970- -> Seq Scan on p2c1 (cost=xxx rows=1 width=xxx)
4971- -> Seq Scan on p2c2 (cost=xxx rows=1 width=xxx)
4972- -> Seq Scan on p2c3 (cost=xxx rows=1 width=xxx)
4973- -> Seq Scan on p2c1c1 (cost=xxx rows=50 width=xxx)
4974- -> Seq Scan on p2c1c2 (cost=xxx rows=50 width=xxx)
4975- -> Seq Scan on p2c2c1 (cost=xxx rows=50 width=xxx)
4976- -> Seq Scan on p2c2c2 (cost=xxx rows=50 width=xxx)
4977- -> Seq Scan on p2c3c1 (cost=xxx rows=50 width=xxx)
4978- -> Seq Scan on p2c3c2 (cost=xxx rows=50 width=xxx)
4979- -> Hash (cost=xxx rows=301 width=xxx)
4980- -> Append (cost=xxx rows=301 width=xxx)
4981- -> Seq Scan on p1 (cost=xxx rows=1 width=xxx)
4982- -> Seq Scan on p1c1 (cost=xxx rows=100 width=xxx)
4983- -> Seq Scan on p1c2 (cost=xxx rows=100 width=xxx)
4984- -> Seq Scan on p1c3 (cost=xxx rows=100 width=xxx)
4985-(19 rows)
4852+ -> Append (cost=xxx..xxx rows=304 width=xxx)
4853+ -> Seq Scan on p2 (cost=xxx..xxx rows=1 width=xxx)
4854+ -> Seq Scan on p2c1 (cost=xxx..xxx rows=1 width=xxx)
4855+ -> Seq Scan on p2c2 (cost=xxx..xxx rows=1 width=xxx)
4856+ -> Seq Scan on p2c3 (cost=xxx..xxx rows=1 width=xxx)
4857+ -> Seq Scan on p2c1c1 (cost=xxx..xxx rows=50 width=xxx)
4858+ -> Seq Scan on p2c1c2 (cost=xxx..xxx rows=50 width=xxx)
4859+ -> Seq Scan on p2c2c1 (cost=xxx..xxx rows=50 width=xxx)
4860+ -> Seq Scan on p2c2c2 (cost=xxx..xxx rows=50 width=xxx)
4861+ -> Seq Scan on p2c3c1 (cost=xxx..xxx rows=50 width=xxx)
4862+ -> Seq Scan on p2c3c2 (cost=xxx..xxx rows=50 width=xxx)
4863+ -> Hash (cost=xxx..xxx rows=301 width=xxx)
4864+ -> Append (cost=xxx..xxx rows=301 width=xxx)
4865+ -> Seq Scan on p1 (cost=xxx..xxx rows=1 width=xxx)
4866+ -> Seq Scan on p1c1 (cost=xxx..xxx rows=100 width=xxx)
4867+ -> Seq Scan on p1c2 (cost=xxx..xxx rows=100 width=xxx)
4868+ -> Seq Scan on p1c3 (cost=xxx..xxx rows=100 width=xxx)
49864869
49874870 ----
49884871 ---- No. R-3-5 conflict join method hint
@@ -4994,13 +4877,12 @@ EXPLAIN SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
49944877 \! sql/maskout.sh results/ut-R.tmpout
49954878 QUERY PLAN
49964879 ---------------------------------------------------------------------------
4997- Merge Join (cost=xxx rows=100 width=xxx)
4880+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
49984881 Merge Cond: (t1.c1 = t2.c1)
4999- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
5000- -> Sort (cost=xxx rows=100 width=xxx)
4882+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
4883+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
50014884 Sort Key: t2.c1
5002- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
5003-(6 rows)
4885+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
50044886
50054887 \o results/ut-R.tmpout
50064888 /*+Rows(t1 t2 #1)Rows(t1 t2 #1)*/
@@ -5019,13 +4901,12 @@ error hint:
50194901 \! sql/maskout.sh results/ut-R.tmpout
50204902 QUERY PLAN
50214903 ---------------------------------------------------------------------------
5022- Merge Join (cost=xxx rows=1 width=xxx)
4904+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
50234905 Merge Cond: (t1.c1 = t2.c1)
5024- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
5025- -> Sort (cost=xxx rows=100 width=xxx)
4906+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
4907+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
50264908 Sort Key: t2.c1
5027- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
5028-(6 rows)
4909+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
50294910
50304911 -- No. R-3-5-2
50314912 \o results/ut-R.tmpout
@@ -5034,13 +4915,12 @@ EXPLAIN SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
50344915 \! sql/maskout.sh results/ut-R.tmpout
50354916 QUERY PLAN
50364917 ---------------------------------------------------------------------------
5037- Merge Join (cost=xxx rows=100 width=xxx)
4918+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
50384919 Merge Cond: (t1.c1 = t2.c1)
5039- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
5040- -> Sort (cost=xxx rows=100 width=xxx)
4920+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
4921+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
50414922 Sort Key: t2.c1
5042- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
5043-(6 rows)
4923+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
50444924
50454925 \o results/ut-R.tmpout
50464926 /*+Rows(t1 t2 #1)Rows(t1 t2 #1)Rows(t1 t2 #1)*/
@@ -5062,13 +4942,12 @@ error hint:
50624942 \! sql/maskout.sh results/ut-R.tmpout
50634943 QUERY PLAN
50644944 ---------------------------------------------------------------------------
5065- Merge Join (cost=xxx rows=1 width=xxx)
4945+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
50664946 Merge Cond: (t1.c1 = t2.c1)
5067- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
5068- -> Sort (cost=xxx rows=100 width=xxx)
4947+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
4948+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
50694949 Sort Key: t2.c1
5070- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
5071-(6 rows)
4950+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
50724951
50734952 -- No. R-3-5-3
50744953 \o results/ut-R.tmpout
@@ -5077,13 +4956,12 @@ EXPLAIN SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
50774956 \! sql/maskout.sh results/ut-R.tmpout
50784957 QUERY PLAN
50794958 ---------------------------------------------------------------------------
5080- Merge Join (cost=xxx rows=100 width=xxx)
4959+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
50814960 Merge Cond: (t1.c1 = t2.c1)
5082- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
5083- -> Sort (cost=xxx rows=100 width=xxx)
4961+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
4962+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
50844963 Sort Key: t2.c1
5085- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
5086-(6 rows)
4964+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
50874965
50884966 \o results/ut-R.tmpout
50894967 /*+Rows(t1 t2 #1)Rows(t2 t1 #1)*/
@@ -5102,13 +4980,12 @@ error hint:
51024980 \! sql/maskout.sh results/ut-R.tmpout
51034981 QUERY PLAN
51044982 ---------------------------------------------------------------------------
5105- Merge Join (cost=xxx rows=1 width=xxx)
4983+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
51064984 Merge Cond: (t1.c1 = t2.c1)
5107- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
5108- -> Sort (cost=xxx rows=100 width=xxx)
4985+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
4986+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
51094987 Sort Key: t2.c1
5110- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
5111-(6 rows)
4988+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
51124989
51134990 -- No. R-3-5-4
51144991 \o results/ut-R.tmpout
@@ -5117,13 +4994,12 @@ EXPLAIN SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
51174994 \! sql/maskout.sh results/ut-R.tmpout
51184995 QUERY PLAN
51194996 ---------------------------------------------------------------------------
5120- Merge Join (cost=xxx rows=100 width=xxx)
4997+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
51214998 Merge Cond: (t1.c1 = t2.c1)
5122- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
5123- -> Sort (cost=xxx rows=100 width=xxx)
4999+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
5000+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
51245001 Sort Key: t2.c1
5125- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
5126-(6 rows)
5002+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
51275003
51285004 \o results/ut-R.tmpout
51295005 /*+Rows(t2 t1 #1)Rows(t1 t2 #1)Rows(t2 t1 #1)*/
@@ -5145,13 +5021,12 @@ error hint:
51455021 \! sql/maskout.sh results/ut-R.tmpout
51465022 QUERY PLAN
51475023 ---------------------------------------------------------------------------
5148- Merge Join (cost=xxx rows=1 width=xxx)
5024+ Merge Join (cost=xxx..xxx rows=1 width=xxx)
51495025 Merge Cond: (t1.c1 = t2.c1)
5150- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
5151- -> Sort (cost=xxx rows=100 width=xxx)
5026+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
5027+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
51525028 Sort Key: t2.c1
5153- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
5154-(6 rows)
5029+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
51555030
51565031 ----
51575032 ---- No. R-3-6 hint state output
@@ -5164,13 +5039,12 @@ EXPLAIN SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
51645039 \! sql/maskout.sh results/ut-R.tmpout
51655040 QUERY PLAN
51665041 ---------------------------------------------------------------------------
5167- Merge Join (cost=xxx rows=100 width=xxx)
5042+ Merge Join (cost=xxx..xxx rows=100 width=xxx)
51685043 Merge Cond: (t1.c1 = t2.c1)
5169- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
5170- -> Sort (cost=xxx rows=100 width=xxx)
5044+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
5045+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
51715046 Sort Key: t2.c1
5172- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
5173-(6 rows)
5047+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
51745048
51755049 \o results/ut-R.tmpout
51765050 /*+Rows(t1 t2 +1)*/
@@ -5187,12 +5061,11 @@ error hint:
51875061 \! sql/maskout.sh results/ut-R.tmpout
51885062 QUERY PLAN
51895063 ---------------------------------------------------------------------------
5190- Merge Join (cost=xxx rows=101 width=xxx)
5064+ Merge Join (cost=xxx..xxx rows=101 width=xxx)
51915065 Merge Cond: (t1.c1 = t2.c1)
5192- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
5193- -> Sort (cost=xxx rows=100 width=xxx)
5066+ -> Index Scan using t1_i1 on t1 (cost=xxx..xxx rows=1000 width=xxx)
5067+ -> Sort (cost=xxx..xxx rows=100 width=xxx)
51945068 Sort Key: t2.c1
5195- -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
5196-(6 rows)
5069+ -> Seq Scan on t2 (cost=xxx..xxx rows=100 width=xxx)
51975070
51985071 \! rm results/ut-R.tmpout
--- a/expected/ut-S.out
+++ b/expected/ut-S.out
@@ -4511,7 +4511,8 @@ error hint:
45114511 ---- No. S-3-5 not used index
45124512 ----
45134513 -- No. S-3-5-1
4514-\! psql contrib_regression -c "/*+IndexScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4514+\o results/ut-S.tmpout
4515+/*+IndexScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
45154516 LOG: available indexes for IndexScan(ti1): ti1_pred
45164517 LOG: pg_hint_plan:
45174518 used hint:
@@ -4520,14 +4521,16 @@ not used hint:
45204521 duplication hint:
45214522 error hint:
45224523
4523- QUERY PLAN
4524-------------------------------------------------------------------------
4525- Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4524+\o
4525+\! sql/maskout.sh results/ut-S.tmpout
4526+ QUERY PLAN
4527+-------------------------------------------------------------------------------
4528+ Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
45264529 Filter: (c1 = 100)
4527-(2 rows)
45284530
45294531 -- No. S-3-5-2
4530-\! psql contrib_regression -c "/*+BitmapScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4532+\o results/ut-S.tmpout
4533+/*+BitmapScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
45314534 LOG: available indexes for BitmapScan(ti1): ti1_pred
45324535 LOG: pg_hint_plan:
45334536 used hint:
@@ -4536,14 +4539,16 @@ not used hint:
45364539 duplication hint:
45374540 error hint:
45384541
4539- QUERY PLAN
4540-------------------------------------------------------------------------
4541- Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4542+\o
4543+\! sql/maskout.sh results/ut-S.tmpout
4544+ QUERY PLAN
4545+-------------------------------------------------------------------------------
4546+ Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
45424547 Filter: (c1 = 100)
4543-(2 rows)
45444548
45454549 -- No. S-3-5-3
4546-\! psql contrib_regression -c "/*+IndexOnlyScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4550+\o results/ut-S.tmpout
4551+/*+IndexOnlyScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
45474552 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
45484553 LOG: pg_hint_plan:
45494554 used hint:
@@ -4552,14 +4557,16 @@ not used hint:
45524557 duplication hint:
45534558 error hint:
45544559
4555- QUERY PLAN
4556------------------------------------------------------------------------
4557- Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=4)
4560+\o
4561+\! sql/maskout.sh results/ut-S.tmpout
4562+ QUERY PLAN
4563+-------------------------------------------------------------------------------
4564+ Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
45584565 Filter: (c1 = 100)
4559-(2 rows)
45604566
45614567 -- No. S-3-5-4
4562-\! psql contrib_regression -c "/*+IndexScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4568+\o results/ut-S.tmpout
4569+/*+IndexScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
45634570 LOG: available indexes for IndexScan(ti1):
45644571 LOG: pg_hint_plan:
45654572 used hint:
@@ -4568,14 +4575,16 @@ not used hint:
45684575 duplication hint:
45694576 error hint:
45704577
4571- QUERY PLAN
4572-------------------------------------------------------------------------
4573- Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4578+\o
4579+\! sql/maskout.sh results/ut-S.tmpout
4580+ QUERY PLAN
4581+-------------------------------------------------------------------------------
4582+ Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
45744583 Filter: (c1 = 100)
4575-(2 rows)
45764584
45774585 -- No. S-3-5-5
4578-\! psql contrib_regression -c "/*+BitmapScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4586+\o results/ut-S.tmpout
4587+/*+BitmapScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
45794588 LOG: available indexes for BitmapScan(ti1):
45804589 LOG: pg_hint_plan:
45814590 used hint:
@@ -4584,14 +4593,16 @@ not used hint:
45844593 duplication hint:
45854594 error hint:
45864595
4587- QUERY PLAN
4588-------------------------------------------------------------------------
4589- Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4596+\o
4597+\! sql/maskout.sh results/ut-S.tmpout
4598+ QUERY PLAN
4599+-------------------------------------------------------------------------------
4600+ Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
45904601 Filter: (c1 = 100)
4591-(2 rows)
45924602
45934603 -- No. S-3-5-6
4594-\! psql contrib_regression -c "/*+IndexOnlyScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4604+\o results/ut-S.tmpout
4605+/*+IndexOnlyScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
45954606 LOG: available indexes for IndexOnlyScan(ti1):
45964607 LOG: pg_hint_plan:
45974608 used hint:
@@ -4600,11 +4611,12 @@ not used hint:
46004611 duplication hint:
46014612 error hint:
46024613
4603- QUERY PLAN
4604------------------------------------------------------------------------
4605- Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=4)
4614+\o
4615+\! sql/maskout.sh results/ut-S.tmpout
4616+ QUERY PLAN
4617+-------------------------------------------------------------------------------
4618+ Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
46064619 Filter: (c1 = 100)
4607-(2 rows)
46084620
46094621 -- No. S-3-5-7
46104622 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
@@ -4614,7 +4626,8 @@ EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
46144626 Index Cond: (c1 = 1)
46154627 (2 rows)
46164628
4617-\! psql contrib_regression -c "/*+TidScan(t1)*/ EXPLAIN (COSTS true) SELECT * FROM s1.t1 WHERE t1.c1 = 1" | grep -v "Planning time:"
4629+\o results/ut-S.tmpout
4630+/*+TidScan(t1)*/ EXPLAIN (COSTS true) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
46184631 LOG: pg_hint_plan:
46194632 used hint:
46204633 TidScan(t1)
@@ -4622,11 +4635,12 @@ not used hint:
46224635 duplication hint:
46234636 error hint:
46244637
4625- QUERY PLAN
4626------------------------------------------------------------------------
4627- Seq Scan on t1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4638+\o
4639+\! sql/maskout.sh results/ut-S.tmpout
4640+ QUERY PLAN
4641+-------------------------------------------------------------------------------
4642+ Seq Scan on t1 (cost={inf}..{inf} rows=1 width=xxx)
46284643 Filter: (c1 = 1)
4629-(2 rows)
46304644
46314645 ----
46324646 ---- No. S-3-6 query structure
@@ -5262,12 +5276,11 @@ EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
52625276 \! sql/maskout.sh results/ut-S.tmpout
52635277 QUERY PLAN
52645278 ----------------------------------------------------------
5265- Append (cost=xxx rows=4 width=xxx)
5266- -> Seq Scan on p1 (cost=xxx rows=1 width=xxx)
5279+ Append (cost=xxx..xxx rows=4 width=xxx)
5280+ -> Seq Scan on p1 (cost=xxx..xxx rows=1 width=xxx)
52675281 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5268- -> Seq Scan on p1c1 (cost=xxx rows=3 width=xxx)
5282+ -> Seq Scan on p1c1 (cost=xxx..xxx rows=3 width=xxx)
52695283 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5270-(5 rows)
52715284
52725285 \o results/ut-S.tmpout
52735286 /*+IndexScan(p1 p1_parent)*/ EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
@@ -5284,12 +5297,11 @@ error hint:
52845297 \! sql/maskout.sh results/ut-S.tmpout
52855298 QUERY PLAN
52865299 ------------------------------------------------------------------------------------
5287- Append (cost=xxx rows=4 width=xxx)
5288- -> Index Scan using p1_parent on p1 (cost=xxx rows=1 width=xxx)
5300+ Append (cost=xxx..xxx rows=4 width=xxx)
5301+ -> Index Scan using p1_parent on p1 (cost=xxx..xxx rows=1 width=xxx)
52895302 Filter: ((c2 * 2) < 100)
5290- -> Index Scan using p1c1_c4_expr_idx on p1c1 (cost=xxx rows=3 width=xxx)
5303+ -> Index Scan using p1c1_c4_expr_idx on p1c1 (cost=xxx..xxx rows=3 width=xxx)
52915304 Filter: ((c2 * 2) < 100)
5292-(5 rows)
52935305
52945306 -- No. S-3-10-4
52955307 \o results/ut-S.tmpout
@@ -5307,18 +5319,17 @@ error hint:
53075319
53085320 \o
53095321 \! sql/maskout.sh results/ut-S.tmpout
5310- QUERY PLAN
5311-------------------------------------------------------------------------------
5312- Append (cost=xxx rows=4 width=xxx)
5313- -> Index Scan using p1_i2 on p1 (cost=xxx rows=1 width=xxx)
5322+ QUERY PLAN
5323+-------------------------------------------------------------------------------
5324+ Append (cost=xxx..xxx rows=4 width=xxx)
5325+ -> Index Scan using p1_i2 on p1 (cost=xxx..xxx rows=1 width=xxx)
53145326 Index Cond: (c2 = 1)
5315- -> Seq Scan on p1c1 (cost=xxx rows=1 width=xxx)
5327+ -> Seq Scan on p1c1 (cost={inf}..{inf} rows=1 width=xxx)
53165328 Filter: (c2 = 1)
5317- -> Seq Scan on p1c2 (cost=xxx rows=1 width=xxx)
5329+ -> Seq Scan on p1c2 (cost={inf}..{inf} rows=1 width=xxx)
53185330 Filter: (c2 = 1)
5319- -> Seq Scan on p1c3 (cost=xxx rows=1 width=xxx)
5331+ -> Seq Scan on p1c3 (cost={inf}..{inf} rows=1 width=xxx)
53205332 Filter: (c2 = 1)
5321-(9 rows)
53225333
53235334 -- No. S-3-10-5
53245335 \o results/ut-S.tmpout
@@ -5337,14 +5348,13 @@ error hint:
53375348 \! sql/maskout.sh results/ut-S.tmpout
53385349 QUERY PLAN
53395350 ---------------------------------------------------------------------------------
5340- Append (cost=xxx rows=3 width=xxx)
5341- -> Seq Scan on p2 (cost=xxx rows=1 width=xxx)
5351+ Append (cost={inf}..{inf} rows=3 width=xxx)
5352+ -> Seq Scan on p2 (cost={inf}..{inf} rows=1 width=xxx)
53425353 Filter: (c1 = 1)
5343- -> Index Scan using p2c1_pkey on p2c1 (cost=xxx rows=1 width=xxx)
5354+ -> Index Scan using p2c1_pkey on p2c1 (cost=xxx..xxx rows=1 width=xxx)
53445355 Index Cond: (c1 = 1)
5345- -> Seq Scan on p2c1c1 (cost=xxx rows=1 width=xxx)
5356+ -> Seq Scan on p2c1c1 (cost={inf}..{inf} rows=1 width=xxx)
53465357 Filter: (c1 = 1)
5347-(7 rows)
53485358
53495359 ----
53505360 ---- No. S-3-12 specified same table
--- a/sql/maskout.sh
+++ b/sql/maskout.sh
@@ -1,4 +1,4 @@
11 #! /bin/sh
22 cat $1 | \
3-sed 's/cost=[\.0-9]*/cost=xxx/;s/width=[0-9]*/width=xxx/' |\
4-grep -v "Planning time:"
3+sed 's/cost=10\{7\}[\.0-9]\+ /cost={inf}..{inf} /;s/cost=[\.0-9]\+ /cost=xxx..xxx /;s/width=[0-9]\+\([^0-9]\)/width=xxx\1/' |\
4+egrep -v "^ *((Planning time|JIT|Functions|Options):|\([0-9]* rows\))"
--- a/sql/ut-A.sql
+++ b/sql/ut-A.sql
@@ -683,7 +683,7 @@ SET client_min_messages TO error;
683683 SET pg_hint_plan.parse_messages TO error;
684684 SHOW pg_hint_plan.parse_messages;
685685 /*+Set*/SELECT 1;
686-SET client_min_messages TO fatal;
686+SET client_min_messages TO error;
687687 /*+Set*/SELECT 1;
688688
689689 -- No. A-8-4-11
--- a/sql/ut-R.sql
+++ b/sql/ut-R.sql
@@ -214,7 +214,7 @@ EXPLAIN SELECT * FROM tm1 t1, tm1 t2 WHERE t1.c1 = t2.c1;
214214 \! sql/maskout.sh results/ut-R.tmpout
215215
216216 -- No. R-1-6-5
217-CREATE TEMP TABLE t_pg_class WITH OIDS AS SELECT * from pg_class LIMIT 100;
217+CREATE TEMP TABLE t_pg_class AS SELECT * from pg_class LIMIT 100;
218218 \o results/ut-R.tmpout
219219 EXPLAIN SELECT * FROM t_pg_class t1, t_pg_class t2 WHERE t1.oid = t2.oid;
220220 \o
--- a/sql/ut-S.sql
+++ b/sql/ut-S.sql
@@ -806,27 +806,41 @@ EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
806806 ----
807807
808808 -- No. S-3-5-1
809-\! psql contrib_regression -c "/*+IndexScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
810-
809+\o results/ut-S.tmpout
810+/*+IndexScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
811+\o
812+\! sql/maskout.sh results/ut-S.tmpout
811813 -- No. S-3-5-2
812-\! psql contrib_regression -c "/*+BitmapScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
813-
814+\o results/ut-S.tmpout
815+/*+BitmapScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
816+\o
817+\! sql/maskout.sh results/ut-S.tmpout
814818 -- No. S-3-5-3
815-\! psql contrib_regression -c "/*+IndexOnlyScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
816-
819+\o results/ut-S.tmpout
820+/*+IndexOnlyScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
821+\o
822+\! sql/maskout.sh results/ut-S.tmpout
817823 -- No. S-3-5-4
818-\! psql contrib_regression -c "/*+IndexScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
819-
824+\o results/ut-S.tmpout
825+/*+IndexScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
826+\o
827+\! sql/maskout.sh results/ut-S.tmpout
820828 -- No. S-3-5-5
821-\! psql contrib_regression -c "/*+BitmapScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
822-
829+\o results/ut-S.tmpout
830+/*+BitmapScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
831+\o
832+\! sql/maskout.sh results/ut-S.tmpout
823833 -- No. S-3-5-6
824-\! psql contrib_regression -c "/*+IndexOnlyScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
825-
834+\o results/ut-S.tmpout
835+/*+IndexOnlyScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
836+\o
837+\! sql/maskout.sh results/ut-S.tmpout
826838 -- No. S-3-5-7
827839 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
828-\! psql contrib_regression -c "/*+TidScan(t1)*/ EXPLAIN (COSTS true) SELECT * FROM s1.t1 WHERE t1.c1 = 1" | grep -v "Planning time:"
829-
840+\o results/ut-S.tmpout
841+/*+TidScan(t1)*/ EXPLAIN (COSTS true) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
842+\o
843+\! sql/maskout.sh results/ut-S.tmpout
830844 ----
831845 ---- No. S-3-6 query structure
832846 ----
旧リポジトリブラウザで表示