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), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3'), (4,4,4,'4')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
915 --------------------------------------------------------------------------
917 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
919 Hash Cond: ("*VALUES*".column1 = "*VALUES*".column1)
920 -> Values Scan on "*VALUES*"
923 Hash Cond: ("*VALUES*".column1 = "*VALUES*".column1)
924 -> Values Scan on "*VALUES*"
926 -> Values Scan on "*VALUES*"
927 -> Values Scan on "*VALUES*"
930 /*+Leading(t4 t3 t2 t1)*/
931 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3'), (4,4,4,'4')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
940 --------------------------------------------------------------------------
942 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
944 Hash Cond: ("*VALUES*".column1 = "*VALUES*".column1)
945 -> Values Scan on "*VALUES*"
948 Hash Cond: ("*VALUES*".column1 = "*VALUES*".column1)
949 -> Values Scan on "*VALUES*"
951 -> Values Scan on "*VALUES*"
952 -> Values Scan on "*VALUES*"
956 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;
958 ----------------------------------------------------
960 Merge Cond: (ct1.c1 = ct3.c1)
963 Hash Cond: (st1.c1 = st4.c1)
965 Hash Cond: (st1.c1 = st3.c1)
967 Hash Cond: (st1.c1 = st2.c1)
968 -> Seq Scan on t1 st1
970 -> Seq Scan on t1 st2
972 -> Seq Scan on t1 st3
974 -> Seq Scan on t1 st4
976 Merge Cond: (ct1.c1 = ct2.c1)
979 -> CTE Scan on c1 ct1
982 -> CTE Scan on c1 ct2
985 Merge Cond: (ct3.c1 = ct4.c1)
988 -> CTE Scan on c1 ct3
991 -> CTE Scan on c1 ct4
994 /*+Leading(ct4 ct3 ct2 ct1 st4 st3 st2 st1)*/
995 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;
998 Leading(ct4 ct3 ct2 ct1 st4 st3 st2 st1)
1004 ---------------------------------------------------------
1006 Merge Cond: (ct1.c1 = ct2.c1)
1009 Hash Cond: (st2.c1 = st1.c1)
1011 Hash Cond: (st3.c1 = st2.c1)
1013 Hash Cond: (st3.c1 = st4.c1)
1014 -> Seq Scan on t1 st3
1016 -> Seq Scan on t1 st4
1018 -> Seq Scan on t1 st2
1020 -> Seq Scan on t1 st1
1023 -> CTE Scan on c1 ct1
1026 Merge Cond: (ct2.c1 = ct3.c1)
1029 -> CTE Scan on c1 ct2
1032 Merge Cond: (ct3.c1 = ct4.c1)
1035 -> CTE Scan on c1 ct3
1038 -> CTE Scan on c1 ct4
1042 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;
1044 ----------------------------------------------
1046 Hash Cond: (v1t1.c1 = v1t1.c1)
1048 Hash Cond: (v1t1.c1 = v1t1.c1)
1050 Hash Cond: (v1t1.c1 = v1t1.c1)
1051 -> Seq Scan on t1 v1t1
1053 -> Seq Scan on t1 v1t1
1055 -> Seq Scan on t1 v1t1
1057 -> Seq Scan on t1 v1t1
1060 /*+Leading(t4 t3 t2 t1)*/
1061 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;
1065 Leading(t4 t3 t2 t1)
1070 ----------------------------------------------
1072 Hash Cond: (v1t1.c1 = v1t1.c1)
1074 Hash Cond: (v1t1.c1 = v1t1.c1)
1076 Hash Cond: (v1t1.c1 = v1t1.c1)
1077 -> Seq Scan on t1 v1t1
1079 -> Seq Scan on t1 v1t1
1081 -> Seq Scan on t1 v1t1
1083 -> Seq Scan on t1 v1t1
1086 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;
1088 ---------------------------------------------
1090 Hash Cond: (v1t1.c1 = t4.c1)
1092 Hash Cond: (v1t1.c1 = v1t1_.c1)
1094 Hash Cond: (t3.c1 = v1t1.c1)
1097 -> Seq Scan on t1 v1t1
1099 -> Seq Scan on t1 v1t1_
1104 /*+Leading(t4 v1t1_ v1t1 t3)*/
1105 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;
1108 Leading(t4 v1t1_ v1t1 t3)
1114 ----------------------------------------------
1116 Hash Cond: (v1t1.c1 = t3.c1)
1118 Hash Cond: (v1t1_.c1 = v1t1.c1)
1120 Hash Cond: (t4.c1 = v1t1_.c1)
1123 -> Seq Scan on t1 v1t1_
1125 -> Seq Scan on t1 v1t1
1131 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;
1133 ------------------------------------------------
1135 Merge Cond: (t1.c1 = t2.c1)
1137 Merge Cond: (t1.c1 = t4.c1)
1139 Merge Cond: (t1.c1 = t3.c1)
1140 -> Index Scan using t1_i1 on t1
1141 -> Index Scan using t3_i1 on t3
1142 -> Index Only Scan using t4_i1 on t4
1148 /*+Leading(st4 t2 t3 t1)*/
1149 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;
1152 Leading(st4 t2 t3 t1)
1158 ------------------------------------------------
1160 Join Filter: (t1.c1 = t4.c1)
1162 Merge Cond: (t1.c1 = t2.c1)
1163 -> Index Scan using t1_i1 on t1
1167 Hash Cond: (t3.c1 = t2.c1)
1171 -> Index Only Scan using t4_i1 on t4
1172 Index Cond: (c1 = t3.c1)
1175 /*+Leading(t4 t2 t3 t1)*/
1176 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;
1179 Leading(t4 t2 t3 t1)
1185 ------------------------------------------------------
1187 Merge Cond: (t1.c1 = t2.c1)
1188 -> Index Scan using t1_i1 on t1
1192 Hash Cond: (t3.c1 = t2.c1)
1196 Hash Cond: (t4.c1 = t2.c1)
1203 ---- No. L-2-1 complexity query block
1206 EXPLAIN (COSTS false)
1207 SELECT max(bmt1.c1), (
1208 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)'
1210 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)'
1212 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)'
1215 -------------------------------------------------------------------
1217 InitPlan 1 (returns $0)
1220 Join Filter: (b1t1.c1 = b1t4.c1)
1222 Join Filter: (b1t1.c1 = b1t3.c1)
1224 Join Filter: (b1t1.c1 = b1t2.c1)
1225 -> Tid Scan on t1 b1t1
1226 TID Cond: (ctid = '(1,1)'::tid)
1227 -> Seq Scan on t2 b1t2
1228 Filter: (ctid = '(1,1)'::tid)
1229 -> Tid Scan on t3 b1t3
1230 TID Cond: (ctid = '(1,1)'::tid)
1231 -> Tid Scan on t4 b1t4
1232 TID Cond: (ctid = '(1,1)'::tid)
1233 InitPlan 2 (returns $1)
1236 Join Filter: (b2t1.c1 = b2t4.c1)
1238 Join Filter: (b2t1.c1 = b2t3.c1)
1240 Join Filter: (b2t1.c1 = b2t2.c1)
1241 -> Tid Scan on t1 b2t1
1242 TID Cond: (ctid = '(1,1)'::tid)
1243 -> Seq Scan on t2 b2t2
1244 Filter: (ctid = '(1,1)'::tid)
1245 -> Tid Scan on t3 b2t3
1246 TID Cond: (ctid = '(1,1)'::tid)
1247 -> Tid Scan on t4 b2t4
1248 TID Cond: (ctid = '(1,1)'::tid)
1250 Join Filter: (bmt1.c1 = bmt4.c1)
1252 Join Filter: (bmt1.c1 = bmt3.c1)
1254 Join Filter: (bmt1.c1 = bmt2.c1)
1255 -> Tid Scan on t1 bmt1
1256 TID Cond: (ctid = '(1,1)'::tid)
1257 -> Seq Scan on t2 bmt2
1258 Filter: (ctid = '(1,1)'::tid)
1259 -> Tid Scan on t3 bmt3
1260 TID Cond: (ctid = '(1,1)'::tid)
1261 -> Tid Scan on t4 bmt4
1262 TID Cond: (ctid = '(1,1)'::tid)
1266 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1268 EXPLAIN (COSTS false)
1269 SELECT max(bmt1.c1), (
1270 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)'
1272 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)'
1274 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)'
1278 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1284 -------------------------------------------------------------------
1286 InitPlan 1 (returns $0)
1289 Join Filter: (b1t2.c1 = b1t1.c1)
1291 Join Filter: (b1t2.c1 = b1t4.c1)
1293 Join Filter: (b1t2.c1 = b1t3.c1)
1294 -> Seq Scan on t2 b1t2
1295 Filter: (ctid = '(1,1)'::tid)
1296 -> Tid Scan on t3 b1t3
1297 TID Cond: (ctid = '(1,1)'::tid)
1298 -> Tid Scan on t4 b1t4
1299 TID Cond: (ctid = '(1,1)'::tid)
1300 -> Tid Scan on t1 b1t1
1301 TID Cond: (ctid = '(1,1)'::tid)
1302 InitPlan 2 (returns $1)
1305 Join Filter: (b2t1.c1 = b2t2.c1)
1307 Join Filter: (b2t3.c1 = b2t1.c1)
1309 Join Filter: (b2t3.c1 = b2t4.c1)
1310 -> Tid Scan on t3 b2t3
1311 TID Cond: (ctid = '(1,1)'::tid)
1312 -> Tid Scan on t4 b2t4
1313 TID Cond: (ctid = '(1,1)'::tid)
1314 -> Tid Scan on t1 b2t1
1315 TID Cond: (ctid = '(1,1)'::tid)
1316 -> Seq Scan on t2 b2t2
1317 Filter: (ctid = '(1,1)'::tid)
1319 Join Filter: (bmt1.c1 = bmt4.c1)
1321 Join Filter: (bmt1.c1 = bmt3.c1)
1323 Join Filter: (bmt1.c1 = bmt2.c1)
1324 -> Tid Scan on t1 bmt1
1325 TID Cond: (ctid = '(1,1)'::tid)
1326 -> Seq Scan on t2 bmt2
1327 Filter: (ctid = '(1,1)'::tid)
1328 -> Tid Scan on t3 bmt3
1329 TID Cond: (ctid = '(1,1)'::tid)
1330 -> Tid Scan on t4 bmt4
1331 TID Cond: (ctid = '(1,1)'::tid)
1335 EXPLAIN (COSTS false)
1336 SELECT max(bmt1.c1), (
1337 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)'
1339 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)'
1341 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)'
1343 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)'
1346 -------------------------------------------------------------------
1348 InitPlan 1 (returns $0)
1351 Join Filter: (b1t1.c1 = b1t4.c1)
1353 Join Filter: (b1t1.c1 = b1t3.c1)
1355 Join Filter: (b1t1.c1 = b1t2.c1)
1356 -> Tid Scan on t1 b1t1
1357 TID Cond: (ctid = '(1,1)'::tid)
1358 -> Seq Scan on t2 b1t2
1359 Filter: (ctid = '(1,1)'::tid)
1360 -> Tid Scan on t3 b1t3
1361 TID Cond: (ctid = '(1,1)'::tid)
1362 -> Tid Scan on t4 b1t4
1363 TID Cond: (ctid = '(1,1)'::tid)
1364 InitPlan 2 (returns $1)
1367 Join Filter: (b2t1.c1 = b2t4.c1)
1369 Join Filter: (b2t1.c1 = b2t3.c1)
1371 Join Filter: (b2t1.c1 = b2t2.c1)
1372 -> Tid Scan on t1 b2t1
1373 TID Cond: (ctid = '(1,1)'::tid)
1374 -> Seq Scan on t2 b2t2
1375 Filter: (ctid = '(1,1)'::tid)
1376 -> Tid Scan on t3 b2t3
1377 TID Cond: (ctid = '(1,1)'::tid)
1378 -> Tid Scan on t4 b2t4
1379 TID Cond: (ctid = '(1,1)'::tid)
1380 InitPlan 3 (returns $2)
1383 Join Filter: (b3t1.c1 = b3t4.c1)
1385 Join Filter: (b3t1.c1 = b3t3.c1)
1387 Join Filter: (b3t1.c1 = b3t2.c1)
1388 -> Tid Scan on t1 b3t1
1389 TID Cond: (ctid = '(1,1)'::tid)
1390 -> Seq Scan on t2 b3t2
1391 Filter: (ctid = '(1,1)'::tid)
1392 -> Tid Scan on t3 b3t3
1393 TID Cond: (ctid = '(1,1)'::tid)
1394 -> Tid Scan on t4 b3t4
1395 TID Cond: (ctid = '(1,1)'::tid)
1397 Join Filter: (bmt1.c1 = bmt4.c1)
1399 Join Filter: (bmt1.c1 = bmt3.c1)
1401 Join Filter: (bmt1.c1 = bmt2.c1)
1402 -> Tid Scan on t1 bmt1
1403 TID Cond: (ctid = '(1,1)'::tid)
1404 -> Seq Scan on t2 bmt2
1405 Filter: (ctid = '(1,1)'::tid)
1406 -> Tid Scan on t3 bmt3
1407 TID Cond: (ctid = '(1,1)'::tid)
1408 -> Tid Scan on t4 bmt4
1409 TID Cond: (ctid = '(1,1)'::tid)
1413 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1415 EXPLAIN (COSTS false)
1416 SELECT max(bmt1.c1), (
1417 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)'
1419 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)'
1421 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)'
1423 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)'
1427 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1433 -------------------------------------------------------------------
1435 InitPlan 1 (returns $0)
1438 Join Filter: (b1t2.c1 = b1t1.c1)
1440 Join Filter: (b1t2.c1 = b1t4.c1)
1442 Join Filter: (b1t2.c1 = b1t3.c1)
1443 -> Seq Scan on t2 b1t2
1444 Filter: (ctid = '(1,1)'::tid)
1445 -> Tid Scan on t3 b1t3
1446 TID Cond: (ctid = '(1,1)'::tid)
1447 -> Tid Scan on t4 b1t4
1448 TID Cond: (ctid = '(1,1)'::tid)
1449 -> Tid Scan on t1 b1t1
1450 TID Cond: (ctid = '(1,1)'::tid)
1451 InitPlan 2 (returns $1)
1454 Join Filter: (b2t1.c1 = b2t2.c1)
1456 Join Filter: (b2t3.c1 = b2t1.c1)
1458 Join Filter: (b2t3.c1 = b2t4.c1)
1459 -> Tid Scan on t3 b2t3
1460 TID Cond: (ctid = '(1,1)'::tid)
1461 -> Tid Scan on t4 b2t4
1462 TID Cond: (ctid = '(1,1)'::tid)
1463 -> Tid Scan on t1 b2t1
1464 TID Cond: (ctid = '(1,1)'::tid)
1465 -> Seq Scan on t2 b2t2
1466 Filter: (ctid = '(1,1)'::tid)
1467 InitPlan 3 (returns $2)
1470 Join Filter: (b3t1.c1 = b3t3.c1)
1472 Join Filter: (b3t1.c1 = b3t2.c1)
1474 Join Filter: (b3t1.c1 = b3t4.c1)
1475 -> Tid Scan on t1 b3t1
1476 TID Cond: (ctid = '(1,1)'::tid)
1477 -> Tid Scan on t4 b3t4
1478 TID Cond: (ctid = '(1,1)'::tid)
1479 -> Seq Scan on t2 b3t2
1480 Filter: (ctid = '(1,1)'::tid)
1481 -> Tid Scan on t3 b3t3
1482 TID Cond: (ctid = '(1,1)'::tid)
1484 Join Filter: (bmt1.c1 = bmt4.c1)
1486 Join Filter: (bmt1.c1 = bmt3.c1)
1488 Join Filter: (bmt1.c1 = bmt2.c1)
1489 -> Tid Scan on t1 bmt1
1490 TID Cond: (ctid = '(1,1)'::tid)
1491 -> Seq Scan on t2 bmt2
1492 Filter: (ctid = '(1,1)'::tid)
1493 -> Tid Scan on t3 bmt3
1494 TID Cond: (ctid = '(1,1)'::tid)
1495 -> Tid Scan on t4 bmt4
1496 TID Cond: (ctid = '(1,1)'::tid)
1500 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)';
1502 -----------------------------------------------------------
1505 Join Filter: (bmt1.c1 = bmt4.c1)
1507 Join Filter: (bmt1.c1 = bmt3.c1)
1509 Join Filter: (bmt1.c1 = bmt2.c1)
1510 -> Tid Scan on t1 bmt1
1511 TID Cond: (ctid = '(1,1)'::tid)
1512 -> Seq Scan on t2 bmt2
1513 Filter: (ctid = '(1,1)'::tid)
1514 -> Tid Scan on t3 bmt3
1515 TID Cond: (ctid = '(1,1)'::tid)
1516 -> Tid Scan on t4 bmt4
1517 TID Cond: (ctid = '(1,1)'::tid)
1521 Leading(bmt4 bmt3 bmt2 bmt1)
1523 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)';
1526 Leading(bmt4 bmt3 bmt2 bmt1)
1532 -----------------------------------------------------------
1535 Join Filter: (bmt2.c1 = bmt1.c1)
1537 Join Filter: (bmt3.c1 = bmt2.c1)
1539 Join Filter: (bmt3.c1 = bmt4.c1)
1540 -> Tid Scan on t3 bmt3
1541 TID Cond: (ctid = '(1,1)'::tid)
1542 -> Tid Scan on t4 bmt4
1543 TID Cond: (ctid = '(1,1)'::tid)
1544 -> Seq Scan on t2 bmt2
1545 Filter: (ctid = '(1,1)'::tid)
1546 -> Tid Scan on t1 bmt1
1547 TID Cond: (ctid = '(1,1)'::tid)
1551 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)';
1553 -----------------------------------------------------------
1556 Join Filter: (bmt1.c1 = bmt4.c1)
1558 Join Filter: (bmt1.c1 = bmt3.c1)
1560 Join Filter: (bmt1.c1 = bmt2.c1)
1561 -> Tid Scan on t1 bmt1
1562 TID Cond: (ctid = '(1,1)'::tid)
1563 -> Seq Scan on t2 bmt2
1564 Filter: (ctid = '(1,1)'::tid)
1565 -> Tid Scan on t3 bmt3
1566 TID Cond: (ctid = '(1,1)'::tid)
1567 -> Tid Scan on t4 bmt4
1568 TID Cond: (ctid = '(1,1)'::tid)
1572 Leading(bmt4 bmt3 bmt2 bmt1)
1574 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)';
1577 Leading(bmt4 bmt3 bmt2 bmt1)
1583 -----------------------------------------------------------
1586 Join Filter: (bmt2.c1 = bmt1.c1)
1588 Join Filter: (bmt3.c1 = bmt2.c1)
1590 Join Filter: (bmt3.c1 = bmt4.c1)
1591 -> Tid Scan on t3 bmt3
1592 TID Cond: (ctid = '(1,1)'::tid)
1593 -> Tid Scan on t4 bmt4
1594 TID Cond: (ctid = '(1,1)'::tid)
1595 -> Seq Scan on t2 bmt2
1596 Filter: (ctid = '(1,1)'::tid)
1597 -> Tid Scan on t1 bmt1
1598 TID Cond: (ctid = '(1,1)'::tid)
1602 EXPLAIN (COSTS false)
1603 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)'
1605 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)'
1607 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)'
1611 -------------------------------------------------------------------
1613 InitPlan 1 (returns $0)
1616 Join Filter: (b1t1.c1 = b1t4.c1)
1618 Join Filter: (b1t1.c1 = b1t3.c1)
1620 Join Filter: (b1t1.c1 = b1t2.c1)
1621 -> Tid Scan on t1 b1t1
1622 TID Cond: (ctid = '(1,1)'::tid)
1623 -> Seq Scan on t2 b1t2
1624 Filter: (ctid = '(1,1)'::tid)
1625 -> Tid Scan on t3 b1t3
1626 TID Cond: (ctid = '(1,1)'::tid)
1627 -> Tid Scan on t4 b1t4
1628 TID Cond: (ctid = '(1,1)'::tid)
1629 InitPlan 2 (returns $1)
1632 Join Filter: (b2t1.c1 = b2t4.c1)
1634 Join Filter: (b2t1.c1 = b2t3.c1)
1636 Join Filter: (b2t1.c1 = b2t2.c1)
1637 -> Tid Scan on t1 b2t1
1638 TID Cond: (ctid = '(1,1)'::tid)
1639 -> Seq Scan on t2 b2t2
1640 Filter: (ctid = '(1,1)'::tid)
1641 -> Tid Scan on t3 b2t3
1642 TID Cond: (ctid = '(1,1)'::tid)
1643 -> Tid Scan on t4 b2t4
1644 TID Cond: (ctid = '(1,1)'::tid)
1646 Join Filter: (bmt1.c1 = bmt4.c1)
1648 Join Filter: (bmt1.c1 = bmt3.c1)
1650 Join Filter: (bmt1.c1 = bmt2.c1)
1651 -> Tid Scan on t1 bmt1
1652 TID Cond: (ctid = '(1,1)'::tid)
1653 Filter: ((c1 <> $0) AND (c1 <> $1))
1654 -> Seq Scan on t2 bmt2
1655 Filter: (ctid = '(1,1)'::tid)
1656 -> Tid Scan on t3 bmt3
1657 TID Cond: (ctid = '(1,1)'::tid)
1658 -> Tid Scan on t4 bmt4
1659 TID Cond: (ctid = '(1,1)'::tid)
1663 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1665 EXPLAIN (COSTS false)
1666 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)'
1668 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)'
1670 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)'
1675 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1681 -------------------------------------------------------------------
1683 InitPlan 1 (returns $0)
1686 Join Filter: (b1t2.c1 = b1t1.c1)
1688 Join Filter: (b1t2.c1 = b1t4.c1)
1690 Join Filter: (b1t2.c1 = b1t3.c1)
1691 -> Seq Scan on t2 b1t2
1692 Filter: (ctid = '(1,1)'::tid)
1693 -> Tid Scan on t3 b1t3
1694 TID Cond: (ctid = '(1,1)'::tid)
1695 -> Tid Scan on t4 b1t4
1696 TID Cond: (ctid = '(1,1)'::tid)
1697 -> Tid Scan on t1 b1t1
1698 TID Cond: (ctid = '(1,1)'::tid)
1699 InitPlan 2 (returns $1)
1702 Join Filter: (b2t1.c1 = b2t2.c1)
1704 Join Filter: (b2t3.c1 = b2t1.c1)
1706 Join Filter: (b2t3.c1 = b2t4.c1)
1707 -> Tid Scan on t3 b2t3
1708 TID Cond: (ctid = '(1,1)'::tid)
1709 -> Tid Scan on t4 b2t4
1710 TID Cond: (ctid = '(1,1)'::tid)
1711 -> Tid Scan on t1 b2t1
1712 TID Cond: (ctid = '(1,1)'::tid)
1713 -> Seq Scan on t2 b2t2
1714 Filter: (ctid = '(1,1)'::tid)
1716 Join Filter: (bmt1.c1 = bmt4.c1)
1718 Join Filter: (bmt1.c1 = bmt3.c1)
1720 Join Filter: (bmt1.c1 = bmt2.c1)
1721 -> Tid Scan on t1 bmt1
1722 TID Cond: (ctid = '(1,1)'::tid)
1723 Filter: ((c1 <> $0) AND (c1 <> $1))
1724 -> Seq Scan on t2 bmt2
1725 Filter: (ctid = '(1,1)'::tid)
1726 -> Tid Scan on t3 bmt3
1727 TID Cond: (ctid = '(1,1)'::tid)
1728 -> Tid Scan on t4 bmt4
1729 TID Cond: (ctid = '(1,1)'::tid)
1733 EXPLAIN (COSTS false)
1734 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)'
1736 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)'
1738 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)'
1740 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)'
1744 ------------------------------------------------------------------------------
1746 InitPlan 1 (returns $0)
1749 Join Filter: (b1t1.c1 = b1t4.c1)
1751 Join Filter: (b1t1.c1 = b1t3.c1)
1753 Join Filter: (b1t1.c1 = b1t2.c1)
1754 -> Tid Scan on t1 b1t1
1755 TID Cond: (ctid = '(1,1)'::tid)
1756 -> Seq Scan on t2 b1t2
1757 Filter: (ctid = '(1,1)'::tid)
1758 -> Tid Scan on t3 b1t3
1759 TID Cond: (ctid = '(1,1)'::tid)
1760 -> Tid Scan on t4 b1t4
1761 TID Cond: (ctid = '(1,1)'::tid)
1762 InitPlan 2 (returns $1)
1765 Join Filter: (b2t1.c1 = b2t4.c1)
1767 Join Filter: (b2t1.c1 = b2t3.c1)
1769 Join Filter: (b2t1.c1 = b2t2.c1)
1770 -> Tid Scan on t1 b2t1
1771 TID Cond: (ctid = '(1,1)'::tid)
1772 -> Seq Scan on t2 b2t2
1773 Filter: (ctid = '(1,1)'::tid)
1774 -> Tid Scan on t3 b2t3
1775 TID Cond: (ctid = '(1,1)'::tid)
1776 -> Tid Scan on t4 b2t4
1777 TID Cond: (ctid = '(1,1)'::tid)
1778 InitPlan 3 (returns $2)
1781 Join Filter: (b3t1.c1 = b3t4.c1)
1783 Join Filter: (b3t1.c1 = b3t3.c1)
1785 Join Filter: (b3t1.c1 = b3t2.c1)
1786 -> Tid Scan on t1 b3t1
1787 TID Cond: (ctid = '(1,1)'::tid)
1788 -> Seq Scan on t2 b3t2
1789 Filter: (ctid = '(1,1)'::tid)
1790 -> Tid Scan on t3 b3t3
1791 TID Cond: (ctid = '(1,1)'::tid)
1792 -> Tid Scan on t4 b3t4
1793 TID Cond: (ctid = '(1,1)'::tid)
1795 Join Filter: (bmt1.c1 = bmt4.c1)
1797 Join Filter: (bmt1.c1 = bmt3.c1)
1799 Join Filter: (bmt1.c1 = bmt2.c1)
1800 -> Tid Scan on t1 bmt1
1801 TID Cond: (ctid = '(1,1)'::tid)
1802 Filter: ((c1 <> $0) AND (c1 <> $1) AND (c1 <> $2))
1803 -> Seq Scan on t2 bmt2
1804 Filter: (ctid = '(1,1)'::tid)
1805 -> Tid Scan on t3 bmt3
1806 TID Cond: (ctid = '(1,1)'::tid)
1807 -> Tid Scan on t4 bmt4
1808 TID Cond: (ctid = '(1,1)'::tid)
1812 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1814 EXPLAIN (COSTS false)
1815 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)'
1817 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)'
1819 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)'
1821 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)'
1826 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1832 ------------------------------------------------------------------------------
1834 InitPlan 1 (returns $0)
1837 Join Filter: (b1t2.c1 = b1t1.c1)
1839 Join Filter: (b1t2.c1 = b1t4.c1)
1841 Join Filter: (b1t2.c1 = b1t3.c1)
1842 -> Seq Scan on t2 b1t2
1843 Filter: (ctid = '(1,1)'::tid)
1844 -> Tid Scan on t3 b1t3
1845 TID Cond: (ctid = '(1,1)'::tid)
1846 -> Tid Scan on t4 b1t4
1847 TID Cond: (ctid = '(1,1)'::tid)
1848 -> Tid Scan on t1 b1t1
1849 TID Cond: (ctid = '(1,1)'::tid)
1850 InitPlan 2 (returns $1)
1853 Join Filter: (b2t1.c1 = b2t2.c1)
1855 Join Filter: (b2t3.c1 = b2t1.c1)
1857 Join Filter: (b2t3.c1 = b2t4.c1)
1858 -> Tid Scan on t3 b2t3
1859 TID Cond: (ctid = '(1,1)'::tid)
1860 -> Tid Scan on t4 b2t4
1861 TID Cond: (ctid = '(1,1)'::tid)
1862 -> Tid Scan on t1 b2t1
1863 TID Cond: (ctid = '(1,1)'::tid)
1864 -> Seq Scan on t2 b2t2
1865 Filter: (ctid = '(1,1)'::tid)
1866 InitPlan 3 (returns $2)
1869 Join Filter: (b3t1.c1 = b3t3.c1)
1871 Join Filter: (b3t1.c1 = b3t2.c1)
1873 Join Filter: (b3t1.c1 = b3t4.c1)
1874 -> Tid Scan on t1 b3t1
1875 TID Cond: (ctid = '(1,1)'::tid)
1876 -> Tid Scan on t4 b3t4
1877 TID Cond: (ctid = '(1,1)'::tid)
1878 -> Seq Scan on t2 b3t2
1879 Filter: (ctid = '(1,1)'::tid)
1880 -> Tid Scan on t3 b3t3
1881 TID Cond: (ctid = '(1,1)'::tid)
1883 Join Filter: (bmt1.c1 = bmt4.c1)
1885 Join Filter: (bmt1.c1 = bmt3.c1)
1887 Join Filter: (bmt1.c1 = bmt2.c1)
1888 -> Tid Scan on t1 bmt1
1889 TID Cond: (ctid = '(1,1)'::tid)
1890 Filter: ((c1 <> $0) AND (c1 <> $1) AND (c1 <> $2))
1891 -> Seq Scan on t2 bmt2
1892 Filter: (ctid = '(1,1)'::tid)
1893 -> Tid Scan on t3 bmt3
1894 TID Cond: (ctid = '(1,1)'::tid)
1895 -> Tid Scan on t4 bmt4
1896 TID Cond: (ctid = '(1,1)'::tid)
1900 EXPLAIN (COSTS false)
1902 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)'
1905 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)'
1907 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1909 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)'
1914 -----------------------------------------------------------------------
1919 Join Filter: (b1t1.c1 = b1t4.c1)
1921 Join Filter: (b1t1.c1 = b1t3.c1)
1923 Join Filter: (b1t1.c1 = b1t2.c1)
1924 -> Tid Scan on t1 b1t1
1925 TID Cond: (ctid = '(1,1)'::tid)
1926 -> Seq Scan on t2 b1t2
1927 Filter: (ctid = '(1,1)'::tid)
1928 -> Tid Scan on t3 b1t3
1929 TID Cond: (ctid = '(1,1)'::tid)
1930 -> Tid Scan on t4 b1t4
1931 TID Cond: (ctid = '(1,1)'::tid)
1935 Join Filter: (b2t1.c1 = b2t4.c1)
1937 Join Filter: (b2t1.c1 = b2t3.c1)
1939 Join Filter: (b2t1.c1 = b2t2.c1)
1940 -> Tid Scan on t1 b2t1
1941 TID Cond: (ctid = '(1,1)'::tid)
1942 -> Seq Scan on t2 b2t2
1943 Filter: (ctid = '(1,1)'::tid)
1944 -> Tid Scan on t3 b2t3
1945 TID Cond: (ctid = '(1,1)'::tid)
1946 -> Tid Scan on t4 b2t4
1947 TID Cond: (ctid = '(1,1)'::tid)
1949 Join Filter: (bmt1.c1 = c2.c1)
1951 Join Filter: (bmt1.c1 = c1.c1)
1953 Join Filter: (bmt1.c1 = bmt4.c1)
1955 Join Filter: (bmt1.c1 = bmt3.c1)
1957 Join Filter: (bmt1.c1 = bmt2.c1)
1958 -> Tid Scan on t1 bmt1
1959 TID Cond: (ctid = '(1,1)'::tid)
1960 -> Seq Scan on t2 bmt2
1961 Filter: (ctid = '(1,1)'::tid)
1962 -> Tid Scan on t3 bmt3
1963 TID Cond: (ctid = '(1,1)'::tid)
1964 -> Tid Scan on t4 bmt4
1965 TID Cond: (ctid = '(1,1)'::tid)
1971 Leading(c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1973 EXPLAIN (COSTS false)
1975 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)'
1978 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)'
1980 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1982 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)'
1988 Leading(c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1994 -------------------------------------------------------------------
1999 Join Filter: (b1t2.c1 = b1t1.c1)
2001 Join Filter: (b1t2.c1 = b1t4.c1)
2003 Join Filter: (b1t2.c1 = b1t3.c1)
2004 -> Seq Scan on t2 b1t2
2005 Filter: (ctid = '(1,1)'::tid)
2006 -> Tid Scan on t3 b1t3
2007 TID Cond: (ctid = '(1,1)'::tid)
2008 -> Tid Scan on t4 b1t4
2009 TID Cond: (ctid = '(1,1)'::tid)
2010 -> Tid Scan on t1 b1t1
2011 TID Cond: (ctid = '(1,1)'::tid)
2015 Join Filter: (b2t1.c1 = b2t2.c1)
2017 Join Filter: (b2t3.c1 = b2t1.c1)
2019 Join Filter: (b2t3.c1 = b2t4.c1)
2020 -> Tid Scan on t3 b2t3
2021 TID Cond: (ctid = '(1,1)'::tid)
2022 -> Tid Scan on t4 b2t4
2023 TID Cond: (ctid = '(1,1)'::tid)
2024 -> Tid Scan on t1 b2t1
2025 TID Cond: (ctid = '(1,1)'::tid)
2026 -> Seq Scan on t2 b2t2
2027 Filter: (ctid = '(1,1)'::tid)
2029 Join Filter: (bmt1.c1 = bmt4.c1)
2031 Join Filter: (bmt1.c1 = bmt3.c1)
2033 Join Filter: (bmt1.c1 = bmt2.c1)
2035 Join Filter: (c1.c1 = bmt1.c1)
2037 Join Filter: (c1.c1 = c2.c1)
2040 -> Tid Scan on t1 bmt1
2041 TID Cond: (ctid = '(1,1)'::tid)
2042 -> Seq Scan on t2 bmt2
2043 Filter: (ctid = '(1,1)'::tid)
2044 -> Tid Scan on t3 bmt3
2045 TID Cond: (ctid = '(1,1)'::tid)
2046 -> Tid Scan on t4 bmt4
2047 TID Cond: (ctid = '(1,1)'::tid)
2051 EXPLAIN (COSTS false)
2053 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)'
2056 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)'
2059 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)'
2061 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
2063 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)'
2069 -----------------------------------------------------------------------------
2074 Join Filter: (b1t1.c1 = b1t4.c1)
2076 Join Filter: (b1t1.c1 = b1t3.c1)
2078 Join Filter: (b1t1.c1 = b1t2.c1)
2079 -> Tid Scan on t1 b1t1
2080 TID Cond: (ctid = '(1,1)'::tid)
2081 -> Seq Scan on t2 b1t2
2082 Filter: (ctid = '(1,1)'::tid)
2083 -> Tid Scan on t3 b1t3
2084 TID Cond: (ctid = '(1,1)'::tid)
2085 -> Tid Scan on t4 b1t4
2086 TID Cond: (ctid = '(1,1)'::tid)
2090 Join Filter: (b2t1.c1 = b2t4.c1)
2092 Join Filter: (b2t1.c1 = b2t3.c1)
2094 Join Filter: (b2t1.c1 = b2t2.c1)
2095 -> Tid Scan on t1 b2t1
2096 TID Cond: (ctid = '(1,1)'::tid)
2097 -> Seq Scan on t2 b2t2
2098 Filter: (ctid = '(1,1)'::tid)
2099 -> Tid Scan on t3 b2t3
2100 TID Cond: (ctid = '(1,1)'::tid)
2101 -> Tid Scan on t4 b2t4
2102 TID Cond: (ctid = '(1,1)'::tid)
2106 Join Filter: (b3t1.c1 = b3t4.c1)
2108 Join Filter: (b3t1.c1 = b3t3.c1)
2110 Join Filter: (b3t1.c1 = b3t2.c1)
2111 -> Tid Scan on t1 b3t1
2112 TID Cond: (ctid = '(1,1)'::tid)
2113 -> Seq Scan on t2 b3t2
2114 Filter: (ctid = '(1,1)'::tid)
2115 -> Tid Scan on t3 b3t3
2116 TID Cond: (ctid = '(1,1)'::tid)
2117 -> Tid Scan on t4 b3t4
2118 TID Cond: (ctid = '(1,1)'::tid)
2120 Join Filter: (bmt1.c1 = c3.c1)
2122 Join Filter: (bmt1.c1 = c2.c1)
2124 Join Filter: (bmt1.c1 = c1.c1)
2126 Join Filter: (bmt1.c1 = bmt4.c1)
2128 Join Filter: (bmt1.c1 = bmt3.c1)
2130 Join Filter: (bmt1.c1 = bmt2.c1)
2131 -> Tid Scan on t1 bmt1
2132 TID Cond: (ctid = '(1,1)'::tid)
2133 -> Seq Scan on t2 bmt2
2134 Filter: (ctid = '(1,1)'::tid)
2135 -> Tid Scan on t3 bmt3
2136 TID Cond: (ctid = '(1,1)'::tid)
2137 -> Tid Scan on t4 bmt4
2138 TID Cond: (ctid = '(1,1)'::tid)
2145 Leading(c3 c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
2147 EXPLAIN (COSTS false)
2149 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)'
2152 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)'
2155 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)'
2157 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
2159 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)'
2166 Leading(c3 c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
2172 --------------------------------------------------------------------
2177 Join Filter: (b1t2.c1 = b1t1.c1)
2179 Join Filter: (b1t2.c1 = b1t4.c1)
2181 Join Filter: (b1t2.c1 = b1t3.c1)
2182 -> Seq Scan on t2 b1t2
2183 Filter: (ctid = '(1,1)'::tid)
2184 -> Tid Scan on t3 b1t3
2185 TID Cond: (ctid = '(1,1)'::tid)
2186 -> Tid Scan on t4 b1t4
2187 TID Cond: (ctid = '(1,1)'::tid)
2188 -> Tid Scan on t1 b1t1
2189 TID Cond: (ctid = '(1,1)'::tid)
2193 Join Filter: (b2t1.c1 = b2t2.c1)
2195 Join Filter: (b2t3.c1 = b2t1.c1)
2197 Join Filter: (b2t3.c1 = b2t4.c1)
2198 -> Tid Scan on t3 b2t3
2199 TID Cond: (ctid = '(1,1)'::tid)
2200 -> Tid Scan on t4 b2t4
2201 TID Cond: (ctid = '(1,1)'::tid)
2202 -> Tid Scan on t1 b2t1
2203 TID Cond: (ctid = '(1,1)'::tid)
2204 -> Seq Scan on t2 b2t2
2205 Filter: (ctid = '(1,1)'::tid)
2209 Join Filter: (b3t1.c1 = b3t3.c1)
2211 Join Filter: (b3t1.c1 = b3t2.c1)
2213 Join Filter: (b3t1.c1 = b3t4.c1)
2214 -> Tid Scan on t1 b3t1
2215 TID Cond: (ctid = '(1,1)'::tid)
2216 -> Tid Scan on t4 b3t4
2217 TID Cond: (ctid = '(1,1)'::tid)
2218 -> Seq Scan on t2 b3t2
2219 Filter: (ctid = '(1,1)'::tid)
2220 -> Tid Scan on t3 b3t3
2221 TID Cond: (ctid = '(1,1)'::tid)
2223 Join Filter: (bmt1.c1 = bmt4.c1)
2225 Join Filter: (bmt1.c1 = bmt3.c1)
2227 Join Filter: (bmt1.c1 = bmt2.c1)
2229 Join Filter: (c1.c1 = bmt1.c1)
2231 Join Filter: (c2.c1 = c1.c1)
2233 Join Filter: (c2.c1 = c3.c1)
2237 -> Tid Scan on t1 bmt1
2238 TID Cond: (ctid = '(1,1)'::tid)
2239 -> Seq Scan on t2 bmt2
2240 Filter: (ctid = '(1,1)'::tid)
2241 -> Tid Scan on t3 bmt3
2242 TID Cond: (ctid = '(1,1)'::tid)
2243 -> Tid Scan on t4 bmt4
2244 TID Cond: (ctid = '(1,1)'::tid)
2248 ---- No. L-2-2 the number of the tables per quiry block
2251 EXPLAIN (COSTS false)
2253 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
2255 SELECT max(bmt1.c1), (
2256 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2258 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
2260 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
2264 -----------------------------------------------------------------
2268 InitPlan 1 (returns $0)
2270 -> Tid Scan on t1 b1t1
2271 TID Cond: (ctid = '(1,1)'::tid)
2272 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2273 InitPlan 4 (returns $3)
2275 InitPlan 3 (returns $2)
2277 -> Tid Scan on t1 b2t1
2278 TID Cond: (ctid = '(1,1)'::tid)
2279 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2280 InitPlan 6 (returns $5)
2282 InitPlan 5 (returns $4)
2284 -> Tid Scan on t1 b3t1
2285 TID Cond: (ctid = '(1,1)'::tid)
2286 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2288 -> Tid Scan on t1 bmt1
2289 TID Cond: (ctid = '(1,1)'::tid)
2290 Filter: ((c1 <> $5) AND (c1 = 1))
2295 Leading(c1 bmt1 b1t1 b2t1 b3t1)
2297 EXPLAIN (COSTS false)
2299 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
2301 SELECT max(bmt1.c1), (
2302 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2304 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
2306 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
2311 Leading(c1 bmt1 b1t1 b2t1 b3t1)
2317 -----------------------------------------------------------------
2321 InitPlan 1 (returns $0)
2323 -> Tid Scan on t1 b1t1
2324 TID Cond: (ctid = '(1,1)'::tid)
2325 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2326 InitPlan 4 (returns $3)
2328 InitPlan 3 (returns $2)
2330 -> Tid Scan on t1 b2t1
2331 TID Cond: (ctid = '(1,1)'::tid)
2332 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2333 InitPlan 6 (returns $5)
2335 InitPlan 5 (returns $4)
2337 -> Tid Scan on t1 b3t1
2338 TID Cond: (ctid = '(1,1)'::tid)
2339 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2341 -> Tid Scan on t1 bmt1
2342 TID Cond: (ctid = '(1,1)'::tid)
2343 Filter: ((c1 <> $5) AND (c1 = 1))
2348 EXPLAIN (COSTS false)
2350 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)'
2352 SELECT max(bmt1.c1), (
2353 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)'
2355 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
2358 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)'
2362 -------------------------------------------------------
2367 Join Filter: (b1t1.c1 = b1t2.c1)
2368 -> Tid Scan on t1 b1t1
2369 TID Cond: (ctid = '(1,1)'::tid)
2370 -> Seq Scan on t2 b1t2
2371 Filter: (ctid = '(1,1)'::tid)
2372 InitPlan 2 (returns $1)
2375 Join Filter: (b2t1.c1 = b2t2.c1)
2376 -> Tid Scan on t1 b2t1
2377 TID Cond: (ctid = '(1,1)'::tid)
2378 -> Seq Scan on t2 b2t2
2379 Filter: (ctid = '(1,1)'::tid)
2380 InitPlan 3 (returns $2)
2383 Join Filter: (b3t1.c1 = b3t2.c1)
2384 -> Tid Scan on t1 b3t1
2385 TID Cond: (ctid = '(1,1)'::tid)
2386 -> Seq Scan on t2 b3t2
2387 Filter: (ctid = '(1,1)'::tid)
2389 Join Filter: (bmt1.c1 = c1.c1)
2391 Join Filter: (bmt1.c1 = bmt2.c1)
2392 -> Tid Scan on t1 bmt1
2393 TID Cond: (ctid = '(1,1)'::tid)
2395 -> Seq Scan on t2 bmt2
2396 Filter: (ctid = '(1,1)'::tid)
2401 Leading(c1 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2403 EXPLAIN (COSTS false)
2405 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)'
2407 SELECT max(bmt1.c1), (
2408 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)'
2410 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
2413 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)'
2418 Leading(c1 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2424 -------------------------------------------------------
2429 Join Filter: (b1t1.c1 = b1t2.c1)
2430 -> Tid Scan on t1 b1t1
2431 TID Cond: (ctid = '(1,1)'::tid)
2432 -> Seq Scan on t2 b1t2
2433 Filter: (ctid = '(1,1)'::tid)
2434 InitPlan 2 (returns $1)
2437 Join Filter: (b2t1.c1 = b2t2.c1)
2438 -> Tid Scan on t1 b2t1
2439 TID Cond: (ctid = '(1,1)'::tid)
2440 -> Seq Scan on t2 b2t2
2441 Filter: (ctid = '(1,1)'::tid)
2442 InitPlan 3 (returns $2)
2445 Join Filter: (b3t1.c1 = b3t2.c1)
2446 -> Tid Scan on t1 b3t1
2447 TID Cond: (ctid = '(1,1)'::tid)
2448 -> Seq Scan on t2 b3t2
2449 Filter: (ctid = '(1,1)'::tid)
2451 Join Filter: (bmt2.c1 = bmt1.c1)
2453 Join Filter: (bmt2.c1 = c1.c1)
2454 -> Seq Scan on t2 bmt2
2455 Filter: (ctid = '(1,1)'::tid)
2457 -> Tid Scan on t1 bmt1
2458 TID Cond: (ctid = '(1,1)'::tid)
2463 EXPLAIN (COSTS false)
2465 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)'
2467 SELECT max(bmt1.c1), (
2468 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)'
2470 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
2472 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)'
2476 -------------------------------------------------------------------
2481 Join Filter: (b1t1.c1 = b1t4.c1)
2483 Join Filter: (b1t1.c1 = b1t3.c1)
2485 Join Filter: (b1t1.c1 = b1t2.c1)
2486 -> Tid Scan on t1 b1t1
2487 TID Cond: (ctid = '(1,1)'::tid)
2488 -> Seq Scan on t2 b1t2
2489 Filter: (ctid = '(1,1)'::tid)
2490 -> Tid Scan on t3 b1t3
2491 TID Cond: (ctid = '(1,1)'::tid)
2492 -> Tid Scan on t4 b1t4
2493 TID Cond: (ctid = '(1,1)'::tid)
2494 InitPlan 2 (returns $1)
2497 Join Filter: (b2t1.c1 = b2t4.c1)
2499 Join Filter: (b2t1.c1 = b2t3.c1)
2501 Join Filter: (b2t1.c1 = b2t2.c1)
2502 -> Tid Scan on t1 b2t1
2503 TID Cond: (ctid = '(1,1)'::tid)
2504 -> Seq Scan on t2 b2t2
2505 Filter: (ctid = '(1,1)'::tid)
2506 -> Tid Scan on t3 b2t3
2507 TID Cond: (ctid = '(1,1)'::tid)
2508 -> Tid Scan on t4 b2t4
2509 TID Cond: (ctid = '(1,1)'::tid)
2510 InitPlan 3 (returns $2)
2513 Join Filter: (b3t1.c1 = b3t4.c1)
2515 Join Filter: (b3t1.c1 = b3t3.c1)
2517 Join Filter: (b3t1.c1 = b3t2.c1)
2518 -> Tid Scan on t1 b3t1
2519 TID Cond: (ctid = '(1,1)'::tid)
2520 -> Seq Scan on t2 b3t2
2521 Filter: (ctid = '(1,1)'::tid)
2522 -> Tid Scan on t3 b3t3
2523 TID Cond: (ctid = '(1,1)'::tid)
2524 -> Tid Scan on t4 b3t4
2525 TID Cond: (ctid = '(1,1)'::tid)
2527 Join Filter: (bmt1.c1 = c1.c1)
2529 Join Filter: (bmt1.c1 = bmt4.c1)
2531 Join Filter: (bmt1.c1 = bmt3.c1)
2533 Join Filter: (bmt1.c1 = bmt2.c1)
2534 -> Tid Scan on t1 bmt1
2535 TID Cond: (ctid = '(1,1)'::tid)
2537 -> Seq Scan on t2 bmt2
2538 Filter: (ctid = '(1,1)'::tid)
2539 -> Tid Scan on t3 bmt3
2540 TID Cond: (ctid = '(1,1)'::tid)
2541 -> Tid Scan on t4 bmt4
2542 TID Cond: (ctid = '(1,1)'::tid)
2547 Leading(c1 bmt4 b1t4 b2t4 b3t4 bmt3 b1t3 b2t3 b3t3 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2549 EXPLAIN (COSTS false)
2551 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)'
2553 SELECT max(bmt1.c1), (
2554 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)'
2556 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
2558 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)'
2563 Leading(c1 bmt4 b1t4 b2t4 b3t4 bmt3 b1t3 b2t3 b3t3 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2569 -------------------------------------------------------------------
2574 Join Filter: (b1t2.c1 = b1t1.c1)
2576 Join Filter: (b1t3.c1 = b1t2.c1)
2578 Join Filter: (b1t3.c1 = b1t4.c1)
2579 -> Tid Scan on t3 b1t3
2580 TID Cond: (ctid = '(1,1)'::tid)
2581 -> Tid Scan on t4 b1t4
2582 TID Cond: (ctid = '(1,1)'::tid)
2583 -> Seq Scan on t2 b1t2
2584 Filter: (ctid = '(1,1)'::tid)
2585 -> Tid Scan on t1 b1t1
2586 TID Cond: (ctid = '(1,1)'::tid)
2587 InitPlan 2 (returns $1)
2590 Join Filter: (b2t2.c1 = b2t1.c1)
2592 Join Filter: (b2t3.c1 = b2t2.c1)
2594 Join Filter: (b2t3.c1 = b2t4.c1)
2595 -> Tid Scan on t3 b2t3
2596 TID Cond: (ctid = '(1,1)'::tid)
2597 -> Tid Scan on t4 b2t4
2598 TID Cond: (ctid = '(1,1)'::tid)
2599 -> Seq Scan on t2 b2t2
2600 Filter: (ctid = '(1,1)'::tid)
2601 -> Tid Scan on t1 b2t1
2602 TID Cond: (ctid = '(1,1)'::tid)
2603 InitPlan 3 (returns $2)
2606 Join Filter: (b3t2.c1 = b3t1.c1)
2608 Join Filter: (b3t3.c1 = b3t2.c1)
2610 Join Filter: (b3t3.c1 = b3t4.c1)
2611 -> Tid Scan on t3 b3t3
2612 TID Cond: (ctid = '(1,1)'::tid)
2613 -> Tid Scan on t4 b3t4
2614 TID Cond: (ctid = '(1,1)'::tid)
2615 -> Seq Scan on t2 b3t2
2616 Filter: (ctid = '(1,1)'::tid)
2617 -> Tid Scan on t1 b3t1
2618 TID Cond: (ctid = '(1,1)'::tid)
2620 Join Filter: (bmt2.c1 = bmt1.c1)
2622 Join Filter: (bmt3.c1 = bmt2.c1)
2624 Join Filter: (bmt4.c1 = bmt3.c1)
2626 Join Filter: (bmt4.c1 = c1.c1)
2627 -> Tid Scan on t4 bmt4
2628 TID Cond: (ctid = '(1,1)'::tid)
2630 -> Tid Scan on t3 bmt3
2631 TID Cond: (ctid = '(1,1)'::tid)
2632 -> Seq Scan on t2 bmt2
2633 Filter: (ctid = '(1,1)'::tid)
2634 -> Tid Scan on t1 bmt1
2635 TID Cond: (ctid = '(1,1)'::tid)
2640 EXPLAIN (COSTS false)
2642 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)'
2644 SELECT max(bmt1.c1), (
2645 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2647 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
2649 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2653 -------------------------------------------------------------------
2658 Join Filter: (b1t1.c1 = b1t4.c1)
2660 Join Filter: (b1t1.c1 = b1t3.c1)
2662 Join Filter: (b1t1.c1 = b1t2.c1)
2663 -> Tid Scan on t1 b1t1
2664 TID Cond: (ctid = '(1,1)'::tid)
2665 -> Seq Scan on t2 b1t2
2666 Filter: (ctid = '(1,1)'::tid)
2667 -> Tid Scan on t3 b1t3
2668 TID Cond: (ctid = '(1,1)'::tid)
2669 -> Tid Scan on t4 b1t4
2670 TID Cond: (ctid = '(1,1)'::tid)
2671 InitPlan 3 (returns $2)
2673 InitPlan 2 (returns $1)
2675 -> Tid Scan on t1 b2t1
2676 TID Cond: (ctid = '(1,1)'::tid)
2677 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2678 InitPlan 4 (returns $3)
2680 -> Tid Scan on t1 b3t1
2681 TID Cond: (ctid = '(1,1)'::tid)
2683 Join Filter: (bmt1.c1 = c1.c1)
2685 Join Filter: (bmt1.c1 = bmt4.c1)
2687 Join Filter: (bmt1.c1 = bmt3.c1)
2689 Join Filter: (bmt1.c1 = bmt2.c1)
2690 -> Tid Scan on t1 bmt1
2691 TID Cond: (ctid = '(1,1)'::tid)
2693 -> Seq Scan on t2 bmt2
2694 Filter: (ctid = '(1,1)'::tid)
2695 -> Tid Scan on t3 bmt3
2696 TID Cond: (ctid = '(1,1)'::tid)
2697 -> Tid Scan on t4 bmt4
2698 TID Cond: (ctid = '(1,1)'::tid)
2703 Leading(c1 bmt4 b1t4 bmt3 b1t3 bmt2 b1t2 bmt1 b1t1 b2t1 b3t1)
2705 EXPLAIN (COSTS false)
2707 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)'
2709 SELECT max(bmt1.c1), (
2710 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2712 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
2714 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2719 Leading(c1 bmt4 b1t4 bmt3 b1t3 bmt2 b1t2 bmt1 b1t1 b2t1 b3t1)
2725 -------------------------------------------------------------------
2730 Join Filter: (b1t2.c1 = b1t1.c1)
2732 Join Filter: (b1t3.c1 = b1t2.c1)
2734 Join Filter: (b1t3.c1 = b1t4.c1)
2735 -> Tid Scan on t3 b1t3
2736 TID Cond: (ctid = '(1,1)'::tid)
2737 -> Tid Scan on t4 b1t4
2738 TID Cond: (ctid = '(1,1)'::tid)
2739 -> Seq Scan on t2 b1t2
2740 Filter: (ctid = '(1,1)'::tid)
2741 -> Tid Scan on t1 b1t1
2742 TID Cond: (ctid = '(1,1)'::tid)
2743 InitPlan 3 (returns $2)
2745 InitPlan 2 (returns $1)
2747 -> Tid Scan on t1 b2t1
2748 TID Cond: (ctid = '(1,1)'::tid)
2749 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2750 InitPlan 4 (returns $3)
2752 -> Tid Scan on t1 b3t1
2753 TID Cond: (ctid = '(1,1)'::tid)
2755 Join Filter: (bmt2.c1 = bmt1.c1)
2757 Join Filter: (bmt3.c1 = bmt2.c1)
2759 Join Filter: (bmt4.c1 = bmt3.c1)
2761 Join Filter: (bmt4.c1 = c1.c1)
2762 -> Tid Scan on t4 bmt4
2763 TID Cond: (ctid = '(1,1)'::tid)
2765 -> Tid Scan on t3 bmt3
2766 TID Cond: (ctid = '(1,1)'::tid)
2767 -> Seq Scan on t2 bmt2
2768 Filter: (ctid = '(1,1)'::tid)
2769 -> Tid Scan on t1 bmt1
2770 TID Cond: (ctid = '(1,1)'::tid)
2775 ---- No. L-2-3 RULE definition table
2778 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2780 -----------------------------------------------------------------
2783 Join Filter: (t1.c1 = t4.c1)
2785 Join Filter: (t1.c1 = t3.c1)
2787 Join Filter: (t1.c1 = t2.c1)
2790 TID Cond: (ctid = '(1,1)'::tid)
2793 TID Cond: (ctid = '(1,1)'::tid)
2795 Filter: (ctid = '(1,1)'::tid)
2797 TID Cond: (ctid = '(1,1)'::tid)
2799 TID Cond: (ctid = '(1,1)'::tid)
2802 /*+ Leading(t4 t3 t2 t1 r1) */
2803 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2806 Leading(t4 t3 t2 t1 r1)
2812 -----------------------------------------------------------------
2816 Join Filter: (t2.c1 = t1.c1)
2818 Join Filter: (t3.c1 = t2.c1)
2820 Join Filter: (t3.c1 = t4.c1)
2822 TID Cond: (ctid = '(1,1)'::tid)
2824 TID Cond: (ctid = '(1,1)'::tid)
2826 Filter: (ctid = '(1,1)'::tid)
2828 TID Cond: (ctid = '(1,1)'::tid)
2830 TID Cond: (ctid = '(1,1)'::tid)
2834 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2836 -----------------------------------------------------------------
2839 Join Filter: (b1t1.c1 = b1t4.c1)
2841 Join Filter: (b1t1.c1 = b1t3.c1)
2843 Join Filter: (b1t1.c1 = b1t2.c1)
2846 TID Cond: (ctid = '(1,1)'::tid)
2848 -> Tid Scan on t1 b1t1
2849 TID Cond: (ctid = '(1,1)'::tid)
2850 -> Seq Scan on t2 b1t2
2851 Filter: (ctid = '(1,1)'::tid)
2852 -> Tid Scan on t3 b1t3
2853 TID Cond: (ctid = '(1,1)'::tid)
2854 -> Tid Scan on t4 b1t4
2855 TID Cond: (ctid = '(1,1)'::tid)
2858 /*+ Leading(b1t1 b1t2 b1t3 b1t4 r1_) */
2859 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2862 Leading(b1t1 b1t2 b1t3 b1t4 r1_)
2868 -----------------------------------------------------------------
2872 Join Filter: (b1t1.c1 = b1t4.c1)
2874 Join Filter: (b1t1.c1 = b1t3.c1)
2876 Join Filter: (b1t1.c1 = b1t2.c1)
2877 -> Tid Scan on t1 b1t1
2878 TID Cond: (ctid = '(1,1)'::tid)
2879 -> Seq Scan on t2 b1t2
2880 Filter: (ctid = '(1,1)'::tid)
2881 -> Tid Scan on t3 b1t3
2882 TID Cond: (ctid = '(1,1)'::tid)
2883 -> Tid Scan on t4 b1t4
2884 TID Cond: (ctid = '(1,1)'::tid)
2886 TID Cond: (ctid = '(1,1)'::tid)
2891 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2893 -----------------------------------------------------------------
2896 Join Filter: (t1.c1 = t4.c1)
2898 Join Filter: (t1.c1 = t3.c1)
2900 Join Filter: (t1.c1 = t2.c1)
2903 TID Cond: (ctid = '(1,1)'::tid)
2906 TID Cond: (ctid = '(1,1)'::tid)
2908 Filter: (ctid = '(1,1)'::tid)
2910 TID Cond: (ctid = '(1,1)'::tid)
2912 TID Cond: (ctid = '(1,1)'::tid)
2916 Join Filter: (t1.c1 = t4.c1)
2918 Join Filter: (t1.c1 = t3.c1)
2920 Join Filter: (t1.c1 = t2.c1)
2923 TID Cond: (ctid = '(1,1)'::tid)
2926 TID Cond: (ctid = '(1,1)'::tid)
2928 Filter: (ctid = '(1,1)'::tid)
2930 TID Cond: (ctid = '(1,1)'::tid)
2932 TID Cond: (ctid = '(1,1)'::tid)
2935 /*+ Leading(t4 t3 t2 t1 r2) */
2936 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2939 Leading(t4 t3 t2 t1 r2)
2946 Leading(t4 t3 t2 t1 r2)
2952 -----------------------------------------------------------------
2956 Join Filter: (t2.c1 = t1.c1)
2958 Join Filter: (t3.c1 = t2.c1)
2960 Join Filter: (t3.c1 = t4.c1)
2962 TID Cond: (ctid = '(1,1)'::tid)
2964 TID Cond: (ctid = '(1,1)'::tid)
2966 Filter: (ctid = '(1,1)'::tid)
2968 TID Cond: (ctid = '(1,1)'::tid)
2970 TID Cond: (ctid = '(1,1)'::tid)
2976 Join Filter: (t2.c1 = t1.c1)
2978 Join Filter: (t3.c1 = t2.c1)
2980 Join Filter: (t3.c1 = t4.c1)
2982 TID Cond: (ctid = '(1,1)'::tid)
2984 TID Cond: (ctid = '(1,1)'::tid)
2986 Filter: (ctid = '(1,1)'::tid)
2988 TID Cond: (ctid = '(1,1)'::tid)
2990 TID Cond: (ctid = '(1,1)'::tid)
2994 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2996 -----------------------------------------------------------------
2999 Join Filter: (b1t1.c1 = b1t4.c1)
3001 Join Filter: (b1t1.c1 = b1t3.c1)
3003 Join Filter: (b1t1.c1 = b1t2.c1)
3006 TID Cond: (ctid = '(1,1)'::tid)
3008 -> Tid Scan on t1 b1t1
3009 TID Cond: (ctid = '(1,1)'::tid)
3010 -> Seq Scan on t2 b1t2
3011 Filter: (ctid = '(1,1)'::tid)
3012 -> Tid Scan on t3 b1t3
3013 TID Cond: (ctid = '(1,1)'::tid)
3014 -> Tid Scan on t4 b1t4
3015 TID Cond: (ctid = '(1,1)'::tid)
3019 Join Filter: (b2t1.c1 = b2t4.c1)
3021 Join Filter: (b2t1.c1 = b2t3.c1)
3023 Join Filter: (b2t1.c1 = b2t2.c1)
3026 TID Cond: (ctid = '(1,1)'::tid)
3028 -> Tid Scan on t1 b2t1
3029 TID Cond: (ctid = '(1,1)'::tid)
3030 -> Seq Scan on t2 b2t2
3031 Filter: (ctid = '(1,1)'::tid)
3032 -> Tid Scan on t3 b2t3
3033 TID Cond: (ctid = '(1,1)'::tid)
3034 -> Tid Scan on t4 b2t4
3035 TID Cond: (ctid = '(1,1)'::tid)
3040 b2t1 b2t2 b2t3 b2t4 r2_
3042 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3045 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 r2_)
3052 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 r2_)
3058 -----------------------------------------------------------------
3062 Join Filter: (b1t1.c1 = b1t4.c1)
3064 Join Filter: (b1t1.c1 = b1t3.c1)
3066 Join Filter: (b1t1.c1 = b1t2.c1)
3067 -> Tid Scan on t1 b1t1
3068 TID Cond: (ctid = '(1,1)'::tid)
3069 -> Seq Scan on t2 b1t2
3070 Filter: (ctid = '(1,1)'::tid)
3071 -> Tid Scan on t3 b1t3
3072 TID Cond: (ctid = '(1,1)'::tid)
3073 -> Tid Scan on t4 b1t4
3074 TID Cond: (ctid = '(1,1)'::tid)
3076 TID Cond: (ctid = '(1,1)'::tid)
3082 Join Filter: (b2t1.c1 = b2t4.c1)
3084 Join Filter: (b2t1.c1 = b2t3.c1)
3086 Join Filter: (b2t1.c1 = b2t2.c1)
3087 -> Tid Scan on t1 b2t1
3088 TID Cond: (ctid = '(1,1)'::tid)
3089 -> Seq Scan on t2 b2t2
3090 Filter: (ctid = '(1,1)'::tid)
3091 -> Tid Scan on t3 b2t3
3092 TID Cond: (ctid = '(1,1)'::tid)
3093 -> Tid Scan on t4 b2t4
3094 TID Cond: (ctid = '(1,1)'::tid)
3096 TID Cond: (ctid = '(1,1)'::tid)
3101 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3103 -----------------------------------------------------------------
3106 Join Filter: (t1.c1 = t4.c1)
3108 Join Filter: (t1.c1 = t3.c1)
3110 Join Filter: (t1.c1 = t2.c1)
3113 TID Cond: (ctid = '(1,1)'::tid)
3116 TID Cond: (ctid = '(1,1)'::tid)
3118 Filter: (ctid = '(1,1)'::tid)
3120 TID Cond: (ctid = '(1,1)'::tid)
3122 TID Cond: (ctid = '(1,1)'::tid)
3126 Join Filter: (t1.c1 = t4.c1)
3128 Join Filter: (t1.c1 = t3.c1)
3130 Join Filter: (t1.c1 = t2.c1)
3133 TID Cond: (ctid = '(1,1)'::tid)
3136 TID Cond: (ctid = '(1,1)'::tid)
3138 Filter: (ctid = '(1,1)'::tid)
3140 TID Cond: (ctid = '(1,1)'::tid)
3142 TID Cond: (ctid = '(1,1)'::tid)
3146 Join Filter: (t1.c1 = t4.c1)
3148 Join Filter: (t1.c1 = t3.c1)
3150 Join Filter: (t1.c1 = t2.c1)
3153 TID Cond: (ctid = '(1,1)'::tid)
3156 TID Cond: (ctid = '(1,1)'::tid)
3158 Filter: (ctid = '(1,1)'::tid)
3160 TID Cond: (ctid = '(1,1)'::tid)
3162 TID Cond: (ctid = '(1,1)'::tid)
3165 /*+ Leading(t4 t3 t2 t1 r3) */
3166 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3169 Leading(t4 t3 t2 t1 r3)
3176 Leading(t4 t3 t2 t1 r3)
3183 Leading(t4 t3 t2 t1 r3)
3189 -----------------------------------------------------------------
3193 Join Filter: (t2.c1 = t1.c1)
3195 Join Filter: (t3.c1 = t2.c1)
3197 Join Filter: (t3.c1 = t4.c1)
3199 TID Cond: (ctid = '(1,1)'::tid)
3201 TID Cond: (ctid = '(1,1)'::tid)
3203 Filter: (ctid = '(1,1)'::tid)
3205 TID Cond: (ctid = '(1,1)'::tid)
3207 TID Cond: (ctid = '(1,1)'::tid)
3213 Join Filter: (t2.c1 = t1.c1)
3215 Join Filter: (t3.c1 = t2.c1)
3217 Join Filter: (t3.c1 = t4.c1)
3219 TID Cond: (ctid = '(1,1)'::tid)
3221 TID Cond: (ctid = '(1,1)'::tid)
3223 Filter: (ctid = '(1,1)'::tid)
3225 TID Cond: (ctid = '(1,1)'::tid)
3227 TID Cond: (ctid = '(1,1)'::tid)
3233 Join Filter: (t2.c1 = t1.c1)
3235 Join Filter: (t3.c1 = t2.c1)
3237 Join Filter: (t3.c1 = t4.c1)
3239 TID Cond: (ctid = '(1,1)'::tid)
3241 TID Cond: (ctid = '(1,1)'::tid)
3243 Filter: (ctid = '(1,1)'::tid)
3245 TID Cond: (ctid = '(1,1)'::tid)
3247 TID Cond: (ctid = '(1,1)'::tid)
3251 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3253 -----------------------------------------------------------------
3256 Join Filter: (b1t1.c1 = b1t4.c1)
3258 Join Filter: (b1t1.c1 = b1t3.c1)
3260 Join Filter: (b1t1.c1 = b1t2.c1)
3263 TID Cond: (ctid = '(1,1)'::tid)
3265 -> Tid Scan on t1 b1t1
3266 TID Cond: (ctid = '(1,1)'::tid)
3267 -> Seq Scan on t2 b1t2
3268 Filter: (ctid = '(1,1)'::tid)
3269 -> Tid Scan on t3 b1t3
3270 TID Cond: (ctid = '(1,1)'::tid)
3271 -> Tid Scan on t4 b1t4
3272 TID Cond: (ctid = '(1,1)'::tid)
3276 Join Filter: (b2t1.c1 = b2t4.c1)
3278 Join Filter: (b2t1.c1 = b2t3.c1)
3280 Join Filter: (b2t1.c1 = b2t2.c1)
3283 TID Cond: (ctid = '(1,1)'::tid)
3285 -> Tid Scan on t1 b2t1
3286 TID Cond: (ctid = '(1,1)'::tid)
3287 -> Seq Scan on t2 b2t2
3288 Filter: (ctid = '(1,1)'::tid)
3289 -> Tid Scan on t3 b2t3
3290 TID Cond: (ctid = '(1,1)'::tid)
3291 -> Tid Scan on t4 b2t4
3292 TID Cond: (ctid = '(1,1)'::tid)
3296 Join Filter: (b3t1.c1 = b3t4.c1)
3298 Join Filter: (b3t1.c1 = b3t3.c1)
3300 Join Filter: (b3t1.c1 = b3t2.c1)
3303 TID Cond: (ctid = '(1,1)'::tid)
3305 -> Tid Scan on t1 b3t1
3306 TID Cond: (ctid = '(1,1)'::tid)
3307 -> Seq Scan on t2 b3t2
3308 Filter: (ctid = '(1,1)'::tid)
3309 -> Tid Scan on t3 b3t3
3310 TID Cond: (ctid = '(1,1)'::tid)
3311 -> Tid Scan on t4 b3t4
3312 TID Cond: (ctid = '(1,1)'::tid)
3318 b3t1 b3t2 b3t3 b3t4 r3_
3320 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3323 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3330 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3337 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3343 -----------------------------------------------------------------
3347 Join Filter: (b1t1.c1 = b1t4.c1)
3349 Join Filter: (b1t1.c1 = b1t3.c1)
3351 Join Filter: (b1t1.c1 = b1t2.c1)
3352 -> Tid Scan on t1 b1t1
3353 TID Cond: (ctid = '(1,1)'::tid)
3354 -> Seq Scan on t2 b1t2
3355 Filter: (ctid = '(1,1)'::tid)
3356 -> Tid Scan on t3 b1t3
3357 TID Cond: (ctid = '(1,1)'::tid)
3358 -> Tid Scan on t4 b1t4
3359 TID Cond: (ctid = '(1,1)'::tid)
3361 TID Cond: (ctid = '(1,1)'::tid)
3367 Join Filter: (b2t1.c1 = b2t4.c1)
3369 Join Filter: (b2t1.c1 = b2t3.c1)
3371 Join Filter: (b2t1.c1 = b2t2.c1)
3372 -> Tid Scan on t1 b2t1
3373 TID Cond: (ctid = '(1,1)'::tid)
3374 -> Seq Scan on t2 b2t2
3375 Filter: (ctid = '(1,1)'::tid)
3376 -> Tid Scan on t3 b2t3
3377 TID Cond: (ctid = '(1,1)'::tid)
3378 -> Tid Scan on t4 b2t4
3379 TID Cond: (ctid = '(1,1)'::tid)
3381 TID Cond: (ctid = '(1,1)'::tid)
3387 Join Filter: (b3t1.c1 = b3t4.c1)
3389 Join Filter: (b3t1.c1 = b3t3.c1)
3391 Join Filter: (b3t1.c1 = b3t2.c1)
3392 -> Tid Scan on t1 b3t1
3393 TID Cond: (ctid = '(1,1)'::tid)
3394 -> Seq Scan on t2 b3t2
3395 Filter: (ctid = '(1,1)'::tid)
3396 -> Tid Scan on t3 b3t3
3397 TID Cond: (ctid = '(1,1)'::tid)
3398 -> Tid Scan on t4 b3t4
3399 TID Cond: (ctid = '(1,1)'::tid)
3401 TID Cond: (ctid = '(1,1)'::tid)
3406 ---- No. L-2-4 VALUES clause
3409 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;
3411 -------------------------------------------------
3414 Hash Cond: (t2.c1 = "*VALUES*".column1)
3417 -> Values Scan on "*VALUES*"
3418 -> Index Scan using t1_i1 on t1
3419 Index Cond: (c1 = t2.c1)
3422 /*+ Leading(t3 t1 t2) */
3423 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;
3432 ---------------------------------------------
3434 Join Filter: (t1.c1 = "*VALUES*".column1)
3435 -> Values Scan on "*VALUES*"
3437 Merge Cond: (t1.c1 = t2.c1)
3438 -> Index Scan using t1_i1 on t1
3444 /*+ Leading(*VALUES* t1 t2) */
3445 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;
3448 Leading(*VALUES* t1 t2)
3454 -----------------------------------------------------
3457 -> Values Scan on "*VALUES*"
3458 -> Index Scan using t1_i1 on t1
3459 Index Cond: (c1 = "*VALUES*".column1)
3460 -> Index Scan using t2_i1 on t2
3461 Index Cond: (c1 = t1.c1)
3465 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;
3467 -------------------------------------------------------
3469 Join Filter: (t1.c1 = "*VALUES*".column1)
3472 Hash Cond: (t2.c1 = "*VALUES*".column1)
3475 -> Values Scan on "*VALUES*"
3476 -> Index Scan using t1_i1 on t1
3477 Index Cond: (c1 = t2.c1)
3478 -> Values Scan on "*VALUES*"
3481 /*+ Leading(t4 t3 t2 t1) */
3482 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
3485 Leading(t4 t3 t2 t1)
3491 ---------------------------------------------------
3493 Join Filter: (t1.c1 = "*VALUES*".column1)
3495 Join Filter: (t1.c1 = "*VALUES*".column1)
3497 Merge Cond: (t1.c1 = t2.c1)
3498 -> Index Scan using t1_i1 on t1
3502 -> Values Scan on "*VALUES*"
3503 -> Values Scan on "*VALUES*"
3506 /*+ Leading(*VALUES* t3 t2 t1) */
3507 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
3508 INFO: hint syntax error at or near "Leading(*VALUES* t3 t2 t1) "
3509 DETAIL: Relation name "*VALUES*" is ambiguous.
3513 Leading(*VALUES* t3 t2 t1)
3518 -------------------------------------------------------
3520 Join Filter: (t1.c1 = "*VALUES*".column1)
3523 Hash Cond: (t2.c1 = "*VALUES*".column1)
3526 -> Values Scan on "*VALUES*"
3527 -> Index Scan using t1_i1 on t1
3528 Index Cond: (c1 = t2.c1)
3529 -> Values Scan on "*VALUES*"
3533 ---- No. L-3-1 leading the order of table joins
3535 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3537 ------------------------------------------
3539 Merge Cond: (t1.c1 = t2.c1)
3541 Merge Cond: (t1.c1 = t3.c1)
3542 -> Index Scan using t1_i1 on t1
3543 -> Index Scan using t3_i1 on t3
3550 /*+Leading(t3 t1 t2)*/
3551 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3560 ------------------------------------------
3562 Merge Cond: (t1.c1 = t2.c1)
3564 Merge Cond: (t1.c1 = t3.c1)
3565 -> Index Scan using t1_i1 on t1
3566 -> Index Scan using t3_i1 on t3
3573 /*+Leading(t1 t2 t3)*/
3574 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3583 ------------------------------------------------
3585 Hash Cond: (t3.c1 = t1.c1)
3589 Merge Cond: (t1.c1 = t2.c1)
3590 -> Index Scan using t1_i1 on t1
3597 ---- No. L-3-2 GUC parameter to disable hints
3599 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3601 ------------------------------------------
3603 Merge Cond: (t1.c1 = t2.c1)
3605 Merge Cond: (t1.c1 = t3.c1)
3606 -> Index Scan using t1_i1 on t1
3607 -> Index Scan using t3_i1 on t3
3614 Set geqo_threshold = 3;
3616 /*+Leading(t1 t2 t3)*/
3617 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3626 ------------------------------------------
3628 Merge Cond: (t1.c1 = t2.c1)
3630 Merge Cond: (t1.c1 = t3.c1)
3631 -> Index Scan using t1_i1 on t1
3632 -> Index Scan using t3_i1 on t3
3638 Reset geqo_threshold;
3640 Set geqo_threshold = 4;
3642 /*+Leading(t1 t2 t3)*/
3643 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3652 ------------------------------------------------
3654 Hash Cond: (t3.c1 = t1.c1)
3658 Merge Cond: (t1.c1 = t2.c1)
3659 -> Index Scan using t1_i1 on t1
3665 Reset geqo_threshold;
3667 Set from_collapse_limit = 2;
3668 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.v2 WHERE t1.c1 = v2.c1;
3670 -----------------------------------------------------
3672 Hash Cond: (t1.c1 = v2t1.c1)
3676 Merge Cond: (v2t1.c1 = v2t2.c1)
3677 -> Index Scan using t1_i1 on t1 v2t1
3680 -> Seq Scan on t2 v2t2
3683 /*+Leading(t1 v2t1 v2t2)*/
3684 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.v2 WHERE t1.c1 = v2.c1;
3687 Leading(t1 v2t1 v2t2)
3693 -----------------------------------------------------
3695 Hash Cond: (t1.c1 = v2t1.c1)
3699 Merge Cond: (v2t1.c1 = v2t2.c1)
3700 -> Index Scan using t1_i1 on t1 v2t1
3703 -> Seq Scan on t2 v2t2
3706 Reset from_collapse_limit;
3708 Set from_collapse_limit = 3;
3709 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.v2 WHERE t1.c1 = v2.c1;
3711 -----------------------------------------------
3713 Merge Cond: (v2t1.c1 = v2t2.c1)
3715 Merge Cond: (t1.c1 = v2t1.c1)
3716 -> Index Scan using t1_i1 on t1
3717 -> Index Scan using t1_i1 on t1 v2t1
3720 -> Seq Scan on t2 v2t2
3723 /*+Leading(v2t1 v2t2 t1)*/
3724 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.v2 WHERE t1.c1 = v2.c1;
3727 Leading(v2t1 v2t2 t1)
3733 -----------------------------------------------------
3735 Hash Cond: (t1.c1 = v2t1.c1)
3739 Merge Cond: (v2t1.c1 = v2t2.c1)
3740 -> Index Scan using t1_i1 on t1 v2t1
3743 -> Seq Scan on t2 v2t2
3746 Reset from_collapse_limit;
3748 Set join_collapse_limit = 2;
3749 EXPLAIN (COSTS false) SELECT * FROM s1.t3
3750 JOIN s1.t2 ON (t3.c1 = t2.c1)
3751 JOIN s1.t1 ON (t1.c1 = t3.c1);
3753 ------------------------------------------
3755 Hash Cond: (t1.c1 = t3.c1)
3759 Hash Cond: (t3.c1 = t2.c1)
3765 /*+Leading(t1 t2 t3)*/
3766 EXPLAIN (COSTS false) SELECT * FROM s1.t3
3767 JOIN s1.t2 ON (t3.c1 = t2.c1)
3768 JOIN s1.t1 ON (t1.c1 = t3.c1);
3777 ------------------------------------------
3779 Hash Cond: (t1.c1 = t3.c1)
3783 Hash Cond: (t3.c1 = t2.c1)
3789 Reset join_collapse_limit;
3791 Set join_collapse_limit = 3;
3792 EXPLAIN (COSTS false) SELECT * FROM s1.t3
3793 JOIN s1.t2 ON (t3.c1 = t2.c1)
3794 JOIN s1.t1 ON (t1.c1 = t3.c1);
3796 ------------------------------------------------
3798 Hash Cond: (t3.c1 = t2.c1)
3802 Merge Cond: (t1.c1 = t2.c1)
3803 -> Index Scan using t1_i1 on t1
3809 /*+Leading(t1 t2 t3)*/
3810 EXPLAIN (COSTS false) SELECT * FROM s1.t3
3811 JOIN s1.t2 ON (t3.c1 = t2.c1)
3812 JOIN s1.t1 ON (t1.c1 = t3.c1);
3821 ------------------------------------------------
3823 Hash Cond: (t3.c1 = t2.c1)
3827 Merge Cond: (t1.c1 = t2.c1)
3828 -> Index Scan using t1_i1 on t1
3834 Reset join_collapse_limit;
3836 ---- No. L-3-3 join between parents or between children
3839 /*+Leading(t1 t2 t3)*/
3840 EXPLAIN (COSTS false) SELECT * FROM s1.p2c1 t1
3841 JOIN s1.p2c2 t2 ON (t1.c1 = t2.c1)
3842 JOIN s1.p2c3 t3 ON (t1.c1 = t3.c1);
3851 -----------------------------------------------
3853 Hash Cond: (t1.c1 = t3.c1)
3855 Hash Cond: (t1.c1 = t2.c1)
3857 -> Seq Scan on p2c1 t1
3858 -> Seq Scan on p2c1c1 t1
3859 -> Seq Scan on p2c1c2 t1
3862 -> Seq Scan on p2c2 t2
3863 -> Seq Scan on p2c2c1 t2
3864 -> Seq Scan on p2c2c2 t2
3867 -> Seq Scan on p2c3 t3
3868 -> Seq Scan on p2c3c1 t3
3869 -> Seq Scan on p2c3c2 t3
3873 /*+Leading(p2c1c1 p2c2c1 p2c3c1)*/
3874 EXPLAIN (COSTS false) SELECT * FROM s1.p2c1 t1
3875 JOIN s1.p2c2 t2 ON (t1.c1 = t2.c1)
3876 JOIN s1.p2c3 t3 ON (t1.c1 = t3.c1);
3880 Leading(p2c1c1 p2c2c1 p2c3c1)
3885 -----------------------------------------------
3887 Hash Cond: (t1.c1 = t3.c1)
3889 Hash Cond: (t1.c1 = t2.c1)
3891 -> Seq Scan on p2c1 t1
3892 -> Seq Scan on p2c1c1 t1
3893 -> Seq Scan on p2c1c2 t1
3896 -> Seq Scan on p2c2 t2
3897 -> Seq Scan on p2c2c1 t2
3898 -> Seq Scan on p2c2c2 t2
3901 -> Seq Scan on p2c3 t3
3902 -> Seq Scan on p2c3c1 t3
3903 -> Seq Scan on p2c3c2 t3
3907 ---- No. L-3-4 conflict leading hint
3910 EXPLAIN (COSTS false) SELECT * FROM s1.t1
3911 JOIN s1.t2 ON (t1.c1 = t2.c1)
3912 JOIN s1.t3 ON (t1.c1 = t3.c1);
3914 ------------------------------------------
3916 Merge Cond: (t1.c1 = t2.c1)
3918 Merge Cond: (t1.c1 = t3.c1)
3919 -> Index Scan using t1_i1 on t1
3920 -> Index Scan using t3_i1 on t3
3926 /*+Leading(t2 t3 t1)Leading(t1 t2 t3)*/
3927 EXPLAIN (COSTS false) SELECT * FROM s1.t1
3928 JOIN s1.t2 ON (t1.c1 = t2.c1)
3929 JOIN s1.t3 ON (t1.c1 = t3.c1);
3930 INFO: hint syntax error at or near "Leading(t2 t3 t1)Leading(t1 t2 t3)"
3931 DETAIL: Conflict leading hint.
3941 ------------------------------------------------
3943 Hash Cond: (t3.c1 = t1.c1)
3947 Merge Cond: (t1.c1 = t2.c1)
3948 -> Index Scan using t1_i1 on t1
3955 /*+Leading(t3 t1 t2)Leading(t2 t3 t1)Leading(t1 t2 t3)*/
3956 EXPLAIN (COSTS false) SELECT * FROM s1.t1
3957 JOIN s1.t2 ON (t1.c1 = t2.c1)
3958 JOIN s1.t3 ON (t1.c1 = t3.c1);
3959 INFO: hint syntax error at or near "Leading(t3 t1 t2)Leading(t2 t3 t1)Leading(t1 t2 t3)"
3960 DETAIL: Conflict leading hint.
3961 INFO: hint syntax error at or near "Leading(t2 t3 t1)Leading(t1 t2 t3)"
3962 DETAIL: Conflict leading hint.
3973 ------------------------------------------------
3975 Hash Cond: (t3.c1 = t1.c1)
3979 Merge Cond: (t1.c1 = t2.c1)
3980 -> Index Scan using t1_i1 on t1
3987 /*+Leading(t2 t3 t1)Leading()*/
3988 EXPLAIN (COSTS false) SELECT * FROM s1.t1
3989 JOIN s1.t2 ON (t1.c1 = t2.c1)
3990 JOIN s1.t3 ON (t1.c1 = t3.c1);
3991 INFO: hint syntax error at or near "Leading()"
3992 DETAIL: Leading hint requires at least two relations.
3993 INFO: hint syntax error at or near "Leading(t2 t3 t1)Leading()"
3994 DETAIL: Conflict leading hint.
4004 ------------------------------------------
4006 Merge Cond: (t1.c1 = t2.c1)
4008 Merge Cond: (t1.c1 = t3.c1)
4009 -> Index Scan using t1_i1 on t1
4010 -> Index Scan using t3_i1 on t3
4017 /*+Leading(t3 t1 t2)Leading(t2 t3 t1)Leading()*/
4018 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4019 JOIN s1.t2 ON (t1.c1 = t2.c1)
4020 JOIN s1.t3 ON (t1.c1 = t3.c1);
4021 INFO: hint syntax error at or near "Leading()"
4022 DETAIL: Leading hint requires at least two relations.
4023 INFO: hint syntax error at or near "Leading(t3 t1 t2)Leading(t2 t3 t1)Leading()"
4024 DETAIL: Conflict leading hint.
4025 INFO: hint syntax error at or near "Leading(t2 t3 t1)Leading()"
4026 DETAIL: Conflict leading hint.
4037 ------------------------------------------
4039 Merge Cond: (t1.c1 = t2.c1)
4041 Merge Cond: (t1.c1 = t3.c1)
4042 -> Index Scan using t1_i1 on t1
4043 -> Index Scan using t3_i1 on t3
4050 ---- No. L-3-5 hint state output
4054 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4055 JOIN s1.t2 ON (t1.c1 = t2.c1)
4056 JOIN s1.t3 ON (t1.c1 = t3.c1);
4057 INFO: hint syntax error at or near "Leading()"
4058 DETAIL: Leading hint requires at least two relations.
4067 ------------------------------------------
4069 Merge Cond: (t1.c1 = t2.c1)
4071 Merge Cond: (t1.c1 = t3.c1)
4072 -> Index Scan using t1_i1 on t1
4073 -> Index Scan using t3_i1 on t3
4081 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4082 JOIN s1.t2 ON (t1.c1 = t2.c1)
4083 JOIN s1.t3 ON (t1.c1 = t3.c1);
4084 INFO: hint syntax error at or near "Leading(t1)"
4085 DETAIL: Leading hint requires at least two relations.
4094 ------------------------------------------
4096 Merge Cond: (t1.c1 = t2.c1)
4098 Merge Cond: (t1.c1 = t3.c1)
4099 -> Index Scan using t1_i1 on t1
4100 -> Index Scan using t3_i1 on t3
4108 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4109 JOIN s1.t2 ON (t1.c1 = t2.c1)
4110 JOIN s1.t3 ON (t1.c1 = t3.c1);
4119 ------------------------------------------
4122 Merge Cond: (t1.c1 = t2.c1)
4123 -> Index Scan using t1_i1 on t1
4127 -> Index Scan using t3_i1 on t3
4128 Index Cond: (c1 = t1.c1)
4132 /*+Leading(t1 t2 t3)*/
4133 EXPLAIN (COSTS false) SELECT * FROM s1.t1
4134 JOIN s1.t2 ON (t1.c1 = t2.c1)
4135 JOIN s1.t3 ON (t1.c1 = t3.c1);
4144 ------------------------------------------------
4146 Hash Cond: (t3.c1 = t1.c1)
4150 Merge Cond: (t1.c1 = t2.c1)
4151 -> Index Scan using t1_i1 on t1