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 ------------------------------------------------
209 Join Filter: (t1.c1 = t4.c1)
211 Merge Cond: (t1.c1 = t2.c1)
212 -> Index Scan using t1_i1 on t1
216 Hash Cond: (t3.c1 = t2.c1)
220 -> Index Scan using t4_i1 on t4
221 Index Cond: (c1 = t3.c1)
225 ---- No. L-1-4 conflict table name
228 /*+Leading(t4 t2 t3 t1)*/
229 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;
238 ------------------------------------------------------
240 Merge Cond: (t1.c1 = t2.c1)
241 -> Index Scan using t1_i1 on t1
245 Hash Cond: (t3.c1 = t2.c1)
249 Hash Cond: (t4.c1 = t2.c1)
256 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;
258 ------------------------------------------------
260 Merge Cond: (s1.t1.c1 = s2.t1.c1)
262 Merge Cond: (s1.t1.c1 = t2.c1)
264 Merge Cond: (s1.t1.c1 = t3.c1)
265 -> Index Scan using t1_i1 on t1
266 -> Index Scan using t3_i1 on t3
267 -> Index Scan using t2_i1 on t2
273 /*+Leading(t1 t2 t3 t1)*/
274 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;
275 INFO: hint syntax error at or near "Leading(t1 t2 t3 t1)"
276 DETAIL: Relation name "t1" is ambiguous.
285 ------------------------------------------------
287 Merge Cond: (s1.t1.c1 = s2.t1.c1)
289 Merge Cond: (s1.t1.c1 = t2.c1)
291 Merge Cond: (s1.t1.c1 = t3.c1)
292 -> Index Scan using t1_i1 on t1
293 -> Index Scan using t3_i1 on t3
294 -> Index Scan using t2_i1 on t2
300 /*+Leading(s1.t1 t2 t3 s2.t1)*/
301 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;
304 Leading(s1.t1 t2 t3 s2.t1)
310 ------------------------------------------------
312 Join Filter: (s1.t1.c1 = s2.t1.c1)
314 Join Filter: (t2.c1 = s1.t1.c1)
316 Merge Cond: (t3.c1 = t2.c1)
317 -> Index Scan using t3_i1 on t3
321 -> Index Scan using t1_i1 on t1
322 Index Cond: (c1 = t3.c1)
323 -> Index Scan using t1_pkey on t1
324 Index Cond: (c1 = t3.c1)
327 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;
329 ------------------------------------------------
331 Merge Cond: (t1.c1 = s2t1.c1)
333 Merge Cond: (t1.c1 = t2.c1)
335 Merge Cond: (t1.c1 = t3.c1)
336 -> Index Scan using t1_i1 on t1
337 -> Index Scan using t3_i1 on t3
338 -> Index Scan using t2_i1 on t2
341 -> Seq Scan on t1 s2t1
344 /*+Leading(s2t1 t1 t3 t2)*/
345 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;
348 Leading(s2t1 t1 t3 t2)
354 -------------------------------------------------------
356 Merge Cond: (t1.c1 = t2.c1)
359 Merge Cond: (t1.c1 = s2t1.c1)
360 -> Index Scan using t1_i1 on t1
361 -> Index Scan using t1_pkey on t1 s2t1
362 -> Index Scan using t3_i1 on t3
363 Index Cond: (c1 = t1.c1)
370 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;
372 -------------------------------------------------------------------
374 Merge Cond: (s1.t1.c1 = s1.t2.c1)
375 InitPlan 1 (returns $0)
378 Merge Cond: (s1.t1.c1 = s1.t2.c1)
380 Merge Cond: (s1.t1.c1 = s1.t4.c1)
382 Merge Cond: (s1.t1.c1 = s1.t3.c1)
383 -> Index Only Scan using t1_i1 on t1
384 -> Index Only Scan using t3_i1 on t3
385 -> Index Only Scan using t4_i1 on t4
390 Merge Cond: (s1.t1.c1 = s1.t4.c1)
392 Merge Cond: (s1.t1.c1 = s1.t3.c1)
393 -> Index Scan using t1_i1 on t1
394 -> Index Scan using t3_i1 on t3
395 -> Index Scan using t4_i1 on t4
401 /*+Leading(t4 t2 t3 t1)*/
402 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;
411 --------------------------------------------------------------------------
413 Merge Cond: (s1.t1.c1 = s1.t2.c1)
414 InitPlan 1 (returns $0)
417 Merge Cond: (s1.t1.c1 = s1.t2.c1)
418 -> Index Only Scan using t1_i1 on t1
422 Hash Cond: (s1.t3.c1 = s1.t2.c1)
426 Hash Cond: (s1.t4.c1 = s1.t2.c1)
430 -> Index Scan using t1_i1 on t1
434 Hash Cond: (s1.t3.c1 = s1.t2.c1)
438 Hash Cond: (s1.t4.c1 = s1.t2.c1)
444 /*+Leading(st1 st2 st3 st4 t4 t2 t3 t1)*/
445 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;
448 Leading(st1 st2 st3 st4 t4 t2 t3 t1)
454 --------------------------------------------------------------------------------------------
456 Merge Cond: (t1.c1 = t2.c1)
457 -> Index Scan using t1_i1 on t1
461 Hash Cond: (t3.c1 = t2.c1)
465 Hash Cond: (t4.c1 = t2.c1)
472 One-Time Filter: ((t1.c1 = t2.c1) AND (t1.c1 = t3.c1) AND (t1.c1 = t4.c1))
476 -> Seq Scan on t1 st1
478 -> Seq Scan on t2 st2
480 -> Seq Scan on t3 st3
482 -> Seq Scan on t4 st4
486 ---- No. L-1-5 conflict table name
489 /*+Leading(t4 t2 t3 t1)*/
490 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;
499 ------------------------------------------------------
501 Merge Cond: (t1.c1 = t2.c1)
502 -> Index Scan using t1_i1 on t1
506 Hash Cond: (t3.c1 = t2.c1)
510 Hash Cond: (t4.c1 = t2.c1)
517 /*+Leading(t4 t2 t3 t1 t4)*/
518 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;
521 Leading(t4 t2 t3 t1 t4)
527 ------------------------------------------------------
529 Merge Cond: (t1.c1 = t2.c1)
530 -> Index Scan using t1_i1 on t1
534 Hash Cond: (t3.c1 = t2.c1)
538 Hash Cond: (t4.c1 = t2.c1)
544 /*+Leading(t4 t2 t3 t4)*/
545 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;
546 INFO: hint syntax error at or near "Leading(t4 t2 t3 t4)"
547 DETAIL: Relation name "t4" is duplicated.
556 ------------------------------------------------
558 Merge Cond: (t1.c1 = t2.c1)
560 Merge Cond: (t1.c1 = t4.c1)
562 Merge Cond: (t1.c1 = t3.c1)
563 -> Index Scan using t1_i1 on t1
564 -> Index Scan using t3_i1 on t3
565 -> Index Scan using t4_i1 on t4
572 /*+Leading(t4 t2 t3 t1 t4 t2 t3 t1)*/
573 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;
576 Leading(t4 t2 t3 t1 t4 t2 t3 t1)
582 ------------------------------------------------------
584 Merge Cond: (t1.c1 = t2.c1)
585 -> Index Scan using t1_i1 on t1
589 Hash Cond: (t3.c1 = t2.c1)
593 Hash Cond: (t4.c1 = t2.c1)
599 /*+Leading(t4 t2 t2 t4)*/
600 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;
601 INFO: hint syntax error at or near "Leading(t4 t2 t2 t4)"
602 DETAIL: Relation name "t2" is duplicated.
611 ------------------------------------------------
613 Merge Cond: (t1.c1 = t2.c1)
615 Merge Cond: (t1.c1 = t4.c1)
617 Merge Cond: (t1.c1 = t3.c1)
618 -> Index Scan using t1_i1 on t1
619 -> Index Scan using t3_i1 on t3
620 -> Index Scan using t4_i1 on t4
627 ---- No. L-1-6 object type for the hint
630 /*+Leading(t4 t2 t3 t1)*/
631 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;
640 ------------------------------------------------------
642 Merge Cond: (t1.c1 = t2.c1)
643 -> Index Scan using t1_i1 on t1
647 Hash Cond: (t3.c1 = t2.c1)
651 Hash Cond: (t4.c1 = t2.c1)
658 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;
660 ---------------------------------------------------
662 Hash Cond: (t1.c1 = t4.c1)
664 Hash Cond: (t1.c1 = t3.c1)
666 Hash Cond: (t1.c1 = t2.c1)
669 -> Seq Scan on p1c1 t1
670 -> Seq Scan on p1c2 t1
671 -> Seq Scan on p1c3 t1
675 -> Seq Scan on p1c1 t2
676 -> Seq Scan on p1c2 t2
677 -> Seq Scan on p1c3 t2
681 -> Seq Scan on p1c1 t3
682 -> Seq Scan on p1c2 t3
683 -> Seq Scan on p1c3 t3
687 -> Seq Scan on p1c1 t4
688 -> Seq Scan on p1c2 t4
689 -> Seq Scan on p1c3 t4
692 /*+Leading(t4 t3 t2 t1)*/
693 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;
702 ---------------------------------------------------
704 Hash Cond: (t2.c1 = t1.c1)
706 Hash Cond: (t3.c1 = t2.c1)
708 Hash Cond: (t3.c1 = t4.c1)
711 -> Seq Scan on p1c1 t3
712 -> Seq Scan on p1c2 t3
713 -> Seq Scan on p1c3 t3
717 -> Seq Scan on p1c1 t4
718 -> Seq Scan on p1c2 t4
719 -> Seq Scan on p1c3 t4
723 -> Seq Scan on p1c1 t2
724 -> Seq Scan on p1c2 t2
725 -> Seq Scan on p1c3 t2
729 -> Seq Scan on p1c1 t1
730 -> Seq Scan on p1c2 t1
731 -> Seq Scan on p1c3 t1
735 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;
737 --------------------------------------------
739 Hash Cond: (t1.c1 = t4.c1)
741 Hash Cond: (t1.c1 = t3.c1)
743 Hash Cond: (t1.c1 = t2.c1)
744 -> Seq Scan on ul1 t1
746 -> Seq Scan on ul1 t2
748 -> Seq Scan on ul1 t3
750 -> Seq Scan on ul1 t4
753 /*+Leading(t4 t3 t2 t1)*/
754 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;
763 --------------------------------------------
765 Hash Cond: (t2.c1 = t1.c1)
767 Hash Cond: (t3.c1 = t2.c1)
769 Hash Cond: (t3.c1 = t4.c1)
770 -> Seq Scan on ul1 t3
772 -> Seq Scan on ul1 t4
774 -> Seq Scan on ul1 t2
776 -> Seq Scan on ul1 t1
780 CREATE TEMP TABLE tm1 (LIKE s1.t1 INCLUDING ALL);
781 NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "tm1_pkey" for table "tm1"
782 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;
784 --------------------------------------------
786 Hash Cond: (t1.c1 = t4.c1)
788 Hash Cond: (t1.c1 = t3.c1)
790 Hash Cond: (t1.c1 = t2.c1)
791 -> Seq Scan on tm1 t1
793 -> Seq Scan on tm1 t2
795 -> Seq Scan on tm1 t3
797 -> Seq Scan on tm1 t4
800 /*+Leading(t4 t3 t2 t1)*/
801 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;
810 --------------------------------------------
812 Hash Cond: (t2.c1 = t1.c1)
814 Hash Cond: (t3.c1 = t2.c1)
816 Hash Cond: (t3.c1 = t4.c1)
817 -> Seq Scan on tm1 t3
819 -> Seq Scan on tm1 t4
821 -> Seq Scan on tm1 t2
823 -> Seq Scan on tm1 t1
827 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;
829 -------------------------------------------------
831 Hash Cond: (t1.oid = t4.oid)
833 Hash Cond: (t1.oid = t3.oid)
835 Hash Cond: (t1.oid = t2.oid)
836 -> Seq Scan on pg_class t1
838 -> Seq Scan on pg_class t2
840 -> Seq Scan on pg_class t3
842 -> Seq Scan on pg_class t4
845 /*+Leading(t4 t3 t2 t1)*/
846 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;
855 -------------------------------------------------
857 Hash Cond: (t2.oid = t1.oid)
859 Hash Cond: (t3.oid = t2.oid)
861 Hash Cond: (t3.oid = t4.oid)
862 -> Seq Scan on pg_class t3
864 -> Seq Scan on pg_class t4
866 -> Seq Scan on pg_class t2
868 -> Seq Scan on pg_class t1
874 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;
876 --------------------------------------------
878 Join Filter: (t1.c1 = t4.c1)
880 Join Filter: (t1.c1 = t3.c1)
882 Join Filter: (t1.c1 = t2.c1)
883 -> Function Scan on f1 t1
884 -> Function Scan on f1 t2
885 -> Function Scan on f1 t3
886 -> Function Scan on f1 t4
889 /*+Leading(t4 t3 t2 t1)*/
890 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;
899 --------------------------------------------
901 Join Filter: (t2.c1 = t1.c1)
903 Join Filter: (t3.c1 = t2.c1)
905 Join Filter: (t3.c1 = t4.c1)
906 -> Function Scan on f1 t3
907 -> Function Scan on f1 t4
908 -> Function Scan on f1 t2
909 -> Function Scan on f1 t1
913 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;
915 -------------------------------------------------------
917 Join Filter: ("*VALUES*".column1 = t4.c1)
919 Join Filter: ("*VALUES*".column1 = t3.c1)
921 Hash Cond: (t2.c1 = "*VALUES*".column1)
924 -> Values Scan on "*VALUES*"
925 -> Index Scan using t3_i1 on t3
926 Index Cond: (c1 = t2.c1)
927 -> Index Scan using t4_i1 on t4
928 Index Cond: (c1 = t3.c1)
931 /*+Leading(t4 t3 t2 t1)*/
932 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;
941 ---------------------------------------------
943 Join Filter: (t2.c1 = "*VALUES*".column1)
944 -> Values Scan on "*VALUES*"
946 Hash Cond: (t3.c1 = t2.c1)
948 Hash Cond: (t3.c1 = t4.c1)
957 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;
959 ----------------------------------------------------
961 Merge Cond: (ct1.c1 = ct3.c1)
964 Hash Cond: (st1.c1 = st4.c1)
966 Hash Cond: (st1.c1 = st3.c1)
968 Hash Cond: (st1.c1 = st2.c1)
969 -> Seq Scan on t1 st1
971 -> Seq Scan on t1 st2
973 -> Seq Scan on t1 st3
975 -> Seq Scan on t1 st4
977 Merge Cond: (ct1.c1 = ct2.c1)
980 -> CTE Scan on c1 ct1
983 -> CTE Scan on c1 ct2
986 Merge Cond: (ct3.c1 = ct4.c1)
989 -> CTE Scan on c1 ct3
992 -> CTE Scan on c1 ct4
995 /*+Leading(ct4 ct3 ct2 ct1 st4 st3 st2 st1)*/
996 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;
999 Leading(ct4 ct3 ct2 ct1 st4 st3 st2 st1)
1005 ---------------------------------------------------------
1007 Merge Cond: (ct1.c1 = ct2.c1)
1010 Hash Cond: (st2.c1 = st1.c1)
1012 Hash Cond: (st3.c1 = st2.c1)
1014 Hash Cond: (st3.c1 = st4.c1)
1015 -> Seq Scan on t1 st3
1017 -> Seq Scan on t1 st4
1019 -> Seq Scan on t1 st2
1021 -> Seq Scan on t1 st1
1024 -> CTE Scan on c1 ct1
1027 Merge Cond: (ct2.c1 = ct3.c1)
1030 -> CTE Scan on c1 ct2
1033 Merge Cond: (ct3.c1 = ct4.c1)
1036 -> CTE Scan on c1 ct3
1039 -> CTE Scan on c1 ct4
1043 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;
1045 ----------------------------------------------
1047 Hash Cond: (v1t1.c1 = v1t1.c1)
1049 Hash Cond: (v1t1.c1 = v1t1.c1)
1051 Hash Cond: (v1t1.c1 = v1t1.c1)
1052 -> Seq Scan on t1 v1t1
1054 -> Seq Scan on t1 v1t1
1056 -> Seq Scan on t1 v1t1
1058 -> Seq Scan on t1 v1t1
1061 /*+Leading(t4 t3 t2 t1)*/
1062 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;
1066 Leading(t4 t3 t2 t1)
1071 ----------------------------------------------
1073 Hash Cond: (v1t1.c1 = v1t1.c1)
1075 Hash Cond: (v1t1.c1 = v1t1.c1)
1077 Hash Cond: (v1t1.c1 = v1t1.c1)
1078 -> Seq Scan on t1 v1t1
1080 -> Seq Scan on t1 v1t1
1082 -> Seq Scan on t1 v1t1
1084 -> Seq Scan on t1 v1t1
1087 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;
1089 ---------------------------------------------
1091 Hash Cond: (v1t1.c1 = t4.c1)
1093 Hash Cond: (v1t1.c1 = v1t1_.c1)
1095 Hash Cond: (t3.c1 = v1t1.c1)
1098 -> Seq Scan on t1 v1t1
1100 -> Seq Scan on t1 v1t1_
1105 /*+Leading(t4 v1t1_ v1t1 t3)*/
1106 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;
1109 Leading(t4 v1t1_ v1t1 t3)
1115 ----------------------------------------------
1117 Hash Cond: (v1t1.c1 = t3.c1)
1119 Hash Cond: (v1t1_.c1 = v1t1.c1)
1121 Hash Cond: (t4.c1 = v1t1_.c1)
1124 -> Seq Scan on t1 v1t1_
1126 -> Seq Scan on t1 v1t1
1132 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;
1134 ------------------------------------------------
1136 Merge Cond: (t1.c1 = t2.c1)
1138 Merge Cond: (t1.c1 = t4.c1)
1140 Merge Cond: (t1.c1 = t3.c1)
1141 -> Index Scan using t1_i1 on t1
1142 -> Index Scan using t3_i1 on t3
1143 -> Index Only Scan using t4_i1 on t4
1149 /*+Leading(st4 t2 t3 t1)*/
1150 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;
1153 Leading(st4 t2 t3 t1)
1159 ------------------------------------------------
1161 Join Filter: (t1.c1 = t4.c1)
1163 Merge Cond: (t1.c1 = t2.c1)
1164 -> Index Scan using t1_i1 on t1
1168 Hash Cond: (t3.c1 = t2.c1)
1172 -> Index Only Scan using t4_i1 on t4
1173 Index Cond: (c1 = t3.c1)
1176 /*+Leading(t4 t2 t3 t1)*/
1177 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;
1180 Leading(t4 t2 t3 t1)
1186 ------------------------------------------------------
1188 Merge Cond: (t1.c1 = t2.c1)
1189 -> Index Scan using t1_i1 on t1
1193 Hash Cond: (t3.c1 = t2.c1)
1197 Hash Cond: (t4.c1 = t2.c1)
1204 ---- No. L-2-1 some complexity query blocks
1207 EXPLAIN (COSTS false)
1208 SELECT max(bmt1.c1), (
1209 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)'
1211 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)'
1213 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)'
1216 -------------------------------------------------------------------
1218 InitPlan 1 (returns $0)
1221 Join Filter: (b1t1.c1 = b1t4.c1)
1223 Join Filter: (b1t1.c1 = b1t3.c1)
1225 Join Filter: (b1t1.c1 = b1t2.c1)
1226 -> Tid Scan on t1 b1t1
1227 TID Cond: (ctid = '(1,1)'::tid)
1228 -> Seq Scan on t2 b1t2
1229 Filter: (ctid = '(1,1)'::tid)
1230 -> Tid Scan on t3 b1t3
1231 TID Cond: (ctid = '(1,1)'::tid)
1232 -> Tid Scan on t4 b1t4
1233 TID Cond: (ctid = '(1,1)'::tid)
1234 InitPlan 2 (returns $1)
1237 Join Filter: (b2t1.c1 = b2t4.c1)
1239 Join Filter: (b2t1.c1 = b2t3.c1)
1241 Join Filter: (b2t1.c1 = b2t2.c1)
1242 -> Tid Scan on t1 b2t1
1243 TID Cond: (ctid = '(1,1)'::tid)
1244 -> Seq Scan on t2 b2t2
1245 Filter: (ctid = '(1,1)'::tid)
1246 -> Tid Scan on t3 b2t3
1247 TID Cond: (ctid = '(1,1)'::tid)
1248 -> Tid Scan on t4 b2t4
1249 TID Cond: (ctid = '(1,1)'::tid)
1251 Join Filter: (bmt1.c1 = bmt4.c1)
1253 Join Filter: (bmt1.c1 = bmt3.c1)
1255 Join Filter: (bmt1.c1 = bmt2.c1)
1256 -> Tid Scan on t1 bmt1
1257 TID Cond: (ctid = '(1,1)'::tid)
1258 -> Seq Scan on t2 bmt2
1259 Filter: (ctid = '(1,1)'::tid)
1260 -> Tid Scan on t3 bmt3
1261 TID Cond: (ctid = '(1,1)'::tid)
1262 -> Tid Scan on t4 bmt4
1263 TID Cond: (ctid = '(1,1)'::tid)
1267 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1269 EXPLAIN (COSTS false)
1270 SELECT max(bmt1.c1), (
1271 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)'
1273 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)'
1275 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)'
1279 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1285 -------------------------------------------------------------------
1287 InitPlan 1 (returns $0)
1290 Join Filter: (b1t2.c1 = b1t1.c1)
1292 Join Filter: (b1t2.c1 = b1t4.c1)
1294 Join Filter: (b1t2.c1 = b1t3.c1)
1295 -> Seq Scan on t2 b1t2
1296 Filter: (ctid = '(1,1)'::tid)
1297 -> Tid Scan on t3 b1t3
1298 TID Cond: (ctid = '(1,1)'::tid)
1299 -> Tid Scan on t4 b1t4
1300 TID Cond: (ctid = '(1,1)'::tid)
1301 -> Tid Scan on t1 b1t1
1302 TID Cond: (ctid = '(1,1)'::tid)
1303 InitPlan 2 (returns $1)
1306 Join Filter: (b2t1.c1 = b2t2.c1)
1308 Join Filter: (b2t3.c1 = b2t1.c1)
1310 Join Filter: (b2t3.c1 = b2t4.c1)
1311 -> Tid Scan on t3 b2t3
1312 TID Cond: (ctid = '(1,1)'::tid)
1313 -> Tid Scan on t4 b2t4
1314 TID Cond: (ctid = '(1,1)'::tid)
1315 -> Tid Scan on t1 b2t1
1316 TID Cond: (ctid = '(1,1)'::tid)
1317 -> Seq Scan on t2 b2t2
1318 Filter: (ctid = '(1,1)'::tid)
1320 Join Filter: (bmt1.c1 = bmt4.c1)
1322 Join Filter: (bmt1.c1 = bmt3.c1)
1324 Join Filter: (bmt1.c1 = bmt2.c1)
1325 -> Tid Scan on t1 bmt1
1326 TID Cond: (ctid = '(1,1)'::tid)
1327 -> Seq Scan on t2 bmt2
1328 Filter: (ctid = '(1,1)'::tid)
1329 -> Tid Scan on t3 bmt3
1330 TID Cond: (ctid = '(1,1)'::tid)
1331 -> Tid Scan on t4 bmt4
1332 TID Cond: (ctid = '(1,1)'::tid)
1336 EXPLAIN (COSTS false)
1337 SELECT max(bmt1.c1), (
1338 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)'
1340 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)'
1342 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)'
1344 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)'
1347 -------------------------------------------------------------------
1349 InitPlan 1 (returns $0)
1352 Join Filter: (b1t1.c1 = b1t4.c1)
1354 Join Filter: (b1t1.c1 = b1t3.c1)
1356 Join Filter: (b1t1.c1 = b1t2.c1)
1357 -> Tid Scan on t1 b1t1
1358 TID Cond: (ctid = '(1,1)'::tid)
1359 -> Seq Scan on t2 b1t2
1360 Filter: (ctid = '(1,1)'::tid)
1361 -> Tid Scan on t3 b1t3
1362 TID Cond: (ctid = '(1,1)'::tid)
1363 -> Tid Scan on t4 b1t4
1364 TID Cond: (ctid = '(1,1)'::tid)
1365 InitPlan 2 (returns $1)
1368 Join Filter: (b2t1.c1 = b2t4.c1)
1370 Join Filter: (b2t1.c1 = b2t3.c1)
1372 Join Filter: (b2t1.c1 = b2t2.c1)
1373 -> Tid Scan on t1 b2t1
1374 TID Cond: (ctid = '(1,1)'::tid)
1375 -> Seq Scan on t2 b2t2
1376 Filter: (ctid = '(1,1)'::tid)
1377 -> Tid Scan on t3 b2t3
1378 TID Cond: (ctid = '(1,1)'::tid)
1379 -> Tid Scan on t4 b2t4
1380 TID Cond: (ctid = '(1,1)'::tid)
1381 InitPlan 3 (returns $2)
1384 Join Filter: (b3t1.c1 = b3t4.c1)
1386 Join Filter: (b3t1.c1 = b3t3.c1)
1388 Join Filter: (b3t1.c1 = b3t2.c1)
1389 -> Tid Scan on t1 b3t1
1390 TID Cond: (ctid = '(1,1)'::tid)
1391 -> Seq Scan on t2 b3t2
1392 Filter: (ctid = '(1,1)'::tid)
1393 -> Tid Scan on t3 b3t3
1394 TID Cond: (ctid = '(1,1)'::tid)
1395 -> Tid Scan on t4 b3t4
1396 TID Cond: (ctid = '(1,1)'::tid)
1398 Join Filter: (bmt1.c1 = bmt4.c1)
1400 Join Filter: (bmt1.c1 = bmt3.c1)
1402 Join Filter: (bmt1.c1 = bmt2.c1)
1403 -> Tid Scan on t1 bmt1
1404 TID Cond: (ctid = '(1,1)'::tid)
1405 -> Seq Scan on t2 bmt2
1406 Filter: (ctid = '(1,1)'::tid)
1407 -> Tid Scan on t3 bmt3
1408 TID Cond: (ctid = '(1,1)'::tid)
1409 -> Tid Scan on t4 bmt4
1410 TID Cond: (ctid = '(1,1)'::tid)
1414 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1416 EXPLAIN (COSTS false)
1417 SELECT max(bmt1.c1), (
1418 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)'
1420 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)'
1422 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)'
1424 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)'
1428 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1434 -------------------------------------------------------------------
1436 InitPlan 1 (returns $0)
1439 Join Filter: (b1t2.c1 = b1t1.c1)
1441 Join Filter: (b1t2.c1 = b1t4.c1)
1443 Join Filter: (b1t2.c1 = b1t3.c1)
1444 -> Seq Scan on t2 b1t2
1445 Filter: (ctid = '(1,1)'::tid)
1446 -> Tid Scan on t3 b1t3
1447 TID Cond: (ctid = '(1,1)'::tid)
1448 -> Tid Scan on t4 b1t4
1449 TID Cond: (ctid = '(1,1)'::tid)
1450 -> Tid Scan on t1 b1t1
1451 TID Cond: (ctid = '(1,1)'::tid)
1452 InitPlan 2 (returns $1)
1455 Join Filter: (b2t1.c1 = b2t2.c1)
1457 Join Filter: (b2t3.c1 = b2t1.c1)
1459 Join Filter: (b2t3.c1 = b2t4.c1)
1460 -> Tid Scan on t3 b2t3
1461 TID Cond: (ctid = '(1,1)'::tid)
1462 -> Tid Scan on t4 b2t4
1463 TID Cond: (ctid = '(1,1)'::tid)
1464 -> Tid Scan on t1 b2t1
1465 TID Cond: (ctid = '(1,1)'::tid)
1466 -> Seq Scan on t2 b2t2
1467 Filter: (ctid = '(1,1)'::tid)
1468 InitPlan 3 (returns $2)
1471 Join Filter: (b3t1.c1 = b3t3.c1)
1473 Join Filter: (b3t1.c1 = b3t2.c1)
1475 Join Filter: (b3t1.c1 = b3t4.c1)
1476 -> Tid Scan on t1 b3t1
1477 TID Cond: (ctid = '(1,1)'::tid)
1478 -> Tid Scan on t4 b3t4
1479 TID Cond: (ctid = '(1,1)'::tid)
1480 -> Seq Scan on t2 b3t2
1481 Filter: (ctid = '(1,1)'::tid)
1482 -> Tid Scan on t3 b3t3
1483 TID Cond: (ctid = '(1,1)'::tid)
1485 Join Filter: (bmt1.c1 = bmt4.c1)
1487 Join Filter: (bmt1.c1 = bmt3.c1)
1489 Join Filter: (bmt1.c1 = bmt2.c1)
1490 -> Tid Scan on t1 bmt1
1491 TID Cond: (ctid = '(1,1)'::tid)
1492 -> Seq Scan on t2 bmt2
1493 Filter: (ctid = '(1,1)'::tid)
1494 -> Tid Scan on t3 bmt3
1495 TID Cond: (ctid = '(1,1)'::tid)
1496 -> Tid Scan on t4 bmt4
1497 TID Cond: (ctid = '(1,1)'::tid)
1501 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)';
1503 -----------------------------------------------------------
1506 Join Filter: (bmt1.c1 = bmt4.c1)
1508 Join Filter: (bmt1.c1 = bmt3.c1)
1510 Join Filter: (bmt1.c1 = bmt2.c1)
1511 -> Tid Scan on t1 bmt1
1512 TID Cond: (ctid = '(1,1)'::tid)
1513 -> Seq Scan on t2 bmt2
1514 Filter: (ctid = '(1,1)'::tid)
1515 -> Tid Scan on t3 bmt3
1516 TID Cond: (ctid = '(1,1)'::tid)
1517 -> Tid Scan on t4 bmt4
1518 TID Cond: (ctid = '(1,1)'::tid)
1522 Leading(bmt4 bmt3 bmt2 bmt1)
1524 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)';
1527 Leading(bmt4 bmt3 bmt2 bmt1)
1533 -----------------------------------------------------------
1536 Join Filter: (bmt2.c1 = bmt1.c1)
1538 Join Filter: (bmt3.c1 = bmt2.c1)
1540 Join Filter: (bmt3.c1 = bmt4.c1)
1541 -> Tid Scan on t3 bmt3
1542 TID Cond: (ctid = '(1,1)'::tid)
1543 -> Tid Scan on t4 bmt4
1544 TID Cond: (ctid = '(1,1)'::tid)
1545 -> Seq Scan on t2 bmt2
1546 Filter: (ctid = '(1,1)'::tid)
1547 -> Tid Scan on t1 bmt1
1548 TID Cond: (ctid = '(1,1)'::tid)
1552 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)';
1554 -----------------------------------------------------------
1557 Join Filter: (bmt1.c1 = bmt4.c1)
1559 Join Filter: (bmt1.c1 = bmt3.c1)
1561 Join Filter: (bmt1.c1 = bmt2.c1)
1562 -> Tid Scan on t1 bmt1
1563 TID Cond: (ctid = '(1,1)'::tid)
1564 -> Seq Scan on t2 bmt2
1565 Filter: (ctid = '(1,1)'::tid)
1566 -> Tid Scan on t3 bmt3
1567 TID Cond: (ctid = '(1,1)'::tid)
1568 -> Tid Scan on t4 bmt4
1569 TID Cond: (ctid = '(1,1)'::tid)
1573 Leading(bmt4 bmt3 bmt2 bmt1)
1575 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)';
1578 Leading(bmt4 bmt3 bmt2 bmt1)
1584 -----------------------------------------------------------
1587 Join Filter: (bmt2.c1 = bmt1.c1)
1589 Join Filter: (bmt3.c1 = bmt2.c1)
1591 Join Filter: (bmt3.c1 = bmt4.c1)
1592 -> Tid Scan on t3 bmt3
1593 TID Cond: (ctid = '(1,1)'::tid)
1594 -> Tid Scan on t4 bmt4
1595 TID Cond: (ctid = '(1,1)'::tid)
1596 -> Seq Scan on t2 bmt2
1597 Filter: (ctid = '(1,1)'::tid)
1598 -> Tid Scan on t1 bmt1
1599 TID Cond: (ctid = '(1,1)'::tid)
1603 EXPLAIN (COSTS false)
1604 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)'
1606 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)'
1608 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)'
1612 -------------------------------------------------------------------
1614 InitPlan 1 (returns $0)
1617 Join Filter: (b1t1.c1 = b1t4.c1)
1619 Join Filter: (b1t1.c1 = b1t3.c1)
1621 Join Filter: (b1t1.c1 = b1t2.c1)
1622 -> Tid Scan on t1 b1t1
1623 TID Cond: (ctid = '(1,1)'::tid)
1624 -> Seq Scan on t2 b1t2
1625 Filter: (ctid = '(1,1)'::tid)
1626 -> Tid Scan on t3 b1t3
1627 TID Cond: (ctid = '(1,1)'::tid)
1628 -> Tid Scan on t4 b1t4
1629 TID Cond: (ctid = '(1,1)'::tid)
1630 InitPlan 2 (returns $1)
1633 Join Filter: (b2t1.c1 = b2t4.c1)
1635 Join Filter: (b2t1.c1 = b2t3.c1)
1637 Join Filter: (b2t1.c1 = b2t2.c1)
1638 -> Tid Scan on t1 b2t1
1639 TID Cond: (ctid = '(1,1)'::tid)
1640 -> Seq Scan on t2 b2t2
1641 Filter: (ctid = '(1,1)'::tid)
1642 -> Tid Scan on t3 b2t3
1643 TID Cond: (ctid = '(1,1)'::tid)
1644 -> Tid Scan on t4 b2t4
1645 TID Cond: (ctid = '(1,1)'::tid)
1647 Join Filter: (bmt1.c1 = bmt4.c1)
1649 Join Filter: (bmt1.c1 = bmt3.c1)
1651 Join Filter: (bmt1.c1 = bmt2.c1)
1652 -> Tid Scan on t1 bmt1
1653 TID Cond: (ctid = '(1,1)'::tid)
1654 Filter: ((c1 <> $0) AND (c1 <> $1))
1655 -> Seq Scan on t2 bmt2
1656 Filter: (ctid = '(1,1)'::tid)
1657 -> Tid Scan on t3 bmt3
1658 TID Cond: (ctid = '(1,1)'::tid)
1659 -> Tid Scan on t4 bmt4
1660 TID Cond: (ctid = '(1,1)'::tid)
1664 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1666 EXPLAIN (COSTS false)
1667 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)'
1669 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)'
1671 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)'
1676 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1682 -------------------------------------------------------------------
1684 InitPlan 1 (returns $0)
1687 Join Filter: (b1t2.c1 = b1t1.c1)
1689 Join Filter: (b1t2.c1 = b1t4.c1)
1691 Join Filter: (b1t2.c1 = b1t3.c1)
1692 -> Seq Scan on t2 b1t2
1693 Filter: (ctid = '(1,1)'::tid)
1694 -> Tid Scan on t3 b1t3
1695 TID Cond: (ctid = '(1,1)'::tid)
1696 -> Tid Scan on t4 b1t4
1697 TID Cond: (ctid = '(1,1)'::tid)
1698 -> Tid Scan on t1 b1t1
1699 TID Cond: (ctid = '(1,1)'::tid)
1700 InitPlan 2 (returns $1)
1703 Join Filter: (b2t1.c1 = b2t2.c1)
1705 Join Filter: (b2t3.c1 = b2t1.c1)
1707 Join Filter: (b2t3.c1 = b2t4.c1)
1708 -> Tid Scan on t3 b2t3
1709 TID Cond: (ctid = '(1,1)'::tid)
1710 -> Tid Scan on t4 b2t4
1711 TID Cond: (ctid = '(1,1)'::tid)
1712 -> Tid Scan on t1 b2t1
1713 TID Cond: (ctid = '(1,1)'::tid)
1714 -> Seq Scan on t2 b2t2
1715 Filter: (ctid = '(1,1)'::tid)
1717 Join Filter: (bmt1.c1 = bmt4.c1)
1719 Join Filter: (bmt1.c1 = bmt3.c1)
1721 Join Filter: (bmt1.c1 = bmt2.c1)
1722 -> Tid Scan on t1 bmt1
1723 TID Cond: (ctid = '(1,1)'::tid)
1724 Filter: ((c1 <> $0) AND (c1 <> $1))
1725 -> Seq Scan on t2 bmt2
1726 Filter: (ctid = '(1,1)'::tid)
1727 -> Tid Scan on t3 bmt3
1728 TID Cond: (ctid = '(1,1)'::tid)
1729 -> Tid Scan on t4 bmt4
1730 TID Cond: (ctid = '(1,1)'::tid)
1734 EXPLAIN (COSTS false)
1735 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)'
1737 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)'
1739 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)'
1741 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)'
1745 ------------------------------------------------------------------------------
1747 InitPlan 1 (returns $0)
1750 Join Filter: (b1t1.c1 = b1t4.c1)
1752 Join Filter: (b1t1.c1 = b1t3.c1)
1754 Join Filter: (b1t1.c1 = b1t2.c1)
1755 -> Tid Scan on t1 b1t1
1756 TID Cond: (ctid = '(1,1)'::tid)
1757 -> Seq Scan on t2 b1t2
1758 Filter: (ctid = '(1,1)'::tid)
1759 -> Tid Scan on t3 b1t3
1760 TID Cond: (ctid = '(1,1)'::tid)
1761 -> Tid Scan on t4 b1t4
1762 TID Cond: (ctid = '(1,1)'::tid)
1763 InitPlan 2 (returns $1)
1766 Join Filter: (b2t1.c1 = b2t4.c1)
1768 Join Filter: (b2t1.c1 = b2t3.c1)
1770 Join Filter: (b2t1.c1 = b2t2.c1)
1771 -> Tid Scan on t1 b2t1
1772 TID Cond: (ctid = '(1,1)'::tid)
1773 -> Seq Scan on t2 b2t2
1774 Filter: (ctid = '(1,1)'::tid)
1775 -> Tid Scan on t3 b2t3
1776 TID Cond: (ctid = '(1,1)'::tid)
1777 -> Tid Scan on t4 b2t4
1778 TID Cond: (ctid = '(1,1)'::tid)
1779 InitPlan 3 (returns $2)
1782 Join Filter: (b3t1.c1 = b3t4.c1)
1784 Join Filter: (b3t1.c1 = b3t3.c1)
1786 Join Filter: (b3t1.c1 = b3t2.c1)
1787 -> Tid Scan on t1 b3t1
1788 TID Cond: (ctid = '(1,1)'::tid)
1789 -> Seq Scan on t2 b3t2
1790 Filter: (ctid = '(1,1)'::tid)
1791 -> Tid Scan on t3 b3t3
1792 TID Cond: (ctid = '(1,1)'::tid)
1793 -> Tid Scan on t4 b3t4
1794 TID Cond: (ctid = '(1,1)'::tid)
1796 Join Filter: (bmt1.c1 = bmt4.c1)
1798 Join Filter: (bmt1.c1 = bmt3.c1)
1800 Join Filter: (bmt1.c1 = bmt2.c1)
1801 -> Tid Scan on t1 bmt1
1802 TID Cond: (ctid = '(1,1)'::tid)
1803 Filter: ((c1 <> $0) AND (c1 <> $1) AND (c1 <> $2))
1804 -> Seq Scan on t2 bmt2
1805 Filter: (ctid = '(1,1)'::tid)
1806 -> Tid Scan on t3 bmt3
1807 TID Cond: (ctid = '(1,1)'::tid)
1808 -> Tid Scan on t4 bmt4
1809 TID Cond: (ctid = '(1,1)'::tid)
1813 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1815 EXPLAIN (COSTS false)
1816 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)'
1818 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)'
1820 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)'
1822 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)'
1827 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1833 ------------------------------------------------------------------------------
1835 InitPlan 1 (returns $0)
1838 Join Filter: (b1t2.c1 = b1t1.c1)
1840 Join Filter: (b1t2.c1 = b1t4.c1)
1842 Join Filter: (b1t2.c1 = b1t3.c1)
1843 -> Seq Scan on t2 b1t2
1844 Filter: (ctid = '(1,1)'::tid)
1845 -> Tid Scan on t3 b1t3
1846 TID Cond: (ctid = '(1,1)'::tid)
1847 -> Tid Scan on t4 b1t4
1848 TID Cond: (ctid = '(1,1)'::tid)
1849 -> Tid Scan on t1 b1t1
1850 TID Cond: (ctid = '(1,1)'::tid)
1851 InitPlan 2 (returns $1)
1854 Join Filter: (b2t1.c1 = b2t2.c1)
1856 Join Filter: (b2t3.c1 = b2t1.c1)
1858 Join Filter: (b2t3.c1 = b2t4.c1)
1859 -> Tid Scan on t3 b2t3
1860 TID Cond: (ctid = '(1,1)'::tid)
1861 -> Tid Scan on t4 b2t4
1862 TID Cond: (ctid = '(1,1)'::tid)
1863 -> Tid Scan on t1 b2t1
1864 TID Cond: (ctid = '(1,1)'::tid)
1865 -> Seq Scan on t2 b2t2
1866 Filter: (ctid = '(1,1)'::tid)
1867 InitPlan 3 (returns $2)
1870 Join Filter: (b3t1.c1 = b3t3.c1)
1872 Join Filter: (b3t1.c1 = b3t2.c1)
1874 Join Filter: (b3t1.c1 = b3t4.c1)
1875 -> Tid Scan on t1 b3t1
1876 TID Cond: (ctid = '(1,1)'::tid)
1877 -> Tid Scan on t4 b3t4
1878 TID Cond: (ctid = '(1,1)'::tid)
1879 -> Seq Scan on t2 b3t2
1880 Filter: (ctid = '(1,1)'::tid)
1881 -> Tid Scan on t3 b3t3
1882 TID Cond: (ctid = '(1,1)'::tid)
1884 Join Filter: (bmt1.c1 = bmt4.c1)
1886 Join Filter: (bmt1.c1 = bmt3.c1)
1888 Join Filter: (bmt1.c1 = bmt2.c1)
1889 -> Tid Scan on t1 bmt1
1890 TID Cond: (ctid = '(1,1)'::tid)
1891 Filter: ((c1 <> $0) AND (c1 <> $1) AND (c1 <> $2))
1892 -> Seq Scan on t2 bmt2
1893 Filter: (ctid = '(1,1)'::tid)
1894 -> Tid Scan on t3 bmt3
1895 TID Cond: (ctid = '(1,1)'::tid)
1896 -> Tid Scan on t4 bmt4
1897 TID Cond: (ctid = '(1,1)'::tid)
1901 EXPLAIN (COSTS false)
1903 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)'
1906 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)'
1908 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1910 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)'
1915 -----------------------------------------------------------------------
1920 Join Filter: (b1t1.c1 = b1t4.c1)
1922 Join Filter: (b1t1.c1 = b1t3.c1)
1924 Join Filter: (b1t1.c1 = b1t2.c1)
1925 -> Tid Scan on t1 b1t1
1926 TID Cond: (ctid = '(1,1)'::tid)
1927 -> Seq Scan on t2 b1t2
1928 Filter: (ctid = '(1,1)'::tid)
1929 -> Tid Scan on t3 b1t3
1930 TID Cond: (ctid = '(1,1)'::tid)
1931 -> Tid Scan on t4 b1t4
1932 TID Cond: (ctid = '(1,1)'::tid)
1936 Join Filter: (b2t1.c1 = b2t4.c1)
1938 Join Filter: (b2t1.c1 = b2t3.c1)
1940 Join Filter: (b2t1.c1 = b2t2.c1)
1941 -> Tid Scan on t1 b2t1
1942 TID Cond: (ctid = '(1,1)'::tid)
1943 -> Seq Scan on t2 b2t2
1944 Filter: (ctid = '(1,1)'::tid)
1945 -> Tid Scan on t3 b2t3
1946 TID Cond: (ctid = '(1,1)'::tid)
1947 -> Tid Scan on t4 b2t4
1948 TID Cond: (ctid = '(1,1)'::tid)
1950 Join Filter: (bmt1.c1 = c2.c1)
1952 Join Filter: (bmt1.c1 = c1.c1)
1954 Join Filter: (bmt1.c1 = bmt4.c1)
1956 Join Filter: (bmt1.c1 = bmt3.c1)
1958 Join Filter: (bmt1.c1 = bmt2.c1)
1959 -> Tid Scan on t1 bmt1
1960 TID Cond: (ctid = '(1,1)'::tid)
1961 -> Seq Scan on t2 bmt2
1962 Filter: (ctid = '(1,1)'::tid)
1963 -> Tid Scan on t3 bmt3
1964 TID Cond: (ctid = '(1,1)'::tid)
1965 -> Tid Scan on t4 bmt4
1966 TID Cond: (ctid = '(1,1)'::tid)
1972 Leading(c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1974 EXPLAIN (COSTS false)
1976 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)'
1979 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)'
1981 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1983 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)'
1989 Leading(c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1995 -------------------------------------------------------------------
2000 Join Filter: (b1t2.c1 = b1t1.c1)
2002 Join Filter: (b1t2.c1 = b1t4.c1)
2004 Join Filter: (b1t2.c1 = b1t3.c1)
2005 -> Seq Scan on t2 b1t2
2006 Filter: (ctid = '(1,1)'::tid)
2007 -> Tid Scan on t3 b1t3
2008 TID Cond: (ctid = '(1,1)'::tid)
2009 -> Tid Scan on t4 b1t4
2010 TID Cond: (ctid = '(1,1)'::tid)
2011 -> Tid Scan on t1 b1t1
2012 TID Cond: (ctid = '(1,1)'::tid)
2016 Join Filter: (b2t1.c1 = b2t2.c1)
2018 Join Filter: (b2t3.c1 = b2t1.c1)
2020 Join Filter: (b2t3.c1 = b2t4.c1)
2021 -> Tid Scan on t3 b2t3
2022 TID Cond: (ctid = '(1,1)'::tid)
2023 -> Tid Scan on t4 b2t4
2024 TID Cond: (ctid = '(1,1)'::tid)
2025 -> Tid Scan on t1 b2t1
2026 TID Cond: (ctid = '(1,1)'::tid)
2027 -> Seq Scan on t2 b2t2
2028 Filter: (ctid = '(1,1)'::tid)
2030 Join Filter: (bmt1.c1 = bmt4.c1)
2032 Join Filter: (bmt1.c1 = bmt3.c1)
2034 Join Filter: (bmt1.c1 = bmt2.c1)
2036 Join Filter: (c1.c1 = bmt1.c1)
2038 Join Filter: (c1.c1 = c2.c1)
2041 -> Tid Scan on t1 bmt1
2042 TID Cond: (ctid = '(1,1)'::tid)
2043 -> Seq Scan on t2 bmt2
2044 Filter: (ctid = '(1,1)'::tid)
2045 -> Tid Scan on t3 bmt3
2046 TID Cond: (ctid = '(1,1)'::tid)
2047 -> Tid Scan on t4 bmt4
2048 TID Cond: (ctid = '(1,1)'::tid)
2052 EXPLAIN (COSTS false)
2054 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)'
2057 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)'
2060 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)'
2062 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
2064 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)'
2070 -----------------------------------------------------------------------------
2075 Join Filter: (b1t1.c1 = b1t4.c1)
2077 Join Filter: (b1t1.c1 = b1t3.c1)
2079 Join Filter: (b1t1.c1 = b1t2.c1)
2080 -> Tid Scan on t1 b1t1
2081 TID Cond: (ctid = '(1,1)'::tid)
2082 -> Seq Scan on t2 b1t2
2083 Filter: (ctid = '(1,1)'::tid)
2084 -> Tid Scan on t3 b1t3
2085 TID Cond: (ctid = '(1,1)'::tid)
2086 -> Tid Scan on t4 b1t4
2087 TID Cond: (ctid = '(1,1)'::tid)
2091 Join Filter: (b2t1.c1 = b2t4.c1)
2093 Join Filter: (b2t1.c1 = b2t3.c1)
2095 Join Filter: (b2t1.c1 = b2t2.c1)
2096 -> Tid Scan on t1 b2t1
2097 TID Cond: (ctid = '(1,1)'::tid)
2098 -> Seq Scan on t2 b2t2
2099 Filter: (ctid = '(1,1)'::tid)
2100 -> Tid Scan on t3 b2t3
2101 TID Cond: (ctid = '(1,1)'::tid)
2102 -> Tid Scan on t4 b2t4
2103 TID Cond: (ctid = '(1,1)'::tid)
2107 Join Filter: (b3t1.c1 = b3t4.c1)
2109 Join Filter: (b3t1.c1 = b3t3.c1)
2111 Join Filter: (b3t1.c1 = b3t2.c1)
2112 -> Tid Scan on t1 b3t1
2113 TID Cond: (ctid = '(1,1)'::tid)
2114 -> Seq Scan on t2 b3t2
2115 Filter: (ctid = '(1,1)'::tid)
2116 -> Tid Scan on t3 b3t3
2117 TID Cond: (ctid = '(1,1)'::tid)
2118 -> Tid Scan on t4 b3t4
2119 TID Cond: (ctid = '(1,1)'::tid)
2121 Join Filter: (bmt1.c1 = c3.c1)
2123 Join Filter: (bmt1.c1 = c2.c1)
2125 Join Filter: (bmt1.c1 = c1.c1)
2127 Join Filter: (bmt1.c1 = bmt4.c1)
2129 Join Filter: (bmt1.c1 = bmt3.c1)
2131 Join Filter: (bmt1.c1 = bmt2.c1)
2132 -> Tid Scan on t1 bmt1
2133 TID Cond: (ctid = '(1,1)'::tid)
2134 -> Seq Scan on t2 bmt2
2135 Filter: (ctid = '(1,1)'::tid)
2136 -> Tid Scan on t3 bmt3
2137 TID Cond: (ctid = '(1,1)'::tid)
2138 -> Tid Scan on t4 bmt4
2139 TID Cond: (ctid = '(1,1)'::tid)
2146 Leading(c3 c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
2148 EXPLAIN (COSTS false)
2150 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)'
2153 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)'
2156 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)'
2158 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
2160 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)'
2167 Leading(c3 c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
2173 --------------------------------------------------------------------
2178 Join Filter: (b1t2.c1 = b1t1.c1)
2180 Join Filter: (b1t2.c1 = b1t4.c1)
2182 Join Filter: (b1t2.c1 = b1t3.c1)
2183 -> Seq Scan on t2 b1t2
2184 Filter: (ctid = '(1,1)'::tid)
2185 -> Tid Scan on t3 b1t3
2186 TID Cond: (ctid = '(1,1)'::tid)
2187 -> Tid Scan on t4 b1t4
2188 TID Cond: (ctid = '(1,1)'::tid)
2189 -> Tid Scan on t1 b1t1
2190 TID Cond: (ctid = '(1,1)'::tid)
2194 Join Filter: (b2t1.c1 = b2t2.c1)
2196 Join Filter: (b2t3.c1 = b2t1.c1)
2198 Join Filter: (b2t3.c1 = b2t4.c1)
2199 -> Tid Scan on t3 b2t3
2200 TID Cond: (ctid = '(1,1)'::tid)
2201 -> Tid Scan on t4 b2t4
2202 TID Cond: (ctid = '(1,1)'::tid)
2203 -> Tid Scan on t1 b2t1
2204 TID Cond: (ctid = '(1,1)'::tid)
2205 -> Seq Scan on t2 b2t2
2206 Filter: (ctid = '(1,1)'::tid)
2210 Join Filter: (b3t1.c1 = b3t3.c1)
2212 Join Filter: (b3t1.c1 = b3t2.c1)
2214 Join Filter: (b3t1.c1 = b3t4.c1)
2215 -> Tid Scan on t1 b3t1
2216 TID Cond: (ctid = '(1,1)'::tid)
2217 -> Tid Scan on t4 b3t4
2218 TID Cond: (ctid = '(1,1)'::tid)
2219 -> Seq Scan on t2 b3t2
2220 Filter: (ctid = '(1,1)'::tid)
2221 -> Tid Scan on t3 b3t3
2222 TID Cond: (ctid = '(1,1)'::tid)
2224 Join Filter: (bmt1.c1 = bmt4.c1)
2226 Join Filter: (bmt1.c1 = bmt3.c1)
2228 Join Filter: (bmt1.c1 = bmt2.c1)
2230 Join Filter: (c1.c1 = bmt1.c1)
2232 Join Filter: (c2.c1 = c1.c1)
2234 Join Filter: (c2.c1 = c3.c1)
2238 -> Tid Scan on t1 bmt1
2239 TID Cond: (ctid = '(1,1)'::tid)
2240 -> Seq Scan on t2 bmt2
2241 Filter: (ctid = '(1,1)'::tid)
2242 -> Tid Scan on t3 bmt3
2243 TID Cond: (ctid = '(1,1)'::tid)
2244 -> Tid Scan on t4 bmt4
2245 TID Cond: (ctid = '(1,1)'::tid)
2249 ---- No. L-2-2 the number of the tables per quiry block
2252 EXPLAIN (COSTS false)
2254 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
2256 SELECT max(bmt1.c1), (
2257 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2259 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
2261 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
2265 -----------------------------------------------------------------
2269 InitPlan 1 (returns $0)
2271 -> Tid Scan on t1 b1t1
2272 TID Cond: (ctid = '(1,1)'::tid)
2273 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2274 InitPlan 4 (returns $3)
2276 InitPlan 3 (returns $2)
2278 -> Tid Scan on t1 b2t1
2279 TID Cond: (ctid = '(1,1)'::tid)
2280 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2281 InitPlan 6 (returns $5)
2283 InitPlan 5 (returns $4)
2285 -> Tid Scan on t1 b3t1
2286 TID Cond: (ctid = '(1,1)'::tid)
2287 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2289 -> Tid Scan on t1 bmt1
2290 TID Cond: (ctid = '(1,1)'::tid)
2291 Filter: ((c1 <> $5) AND (c1 = 1))
2296 Leading(c1 bmt1 b1t1 b2t1 b3t1)
2298 EXPLAIN (COSTS false)
2300 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
2302 SELECT max(bmt1.c1), (
2303 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2305 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
2307 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
2312 Leading(c1 bmt1 b1t1 b2t1 b3t1)
2318 -----------------------------------------------------------------
2322 InitPlan 1 (returns $0)
2324 -> Tid Scan on t1 b1t1
2325 TID Cond: (ctid = '(1,1)'::tid)
2326 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2327 InitPlan 4 (returns $3)
2329 InitPlan 3 (returns $2)
2331 -> Tid Scan on t1 b2t1
2332 TID Cond: (ctid = '(1,1)'::tid)
2333 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2334 InitPlan 6 (returns $5)
2336 InitPlan 5 (returns $4)
2338 -> Tid Scan on t1 b3t1
2339 TID Cond: (ctid = '(1,1)'::tid)
2340 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2342 -> Tid Scan on t1 bmt1
2343 TID Cond: (ctid = '(1,1)'::tid)
2344 Filter: ((c1 <> $5) AND (c1 = 1))
2349 EXPLAIN (COSTS false)
2351 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)'
2353 SELECT max(bmt1.c1), (
2354 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)'
2356 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
2359 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)'
2363 -------------------------------------------------------
2368 Join Filter: (b1t1.c1 = b1t2.c1)
2369 -> Tid Scan on t1 b1t1
2370 TID Cond: (ctid = '(1,1)'::tid)
2371 -> Seq Scan on t2 b1t2
2372 Filter: (ctid = '(1,1)'::tid)
2373 InitPlan 2 (returns $1)
2376 Join Filter: (b2t1.c1 = b2t2.c1)
2377 -> Tid Scan on t1 b2t1
2378 TID Cond: (ctid = '(1,1)'::tid)
2379 -> Seq Scan on t2 b2t2
2380 Filter: (ctid = '(1,1)'::tid)
2381 InitPlan 3 (returns $2)
2384 Join Filter: (b3t1.c1 = b3t2.c1)
2385 -> Tid Scan on t1 b3t1
2386 TID Cond: (ctid = '(1,1)'::tid)
2387 -> Seq Scan on t2 b3t2
2388 Filter: (ctid = '(1,1)'::tid)
2390 Join Filter: (bmt1.c1 = c1.c1)
2392 Join Filter: (bmt1.c1 = bmt2.c1)
2393 -> Tid Scan on t1 bmt1
2394 TID Cond: (ctid = '(1,1)'::tid)
2396 -> Seq Scan on t2 bmt2
2397 Filter: (ctid = '(1,1)'::tid)
2402 Leading(c1 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2404 EXPLAIN (COSTS false)
2406 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)'
2408 SELECT max(bmt1.c1), (
2409 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)'
2411 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
2414 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)'
2419 Leading(c1 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2425 -------------------------------------------------------
2430 Join Filter: (b1t1.c1 = b1t2.c1)
2431 -> Tid Scan on t1 b1t1
2432 TID Cond: (ctid = '(1,1)'::tid)
2433 -> Seq Scan on t2 b1t2
2434 Filter: (ctid = '(1,1)'::tid)
2435 InitPlan 2 (returns $1)
2438 Join Filter: (b2t1.c1 = b2t2.c1)
2439 -> Tid Scan on t1 b2t1
2440 TID Cond: (ctid = '(1,1)'::tid)
2441 -> Seq Scan on t2 b2t2
2442 Filter: (ctid = '(1,1)'::tid)
2443 InitPlan 3 (returns $2)
2446 Join Filter: (b3t1.c1 = b3t2.c1)
2447 -> Tid Scan on t1 b3t1
2448 TID Cond: (ctid = '(1,1)'::tid)
2449 -> Seq Scan on t2 b3t2
2450 Filter: (ctid = '(1,1)'::tid)
2452 Join Filter: (bmt2.c1 = bmt1.c1)
2454 Join Filter: (bmt2.c1 = c1.c1)
2455 -> Seq Scan on t2 bmt2
2456 Filter: (ctid = '(1,1)'::tid)
2458 -> Tid Scan on t1 bmt1
2459 TID Cond: (ctid = '(1,1)'::tid)
2464 EXPLAIN (COSTS false)
2466 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)'
2468 SELECT max(bmt1.c1), (
2469 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)'
2471 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
2473 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)'
2477 -------------------------------------------------------------------
2482 Join Filter: (b1t1.c1 = b1t4.c1)
2484 Join Filter: (b1t1.c1 = b1t3.c1)
2486 Join Filter: (b1t1.c1 = b1t2.c1)
2487 -> Tid Scan on t1 b1t1
2488 TID Cond: (ctid = '(1,1)'::tid)
2489 -> Seq Scan on t2 b1t2
2490 Filter: (ctid = '(1,1)'::tid)
2491 -> Tid Scan on t3 b1t3
2492 TID Cond: (ctid = '(1,1)'::tid)
2493 -> Tid Scan on t4 b1t4
2494 TID Cond: (ctid = '(1,1)'::tid)
2495 InitPlan 2 (returns $1)
2498 Join Filter: (b2t1.c1 = b2t4.c1)
2500 Join Filter: (b2t1.c1 = b2t3.c1)
2502 Join Filter: (b2t1.c1 = b2t2.c1)
2503 -> Tid Scan on t1 b2t1
2504 TID Cond: (ctid = '(1,1)'::tid)
2505 -> Seq Scan on t2 b2t2
2506 Filter: (ctid = '(1,1)'::tid)
2507 -> Tid Scan on t3 b2t3
2508 TID Cond: (ctid = '(1,1)'::tid)
2509 -> Tid Scan on t4 b2t4
2510 TID Cond: (ctid = '(1,1)'::tid)
2511 InitPlan 3 (returns $2)
2514 Join Filter: (b3t1.c1 = b3t4.c1)
2516 Join Filter: (b3t1.c1 = b3t3.c1)
2518 Join Filter: (b3t1.c1 = b3t2.c1)
2519 -> Tid Scan on t1 b3t1
2520 TID Cond: (ctid = '(1,1)'::tid)
2521 -> Seq Scan on t2 b3t2
2522 Filter: (ctid = '(1,1)'::tid)
2523 -> Tid Scan on t3 b3t3
2524 TID Cond: (ctid = '(1,1)'::tid)
2525 -> Tid Scan on t4 b3t4
2526 TID Cond: (ctid = '(1,1)'::tid)
2528 Join Filter: (bmt1.c1 = c1.c1)
2530 Join Filter: (bmt1.c1 = bmt4.c1)
2532 Join Filter: (bmt1.c1 = bmt3.c1)
2534 Join Filter: (bmt1.c1 = bmt2.c1)
2535 -> Tid Scan on t1 bmt1
2536 TID Cond: (ctid = '(1,1)'::tid)
2538 -> Seq Scan on t2 bmt2
2539 Filter: (ctid = '(1,1)'::tid)
2540 -> Tid Scan on t3 bmt3
2541 TID Cond: (ctid = '(1,1)'::tid)
2542 -> Tid Scan on t4 bmt4
2543 TID Cond: (ctid = '(1,1)'::tid)
2548 Leading(c1 bmt4 b1t4 b2t4 b3t4 bmt3 b1t3 b2t3 b3t3 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2550 EXPLAIN (COSTS false)
2552 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)'
2554 SELECT max(bmt1.c1), (
2555 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)'
2557 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
2559 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)'
2564 Leading(c1 bmt4 b1t4 b2t4 b3t4 bmt3 b1t3 b2t3 b3t3 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2570 -------------------------------------------------------------------
2575 Join Filter: (b1t2.c1 = b1t1.c1)
2577 Join Filter: (b1t3.c1 = b1t2.c1)
2579 Join Filter: (b1t3.c1 = b1t4.c1)
2580 -> Tid Scan on t3 b1t3
2581 TID Cond: (ctid = '(1,1)'::tid)
2582 -> Tid Scan on t4 b1t4
2583 TID Cond: (ctid = '(1,1)'::tid)
2584 -> Seq Scan on t2 b1t2
2585 Filter: (ctid = '(1,1)'::tid)
2586 -> Tid Scan on t1 b1t1
2587 TID Cond: (ctid = '(1,1)'::tid)
2588 InitPlan 2 (returns $1)
2591 Join Filter: (b2t2.c1 = b2t1.c1)
2593 Join Filter: (b2t3.c1 = b2t2.c1)
2595 Join Filter: (b2t3.c1 = b2t4.c1)
2596 -> Tid Scan on t3 b2t3
2597 TID Cond: (ctid = '(1,1)'::tid)
2598 -> Tid Scan on t4 b2t4
2599 TID Cond: (ctid = '(1,1)'::tid)
2600 -> Seq Scan on t2 b2t2
2601 Filter: (ctid = '(1,1)'::tid)
2602 -> Tid Scan on t1 b2t1
2603 TID Cond: (ctid = '(1,1)'::tid)
2604 InitPlan 3 (returns $2)
2607 Join Filter: (b3t2.c1 = b3t1.c1)
2609 Join Filter: (b3t3.c1 = b3t2.c1)
2611 Join Filter: (b3t3.c1 = b3t4.c1)
2612 -> Tid Scan on t3 b3t3
2613 TID Cond: (ctid = '(1,1)'::tid)
2614 -> Tid Scan on t4 b3t4
2615 TID Cond: (ctid = '(1,1)'::tid)
2616 -> Seq Scan on t2 b3t2
2617 Filter: (ctid = '(1,1)'::tid)
2618 -> Tid Scan on t1 b3t1
2619 TID Cond: (ctid = '(1,1)'::tid)
2621 Join Filter: (bmt2.c1 = bmt1.c1)
2623 Join Filter: (bmt3.c1 = bmt2.c1)
2625 Join Filter: (bmt4.c1 = bmt3.c1)
2627 Join Filter: (bmt4.c1 = c1.c1)
2628 -> Tid Scan on t4 bmt4
2629 TID Cond: (ctid = '(1,1)'::tid)
2631 -> Tid Scan on t3 bmt3
2632 TID Cond: (ctid = '(1,1)'::tid)
2633 -> Seq Scan on t2 bmt2
2634 Filter: (ctid = '(1,1)'::tid)
2635 -> Tid Scan on t1 bmt1
2636 TID Cond: (ctid = '(1,1)'::tid)
2641 EXPLAIN (COSTS false)
2643 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)'
2645 SELECT max(bmt1.c1), (
2646 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2648 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
2650 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2654 -------------------------------------------------------------------
2659 Join Filter: (b1t1.c1 = b1t4.c1)
2661 Join Filter: (b1t1.c1 = b1t3.c1)
2663 Join Filter: (b1t1.c1 = b1t2.c1)
2664 -> Tid Scan on t1 b1t1
2665 TID Cond: (ctid = '(1,1)'::tid)
2666 -> Seq Scan on t2 b1t2
2667 Filter: (ctid = '(1,1)'::tid)
2668 -> Tid Scan on t3 b1t3
2669 TID Cond: (ctid = '(1,1)'::tid)
2670 -> Tid Scan on t4 b1t4
2671 TID Cond: (ctid = '(1,1)'::tid)
2672 InitPlan 3 (returns $2)
2674 InitPlan 2 (returns $1)
2676 -> Tid Scan on t1 b2t1
2677 TID Cond: (ctid = '(1,1)'::tid)
2678 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2679 InitPlan 4 (returns $3)
2681 -> Tid Scan on t1 b3t1
2682 TID Cond: (ctid = '(1,1)'::tid)
2684 Join Filter: (bmt1.c1 = c1.c1)
2686 Join Filter: (bmt1.c1 = bmt4.c1)
2688 Join Filter: (bmt1.c1 = bmt3.c1)
2690 Join Filter: (bmt1.c1 = bmt2.c1)
2691 -> Tid Scan on t1 bmt1
2692 TID Cond: (ctid = '(1,1)'::tid)
2694 -> Seq Scan on t2 bmt2
2695 Filter: (ctid = '(1,1)'::tid)
2696 -> Tid Scan on t3 bmt3
2697 TID Cond: (ctid = '(1,1)'::tid)
2698 -> Tid Scan on t4 bmt4
2699 TID Cond: (ctid = '(1,1)'::tid)
2704 Leading(c1 bmt4 b1t4 bmt3 b1t3 bmt2 b1t2 bmt1 b1t1 b2t1 b3t1)
2706 EXPLAIN (COSTS false)
2708 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)'
2710 SELECT max(bmt1.c1), (
2711 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2713 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
2715 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2720 Leading(c1 bmt4 b1t4 bmt3 b1t3 bmt2 b1t2 bmt1 b1t1 b2t1 b3t1)
2726 -------------------------------------------------------------------
2731 Join Filter: (b1t2.c1 = b1t1.c1)
2733 Join Filter: (b1t3.c1 = b1t2.c1)
2735 Join Filter: (b1t3.c1 = b1t4.c1)
2736 -> Tid Scan on t3 b1t3
2737 TID Cond: (ctid = '(1,1)'::tid)
2738 -> Tid Scan on t4 b1t4
2739 TID Cond: (ctid = '(1,1)'::tid)
2740 -> Seq Scan on t2 b1t2
2741 Filter: (ctid = '(1,1)'::tid)
2742 -> Tid Scan on t1 b1t1
2743 TID Cond: (ctid = '(1,1)'::tid)
2744 InitPlan 3 (returns $2)
2746 InitPlan 2 (returns $1)
2748 -> Tid Scan on t1 b2t1
2749 TID Cond: (ctid = '(1,1)'::tid)
2750 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2751 InitPlan 4 (returns $3)
2753 -> Tid Scan on t1 b3t1
2754 TID Cond: (ctid = '(1,1)'::tid)
2756 Join Filter: (bmt2.c1 = bmt1.c1)
2758 Join Filter: (bmt3.c1 = bmt2.c1)
2760 Join Filter: (bmt4.c1 = bmt3.c1)
2762 Join Filter: (bmt4.c1 = c1.c1)
2763 -> Tid Scan on t4 bmt4
2764 TID Cond: (ctid = '(1,1)'::tid)
2766 -> Tid Scan on t3 bmt3
2767 TID Cond: (ctid = '(1,1)'::tid)
2768 -> Seq Scan on t2 bmt2
2769 Filter: (ctid = '(1,1)'::tid)
2770 -> Tid Scan on t1 bmt1
2771 TID Cond: (ctid = '(1,1)'::tid)
2776 ---- No. L-2-3 RULE or VIEW
2779 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2781 -----------------------------------------------------------------
2784 Join Filter: (t1.c1 = t4.c1)
2786 Join Filter: (t1.c1 = t3.c1)
2788 Join Filter: (t1.c1 = t2.c1)
2791 TID Cond: (ctid = '(1,1)'::tid)
2794 TID Cond: (ctid = '(1,1)'::tid)
2796 Filter: (ctid = '(1,1)'::tid)
2798 TID Cond: (ctid = '(1,1)'::tid)
2800 TID Cond: (ctid = '(1,1)'::tid)
2803 /*+ Leading(t4 t3 t2 t1 r1) */
2804 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2807 Leading(t4 t3 t2 t1 r1)
2813 -----------------------------------------------------------------
2817 Join Filter: (t2.c1 = t1.c1)
2819 Join Filter: (t3.c1 = t2.c1)
2821 Join Filter: (t3.c1 = t4.c1)
2823 TID Cond: (ctid = '(1,1)'::tid)
2825 TID Cond: (ctid = '(1,1)'::tid)
2827 Filter: (ctid = '(1,1)'::tid)
2829 TID Cond: (ctid = '(1,1)'::tid)
2831 TID Cond: (ctid = '(1,1)'::tid)
2835 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2837 -----------------------------------------------------------------
2840 Join Filter: (b1t1.c1 = b1t4.c1)
2842 Join Filter: (b1t1.c1 = b1t3.c1)
2844 Join Filter: (b1t1.c1 = b1t2.c1)
2847 TID Cond: (ctid = '(1,1)'::tid)
2849 -> Tid Scan on t1 b1t1
2850 TID Cond: (ctid = '(1,1)'::tid)
2851 -> Seq Scan on t2 b1t2
2852 Filter: (ctid = '(1,1)'::tid)
2853 -> Tid Scan on t3 b1t3
2854 TID Cond: (ctid = '(1,1)'::tid)
2855 -> Tid Scan on t4 b1t4
2856 TID Cond: (ctid = '(1,1)'::tid)
2859 /*+ Leading(b1t1 b1t2 b1t3 b1t4 r1_) */
2860 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2863 Leading(b1t1 b1t2 b1t3 b1t4 r1_)
2869 -----------------------------------------------------------------
2873 Join Filter: (b1t1.c1 = b1t4.c1)
2875 Join Filter: (b1t1.c1 = b1t3.c1)
2877 Join Filter: (b1t1.c1 = b1t2.c1)
2878 -> Tid Scan on t1 b1t1
2879 TID Cond: (ctid = '(1,1)'::tid)
2880 -> Seq Scan on t2 b1t2
2881 Filter: (ctid = '(1,1)'::tid)
2882 -> Tid Scan on t3 b1t3
2883 TID Cond: (ctid = '(1,1)'::tid)
2884 -> Tid Scan on t4 b1t4
2885 TID Cond: (ctid = '(1,1)'::tid)
2887 TID Cond: (ctid = '(1,1)'::tid)
2892 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2894 -----------------------------------------------------------------
2897 Join Filter: (t1.c1 = t4.c1)
2899 Join Filter: (t1.c1 = t3.c1)
2901 Join Filter: (t1.c1 = t2.c1)
2904 TID Cond: (ctid = '(1,1)'::tid)
2907 TID Cond: (ctid = '(1,1)'::tid)
2909 Filter: (ctid = '(1,1)'::tid)
2911 TID Cond: (ctid = '(1,1)'::tid)
2913 TID Cond: (ctid = '(1,1)'::tid)
2917 Join Filter: (t1.c1 = t4.c1)
2919 Join Filter: (t1.c1 = t3.c1)
2921 Join Filter: (t1.c1 = t2.c1)
2924 TID Cond: (ctid = '(1,1)'::tid)
2927 TID Cond: (ctid = '(1,1)'::tid)
2929 Filter: (ctid = '(1,1)'::tid)
2931 TID Cond: (ctid = '(1,1)'::tid)
2933 TID Cond: (ctid = '(1,1)'::tid)
2936 /*+ Leading(t4 t3 t2 t1 r2) */
2937 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2940 Leading(t4 t3 t2 t1 r2)
2947 Leading(t4 t3 t2 t1 r2)
2953 -----------------------------------------------------------------
2957 Join Filter: (t2.c1 = t1.c1)
2959 Join Filter: (t3.c1 = t2.c1)
2961 Join Filter: (t3.c1 = t4.c1)
2963 TID Cond: (ctid = '(1,1)'::tid)
2965 TID Cond: (ctid = '(1,1)'::tid)
2967 Filter: (ctid = '(1,1)'::tid)
2969 TID Cond: (ctid = '(1,1)'::tid)
2971 TID Cond: (ctid = '(1,1)'::tid)
2977 Join Filter: (t2.c1 = t1.c1)
2979 Join Filter: (t3.c1 = t2.c1)
2981 Join Filter: (t3.c1 = t4.c1)
2983 TID Cond: (ctid = '(1,1)'::tid)
2985 TID Cond: (ctid = '(1,1)'::tid)
2987 Filter: (ctid = '(1,1)'::tid)
2989 TID Cond: (ctid = '(1,1)'::tid)
2991 TID Cond: (ctid = '(1,1)'::tid)
2995 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2997 -----------------------------------------------------------------
3000 Join Filter: (b1t1.c1 = b1t4.c1)
3002 Join Filter: (b1t1.c1 = b1t3.c1)
3004 Join Filter: (b1t1.c1 = b1t2.c1)
3007 TID Cond: (ctid = '(1,1)'::tid)
3009 -> Tid Scan on t1 b1t1
3010 TID Cond: (ctid = '(1,1)'::tid)
3011 -> Seq Scan on t2 b1t2
3012 Filter: (ctid = '(1,1)'::tid)
3013 -> Tid Scan on t3 b1t3
3014 TID Cond: (ctid = '(1,1)'::tid)
3015 -> Tid Scan on t4 b1t4
3016 TID Cond: (ctid = '(1,1)'::tid)
3020 Join Filter: (b2t1.c1 = b2t4.c1)
3022 Join Filter: (b2t1.c1 = b2t3.c1)
3024 Join Filter: (b2t1.c1 = b2t2.c1)
3027 TID Cond: (ctid = '(1,1)'::tid)
3029 -> Tid Scan on t1 b2t1
3030 TID Cond: (ctid = '(1,1)'::tid)
3031 -> Seq Scan on t2 b2t2
3032 Filter: (ctid = '(1,1)'::tid)
3033 -> Tid Scan on t3 b2t3
3034 TID Cond: (ctid = '(1,1)'::tid)
3035 -> Tid Scan on t4 b2t4
3036 TID Cond: (ctid = '(1,1)'::tid)
3041 b2t1 b2t2 b2t3 b2t4 r2_
3043 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3046 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 r2_)
3053 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 r2_)
3059 -----------------------------------------------------------------
3063 Join Filter: (b1t1.c1 = b1t4.c1)
3065 Join Filter: (b1t1.c1 = b1t3.c1)
3067 Join Filter: (b1t1.c1 = b1t2.c1)
3068 -> Tid Scan on t1 b1t1
3069 TID Cond: (ctid = '(1,1)'::tid)
3070 -> Seq Scan on t2 b1t2
3071 Filter: (ctid = '(1,1)'::tid)
3072 -> Tid Scan on t3 b1t3
3073 TID Cond: (ctid = '(1,1)'::tid)
3074 -> Tid Scan on t4 b1t4
3075 TID Cond: (ctid = '(1,1)'::tid)
3077 TID Cond: (ctid = '(1,1)'::tid)
3083 Join Filter: (b2t1.c1 = b2t4.c1)
3085 Join Filter: (b2t1.c1 = b2t3.c1)
3087 Join Filter: (b2t1.c1 = b2t2.c1)
3088 -> Tid Scan on t1 b2t1
3089 TID Cond: (ctid = '(1,1)'::tid)
3090 -> Seq Scan on t2 b2t2
3091 Filter: (ctid = '(1,1)'::tid)
3092 -> Tid Scan on t3 b2t3
3093 TID Cond: (ctid = '(1,1)'::tid)
3094 -> Tid Scan on t4 b2t4
3095 TID Cond: (ctid = '(1,1)'::tid)
3097 TID Cond: (ctid = '(1,1)'::tid)
3102 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3104 -----------------------------------------------------------------
3107 Join Filter: (t1.c1 = t4.c1)
3109 Join Filter: (t1.c1 = t3.c1)
3111 Join Filter: (t1.c1 = t2.c1)
3114 TID Cond: (ctid = '(1,1)'::tid)
3117 TID Cond: (ctid = '(1,1)'::tid)
3119 Filter: (ctid = '(1,1)'::tid)
3121 TID Cond: (ctid = '(1,1)'::tid)
3123 TID Cond: (ctid = '(1,1)'::tid)
3127 Join Filter: (t1.c1 = t4.c1)
3129 Join Filter: (t1.c1 = t3.c1)
3131 Join Filter: (t1.c1 = t2.c1)
3134 TID Cond: (ctid = '(1,1)'::tid)
3137 TID Cond: (ctid = '(1,1)'::tid)
3139 Filter: (ctid = '(1,1)'::tid)
3141 TID Cond: (ctid = '(1,1)'::tid)
3143 TID Cond: (ctid = '(1,1)'::tid)
3147 Join Filter: (t1.c1 = t4.c1)
3149 Join Filter: (t1.c1 = t3.c1)
3151 Join Filter: (t1.c1 = t2.c1)
3154 TID Cond: (ctid = '(1,1)'::tid)
3157 TID Cond: (ctid = '(1,1)'::tid)
3159 Filter: (ctid = '(1,1)'::tid)
3161 TID Cond: (ctid = '(1,1)'::tid)
3163 TID Cond: (ctid = '(1,1)'::tid)
3166 /*+ Leading(t4 t3 t2 t1 r3) */
3167 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3170 Leading(t4 t3 t2 t1 r3)
3177 Leading(t4 t3 t2 t1 r3)
3184 Leading(t4 t3 t2 t1 r3)
3190 -----------------------------------------------------------------
3194 Join Filter: (t2.c1 = t1.c1)
3196 Join Filter: (t3.c1 = t2.c1)
3198 Join Filter: (t3.c1 = t4.c1)
3200 TID Cond: (ctid = '(1,1)'::tid)
3202 TID Cond: (ctid = '(1,1)'::tid)
3204 Filter: (ctid = '(1,1)'::tid)
3206 TID Cond: (ctid = '(1,1)'::tid)
3208 TID Cond: (ctid = '(1,1)'::tid)
3214 Join Filter: (t2.c1 = t1.c1)
3216 Join Filter: (t3.c1 = t2.c1)
3218 Join Filter: (t3.c1 = t4.c1)
3220 TID Cond: (ctid = '(1,1)'::tid)
3222 TID Cond: (ctid = '(1,1)'::tid)
3224 Filter: (ctid = '(1,1)'::tid)
3226 TID Cond: (ctid = '(1,1)'::tid)
3228 TID Cond: (ctid = '(1,1)'::tid)
3234 Join Filter: (t2.c1 = t1.c1)
3236 Join Filter: (t3.c1 = t2.c1)
3238 Join Filter: (t3.c1 = t4.c1)
3240 TID Cond: (ctid = '(1,1)'::tid)
3242 TID Cond: (ctid = '(1,1)'::tid)
3244 Filter: (ctid = '(1,1)'::tid)
3246 TID Cond: (ctid = '(1,1)'::tid)
3248 TID Cond: (ctid = '(1,1)'::tid)
3252 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3254 -----------------------------------------------------------------
3257 Join Filter: (b1t1.c1 = b1t4.c1)
3259 Join Filter: (b1t1.c1 = b1t3.c1)
3261 Join Filter: (b1t1.c1 = b1t2.c1)
3264 TID Cond: (ctid = '(1,1)'::tid)
3266 -> Tid Scan on t1 b1t1
3267 TID Cond: (ctid = '(1,1)'::tid)
3268 -> Seq Scan on t2 b1t2
3269 Filter: (ctid = '(1,1)'::tid)
3270 -> Tid Scan on t3 b1t3
3271 TID Cond: (ctid = '(1,1)'::tid)
3272 -> Tid Scan on t4 b1t4
3273 TID Cond: (ctid = '(1,1)'::tid)
3277 Join Filter: (b2t1.c1 = b2t4.c1)
3279 Join Filter: (b2t1.c1 = b2t3.c1)
3281 Join Filter: (b2t1.c1 = b2t2.c1)
3284 TID Cond: (ctid = '(1,1)'::tid)
3286 -> Tid Scan on t1 b2t1
3287 TID Cond: (ctid = '(1,1)'::tid)
3288 -> Seq Scan on t2 b2t2
3289 Filter: (ctid = '(1,1)'::tid)
3290 -> Tid Scan on t3 b2t3
3291 TID Cond: (ctid = '(1,1)'::tid)
3292 -> Tid Scan on t4 b2t4
3293 TID Cond: (ctid = '(1,1)'::tid)
3297 Join Filter: (b3t1.c1 = b3t4.c1)
3299 Join Filter: (b3t1.c1 = b3t3.c1)
3301 Join Filter: (b3t1.c1 = b3t2.c1)
3304 TID Cond: (ctid = '(1,1)'::tid)
3306 -> Tid Scan on t1 b3t1
3307 TID Cond: (ctid = '(1,1)'::tid)
3308 -> Seq Scan on t2 b3t2
3309 Filter: (ctid = '(1,1)'::tid)
3310 -> Tid Scan on t3 b3t3
3311 TID Cond: (ctid = '(1,1)'::tid)
3312 -> Tid Scan on t4 b3t4
3313 TID Cond: (ctid = '(1,1)'::tid)
3319 b3t1 b3t2 b3t3 b3t4 r3_
3321 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3324 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3331 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3338 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3344 -----------------------------------------------------------------
3348 Join Filter: (b1t1.c1 = b1t4.c1)
3350 Join Filter: (b1t1.c1 = b1t3.c1)
3352 Join Filter: (b1t1.c1 = b1t2.c1)
3353 -> Tid Scan on t1 b1t1
3354 TID Cond: (ctid = '(1,1)'::tid)
3355 -> Seq Scan on t2 b1t2
3356 Filter: (ctid = '(1,1)'::tid)
3357 -> Tid Scan on t3 b1t3
3358 TID Cond: (ctid = '(1,1)'::tid)
3359 -> Tid Scan on t4 b1t4
3360 TID Cond: (ctid = '(1,1)'::tid)
3362 TID Cond: (ctid = '(1,1)'::tid)
3368 Join Filter: (b2t1.c1 = b2t4.c1)
3370 Join Filter: (b2t1.c1 = b2t3.c1)
3372 Join Filter: (b2t1.c1 = b2t2.c1)
3373 -> Tid Scan on t1 b2t1
3374 TID Cond: (ctid = '(1,1)'::tid)
3375 -> Seq Scan on t2 b2t2
3376 Filter: (ctid = '(1,1)'::tid)
3377 -> Tid Scan on t3 b2t3
3378 TID Cond: (ctid = '(1,1)'::tid)
3379 -> Tid Scan on t4 b2t4
3380 TID Cond: (ctid = '(1,1)'::tid)
3382 TID Cond: (ctid = '(1,1)'::tid)
3388 Join Filter: (b3t1.c1 = b3t4.c1)
3390 Join Filter: (b3t1.c1 = b3t3.c1)
3392 Join Filter: (b3t1.c1 = b3t2.c1)
3393 -> Tid Scan on t1 b3t1
3394 TID Cond: (ctid = '(1,1)'::tid)
3395 -> Seq Scan on t2 b3t2
3396 Filter: (ctid = '(1,1)'::tid)
3397 -> Tid Scan on t3 b3t3
3398 TID Cond: (ctid = '(1,1)'::tid)
3399 -> Tid Scan on t4 b3t4
3400 TID Cond: (ctid = '(1,1)'::tid)
3402 TID Cond: (ctid = '(1,1)'::tid)
3407 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
3409 ----------------------------------
3411 Hash Cond: (v1t1.c1 = v1t1.c1)
3412 -> Seq Scan on t1 v1t1
3414 -> Seq Scan on t1 v1t1
3417 /*+Leading(v1t1 v1t1)*/
3418 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
3419 INFO: hint syntax error at or near "Leading(v1t1 v1t1)"
3420 DETAIL: Relation name "v1t1" is ambiguous.
3429 ----------------------------------
3431 Hash Cond: (v1t1.c1 = v1t1.c1)
3432 -> Seq Scan on t1 v1t1
3434 -> Seq Scan on t1 v1t1
3438 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
3440 -----------------------------------
3442 Hash Cond: (v1t1.c1 = v1t1_.c1)
3443 -> Seq Scan on t1 v1t1
3445 -> Seq Scan on t1 v1t1_
3448 /*+Leading(v1t1 v1t1_)*/
3449 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
3458 -----------------------------------
3460 Hash Cond: (v1t1.c1 = v1t1_.c1)
3461 -> Seq Scan on t1 v1t1
3463 -> Seq Scan on t1 v1t1_
3467 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
3469 ----------------------------------
3471 Hash Cond: (r4t1.c1 = r4t1.c1)
3472 -> Seq Scan on t1 r4t1
3474 -> Seq Scan on t1 r4t1
3477 /*+Leading(r4t1 r4t1)*/
3478 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
3479 INFO: hint syntax error at or near "Leading(r4t1 r4t1)"
3480 DETAIL: Relation name "r4t1" is ambiguous.
3489 ----------------------------------
3491 Hash Cond: (r4t1.c1 = r4t1.c1)
3492 -> Seq Scan on t1 r4t1
3494 -> Seq Scan on t1 r4t1
3498 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
3500 ----------------------------------
3502 Hash Cond: (r4t1.c1 = r5t1.c1)
3503 -> Seq Scan on t1 r4t1
3505 -> Seq Scan on t1 r5t1
3508 /*+Leading(r4t1 r5t1)*/
3509 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
3518 ----------------------------------
3520 Hash Cond: (r4t1.c1 = r5t1.c1)
3521 -> Seq Scan on t1 r4t1
3523 -> Seq Scan on t1 r5t1
3527 ---- No. L-2-4 VALUES clause
3530 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;
3532 -------------------------------------------------
3535 Hash Cond: (t2.c1 = "*VALUES*".column1)
3538 -> Values Scan on "*VALUES*"
3539 -> Index Scan using t1_i1 on t1
3540 Index Cond: (c1 = t2.c1)
3543 /*+ Leading(t3 t1 t2) */
3544 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;
3553 ---------------------------------------------
3555 Join Filter: (t1.c1 = "*VALUES*".column1)
3556 -> Values Scan on "*VALUES*"
3558 Merge Cond: (t1.c1 = t2.c1)
3559 -> Index Scan using t1_i1 on t1
3565 /*+ Leading(*VALUES* t1 t2) */
3566 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;
3569 Leading(*VALUES* t1 t2)
3575 -----------------------------------------------------
3578 -> Values Scan on "*VALUES*"
3579 -> Index Scan using t1_i1 on t1
3580 Index Cond: (c1 = "*VALUES*".column1)
3581 -> Index Scan using t2_i1 on t2
3582 Index Cond: (c1 = t1.c1)
3586 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;
3588 -------------------------------------------------------
3590 Join Filter: (t1.c1 = "*VALUES*".column1)
3593 Hash Cond: (t2.c1 = "*VALUES*".column1)
3596 -> Values Scan on "*VALUES*"
3597 -> Index Scan using t1_i1 on t1
3598 Index Cond: (c1 = t2.c1)
3599 -> Values Scan on "*VALUES*"
3602 /*+ Leading(t4 t3 t2 t1) */
3603 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;
3606 Leading(t4 t3 t2 t1)
3612 ---------------------------------------------------
3614 Join Filter: (t1.c1 = "*VALUES*".column1)
3616 Join Filter: (t1.c1 = "*VALUES*".column1)
3618 Merge Cond: (t1.c1 = t2.c1)
3619 -> Index Scan using t1_i1 on t1
3623 -> Values Scan on "*VALUES*"
3624 -> Values Scan on "*VALUES*"
3627 /*+ Leading(*VALUES* t3 t2 t1) */
3628 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;
3629 INFO: hint syntax error at or near "Leading(*VALUES* t3 t2 t1) "
3630 DETAIL: Relation name "*VALUES*" is ambiguous.
3634 Leading(*VALUES* t3 t2 t1)
3639 -------------------------------------------------------
3641 Join Filter: (t1.c1 = "*VALUES*".column1)
3644 Hash Cond: (t2.c1 = "*VALUES*".column1)
3647 -> Values Scan on "*VALUES*"
3648 -> Index Scan using t1_i1 on t1
3649 Index Cond: (c1 = t2.c1)
3650 -> Values Scan on "*VALUES*"
3654 ---- No. L-3-1 leading the order of table joins
3656 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3658 ------------------------------------------
3660 Merge Cond: (t1.c1 = t2.c1)
3662 Merge Cond: (t1.c1 = t3.c1)
3663 -> Index Scan using t1_i1 on t1
3664 -> Index Scan using t3_i1 on t3
3671 /*+Leading(t3 t1 t2)*/
3672 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3681 ------------------------------------------
3683 Merge Cond: (t1.c1 = t2.c1)
3685 Merge Cond: (t1.c1 = t3.c1)
3686 -> Index Scan using t1_i1 on t1
3687 -> Index Scan using t3_i1 on t3
3694 /*+Leading(t1 t2 t3)*/
3695 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3704 ------------------------------------------------
3706 Hash Cond: (t3.c1 = t1.c1)
3710 Merge Cond: (t1.c1 = t2.c1)
3711 -> Index Scan using t1_i1 on t1
3718 ---- No. L-3-2 GUC parameter to disable hints
3720 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3722 ------------------------------------------
3724 Merge Cond: (t1.c1 = t2.c1)
3726 Merge Cond: (t1.c1 = t3.c1)
3727 -> Index Scan using t1_i1 on t1
3728 -> Index Scan using t3_i1 on t3
3735 Set geqo_threshold = 3;
3737 /*+Leading(t1 t2 t3)*/
3738 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3747 ------------------------------------------
3749 Merge Cond: (t1.c1 = t2.c1)
3751 Merge Cond: (t1.c1 = t3.c1)
3752 -> Index Scan using t1_i1 on t1
3753 -> Index Scan using t3_i1 on t3
3759 Reset geqo_threshold;
3761 Set geqo_threshold = 4;
3763 /*+Leading(t1 t2 t3)*/
3764 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3773 ------------------------------------------------
3775 Hash Cond: (t3.c1 = t1.c1)
3779 Merge Cond: (t1.c1 = t2.c1)
3780 -> Index Scan using t1_i1 on t1
3786 Reset geqo_threshold;
3788 Set from_collapse_limit = 2;
3789 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.v2 WHERE t1.c1 = v2.c1;
3791 -----------------------------------------------------
3793 Hash Cond: (t1.c1 = v2t1.c1)
3797 Merge Cond: (v2t1.c1 = v2t2.c1)
3798 -> Index Scan using t1_i1 on t1 v2t1
3801 -> Seq Scan on t2 v2t2
3804 /*+Leading(t1 v2t1 v2t2)*/
3805 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.v2 WHERE t1.c1 = v2.c1;
3808 Leading(t1 v2t1 v2t2)
3814 -----------------------------------------------------
3816 Hash Cond: (t1.c1 = v2t1.c1)
3820 Merge Cond: (v2t1.c1 = v2t2.c1)
3821 -> Index Scan using t1_i1 on t1 v2t1
3824 -> Seq Scan on t2 v2t2
3827 Reset from_collapse_limit;
3829 Set from_collapse_limit = 3;
3830 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.v2 WHERE t1.c1 = v2.c1;
3832 -----------------------------------------------
3834 Merge Cond: (v2t1.c1 = v2t2.c1)
3836 Merge Cond: (t1.c1 = v2t1.c1)
3837 -> Index Scan using t1_i1 on t1
3838 -> Index Scan using t1_i1 on t1 v2t1
3841 -> Seq Scan on t2 v2t2
3844 /*+Leading(v2t1 v2t2 t1)*/
3845 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.v2 WHERE t1.c1 = v2.c1;
3848 Leading(v2t1 v2t2 t1)
3854 -----------------------------------------------------
3856 Hash Cond: (t1.c1 = v2t1.c1)
3860 Merge Cond: (v2t1.c1 = v2t2.c1)
3861 -> Index Scan using t1_i1 on t1 v2t1
3864 -> Seq Scan on t2 v2t2
3867 Reset from_collapse_limit;
3869 Set join_collapse_limit = 2;
3870 EXPLAIN (COSTS false) SELECT * FROM s1.t3
3871 JOIN s1.t2 ON (t3.c1 = t2.c1)
3872 JOIN s1.t1 ON (t1.c1 = t3.c1);
3874 ------------------------------------------
3876 Hash Cond: (t1.c1 = t3.c1)
3880 Hash Cond: (t3.c1 = t2.c1)
3886 /*+Leading(t1 t2 t3)*/
3887 EXPLAIN (COSTS false) SELECT * FROM s1.t3
3888 JOIN s1.t2 ON (t3.c1 = t2.c1)
3889 JOIN s1.t1 ON (t1.c1 = t3.c1);
3898 ------------------------------------------
3900 Hash Cond: (t1.c1 = t3.c1)
3904 Hash Cond: (t3.c1 = t2.c1)
3910 Reset join_collapse_limit;
3912 Set join_collapse_limit = 3;
3913 EXPLAIN (COSTS false) SELECT * FROM s1.t3
3914 JOIN s1.t2 ON (t3.c1 = t2.c1)
3915 JOIN s1.t1 ON (t1.c1 = t3.c1);
3917 ------------------------------------------------
3919 Hash Cond: (t3.c1 = t2.c1)
3923 Merge Cond: (t1.c1 = t2.c1)
3924 -> Index Scan using t1_i1 on t1
3930 /*+Leading(t1 t2 t3)*/
3931 EXPLAIN (COSTS false) SELECT * FROM s1.t3
3932 JOIN s1.t2 ON (t3.c1 = t2.c1)
3933 JOIN s1.t1 ON (t1.c1 = t3.c1);
3942 ------------------------------------------------
3944 Hash Cond: (t3.c1 = t2.c1)
3948 Merge Cond: (t1.c1 = t2.c1)
3949 -> Index Scan using t1_i1 on t1
3955 Reset join_collapse_limit;
3957 ---- No. L-3-3 join between parents or between children
3960 /*+Leading(t1 t2 t3)*/
3961 EXPLAIN (COSTS false) SELECT * FROM s1.p2c1 t1
3962 JOIN s1.p2c2 t2 ON (t1.c1 = t2.c1)
3963 JOIN s1.p2c3 t3 ON (t1.c1 = t3.c1);
3972 -----------------------------------------------
3974 Hash Cond: (t1.c1 = t3.c1)
3976 Hash Cond: (t1.c1 = t2.c1)
3978 -> Seq Scan on p2c1 t1
3979 -> Seq Scan on p2c1c1 t1
3980 -> Seq Scan on p2c1c2 t1
3983 -> Seq Scan on p2c2 t2
3984 -> Seq Scan on p2c2c1 t2
3985 -> Seq Scan on p2c2c2 t2
3988 -> Seq Scan on p2c3 t3
3989 -> Seq Scan on p2c3c1 t3
3990 -> Seq Scan on p2c3c2 t3
3994 /*+Leading(p2c1c1 p2c2c1 p2c3c1)*/
3995 EXPLAIN (COSTS false) SELECT * FROM s1.p2c1 t1
3996 JOIN s1.p2c2 t2 ON (t1.c1 = t2.c1)
3997 JOIN s1.p2c3 t3 ON (t1.c1 = t3.c1);
4001 Leading(p2c1c1 p2c2c1 p2c3c1)
4006 -----------------------------------------------
4008 Hash Cond: (t1.c1 = t3.c1)
4010 Hash Cond: (t1.c1 = t2.c1)
4012 -> Seq Scan on p2c1 t1
4013 -> Seq Scan on p2c1c1 t1
4014 -> Seq Scan on p2c1c2 t1
4017 -> Seq Scan on p2c2 t2
4018 -> Seq Scan on p2c2c1 t2
4019 -> Seq Scan on p2c2c2 t2
4022 -> Seq Scan on p2c3 t3
4023 -> Seq Scan on p2c3c1 t3
4024 -> Seq Scan on p2c3c2 t3
4028 ---- No. L-3-4 conflict leading hint
4031 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4032 JOIN s1.t2 ON (t1.c1 = t2.c1)
4033 JOIN s1.t3 ON (t1.c1 = t3.c1);
4035 ------------------------------------------
4037 Merge Cond: (t1.c1 = t2.c1)
4039 Merge Cond: (t1.c1 = t3.c1)
4040 -> Index Scan using t1_i1 on t1
4041 -> Index Scan using t3_i1 on t3
4047 /*+Leading(t2 t3 t1)Leading(t1 t2 t3)*/
4048 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4049 JOIN s1.t2 ON (t1.c1 = t2.c1)
4050 JOIN s1.t3 ON (t1.c1 = t3.c1);
4051 INFO: hint syntax error at or near "Leading(t2 t3 t1)Leading(t1 t2 t3)"
4052 DETAIL: Conflict leading hint.
4062 ------------------------------------------------
4064 Hash Cond: (t3.c1 = t1.c1)
4068 Merge Cond: (t1.c1 = t2.c1)
4069 -> Index Scan using t1_i1 on t1
4076 /*+Leading(t3 t1 t2)Leading(t2 t3 t1)Leading(t1 t2 t3)*/
4077 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4078 JOIN s1.t2 ON (t1.c1 = t2.c1)
4079 JOIN s1.t3 ON (t1.c1 = t3.c1);
4080 INFO: hint syntax error at or near "Leading(t3 t1 t2)Leading(t2 t3 t1)Leading(t1 t2 t3)"
4081 DETAIL: Conflict leading hint.
4082 INFO: hint syntax error at or near "Leading(t2 t3 t1)Leading(t1 t2 t3)"
4083 DETAIL: Conflict leading hint.
4094 ------------------------------------------------
4096 Hash Cond: (t3.c1 = t1.c1)
4100 Merge Cond: (t1.c1 = t2.c1)
4101 -> Index Scan using t1_i1 on t1
4108 /*+Leading(t2 t3 t1)Leading()*/
4109 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4110 JOIN s1.t2 ON (t1.c1 = t2.c1)
4111 JOIN s1.t3 ON (t1.c1 = t3.c1);
4112 INFO: hint syntax error at or near "Leading()"
4113 DETAIL: Leading hint requires at least two relations.
4123 ------------------------------------------
4125 Merge Cond: (t1.c1 = t2.c1)
4126 -> Index Scan using t1_i1 on t1
4130 Hash Cond: (t3.c1 = t2.c1)
4137 /*+Leading(t3 t1 t2)Leading(t2 t3 t1)Leading()*/
4138 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4139 JOIN s1.t2 ON (t1.c1 = t2.c1)
4140 JOIN s1.t3 ON (t1.c1 = t3.c1);
4141 INFO: hint syntax error at or near "Leading()"
4142 DETAIL: Leading hint requires at least two relations.
4143 INFO: hint syntax error at or near "Leading(t3 t1 t2)Leading(t2 t3 t1)Leading()"
4144 DETAIL: Conflict leading hint.
4155 ------------------------------------------
4157 Merge Cond: (t1.c1 = t2.c1)
4158 -> Index Scan using t1_i1 on t1
4162 Hash Cond: (t3.c1 = t2.c1)
4169 ---- No. L-3-5 hint state output
4173 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4174 JOIN s1.t2 ON (t1.c1 = t2.c1)
4175 JOIN s1.t3 ON (t1.c1 = t3.c1);
4176 INFO: hint syntax error at or near "Leading()"
4177 DETAIL: Leading hint requires at least two relations.
4186 ------------------------------------------
4188 Merge Cond: (t1.c1 = t2.c1)
4190 Merge Cond: (t1.c1 = t3.c1)
4191 -> Index Scan using t1_i1 on t1
4192 -> Index Scan using t3_i1 on t3
4200 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4201 JOIN s1.t2 ON (t1.c1 = t2.c1)
4202 JOIN s1.t3 ON (t1.c1 = t3.c1);
4203 INFO: hint syntax error at or near "Leading(t1)"
4204 DETAIL: Leading hint requires at least two relations.
4213 ------------------------------------------
4215 Merge Cond: (t1.c1 = t2.c1)
4217 Merge Cond: (t1.c1 = t3.c1)
4218 -> Index Scan using t1_i1 on t1
4219 -> Index Scan using t3_i1 on t3
4227 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4228 JOIN s1.t2 ON (t1.c1 = t2.c1)
4229 JOIN s1.t3 ON (t1.c1 = t3.c1);
4238 ------------------------------------------
4241 Merge Cond: (t1.c1 = t2.c1)
4242 -> Index Scan using t1_i1 on t1
4246 -> Index Scan using t3_i1 on t3
4247 Index Cond: (c1 = t1.c1)
4251 /*+Leading(t1 t2 t3)*/
4252 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4253 JOIN s1.t2 ON (t1.c1 = t2.c1)
4254 JOIN s1.t3 ON (t1.c1 = t3.c1);
4263 ------------------------------------------------
4265 Hash Cond: (t3.c1 = t1.c1)
4269 Merge Cond: (t1.c1 = t2.c1)
4270 -> Index Scan using t1_i1 on t1
4277 ---- No. L-3-6 specified Inner/Outer side