2 SET pg_hint_plan.enable TO on;
3 SET pg_hint_plan.debug_print TO on;
4 SET client_min_messages TO LOG;
5 SET search_path TO public;
6 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
8 ------------------------------------------------
10 Merge Cond: (t1.c1 = t2.c1)
12 Merge Cond: (t1.c1 = t4.c1)
14 Merge Cond: (t1.c1 = t3.c1)
15 -> Index Scan using t1_i1 on t1
16 -> Index Scan using t3_i1 on t3
17 -> Index Scan using t4_i1 on t4
24 ---- No. L-1-1 specified pattern of the object name
27 /*+Leading(t4 t2 t3 t1)*/
28 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
37 ------------------------------------------------------
39 Merge Cond: (t1.c1 = t2.c1)
40 -> Index Scan using t1_i1 on t1
44 Hash Cond: (t3.c1 = t2.c1)
48 Hash Cond: (t4.c1 = t2.c1)
55 /*+Leading(t4 t2 t3 t1)*/
56 EXPLAIN (COSTS false) SELECT * FROM s1.t1 t_1, s1.t2 t_2, s1.t3 t_3, s1.t4 t_4 WHERE t_1.c1 = t_2.c1 AND t_1.c1 = t_3.c1 AND t_1.c1 = t_4.c1;
65 ----------------------------------------------------
67 Merge Cond: (t_1.c1 = t_2.c1)
69 Merge Cond: (t_1.c1 = t_4.c1)
71 Merge Cond: (t_1.c1 = t_3.c1)
72 -> Index Scan using t1_i1 on t1 t_1
73 -> Index Scan using t3_i1 on t3 t_3
74 -> Index Scan using t4_i1 on t4 t_4
81 /*+Leading(t_4 t_2 t_3 t_1)*/
82 EXPLAIN (COSTS false) SELECT * FROM s1.t1 t_1, s1.t2 t_2, s1.t3 t_3, s1.t4 t_4 WHERE t_1.c1 = t_2.c1 AND t_1.c1 = t_3.c1 AND t_1.c1 = t_4.c1;
85 Leading(t_4 t_2 t_3 t_1)
91 --------------------------------------------------------
93 Merge Cond: (t_1.c1 = t_2.c1)
94 -> Index Scan using t1_i1 on t1 t_1
98 Hash Cond: (t_3.c1 = t_2.c1)
102 Hash Cond: (t_4.c1 = t_2.c1)
103 -> Seq Scan on t4 t_4
105 -> Seq Scan on t2 t_2
109 ---- No. L-1-2 specified schema name in the hint option
112 /*+Leading(t4 t2 t3 t1)*/
113 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
122 ------------------------------------------------------
124 Merge Cond: (t1.c1 = t2.c1)
125 -> Index Scan using t1_i1 on t1
129 Hash Cond: (t3.c1 = t2.c1)
133 Hash Cond: (t4.c1 = t2.c1)
140 /*+Leading(s1.t4 s1.t2 s1.t3 s1.t1)*/
141 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
145 Leading(s1.t4 s1.t2 s1.t3 s1.t1)
150 ------------------------------------------------
152 Merge Cond: (t1.c1 = t2.c1)
154 Merge Cond: (t1.c1 = t4.c1)
156 Merge Cond: (t1.c1 = t3.c1)
157 -> Index Scan using t1_i1 on t1
158 -> Index Scan using t3_i1 on t3
159 -> Index Scan using t4_i1 on t4
166 ---- No. L-1-3 table doesn't exist in the hint option
169 /*+Leading(t4 t2 t3 t1)*/
170 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
179 ------------------------------------------------------
181 Merge Cond: (t1.c1 = t2.c1)
182 -> Index Scan using t1_i1 on t1
186 Hash Cond: (t3.c1 = t2.c1)
190 Hash Cond: (t4.c1 = t2.c1)
197 /*+Leading(t5 t2 t3 t1)*/
198 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
207 ------------------------------------------------
210 Merge Cond: (t1.c1 = t2.c1)
211 -> Index Scan using t1_i1 on t1
215 Hash Cond: (t3.c1 = t2.c1)
219 -> Index Scan using t4_i1 on t4
220 Index Cond: (c1 = t1.c1)
224 ---- No. L-1-4 conflict table name
227 /*+Leading(t4 t2 t3 t1)*/
228 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
237 ------------------------------------------------------
239 Merge Cond: (t1.c1 = t2.c1)
240 -> Index Scan using t1_i1 on t1
244 Hash Cond: (t3.c1 = t2.c1)
248 Hash Cond: (t4.c1 = t2.c1)
255 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s2.t1 WHERE s1.t1.c1 = t2.c1 AND s1.t1.c1 = t3.c1 AND s1.t1.c1 = s2.t1.c1;
257 ------------------------------------------------
259 Merge Cond: (s1.t1.c1 = s2.t1.c1)
261 Merge Cond: (s1.t1.c1 = t2.c1)
263 Merge Cond: (s1.t1.c1 = t3.c1)
264 -> Index Scan using t1_i1 on t1
265 -> Index Scan using t3_i1 on t3
266 -> Index Scan using t2_i1 on t2
272 /*+Leading(t1 t2 t3 t1)*/
273 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s2.t1 WHERE s1.t1.c1 = t2.c1 AND s1.t1.c1 = t3.c1 AND s1.t1.c1 = s2.t1.c1;
274 INFO: hint syntax error at or near "Leading(t1 t2 t3 t1)"
275 DETAIL: Relation name "t1" is ambiguous.
284 ------------------------------------------------
286 Merge Cond: (s1.t1.c1 = s2.t1.c1)
288 Merge Cond: (s1.t1.c1 = t2.c1)
290 Merge Cond: (s1.t1.c1 = t3.c1)
291 -> Index Scan using t1_i1 on t1
292 -> Index Scan using t3_i1 on t3
293 -> Index Scan using t2_i1 on t2
299 /*+Leading(s1.t1 t2 t3 s2.t1)*/
300 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s2.t1 WHERE s1.t1.c1 = t2.c1 AND s1.t1.c1 = t3.c1 AND s1.t1.c1 = s2.t1.c1;
303 Leading(s1.t1 t2 t3 s2.t1)
309 ------------------------------------------------
313 Merge Cond: (t3.c1 = t2.c1)
314 -> Index Scan using t3_i1 on t3
318 -> Index Scan using t1_pkey on t1
319 Index Cond: (c1 = t2.c1)
320 -> Index Scan using t1_i1 on t1
321 Index Cond: (c1 = t2.c1)
324 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s2.t1 s2t1 WHERE s1.t1.c1 = t2.c1 AND s1.t1.c1 = t3.c1 AND s1.t1.c1 = s2t1.c1;
326 ------------------------------------------------
328 Merge Cond: (t1.c1 = s2t1.c1)
330 Merge Cond: (t1.c1 = t2.c1)
332 Merge Cond: (t1.c1 = t3.c1)
333 -> Index Scan using t1_i1 on t1
334 -> Index Scan using t3_i1 on t3
335 -> Index Scan using t2_i1 on t2
338 -> Seq Scan on t1 s2t1
341 /*+Leading(s2t1 t1 t3 t2)*/
342 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s2.t1 s2t1 WHERE s1.t1.c1 = t2.c1 AND s1.t1.c1 = t3.c1 AND s1.t1.c1 = s2t1.c1;
345 Leading(s2t1 t1 t3 t2)
351 -------------------------------------------------------
353 Merge Cond: (t1.c1 = t2.c1)
355 Merge Cond: (t1.c1 = t3.c1)
357 Merge Cond: (t1.c1 = s2t1.c1)
358 -> Index Scan using t1_i1 on t1
359 -> Index Scan using t1_pkey on t1 s2t1
360 -> Index Scan using t3_i1 on t3
367 EXPLAIN (COSTS false) SELECT *, (SELECT max(t1.c1) FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1) FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
369 ---------------------------------------------------------------
371 Merge Cond: (s1.t1.c1 = s1.t2.c1)
372 InitPlan 1 (returns $0)
375 Merge Cond: (s1.t1.c1 = s1.t2.c1)
377 Merge Cond: (s1.t1.c1 = s1.t4.c1)
379 Merge Cond: (s1.t1.c1 = s1.t3.c1)
380 -> Index Scan using t1_i1 on t1
381 -> Index Scan using t3_i1 on t3
382 -> Index Scan using t4_i1 on t4
387 Merge Cond: (s1.t1.c1 = s1.t4.c1)
389 Merge Cond: (s1.t1.c1 = s1.t3.c1)
390 -> Index Scan using t1_i1 on t1
391 -> Index Scan using t3_i1 on t3
392 -> Index Scan using t4_i1 on t4
398 /*+Leading(t4 t2 t3 t1)*/
399 EXPLAIN (COSTS false) SELECT *, (SELECT max(t1.c1) FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1) FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
408 --------------------------------------------------------------------------
410 Merge Cond: (s1.t1.c1 = s1.t2.c1)
411 InitPlan 1 (returns $0)
414 Merge Cond: (s1.t1.c1 = s1.t2.c1)
415 -> Index Scan using t1_i1 on t1
419 Hash Cond: (s1.t3.c1 = s1.t2.c1)
423 Hash Cond: (s1.t4.c1 = s1.t2.c1)
427 -> Index Scan using t1_i1 on t1
431 Hash Cond: (s1.t3.c1 = s1.t2.c1)
435 Hash Cond: (s1.t4.c1 = s1.t2.c1)
441 /*+Leading(st1 st2 st3 st4 t4 t2 t3 t1)*/
442 EXPLAIN (COSTS false) SELECT *, (SELECT max(st1.c1) FROM s1.t1 st1, s1.t2 st2, s1.t3 st3, s1.t4 st4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1) FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
445 Leading(st1 st2 st3 st4 t4 t2 t3 t1)
451 --------------------------------------------------------------------------------------------
453 Merge Cond: (t1.c1 = t2.c1)
454 -> Index Scan using t1_i1 on t1
458 Hash Cond: (t3.c1 = t2.c1)
462 Hash Cond: (t4.c1 = t2.c1)
469 One-Time Filter: ((t1.c1 = t2.c1) AND (t1.c1 = t3.c1) AND (t1.c1 = t4.c1))
473 -> Seq Scan on t1 st1
475 -> Seq Scan on t2 st2
477 -> Seq Scan on t3 st3
479 -> Seq Scan on t4 st4
483 ---- No. L-1-5 conflict table name
486 /*+Leading(t4 t2 t3 t1)*/
487 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
496 ------------------------------------------------------
498 Merge Cond: (t1.c1 = t2.c1)
499 -> Index Scan using t1_i1 on t1
503 Hash Cond: (t3.c1 = t2.c1)
507 Hash Cond: (t4.c1 = t2.c1)
514 /*+Leading(t4 t2 t3 t1 t4)*/
515 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
518 Leading(t4 t2 t3 t1 t4)
524 ------------------------------------------------------
526 Merge Cond: (t1.c1 = t2.c1)
527 -> Index Scan using t1_i1 on t1
531 Hash Cond: (t3.c1 = t2.c1)
535 Hash Cond: (t4.c1 = t2.c1)
541 /*+Leading(t4 t2 t3 t4)*/
542 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
543 INFO: hint syntax error at or near "Leading(t4 t2 t3 t4)"
544 DETAIL: Relation name "t4" is duplicate.
553 ------------------------------------------------
555 Merge Cond: (t1.c1 = t2.c1)
557 Merge Cond: (t1.c1 = t4.c1)
559 Merge Cond: (t1.c1 = t3.c1)
560 -> Index Scan using t1_i1 on t1
561 -> Index Scan using t3_i1 on t3
562 -> Index Scan using t4_i1 on t4
569 /*+Leading(t4 t2 t3 t1 t4 t2 t3 t1)*/
570 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
573 Leading(t4 t2 t3 t1 t4 t2 t3 t1)
579 ------------------------------------------------------
581 Merge Cond: (t1.c1 = t2.c1)
582 -> Index Scan using t1_i1 on t1
586 Hash Cond: (t3.c1 = t2.c1)
590 Hash Cond: (t4.c1 = t2.c1)
596 /*+Leading(t4 t2 t2 t4)*/
597 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
598 INFO: hint syntax error at or near "Leading(t4 t2 t2 t4)"
599 DETAIL: Relation name "t2" is duplicate.
608 ------------------------------------------------
610 Merge Cond: (t1.c1 = t2.c1)
612 Merge Cond: (t1.c1 = t4.c1)
614 Merge Cond: (t1.c1 = t3.c1)
615 -> Index Scan using t1_i1 on t1
616 -> Index Scan using t3_i1 on t3
617 -> Index Scan using t4_i1 on t4
624 ---- No. L-1-6 object type for the hint
627 /*+Leading(t4 t2 t3 t1)*/
628 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
637 ------------------------------------------------------
639 Merge Cond: (t1.c1 = t2.c1)
640 -> Index Scan using t1_i1 on t1
644 Hash Cond: (t3.c1 = t2.c1)
648 Hash Cond: (t4.c1 = t2.c1)
655 EXPLAIN (COSTS false) SELECT * FROM s1.p1 t1, s1.p1 t2, s1.p1 t3, s1.p1 t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
657 ---------------------------------------------------
659 Hash Cond: (t1.c1 = t4.c1)
661 Hash Cond: (t1.c1 = t3.c1)
663 Hash Cond: (t1.c1 = t2.c1)
666 -> Seq Scan on p1c1 t1
667 -> Seq Scan on p1c2 t1
668 -> Seq Scan on p1c3 t1
672 -> Seq Scan on p1c1 t2
673 -> Seq Scan on p1c2 t2
674 -> Seq Scan on p1c3 t2
678 -> Seq Scan on p1c1 t3
679 -> Seq Scan on p1c2 t3
680 -> Seq Scan on p1c3 t3
684 -> Seq Scan on p1c1 t4
685 -> Seq Scan on p1c2 t4
686 -> Seq Scan on p1c3 t4
689 /*+Leading(t4 t3 t2 t1)*/
690 EXPLAIN (COSTS false) SELECT * FROM s1.p1 t1, s1.p1 t2, s1.p1 t3, s1.p1 t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
699 ---------------------------------------------------
701 Hash Cond: (t2.c1 = t1.c1)
703 Hash Cond: (t3.c1 = t2.c1)
705 Hash Cond: (t3.c1 = t4.c1)
708 -> Seq Scan on p1c1 t3
709 -> Seq Scan on p1c2 t3
710 -> Seq Scan on p1c3 t3
714 -> Seq Scan on p1c1 t4
715 -> Seq Scan on p1c2 t4
716 -> Seq Scan on p1c3 t4
720 -> Seq Scan on p1c1 t2
721 -> Seq Scan on p1c2 t2
722 -> Seq Scan on p1c3 t2
726 -> Seq Scan on p1c1 t1
727 -> Seq Scan on p1c2 t1
728 -> Seq Scan on p1c3 t1
732 EXPLAIN (COSTS false) SELECT * FROM s1.ul1 t1, s1.ul1 t2, s1.ul1 t3, s1.ul1 t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
734 --------------------------------------------
736 Hash Cond: (t1.c1 = t4.c1)
738 Hash Cond: (t1.c1 = t3.c1)
740 Hash Cond: (t1.c1 = t2.c1)
741 -> Seq Scan on ul1 t1
743 -> Seq Scan on ul1 t2
745 -> Seq Scan on ul1 t3
747 -> Seq Scan on ul1 t4
750 /*+Leading(t4 t3 t2 t1)*/
751 EXPLAIN (COSTS false) SELECT * FROM s1.ul1 t1, s1.ul1 t2, s1.ul1 t3, s1.ul1 t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
760 --------------------------------------------
762 Hash Cond: (t2.c1 = t1.c1)
764 Hash Cond: (t3.c1 = t2.c1)
766 Hash Cond: (t3.c1 = t4.c1)
767 -> Seq Scan on ul1 t3
769 -> Seq Scan on ul1 t4
771 -> Seq Scan on ul1 t2
773 -> Seq Scan on ul1 t1
777 CREATE TEMP TABLE tm1 (LIKE s1.t1 INCLUDING ALL);
778 NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "tm1_pkey" for table "tm1"
779 EXPLAIN (COSTS false) SELECT * FROM tm1 t1, tm1 t2, tm1 t3, tm1 t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
781 --------------------------------------------
783 Hash Cond: (t1.c1 = t4.c1)
785 Hash Cond: (t1.c1 = t3.c1)
787 Hash Cond: (t1.c1 = t2.c1)
788 -> Seq Scan on tm1 t1
790 -> Seq Scan on tm1 t2
792 -> Seq Scan on tm1 t3
794 -> Seq Scan on tm1 t4
797 /*+Leading(t4 t3 t2 t1)*/
798 EXPLAIN (COSTS false) SELECT * FROM tm1 t1, tm1 t2, tm1 t3, tm1 t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
807 --------------------------------------------
809 Hash Cond: (t2.c1 = t1.c1)
811 Hash Cond: (t3.c1 = t2.c1)
813 Hash Cond: (t3.c1 = t4.c1)
814 -> Seq Scan on tm1 t3
816 -> Seq Scan on tm1 t4
818 -> Seq Scan on tm1 t2
820 -> Seq Scan on tm1 t1
824 EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class t1, pg_catalog.pg_class t2, pg_catalog.pg_class t3, pg_catalog.pg_class t4 WHERE t1.oid = t2.oid AND t1.oid = t3.oid AND t1.oid = t4.oid;
826 -------------------------------------------------
828 Hash Cond: (t1.oid = t4.oid)
830 Hash Cond: (t1.oid = t3.oid)
832 Hash Cond: (t1.oid = t2.oid)
833 -> Seq Scan on pg_class t1
835 -> Seq Scan on pg_class t2
837 -> Seq Scan on pg_class t3
839 -> Seq Scan on pg_class t4
842 /*+Leading(t4 t3 t2 t1)*/
843 EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class t1, pg_catalog.pg_class t2, pg_catalog.pg_class t3, pg_catalog.pg_class t4 WHERE t1.oid = t2.oid AND t1.oid = t3.oid AND t1.oid = t4.oid;
852 -------------------------------------------------
854 Hash Cond: (t2.oid = t1.oid)
856 Hash Cond: (t3.oid = t2.oid)
858 Hash Cond: (t3.oid = t4.oid)
859 -> Seq Scan on pg_class t3
861 -> Seq Scan on pg_class t4
863 -> Seq Scan on pg_class t2
865 -> Seq Scan on pg_class t1
871 EXPLAIN (COSTS false) SELECT * FROM s1.f1() t1, s1.f1() t2, s1.f1() t3, s1.f1() t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
873 --------------------------------------------
875 Join Filter: (t1.c1 = t4.c1)
877 Join Filter: (t1.c1 = t3.c1)
879 Join Filter: (t1.c1 = t2.c1)
880 -> Function Scan on f1 t1
881 -> Function Scan on f1 t2
882 -> Function Scan on f1 t3
883 -> Function Scan on f1 t4
886 /*+Leading(t4 t3 t2 t1)*/
887 EXPLAIN (COSTS false) SELECT * FROM s1.f1() t1, s1.f1() t2, s1.f1() t3, s1.f1() t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
896 --------------------------------------------
898 Join Filter: (t2.c1 = t1.c1)
900 Join Filter: (t3.c1 = t2.c1)
902 Join Filter: (t3.c1 = t4.c1)
903 -> Function Scan on f1 t3
904 -> Function Scan on f1 t4
905 -> Function Scan on f1 t2
906 -> Function Scan on f1 t1
910 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3'), (4,4,4,'4')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
912 --------------------------------------------------------------------------
914 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
916 Hash Cond: ("*VALUES*".column1 = "*VALUES*".column1)
917 -> Values Scan on "*VALUES*"
920 Hash Cond: ("*VALUES*".column1 = "*VALUES*".column1)
921 -> Values Scan on "*VALUES*"
923 -> Values Scan on "*VALUES*"
924 -> Values Scan on "*VALUES*"
927 /*+Leading(t4 t3 t2 t1)*/
928 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3'), (4,4,4,'4')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
937 --------------------------------------------------------------------------
939 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
941 Hash Cond: ("*VALUES*".column1 = "*VALUES*".column1)
942 -> Values Scan on "*VALUES*"
945 Hash Cond: ("*VALUES*".column1 = "*VALUES*".column1)
946 -> Values Scan on "*VALUES*"
948 -> Values Scan on "*VALUES*"
949 -> Values Scan on "*VALUES*"
953 EXPLAIN (COSTS false) WITH c1(c1) AS (SELECT st1.c1 FROM s1.t1 st1, s1.t1 st2, s1.t1 st3, s1.t1 st4 WHERE st1.c1 = st2.c1 AND st1.c1 = st3.c1 AND st1.c1 = st4.c1) SELECT * FROM c1 ct1, c1 ct2, c1 ct3, c1 ct4 WHERE ct1.c1 = ct2.c1 AND ct1.c1 = ct3.c1 AND ct1.c1 = ct4.c1;
955 ----------------------------------------------------
957 Merge Cond: (ct1.c1 = ct3.c1)
960 Hash Cond: (st1.c1 = st4.c1)
962 Hash Cond: (st1.c1 = st3.c1)
964 Hash Cond: (st1.c1 = st2.c1)
965 -> Seq Scan on t1 st1
967 -> Seq Scan on t1 st2
969 -> Seq Scan on t1 st3
971 -> Seq Scan on t1 st4
973 Merge Cond: (ct1.c1 = ct2.c1)
976 -> CTE Scan on c1 ct1
979 -> CTE Scan on c1 ct2
982 Merge Cond: (ct3.c1 = ct4.c1)
985 -> CTE Scan on c1 ct3
988 -> CTE Scan on c1 ct4
991 /*+Leading(ct4 ct3 ct2 ct1 st4 st3 st2 st1)*/
992 EXPLAIN (COSTS false) WITH c1(c1) AS (SELECT st1.c1 FROM s1.t1 st1, s1.t1 st2, s1.t1 st3, s1.t1 st4 WHERE st1.c1 = st2.c1 AND st1.c1 = st3.c1 AND st1.c1 = st4.c1) SELECT * FROM c1 ct1, c1 ct2, c1 ct3, c1 ct4 WHERE ct1.c1 = ct2.c1 AND ct1.c1 = ct3.c1 AND ct1.c1 = ct4.c1;
995 Leading(ct4 ct3 ct2 ct1 st4 st3 st2 st1)
1001 ---------------------------------------------------------
1003 Merge Cond: (ct1.c1 = ct2.c1)
1006 Hash Cond: (st2.c1 = st1.c1)
1008 Hash Cond: (st3.c1 = st2.c1)
1010 Hash Cond: (st3.c1 = st4.c1)
1011 -> Seq Scan on t1 st3
1013 -> Seq Scan on t1 st4
1015 -> Seq Scan on t1 st2
1017 -> Seq Scan on t1 st1
1020 -> CTE Scan on c1 ct1
1023 Merge Cond: (ct2.c1 = ct3.c1)
1026 -> CTE Scan on c1 ct2
1029 Merge Cond: (ct3.c1 = ct4.c1)
1032 -> CTE Scan on c1 ct3
1035 -> CTE Scan on c1 ct4
1039 EXPLAIN (COSTS false) SELECT * FROM s1.v1 t1, s1.v1 t2, s1.v1 t3, s1.v1 t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
1041 ----------------------------------------------
1043 Hash Cond: (v1t1.c1 = v1t1.c1)
1045 Hash Cond: (v1t1.c1 = v1t1.c1)
1047 Hash Cond: (v1t1.c1 = v1t1.c1)
1048 -> Seq Scan on t1 v1t1
1050 -> Seq Scan on t1 v1t1
1052 -> Seq Scan on t1 v1t1
1054 -> Seq Scan on t1 v1t1
1057 /*+Leading(t4 t3 t2 t1)*/
1058 EXPLAIN (COSTS false) SELECT * FROM s1.v1 t1, s1.v1 t2, s1.v1 t3, s1.v1 t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
1062 Leading(t4 t3 t2 t1)
1067 ----------------------------------------------
1069 Hash Cond: (v1t1.c1 = v1t1.c1)
1071 Hash Cond: (v1t1.c1 = v1t1.c1)
1073 Hash Cond: (v1t1.c1 = v1t1.c1)
1074 -> Seq Scan on t1 v1t1
1076 -> Seq Scan on t1 v1t1
1078 -> Seq Scan on t1 v1t1
1080 -> Seq Scan on t1 v1t1
1083 EXPLAIN (COSTS false) SELECT * FROM s1.v1 t1, s1.v1_ t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
1085 ---------------------------------------------
1087 Hash Cond: (v1t1.c1 = t4.c1)
1089 Hash Cond: (v1t1.c1 = v1t1_.c1)
1091 Hash Cond: (t3.c1 = v1t1.c1)
1094 -> Seq Scan on t1 v1t1
1096 -> Seq Scan on t1 v1t1_
1101 /*+Leading(t4 v1t1_ v1t1 t3)*/
1102 EXPLAIN (COSTS false) SELECT * FROM s1.v1 t1, s1.v1_ t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
1105 Leading(t4 v1t1_ v1t1 t3)
1111 ----------------------------------------------
1113 Hash Cond: (v1t1.c1 = t3.c1)
1115 Hash Cond: (v1t1_.c1 = v1t1.c1)
1117 Hash Cond: (t4.c1 = v1t1_.c1)
1120 -> Seq Scan on t1 v1t1_
1122 -> Seq Scan on t1 v1t1
1128 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, (SELECT t4.c1 FROM s1.t4) st4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = st4.c1;
1130 ------------------------------------------------
1132 Merge Cond: (t1.c1 = t2.c1)
1134 Merge Cond: (t1.c1 = t4.c1)
1136 Merge Cond: (t1.c1 = t3.c1)
1137 -> Index Scan using t1_i1 on t1
1138 -> Index Scan using t3_i1 on t3
1139 -> Index Scan using t4_i1 on t4
1145 /*+Leading(st4 t2 t3 t1)*/
1146 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, (SELECT t4.c1 FROM s1.t4) st4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = st4.c1;
1149 Leading(st4 t2 t3 t1)
1155 ------------------------------------------------
1158 Merge Cond: (t1.c1 = t2.c1)
1159 -> Index Scan using t1_i1 on t1
1163 Hash Cond: (t3.c1 = t2.c1)
1167 -> Index Scan using t4_i1 on t4
1168 Index Cond: (c1 = t1.c1)
1171 /*+Leading(t4 t2 t3 t1)*/
1172 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, (SELECT t4.c1 FROM s1.t4) st4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = st4.c1;
1175 Leading(t4 t2 t3 t1)
1181 ------------------------------------------------------
1183 Merge Cond: (t1.c1 = t2.c1)
1184 -> Index Scan using t1_i1 on t1
1188 Hash Cond: (t3.c1 = t2.c1)
1192 Hash Cond: (t4.c1 = t2.c1)
1199 ---- No. L-2-1 complexity query block
1202 EXPLAIN (COSTS false)
1203 SELECT max(bmt1.c1), (
1204 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1206 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
1208 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)'
1211 -------------------------------------------------------------------
1213 InitPlan 1 (returns $0)
1216 Join Filter: (b1t1.c1 = b1t4.c1)
1218 Join Filter: (b1t1.c1 = b1t3.c1)
1220 Join Filter: (b1t1.c1 = b1t2.c1)
1221 -> Tid Scan on t1 b1t1
1222 TID Cond: (ctid = '(1,1)'::tid)
1223 -> Seq Scan on t2 b1t2
1224 Filter: (ctid = '(1,1)'::tid)
1225 -> Tid Scan on t3 b1t3
1226 TID Cond: (ctid = '(1,1)'::tid)
1227 -> Tid Scan on t4 b1t4
1228 TID Cond: (ctid = '(1,1)'::tid)
1229 InitPlan 2 (returns $1)
1232 Join Filter: (b2t1.c1 = b2t4.c1)
1234 Join Filter: (b2t1.c1 = b2t3.c1)
1236 Join Filter: (b2t1.c1 = b2t2.c1)
1237 -> Tid Scan on t1 b2t1
1238 TID Cond: (ctid = '(1,1)'::tid)
1239 -> Seq Scan on t2 b2t2
1240 Filter: (ctid = '(1,1)'::tid)
1241 -> Tid Scan on t3 b2t3
1242 TID Cond: (ctid = '(1,1)'::tid)
1243 -> Tid Scan on t4 b2t4
1244 TID Cond: (ctid = '(1,1)'::tid)
1246 Join Filter: (bmt1.c1 = bmt4.c1)
1248 Join Filter: (bmt1.c1 = bmt3.c1)
1250 Join Filter: (bmt1.c1 = bmt2.c1)
1251 -> Tid Scan on t1 bmt1
1252 TID Cond: (ctid = '(1,1)'::tid)
1253 -> Seq Scan on t2 bmt2
1254 Filter: (ctid = '(1,1)'::tid)
1255 -> Tid Scan on t3 bmt3
1256 TID Cond: (ctid = '(1,1)'::tid)
1257 -> Tid Scan on t4 bmt4
1258 TID Cond: (ctid = '(1,1)'::tid)
1262 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1264 EXPLAIN (COSTS false)
1265 SELECT max(bmt1.c1), (
1266 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1268 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
1270 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)'
1274 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1280 -------------------------------------------------------------------
1282 InitPlan 1 (returns $0)
1285 Join Filter: (b1t2.c1 = b1t1.c1)
1287 Join Filter: (b1t2.c1 = b1t4.c1)
1289 Join Filter: (b1t2.c1 = b1t3.c1)
1290 -> Seq Scan on t2 b1t2
1291 Filter: (ctid = '(1,1)'::tid)
1292 -> Tid Scan on t3 b1t3
1293 TID Cond: (ctid = '(1,1)'::tid)
1294 -> Tid Scan on t4 b1t4
1295 TID Cond: (ctid = '(1,1)'::tid)
1296 -> Tid Scan on t1 b1t1
1297 TID Cond: (ctid = '(1,1)'::tid)
1298 InitPlan 2 (returns $1)
1301 Join Filter: (b2t1.c1 = b2t2.c1)
1303 Join Filter: (b2t3.c1 = b2t1.c1)
1305 Join Filter: (b2t3.c1 = b2t4.c1)
1306 -> Tid Scan on t3 b2t3
1307 TID Cond: (ctid = '(1,1)'::tid)
1308 -> Tid Scan on t4 b2t4
1309 TID Cond: (ctid = '(1,1)'::tid)
1310 -> Tid Scan on t1 b2t1
1311 TID Cond: (ctid = '(1,1)'::tid)
1312 -> Seq Scan on t2 b2t2
1313 Filter: (ctid = '(1,1)'::tid)
1315 Join Filter: (bmt1.c1 = bmt4.c1)
1317 Join Filter: (bmt1.c1 = bmt3.c1)
1319 Join Filter: (bmt1.c1 = bmt2.c1)
1320 -> Tid Scan on t1 bmt1
1321 TID Cond: (ctid = '(1,1)'::tid)
1322 -> Seq Scan on t2 bmt2
1323 Filter: (ctid = '(1,1)'::tid)
1324 -> Tid Scan on t3 bmt3
1325 TID Cond: (ctid = '(1,1)'::tid)
1326 -> Tid Scan on t4 bmt4
1327 TID Cond: (ctid = '(1,1)'::tid)
1331 EXPLAIN (COSTS false)
1332 SELECT max(bmt1.c1), (
1333 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1335 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
1337 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2, s1.t3 b3t3, s1.t4 b3t4 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)' AND b3t1.c1 = b3t3.c1 AND b3t3.ctid = '(1,1)' AND b3t1.c1 = b3t4.c1 AND b3t4.ctid = '(1,1)'
1339 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)'
1342 -------------------------------------------------------------------
1344 InitPlan 1 (returns $0)
1347 Join Filter: (b1t1.c1 = b1t4.c1)
1349 Join Filter: (b1t1.c1 = b1t3.c1)
1351 Join Filter: (b1t1.c1 = b1t2.c1)
1352 -> Tid Scan on t1 b1t1
1353 TID Cond: (ctid = '(1,1)'::tid)
1354 -> Seq Scan on t2 b1t2
1355 Filter: (ctid = '(1,1)'::tid)
1356 -> Tid Scan on t3 b1t3
1357 TID Cond: (ctid = '(1,1)'::tid)
1358 -> Tid Scan on t4 b1t4
1359 TID Cond: (ctid = '(1,1)'::tid)
1360 InitPlan 2 (returns $1)
1363 Join Filter: (b2t1.c1 = b2t4.c1)
1365 Join Filter: (b2t1.c1 = b2t3.c1)
1367 Join Filter: (b2t1.c1 = b2t2.c1)
1368 -> Tid Scan on t1 b2t1
1369 TID Cond: (ctid = '(1,1)'::tid)
1370 -> Seq Scan on t2 b2t2
1371 Filter: (ctid = '(1,1)'::tid)
1372 -> Tid Scan on t3 b2t3
1373 TID Cond: (ctid = '(1,1)'::tid)
1374 -> Tid Scan on t4 b2t4
1375 TID Cond: (ctid = '(1,1)'::tid)
1376 InitPlan 3 (returns $2)
1379 Join Filter: (b3t1.c1 = b3t4.c1)
1381 Join Filter: (b3t1.c1 = b3t3.c1)
1383 Join Filter: (b3t1.c1 = b3t2.c1)
1384 -> Tid Scan on t1 b3t1
1385 TID Cond: (ctid = '(1,1)'::tid)
1386 -> Seq Scan on t2 b3t2
1387 Filter: (ctid = '(1,1)'::tid)
1388 -> Tid Scan on t3 b3t3
1389 TID Cond: (ctid = '(1,1)'::tid)
1390 -> Tid Scan on t4 b3t4
1391 TID Cond: (ctid = '(1,1)'::tid)
1393 Join Filter: (bmt1.c1 = bmt4.c1)
1395 Join Filter: (bmt1.c1 = bmt3.c1)
1397 Join Filter: (bmt1.c1 = bmt2.c1)
1398 -> Tid Scan on t1 bmt1
1399 TID Cond: (ctid = '(1,1)'::tid)
1400 -> Seq Scan on t2 bmt2
1401 Filter: (ctid = '(1,1)'::tid)
1402 -> Tid Scan on t3 bmt3
1403 TID Cond: (ctid = '(1,1)'::tid)
1404 -> Tid Scan on t4 bmt4
1405 TID Cond: (ctid = '(1,1)'::tid)
1409 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1411 EXPLAIN (COSTS false)
1412 SELECT max(bmt1.c1), (
1413 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1415 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
1417 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2, s1.t3 b3t3, s1.t4 b3t4 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)' AND b3t1.c1 = b3t3.c1 AND b3t3.ctid = '(1,1)' AND b3t1.c1 = b3t4.c1 AND b3t4.ctid = '(1,1)'
1419 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)'
1423 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1429 -------------------------------------------------------------------
1431 InitPlan 1 (returns $0)
1434 Join Filter: (b1t2.c1 = b1t1.c1)
1436 Join Filter: (b1t2.c1 = b1t4.c1)
1438 Join Filter: (b1t2.c1 = b1t3.c1)
1439 -> Seq Scan on t2 b1t2
1440 Filter: (ctid = '(1,1)'::tid)
1441 -> Tid Scan on t3 b1t3
1442 TID Cond: (ctid = '(1,1)'::tid)
1443 -> Tid Scan on t4 b1t4
1444 TID Cond: (ctid = '(1,1)'::tid)
1445 -> Tid Scan on t1 b1t1
1446 TID Cond: (ctid = '(1,1)'::tid)
1447 InitPlan 2 (returns $1)
1450 Join Filter: (b2t1.c1 = b2t2.c1)
1452 Join Filter: (b2t3.c1 = b2t1.c1)
1454 Join Filter: (b2t3.c1 = b2t4.c1)
1455 -> Tid Scan on t3 b2t3
1456 TID Cond: (ctid = '(1,1)'::tid)
1457 -> Tid Scan on t4 b2t4
1458 TID Cond: (ctid = '(1,1)'::tid)
1459 -> Tid Scan on t1 b2t1
1460 TID Cond: (ctid = '(1,1)'::tid)
1461 -> Seq Scan on t2 b2t2
1462 Filter: (ctid = '(1,1)'::tid)
1463 InitPlan 3 (returns $2)
1466 Join Filter: (b3t1.c1 = b3t3.c1)
1468 Join Filter: (b3t1.c1 = b3t2.c1)
1470 Join Filter: (b3t1.c1 = b3t4.c1)
1471 -> Tid Scan on t1 b3t1
1472 TID Cond: (ctid = '(1,1)'::tid)
1473 -> Tid Scan on t4 b3t4
1474 TID Cond: (ctid = '(1,1)'::tid)
1475 -> Seq Scan on t2 b3t2
1476 Filter: (ctid = '(1,1)'::tid)
1477 -> Tid Scan on t3 b3t3
1478 TID Cond: (ctid = '(1,1)'::tid)
1480 Join Filter: (bmt1.c1 = bmt4.c1)
1482 Join Filter: (bmt1.c1 = bmt3.c1)
1484 Join Filter: (bmt1.c1 = bmt2.c1)
1485 -> Tid Scan on t1 bmt1
1486 TID Cond: (ctid = '(1,1)'::tid)
1487 -> Seq Scan on t2 bmt2
1488 Filter: (ctid = '(1,1)'::tid)
1489 -> Tid Scan on t3 bmt3
1490 TID Cond: (ctid = '(1,1)'::tid)
1491 -> Tid Scan on t4 bmt4
1492 TID Cond: (ctid = '(1,1)'::tid)
1496 EXPLAIN (COSTS false) SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, (SELECT ctid, * FROM s1.t3 bmt3) sbmt3, (SELECT ctid, * FROM s1.t4 bmt4) sbmt4 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = sbmt3.c1 AND sbmt3.ctid = '(1,1)' AND bmt1.c1 = sbmt4.c1 AND sbmt4.ctid = '(1,1)';
1498 -----------------------------------------------------------
1501 Join Filter: (bmt1.c1 = bmt4.c1)
1503 Join Filter: (bmt1.c1 = bmt3.c1)
1505 Join Filter: (bmt1.c1 = bmt2.c1)
1506 -> Tid Scan on t1 bmt1
1507 TID Cond: (ctid = '(1,1)'::tid)
1508 -> Seq Scan on t2 bmt2
1509 Filter: (ctid = '(1,1)'::tid)
1510 -> Tid Scan on t3 bmt3
1511 TID Cond: (ctid = '(1,1)'::tid)
1512 -> Tid Scan on t4 bmt4
1513 TID Cond: (ctid = '(1,1)'::tid)
1517 Leading(bmt4 bmt3 bmt2 bmt1)
1519 EXPLAIN (COSTS false) SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, (SELECT ctid, * FROM s1.t3 bmt3) sbmt3, (SELECT ctid, * FROM s1.t4 bmt4) sbmt4 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = sbmt3.c1 AND sbmt3.ctid = '(1,1)' AND bmt1.c1 = sbmt4.c1 AND sbmt4.ctid = '(1,1)';
1522 Leading(bmt4 bmt3 bmt2 bmt1)
1528 -----------------------------------------------------------
1531 Join Filter: (bmt2.c1 = bmt1.c1)
1533 Join Filter: (bmt3.c1 = bmt2.c1)
1535 Join Filter: (bmt3.c1 = bmt4.c1)
1536 -> Tid Scan on t3 bmt3
1537 TID Cond: (ctid = '(1,1)'::tid)
1538 -> Tid Scan on t4 bmt4
1539 TID Cond: (ctid = '(1,1)'::tid)
1540 -> Seq Scan on t2 bmt2
1541 Filter: (ctid = '(1,1)'::tid)
1542 -> Tid Scan on t1 bmt1
1543 TID Cond: (ctid = '(1,1)'::tid)
1547 EXPLAIN (COSTS false) SELECT max(bmt1.c1) FROM s1.t1 bmt1, (SELECT ctid, * FROM s1.t2 bmt2) sbmt2, (SELECT ctid, * FROM s1.t3 bmt3) sbmt3, (SELECT ctid, * FROM s1.t4 bmt4) sbmt4 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = sbmt2.c1 AND sbmt2.ctid = '(1,1)' AND bmt1.c1 = sbmt3.c1 AND sbmt3.ctid = '(1,1)' AND bmt1.c1 = sbmt4.c1 AND sbmt4.ctid = '(1,1)';
1549 -----------------------------------------------------------
1552 Join Filter: (bmt1.c1 = bmt4.c1)
1554 Join Filter: (bmt1.c1 = bmt3.c1)
1556 Join Filter: (bmt1.c1 = bmt2.c1)
1557 -> Tid Scan on t1 bmt1
1558 TID Cond: (ctid = '(1,1)'::tid)
1559 -> Seq Scan on t2 bmt2
1560 Filter: (ctid = '(1,1)'::tid)
1561 -> Tid Scan on t3 bmt3
1562 TID Cond: (ctid = '(1,1)'::tid)
1563 -> Tid Scan on t4 bmt4
1564 TID Cond: (ctid = '(1,1)'::tid)
1568 Leading(bmt4 bmt3 bmt2 bmt1)
1570 EXPLAIN (COSTS false) SELECT max(bmt1.c1) FROM s1.t1 bmt1, (SELECT ctid, * FROM s1.t2 bmt2) sbmt2, (SELECT ctid, * FROM s1.t3 bmt3) sbmt3, (SELECT ctid, * FROM s1.t4 bmt4) sbmt4 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = sbmt2.c1 AND sbmt2.ctid = '(1,1)' AND bmt1.c1 = sbmt3.c1 AND sbmt3.ctid = '(1,1)' AND bmt1.c1 = sbmt4.c1 AND sbmt4.ctid = '(1,1)';
1573 Leading(bmt4 bmt3 bmt2 bmt1)
1579 -----------------------------------------------------------
1582 Join Filter: (bmt2.c1 = bmt1.c1)
1584 Join Filter: (bmt3.c1 = bmt2.c1)
1586 Join Filter: (bmt3.c1 = bmt4.c1)
1587 -> Tid Scan on t3 bmt3
1588 TID Cond: (ctid = '(1,1)'::tid)
1589 -> Tid Scan on t4 bmt4
1590 TID Cond: (ctid = '(1,1)'::tid)
1591 -> Seq Scan on t2 bmt2
1592 Filter: (ctid = '(1,1)'::tid)
1593 -> Tid Scan on t1 bmt1
1594 TID Cond: (ctid = '(1,1)'::tid)
1598 EXPLAIN (COSTS false)
1599 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)'
1601 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1603 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
1607 -------------------------------------------------------------------
1609 InitPlan 1 (returns $0)
1612 Join Filter: (b1t1.c1 = b1t4.c1)
1614 Join Filter: (b1t1.c1 = b1t3.c1)
1616 Join Filter: (b1t1.c1 = b1t2.c1)
1617 -> Tid Scan on t1 b1t1
1618 TID Cond: (ctid = '(1,1)'::tid)
1619 -> Seq Scan on t2 b1t2
1620 Filter: (ctid = '(1,1)'::tid)
1621 -> Tid Scan on t3 b1t3
1622 TID Cond: (ctid = '(1,1)'::tid)
1623 -> Tid Scan on t4 b1t4
1624 TID Cond: (ctid = '(1,1)'::tid)
1625 InitPlan 2 (returns $1)
1628 Join Filter: (b2t1.c1 = b2t4.c1)
1630 Join Filter: (b2t1.c1 = b2t3.c1)
1632 Join Filter: (b2t1.c1 = b2t2.c1)
1633 -> Tid Scan on t1 b2t1
1634 TID Cond: (ctid = '(1,1)'::tid)
1635 -> Seq Scan on t2 b2t2
1636 Filter: (ctid = '(1,1)'::tid)
1637 -> Tid Scan on t3 b2t3
1638 TID Cond: (ctid = '(1,1)'::tid)
1639 -> Tid Scan on t4 b2t4
1640 TID Cond: (ctid = '(1,1)'::tid)
1642 Join Filter: (bmt1.c1 = bmt4.c1)
1644 Join Filter: (bmt1.c1 = bmt2.c1)
1646 Join Filter: (bmt1.c1 = bmt3.c1)
1647 -> Tid Scan on t1 bmt1
1648 TID Cond: (ctid = '(1,1)'::tid)
1649 Filter: ((c1 <> $0) AND (c1 <> $1))
1650 -> Tid Scan on t3 bmt3
1651 TID Cond: (ctid = '(1,1)'::tid)
1652 -> Seq Scan on t2 bmt2
1653 Filter: (ctid = '(1,1)'::tid)
1654 -> Tid Scan on t4 bmt4
1655 TID Cond: (ctid = '(1,1)'::tid)
1659 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1661 EXPLAIN (COSTS false)
1662 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)'
1664 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1666 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
1671 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1677 -------------------------------------------------------------------
1679 InitPlan 1 (returns $0)
1682 Join Filter: (b1t2.c1 = b1t1.c1)
1684 Join Filter: (b1t2.c1 = b1t4.c1)
1686 Join Filter: (b1t2.c1 = b1t3.c1)
1687 -> Seq Scan on t2 b1t2
1688 Filter: (ctid = '(1,1)'::tid)
1689 -> Tid Scan on t3 b1t3
1690 TID Cond: (ctid = '(1,1)'::tid)
1691 -> Tid Scan on t4 b1t4
1692 TID Cond: (ctid = '(1,1)'::tid)
1693 -> Tid Scan on t1 b1t1
1694 TID Cond: (ctid = '(1,1)'::tid)
1695 InitPlan 2 (returns $1)
1698 Join Filter: (b2t1.c1 = b2t2.c1)
1700 Join Filter: (b2t3.c1 = b2t1.c1)
1702 Join Filter: (b2t3.c1 = b2t4.c1)
1703 -> Tid Scan on t3 b2t3
1704 TID Cond: (ctid = '(1,1)'::tid)
1705 -> Tid Scan on t4 b2t4
1706 TID Cond: (ctid = '(1,1)'::tid)
1707 -> Tid Scan on t1 b2t1
1708 TID Cond: (ctid = '(1,1)'::tid)
1709 -> Seq Scan on t2 b2t2
1710 Filter: (ctid = '(1,1)'::tid)
1712 Join Filter: (bmt1.c1 = bmt4.c1)
1714 Join Filter: (bmt1.c1 = bmt3.c1)
1716 Join Filter: (bmt1.c1 = bmt2.c1)
1717 -> Tid Scan on t1 bmt1
1718 TID Cond: (ctid = '(1,1)'::tid)
1719 Filter: ((c1 <> $0) AND (c1 <> $1))
1720 -> Seq Scan on t2 bmt2
1721 Filter: (ctid = '(1,1)'::tid)
1722 -> Tid Scan on t3 bmt3
1723 TID Cond: (ctid = '(1,1)'::tid)
1724 -> Tid Scan on t4 bmt4
1725 TID Cond: (ctid = '(1,1)'::tid)
1729 EXPLAIN (COSTS false)
1730 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)'
1732 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1734 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
1736 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2, s1.t3 b3t3, s1.t4 b3t4 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)' AND b3t1.c1 = b3t3.c1 AND b3t3.ctid = '(1,1)' AND b3t1.c1 = b3t4.c1 AND b3t4.ctid = '(1,1)'
1740 ------------------------------------------------------------------------------
1742 InitPlan 1 (returns $0)
1745 Join Filter: (b1t1.c1 = b1t4.c1)
1747 Join Filter: (b1t1.c1 = b1t3.c1)
1749 Join Filter: (b1t1.c1 = b1t2.c1)
1750 -> Tid Scan on t1 b1t1
1751 TID Cond: (ctid = '(1,1)'::tid)
1752 -> Seq Scan on t2 b1t2
1753 Filter: (ctid = '(1,1)'::tid)
1754 -> Tid Scan on t3 b1t3
1755 TID Cond: (ctid = '(1,1)'::tid)
1756 -> Tid Scan on t4 b1t4
1757 TID Cond: (ctid = '(1,1)'::tid)
1758 InitPlan 2 (returns $1)
1761 Join Filter: (b2t1.c1 = b2t4.c1)
1763 Join Filter: (b2t1.c1 = b2t3.c1)
1765 Join Filter: (b2t1.c1 = b2t2.c1)
1766 -> Tid Scan on t1 b2t1
1767 TID Cond: (ctid = '(1,1)'::tid)
1768 -> Seq Scan on t2 b2t2
1769 Filter: (ctid = '(1,1)'::tid)
1770 -> Tid Scan on t3 b2t3
1771 TID Cond: (ctid = '(1,1)'::tid)
1772 -> Tid Scan on t4 b2t4
1773 TID Cond: (ctid = '(1,1)'::tid)
1774 InitPlan 3 (returns $2)
1777 Join Filter: (b3t1.c1 = b3t4.c1)
1779 Join Filter: (b3t1.c1 = b3t3.c1)
1781 Join Filter: (b3t1.c1 = b3t2.c1)
1782 -> Tid Scan on t1 b3t1
1783 TID Cond: (ctid = '(1,1)'::tid)
1784 -> Seq Scan on t2 b3t2
1785 Filter: (ctid = '(1,1)'::tid)
1786 -> Tid Scan on t3 b3t3
1787 TID Cond: (ctid = '(1,1)'::tid)
1788 -> Tid Scan on t4 b3t4
1789 TID Cond: (ctid = '(1,1)'::tid)
1791 Join Filter: (bmt1.c1 = bmt4.c1)
1793 Join Filter: (bmt1.c1 = bmt3.c1)
1795 Join Filter: (bmt1.c1 = bmt2.c1)
1796 -> Tid Scan on t1 bmt1
1797 TID Cond: (ctid = '(1,1)'::tid)
1798 Filter: ((c1 <> $0) AND (c1 <> $1) AND (c1 <> $2))
1799 -> Seq Scan on t2 bmt2
1800 Filter: (ctid = '(1,1)'::tid)
1801 -> Tid Scan on t3 bmt3
1802 TID Cond: (ctid = '(1,1)'::tid)
1803 -> Tid Scan on t4 bmt4
1804 TID Cond: (ctid = '(1,1)'::tid)
1808 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1810 EXPLAIN (COSTS false)
1811 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)'
1813 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1815 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
1817 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2, s1.t3 b3t3, s1.t4 b3t4 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)' AND b3t1.c1 = b3t3.c1 AND b3t3.ctid = '(1,1)' AND b3t1.c1 = b3t4.c1 AND b3t4.ctid = '(1,1)'
1822 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1828 ------------------------------------------------------------------------------
1830 InitPlan 1 (returns $0)
1833 Join Filter: (b1t2.c1 = b1t1.c1)
1835 Join Filter: (b1t2.c1 = b1t4.c1)
1837 Join Filter: (b1t2.c1 = b1t3.c1)
1838 -> Seq Scan on t2 b1t2
1839 Filter: (ctid = '(1,1)'::tid)
1840 -> Tid Scan on t3 b1t3
1841 TID Cond: (ctid = '(1,1)'::tid)
1842 -> Tid Scan on t4 b1t4
1843 TID Cond: (ctid = '(1,1)'::tid)
1844 -> Tid Scan on t1 b1t1
1845 TID Cond: (ctid = '(1,1)'::tid)
1846 InitPlan 2 (returns $1)
1849 Join Filter: (b2t1.c1 = b2t2.c1)
1851 Join Filter: (b2t3.c1 = b2t1.c1)
1853 Join Filter: (b2t3.c1 = b2t4.c1)
1854 -> Tid Scan on t3 b2t3
1855 TID Cond: (ctid = '(1,1)'::tid)
1856 -> Tid Scan on t4 b2t4
1857 TID Cond: (ctid = '(1,1)'::tid)
1858 -> Tid Scan on t1 b2t1
1859 TID Cond: (ctid = '(1,1)'::tid)
1860 -> Seq Scan on t2 b2t2
1861 Filter: (ctid = '(1,1)'::tid)
1862 InitPlan 3 (returns $2)
1865 Join Filter: (b3t1.c1 = b3t3.c1)
1867 Join Filter: (b3t1.c1 = b3t2.c1)
1869 Join Filter: (b3t1.c1 = b3t4.c1)
1870 -> Tid Scan on t1 b3t1
1871 TID Cond: (ctid = '(1,1)'::tid)
1872 -> Tid Scan on t4 b3t4
1873 TID Cond: (ctid = '(1,1)'::tid)
1874 -> Seq Scan on t2 b3t2
1875 Filter: (ctid = '(1,1)'::tid)
1876 -> Tid Scan on t3 b3t3
1877 TID Cond: (ctid = '(1,1)'::tid)
1879 Join Filter: (bmt1.c1 = bmt4.c1)
1881 Join Filter: (bmt1.c1 = bmt3.c1)
1883 Join Filter: (bmt1.c1 = bmt2.c1)
1884 -> Tid Scan on t1 bmt1
1885 TID Cond: (ctid = '(1,1)'::tid)
1886 Filter: ((c1 <> $0) AND (c1 <> $1) AND (c1 <> $2))
1887 -> Seq Scan on t2 bmt2
1888 Filter: (ctid = '(1,1)'::tid)
1889 -> Tid Scan on t3 bmt3
1890 TID Cond: (ctid = '(1,1)'::tid)
1891 -> Tid Scan on t4 bmt4
1892 TID Cond: (ctid = '(1,1)'::tid)
1896 EXPLAIN (COSTS false)
1898 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1901 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
1903 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1905 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)'
1910 -----------------------------------------------------------------------
1915 Join Filter: (b1t1.c1 = b1t4.c1)
1917 Join Filter: (b1t1.c1 = b1t3.c1)
1919 Join Filter: (b1t1.c1 = b1t2.c1)
1920 -> Tid Scan on t1 b1t1
1921 TID Cond: (ctid = '(1,1)'::tid)
1922 -> Seq Scan on t2 b1t2
1923 Filter: (ctid = '(1,1)'::tid)
1924 -> Tid Scan on t3 b1t3
1925 TID Cond: (ctid = '(1,1)'::tid)
1926 -> Tid Scan on t4 b1t4
1927 TID Cond: (ctid = '(1,1)'::tid)
1931 Join Filter: (b2t1.c1 = b2t4.c1)
1933 Join Filter: (b2t1.c1 = b2t3.c1)
1935 Join Filter: (b2t1.c1 = b2t2.c1)
1936 -> Tid Scan on t1 b2t1
1937 TID Cond: (ctid = '(1,1)'::tid)
1938 -> Seq Scan on t2 b2t2
1939 Filter: (ctid = '(1,1)'::tid)
1940 -> Tid Scan on t3 b2t3
1941 TID Cond: (ctid = '(1,1)'::tid)
1942 -> Tid Scan on t4 b2t4
1943 TID Cond: (ctid = '(1,1)'::tid)
1945 Join Filter: (bmt1.c1 = c2.c1)
1947 Join Filter: (bmt1.c1 = c1.c1)
1949 Join Filter: (bmt1.c1 = bmt4.c1)
1951 Join Filter: (bmt1.c1 = bmt3.c1)
1953 Join Filter: (bmt1.c1 = bmt2.c1)
1954 -> Tid Scan on t1 bmt1
1955 TID Cond: (ctid = '(1,1)'::tid)
1956 -> Seq Scan on t2 bmt2
1957 Filter: (ctid = '(1,1)'::tid)
1958 -> Tid Scan on t3 bmt3
1959 TID Cond: (ctid = '(1,1)'::tid)
1960 -> Tid Scan on t4 bmt4
1961 TID Cond: (ctid = '(1,1)'::tid)
1967 Leading(c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1969 EXPLAIN (COSTS false)
1971 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1974 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
1976 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1978 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)'
1984 Leading(c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1990 -------------------------------------------------------------------
1995 Join Filter: (b1t2.c1 = b1t1.c1)
1997 Join Filter: (b1t2.c1 = b1t4.c1)
1999 Join Filter: (b1t2.c1 = b1t3.c1)
2000 -> Seq Scan on t2 b1t2
2001 Filter: (ctid = '(1,1)'::tid)
2002 -> Tid Scan on t3 b1t3
2003 TID Cond: (ctid = '(1,1)'::tid)
2004 -> Tid Scan on t4 b1t4
2005 TID Cond: (ctid = '(1,1)'::tid)
2006 -> Tid Scan on t1 b1t1
2007 TID Cond: (ctid = '(1,1)'::tid)
2011 Join Filter: (b2t1.c1 = b2t2.c1)
2013 Join Filter: (b2t3.c1 = b2t1.c1)
2015 Join Filter: (b2t3.c1 = b2t4.c1)
2016 -> Tid Scan on t3 b2t3
2017 TID Cond: (ctid = '(1,1)'::tid)
2018 -> Tid Scan on t4 b2t4
2019 TID Cond: (ctid = '(1,1)'::tid)
2020 -> Tid Scan on t1 b2t1
2021 TID Cond: (ctid = '(1,1)'::tid)
2022 -> Seq Scan on t2 b2t2
2023 Filter: (ctid = '(1,1)'::tid)
2025 Join Filter: (bmt1.c1 = bmt4.c1)
2027 Join Filter: (bmt1.c1 = bmt3.c1)
2029 Join Filter: (bmt1.c1 = bmt2.c1)
2031 Join Filter: (c1.c1 = bmt1.c1)
2033 Join Filter: (c1.c1 = c2.c1)
2036 -> Tid Scan on t1 bmt1
2037 TID Cond: (ctid = '(1,1)'::tid)
2038 -> Seq Scan on t2 bmt2
2039 Filter: (ctid = '(1,1)'::tid)
2040 -> Tid Scan on t3 bmt3
2041 TID Cond: (ctid = '(1,1)'::tid)
2042 -> Tid Scan on t4 bmt4
2043 TID Cond: (ctid = '(1,1)'::tid)
2047 EXPLAIN (COSTS false)
2049 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
2052 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
2055 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2, s1.t3 b3t3, s1.t4 b3t4 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)' AND b3t1.c1 = b3t3.c1 AND b3t3.ctid = '(1,1)' AND b3t1.c1 = b3t4.c1 AND b3t4.ctid = '(1,1)'
2057 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
2059 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)'
2065 -----------------------------------------------------------------------------
2070 Join Filter: (b1t1.c1 = b1t4.c1)
2072 Join Filter: (b1t1.c1 = b1t3.c1)
2074 Join Filter: (b1t1.c1 = b1t2.c1)
2075 -> Tid Scan on t1 b1t1
2076 TID Cond: (ctid = '(1,1)'::tid)
2077 -> Seq Scan on t2 b1t2
2078 Filter: (ctid = '(1,1)'::tid)
2079 -> Tid Scan on t3 b1t3
2080 TID Cond: (ctid = '(1,1)'::tid)
2081 -> Tid Scan on t4 b1t4
2082 TID Cond: (ctid = '(1,1)'::tid)
2086 Join Filter: (b2t1.c1 = b2t4.c1)
2088 Join Filter: (b2t1.c1 = b2t3.c1)
2090 Join Filter: (b2t1.c1 = b2t2.c1)
2091 -> Tid Scan on t1 b2t1
2092 TID Cond: (ctid = '(1,1)'::tid)
2093 -> Seq Scan on t2 b2t2
2094 Filter: (ctid = '(1,1)'::tid)
2095 -> Tid Scan on t3 b2t3
2096 TID Cond: (ctid = '(1,1)'::tid)
2097 -> Tid Scan on t4 b2t4
2098 TID Cond: (ctid = '(1,1)'::tid)
2102 Join Filter: (b3t1.c1 = b3t4.c1)
2104 Join Filter: (b3t1.c1 = b3t3.c1)
2106 Join Filter: (b3t1.c1 = b3t2.c1)
2107 -> Tid Scan on t1 b3t1
2108 TID Cond: (ctid = '(1,1)'::tid)
2109 -> Seq Scan on t2 b3t2
2110 Filter: (ctid = '(1,1)'::tid)
2111 -> Tid Scan on t3 b3t3
2112 TID Cond: (ctid = '(1,1)'::tid)
2113 -> Tid Scan on t4 b3t4
2114 TID Cond: (ctid = '(1,1)'::tid)
2116 Join Filter: (bmt1.c1 = c3.c1)
2118 Join Filter: (bmt1.c1 = c2.c1)
2120 Join Filter: (bmt1.c1 = c1.c1)
2122 Join Filter: (bmt1.c1 = bmt4.c1)
2124 Join Filter: (bmt1.c1 = bmt3.c1)
2126 Join Filter: (bmt1.c1 = bmt2.c1)
2127 -> Tid Scan on t1 bmt1
2128 TID Cond: (ctid = '(1,1)'::tid)
2129 -> Seq Scan on t2 bmt2
2130 Filter: (ctid = '(1,1)'::tid)
2131 -> Tid Scan on t3 bmt3
2132 TID Cond: (ctid = '(1,1)'::tid)
2133 -> Tid Scan on t4 bmt4
2134 TID Cond: (ctid = '(1,1)'::tid)
2141 Leading(c3 c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
2143 EXPLAIN (COSTS false)
2145 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
2148 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
2151 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2, s1.t3 b3t3, s1.t4 b3t4 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)' AND b3t1.c1 = b3t3.c1 AND b3t3.ctid = '(1,1)' AND b3t1.c1 = b3t4.c1 AND b3t4.ctid = '(1,1)'
2153 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
2155 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)'
2162 Leading(c3 c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
2168 --------------------------------------------------------------------
2173 Join Filter: (b1t2.c1 = b1t1.c1)
2175 Join Filter: (b1t2.c1 = b1t4.c1)
2177 Join Filter: (b1t2.c1 = b1t3.c1)
2178 -> Seq Scan on t2 b1t2
2179 Filter: (ctid = '(1,1)'::tid)
2180 -> Tid Scan on t3 b1t3
2181 TID Cond: (ctid = '(1,1)'::tid)
2182 -> Tid Scan on t4 b1t4
2183 TID Cond: (ctid = '(1,1)'::tid)
2184 -> Tid Scan on t1 b1t1
2185 TID Cond: (ctid = '(1,1)'::tid)
2189 Join Filter: (b2t1.c1 = b2t2.c1)
2191 Join Filter: (b2t3.c1 = b2t1.c1)
2193 Join Filter: (b2t3.c1 = b2t4.c1)
2194 -> Tid Scan on t3 b2t3
2195 TID Cond: (ctid = '(1,1)'::tid)
2196 -> Tid Scan on t4 b2t4
2197 TID Cond: (ctid = '(1,1)'::tid)
2198 -> Tid Scan on t1 b2t1
2199 TID Cond: (ctid = '(1,1)'::tid)
2200 -> Seq Scan on t2 b2t2
2201 Filter: (ctid = '(1,1)'::tid)
2205 Join Filter: (b3t1.c1 = b3t3.c1)
2207 Join Filter: (b3t1.c1 = b3t2.c1)
2209 Join Filter: (b3t1.c1 = b3t4.c1)
2210 -> Tid Scan on t1 b3t1
2211 TID Cond: (ctid = '(1,1)'::tid)
2212 -> Tid Scan on t4 b3t4
2213 TID Cond: (ctid = '(1,1)'::tid)
2214 -> Seq Scan on t2 b3t2
2215 Filter: (ctid = '(1,1)'::tid)
2216 -> Tid Scan on t3 b3t3
2217 TID Cond: (ctid = '(1,1)'::tid)
2219 Join Filter: (bmt1.c1 = bmt4.c1)
2221 Join Filter: (bmt1.c1 = bmt3.c1)
2223 Join Filter: (bmt1.c1 = bmt2.c1)
2225 Join Filter: (c1.c1 = bmt1.c1)
2227 Join Filter: (c2.c1 = c1.c1)
2229 Join Filter: (c2.c1 = c3.c1)
2233 -> Tid Scan on t1 bmt1
2234 TID Cond: (ctid = '(1,1)'::tid)
2235 -> Seq Scan on t2 bmt2
2236 Filter: (ctid = '(1,1)'::tid)
2237 -> Tid Scan on t3 bmt3
2238 TID Cond: (ctid = '(1,1)'::tid)
2239 -> Tid Scan on t4 bmt4
2240 TID Cond: (ctid = '(1,1)'::tid)
2244 ---- No. L-2-2 the number of the tables per quiry block
2247 EXPLAIN (COSTS false)
2249 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
2251 SELECT max(bmt1.c1), (
2252 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2254 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
2256 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
2260 -----------------------------------------------------------------
2264 InitPlan 1 (returns $0)
2266 -> Tid Scan on t1 b1t1
2267 TID Cond: (ctid = '(1,1)'::tid)
2268 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2269 InitPlan 4 (returns $3)
2271 InitPlan 3 (returns $2)
2273 -> Tid Scan on t1 b2t1
2274 TID Cond: (ctid = '(1,1)'::tid)
2275 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2276 InitPlan 6 (returns $5)
2278 InitPlan 5 (returns $4)
2280 -> Tid Scan on t1 b3t1
2281 TID Cond: (ctid = '(1,1)'::tid)
2282 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2284 -> Tid Scan on t1 bmt1
2285 TID Cond: (ctid = '(1,1)'::tid)
2286 Filter: ((c1 <> $5) AND (c1 = 1))
2291 Leading(c1 bmt1 b1t1 b2t1 b3t1)
2293 EXPLAIN (COSTS false)
2295 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
2297 SELECT max(bmt1.c1), (
2298 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2300 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
2302 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
2307 Leading(c1 bmt1 b1t1 b2t1 b3t1)
2313 -----------------------------------------------------------------
2317 InitPlan 1 (returns $0)
2319 -> Tid Scan on t1 b1t1
2320 TID Cond: (ctid = '(1,1)'::tid)
2321 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2322 InitPlan 4 (returns $3)
2324 InitPlan 3 (returns $2)
2326 -> Tid Scan on t1 b2t1
2327 TID Cond: (ctid = '(1,1)'::tid)
2328 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2329 InitPlan 6 (returns $5)
2331 InitPlan 5 (returns $4)
2333 -> Tid Scan on t1 b3t1
2334 TID Cond: (ctid = '(1,1)'::tid)
2335 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2337 -> Tid Scan on t1 bmt1
2338 TID Cond: (ctid = '(1,1)'::tid)
2339 Filter: ((c1 <> $5) AND (c1 = 1))
2344 EXPLAIN (COSTS false)
2346 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)'
2348 SELECT max(bmt1.c1), (
2349 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)'
2351 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
2354 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)'
2358 -------------------------------------------------------
2363 Join Filter: (b1t1.c1 = b1t2.c1)
2364 -> Tid Scan on t1 b1t1
2365 TID Cond: (ctid = '(1,1)'::tid)
2366 -> Seq Scan on t2 b1t2
2367 Filter: (ctid = '(1,1)'::tid)
2368 InitPlan 2 (returns $1)
2371 Join Filter: (b2t1.c1 = b2t2.c1)
2372 -> Tid Scan on t1 b2t1
2373 TID Cond: (ctid = '(1,1)'::tid)
2374 -> Seq Scan on t2 b2t2
2375 Filter: (ctid = '(1,1)'::tid)
2376 InitPlan 3 (returns $2)
2379 Join Filter: (b3t1.c1 = b3t2.c1)
2380 -> Tid Scan on t1 b3t1
2381 TID Cond: (ctid = '(1,1)'::tid)
2382 -> Seq Scan on t2 b3t2
2383 Filter: (ctid = '(1,1)'::tid)
2385 Join Filter: (bmt1.c1 = c1.c1)
2387 Join Filter: (bmt1.c1 = bmt2.c1)
2388 -> Tid Scan on t1 bmt1
2389 TID Cond: (ctid = '(1,1)'::tid)
2391 -> Seq Scan on t2 bmt2
2392 Filter: (ctid = '(1,1)'::tid)
2397 Leading(c1 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2399 EXPLAIN (COSTS false)
2401 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)'
2403 SELECT max(bmt1.c1), (
2404 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)'
2406 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
2409 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)'
2414 Leading(c1 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2420 -------------------------------------------------------
2425 Join Filter: (b1t1.c1 = b1t2.c1)
2426 -> Tid Scan on t1 b1t1
2427 TID Cond: (ctid = '(1,1)'::tid)
2428 -> Seq Scan on t2 b1t2
2429 Filter: (ctid = '(1,1)'::tid)
2430 InitPlan 2 (returns $1)
2433 Join Filter: (b2t1.c1 = b2t2.c1)
2434 -> Tid Scan on t1 b2t1
2435 TID Cond: (ctid = '(1,1)'::tid)
2436 -> Seq Scan on t2 b2t2
2437 Filter: (ctid = '(1,1)'::tid)
2438 InitPlan 3 (returns $2)
2441 Join Filter: (b3t1.c1 = b3t2.c1)
2442 -> Tid Scan on t1 b3t1
2443 TID Cond: (ctid = '(1,1)'::tid)
2444 -> Seq Scan on t2 b3t2
2445 Filter: (ctid = '(1,1)'::tid)
2447 Join Filter: (bmt2.c1 = bmt1.c1)
2449 Join Filter: (bmt2.c1 = c1.c1)
2450 -> Seq Scan on t2 bmt2
2451 Filter: (ctid = '(1,1)'::tid)
2453 -> Tid Scan on t1 bmt1
2454 TID Cond: (ctid = '(1,1)'::tid)
2459 EXPLAIN (COSTS false)
2461 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
2463 SELECT max(bmt1.c1), (
2464 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
2466 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)' AND bmt1.c1 = c1.c1
2468 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2, s1.t3 b3t3, s1.t4 b3t4 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)' AND b3t1.c1 = b3t3.c1 AND b3t3.ctid = '(1,1)' AND b3t1.c1 = b3t4.c1 AND b3t4.ctid = '(1,1)'
2472 -------------------------------------------------------------------
2477 Join Filter: (b1t1.c1 = b1t4.c1)
2479 Join Filter: (b1t1.c1 = b1t3.c1)
2481 Join Filter: (b1t1.c1 = b1t2.c1)
2482 -> Tid Scan on t1 b1t1
2483 TID Cond: (ctid = '(1,1)'::tid)
2484 -> Seq Scan on t2 b1t2
2485 Filter: (ctid = '(1,1)'::tid)
2486 -> Tid Scan on t3 b1t3
2487 TID Cond: (ctid = '(1,1)'::tid)
2488 -> Tid Scan on t4 b1t4
2489 TID Cond: (ctid = '(1,1)'::tid)
2490 InitPlan 2 (returns $1)
2493 Join Filter: (b2t1.c1 = b2t4.c1)
2495 Join Filter: (b2t1.c1 = b2t3.c1)
2497 Join Filter: (b2t1.c1 = b2t2.c1)
2498 -> Tid Scan on t1 b2t1
2499 TID Cond: (ctid = '(1,1)'::tid)
2500 -> Seq Scan on t2 b2t2
2501 Filter: (ctid = '(1,1)'::tid)
2502 -> Tid Scan on t3 b2t3
2503 TID Cond: (ctid = '(1,1)'::tid)
2504 -> Tid Scan on t4 b2t4
2505 TID Cond: (ctid = '(1,1)'::tid)
2506 InitPlan 3 (returns $2)
2509 Join Filter: (b3t1.c1 = b3t4.c1)
2511 Join Filter: (b3t1.c1 = b3t3.c1)
2513 Join Filter: (b3t1.c1 = b3t2.c1)
2514 -> Tid Scan on t1 b3t1
2515 TID Cond: (ctid = '(1,1)'::tid)
2516 -> Seq Scan on t2 b3t2
2517 Filter: (ctid = '(1,1)'::tid)
2518 -> Tid Scan on t3 b3t3
2519 TID Cond: (ctid = '(1,1)'::tid)
2520 -> Tid Scan on t4 b3t4
2521 TID Cond: (ctid = '(1,1)'::tid)
2523 Join Filter: (bmt1.c1 = c1.c1)
2525 Join Filter: (bmt1.c1 = bmt2.c1)
2527 Join Filter: (bmt3.c1 = bmt1.c1)
2529 Join Filter: (bmt3.c1 = bmt4.c1)
2530 -> Tid Scan on t3 bmt3
2531 TID Cond: (ctid = '(1,1)'::tid)
2532 -> Tid Scan on t4 bmt4
2533 TID Cond: (ctid = '(1,1)'::tid)
2534 -> Tid Scan on t1 bmt1
2535 TID Cond: (ctid = '(1,1)'::tid)
2537 -> Seq Scan on t2 bmt2
2538 Filter: (ctid = '(1,1)'::tid)
2543 Leading(c1 bmt4 b1t4 b2t4 b3t4 bmt3 b1t3 b2t3 b3t3 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2545 EXPLAIN (COSTS false)
2547 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
2549 SELECT max(bmt1.c1), (
2550 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
2552 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)' AND bmt1.c1 = c1.c1
2554 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2, s1.t3 b3t3, s1.t4 b3t4 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)' AND b3t1.c1 = b3t3.c1 AND b3t3.ctid = '(1,1)' AND b3t1.c1 = b3t4.c1 AND b3t4.ctid = '(1,1)'
2559 Leading(c1 bmt4 b1t4 b2t4 b3t4 bmt3 b1t3 b2t3 b3t3 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2565 -------------------------------------------------------------------
2570 Join Filter: (b1t2.c1 = b1t1.c1)
2572 Join Filter: (b1t3.c1 = b1t2.c1)
2574 Join Filter: (b1t3.c1 = b1t4.c1)
2575 -> Tid Scan on t3 b1t3
2576 TID Cond: (ctid = '(1,1)'::tid)
2577 -> Tid Scan on t4 b1t4
2578 TID Cond: (ctid = '(1,1)'::tid)
2579 -> Seq Scan on t2 b1t2
2580 Filter: (ctid = '(1,1)'::tid)
2581 -> Tid Scan on t1 b1t1
2582 TID Cond: (ctid = '(1,1)'::tid)
2583 InitPlan 2 (returns $1)
2586 Join Filter: (b2t2.c1 = b2t1.c1)
2588 Join Filter: (b2t3.c1 = b2t2.c1)
2590 Join Filter: (b2t3.c1 = b2t4.c1)
2591 -> Tid Scan on t3 b2t3
2592 TID Cond: (ctid = '(1,1)'::tid)
2593 -> Tid Scan on t4 b2t4
2594 TID Cond: (ctid = '(1,1)'::tid)
2595 -> Seq Scan on t2 b2t2
2596 Filter: (ctid = '(1,1)'::tid)
2597 -> Tid Scan on t1 b2t1
2598 TID Cond: (ctid = '(1,1)'::tid)
2599 InitPlan 3 (returns $2)
2602 Join Filter: (b3t2.c1 = b3t1.c1)
2604 Join Filter: (b3t3.c1 = b3t2.c1)
2606 Join Filter: (b3t3.c1 = b3t4.c1)
2607 -> Tid Scan on t3 b3t3
2608 TID Cond: (ctid = '(1,1)'::tid)
2609 -> Tid Scan on t4 b3t4
2610 TID Cond: (ctid = '(1,1)'::tid)
2611 -> Seq Scan on t2 b3t2
2612 Filter: (ctid = '(1,1)'::tid)
2613 -> Tid Scan on t1 b3t1
2614 TID Cond: (ctid = '(1,1)'::tid)
2616 Join Filter: (bmt2.c1 = bmt1.c1)
2618 Join Filter: (bmt3.c1 = bmt2.c1)
2620 Join Filter: (bmt4.c1 = bmt3.c1)
2622 Join Filter: (bmt4.c1 = c1.c1)
2623 -> Tid Scan on t4 bmt4
2624 TID Cond: (ctid = '(1,1)'::tid)
2626 -> Tid Scan on t3 bmt3
2627 TID Cond: (ctid = '(1,1)'::tid)
2628 -> Seq Scan on t2 bmt2
2629 Filter: (ctid = '(1,1)'::tid)
2630 -> Tid Scan on t1 bmt1
2631 TID Cond: (ctid = '(1,1)'::tid)
2636 EXPLAIN (COSTS false)
2638 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
2640 SELECT max(bmt1.c1), (
2641 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2643 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)' AND bmt1.c1 = c1.c1
2645 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2649 -------------------------------------------------------------------
2654 Join Filter: (b1t1.c1 = b1t4.c1)
2656 Join Filter: (b1t1.c1 = b1t3.c1)
2658 Join Filter: (b1t1.c1 = b1t2.c1)
2659 -> Tid Scan on t1 b1t1
2660 TID Cond: (ctid = '(1,1)'::tid)
2661 -> Seq Scan on t2 b1t2
2662 Filter: (ctid = '(1,1)'::tid)
2663 -> Tid Scan on t3 b1t3
2664 TID Cond: (ctid = '(1,1)'::tid)
2665 -> Tid Scan on t4 b1t4
2666 TID Cond: (ctid = '(1,1)'::tid)
2667 InitPlan 3 (returns $2)
2669 InitPlan 2 (returns $1)
2671 -> Tid Scan on t1 b2t1
2672 TID Cond: (ctid = '(1,1)'::tid)
2673 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2674 InitPlan 4 (returns $3)
2676 -> Tid Scan on t1 b3t1
2677 TID Cond: (ctid = '(1,1)'::tid)
2679 Join Filter: (bmt1.c1 = c1.c1)
2681 Join Filter: (bmt1.c1 = bmt2.c1)
2683 Join Filter: (bmt3.c1 = bmt1.c1)
2685 Join Filter: (bmt3.c1 = bmt4.c1)
2686 -> Tid Scan on t3 bmt3
2687 TID Cond: (ctid = '(1,1)'::tid)
2688 -> Tid Scan on t4 bmt4
2689 TID Cond: (ctid = '(1,1)'::tid)
2690 -> Tid Scan on t1 bmt1
2691 TID Cond: (ctid = '(1,1)'::tid)
2693 -> Seq Scan on t2 bmt2
2694 Filter: (ctid = '(1,1)'::tid)
2699 Leading(c1 bmt4 b1t4 bmt3 b1t3 bmt2 b1t2 bmt1 b1t1 b2t1 b3t1)
2701 EXPLAIN (COSTS false)
2703 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
2705 SELECT max(bmt1.c1), (
2706 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2708 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)' AND bmt1.c1 = c1.c1
2710 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2715 Leading(c1 bmt4 b1t4 bmt3 b1t3 bmt2 b1t2 bmt1 b1t1 b2t1 b3t1)
2721 -------------------------------------------------------------------
2726 Join Filter: (b1t2.c1 = b1t1.c1)
2728 Join Filter: (b1t3.c1 = b1t2.c1)
2730 Join Filter: (b1t3.c1 = b1t4.c1)
2731 -> Tid Scan on t3 b1t3
2732 TID Cond: (ctid = '(1,1)'::tid)
2733 -> Tid Scan on t4 b1t4
2734 TID Cond: (ctid = '(1,1)'::tid)
2735 -> Seq Scan on t2 b1t2
2736 Filter: (ctid = '(1,1)'::tid)
2737 -> Tid Scan on t1 b1t1
2738 TID Cond: (ctid = '(1,1)'::tid)
2739 InitPlan 3 (returns $2)
2741 InitPlan 2 (returns $1)
2743 -> Tid Scan on t1 b2t1
2744 TID Cond: (ctid = '(1,1)'::tid)
2745 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2746 InitPlan 4 (returns $3)
2748 -> Tid Scan on t1 b3t1
2749 TID Cond: (ctid = '(1,1)'::tid)
2751 Join Filter: (bmt2.c1 = bmt1.c1)
2753 Join Filter: (bmt3.c1 = bmt2.c1)
2755 Join Filter: (bmt4.c1 = bmt3.c1)
2757 Join Filter: (bmt4.c1 = c1.c1)
2758 -> Tid Scan on t4 bmt4
2759 TID Cond: (ctid = '(1,1)'::tid)
2761 -> Tid Scan on t3 bmt3
2762 TID Cond: (ctid = '(1,1)'::tid)
2763 -> Seq Scan on t2 bmt2
2764 Filter: (ctid = '(1,1)'::tid)
2765 -> Tid Scan on t1 bmt1
2766 TID Cond: (ctid = '(1,1)'::tid)
2771 ---- No. L-2-3 RULE definition table
2774 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2776 -----------------------------------------------------------------
2779 Join Filter: (t1.c1 = t4.c1)
2781 Join Filter: (t1.c1 = t3.c1)
2783 Join Filter: (t2.c1 = t1.c1)
2786 TID Cond: (ctid = '(1,1)'::tid)
2789 Filter: (ctid = '(1,1)'::tid)
2791 TID Cond: (ctid = '(1,1)'::tid)
2793 TID Cond: (ctid = '(1,1)'::tid)
2795 TID Cond: (ctid = '(1,1)'::tid)
2798 /*+ Leading(t4 t3 t2 t1 r1) */
2799 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2802 Leading(t4 t3 t2 t1 r1)
2808 -----------------------------------------------------------------
2812 Join Filter: (t2.c1 = t1.c1)
2814 Join Filter: (t3.c1 = t2.c1)
2816 Join Filter: (t3.c1 = t4.c1)
2818 TID Cond: (ctid = '(1,1)'::tid)
2820 TID Cond: (ctid = '(1,1)'::tid)
2822 Filter: (ctid = '(1,1)'::tid)
2824 TID Cond: (ctid = '(1,1)'::tid)
2826 TID Cond: (ctid = '(1,1)'::tid)
2830 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2832 -----------------------------------------------------------------
2835 Join Filter: (b1t1.c1 = b1t4.c1)
2837 Join Filter: (b1t1.c1 = b1t3.c1)
2839 Join Filter: (b1t2.c1 = b1t1.c1)
2842 TID Cond: (ctid = '(1,1)'::tid)
2844 -> Seq Scan on t2 b1t2
2845 Filter: (ctid = '(1,1)'::tid)
2846 -> Tid Scan on t1 b1t1
2847 TID Cond: (ctid = '(1,1)'::tid)
2848 -> Tid Scan on t3 b1t3
2849 TID Cond: (ctid = '(1,1)'::tid)
2850 -> Tid Scan on t4 b1t4
2851 TID Cond: (ctid = '(1,1)'::tid)
2854 /*+ Leading(b1t1 b1t2 b1t3 b1t4 r1_) */
2855 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2858 Leading(b1t1 b1t2 b1t3 b1t4 r1_)
2864 -----------------------------------------------------------------
2868 Join Filter: (b1t1.c1 = b1t4.c1)
2870 Join Filter: (b1t1.c1 = b1t3.c1)
2872 Join Filter: (b1t1.c1 = b1t2.c1)
2873 -> Tid Scan on t1 b1t1
2874 TID Cond: (ctid = '(1,1)'::tid)
2875 -> Seq Scan on t2 b1t2
2876 Filter: (ctid = '(1,1)'::tid)
2877 -> Tid Scan on t3 b1t3
2878 TID Cond: (ctid = '(1,1)'::tid)
2879 -> Tid Scan on t4 b1t4
2880 TID Cond: (ctid = '(1,1)'::tid)
2882 TID Cond: (ctid = '(1,1)'::tid)
2887 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2889 -----------------------------------------------------------------
2892 Join Filter: (t1.c1 = t4.c1)
2894 Join Filter: (t1.c1 = t3.c1)
2896 Join Filter: (t2.c1 = t1.c1)
2899 TID Cond: (ctid = '(1,1)'::tid)
2902 Filter: (ctid = '(1,1)'::tid)
2904 TID Cond: (ctid = '(1,1)'::tid)
2906 TID Cond: (ctid = '(1,1)'::tid)
2908 TID Cond: (ctid = '(1,1)'::tid)
2912 Join Filter: (t1.c1 = t4.c1)
2914 Join Filter: (t1.c1 = t3.c1)
2916 Join Filter: (t2.c1 = t1.c1)
2919 TID Cond: (ctid = '(1,1)'::tid)
2922 Filter: (ctid = '(1,1)'::tid)
2924 TID Cond: (ctid = '(1,1)'::tid)
2926 TID Cond: (ctid = '(1,1)'::tid)
2928 TID Cond: (ctid = '(1,1)'::tid)
2931 /*+ Leading(t4 t3 t2 t1 r2) */
2932 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2935 Leading(t4 t3 t2 t1 r2)
2942 Leading(t4 t3 t2 t1 r2)
2948 -----------------------------------------------------------------
2952 Join Filter: (t2.c1 = t1.c1)
2954 Join Filter: (t3.c1 = t2.c1)
2956 Join Filter: (t3.c1 = t4.c1)
2958 TID Cond: (ctid = '(1,1)'::tid)
2960 TID Cond: (ctid = '(1,1)'::tid)
2962 Filter: (ctid = '(1,1)'::tid)
2964 TID Cond: (ctid = '(1,1)'::tid)
2966 TID Cond: (ctid = '(1,1)'::tid)
2972 Join Filter: (t2.c1 = t1.c1)
2974 Join Filter: (t3.c1 = t2.c1)
2976 Join Filter: (t3.c1 = t4.c1)
2978 TID Cond: (ctid = '(1,1)'::tid)
2980 TID Cond: (ctid = '(1,1)'::tid)
2982 Filter: (ctid = '(1,1)'::tid)
2984 TID Cond: (ctid = '(1,1)'::tid)
2986 TID Cond: (ctid = '(1,1)'::tid)
2990 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2992 -----------------------------------------------------------------
2995 Join Filter: (b1t1.c1 = b1t4.c1)
2997 Join Filter: (b1t1.c1 = b1t3.c1)
2999 Join Filter: (b1t2.c1 = b1t1.c1)
3002 TID Cond: (ctid = '(1,1)'::tid)
3004 -> Seq Scan on t2 b1t2
3005 Filter: (ctid = '(1,1)'::tid)
3006 -> Tid Scan on t1 b1t1
3007 TID Cond: (ctid = '(1,1)'::tid)
3008 -> Tid Scan on t3 b1t3
3009 TID Cond: (ctid = '(1,1)'::tid)
3010 -> Tid Scan on t4 b1t4
3011 TID Cond: (ctid = '(1,1)'::tid)
3015 Join Filter: (b2t1.c1 = b2t4.c1)
3017 Join Filter: (b2t1.c1 = b2t3.c1)
3019 Join Filter: (b2t2.c1 = b2t1.c1)
3022 TID Cond: (ctid = '(1,1)'::tid)
3024 -> Seq Scan on t2 b2t2
3025 Filter: (ctid = '(1,1)'::tid)
3026 -> Tid Scan on t1 b2t1
3027 TID Cond: (ctid = '(1,1)'::tid)
3028 -> Tid Scan on t3 b2t3
3029 TID Cond: (ctid = '(1,1)'::tid)
3030 -> Tid Scan on t4 b2t4
3031 TID Cond: (ctid = '(1,1)'::tid)
3036 b2t1 b2t2 b2t3 b2t4 r2_
3038 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3041 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 r2_)
3048 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 r2_)
3054 -----------------------------------------------------------------
3058 Join Filter: (b1t1.c1 = b1t4.c1)
3060 Join Filter: (b1t1.c1 = b1t3.c1)
3062 Join Filter: (b1t1.c1 = b1t2.c1)
3063 -> Tid Scan on t1 b1t1
3064 TID Cond: (ctid = '(1,1)'::tid)
3065 -> Seq Scan on t2 b1t2
3066 Filter: (ctid = '(1,1)'::tid)
3067 -> Tid Scan on t3 b1t3
3068 TID Cond: (ctid = '(1,1)'::tid)
3069 -> Tid Scan on t4 b1t4
3070 TID Cond: (ctid = '(1,1)'::tid)
3072 TID Cond: (ctid = '(1,1)'::tid)
3078 Join Filter: (b2t1.c1 = b2t4.c1)
3080 Join Filter: (b2t1.c1 = b2t3.c1)
3082 Join Filter: (b2t1.c1 = b2t2.c1)
3083 -> Tid Scan on t1 b2t1
3084 TID Cond: (ctid = '(1,1)'::tid)
3085 -> Seq Scan on t2 b2t2
3086 Filter: (ctid = '(1,1)'::tid)
3087 -> Tid Scan on t3 b2t3
3088 TID Cond: (ctid = '(1,1)'::tid)
3089 -> Tid Scan on t4 b2t4
3090 TID Cond: (ctid = '(1,1)'::tid)
3092 TID Cond: (ctid = '(1,1)'::tid)
3097 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3099 -----------------------------------------------------------------
3102 Join Filter: (t1.c1 = t4.c1)
3104 Join Filter: (t1.c1 = t3.c1)
3106 Join Filter: (t2.c1 = t1.c1)
3109 TID Cond: (ctid = '(1,1)'::tid)
3112 Filter: (ctid = '(1,1)'::tid)
3114 TID Cond: (ctid = '(1,1)'::tid)
3116 TID Cond: (ctid = '(1,1)'::tid)
3118 TID Cond: (ctid = '(1,1)'::tid)
3122 Join Filter: (t1.c1 = t4.c1)
3124 Join Filter: (t1.c1 = t3.c1)
3126 Join Filter: (t2.c1 = t1.c1)
3129 TID Cond: (ctid = '(1,1)'::tid)
3132 Filter: (ctid = '(1,1)'::tid)
3134 TID Cond: (ctid = '(1,1)'::tid)
3136 TID Cond: (ctid = '(1,1)'::tid)
3138 TID Cond: (ctid = '(1,1)'::tid)
3142 Join Filter: (t1.c1 = t4.c1)
3144 Join Filter: (t1.c1 = t3.c1)
3146 Join Filter: (t2.c1 = t1.c1)
3149 TID Cond: (ctid = '(1,1)'::tid)
3152 Filter: (ctid = '(1,1)'::tid)
3154 TID Cond: (ctid = '(1,1)'::tid)
3156 TID Cond: (ctid = '(1,1)'::tid)
3158 TID Cond: (ctid = '(1,1)'::tid)
3161 /*+ Leading(t4 t3 t2 t1 r3) */
3162 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3165 Leading(t4 t3 t2 t1 r3)
3172 Leading(t4 t3 t2 t1 r3)
3179 Leading(t4 t3 t2 t1 r3)
3185 -----------------------------------------------------------------
3189 Join Filter: (t2.c1 = t1.c1)
3191 Join Filter: (t3.c1 = t2.c1)
3193 Join Filter: (t3.c1 = t4.c1)
3195 TID Cond: (ctid = '(1,1)'::tid)
3197 TID Cond: (ctid = '(1,1)'::tid)
3199 Filter: (ctid = '(1,1)'::tid)
3201 TID Cond: (ctid = '(1,1)'::tid)
3203 TID Cond: (ctid = '(1,1)'::tid)
3209 Join Filter: (t2.c1 = t1.c1)
3211 Join Filter: (t3.c1 = t2.c1)
3213 Join Filter: (t3.c1 = t4.c1)
3215 TID Cond: (ctid = '(1,1)'::tid)
3217 TID Cond: (ctid = '(1,1)'::tid)
3219 Filter: (ctid = '(1,1)'::tid)
3221 TID Cond: (ctid = '(1,1)'::tid)
3223 TID Cond: (ctid = '(1,1)'::tid)
3229 Join Filter: (t2.c1 = t1.c1)
3231 Join Filter: (t3.c1 = t2.c1)
3233 Join Filter: (t3.c1 = t4.c1)
3235 TID Cond: (ctid = '(1,1)'::tid)
3237 TID Cond: (ctid = '(1,1)'::tid)
3239 Filter: (ctid = '(1,1)'::tid)
3241 TID Cond: (ctid = '(1,1)'::tid)
3243 TID Cond: (ctid = '(1,1)'::tid)
3247 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3249 -----------------------------------------------------------------
3252 Join Filter: (b1t1.c1 = b1t4.c1)
3254 Join Filter: (b1t1.c1 = b1t3.c1)
3256 Join Filter: (b1t2.c1 = b1t1.c1)
3259 TID Cond: (ctid = '(1,1)'::tid)
3261 -> Seq Scan on t2 b1t2
3262 Filter: (ctid = '(1,1)'::tid)
3263 -> Tid Scan on t1 b1t1
3264 TID Cond: (ctid = '(1,1)'::tid)
3265 -> Tid Scan on t3 b1t3
3266 TID Cond: (ctid = '(1,1)'::tid)
3267 -> Tid Scan on t4 b1t4
3268 TID Cond: (ctid = '(1,1)'::tid)
3272 Join Filter: (b2t1.c1 = b2t4.c1)
3274 Join Filter: (b2t1.c1 = b2t3.c1)
3276 Join Filter: (b2t2.c1 = b2t1.c1)
3279 TID Cond: (ctid = '(1,1)'::tid)
3281 -> Seq Scan on t2 b2t2
3282 Filter: (ctid = '(1,1)'::tid)
3283 -> Tid Scan on t1 b2t1
3284 TID Cond: (ctid = '(1,1)'::tid)
3285 -> Tid Scan on t3 b2t3
3286 TID Cond: (ctid = '(1,1)'::tid)
3287 -> Tid Scan on t4 b2t4
3288 TID Cond: (ctid = '(1,1)'::tid)
3292 Join Filter: (b3t1.c1 = b3t4.c1)
3294 Join Filter: (b3t1.c1 = b3t3.c1)
3296 Join Filter: (b3t2.c1 = b3t1.c1)
3299 TID Cond: (ctid = '(1,1)'::tid)
3301 -> Seq Scan on t2 b3t2
3302 Filter: (ctid = '(1,1)'::tid)
3303 -> Tid Scan on t1 b3t1
3304 TID Cond: (ctid = '(1,1)'::tid)
3305 -> Tid Scan on t3 b3t3
3306 TID Cond: (ctid = '(1,1)'::tid)
3307 -> Tid Scan on t4 b3t4
3308 TID Cond: (ctid = '(1,1)'::tid)
3314 b3t1 b3t2 b3t3 b3t4 r3_
3316 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3319 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3326 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3333 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3339 -----------------------------------------------------------------
3343 Join Filter: (b1t1.c1 = b1t4.c1)
3345 Join Filter: (b1t1.c1 = b1t3.c1)
3347 Join Filter: (b1t1.c1 = b1t2.c1)
3348 -> Tid Scan on t1 b1t1
3349 TID Cond: (ctid = '(1,1)'::tid)
3350 -> Seq Scan on t2 b1t2
3351 Filter: (ctid = '(1,1)'::tid)
3352 -> Tid Scan on t3 b1t3
3353 TID Cond: (ctid = '(1,1)'::tid)
3354 -> Tid Scan on t4 b1t4
3355 TID Cond: (ctid = '(1,1)'::tid)
3357 TID Cond: (ctid = '(1,1)'::tid)
3363 Join Filter: (b2t1.c1 = b2t4.c1)
3365 Join Filter: (b2t1.c1 = b2t3.c1)
3367 Join Filter: (b2t1.c1 = b2t2.c1)
3368 -> Tid Scan on t1 b2t1
3369 TID Cond: (ctid = '(1,1)'::tid)
3370 -> Seq Scan on t2 b2t2
3371 Filter: (ctid = '(1,1)'::tid)
3372 -> Tid Scan on t3 b2t3
3373 TID Cond: (ctid = '(1,1)'::tid)
3374 -> Tid Scan on t4 b2t4
3375 TID Cond: (ctid = '(1,1)'::tid)
3377 TID Cond: (ctid = '(1,1)'::tid)
3383 Join Filter: (b3t1.c1 = b3t4.c1)
3385 Join Filter: (b3t1.c1 = b3t3.c1)
3387 Join Filter: (b3t1.c1 = b3t2.c1)
3388 -> Tid Scan on t1 b3t1
3389 TID Cond: (ctid = '(1,1)'::tid)
3390 -> Seq Scan on t2 b3t2
3391 Filter: (ctid = '(1,1)'::tid)
3392 -> Tid Scan on t3 b3t3
3393 TID Cond: (ctid = '(1,1)'::tid)
3394 -> Tid Scan on t4 b3t4
3395 TID Cond: (ctid = '(1,1)'::tid)
3397 TID Cond: (ctid = '(1,1)'::tid)
3402 ---- No. L-2-4 VALUES clause
3405 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3407 -------------------------------------------------------
3409 Merge Cond: (t1.c1 = t2.c1)
3410 -> Index Scan using t1_i1 on t1
3414 Hash Cond: (t2.c1 = "*VALUES*".column1)
3417 -> Values Scan on "*VALUES*"
3420 /*+ Leading(t3 t1 t2) */
3421 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3430 ---------------------------------------------
3432 Join Filter: (t1.c1 = "*VALUES*".column1)
3433 -> Values Scan on "*VALUES*"
3435 Merge Cond: (t1.c1 = t2.c1)
3436 -> Index Scan using t1_i1 on t1
3442 /*+ Leading(*VALUES* t1 t2) */
3443 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3446 Leading(*VALUES* t1 t2)
3452 -----------------------------------------------------------
3454 Hash Cond: (t2.c1 = t1.c1)
3458 -> Values Scan on "*VALUES*"
3459 -> Index Scan using t1_i1 on t1
3460 Index Cond: (c1 = "*VALUES*".column1)
3464 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
3466 -------------------------------------------------------------
3468 Join Filter: (t1.c1 = "*VALUES*".column1)
3470 Merge Cond: (t1.c1 = t2.c1)
3471 -> Index Scan using t1_i1 on t1
3475 Hash Cond: (t2.c1 = "*VALUES*".column1)
3478 -> Values Scan on "*VALUES*"
3479 -> Values Scan on "*VALUES*"
3482 /*+ Leading(t4 t3 t2 t1) */
3483 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
3486 Leading(t4 t3 t2 t1)
3492 ----------------------------------------------------------------
3494 Join Filter: (t1.c1 = "*VALUES*".column1)
3496 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
3497 -> Values Scan on "*VALUES*"
3498 -> Values Scan on "*VALUES*"
3500 Merge Cond: (t1.c1 = t2.c1)
3501 -> Index Scan using t1_i1 on t1
3507 /*+ Leading(*VALUES* t3 t2 t1) */
3508 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
3509 INFO: hint syntax error at or near "Leading(*VALUES* t3 t2 t1) "
3510 DETAIL: Relation name "*VALUES*" is ambiguous.
3514 Leading(*VALUES* t3 t2 t1)
3519 -------------------------------------------------------------
3521 Join Filter: (t1.c1 = "*VALUES*".column1)
3523 Merge Cond: (t1.c1 = t2.c1)
3524 -> Index Scan using t1_i1 on t1
3528 Hash Cond: (t2.c1 = "*VALUES*".column1)
3531 -> Values Scan on "*VALUES*"
3532 -> Values Scan on "*VALUES*"
3536 ---- No. L-3-1 leading the order of table joins
3538 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3540 ------------------------------------------
3542 Merge Cond: (t1.c1 = t2.c1)
3544 Merge Cond: (t1.c1 = t3.c1)
3545 -> Index Scan using t1_i1 on t1
3546 -> Index Scan using t3_i1 on t3
3553 /*+Leading(t3 t1 t2)*/
3554 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3563 ------------------------------------------
3565 Merge Cond: (t1.c1 = t2.c1)
3567 Merge Cond: (t1.c1 = t3.c1)
3568 -> Index Scan using t1_i1 on t1
3569 -> Index Scan using t3_i1 on t3
3576 /*+Leading(t1 t2 t3)*/
3577 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3586 ------------------------------------------------
3588 Hash Cond: (t3.c1 = t1.c1)
3592 Merge Cond: (t1.c1 = t2.c1)
3593 -> Index Scan using t1_i1 on t1
3600 ---- No. L-3-2 GUC parameter to disable hints
3602 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3604 ------------------------------------------
3606 Merge Cond: (t1.c1 = t2.c1)
3608 Merge Cond: (t1.c1 = t3.c1)
3609 -> Index Scan using t1_i1 on t1
3610 -> Index Scan using t3_i1 on t3
3617 Set geqo_threshold = 3;
3619 /*+Leading(t1 t2 t3)*/
3620 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3629 ------------------------------------------
3631 Merge Cond: (t1.c1 = t2.c1)
3633 Merge Cond: (t1.c1 = t3.c1)
3634 -> Index Scan using t1_i1 on t1
3635 -> Index Scan using t3_i1 on t3
3641 Reset geqo_threshold;
3643 Set geqo_threshold = 4;
3645 /*+Leading(t1 t2 t3)*/
3646 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3655 ------------------------------------------------
3657 Hash Cond: (t3.c1 = t1.c1)
3661 Merge Cond: (t1.c1 = t2.c1)
3662 -> Index Scan using t1_i1 on t1
3668 Reset geqo_threshold;
3670 Set from_collapse_limit = 2;
3671 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.v2 WHERE t1.c1 = v2.c1;
3673 -----------------------------------------------------
3675 Hash Cond: (t1.c1 = v2t1.c1)
3679 Merge Cond: (v2t1.c1 = v2t2.c1)
3680 -> Index Scan using t1_i1 on t1 v2t1
3683 -> Seq Scan on t2 v2t2
3686 /*+Leading(t1 v2t1 v2t2)*/
3687 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.v2 WHERE t1.c1 = v2.c1;
3690 Leading(t1 v2t1 v2t2)
3696 -----------------------------------------------------
3698 Hash Cond: (t1.c1 = v2t1.c1)
3702 Merge Cond: (v2t1.c1 = v2t2.c1)
3703 -> Index Scan using t1_i1 on t1 v2t1
3706 -> Seq Scan on t2 v2t2
3709 Reset from_collapse_limit;
3711 Set from_collapse_limit = 3;
3712 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.v2 WHERE t1.c1 = v2.c1;
3714 -----------------------------------------------
3716 Merge Cond: (v2t1.c1 = v2t2.c1)
3718 Merge Cond: (t1.c1 = v2t1.c1)
3719 -> Index Scan using t1_i1 on t1
3720 -> Index Scan using t1_i1 on t1 v2t1
3723 -> Seq Scan on t2 v2t2
3726 /*+Leading(v2t1 v2t2 t1)*/
3727 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.v2 WHERE t1.c1 = v2.c1;
3730 Leading(v2t1 v2t2 t1)
3736 -----------------------------------------------------
3738 Hash Cond: (t1.c1 = v2t1.c1)
3742 Merge Cond: (v2t1.c1 = v2t2.c1)
3743 -> Index Scan using t1_i1 on t1 v2t1
3746 -> Seq Scan on t2 v2t2
3749 Reset from_collapse_limit;
3751 Set join_collapse_limit = 2;
3752 EXPLAIN (COSTS false) SELECT * FROM s1.t3
3753 JOIN s1.t2 ON (t3.c1 = t2.c1)
3754 JOIN s1.t1 ON (t1.c1 = t3.c1);
3756 ------------------------------------------
3758 Hash Cond: (t1.c1 = t3.c1)
3762 Hash Cond: (t3.c1 = t2.c1)
3768 /*+Leading(t1 t2 t3)*/
3769 EXPLAIN (COSTS false) SELECT * FROM s1.t3
3770 JOIN s1.t2 ON (t3.c1 = t2.c1)
3771 JOIN s1.t1 ON (t1.c1 = t3.c1);
3780 ------------------------------------------
3782 Hash Cond: (t1.c1 = t3.c1)
3786 Hash Cond: (t3.c1 = t2.c1)
3792 Reset join_collapse_limit;
3794 Set join_collapse_limit = 3;
3795 EXPLAIN (COSTS false) SELECT * FROM s1.t3
3796 JOIN s1.t2 ON (t3.c1 = t2.c1)
3797 JOIN s1.t1 ON (t1.c1 = t3.c1);
3799 ------------------------------------------------
3801 Hash Cond: (t3.c1 = t2.c1)
3805 Merge Cond: (t1.c1 = t2.c1)
3806 -> Index Scan using t1_i1 on t1
3812 /*+Leading(t1 t2 t3)*/
3813 EXPLAIN (COSTS false) SELECT * FROM s1.t3
3814 JOIN s1.t2 ON (t3.c1 = t2.c1)
3815 JOIN s1.t1 ON (t1.c1 = t3.c1);
3824 ------------------------------------------------
3826 Hash Cond: (t3.c1 = t2.c1)
3830 Merge Cond: (t1.c1 = t2.c1)
3831 -> Index Scan using t1_i1 on t1
3837 Reset join_collapse_limit;
3839 ---- No. L-3-3 join between parents or between children
3842 /*+Leading(t1 t2 t3)*/
3843 EXPLAIN (COSTS false) SELECT * FROM s1.p2c1 t1
3844 JOIN s1.p2c2 t2 ON (t1.c1 = t2.c1)
3845 JOIN s1.p2c3 t3 ON (t1.c1 = t3.c1);
3854 -----------------------------------------------
3856 Hash Cond: (t1.c1 = t3.c1)
3858 Hash Cond: (t1.c1 = t2.c1)
3860 -> Seq Scan on p2c1 t1
3861 -> Seq Scan on p2c1c1 t1
3862 -> Seq Scan on p2c1c2 t1
3865 -> Seq Scan on p2c2 t2
3866 -> Seq Scan on p2c2c1 t2
3867 -> Seq Scan on p2c2c2 t2
3870 -> Seq Scan on p2c3 t3
3871 -> Seq Scan on p2c3c1 t3
3872 -> Seq Scan on p2c3c2 t3
3876 /*+Leading(p2c1c1 p2c2c1 p2c3c1)*/
3877 EXPLAIN (COSTS false) SELECT * FROM s1.p2c1 t1
3878 JOIN s1.p2c2 t2 ON (t1.c1 = t2.c1)
3879 JOIN s1.p2c3 t3 ON (t1.c1 = t3.c1);
3883 Leading(p2c1c1 p2c2c1 p2c3c1)
3888 -----------------------------------------------
3890 Hash Cond: (t1.c1 = t3.c1)
3892 Hash Cond: (t1.c1 = t2.c1)
3894 -> Seq Scan on p2c1 t1
3895 -> Seq Scan on p2c1c1 t1
3896 -> Seq Scan on p2c1c2 t1
3899 -> Seq Scan on p2c2 t2
3900 -> Seq Scan on p2c2c1 t2
3901 -> Seq Scan on p2c2c2 t2
3904 -> Seq Scan on p2c3 t3
3905 -> Seq Scan on p2c3c1 t3
3906 -> Seq Scan on p2c3c2 t3
3910 ---- No. L-3-4 conflict leading hint
3913 EXPLAIN (COSTS false) SELECT * FROM s1.t1
3914 JOIN s1.t2 ON (t1.c1 = t2.c1)
3915 JOIN s1.t3 ON (t1.c1 = t3.c1);
3917 ------------------------------------------
3919 Merge Cond: (t1.c1 = t2.c1)
3921 Merge Cond: (t1.c1 = t3.c1)
3922 -> Index Scan using t1_i1 on t1
3923 -> Index Scan using t3_i1 on t3
3929 /*+Leading(t2 t3 t1)Leading(t1 t2 t3)*/
3930 EXPLAIN (COSTS false) SELECT * FROM s1.t1
3931 JOIN s1.t2 ON (t1.c1 = t2.c1)
3932 JOIN s1.t3 ON (t1.c1 = t3.c1);
3933 INFO: hint syntax error at or near "Leading(t2 t3 t1)Leading(t1 t2 t3)"
3934 DETAIL: Conflict leading hint.
3944 ------------------------------------------------
3946 Hash Cond: (t3.c1 = t1.c1)
3950 Merge Cond: (t1.c1 = t2.c1)
3951 -> Index Scan using t1_i1 on t1
3958 /*+Leading(t3 t1 t2)Leading(t2 t3 t1)Leading(t1 t2 t3)*/
3959 EXPLAIN (COSTS false) SELECT * FROM s1.t1
3960 JOIN s1.t2 ON (t1.c1 = t2.c1)
3961 JOIN s1.t3 ON (t1.c1 = t3.c1);
3962 INFO: hint syntax error at or near "Leading(t3 t1 t2)Leading(t2 t3 t1)Leading(t1 t2 t3)"
3963 DETAIL: Conflict leading hint.
3964 INFO: hint syntax error at or near "Leading(t2 t3 t1)Leading(t1 t2 t3)"
3965 DETAIL: Conflict leading hint.
3976 ------------------------------------------------
3978 Hash Cond: (t3.c1 = t1.c1)
3982 Merge Cond: (t1.c1 = t2.c1)
3983 -> Index Scan using t1_i1 on t1
3990 /*+Leading(t2 t3 t1)Leading()*/
3991 EXPLAIN (COSTS false) SELECT * FROM s1.t1
3992 JOIN s1.t2 ON (t1.c1 = t2.c1)
3993 JOIN s1.t3 ON (t1.c1 = t3.c1);
3994 INFO: hint syntax error at or near "Leading()"
3995 DETAIL: In Leading hint, specified relation name 2 or more.
3996 INFO: hint syntax error at or near "Leading(t2 t3 t1)Leading()"
3997 DETAIL: Conflict leading hint.
4007 ------------------------------------------
4009 Merge Cond: (t1.c1 = t2.c1)
4011 Merge Cond: (t1.c1 = t3.c1)
4012 -> Index Scan using t1_i1 on t1
4013 -> Index Scan using t3_i1 on t3
4020 /*+Leading(t3 t1 t2)Leading(t2 t3 t1)Leading()*/
4021 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4022 JOIN s1.t2 ON (t1.c1 = t2.c1)
4023 JOIN s1.t3 ON (t1.c1 = t3.c1);
4024 INFO: hint syntax error at or near "Leading()"
4025 DETAIL: In Leading hint, specified relation name 2 or more.
4026 INFO: hint syntax error at or near "Leading(t3 t1 t2)Leading(t2 t3 t1)Leading()"
4027 DETAIL: Conflict leading hint.
4028 INFO: hint syntax error at or near "Leading(t2 t3 t1)Leading()"
4029 DETAIL: Conflict leading hint.
4040 ------------------------------------------
4042 Merge Cond: (t1.c1 = t2.c1)
4044 Merge Cond: (t1.c1 = t3.c1)
4045 -> Index Scan using t1_i1 on t1
4046 -> Index Scan using t3_i1 on t3
4053 ---- No. L-3-5 hint state output
4057 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4058 JOIN s1.t2 ON (t1.c1 = t2.c1)
4059 JOIN s1.t3 ON (t1.c1 = t3.c1);
4060 INFO: hint syntax error at or near "Leading()"
4061 DETAIL: In Leading hint, specified relation name 2 or more.
4070 ------------------------------------------
4072 Merge Cond: (t1.c1 = t2.c1)
4074 Merge Cond: (t1.c1 = t3.c1)
4075 -> Index Scan using t1_i1 on t1
4076 -> Index Scan using t3_i1 on t3
4084 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4085 JOIN s1.t2 ON (t1.c1 = t2.c1)
4086 JOIN s1.t3 ON (t1.c1 = t3.c1);
4087 INFO: hint syntax error at or near "Leading(t1)"
4088 DETAIL: In Leading hint, specified relation name 2 or more.
4097 ------------------------------------------
4099 Merge Cond: (t1.c1 = t2.c1)
4101 Merge Cond: (t1.c1 = t3.c1)
4102 -> Index Scan using t1_i1 on t1
4103 -> Index Scan using t3_i1 on t3
4111 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4112 JOIN s1.t2 ON (t1.c1 = t2.c1)
4113 JOIN s1.t3 ON (t1.c1 = t3.c1);
4122 ------------------------------------------
4125 Merge Cond: (t1.c1 = t2.c1)
4126 -> Index Scan using t1_i1 on t1
4130 -> Index Scan using t3_i1 on t3
4131 Index Cond: (c1 = t1.c1)
4135 /*+Leading(t1 t2 t3)*/
4136 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4137 JOIN s1.t2 ON (t1.c1 = t2.c1)
4138 JOIN s1.t3 ON (t1.c1 = t3.c1);
4147 ------------------------------------------------
4149 Hash Cond: (t3.c1 = t1.c1)
4153 Merge Cond: (t1.c1 = t2.c1)
4154 -> Index Scan using t1_i1 on t1