2 SET pg_hint_plan.enable_hint 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 duplicated.
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 duplicated.
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), s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
912 -------------------------------------------------------
916 Hash Cond: (t2.c1 = "*VALUES*".column1)
919 -> Values Scan on "*VALUES*"
920 -> Index Scan using t3_i1 on t3
921 Index Cond: (c1 = "*VALUES*".column1)
922 -> Index Scan using t4_i1 on t4
923 Index Cond: (c1 = "*VALUES*".column1)
926 /*+Leading(t4 t3 t2 t1)*/
927 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
936 ---------------------------------------------
938 Join Filter: (t2.c1 = "*VALUES*".column1)
939 -> Values Scan on "*VALUES*"
941 Hash Cond: (t3.c1 = t2.c1)
943 Hash Cond: (t3.c1 = t4.c1)
952 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;
954 ----------------------------------------------------
956 Merge Cond: (ct1.c1 = ct3.c1)
959 Hash Cond: (st1.c1 = st4.c1)
961 Hash Cond: (st1.c1 = st3.c1)
963 Hash Cond: (st1.c1 = st2.c1)
964 -> Seq Scan on t1 st1
966 -> Seq Scan on t1 st2
968 -> Seq Scan on t1 st3
970 -> Seq Scan on t1 st4
972 Merge Cond: (ct1.c1 = ct2.c1)
975 -> CTE Scan on c1 ct1
978 -> CTE Scan on c1 ct2
981 Merge Cond: (ct3.c1 = ct4.c1)
984 -> CTE Scan on c1 ct3
987 -> CTE Scan on c1 ct4
990 /*+Leading(ct4 ct3 ct2 ct1 st4 st3 st2 st1)*/
991 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;
994 Leading(ct4 ct3 ct2 ct1 st4 st3 st2 st1)
1000 ---------------------------------------------------------
1002 Merge Cond: (ct1.c1 = ct2.c1)
1005 Hash Cond: (st2.c1 = st1.c1)
1007 Hash Cond: (st3.c1 = st2.c1)
1009 Hash Cond: (st3.c1 = st4.c1)
1010 -> Seq Scan on t1 st3
1012 -> Seq Scan on t1 st4
1014 -> Seq Scan on t1 st2
1016 -> Seq Scan on t1 st1
1019 -> CTE Scan on c1 ct1
1022 Merge Cond: (ct2.c1 = ct3.c1)
1025 -> CTE Scan on c1 ct2
1028 Merge Cond: (ct3.c1 = ct4.c1)
1031 -> CTE Scan on c1 ct3
1034 -> CTE Scan on c1 ct4
1038 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;
1040 ----------------------------------------------
1042 Hash Cond: (v1t1.c1 = v1t1.c1)
1044 Hash Cond: (v1t1.c1 = v1t1.c1)
1046 Hash Cond: (v1t1.c1 = v1t1.c1)
1047 -> Seq Scan on t1 v1t1
1049 -> Seq Scan on t1 v1t1
1051 -> Seq Scan on t1 v1t1
1053 -> Seq Scan on t1 v1t1
1056 /*+Leading(t4 t3 t2 t1)*/
1057 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;
1061 Leading(t4 t3 t2 t1)
1066 ----------------------------------------------
1068 Hash Cond: (v1t1.c1 = v1t1.c1)
1070 Hash Cond: (v1t1.c1 = v1t1.c1)
1072 Hash Cond: (v1t1.c1 = v1t1.c1)
1073 -> Seq Scan on t1 v1t1
1075 -> Seq Scan on t1 v1t1
1077 -> Seq Scan on t1 v1t1
1079 -> Seq Scan on t1 v1t1
1082 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;
1084 ---------------------------------------------
1086 Hash Cond: (v1t1.c1 = t4.c1)
1088 Hash Cond: (v1t1.c1 = v1t1_.c1)
1090 Hash Cond: (t3.c1 = v1t1.c1)
1093 -> Seq Scan on t1 v1t1
1095 -> Seq Scan on t1 v1t1_
1100 /*+Leading(t4 v1t1_ v1t1 t3)*/
1101 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;
1104 Leading(t4 v1t1_ v1t1 t3)
1110 ----------------------------------------------
1112 Hash Cond: (v1t1.c1 = t3.c1)
1114 Hash Cond: (v1t1_.c1 = v1t1.c1)
1116 Hash Cond: (t4.c1 = v1t1_.c1)
1119 -> Seq Scan on t1 v1t1_
1121 -> Seq Scan on t1 v1t1
1127 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;
1129 ------------------------------------------------
1131 Merge Cond: (t1.c1 = t2.c1)
1133 Merge Cond: (t1.c1 = t4.c1)
1135 Merge Cond: (t1.c1 = t3.c1)
1136 -> Index Scan using t1_i1 on t1
1137 -> Index Scan using t3_i1 on t3
1138 -> Index Scan using t4_i1 on t4
1144 /*+Leading(st4 t2 t3 t1)*/
1145 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;
1148 Leading(st4 t2 t3 t1)
1154 ------------------------------------------------
1157 Merge Cond: (t1.c1 = t2.c1)
1158 -> Index Scan using t1_i1 on t1
1162 Hash Cond: (t3.c1 = t2.c1)
1166 -> Index Scan using t4_i1 on t4
1167 Index Cond: (c1 = t1.c1)
1170 /*+Leading(t4 t2 t3 t1)*/
1171 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;
1174 Leading(t4 t2 t3 t1)
1180 ------------------------------------------------------
1182 Merge Cond: (t1.c1 = t2.c1)
1183 -> Index Scan using t1_i1 on t1
1187 Hash Cond: (t3.c1 = t2.c1)
1191 Hash Cond: (t4.c1 = t2.c1)
1198 ---- No. L-2-1 complexity query block
1201 EXPLAIN (COSTS false)
1202 SELECT max(bmt1.c1), (
1203 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)'
1205 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)'
1207 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)'
1210 -------------------------------------------------------------------
1212 InitPlan 1 (returns $0)
1215 Join Filter: (b1t1.c1 = b1t4.c1)
1217 Join Filter: (b1t1.c1 = b1t3.c1)
1219 Join Filter: (b1t1.c1 = b1t2.c1)
1220 -> Tid Scan on t1 b1t1
1221 TID Cond: (ctid = '(1,1)'::tid)
1222 -> Seq Scan on t2 b1t2
1223 Filter: (ctid = '(1,1)'::tid)
1224 -> Tid Scan on t3 b1t3
1225 TID Cond: (ctid = '(1,1)'::tid)
1226 -> Tid Scan on t4 b1t4
1227 TID Cond: (ctid = '(1,1)'::tid)
1228 InitPlan 2 (returns $1)
1231 Join Filter: (b2t1.c1 = b2t4.c1)
1233 Join Filter: (b2t1.c1 = b2t3.c1)
1235 Join Filter: (b2t1.c1 = b2t2.c1)
1236 -> Tid Scan on t1 b2t1
1237 TID Cond: (ctid = '(1,1)'::tid)
1238 -> Seq Scan on t2 b2t2
1239 Filter: (ctid = '(1,1)'::tid)
1240 -> Tid Scan on t3 b2t3
1241 TID Cond: (ctid = '(1,1)'::tid)
1242 -> Tid Scan on t4 b2t4
1243 TID Cond: (ctid = '(1,1)'::tid)
1245 Join Filter: (bmt1.c1 = bmt4.c1)
1247 Join Filter: (bmt1.c1 = bmt3.c1)
1249 Join Filter: (bmt1.c1 = bmt2.c1)
1250 -> Tid Scan on t1 bmt1
1251 TID Cond: (ctid = '(1,1)'::tid)
1252 -> Seq Scan on t2 bmt2
1253 Filter: (ctid = '(1,1)'::tid)
1254 -> Tid Scan on t3 bmt3
1255 TID Cond: (ctid = '(1,1)'::tid)
1256 -> Tid Scan on t4 bmt4
1257 TID Cond: (ctid = '(1,1)'::tid)
1261 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1263 EXPLAIN (COSTS false)
1264 SELECT max(bmt1.c1), (
1265 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)'
1267 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)'
1269 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)'
1273 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1279 -------------------------------------------------------------------
1281 InitPlan 1 (returns $0)
1284 Join Filter: (b1t2.c1 = b1t1.c1)
1286 Join Filter: (b1t2.c1 = b1t4.c1)
1288 Join Filter: (b1t2.c1 = b1t3.c1)
1289 -> Seq Scan on t2 b1t2
1290 Filter: (ctid = '(1,1)'::tid)
1291 -> Tid Scan on t3 b1t3
1292 TID Cond: (ctid = '(1,1)'::tid)
1293 -> Tid Scan on t4 b1t4
1294 TID Cond: (ctid = '(1,1)'::tid)
1295 -> Tid Scan on t1 b1t1
1296 TID Cond: (ctid = '(1,1)'::tid)
1297 InitPlan 2 (returns $1)
1300 Join Filter: (b2t1.c1 = b2t2.c1)
1302 Join Filter: (b2t3.c1 = b2t1.c1)
1304 Join Filter: (b2t3.c1 = b2t4.c1)
1305 -> Tid Scan on t3 b2t3
1306 TID Cond: (ctid = '(1,1)'::tid)
1307 -> Tid Scan on t4 b2t4
1308 TID Cond: (ctid = '(1,1)'::tid)
1309 -> Tid Scan on t1 b2t1
1310 TID Cond: (ctid = '(1,1)'::tid)
1311 -> Seq Scan on t2 b2t2
1312 Filter: (ctid = '(1,1)'::tid)
1314 Join Filter: (bmt1.c1 = bmt4.c1)
1316 Join Filter: (bmt1.c1 = bmt3.c1)
1318 Join Filter: (bmt1.c1 = bmt2.c1)
1319 -> Tid Scan on t1 bmt1
1320 TID Cond: (ctid = '(1,1)'::tid)
1321 -> Seq Scan on t2 bmt2
1322 Filter: (ctid = '(1,1)'::tid)
1323 -> Tid Scan on t3 bmt3
1324 TID Cond: (ctid = '(1,1)'::tid)
1325 -> Tid Scan on t4 bmt4
1326 TID Cond: (ctid = '(1,1)'::tid)
1330 EXPLAIN (COSTS false)
1331 SELECT max(bmt1.c1), (
1332 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)'
1334 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)'
1336 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)'
1338 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)'
1341 -------------------------------------------------------------------
1343 InitPlan 1 (returns $0)
1346 Join Filter: (b1t1.c1 = b1t4.c1)
1348 Join Filter: (b1t1.c1 = b1t3.c1)
1350 Join Filter: (b1t1.c1 = b1t2.c1)
1351 -> Tid Scan on t1 b1t1
1352 TID Cond: (ctid = '(1,1)'::tid)
1353 -> Seq Scan on t2 b1t2
1354 Filter: (ctid = '(1,1)'::tid)
1355 -> Tid Scan on t3 b1t3
1356 TID Cond: (ctid = '(1,1)'::tid)
1357 -> Tid Scan on t4 b1t4
1358 TID Cond: (ctid = '(1,1)'::tid)
1359 InitPlan 2 (returns $1)
1362 Join Filter: (b2t1.c1 = b2t4.c1)
1364 Join Filter: (b2t1.c1 = b2t3.c1)
1366 Join Filter: (b2t1.c1 = b2t2.c1)
1367 -> Tid Scan on t1 b2t1
1368 TID Cond: (ctid = '(1,1)'::tid)
1369 -> Seq Scan on t2 b2t2
1370 Filter: (ctid = '(1,1)'::tid)
1371 -> Tid Scan on t3 b2t3
1372 TID Cond: (ctid = '(1,1)'::tid)
1373 -> Tid Scan on t4 b2t4
1374 TID Cond: (ctid = '(1,1)'::tid)
1375 InitPlan 3 (returns $2)
1378 Join Filter: (b3t1.c1 = b3t4.c1)
1380 Join Filter: (b3t1.c1 = b3t3.c1)
1382 Join Filter: (b3t1.c1 = b3t2.c1)
1383 -> Tid Scan on t1 b3t1
1384 TID Cond: (ctid = '(1,1)'::tid)
1385 -> Seq Scan on t2 b3t2
1386 Filter: (ctid = '(1,1)'::tid)
1387 -> Tid Scan on t3 b3t3
1388 TID Cond: (ctid = '(1,1)'::tid)
1389 -> Tid Scan on t4 b3t4
1390 TID Cond: (ctid = '(1,1)'::tid)
1392 Join Filter: (bmt1.c1 = bmt4.c1)
1394 Join Filter: (bmt1.c1 = bmt3.c1)
1396 Join Filter: (bmt1.c1 = bmt2.c1)
1397 -> Tid Scan on t1 bmt1
1398 TID Cond: (ctid = '(1,1)'::tid)
1399 -> Seq Scan on t2 bmt2
1400 Filter: (ctid = '(1,1)'::tid)
1401 -> Tid Scan on t3 bmt3
1402 TID Cond: (ctid = '(1,1)'::tid)
1403 -> Tid Scan on t4 bmt4
1404 TID Cond: (ctid = '(1,1)'::tid)
1408 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1410 EXPLAIN (COSTS false)
1411 SELECT max(bmt1.c1), (
1412 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)'
1414 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)'
1416 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)'
1418 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)'
1422 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1428 -------------------------------------------------------------------
1430 InitPlan 1 (returns $0)
1433 Join Filter: (b1t2.c1 = b1t1.c1)
1435 Join Filter: (b1t2.c1 = b1t4.c1)
1437 Join Filter: (b1t2.c1 = b1t3.c1)
1438 -> Seq Scan on t2 b1t2
1439 Filter: (ctid = '(1,1)'::tid)
1440 -> Tid Scan on t3 b1t3
1441 TID Cond: (ctid = '(1,1)'::tid)
1442 -> Tid Scan on t4 b1t4
1443 TID Cond: (ctid = '(1,1)'::tid)
1444 -> Tid Scan on t1 b1t1
1445 TID Cond: (ctid = '(1,1)'::tid)
1446 InitPlan 2 (returns $1)
1449 Join Filter: (b2t1.c1 = b2t2.c1)
1451 Join Filter: (b2t3.c1 = b2t1.c1)
1453 Join Filter: (b2t3.c1 = b2t4.c1)
1454 -> Tid Scan on t3 b2t3
1455 TID Cond: (ctid = '(1,1)'::tid)
1456 -> Tid Scan on t4 b2t4
1457 TID Cond: (ctid = '(1,1)'::tid)
1458 -> Tid Scan on t1 b2t1
1459 TID Cond: (ctid = '(1,1)'::tid)
1460 -> Seq Scan on t2 b2t2
1461 Filter: (ctid = '(1,1)'::tid)
1462 InitPlan 3 (returns $2)
1465 Join Filter: (b3t1.c1 = b3t3.c1)
1467 Join Filter: (b3t1.c1 = b3t2.c1)
1469 Join Filter: (b3t1.c1 = b3t4.c1)
1470 -> Tid Scan on t1 b3t1
1471 TID Cond: (ctid = '(1,1)'::tid)
1472 -> Tid Scan on t4 b3t4
1473 TID Cond: (ctid = '(1,1)'::tid)
1474 -> Seq Scan on t2 b3t2
1475 Filter: (ctid = '(1,1)'::tid)
1476 -> Tid Scan on t3 b3t3
1477 TID Cond: (ctid = '(1,1)'::tid)
1479 Join Filter: (bmt1.c1 = bmt4.c1)
1481 Join Filter: (bmt1.c1 = bmt3.c1)
1483 Join Filter: (bmt1.c1 = bmt2.c1)
1484 -> Tid Scan on t1 bmt1
1485 TID Cond: (ctid = '(1,1)'::tid)
1486 -> Seq Scan on t2 bmt2
1487 Filter: (ctid = '(1,1)'::tid)
1488 -> Tid Scan on t3 bmt3
1489 TID Cond: (ctid = '(1,1)'::tid)
1490 -> Tid Scan on t4 bmt4
1491 TID Cond: (ctid = '(1,1)'::tid)
1495 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)';
1497 -----------------------------------------------------------
1500 Join Filter: (bmt1.c1 = bmt4.c1)
1502 Join Filter: (bmt1.c1 = bmt3.c1)
1504 Join Filter: (bmt1.c1 = bmt2.c1)
1505 -> Tid Scan on t1 bmt1
1506 TID Cond: (ctid = '(1,1)'::tid)
1507 -> Seq Scan on t2 bmt2
1508 Filter: (ctid = '(1,1)'::tid)
1509 -> Tid Scan on t3 bmt3
1510 TID Cond: (ctid = '(1,1)'::tid)
1511 -> Tid Scan on t4 bmt4
1512 TID Cond: (ctid = '(1,1)'::tid)
1516 Leading(bmt4 bmt3 bmt2 bmt1)
1518 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)';
1521 Leading(bmt4 bmt3 bmt2 bmt1)
1527 -----------------------------------------------------------
1530 Join Filter: (bmt2.c1 = bmt1.c1)
1532 Join Filter: (bmt3.c1 = bmt2.c1)
1534 Join Filter: (bmt3.c1 = bmt4.c1)
1535 -> Tid Scan on t3 bmt3
1536 TID Cond: (ctid = '(1,1)'::tid)
1537 -> Tid Scan on t4 bmt4
1538 TID Cond: (ctid = '(1,1)'::tid)
1539 -> Seq Scan on t2 bmt2
1540 Filter: (ctid = '(1,1)'::tid)
1541 -> Tid Scan on t1 bmt1
1542 TID Cond: (ctid = '(1,1)'::tid)
1546 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)';
1548 -----------------------------------------------------------
1551 Join Filter: (bmt1.c1 = bmt4.c1)
1553 Join Filter: (bmt1.c1 = bmt3.c1)
1555 Join Filter: (bmt1.c1 = bmt2.c1)
1556 -> Tid Scan on t1 bmt1
1557 TID Cond: (ctid = '(1,1)'::tid)
1558 -> Seq Scan on t2 bmt2
1559 Filter: (ctid = '(1,1)'::tid)
1560 -> Tid Scan on t3 bmt3
1561 TID Cond: (ctid = '(1,1)'::tid)
1562 -> Tid Scan on t4 bmt4
1563 TID Cond: (ctid = '(1,1)'::tid)
1567 Leading(bmt4 bmt3 bmt2 bmt1)
1569 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)';
1572 Leading(bmt4 bmt3 bmt2 bmt1)
1578 -----------------------------------------------------------
1581 Join Filter: (bmt2.c1 = bmt1.c1)
1583 Join Filter: (bmt3.c1 = bmt2.c1)
1585 Join Filter: (bmt3.c1 = bmt4.c1)
1586 -> Tid Scan on t3 bmt3
1587 TID Cond: (ctid = '(1,1)'::tid)
1588 -> Tid Scan on t4 bmt4
1589 TID Cond: (ctid = '(1,1)'::tid)
1590 -> Seq Scan on t2 bmt2
1591 Filter: (ctid = '(1,1)'::tid)
1592 -> Tid Scan on t1 bmt1
1593 TID Cond: (ctid = '(1,1)'::tid)
1597 EXPLAIN (COSTS false)
1598 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)'
1600 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)'
1602 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)'
1606 -------------------------------------------------------------------
1608 InitPlan 1 (returns $0)
1611 Join Filter: (b1t1.c1 = b1t4.c1)
1613 Join Filter: (b1t1.c1 = b1t3.c1)
1615 Join Filter: (b1t1.c1 = b1t2.c1)
1616 -> Tid Scan on t1 b1t1
1617 TID Cond: (ctid = '(1,1)'::tid)
1618 -> Seq Scan on t2 b1t2
1619 Filter: (ctid = '(1,1)'::tid)
1620 -> Tid Scan on t3 b1t3
1621 TID Cond: (ctid = '(1,1)'::tid)
1622 -> Tid Scan on t4 b1t4
1623 TID Cond: (ctid = '(1,1)'::tid)
1624 InitPlan 2 (returns $1)
1627 Join Filter: (b2t1.c1 = b2t4.c1)
1629 Join Filter: (b2t1.c1 = b2t3.c1)
1631 Join Filter: (b2t1.c1 = b2t2.c1)
1632 -> Tid Scan on t1 b2t1
1633 TID Cond: (ctid = '(1,1)'::tid)
1634 -> Seq Scan on t2 b2t2
1635 Filter: (ctid = '(1,1)'::tid)
1636 -> Tid Scan on t3 b2t3
1637 TID Cond: (ctid = '(1,1)'::tid)
1638 -> Tid Scan on t4 b2t4
1639 TID Cond: (ctid = '(1,1)'::tid)
1641 Join Filter: (bmt1.c1 = bmt4.c1)
1643 Join Filter: (bmt1.c1 = bmt2.c1)
1645 Join Filter: (bmt1.c1 = bmt3.c1)
1646 -> Tid Scan on t1 bmt1
1647 TID Cond: (ctid = '(1,1)'::tid)
1648 Filter: ((c1 <> $0) AND (c1 <> $1))
1649 -> Tid Scan on t3 bmt3
1650 TID Cond: (ctid = '(1,1)'::tid)
1651 -> Seq Scan on t2 bmt2
1652 Filter: (ctid = '(1,1)'::tid)
1653 -> Tid Scan on t4 bmt4
1654 TID Cond: (ctid = '(1,1)'::tid)
1658 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1660 EXPLAIN (COSTS false)
1661 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)'
1663 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)'
1665 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)'
1670 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1676 -------------------------------------------------------------------
1678 InitPlan 1 (returns $0)
1681 Join Filter: (b1t2.c1 = b1t1.c1)
1683 Join Filter: (b1t2.c1 = b1t4.c1)
1685 Join Filter: (b1t2.c1 = b1t3.c1)
1686 -> Seq Scan on t2 b1t2
1687 Filter: (ctid = '(1,1)'::tid)
1688 -> Tid Scan on t3 b1t3
1689 TID Cond: (ctid = '(1,1)'::tid)
1690 -> Tid Scan on t4 b1t4
1691 TID Cond: (ctid = '(1,1)'::tid)
1692 -> Tid Scan on t1 b1t1
1693 TID Cond: (ctid = '(1,1)'::tid)
1694 InitPlan 2 (returns $1)
1697 Join Filter: (b2t1.c1 = b2t2.c1)
1699 Join Filter: (b2t3.c1 = b2t1.c1)
1701 Join Filter: (b2t3.c1 = b2t4.c1)
1702 -> Tid Scan on t3 b2t3
1703 TID Cond: (ctid = '(1,1)'::tid)
1704 -> Tid Scan on t4 b2t4
1705 TID Cond: (ctid = '(1,1)'::tid)
1706 -> Tid Scan on t1 b2t1
1707 TID Cond: (ctid = '(1,1)'::tid)
1708 -> Seq Scan on t2 b2t2
1709 Filter: (ctid = '(1,1)'::tid)
1711 Join Filter: (bmt1.c1 = bmt4.c1)
1713 Join Filter: (bmt1.c1 = bmt3.c1)
1715 Join Filter: (bmt1.c1 = bmt2.c1)
1716 -> Tid Scan on t1 bmt1
1717 TID Cond: (ctid = '(1,1)'::tid)
1718 Filter: ((c1 <> $0) AND (c1 <> $1))
1719 -> Seq Scan on t2 bmt2
1720 Filter: (ctid = '(1,1)'::tid)
1721 -> Tid Scan on t3 bmt3
1722 TID Cond: (ctid = '(1,1)'::tid)
1723 -> Tid Scan on t4 bmt4
1724 TID Cond: (ctid = '(1,1)'::tid)
1728 EXPLAIN (COSTS false)
1729 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)'
1731 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)'
1733 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)'
1735 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)'
1739 ------------------------------------------------------------------------------
1741 InitPlan 1 (returns $0)
1744 Join Filter: (b1t1.c1 = b1t4.c1)
1746 Join Filter: (b1t1.c1 = b1t3.c1)
1748 Join Filter: (b1t1.c1 = b1t2.c1)
1749 -> Tid Scan on t1 b1t1
1750 TID Cond: (ctid = '(1,1)'::tid)
1751 -> Seq Scan on t2 b1t2
1752 Filter: (ctid = '(1,1)'::tid)
1753 -> Tid Scan on t3 b1t3
1754 TID Cond: (ctid = '(1,1)'::tid)
1755 -> Tid Scan on t4 b1t4
1756 TID Cond: (ctid = '(1,1)'::tid)
1757 InitPlan 2 (returns $1)
1760 Join Filter: (b2t1.c1 = b2t4.c1)
1762 Join Filter: (b2t1.c1 = b2t3.c1)
1764 Join Filter: (b2t1.c1 = b2t2.c1)
1765 -> Tid Scan on t1 b2t1
1766 TID Cond: (ctid = '(1,1)'::tid)
1767 -> Seq Scan on t2 b2t2
1768 Filter: (ctid = '(1,1)'::tid)
1769 -> Tid Scan on t3 b2t3
1770 TID Cond: (ctid = '(1,1)'::tid)
1771 -> Tid Scan on t4 b2t4
1772 TID Cond: (ctid = '(1,1)'::tid)
1773 InitPlan 3 (returns $2)
1776 Join Filter: (b3t1.c1 = b3t4.c1)
1778 Join Filter: (b3t1.c1 = b3t3.c1)
1780 Join Filter: (b3t1.c1 = b3t2.c1)
1781 -> Tid Scan on t1 b3t1
1782 TID Cond: (ctid = '(1,1)'::tid)
1783 -> Seq Scan on t2 b3t2
1784 Filter: (ctid = '(1,1)'::tid)
1785 -> Tid Scan on t3 b3t3
1786 TID Cond: (ctid = '(1,1)'::tid)
1787 -> Tid Scan on t4 b3t4
1788 TID Cond: (ctid = '(1,1)'::tid)
1790 Join Filter: (bmt1.c1 = bmt4.c1)
1792 Join Filter: (bmt1.c1 = bmt3.c1)
1794 Join Filter: (bmt1.c1 = bmt2.c1)
1795 -> Tid Scan on t1 bmt1
1796 TID Cond: (ctid = '(1,1)'::tid)
1797 Filter: ((c1 <> $0) AND (c1 <> $1) AND (c1 <> $2))
1798 -> Seq Scan on t2 bmt2
1799 Filter: (ctid = '(1,1)'::tid)
1800 -> Tid Scan on t3 bmt3
1801 TID Cond: (ctid = '(1,1)'::tid)
1802 -> Tid Scan on t4 bmt4
1803 TID Cond: (ctid = '(1,1)'::tid)
1807 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1809 EXPLAIN (COSTS false)
1810 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)'
1812 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)'
1814 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)'
1816 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)'
1821 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1827 ------------------------------------------------------------------------------
1829 InitPlan 1 (returns $0)
1832 Join Filter: (b1t2.c1 = b1t1.c1)
1834 Join Filter: (b1t2.c1 = b1t4.c1)
1836 Join Filter: (b1t2.c1 = b1t3.c1)
1837 -> Seq Scan on t2 b1t2
1838 Filter: (ctid = '(1,1)'::tid)
1839 -> Tid Scan on t3 b1t3
1840 TID Cond: (ctid = '(1,1)'::tid)
1841 -> Tid Scan on t4 b1t4
1842 TID Cond: (ctid = '(1,1)'::tid)
1843 -> Tid Scan on t1 b1t1
1844 TID Cond: (ctid = '(1,1)'::tid)
1845 InitPlan 2 (returns $1)
1848 Join Filter: (b2t1.c1 = b2t2.c1)
1850 Join Filter: (b2t3.c1 = b2t1.c1)
1852 Join Filter: (b2t3.c1 = b2t4.c1)
1853 -> Tid Scan on t3 b2t3
1854 TID Cond: (ctid = '(1,1)'::tid)
1855 -> Tid Scan on t4 b2t4
1856 TID Cond: (ctid = '(1,1)'::tid)
1857 -> Tid Scan on t1 b2t1
1858 TID Cond: (ctid = '(1,1)'::tid)
1859 -> Seq Scan on t2 b2t2
1860 Filter: (ctid = '(1,1)'::tid)
1861 InitPlan 3 (returns $2)
1864 Join Filter: (b3t1.c1 = b3t3.c1)
1866 Join Filter: (b3t1.c1 = b3t2.c1)
1868 Join Filter: (b3t1.c1 = b3t4.c1)
1869 -> Tid Scan on t1 b3t1
1870 TID Cond: (ctid = '(1,1)'::tid)
1871 -> Tid Scan on t4 b3t4
1872 TID Cond: (ctid = '(1,1)'::tid)
1873 -> Seq Scan on t2 b3t2
1874 Filter: (ctid = '(1,1)'::tid)
1875 -> Tid Scan on t3 b3t3
1876 TID Cond: (ctid = '(1,1)'::tid)
1878 Join Filter: (bmt1.c1 = bmt4.c1)
1880 Join Filter: (bmt1.c1 = bmt3.c1)
1882 Join Filter: (bmt1.c1 = bmt2.c1)
1883 -> Tid Scan on t1 bmt1
1884 TID Cond: (ctid = '(1,1)'::tid)
1885 Filter: ((c1 <> $0) AND (c1 <> $1) AND (c1 <> $2))
1886 -> Seq Scan on t2 bmt2
1887 Filter: (ctid = '(1,1)'::tid)
1888 -> Tid Scan on t3 bmt3
1889 TID Cond: (ctid = '(1,1)'::tid)
1890 -> Tid Scan on t4 bmt4
1891 TID Cond: (ctid = '(1,1)'::tid)
1895 EXPLAIN (COSTS false)
1897 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)'
1900 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)'
1902 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1904 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)'
1909 -----------------------------------------------------------------------
1914 Join Filter: (b1t1.c1 = b1t4.c1)
1916 Join Filter: (b1t1.c1 = b1t3.c1)
1918 Join Filter: (b1t1.c1 = b1t2.c1)
1919 -> Tid Scan on t1 b1t1
1920 TID Cond: (ctid = '(1,1)'::tid)
1921 -> Seq Scan on t2 b1t2
1922 Filter: (ctid = '(1,1)'::tid)
1923 -> Tid Scan on t3 b1t3
1924 TID Cond: (ctid = '(1,1)'::tid)
1925 -> Tid Scan on t4 b1t4
1926 TID Cond: (ctid = '(1,1)'::tid)
1930 Join Filter: (b2t1.c1 = b2t4.c1)
1932 Join Filter: (b2t1.c1 = b2t3.c1)
1934 Join Filter: (b2t1.c1 = b2t2.c1)
1935 -> Tid Scan on t1 b2t1
1936 TID Cond: (ctid = '(1,1)'::tid)
1937 -> Seq Scan on t2 b2t2
1938 Filter: (ctid = '(1,1)'::tid)
1939 -> Tid Scan on t3 b2t3
1940 TID Cond: (ctid = '(1,1)'::tid)
1941 -> Tid Scan on t4 b2t4
1942 TID Cond: (ctid = '(1,1)'::tid)
1944 Join Filter: (bmt1.c1 = c2.c1)
1946 Join Filter: (bmt1.c1 = c1.c1)
1948 Join Filter: (bmt1.c1 = bmt4.c1)
1950 Join Filter: (bmt1.c1 = bmt3.c1)
1952 Join Filter: (bmt1.c1 = bmt2.c1)
1953 -> Tid Scan on t1 bmt1
1954 TID Cond: (ctid = '(1,1)'::tid)
1955 -> Seq Scan on t2 bmt2
1956 Filter: (ctid = '(1,1)'::tid)
1957 -> Tid Scan on t3 bmt3
1958 TID Cond: (ctid = '(1,1)'::tid)
1959 -> Tid Scan on t4 bmt4
1960 TID Cond: (ctid = '(1,1)'::tid)
1966 Leading(c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1968 EXPLAIN (COSTS false)
1970 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)'
1973 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)'
1975 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1977 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)'
1983 Leading(c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1989 -------------------------------------------------------------------
1994 Join Filter: (b1t2.c1 = b1t1.c1)
1996 Join Filter: (b1t2.c1 = b1t4.c1)
1998 Join Filter: (b1t2.c1 = b1t3.c1)
1999 -> Seq Scan on t2 b1t2
2000 Filter: (ctid = '(1,1)'::tid)
2001 -> Tid Scan on t3 b1t3
2002 TID Cond: (ctid = '(1,1)'::tid)
2003 -> Tid Scan on t4 b1t4
2004 TID Cond: (ctid = '(1,1)'::tid)
2005 -> Tid Scan on t1 b1t1
2006 TID Cond: (ctid = '(1,1)'::tid)
2010 Join Filter: (b2t1.c1 = b2t2.c1)
2012 Join Filter: (b2t3.c1 = b2t1.c1)
2014 Join Filter: (b2t3.c1 = b2t4.c1)
2015 -> Tid Scan on t3 b2t3
2016 TID Cond: (ctid = '(1,1)'::tid)
2017 -> Tid Scan on t4 b2t4
2018 TID Cond: (ctid = '(1,1)'::tid)
2019 -> Tid Scan on t1 b2t1
2020 TID Cond: (ctid = '(1,1)'::tid)
2021 -> Seq Scan on t2 b2t2
2022 Filter: (ctid = '(1,1)'::tid)
2024 Join Filter: (bmt1.c1 = bmt4.c1)
2026 Join Filter: (bmt1.c1 = bmt3.c1)
2028 Join Filter: (bmt1.c1 = bmt2.c1)
2030 Join Filter: (c1.c1 = bmt1.c1)
2032 Join Filter: (c1.c1 = c2.c1)
2035 -> Tid Scan on t1 bmt1
2036 TID Cond: (ctid = '(1,1)'::tid)
2037 -> Seq Scan on t2 bmt2
2038 Filter: (ctid = '(1,1)'::tid)
2039 -> Tid Scan on t3 bmt3
2040 TID Cond: (ctid = '(1,1)'::tid)
2041 -> Tid Scan on t4 bmt4
2042 TID Cond: (ctid = '(1,1)'::tid)
2046 EXPLAIN (COSTS false)
2048 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)'
2051 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)'
2054 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)'
2056 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
2058 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)'
2064 -----------------------------------------------------------------------------
2069 Join Filter: (b1t1.c1 = b1t4.c1)
2071 Join Filter: (b1t1.c1 = b1t3.c1)
2073 Join Filter: (b1t1.c1 = b1t2.c1)
2074 -> Tid Scan on t1 b1t1
2075 TID Cond: (ctid = '(1,1)'::tid)
2076 -> Seq Scan on t2 b1t2
2077 Filter: (ctid = '(1,1)'::tid)
2078 -> Tid Scan on t3 b1t3
2079 TID Cond: (ctid = '(1,1)'::tid)
2080 -> Tid Scan on t4 b1t4
2081 TID Cond: (ctid = '(1,1)'::tid)
2085 Join Filter: (b2t1.c1 = b2t4.c1)
2087 Join Filter: (b2t1.c1 = b2t3.c1)
2089 Join Filter: (b2t1.c1 = b2t2.c1)
2090 -> Tid Scan on t1 b2t1
2091 TID Cond: (ctid = '(1,1)'::tid)
2092 -> Seq Scan on t2 b2t2
2093 Filter: (ctid = '(1,1)'::tid)
2094 -> Tid Scan on t3 b2t3
2095 TID Cond: (ctid = '(1,1)'::tid)
2096 -> Tid Scan on t4 b2t4
2097 TID Cond: (ctid = '(1,1)'::tid)
2101 Join Filter: (b3t1.c1 = b3t4.c1)
2103 Join Filter: (b3t1.c1 = b3t3.c1)
2105 Join Filter: (b3t1.c1 = b3t2.c1)
2106 -> Tid Scan on t1 b3t1
2107 TID Cond: (ctid = '(1,1)'::tid)
2108 -> Seq Scan on t2 b3t2
2109 Filter: (ctid = '(1,1)'::tid)
2110 -> Tid Scan on t3 b3t3
2111 TID Cond: (ctid = '(1,1)'::tid)
2112 -> Tid Scan on t4 b3t4
2113 TID Cond: (ctid = '(1,1)'::tid)
2115 Join Filter: (bmt1.c1 = c3.c1)
2117 Join Filter: (bmt1.c1 = c2.c1)
2119 Join Filter: (bmt1.c1 = c1.c1)
2121 Join Filter: (bmt1.c1 = bmt4.c1)
2123 Join Filter: (bmt1.c1 = bmt3.c1)
2125 Join Filter: (bmt1.c1 = bmt2.c1)
2126 -> Tid Scan on t1 bmt1
2127 TID Cond: (ctid = '(1,1)'::tid)
2128 -> Seq Scan on t2 bmt2
2129 Filter: (ctid = '(1,1)'::tid)
2130 -> Tid Scan on t3 bmt3
2131 TID Cond: (ctid = '(1,1)'::tid)
2132 -> Tid Scan on t4 bmt4
2133 TID Cond: (ctid = '(1,1)'::tid)
2140 Leading(c3 c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
2142 EXPLAIN (COSTS false)
2144 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)'
2147 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)'
2150 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)'
2152 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
2154 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)'
2161 Leading(c3 c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
2167 --------------------------------------------------------------------
2172 Join Filter: (b1t2.c1 = b1t1.c1)
2174 Join Filter: (b1t2.c1 = b1t4.c1)
2176 Join Filter: (b1t2.c1 = b1t3.c1)
2177 -> Seq Scan on t2 b1t2
2178 Filter: (ctid = '(1,1)'::tid)
2179 -> Tid Scan on t3 b1t3
2180 TID Cond: (ctid = '(1,1)'::tid)
2181 -> Tid Scan on t4 b1t4
2182 TID Cond: (ctid = '(1,1)'::tid)
2183 -> Tid Scan on t1 b1t1
2184 TID Cond: (ctid = '(1,1)'::tid)
2188 Join Filter: (b2t1.c1 = b2t2.c1)
2190 Join Filter: (b2t3.c1 = b2t1.c1)
2192 Join Filter: (b2t3.c1 = b2t4.c1)
2193 -> Tid Scan on t3 b2t3
2194 TID Cond: (ctid = '(1,1)'::tid)
2195 -> Tid Scan on t4 b2t4
2196 TID Cond: (ctid = '(1,1)'::tid)
2197 -> Tid Scan on t1 b2t1
2198 TID Cond: (ctid = '(1,1)'::tid)
2199 -> Seq Scan on t2 b2t2
2200 Filter: (ctid = '(1,1)'::tid)
2204 Join Filter: (b3t1.c1 = b3t3.c1)
2206 Join Filter: (b3t1.c1 = b3t2.c1)
2208 Join Filter: (b3t1.c1 = b3t4.c1)
2209 -> Tid Scan on t1 b3t1
2210 TID Cond: (ctid = '(1,1)'::tid)
2211 -> Tid Scan on t4 b3t4
2212 TID Cond: (ctid = '(1,1)'::tid)
2213 -> Seq Scan on t2 b3t2
2214 Filter: (ctid = '(1,1)'::tid)
2215 -> Tid Scan on t3 b3t3
2216 TID Cond: (ctid = '(1,1)'::tid)
2218 Join Filter: (bmt1.c1 = bmt4.c1)
2220 Join Filter: (bmt1.c1 = bmt3.c1)
2222 Join Filter: (bmt1.c1 = bmt2.c1)
2224 Join Filter: (c1.c1 = bmt1.c1)
2226 Join Filter: (c2.c1 = c1.c1)
2228 Join Filter: (c2.c1 = c3.c1)
2232 -> Tid Scan on t1 bmt1
2233 TID Cond: (ctid = '(1,1)'::tid)
2234 -> Seq Scan on t2 bmt2
2235 Filter: (ctid = '(1,1)'::tid)
2236 -> Tid Scan on t3 bmt3
2237 TID Cond: (ctid = '(1,1)'::tid)
2238 -> Tid Scan on t4 bmt4
2239 TID Cond: (ctid = '(1,1)'::tid)
2243 ---- No. L-2-2 the number of the tables per quiry block
2246 EXPLAIN (COSTS false)
2248 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
2250 SELECT max(bmt1.c1), (
2251 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2253 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
2255 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
2259 -----------------------------------------------------------------
2263 InitPlan 1 (returns $0)
2265 -> Tid Scan on t1 b1t1
2266 TID Cond: (ctid = '(1,1)'::tid)
2267 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2268 InitPlan 4 (returns $3)
2270 InitPlan 3 (returns $2)
2272 -> Tid Scan on t1 b2t1
2273 TID Cond: (ctid = '(1,1)'::tid)
2274 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2275 InitPlan 6 (returns $5)
2277 InitPlan 5 (returns $4)
2279 -> Tid Scan on t1 b3t1
2280 TID Cond: (ctid = '(1,1)'::tid)
2281 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2283 -> Tid Scan on t1 bmt1
2284 TID Cond: (ctid = '(1,1)'::tid)
2285 Filter: ((c1 <> $5) AND (c1 = 1))
2290 Leading(c1 bmt1 b1t1 b2t1 b3t1)
2292 EXPLAIN (COSTS false)
2294 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
2296 SELECT max(bmt1.c1), (
2297 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2299 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
2301 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
2306 Leading(c1 bmt1 b1t1 b2t1 b3t1)
2312 -----------------------------------------------------------------
2316 InitPlan 1 (returns $0)
2318 -> Tid Scan on t1 b1t1
2319 TID Cond: (ctid = '(1,1)'::tid)
2320 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2321 InitPlan 4 (returns $3)
2323 InitPlan 3 (returns $2)
2325 -> Tid Scan on t1 b2t1
2326 TID Cond: (ctid = '(1,1)'::tid)
2327 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2328 InitPlan 6 (returns $5)
2330 InitPlan 5 (returns $4)
2332 -> Tid Scan on t1 b3t1
2333 TID Cond: (ctid = '(1,1)'::tid)
2334 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2336 -> Tid Scan on t1 bmt1
2337 TID Cond: (ctid = '(1,1)'::tid)
2338 Filter: ((c1 <> $5) AND (c1 = 1))
2343 EXPLAIN (COSTS false)
2345 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)'
2347 SELECT max(bmt1.c1), (
2348 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)'
2350 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
2353 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)'
2357 -------------------------------------------------------
2362 Join Filter: (b1t1.c1 = b1t2.c1)
2363 -> Tid Scan on t1 b1t1
2364 TID Cond: (ctid = '(1,1)'::tid)
2365 -> Seq Scan on t2 b1t2
2366 Filter: (ctid = '(1,1)'::tid)
2367 InitPlan 2 (returns $1)
2370 Join Filter: (b2t1.c1 = b2t2.c1)
2371 -> Tid Scan on t1 b2t1
2372 TID Cond: (ctid = '(1,1)'::tid)
2373 -> Seq Scan on t2 b2t2
2374 Filter: (ctid = '(1,1)'::tid)
2375 InitPlan 3 (returns $2)
2378 Join Filter: (b3t1.c1 = b3t2.c1)
2379 -> Tid Scan on t1 b3t1
2380 TID Cond: (ctid = '(1,1)'::tid)
2381 -> Seq Scan on t2 b3t2
2382 Filter: (ctid = '(1,1)'::tid)
2384 Join Filter: (bmt1.c1 = c1.c1)
2386 Join Filter: (bmt1.c1 = bmt2.c1)
2387 -> Tid Scan on t1 bmt1
2388 TID Cond: (ctid = '(1,1)'::tid)
2390 -> Seq Scan on t2 bmt2
2391 Filter: (ctid = '(1,1)'::tid)
2396 Leading(c1 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2398 EXPLAIN (COSTS false)
2400 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)'
2402 SELECT max(bmt1.c1), (
2403 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)'
2405 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
2408 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)'
2413 Leading(c1 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2419 -------------------------------------------------------
2424 Join Filter: (b1t1.c1 = b1t2.c1)
2425 -> Tid Scan on t1 b1t1
2426 TID Cond: (ctid = '(1,1)'::tid)
2427 -> Seq Scan on t2 b1t2
2428 Filter: (ctid = '(1,1)'::tid)
2429 InitPlan 2 (returns $1)
2432 Join Filter: (b2t1.c1 = b2t2.c1)
2433 -> Tid Scan on t1 b2t1
2434 TID Cond: (ctid = '(1,1)'::tid)
2435 -> Seq Scan on t2 b2t2
2436 Filter: (ctid = '(1,1)'::tid)
2437 InitPlan 3 (returns $2)
2440 Join Filter: (b3t1.c1 = b3t2.c1)
2441 -> Tid Scan on t1 b3t1
2442 TID Cond: (ctid = '(1,1)'::tid)
2443 -> Seq Scan on t2 b3t2
2444 Filter: (ctid = '(1,1)'::tid)
2446 Join Filter: (bmt2.c1 = bmt1.c1)
2448 Join Filter: (bmt2.c1 = c1.c1)
2449 -> Seq Scan on t2 bmt2
2450 Filter: (ctid = '(1,1)'::tid)
2452 -> Tid Scan on t1 bmt1
2453 TID Cond: (ctid = '(1,1)'::tid)
2458 EXPLAIN (COSTS false)
2460 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)'
2462 SELECT max(bmt1.c1), (
2463 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)'
2465 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
2467 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)'
2471 -------------------------------------------------------------------
2476 Join Filter: (b1t1.c1 = b1t4.c1)
2478 Join Filter: (b1t1.c1 = b1t3.c1)
2480 Join Filter: (b1t1.c1 = b1t2.c1)
2481 -> Tid Scan on t1 b1t1
2482 TID Cond: (ctid = '(1,1)'::tid)
2483 -> Seq Scan on t2 b1t2
2484 Filter: (ctid = '(1,1)'::tid)
2485 -> Tid Scan on t3 b1t3
2486 TID Cond: (ctid = '(1,1)'::tid)
2487 -> Tid Scan on t4 b1t4
2488 TID Cond: (ctid = '(1,1)'::tid)
2489 InitPlan 2 (returns $1)
2492 Join Filter: (b2t1.c1 = b2t4.c1)
2494 Join Filter: (b2t1.c1 = b2t3.c1)
2496 Join Filter: (b2t1.c1 = b2t2.c1)
2497 -> Tid Scan on t1 b2t1
2498 TID Cond: (ctid = '(1,1)'::tid)
2499 -> Seq Scan on t2 b2t2
2500 Filter: (ctid = '(1,1)'::tid)
2501 -> Tid Scan on t3 b2t3
2502 TID Cond: (ctid = '(1,1)'::tid)
2503 -> Tid Scan on t4 b2t4
2504 TID Cond: (ctid = '(1,1)'::tid)
2505 InitPlan 3 (returns $2)
2508 Join Filter: (b3t1.c1 = b3t4.c1)
2510 Join Filter: (b3t1.c1 = b3t3.c1)
2512 Join Filter: (b3t1.c1 = b3t2.c1)
2513 -> Tid Scan on t1 b3t1
2514 TID Cond: (ctid = '(1,1)'::tid)
2515 -> Seq Scan on t2 b3t2
2516 Filter: (ctid = '(1,1)'::tid)
2517 -> Tid Scan on t3 b3t3
2518 TID Cond: (ctid = '(1,1)'::tid)
2519 -> Tid Scan on t4 b3t4
2520 TID Cond: (ctid = '(1,1)'::tid)
2522 Join Filter: (bmt1.c1 = c1.c1)
2524 Join Filter: (bmt1.c1 = bmt2.c1)
2526 Join Filter: (bmt3.c1 = bmt1.c1)
2528 Join Filter: (bmt3.c1 = bmt4.c1)
2529 -> Tid Scan on t3 bmt3
2530 TID Cond: (ctid = '(1,1)'::tid)
2531 -> Tid Scan on t4 bmt4
2532 TID Cond: (ctid = '(1,1)'::tid)
2533 -> Tid Scan on t1 bmt1
2534 TID Cond: (ctid = '(1,1)'::tid)
2536 -> Seq Scan on t2 bmt2
2537 Filter: (ctid = '(1,1)'::tid)
2542 Leading(c1 bmt4 b1t4 b2t4 b3t4 bmt3 b1t3 b2t3 b3t3 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2544 EXPLAIN (COSTS false)
2546 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)'
2548 SELECT max(bmt1.c1), (
2549 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)'
2551 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
2553 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)'
2558 Leading(c1 bmt4 b1t4 b2t4 b3t4 bmt3 b1t3 b2t3 b3t3 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2564 -------------------------------------------------------------------
2569 Join Filter: (b1t2.c1 = b1t1.c1)
2571 Join Filter: (b1t3.c1 = b1t2.c1)
2573 Join Filter: (b1t3.c1 = b1t4.c1)
2574 -> Tid Scan on t3 b1t3
2575 TID Cond: (ctid = '(1,1)'::tid)
2576 -> Tid Scan on t4 b1t4
2577 TID Cond: (ctid = '(1,1)'::tid)
2578 -> Seq Scan on t2 b1t2
2579 Filter: (ctid = '(1,1)'::tid)
2580 -> Tid Scan on t1 b1t1
2581 TID Cond: (ctid = '(1,1)'::tid)
2582 InitPlan 2 (returns $1)
2585 Join Filter: (b2t2.c1 = b2t1.c1)
2587 Join Filter: (b2t3.c1 = b2t2.c1)
2589 Join Filter: (b2t3.c1 = b2t4.c1)
2590 -> Tid Scan on t3 b2t3
2591 TID Cond: (ctid = '(1,1)'::tid)
2592 -> Tid Scan on t4 b2t4
2593 TID Cond: (ctid = '(1,1)'::tid)
2594 -> Seq Scan on t2 b2t2
2595 Filter: (ctid = '(1,1)'::tid)
2596 -> Tid Scan on t1 b2t1
2597 TID Cond: (ctid = '(1,1)'::tid)
2598 InitPlan 3 (returns $2)
2601 Join Filter: (b3t2.c1 = b3t1.c1)
2603 Join Filter: (b3t3.c1 = b3t2.c1)
2605 Join Filter: (b3t3.c1 = b3t4.c1)
2606 -> Tid Scan on t3 b3t3
2607 TID Cond: (ctid = '(1,1)'::tid)
2608 -> Tid Scan on t4 b3t4
2609 TID Cond: (ctid = '(1,1)'::tid)
2610 -> Seq Scan on t2 b3t2
2611 Filter: (ctid = '(1,1)'::tid)
2612 -> Tid Scan on t1 b3t1
2613 TID Cond: (ctid = '(1,1)'::tid)
2615 Join Filter: (bmt2.c1 = bmt1.c1)
2617 Join Filter: (bmt3.c1 = bmt2.c1)
2619 Join Filter: (bmt4.c1 = bmt3.c1)
2621 Join Filter: (bmt4.c1 = c1.c1)
2622 -> Tid Scan on t4 bmt4
2623 TID Cond: (ctid = '(1,1)'::tid)
2625 -> Tid Scan on t3 bmt3
2626 TID Cond: (ctid = '(1,1)'::tid)
2627 -> Seq Scan on t2 bmt2
2628 Filter: (ctid = '(1,1)'::tid)
2629 -> Tid Scan on t1 bmt1
2630 TID Cond: (ctid = '(1,1)'::tid)
2635 EXPLAIN (COSTS false)
2637 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)'
2639 SELECT max(bmt1.c1), (
2640 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2642 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
2644 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2648 -------------------------------------------------------------------
2653 Join Filter: (b1t1.c1 = b1t4.c1)
2655 Join Filter: (b1t1.c1 = b1t3.c1)
2657 Join Filter: (b1t1.c1 = b1t2.c1)
2658 -> Tid Scan on t1 b1t1
2659 TID Cond: (ctid = '(1,1)'::tid)
2660 -> Seq Scan on t2 b1t2
2661 Filter: (ctid = '(1,1)'::tid)
2662 -> Tid Scan on t3 b1t3
2663 TID Cond: (ctid = '(1,1)'::tid)
2664 -> Tid Scan on t4 b1t4
2665 TID Cond: (ctid = '(1,1)'::tid)
2666 InitPlan 3 (returns $2)
2668 InitPlan 2 (returns $1)
2670 -> Tid Scan on t1 b2t1
2671 TID Cond: (ctid = '(1,1)'::tid)
2672 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2673 InitPlan 4 (returns $3)
2675 -> Tid Scan on t1 b3t1
2676 TID Cond: (ctid = '(1,1)'::tid)
2678 Join Filter: (bmt1.c1 = c1.c1)
2680 Join Filter: (bmt1.c1 = bmt2.c1)
2682 Join Filter: (bmt3.c1 = bmt1.c1)
2684 Join Filter: (bmt3.c1 = bmt4.c1)
2685 -> Tid Scan on t3 bmt3
2686 TID Cond: (ctid = '(1,1)'::tid)
2687 -> Tid Scan on t4 bmt4
2688 TID Cond: (ctid = '(1,1)'::tid)
2689 -> Tid Scan on t1 bmt1
2690 TID Cond: (ctid = '(1,1)'::tid)
2692 -> Seq Scan on t2 bmt2
2693 Filter: (ctid = '(1,1)'::tid)
2698 Leading(c1 bmt4 b1t4 bmt3 b1t3 bmt2 b1t2 bmt1 b1t1 b2t1 b3t1)
2700 EXPLAIN (COSTS false)
2702 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)'
2704 SELECT max(bmt1.c1), (
2705 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2707 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
2709 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2714 Leading(c1 bmt4 b1t4 bmt3 b1t3 bmt2 b1t2 bmt1 b1t1 b2t1 b3t1)
2720 -------------------------------------------------------------------
2725 Join Filter: (b1t2.c1 = b1t1.c1)
2727 Join Filter: (b1t3.c1 = b1t2.c1)
2729 Join Filter: (b1t3.c1 = b1t4.c1)
2730 -> Tid Scan on t3 b1t3
2731 TID Cond: (ctid = '(1,1)'::tid)
2732 -> Tid Scan on t4 b1t4
2733 TID Cond: (ctid = '(1,1)'::tid)
2734 -> Seq Scan on t2 b1t2
2735 Filter: (ctid = '(1,1)'::tid)
2736 -> Tid Scan on t1 b1t1
2737 TID Cond: (ctid = '(1,1)'::tid)
2738 InitPlan 3 (returns $2)
2740 InitPlan 2 (returns $1)
2742 -> Tid Scan on t1 b2t1
2743 TID Cond: (ctid = '(1,1)'::tid)
2744 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2745 InitPlan 4 (returns $3)
2747 -> Tid Scan on t1 b3t1
2748 TID Cond: (ctid = '(1,1)'::tid)
2750 Join Filter: (bmt2.c1 = bmt1.c1)
2752 Join Filter: (bmt3.c1 = bmt2.c1)
2754 Join Filter: (bmt4.c1 = bmt3.c1)
2756 Join Filter: (bmt4.c1 = c1.c1)
2757 -> Tid Scan on t4 bmt4
2758 TID Cond: (ctid = '(1,1)'::tid)
2760 -> Tid Scan on t3 bmt3
2761 TID Cond: (ctid = '(1,1)'::tid)
2762 -> Seq Scan on t2 bmt2
2763 Filter: (ctid = '(1,1)'::tid)
2764 -> Tid Scan on t1 bmt1
2765 TID Cond: (ctid = '(1,1)'::tid)
2770 ---- No. L-2-3 RULE definition table
2773 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2775 -----------------------------------------------------------------
2778 Join Filter: (t1.c1 = t4.c1)
2780 Join Filter: (t1.c1 = t3.c1)
2782 Join Filter: (t2.c1 = t1.c1)
2785 TID Cond: (ctid = '(1,1)'::tid)
2788 Filter: (ctid = '(1,1)'::tid)
2790 TID Cond: (ctid = '(1,1)'::tid)
2792 TID Cond: (ctid = '(1,1)'::tid)
2794 TID Cond: (ctid = '(1,1)'::tid)
2797 /*+ Leading(t4 t3 t2 t1 r1) */
2798 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2801 Leading(t4 t3 t2 t1 r1)
2807 -----------------------------------------------------------------
2811 Join Filter: (t2.c1 = t1.c1)
2813 Join Filter: (t3.c1 = t2.c1)
2815 Join Filter: (t3.c1 = t4.c1)
2817 TID Cond: (ctid = '(1,1)'::tid)
2819 TID Cond: (ctid = '(1,1)'::tid)
2821 Filter: (ctid = '(1,1)'::tid)
2823 TID Cond: (ctid = '(1,1)'::tid)
2825 TID Cond: (ctid = '(1,1)'::tid)
2829 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2831 -----------------------------------------------------------------
2834 Join Filter: (b1t1.c1 = b1t4.c1)
2836 Join Filter: (b1t1.c1 = b1t3.c1)
2838 Join Filter: (b1t2.c1 = b1t1.c1)
2841 TID Cond: (ctid = '(1,1)'::tid)
2843 -> Seq Scan on t2 b1t2
2844 Filter: (ctid = '(1,1)'::tid)
2845 -> Tid Scan on t1 b1t1
2846 TID Cond: (ctid = '(1,1)'::tid)
2847 -> Tid Scan on t3 b1t3
2848 TID Cond: (ctid = '(1,1)'::tid)
2849 -> Tid Scan on t4 b1t4
2850 TID Cond: (ctid = '(1,1)'::tid)
2853 /*+ Leading(b1t1 b1t2 b1t3 b1t4 r1_) */
2854 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2857 Leading(b1t1 b1t2 b1t3 b1t4 r1_)
2863 -----------------------------------------------------------------
2867 Join Filter: (b1t1.c1 = b1t4.c1)
2869 Join Filter: (b1t1.c1 = b1t3.c1)
2871 Join Filter: (b1t1.c1 = b1t2.c1)
2872 -> Tid Scan on t1 b1t1
2873 TID Cond: (ctid = '(1,1)'::tid)
2874 -> Seq Scan on t2 b1t2
2875 Filter: (ctid = '(1,1)'::tid)
2876 -> Tid Scan on t3 b1t3
2877 TID Cond: (ctid = '(1,1)'::tid)
2878 -> Tid Scan on t4 b1t4
2879 TID Cond: (ctid = '(1,1)'::tid)
2881 TID Cond: (ctid = '(1,1)'::tid)
2886 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2888 -----------------------------------------------------------------
2891 Join Filter: (t1.c1 = t4.c1)
2893 Join Filter: (t1.c1 = t3.c1)
2895 Join Filter: (t2.c1 = t1.c1)
2898 TID Cond: (ctid = '(1,1)'::tid)
2901 Filter: (ctid = '(1,1)'::tid)
2903 TID Cond: (ctid = '(1,1)'::tid)
2905 TID Cond: (ctid = '(1,1)'::tid)
2907 TID Cond: (ctid = '(1,1)'::tid)
2911 Join Filter: (t1.c1 = t4.c1)
2913 Join Filter: (t1.c1 = t3.c1)
2915 Join Filter: (t2.c1 = t1.c1)
2918 TID Cond: (ctid = '(1,1)'::tid)
2921 Filter: (ctid = '(1,1)'::tid)
2923 TID Cond: (ctid = '(1,1)'::tid)
2925 TID Cond: (ctid = '(1,1)'::tid)
2927 TID Cond: (ctid = '(1,1)'::tid)
2930 /*+ Leading(t4 t3 t2 t1 r2) */
2931 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2934 Leading(t4 t3 t2 t1 r2)
2941 Leading(t4 t3 t2 t1 r2)
2947 -----------------------------------------------------------------
2951 Join Filter: (t2.c1 = t1.c1)
2953 Join Filter: (t3.c1 = t2.c1)
2955 Join Filter: (t3.c1 = t4.c1)
2957 TID Cond: (ctid = '(1,1)'::tid)
2959 TID Cond: (ctid = '(1,1)'::tid)
2961 Filter: (ctid = '(1,1)'::tid)
2963 TID Cond: (ctid = '(1,1)'::tid)
2965 TID Cond: (ctid = '(1,1)'::tid)
2971 Join Filter: (t2.c1 = t1.c1)
2973 Join Filter: (t3.c1 = t2.c1)
2975 Join Filter: (t3.c1 = t4.c1)
2977 TID Cond: (ctid = '(1,1)'::tid)
2979 TID Cond: (ctid = '(1,1)'::tid)
2981 Filter: (ctid = '(1,1)'::tid)
2983 TID Cond: (ctid = '(1,1)'::tid)
2985 TID Cond: (ctid = '(1,1)'::tid)
2989 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2991 -----------------------------------------------------------------
2994 Join Filter: (b1t1.c1 = b1t4.c1)
2996 Join Filter: (b1t1.c1 = b1t3.c1)
2998 Join Filter: (b1t2.c1 = b1t1.c1)
3001 TID Cond: (ctid = '(1,1)'::tid)
3003 -> Seq Scan on t2 b1t2
3004 Filter: (ctid = '(1,1)'::tid)
3005 -> Tid Scan on t1 b1t1
3006 TID Cond: (ctid = '(1,1)'::tid)
3007 -> Tid Scan on t3 b1t3
3008 TID Cond: (ctid = '(1,1)'::tid)
3009 -> Tid Scan on t4 b1t4
3010 TID Cond: (ctid = '(1,1)'::tid)
3014 Join Filter: (b2t1.c1 = b2t4.c1)
3016 Join Filter: (b2t1.c1 = b2t3.c1)
3018 Join Filter: (b2t2.c1 = b2t1.c1)
3021 TID Cond: (ctid = '(1,1)'::tid)
3023 -> Seq Scan on t2 b2t2
3024 Filter: (ctid = '(1,1)'::tid)
3025 -> Tid Scan on t1 b2t1
3026 TID Cond: (ctid = '(1,1)'::tid)
3027 -> Tid Scan on t3 b2t3
3028 TID Cond: (ctid = '(1,1)'::tid)
3029 -> Tid Scan on t4 b2t4
3030 TID Cond: (ctid = '(1,1)'::tid)
3035 b2t1 b2t2 b2t3 b2t4 r2_
3037 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3040 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 r2_)
3047 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 r2_)
3053 -----------------------------------------------------------------
3057 Join Filter: (b1t1.c1 = b1t4.c1)
3059 Join Filter: (b1t1.c1 = b1t3.c1)
3061 Join Filter: (b1t1.c1 = b1t2.c1)
3062 -> Tid Scan on t1 b1t1
3063 TID Cond: (ctid = '(1,1)'::tid)
3064 -> Seq Scan on t2 b1t2
3065 Filter: (ctid = '(1,1)'::tid)
3066 -> Tid Scan on t3 b1t3
3067 TID Cond: (ctid = '(1,1)'::tid)
3068 -> Tid Scan on t4 b1t4
3069 TID Cond: (ctid = '(1,1)'::tid)
3071 TID Cond: (ctid = '(1,1)'::tid)
3077 Join Filter: (b2t1.c1 = b2t4.c1)
3079 Join Filter: (b2t1.c1 = b2t3.c1)
3081 Join Filter: (b2t1.c1 = b2t2.c1)
3082 -> Tid Scan on t1 b2t1
3083 TID Cond: (ctid = '(1,1)'::tid)
3084 -> Seq Scan on t2 b2t2
3085 Filter: (ctid = '(1,1)'::tid)
3086 -> Tid Scan on t3 b2t3
3087 TID Cond: (ctid = '(1,1)'::tid)
3088 -> Tid Scan on t4 b2t4
3089 TID Cond: (ctid = '(1,1)'::tid)
3091 TID Cond: (ctid = '(1,1)'::tid)
3096 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3098 -----------------------------------------------------------------
3101 Join Filter: (t1.c1 = t4.c1)
3103 Join Filter: (t1.c1 = t3.c1)
3105 Join Filter: (t2.c1 = t1.c1)
3108 TID Cond: (ctid = '(1,1)'::tid)
3111 Filter: (ctid = '(1,1)'::tid)
3113 TID Cond: (ctid = '(1,1)'::tid)
3115 TID Cond: (ctid = '(1,1)'::tid)
3117 TID Cond: (ctid = '(1,1)'::tid)
3121 Join Filter: (t1.c1 = t4.c1)
3123 Join Filter: (t1.c1 = t3.c1)
3125 Join Filter: (t2.c1 = t1.c1)
3128 TID Cond: (ctid = '(1,1)'::tid)
3131 Filter: (ctid = '(1,1)'::tid)
3133 TID Cond: (ctid = '(1,1)'::tid)
3135 TID Cond: (ctid = '(1,1)'::tid)
3137 TID Cond: (ctid = '(1,1)'::tid)
3141 Join Filter: (t1.c1 = t4.c1)
3143 Join Filter: (t1.c1 = t3.c1)
3145 Join Filter: (t2.c1 = t1.c1)
3148 TID Cond: (ctid = '(1,1)'::tid)
3151 Filter: (ctid = '(1,1)'::tid)
3153 TID Cond: (ctid = '(1,1)'::tid)
3155 TID Cond: (ctid = '(1,1)'::tid)
3157 TID Cond: (ctid = '(1,1)'::tid)
3160 /*+ Leading(t4 t3 t2 t1 r3) */
3161 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3164 Leading(t4 t3 t2 t1 r3)
3171 Leading(t4 t3 t2 t1 r3)
3178 Leading(t4 t3 t2 t1 r3)
3184 -----------------------------------------------------------------
3188 Join Filter: (t2.c1 = t1.c1)
3190 Join Filter: (t3.c1 = t2.c1)
3192 Join Filter: (t3.c1 = t4.c1)
3194 TID Cond: (ctid = '(1,1)'::tid)
3196 TID Cond: (ctid = '(1,1)'::tid)
3198 Filter: (ctid = '(1,1)'::tid)
3200 TID Cond: (ctid = '(1,1)'::tid)
3202 TID Cond: (ctid = '(1,1)'::tid)
3208 Join Filter: (t2.c1 = t1.c1)
3210 Join Filter: (t3.c1 = t2.c1)
3212 Join Filter: (t3.c1 = t4.c1)
3214 TID Cond: (ctid = '(1,1)'::tid)
3216 TID Cond: (ctid = '(1,1)'::tid)
3218 Filter: (ctid = '(1,1)'::tid)
3220 TID Cond: (ctid = '(1,1)'::tid)
3222 TID Cond: (ctid = '(1,1)'::tid)
3228 Join Filter: (t2.c1 = t1.c1)
3230 Join Filter: (t3.c1 = t2.c1)
3232 Join Filter: (t3.c1 = t4.c1)
3234 TID Cond: (ctid = '(1,1)'::tid)
3236 TID Cond: (ctid = '(1,1)'::tid)
3238 Filter: (ctid = '(1,1)'::tid)
3240 TID Cond: (ctid = '(1,1)'::tid)
3242 TID Cond: (ctid = '(1,1)'::tid)
3246 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3248 -----------------------------------------------------------------
3251 Join Filter: (b1t1.c1 = b1t4.c1)
3253 Join Filter: (b1t1.c1 = b1t3.c1)
3255 Join Filter: (b1t2.c1 = b1t1.c1)
3258 TID Cond: (ctid = '(1,1)'::tid)
3260 -> Seq Scan on t2 b1t2
3261 Filter: (ctid = '(1,1)'::tid)
3262 -> Tid Scan on t1 b1t1
3263 TID Cond: (ctid = '(1,1)'::tid)
3264 -> Tid Scan on t3 b1t3
3265 TID Cond: (ctid = '(1,1)'::tid)
3266 -> Tid Scan on t4 b1t4
3267 TID Cond: (ctid = '(1,1)'::tid)
3271 Join Filter: (b2t1.c1 = b2t4.c1)
3273 Join Filter: (b2t1.c1 = b2t3.c1)
3275 Join Filter: (b2t2.c1 = b2t1.c1)
3278 TID Cond: (ctid = '(1,1)'::tid)
3280 -> Seq Scan on t2 b2t2
3281 Filter: (ctid = '(1,1)'::tid)
3282 -> Tid Scan on t1 b2t1
3283 TID Cond: (ctid = '(1,1)'::tid)
3284 -> Tid Scan on t3 b2t3
3285 TID Cond: (ctid = '(1,1)'::tid)
3286 -> Tid Scan on t4 b2t4
3287 TID Cond: (ctid = '(1,1)'::tid)
3291 Join Filter: (b3t1.c1 = b3t4.c1)
3293 Join Filter: (b3t1.c1 = b3t3.c1)
3295 Join Filter: (b3t2.c1 = b3t1.c1)
3298 TID Cond: (ctid = '(1,1)'::tid)
3300 -> Seq Scan on t2 b3t2
3301 Filter: (ctid = '(1,1)'::tid)
3302 -> Tid Scan on t1 b3t1
3303 TID Cond: (ctid = '(1,1)'::tid)
3304 -> Tid Scan on t3 b3t3
3305 TID Cond: (ctid = '(1,1)'::tid)
3306 -> Tid Scan on t4 b3t4
3307 TID Cond: (ctid = '(1,1)'::tid)
3313 b3t1 b3t2 b3t3 b3t4 r3_
3315 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3318 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3325 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3332 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3338 -----------------------------------------------------------------
3342 Join Filter: (b1t1.c1 = b1t4.c1)
3344 Join Filter: (b1t1.c1 = b1t3.c1)
3346 Join Filter: (b1t1.c1 = b1t2.c1)
3347 -> Tid Scan on t1 b1t1
3348 TID Cond: (ctid = '(1,1)'::tid)
3349 -> Seq Scan on t2 b1t2
3350 Filter: (ctid = '(1,1)'::tid)
3351 -> Tid Scan on t3 b1t3
3352 TID Cond: (ctid = '(1,1)'::tid)
3353 -> Tid Scan on t4 b1t4
3354 TID Cond: (ctid = '(1,1)'::tid)
3356 TID Cond: (ctid = '(1,1)'::tid)
3362 Join Filter: (b2t1.c1 = b2t4.c1)
3364 Join Filter: (b2t1.c1 = b2t3.c1)
3366 Join Filter: (b2t1.c1 = b2t2.c1)
3367 -> Tid Scan on t1 b2t1
3368 TID Cond: (ctid = '(1,1)'::tid)
3369 -> Seq Scan on t2 b2t2
3370 Filter: (ctid = '(1,1)'::tid)
3371 -> Tid Scan on t3 b2t3
3372 TID Cond: (ctid = '(1,1)'::tid)
3373 -> Tid Scan on t4 b2t4
3374 TID Cond: (ctid = '(1,1)'::tid)
3376 TID Cond: (ctid = '(1,1)'::tid)
3382 Join Filter: (b3t1.c1 = b3t4.c1)
3384 Join Filter: (b3t1.c1 = b3t3.c1)
3386 Join Filter: (b3t1.c1 = b3t2.c1)
3387 -> Tid Scan on t1 b3t1
3388 TID Cond: (ctid = '(1,1)'::tid)
3389 -> Seq Scan on t2 b3t2
3390 Filter: (ctid = '(1,1)'::tid)
3391 -> Tid Scan on t3 b3t3
3392 TID Cond: (ctid = '(1,1)'::tid)
3393 -> Tid Scan on t4 b3t4
3394 TID Cond: (ctid = '(1,1)'::tid)
3396 TID Cond: (ctid = '(1,1)'::tid)
3401 ---- No. L-2-4 VALUES clause
3404 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;
3406 -------------------------------------------------------
3408 Merge Cond: (t1.c1 = t2.c1)
3409 -> Index Scan using t1_i1 on t1
3413 Hash Cond: (t2.c1 = "*VALUES*".column1)
3416 -> Values Scan on "*VALUES*"
3419 /*+ Leading(t3 t1 t2) */
3420 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;
3429 ---------------------------------------------
3431 Join Filter: (t1.c1 = "*VALUES*".column1)
3432 -> Values Scan on "*VALUES*"
3434 Merge Cond: (t1.c1 = t2.c1)
3435 -> Index Scan using t1_i1 on t1
3441 /*+ Leading(*VALUES* t1 t2) */
3442 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;
3445 Leading(*VALUES* t1 t2)
3451 -----------------------------------------------------------
3453 Hash Cond: (t2.c1 = t1.c1)
3457 -> Values Scan on "*VALUES*"
3458 -> Index Scan using t1_i1 on t1
3459 Index Cond: (c1 = "*VALUES*".column1)
3463 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;
3465 -------------------------------------------------------------
3467 Join Filter: (t1.c1 = "*VALUES*".column1)
3469 Merge Cond: (t1.c1 = t2.c1)
3470 -> Index Scan using t1_i1 on t1
3474 Hash Cond: (t2.c1 = "*VALUES*".column1)
3477 -> Values Scan on "*VALUES*"
3478 -> Values Scan on "*VALUES*"
3481 /*+ Leading(t4 t3 t2 t1) */
3482 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;
3485 Leading(t4 t3 t2 t1)
3491 ----------------------------------------------------------------
3493 Join Filter: (t1.c1 = "*VALUES*".column1)
3495 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
3496 -> Values Scan on "*VALUES*"
3497 -> Values Scan on "*VALUES*"
3499 Merge Cond: (t1.c1 = t2.c1)
3500 -> Index Scan using t1_i1 on t1
3506 /*+ Leading(*VALUES* t3 t2 t1) */
3507 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;
3508 INFO: hint syntax error at or near "Leading(*VALUES* t3 t2 t1) "
3509 DETAIL: Relation name "*VALUES*" is ambiguous.
3513 Leading(*VALUES* t3 t2 t1)
3518 -------------------------------------------------------------
3520 Join Filter: (t1.c1 = "*VALUES*".column1)
3522 Merge Cond: (t1.c1 = t2.c1)
3523 -> Index Scan using t1_i1 on t1
3527 Hash Cond: (t2.c1 = "*VALUES*".column1)
3530 -> Values Scan on "*VALUES*"
3531 -> Values Scan on "*VALUES*"
3535 ---- No. L-3-1 leading the order of table joins
3537 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3539 ------------------------------------------
3541 Merge Cond: (t1.c1 = t2.c1)
3543 Merge Cond: (t1.c1 = t3.c1)
3544 -> Index Scan using t1_i1 on t1
3545 -> Index Scan using t3_i1 on t3
3552 /*+Leading(t3 t1 t2)*/
3553 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3562 ------------------------------------------
3564 Merge Cond: (t1.c1 = t2.c1)
3566 Merge Cond: (t1.c1 = t3.c1)
3567 -> Index Scan using t1_i1 on t1
3568 -> Index Scan using t3_i1 on t3
3575 /*+Leading(t1 t2 t3)*/
3576 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3585 ------------------------------------------------
3587 Hash Cond: (t3.c1 = t1.c1)
3591 Merge Cond: (t1.c1 = t2.c1)
3592 -> Index Scan using t1_i1 on t1
3599 ---- No. L-3-2 GUC parameter to disable hints
3601 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3603 ------------------------------------------
3605 Merge Cond: (t1.c1 = t2.c1)
3607 Merge Cond: (t1.c1 = t3.c1)
3608 -> Index Scan using t1_i1 on t1
3609 -> Index Scan using t3_i1 on t3
3616 Set geqo_threshold = 3;
3618 /*+Leading(t1 t2 t3)*/
3619 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3628 ------------------------------------------
3630 Merge Cond: (t1.c1 = t2.c1)
3632 Merge Cond: (t1.c1 = t3.c1)
3633 -> Index Scan using t1_i1 on t1
3634 -> Index Scan using t3_i1 on t3
3640 Reset geqo_threshold;
3642 Set geqo_threshold = 4;
3644 /*+Leading(t1 t2 t3)*/
3645 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3654 ------------------------------------------------
3656 Hash Cond: (t3.c1 = t1.c1)
3660 Merge Cond: (t1.c1 = t2.c1)
3661 -> Index Scan using t1_i1 on t1
3667 Reset geqo_threshold;
3669 Set from_collapse_limit = 2;
3670 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.v2 WHERE t1.c1 = v2.c1;
3672 -----------------------------------------------------
3674 Hash Cond: (t1.c1 = v2t1.c1)
3678 Merge Cond: (v2t1.c1 = v2t2.c1)
3679 -> Index Scan using t1_i1 on t1 v2t1
3682 -> Seq Scan on t2 v2t2
3685 /*+Leading(t1 v2t1 v2t2)*/
3686 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.v2 WHERE t1.c1 = v2.c1;
3689 Leading(t1 v2t1 v2t2)
3695 -----------------------------------------------------
3697 Hash Cond: (t1.c1 = v2t1.c1)
3701 Merge Cond: (v2t1.c1 = v2t2.c1)
3702 -> Index Scan using t1_i1 on t1 v2t1
3705 -> Seq Scan on t2 v2t2
3708 Reset from_collapse_limit;
3710 Set from_collapse_limit = 3;
3711 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.v2 WHERE t1.c1 = v2.c1;
3713 -----------------------------------------------
3715 Merge Cond: (v2t1.c1 = v2t2.c1)
3717 Merge Cond: (t1.c1 = v2t1.c1)
3718 -> Index Scan using t1_i1 on t1
3719 -> Index Scan using t1_i1 on t1 v2t1
3722 -> Seq Scan on t2 v2t2
3725 /*+Leading(v2t1 v2t2 t1)*/
3726 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.v2 WHERE t1.c1 = v2.c1;
3729 Leading(v2t1 v2t2 t1)
3735 -----------------------------------------------------
3737 Hash Cond: (t1.c1 = v2t1.c1)
3741 Merge Cond: (v2t1.c1 = v2t2.c1)
3742 -> Index Scan using t1_i1 on t1 v2t1
3745 -> Seq Scan on t2 v2t2
3748 Reset from_collapse_limit;
3750 Set join_collapse_limit = 2;
3751 EXPLAIN (COSTS false) SELECT * FROM s1.t3
3752 JOIN s1.t2 ON (t3.c1 = t2.c1)
3753 JOIN s1.t1 ON (t1.c1 = t3.c1);
3755 ------------------------------------------
3757 Hash Cond: (t1.c1 = t3.c1)
3761 Hash Cond: (t3.c1 = t2.c1)
3767 /*+Leading(t1 t2 t3)*/
3768 EXPLAIN (COSTS false) SELECT * FROM s1.t3
3769 JOIN s1.t2 ON (t3.c1 = t2.c1)
3770 JOIN s1.t1 ON (t1.c1 = t3.c1);
3779 ------------------------------------------
3781 Hash Cond: (t1.c1 = t3.c1)
3785 Hash Cond: (t3.c1 = t2.c1)
3791 Reset join_collapse_limit;
3793 Set join_collapse_limit = 3;
3794 EXPLAIN (COSTS false) SELECT * FROM s1.t3
3795 JOIN s1.t2 ON (t3.c1 = t2.c1)
3796 JOIN s1.t1 ON (t1.c1 = t3.c1);
3798 ------------------------------------------------
3800 Hash Cond: (t3.c1 = t2.c1)
3804 Merge Cond: (t1.c1 = t2.c1)
3805 -> Index Scan using t1_i1 on t1
3811 /*+Leading(t1 t2 t3)*/
3812 EXPLAIN (COSTS false) SELECT * FROM s1.t3
3813 JOIN s1.t2 ON (t3.c1 = t2.c1)
3814 JOIN s1.t1 ON (t1.c1 = t3.c1);
3823 ------------------------------------------------
3825 Hash Cond: (t3.c1 = t2.c1)
3829 Merge Cond: (t1.c1 = t2.c1)
3830 -> Index Scan using t1_i1 on t1
3836 Reset join_collapse_limit;
3838 ---- No. L-3-3 join between parents or between children
3841 /*+Leading(t1 t2 t3)*/
3842 EXPLAIN (COSTS false) SELECT * FROM s1.p2c1 t1
3843 JOIN s1.p2c2 t2 ON (t1.c1 = t2.c1)
3844 JOIN s1.p2c3 t3 ON (t1.c1 = t3.c1);
3853 -----------------------------------------------
3855 Hash Cond: (t1.c1 = t3.c1)
3857 Hash Cond: (t1.c1 = t2.c1)
3859 -> Seq Scan on p2c1 t1
3860 -> Seq Scan on p2c1c1 t1
3861 -> Seq Scan on p2c1c2 t1
3864 -> Seq Scan on p2c2 t2
3865 -> Seq Scan on p2c2c1 t2
3866 -> Seq Scan on p2c2c2 t2
3869 -> Seq Scan on p2c3 t3
3870 -> Seq Scan on p2c3c1 t3
3871 -> Seq Scan on p2c3c2 t3
3875 /*+Leading(p2c1c1 p2c2c1 p2c3c1)*/
3876 EXPLAIN (COSTS false) SELECT * FROM s1.p2c1 t1
3877 JOIN s1.p2c2 t2 ON (t1.c1 = t2.c1)
3878 JOIN s1.p2c3 t3 ON (t1.c1 = t3.c1);
3882 Leading(p2c1c1 p2c2c1 p2c3c1)
3887 -----------------------------------------------
3889 Hash Cond: (t1.c1 = t3.c1)
3891 Hash Cond: (t1.c1 = t2.c1)
3893 -> Seq Scan on p2c1 t1
3894 -> Seq Scan on p2c1c1 t1
3895 -> Seq Scan on p2c1c2 t1
3898 -> Seq Scan on p2c2 t2
3899 -> Seq Scan on p2c2c1 t2
3900 -> Seq Scan on p2c2c2 t2
3903 -> Seq Scan on p2c3 t3
3904 -> Seq Scan on p2c3c1 t3
3905 -> Seq Scan on p2c3c2 t3
3909 ---- No. L-3-4 conflict leading hint
3912 EXPLAIN (COSTS false) SELECT * FROM s1.t1
3913 JOIN s1.t2 ON (t1.c1 = t2.c1)
3914 JOIN s1.t3 ON (t1.c1 = t3.c1);
3916 ------------------------------------------
3918 Merge Cond: (t1.c1 = t2.c1)
3920 Merge Cond: (t1.c1 = t3.c1)
3921 -> Index Scan using t1_i1 on t1
3922 -> Index Scan using t3_i1 on t3
3928 /*+Leading(t2 t3 t1)Leading(t1 t2 t3)*/
3929 EXPLAIN (COSTS false) SELECT * FROM s1.t1
3930 JOIN s1.t2 ON (t1.c1 = t2.c1)
3931 JOIN s1.t3 ON (t1.c1 = t3.c1);
3932 INFO: hint syntax error at or near "Leading(t2 t3 t1)Leading(t1 t2 t3)"
3933 DETAIL: Conflict leading hint.
3943 ------------------------------------------------
3945 Hash Cond: (t3.c1 = t1.c1)
3949 Merge Cond: (t1.c1 = t2.c1)
3950 -> Index Scan using t1_i1 on t1
3957 /*+Leading(t3 t1 t2)Leading(t2 t3 t1)Leading(t1 t2 t3)*/
3958 EXPLAIN (COSTS false) SELECT * FROM s1.t1
3959 JOIN s1.t2 ON (t1.c1 = t2.c1)
3960 JOIN s1.t3 ON (t1.c1 = t3.c1);
3961 INFO: hint syntax error at or near "Leading(t3 t1 t2)Leading(t2 t3 t1)Leading(t1 t2 t3)"
3962 DETAIL: Conflict leading hint.
3963 INFO: hint syntax error at or near "Leading(t2 t3 t1)Leading(t1 t2 t3)"
3964 DETAIL: Conflict leading hint.
3975 ------------------------------------------------
3977 Hash Cond: (t3.c1 = t1.c1)
3981 Merge Cond: (t1.c1 = t2.c1)
3982 -> Index Scan using t1_i1 on t1
3989 /*+Leading(t2 t3 t1)Leading()*/
3990 EXPLAIN (COSTS false) SELECT * FROM s1.t1
3991 JOIN s1.t2 ON (t1.c1 = t2.c1)
3992 JOIN s1.t3 ON (t1.c1 = t3.c1);
3993 INFO: hint syntax error at or near "Leading()"
3994 DETAIL: Leading hint requires at least two relations.
4004 ------------------------------------------
4006 Merge Cond: (t1.c1 = t2.c1)
4007 -> Index Scan using t1_i1 on t1
4011 Hash Cond: (t3.c1 = t2.c1)
4018 /*+Leading(t3 t1 t2)Leading(t2 t3 t1)Leading()*/
4019 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4020 JOIN s1.t2 ON (t1.c1 = t2.c1)
4021 JOIN s1.t3 ON (t1.c1 = t3.c1);
4022 INFO: hint syntax error at or near "Leading()"
4023 DETAIL: Leading hint requires at least two relations.
4024 INFO: hint syntax error at or near "Leading(t3 t1 t2)Leading(t2 t3 t1)Leading()"
4025 DETAIL: Conflict leading hint.
4036 ------------------------------------------
4038 Merge Cond: (t1.c1 = t2.c1)
4039 -> Index Scan using t1_i1 on t1
4043 Hash Cond: (t3.c1 = t2.c1)
4050 ---- No. L-3-5 hint state output
4054 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4055 JOIN s1.t2 ON (t1.c1 = t2.c1)
4056 JOIN s1.t3 ON (t1.c1 = t3.c1);
4057 INFO: hint syntax error at or near "Leading()"
4058 DETAIL: Leading hint requires at least two relations.
4067 ------------------------------------------
4069 Merge Cond: (t1.c1 = t2.c1)
4071 Merge Cond: (t1.c1 = t3.c1)
4072 -> Index Scan using t1_i1 on t1
4073 -> Index Scan using t3_i1 on t3
4081 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4082 JOIN s1.t2 ON (t1.c1 = t2.c1)
4083 JOIN s1.t3 ON (t1.c1 = t3.c1);
4084 INFO: hint syntax error at or near "Leading(t1)"
4085 DETAIL: Leading hint requires at least two relations.
4094 ------------------------------------------
4096 Merge Cond: (t1.c1 = t2.c1)
4098 Merge Cond: (t1.c1 = t3.c1)
4099 -> Index Scan using t1_i1 on t1
4100 -> Index Scan using t3_i1 on t3
4108 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4109 JOIN s1.t2 ON (t1.c1 = t2.c1)
4110 JOIN s1.t3 ON (t1.c1 = t3.c1);
4119 ------------------------------------------
4122 Merge Cond: (t1.c1 = t2.c1)
4123 -> Index Scan using t1_i1 on t1
4127 -> Index Scan using t3_i1 on t3
4128 Index Cond: (c1 = t1.c1)
4132 /*+Leading(t1 t2 t3)*/
4133 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4134 JOIN s1.t2 ON (t1.c1 = t2.c1)
4135 JOIN s1.t3 ON (t1.c1 = t3.c1);
4144 ------------------------------------------------
4146 Hash Cond: (t3.c1 = t1.c1)
4150 Merge Cond: (t1.c1 = t2.c1)
4151 -> Index Scan using t1_i1 on t1