2 SET pg_hint_plan.enable TO on;
3 SET pg_hint_plan.debug_print TO on;
4 SET client_min_messages TO LOG;
5 SET search_path TO public;
6 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
8 ------------------------------------
10 Merge Cond: (t1.c1 = t2.c1)
11 -> Index Scan using t1_i1 on t1
18 ---- No. J-1-1 specified pattern of the object name
22 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
31 ------------------------------
33 Hash Cond: (t1.c1 = t2.c1)
41 EXPLAIN (COSTS false) SELECT * FROM s1.t1 t_1, s1.t2 t_2 WHERE t_1.c1 = t_2.c1;
50 ----------------------------------------
52 Merge Cond: (t_1.c1 = t_2.c1)
53 -> Index Scan using t1_i1 on t1 t_1
60 /*+HashJoin(t_1 t_2)*/
61 EXPLAIN (COSTS false) SELECT * FROM s1.t1 t_1, s1.t2 t_2 WHERE t_1.c1 = t_2.c1;
70 --------------------------------
72 Hash Cond: (t_1.c1 = t_2.c1)
79 ---- No. J-1-2 specified schema name in the hint option
83 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
92 ------------------------------
94 Hash Cond: (t1.c1 = t2.c1)
101 /*+HashJoin(s1.t1 s1.t2)*/
102 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
106 HashJoin(s1.t1 s1.t2)
111 ------------------------------------
113 Merge Cond: (t1.c1 = t2.c1)
114 -> Index Scan using t1_i1 on t1
121 ---- No. J-1-3 table doesn't exist in the hint option
125 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
134 ------------------------------
136 Hash Cond: (t1.c1 = t2.c1)
144 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
153 ------------------------------------
155 Merge Cond: (t1.c1 = t2.c1)
156 -> Index Scan using t1_i1 on t1
163 ---- No. J-1-4 conflict table name
167 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
176 ------------------------------
178 Hash Cond: (t1.c1 = t2.c1)
185 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 WHERE s1.t1.c1 = s2.t1.c1;
187 -------------------------------------
189 Merge Cond: (s1.t1.c1 = s2.t1.c1)
190 -> Index Scan using t1_i1 on t1
197 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 WHERE s1.t1.c1 = s2.t1.c1;
198 INFO: hint syntax error at or near "HashJoin(t1 t1)"
199 DETAIL: Relation name "t1" is ambiguous.
208 -------------------------------------
210 Merge Cond: (s1.t1.c1 = s2.t1.c1)
211 -> Index Scan using t1_i1 on t1
217 /*+HashJoin(s1.t1 s2.t1)*/
218 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 WHERE s1.t1.c1 = s2.t1.c1;
222 HashJoin(s1.t1 s2.t1)
227 -------------------------------------
229 Merge Cond: (s1.t1.c1 = s2.t1.c1)
230 -> Index Scan using t1_i1 on t1
236 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 s2t1 WHERE s1.t1.c1 = s2t1.c1;
238 ------------------------------------
240 Merge Cond: (t1.c1 = s2t1.c1)
241 -> Index Scan using t1_i1 on t1
244 -> Seq Scan on t1 s2t1
247 /*+HashJoin(t1 s2t1)*/
248 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 s2t1 WHERE s1.t1.c1 = s2t1.c1;
257 ---------------------------------
259 Hash Cond: (t1.c1 = s2t1.c1)
262 -> Seq Scan on t1 s2t1
266 EXPLAIN (COSTS false) SELECT *, (SELECT max(t1.c1) FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1) FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
268 ---------------------------------------------------
270 Merge Cond: (s1.t1.c1 = s1.t2.c1)
271 InitPlan 1 (returns $0)
274 Merge Cond: (s1.t1.c1 = s1.t2.c1)
275 -> Index Scan using t1_i1 on t1
279 -> Index Scan using t1_i1 on t1
286 EXPLAIN (COSTS false) SELECT *, (SELECT max(t1.c1) FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1) FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
295 --------------------------------------------------
297 Hash Cond: (s1.t1.c1 = s1.t2.c1)
298 InitPlan 1 (returns $0)
301 Hash Cond: (s1.t1.c1 = s1.t2.c1)
310 /*+NestLoop(st1 st2)HashJoin(t1 t2)*/
311 EXPLAIN (COSTS false) SELECT *, (SELECT max(st1.c1) FROM s1.t1 st1, s1.t2 st2 WHERE st1.c1 = st2.c1) FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
321 ------------------------------------------------------
323 Hash Cond: (t1.c1 = t2.c1)
324 InitPlan 1 (returns $1)
327 -> Seq Scan on t2 st2
328 -> Index Scan using t1_i1 on t1 st1
329 Index Cond: (c1 = st2.c1)
336 ---- No. J-1-5 conflict table name
340 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
349 ------------------------------
351 Hash Cond: (t1.c1 = t2.c1)
359 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
360 INFO: hint syntax error at or near "HashJoin(t1 t1)"
361 DETAIL: Relation name "t1" is duplicate.
370 ------------------------------------
372 Merge Cond: (t1.c1 = t2.c1)
373 -> Index Scan using t1_i1 on t1
380 /*+HashJoin(t1 t1)HashJoin(t2 t2)*/
381 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
382 INFO: hint syntax error at or near "HashJoin(t1 t1)HashJoin(t2 t2)"
383 DETAIL: Relation name "t1" is duplicate.
384 INFO: hint syntax error at or near "HashJoin(t2 t2)"
385 DETAIL: Relation name "t2" is duplicate.
395 ------------------------------------
397 Merge Cond: (t1.c1 = t2.c1)
398 -> Index Scan using t1_i1 on t1
404 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
406 ------------------------------------------
408 Merge Cond: (t1.c1 = t2.c1)
410 Merge Cond: (t1.c1 = t3.c1)
411 -> Index Scan using t1_i1 on t1
412 -> Index Scan using t3_i1 on t3
418 /*+HashJoin(t1 t2 t1 t2)*/
419 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;
420 INFO: hint syntax error at or near "HashJoin(t1 t2 t1 t2)"
421 DETAIL: Relation name "t1" is duplicate.
427 HashJoin(t1 t1 t2 t2)
430 ------------------------------------------------
432 Merge Cond: (t1.c1 = t2.c1)
434 Merge Cond: (t1.c1 = t4.c1)
436 Merge Cond: (t1.c1 = t3.c1)
437 -> Index Scan using t1_i1 on t1
438 -> Index Scan using t3_i1 on t3
439 -> Index Scan using t4_i1 on t4
446 ---- No. J-1-6 object type for the hint
450 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
459 ------------------------------
461 Hash Cond: (t1.c1 = t2.c1)
468 EXPLAIN (COSTS false) SELECT * FROM s1.p1 t1, s1.p1 t2 WHERE t1.c1 = t2.c1;
470 ---------------------------------------
472 Hash Cond: (t1.c1 = t2.c1)
475 -> Seq Scan on p1c1 t1
476 -> Seq Scan on p1c2 t1
477 -> Seq Scan on p1c3 t1
481 -> Seq Scan on p1c1 t2
482 -> Seq Scan on p1c2 t2
483 -> Seq Scan on p1c3 t2
487 EXPLAIN (COSTS false) SELECT * FROM s1.p1 t1, s1.p1 t2 WHERE t1.c1 = t2.c1;
496 -----------------------------------------------------------
498 Join Filter: (t1.c1 = t2.c1)
501 -> Seq Scan on p1c1 t1
502 -> Seq Scan on p1c2 t1
503 -> Seq Scan on p1c3 t1
505 -> Index Scan using p1_i on p1 t2
506 Index Cond: ((c1 = t1.c1) AND (c1 = t1.c1))
507 -> Index Scan using p1c1_i on p1c1 t2
508 Index Cond: ((c1 = t1.c1) AND (c1 = t1.c1))
509 -> Index Scan using p1c2_i on p1c2 t2
510 Index Cond: ((c1 = t1.c1) AND (c1 = t1.c1))
511 -> Index Scan using p1c3_i on p1c3 t2
512 Index Cond: ((c1 = t1.c1) AND (c1 = t1.c1))
516 EXPLAIN (COSTS false) SELECT * FROM s1.ul1 t1, s1.ul1 t2 WHERE t1.c1 = t2.c1;
518 --------------------------------
520 Hash Cond: (t1.c1 = t2.c1)
521 -> Seq Scan on ul1 t1
523 -> Seq Scan on ul1 t2
527 EXPLAIN (COSTS false) SELECT * FROM s1.ul1 t1, s1.ul1 t2 WHERE t1.c1 = t2.c1;
536 -------------------------------------------
538 -> Seq Scan on ul1 t1
539 -> Index Scan using ul1_pkey on ul1 t2
540 Index Cond: (c1 = t1.c1)
544 CREATE TEMP TABLE tm1 (LIKE s1.t1 INCLUDING ALL);
545 NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "tm1_pkey" for table "tm1"
546 EXPLAIN (COSTS false) SELECT * FROM tm1 t1, tm1 t2 WHERE t1.c1 = t2.c1;
548 --------------------------------
550 Hash Cond: (t1.c1 = t2.c1)
551 -> Seq Scan on tm1 t1
553 -> Seq Scan on tm1 t2
557 EXPLAIN (COSTS false) SELECT * FROM tm1 t1, tm1 t2 WHERE t1.c1 = t2.c1;
566 -------------------------------------------
568 -> Seq Scan on tm1 t1
569 -> Index Scan using tm1_pkey on tm1 t2
570 Index Cond: (c1 = t1.c1)
574 EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class t1, pg_catalog.pg_class t2 WHERE t1.oid = t2.oid;
576 -------------------------------------
578 Hash Cond: (t1.oid = t2.oid)
579 -> Seq Scan on pg_class t1
581 -> Seq Scan on pg_class t2
585 EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class t1, pg_catalog.pg_class t2 WHERE t1.oid = t2.oid;
594 ----------------------------------------------------------
596 -> Seq Scan on pg_class t1
597 -> Index Scan using pg_class_oid_index on pg_class t2
598 Index Cond: (oid = t1.oid)
604 EXPLAIN (COSTS false) SELECT * FROM s1.f1() t1, s1.f1() t2 WHERE t1.c1 = t2.c1;
606 --------------------------------
608 Join Filter: (t1.c1 = t2.c1)
609 -> Function Scan on f1 t1
610 -> Function Scan on f1 t2
614 EXPLAIN (COSTS false) SELECT * FROM s1.f1() t1, s1.f1() t2 WHERE t1.c1 = t2.c1;
623 ------------------------------------
625 Hash Cond: (t1.c1 = t2.c1)
626 -> Function Scan on f1 t1
628 -> Function Scan on f1 t2
632 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3')) AS t2 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1;
634 --------------------------------------------------------
636 Hash Cond: ("*VALUES*".column1 = "*VALUES*".column1)
637 -> Values Scan on "*VALUES*"
639 -> Values Scan on "*VALUES*"
643 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3')) AS t2 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1;
652 --------------------------------------------------------
654 Hash Cond: ("*VALUES*".column1 = "*VALUES*".column1)
655 -> Values Scan on "*VALUES*"
657 -> Values Scan on "*VALUES*"
660 /*+NestLoop(*VALUES* *VALUES*)*/
661 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3')) AS t2 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1;
662 INFO: hint syntax error at or near "NestLoop(*VALUES* *VALUES*)"
663 DETAIL: Relation name "*VALUES*" is ambiguous.
669 NestLoop(*VALUES* *VALUES*)
672 --------------------------------------------------------
674 Hash Cond: ("*VALUES*".column1 = "*VALUES*".column1)
675 -> Values Scan on "*VALUES*"
677 -> Values Scan on "*VALUES*"
681 EXPLAIN (COSTS false) WITH c1(c1) AS (SELECT max(t1.c1) FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1) SELECT * FROM s1.t1, c1 WHERE t1.c1 = c1.c1;
683 --------------------------------------------------
688 Merge Cond: (s1.t1.c1 = t2.c1)
689 -> Index Scan using t1_i1 on t1
694 -> Index Scan using t1_i1 on t1
695 Index Cond: (c1 = c1.c1)
698 /*+NestLoop(t1 t2)HashJoin(t1 c1)*/
699 EXPLAIN (COSTS false) WITH c1(c1) AS (SELECT max(t1.c1) FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1) SELECT * FROM s1.t1, c1 WHERE t1.c1 = c1.c1;
709 --------------------------------------------------
711 Hash Cond: (s1.t1.c1 = c1.c1)
716 -> Index Scan using t1_i1 on t1
717 Index Cond: (c1 = t2.c1)
724 EXPLAIN (COSTS false) SELECT * FROM s1.v1 t1, s1.v1 t2 WHERE t1.c1 = t2.c1;
726 ----------------------------------
728 Hash Cond: (v1t1.c1 = v1t1.c1)
729 -> Seq Scan on t1 v1t1
731 -> Seq Scan on t1 v1t1
735 EXPLAIN (COSTS false) SELECT * FROM s1.v1 t1, s1.v1 t2 WHERE t1.c1 = t2.c1;
744 ----------------------------------
746 Hash Cond: (v1t1.c1 = v1t1.c1)
747 -> Seq Scan on t1 v1t1
749 -> Seq Scan on t1 v1t1
752 /*+NestLoop(v1t1 v1t1_)*/
753 EXPLAIN (COSTS false) SELECT * FROM s1.v1 t1, s1.v1_ t2 WHERE t1.c1 = t2.c1;
762 ------------------------------------------
764 -> Seq Scan on t1 v1t1
765 -> Index Scan using t1_i1 on t1 v1t1_
766 Index Cond: (c1 = v1t1.c1)
770 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.c1 = (SELECT max(st1.c1) FROM s1.t1 st1, s1.t2 st2 WHERE st1.c1 = st2.c1);
772 ------------------------------------------------------
774 InitPlan 1 (returns $0)
777 Merge Cond: (st1.c1 = st2.c1)
778 -> Index Scan using t1_i1 on t1 st1
781 -> Seq Scan on t2 st2
782 -> Index Scan using t1_i1 on t1
783 Index Cond: (c1 = $0)
788 /*+MergeJoin(t1 t2)NestLoop(st1 st2)*/
789 EXPLAIN (COSTS true) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.c1 = (SELECT max(st1.c1) FROM s1.t1 st1, s1.t2 st2 WHERE st1.c1 = st2.c1);
799 ----------------------------------------------------------------------------------------
800 Nested Loop (cost=10000000074.28..10000000084.81 rows=1 width=29)
801 InitPlan 1 (returns $1)
802 -> Aggregate (cost=74.27..74.28 rows=1 width=4)
803 -> Nested Loop (cost=0.00..74.02 rows=100 width=4)
804 -> Seq Scan on t2 st2 (cost=0.00..2.00 rows=100 width=4)
805 -> Index Scan using t1_i1 on t1 st1 (cost=0.00..0.71 rows=1 width=4)
806 Index Cond: (c1 = st2.c1)
807 -> Index Scan using t1_i1 on t1 (cost=0.00..8.27 rows=1 width=15)
808 Index Cond: (c1 = $1)
809 -> Seq Scan on t2 (cost=0.00..2.25 rows=1 width=14)
813 EXPLAIN (COSTS false) SELECT * FROM s1.t1, (SELECT t2.c1 FROM s1.t2) st2 WHERE t1.c1 = st2.c1;
815 ------------------------------------
817 Merge Cond: (t1.c1 = t2.c1)
818 -> Index Scan using t1_i1 on t1
824 /*+HashJoin(t1 st2)*/
825 EXPLAIN (COSTS false) SELECT * FROM s1.t1, (SELECT t2.c1 FROM s1.t2) st2 WHERE t1.c1 = st2.c1;
834 ------------------------------------
836 Merge Cond: (t1.c1 = t2.c1)
837 -> Index Scan using t1_i1 on t1
844 EXPLAIN (COSTS false) SELECT * FROM s1.t1, (SELECT t2.c1 FROM s1.t2) st2 WHERE t1.c1 = st2.c1;
853 ------------------------------
855 Hash Cond: (t1.c1 = t2.c1)
862 ---- No. J-2-1 complexity query block
865 EXPLAIN (COSTS false)
866 SELECT max(bmt1.c1), (
867 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)'
869 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)'
871 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)'
874 -------------------------------------------------------------------
876 InitPlan 1 (returns $0)
879 Join Filter: (b1t1.c1 = b1t4.c1)
881 Join Filter: (b1t1.c1 = b1t3.c1)
883 Join Filter: (b1t1.c1 = b1t2.c1)
884 -> Tid Scan on t1 b1t1
885 TID Cond: (ctid = '(1,1)'::tid)
886 -> Seq Scan on t2 b1t2
887 Filter: (ctid = '(1,1)'::tid)
888 -> Tid Scan on t3 b1t3
889 TID Cond: (ctid = '(1,1)'::tid)
890 -> Tid Scan on t4 b1t4
891 TID Cond: (ctid = '(1,1)'::tid)
892 InitPlan 2 (returns $1)
895 Join Filter: (b2t1.c1 = b2t4.c1)
897 Join Filter: (b2t1.c1 = b2t3.c1)
899 Join Filter: (b2t1.c1 = b2t2.c1)
900 -> Tid Scan on t1 b2t1
901 TID Cond: (ctid = '(1,1)'::tid)
902 -> Seq Scan on t2 b2t2
903 Filter: (ctid = '(1,1)'::tid)
904 -> Tid Scan on t3 b2t3
905 TID Cond: (ctid = '(1,1)'::tid)
906 -> Tid Scan on t4 b2t4
907 TID Cond: (ctid = '(1,1)'::tid)
909 Join Filter: (bmt1.c1 = bmt4.c1)
911 Join Filter: (bmt1.c1 = bmt3.c1)
913 Join Filter: (bmt1.c1 = bmt2.c1)
914 -> Tid Scan on t1 bmt1
915 TID Cond: (ctid = '(1,1)'::tid)
916 -> Seq Scan on t2 bmt2
917 Filter: (ctid = '(1,1)'::tid)
918 -> Tid Scan on t3 bmt3
919 TID Cond: (ctid = '(1,1)'::tid)
920 -> Tid Scan on t4 bmt4
921 TID Cond: (ctid = '(1,1)'::tid)
925 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
926 MergeJoin(bmt1 bmt2)HashJoin(bmt1 bmt2 bmt3)NestLoop(bmt1 bmt2 bmt3 bmt4)
927 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
928 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
930 EXPLAIN (COSTS false)
931 SELECT max(bmt1.c1), (
932 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)'
934 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)'
936 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)'
943 HashJoin(b1t2 b1t3 b1t4)
944 HashJoin(b2t1 b2t3 b2t4)
945 HashJoin(bmt1 bmt2 bmt3)
946 NestLoop(b1t1 b1t2 b1t3 b1t4)
947 NestLoop(b2t1 b2t2 b2t3 b2t4)
948 NestLoop(bmt1 bmt2 bmt3 bmt4)
949 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
955 -------------------------------------------------------------------------------
957 InitPlan 1 (returns $0)
960 Join Filter: (b1t2.c1 = b1t1.c1)
962 Hash Cond: (b1t4.c1 = b1t2.c1)
963 -> Tid Scan on t4 b1t4
964 TID Cond: (ctid = '(1,1)'::tid)
967 Merge Cond: (b1t2.c1 = b1t3.c1)
970 -> Seq Scan on t2 b1t2
971 Filter: (ctid = '(1,1)'::tid)
974 -> Tid Scan on t3 b1t3
975 TID Cond: (ctid = '(1,1)'::tid)
976 -> Tid Scan on t1 b1t1
977 TID Cond: (ctid = '(1,1)'::tid)
978 InitPlan 2 (returns $1)
981 Join Filter: (b2t1.c1 = b2t2.c1)
983 Hash Cond: (b2t1.c1 = b2t3.c1)
984 -> Tid Scan on t1 b2t1
985 TID Cond: (ctid = '(1,1)'::tid)
988 Merge Cond: (b2t3.c1 = b2t4.c1)
991 -> Tid Scan on t3 b2t3
992 TID Cond: (ctid = '(1,1)'::tid)
995 -> Tid Scan on t4 b2t4
996 TID Cond: (ctid = '(1,1)'::tid)
997 -> Seq Scan on t2 b2t2
998 Filter: (ctid = '(1,1)'::tid)
1000 Join Filter: (bmt1.c1 = bmt4.c1)
1002 Hash Cond: (bmt3.c1 = bmt1.c1)
1003 -> Tid Scan on t3 bmt3
1004 TID Cond: (ctid = '(1,1)'::tid)
1007 Merge Cond: (bmt1.c1 = bmt2.c1)
1010 -> Tid Scan on t1 bmt1
1011 TID Cond: (ctid = '(1,1)'::tid)
1014 -> Seq Scan on t2 bmt2
1015 Filter: (ctid = '(1,1)'::tid)
1016 -> Tid Scan on t4 bmt4
1017 TID Cond: (ctid = '(1,1)'::tid)
1021 EXPLAIN (COSTS false)
1022 SELECT max(bmt1.c1), (
1023 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)'
1025 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)'
1027 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)'
1029 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)'
1032 -------------------------------------------------------------------
1034 InitPlan 1 (returns $0)
1037 Join Filter: (b1t1.c1 = b1t4.c1)
1039 Join Filter: (b1t1.c1 = b1t3.c1)
1041 Join Filter: (b1t1.c1 = b1t2.c1)
1042 -> Tid Scan on t1 b1t1
1043 TID Cond: (ctid = '(1,1)'::tid)
1044 -> Seq Scan on t2 b1t2
1045 Filter: (ctid = '(1,1)'::tid)
1046 -> Tid Scan on t3 b1t3
1047 TID Cond: (ctid = '(1,1)'::tid)
1048 -> Tid Scan on t4 b1t4
1049 TID Cond: (ctid = '(1,1)'::tid)
1050 InitPlan 2 (returns $1)
1053 Join Filter: (b2t1.c1 = b2t4.c1)
1055 Join Filter: (b2t1.c1 = b2t3.c1)
1057 Join Filter: (b2t1.c1 = b2t2.c1)
1058 -> Tid Scan on t1 b2t1
1059 TID Cond: (ctid = '(1,1)'::tid)
1060 -> Seq Scan on t2 b2t2
1061 Filter: (ctid = '(1,1)'::tid)
1062 -> Tid Scan on t3 b2t3
1063 TID Cond: (ctid = '(1,1)'::tid)
1064 -> Tid Scan on t4 b2t4
1065 TID Cond: (ctid = '(1,1)'::tid)
1066 InitPlan 3 (returns $2)
1069 Join Filter: (b3t1.c1 = b3t4.c1)
1071 Join Filter: (b3t1.c1 = b3t3.c1)
1073 Join Filter: (b3t1.c1 = b3t2.c1)
1074 -> Tid Scan on t1 b3t1
1075 TID Cond: (ctid = '(1,1)'::tid)
1076 -> Seq Scan on t2 b3t2
1077 Filter: (ctid = '(1,1)'::tid)
1078 -> Tid Scan on t3 b3t3
1079 TID Cond: (ctid = '(1,1)'::tid)
1080 -> Tid Scan on t4 b3t4
1081 TID Cond: (ctid = '(1,1)'::tid)
1083 Join Filter: (bmt1.c1 = bmt4.c1)
1085 Join Filter: (bmt1.c1 = bmt3.c1)
1087 Join Filter: (bmt1.c1 = bmt2.c1)
1088 -> Tid Scan on t1 bmt1
1089 TID Cond: (ctid = '(1,1)'::tid)
1090 -> Seq Scan on t2 bmt2
1091 Filter: (ctid = '(1,1)'::tid)
1092 -> Tid Scan on t3 bmt3
1093 TID Cond: (ctid = '(1,1)'::tid)
1094 -> Tid Scan on t4 bmt4
1095 TID Cond: (ctid = '(1,1)'::tid)
1099 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1100 MergeJoin(bmt1 bmt2)HashJoin(bmt1 bmt2 bmt3)NestLoop(bmt1 bmt2 bmt3 bmt4)
1101 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
1102 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
1103 MergeJoin(b3t4 b3t1)HashJoin(b3t4 b3t1 b3t2)NestLoop(b3t1 b3t2 b3t3 b3t4)
1105 EXPLAIN (COSTS false)
1106 SELECT max(bmt1.c1), (
1107 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)'
1109 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)'
1111 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)'
1113 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)'
1117 MergeJoin(b1t2 b1t3)
1118 MergeJoin(b2t3 b2t4)
1119 MergeJoin(b3t1 b3t4)
1120 MergeJoin(bmt1 bmt2)
1121 HashJoin(b1t2 b1t3 b1t4)
1122 HashJoin(b2t1 b2t3 b2t4)
1123 HashJoin(b3t1 b3t2 b3t4)
1124 HashJoin(bmt1 bmt2 bmt3)
1125 NestLoop(b1t1 b1t2 b1t3 b1t4)
1126 NestLoop(b2t1 b2t2 b2t3 b2t4)
1127 NestLoop(b3t1 b3t2 b3t3 b3t4)
1128 NestLoop(bmt1 bmt2 bmt3 bmt4)
1129 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1135 -------------------------------------------------------------------------------
1137 InitPlan 1 (returns $0)
1140 Join Filter: (b1t2.c1 = b1t1.c1)
1142 Hash Cond: (b1t4.c1 = b1t2.c1)
1143 -> Tid Scan on t4 b1t4
1144 TID Cond: (ctid = '(1,1)'::tid)
1147 Merge Cond: (b1t2.c1 = b1t3.c1)
1150 -> Seq Scan on t2 b1t2
1151 Filter: (ctid = '(1,1)'::tid)
1154 -> Tid Scan on t3 b1t3
1155 TID Cond: (ctid = '(1,1)'::tid)
1156 -> Tid Scan on t1 b1t1
1157 TID Cond: (ctid = '(1,1)'::tid)
1158 InitPlan 2 (returns $1)
1161 Join Filter: (b2t1.c1 = b2t2.c1)
1163 Hash Cond: (b2t1.c1 = b2t3.c1)
1164 -> Tid Scan on t1 b2t1
1165 TID Cond: (ctid = '(1,1)'::tid)
1168 Merge Cond: (b2t3.c1 = b2t4.c1)
1171 -> Tid Scan on t3 b2t3
1172 TID Cond: (ctid = '(1,1)'::tid)
1175 -> Tid Scan on t4 b2t4
1176 TID Cond: (ctid = '(1,1)'::tid)
1177 -> Seq Scan on t2 b2t2
1178 Filter: (ctid = '(1,1)'::tid)
1179 InitPlan 3 (returns $2)
1182 Join Filter: (b3t1.c1 = b3t3.c1)
1184 Hash Cond: (b3t2.c1 = b3t1.c1)
1185 -> Seq Scan on t2 b3t2
1186 Filter: (ctid = '(1,1)'::tid)
1189 Merge Cond: (b3t1.c1 = b3t4.c1)
1192 -> Tid Scan on t1 b3t1
1193 TID Cond: (ctid = '(1,1)'::tid)
1196 -> Tid Scan on t4 b3t4
1197 TID Cond: (ctid = '(1,1)'::tid)
1198 -> Tid Scan on t3 b3t3
1199 TID Cond: (ctid = '(1,1)'::tid)
1201 Join Filter: (bmt1.c1 = bmt4.c1)
1203 Hash Cond: (bmt3.c1 = bmt1.c1)
1204 -> Tid Scan on t3 bmt3
1205 TID Cond: (ctid = '(1,1)'::tid)
1208 Merge Cond: (bmt1.c1 = bmt2.c1)
1211 -> Tid Scan on t1 bmt1
1212 TID Cond: (ctid = '(1,1)'::tid)
1215 -> Seq Scan on t2 bmt2
1216 Filter: (ctid = '(1,1)'::tid)
1217 -> Tid Scan on t4 bmt4
1218 TID Cond: (ctid = '(1,1)'::tid)
1222 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)';
1224 -----------------------------------------------------------
1227 Join Filter: (bmt1.c1 = bmt4.c1)
1229 Join Filter: (bmt1.c1 = bmt3.c1)
1231 Join Filter: (bmt1.c1 = bmt2.c1)
1232 -> Tid Scan on t1 bmt1
1233 TID Cond: (ctid = '(1,1)'::tid)
1234 -> Seq Scan on t2 bmt2
1235 Filter: (ctid = '(1,1)'::tid)
1236 -> Tid Scan on t3 bmt3
1237 TID Cond: (ctid = '(1,1)'::tid)
1238 -> Tid Scan on t4 bmt4
1239 TID Cond: (ctid = '(1,1)'::tid)
1243 Leading(bmt4 bmt3 bmt2 bmt1)
1244 MergeJoin(bmt4 bmt3)HashJoin(bmt4 bmt3 bmt2)NestLoop(bmt1 bmt2 bmt3 bmt4)
1246 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)';
1249 MergeJoin(bmt3 bmt4)
1250 HashJoin(bmt2 bmt3 bmt4)
1251 NestLoop(bmt1 bmt2 bmt3 bmt4)
1252 Leading(bmt4 bmt3 bmt2 bmt1)
1258 -----------------------------------------------------------------------
1261 Join Filter: (bmt2.c1 = bmt1.c1)
1263 Hash Cond: (bmt2.c1 = bmt3.c1)
1264 -> Seq Scan on t2 bmt2
1265 Filter: (ctid = '(1,1)'::tid)
1268 Merge Cond: (bmt3.c1 = bmt4.c1)
1271 -> Tid Scan on t3 bmt3
1272 TID Cond: (ctid = '(1,1)'::tid)
1275 -> Tid Scan on t4 bmt4
1276 TID Cond: (ctid = '(1,1)'::tid)
1277 -> Tid Scan on t1 bmt1
1278 TID Cond: (ctid = '(1,1)'::tid)
1282 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)';
1284 -----------------------------------------------------------
1287 Join Filter: (bmt1.c1 = bmt4.c1)
1289 Join Filter: (bmt1.c1 = bmt3.c1)
1291 Join Filter: (bmt1.c1 = bmt2.c1)
1292 -> Tid Scan on t1 bmt1
1293 TID Cond: (ctid = '(1,1)'::tid)
1294 -> Seq Scan on t2 bmt2
1295 Filter: (ctid = '(1,1)'::tid)
1296 -> Tid Scan on t3 bmt3
1297 TID Cond: (ctid = '(1,1)'::tid)
1298 -> Tid Scan on t4 bmt4
1299 TID Cond: (ctid = '(1,1)'::tid)
1303 Leading(bmt4 bmt3 bmt2 bmt1)
1304 MergeJoin(bmt4 bmt3)HashJoin(bmt4 bmt3 bmt2)NestLoop(bmt1 bmt2 bmt3 bmt4)
1306 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)';
1309 MergeJoin(bmt3 bmt4)
1310 HashJoin(bmt2 bmt3 bmt4)
1311 NestLoop(bmt1 bmt2 bmt3 bmt4)
1312 Leading(bmt4 bmt3 bmt2 bmt1)
1318 -----------------------------------------------------------------------
1321 Join Filter: (bmt2.c1 = bmt1.c1)
1323 Hash Cond: (bmt2.c1 = bmt3.c1)
1324 -> Seq Scan on t2 bmt2
1325 Filter: (ctid = '(1,1)'::tid)
1328 Merge Cond: (bmt3.c1 = bmt4.c1)
1331 -> Tid Scan on t3 bmt3
1332 TID Cond: (ctid = '(1,1)'::tid)
1335 -> Tid Scan on t4 bmt4
1336 TID Cond: (ctid = '(1,1)'::tid)
1337 -> Tid Scan on t1 bmt1
1338 TID Cond: (ctid = '(1,1)'::tid)
1342 EXPLAIN (COSTS false)
1343 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)'
1345 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)'
1347 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)'
1351 -------------------------------------------------------------------
1353 InitPlan 1 (returns $0)
1356 Join Filter: (b1t1.c1 = b1t4.c1)
1358 Join Filter: (b1t1.c1 = b1t3.c1)
1360 Join Filter: (b1t1.c1 = b1t2.c1)
1361 -> Tid Scan on t1 b1t1
1362 TID Cond: (ctid = '(1,1)'::tid)
1363 -> Seq Scan on t2 b1t2
1364 Filter: (ctid = '(1,1)'::tid)
1365 -> Tid Scan on t3 b1t3
1366 TID Cond: (ctid = '(1,1)'::tid)
1367 -> Tid Scan on t4 b1t4
1368 TID Cond: (ctid = '(1,1)'::tid)
1369 InitPlan 2 (returns $1)
1372 Join Filter: (b2t1.c1 = b2t4.c1)
1374 Join Filter: (b2t1.c1 = b2t3.c1)
1376 Join Filter: (b2t1.c1 = b2t2.c1)
1377 -> Tid Scan on t1 b2t1
1378 TID Cond: (ctid = '(1,1)'::tid)
1379 -> Seq Scan on t2 b2t2
1380 Filter: (ctid = '(1,1)'::tid)
1381 -> Tid Scan on t3 b2t3
1382 TID Cond: (ctid = '(1,1)'::tid)
1383 -> Tid Scan on t4 b2t4
1384 TID Cond: (ctid = '(1,1)'::tid)
1386 Join Filter: (bmt1.c1 = bmt4.c1)
1388 Join Filter: (bmt1.c1 = bmt2.c1)
1390 Join Filter: (bmt1.c1 = bmt3.c1)
1391 -> Tid Scan on t1 bmt1
1392 TID Cond: (ctid = '(1,1)'::tid)
1393 Filter: ((c1 <> $0) AND (c1 <> $1))
1394 -> Tid Scan on t3 bmt3
1395 TID Cond: (ctid = '(1,1)'::tid)
1396 -> Seq Scan on t2 bmt2
1397 Filter: (ctid = '(1,1)'::tid)
1398 -> Tid Scan on t4 bmt4
1399 TID Cond: (ctid = '(1,1)'::tid)
1403 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1404 MergeJoin(bmt1 bmt2)HashJoin(bmt1 bmt2 bmt3)NestLoop(bmt1 bmt2 bmt3 bmt4)
1405 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
1406 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
1408 EXPLAIN (COSTS false)
1409 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)'
1411 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)'
1413 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)'
1418 MergeJoin(b1t2 b1t3)
1419 MergeJoin(b2t3 b2t4)
1420 MergeJoin(bmt1 bmt2)
1421 HashJoin(b1t2 b1t3 b1t4)
1422 HashJoin(b2t1 b2t3 b2t4)
1423 HashJoin(bmt1 bmt2 bmt3)
1424 NestLoop(b1t1 b1t2 b1t3 b1t4)
1425 NestLoop(b2t1 b2t2 b2t3 b2t4)
1426 NestLoop(bmt1 bmt2 bmt3 bmt4)
1427 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1433 -------------------------------------------------------------------------------
1435 InitPlan 1 (returns $0)
1438 Join Filter: (b1t2.c1 = b1t1.c1)
1440 Hash Cond: (b1t4.c1 = b1t2.c1)
1441 -> Tid Scan on t4 b1t4
1442 TID Cond: (ctid = '(1,1)'::tid)
1445 Merge Cond: (b1t2.c1 = b1t3.c1)
1448 -> Seq Scan on t2 b1t2
1449 Filter: (ctid = '(1,1)'::tid)
1452 -> Tid Scan on t3 b1t3
1453 TID Cond: (ctid = '(1,1)'::tid)
1454 -> Tid Scan on t1 b1t1
1455 TID Cond: (ctid = '(1,1)'::tid)
1456 InitPlan 2 (returns $1)
1459 Join Filter: (b2t1.c1 = b2t2.c1)
1461 Hash Cond: (b2t1.c1 = b2t3.c1)
1462 -> Tid Scan on t1 b2t1
1463 TID Cond: (ctid = '(1,1)'::tid)
1466 Merge Cond: (b2t3.c1 = b2t4.c1)
1469 -> Tid Scan on t3 b2t3
1470 TID Cond: (ctid = '(1,1)'::tid)
1473 -> Tid Scan on t4 b2t4
1474 TID Cond: (ctid = '(1,1)'::tid)
1475 -> Seq Scan on t2 b2t2
1476 Filter: (ctid = '(1,1)'::tid)
1478 Join Filter: (bmt1.c1 = bmt4.c1)
1480 Hash Cond: (bmt3.c1 = bmt1.c1)
1481 -> Tid Scan on t3 bmt3
1482 TID Cond: (ctid = '(1,1)'::tid)
1485 Merge Cond: (bmt1.c1 = bmt2.c1)
1488 -> Tid Scan on t1 bmt1
1489 TID Cond: (ctid = '(1,1)'::tid)
1490 Filter: ((c1 <> $0) AND (c1 <> $1))
1493 -> Seq Scan on t2 bmt2
1494 Filter: (ctid = '(1,1)'::tid)
1495 -> Tid Scan on t4 bmt4
1496 TID Cond: (ctid = '(1,1)'::tid)
1500 EXPLAIN (COSTS false)
1501 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)'
1503 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)'
1505 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)'
1507 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)'
1511 ------------------------------------------------------------------------------
1513 InitPlan 1 (returns $0)
1516 Join Filter: (b1t1.c1 = b1t4.c1)
1518 Join Filter: (b1t1.c1 = b1t3.c1)
1520 Join Filter: (b1t1.c1 = b1t2.c1)
1521 -> Tid Scan on t1 b1t1
1522 TID Cond: (ctid = '(1,1)'::tid)
1523 -> Seq Scan on t2 b1t2
1524 Filter: (ctid = '(1,1)'::tid)
1525 -> Tid Scan on t3 b1t3
1526 TID Cond: (ctid = '(1,1)'::tid)
1527 -> Tid Scan on t4 b1t4
1528 TID Cond: (ctid = '(1,1)'::tid)
1529 InitPlan 2 (returns $1)
1532 Join Filter: (b2t1.c1 = b2t4.c1)
1534 Join Filter: (b2t1.c1 = b2t3.c1)
1536 Join Filter: (b2t1.c1 = b2t2.c1)
1537 -> Tid Scan on t1 b2t1
1538 TID Cond: (ctid = '(1,1)'::tid)
1539 -> Seq Scan on t2 b2t2
1540 Filter: (ctid = '(1,1)'::tid)
1541 -> Tid Scan on t3 b2t3
1542 TID Cond: (ctid = '(1,1)'::tid)
1543 -> Tid Scan on t4 b2t4
1544 TID Cond: (ctid = '(1,1)'::tid)
1545 InitPlan 3 (returns $2)
1548 Join Filter: (b3t1.c1 = b3t4.c1)
1550 Join Filter: (b3t1.c1 = b3t3.c1)
1552 Join Filter: (b3t1.c1 = b3t2.c1)
1553 -> Tid Scan on t1 b3t1
1554 TID Cond: (ctid = '(1,1)'::tid)
1555 -> Seq Scan on t2 b3t2
1556 Filter: (ctid = '(1,1)'::tid)
1557 -> Tid Scan on t3 b3t3
1558 TID Cond: (ctid = '(1,1)'::tid)
1559 -> Tid Scan on t4 b3t4
1560 TID Cond: (ctid = '(1,1)'::tid)
1562 Join Filter: (bmt1.c1 = bmt4.c1)
1564 Join Filter: (bmt1.c1 = bmt3.c1)
1566 Join Filter: (bmt1.c1 = bmt2.c1)
1567 -> Tid Scan on t1 bmt1
1568 TID Cond: (ctid = '(1,1)'::tid)
1569 Filter: ((c1 <> $0) AND (c1 <> $1) AND (c1 <> $2))
1570 -> Seq Scan on t2 bmt2
1571 Filter: (ctid = '(1,1)'::tid)
1572 -> Tid Scan on t3 bmt3
1573 TID Cond: (ctid = '(1,1)'::tid)
1574 -> Tid Scan on t4 bmt4
1575 TID Cond: (ctid = '(1,1)'::tid)
1579 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1580 MergeJoin(bmt1 bmt2)HashJoin(bmt1 bmt2 bmt3)NestLoop(bmt1 bmt2 bmt3 bmt4)
1581 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
1582 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
1583 MergeJoin(b3t4 b3t1)HashJoin(b3t4 b3t1 b3t2)NestLoop(b3t1 b3t2 b3t3 b3t4)
1585 EXPLAIN (COSTS false)
1586 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)'
1588 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)'
1590 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)'
1592 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)'
1597 MergeJoin(b1t2 b1t3)
1598 MergeJoin(b2t3 b2t4)
1599 MergeJoin(b3t1 b3t4)
1600 MergeJoin(bmt1 bmt2)
1601 HashJoin(b1t2 b1t3 b1t4)
1602 HashJoin(b2t1 b2t3 b2t4)
1603 HashJoin(b3t1 b3t2 b3t4)
1604 HashJoin(bmt1 bmt2 bmt3)
1605 NestLoop(b1t1 b1t2 b1t3 b1t4)
1606 NestLoop(b2t1 b2t2 b2t3 b2t4)
1607 NestLoop(b3t1 b3t2 b3t3 b3t4)
1608 NestLoop(bmt1 bmt2 bmt3 bmt4)
1609 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1615 ------------------------------------------------------------------------------------------
1617 InitPlan 1 (returns $0)
1620 Join Filter: (b1t2.c1 = b1t1.c1)
1622 Hash Cond: (b1t4.c1 = b1t2.c1)
1623 -> Tid Scan on t4 b1t4
1624 TID Cond: (ctid = '(1,1)'::tid)
1627 Merge Cond: (b1t2.c1 = b1t3.c1)
1630 -> Seq Scan on t2 b1t2
1631 Filter: (ctid = '(1,1)'::tid)
1634 -> Tid Scan on t3 b1t3
1635 TID Cond: (ctid = '(1,1)'::tid)
1636 -> Tid Scan on t1 b1t1
1637 TID Cond: (ctid = '(1,1)'::tid)
1638 InitPlan 2 (returns $1)
1641 Join Filter: (b2t1.c1 = b2t2.c1)
1643 Hash Cond: (b2t1.c1 = b2t3.c1)
1644 -> Tid Scan on t1 b2t1
1645 TID Cond: (ctid = '(1,1)'::tid)
1648 Merge Cond: (b2t3.c1 = b2t4.c1)
1651 -> Tid Scan on t3 b2t3
1652 TID Cond: (ctid = '(1,1)'::tid)
1655 -> Tid Scan on t4 b2t4
1656 TID Cond: (ctid = '(1,1)'::tid)
1657 -> Seq Scan on t2 b2t2
1658 Filter: (ctid = '(1,1)'::tid)
1659 InitPlan 3 (returns $2)
1662 Join Filter: (b3t1.c1 = b3t3.c1)
1664 Hash Cond: (b3t2.c1 = b3t1.c1)
1665 -> Seq Scan on t2 b3t2
1666 Filter: (ctid = '(1,1)'::tid)
1669 Merge Cond: (b3t1.c1 = b3t4.c1)
1672 -> Tid Scan on t1 b3t1
1673 TID Cond: (ctid = '(1,1)'::tid)
1676 -> Tid Scan on t4 b3t4
1677 TID Cond: (ctid = '(1,1)'::tid)
1678 -> Tid Scan on t3 b3t3
1679 TID Cond: (ctid = '(1,1)'::tid)
1681 Join Filter: (bmt1.c1 = bmt4.c1)
1683 Hash Cond: (bmt3.c1 = bmt1.c1)
1684 -> Tid Scan on t3 bmt3
1685 TID Cond: (ctid = '(1,1)'::tid)
1688 Merge Cond: (bmt1.c1 = bmt2.c1)
1691 -> Tid Scan on t1 bmt1
1692 TID Cond: (ctid = '(1,1)'::tid)
1693 Filter: ((c1 <> $0) AND (c1 <> $1) AND (c1 <> $2))
1696 -> Seq Scan on t2 bmt2
1697 Filter: (ctid = '(1,1)'::tid)
1698 -> Tid Scan on t4 bmt4
1699 TID Cond: (ctid = '(1,1)'::tid)
1703 EXPLAIN (COSTS false)
1705 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)'
1708 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)'
1710 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1712 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)'
1717 -----------------------------------------------------------------------
1722 Join Filter: (b1t1.c1 = b1t4.c1)
1724 Join Filter: (b1t1.c1 = b1t3.c1)
1726 Join Filter: (b1t1.c1 = b1t2.c1)
1727 -> Tid Scan on t1 b1t1
1728 TID Cond: (ctid = '(1,1)'::tid)
1729 -> Seq Scan on t2 b1t2
1730 Filter: (ctid = '(1,1)'::tid)
1731 -> Tid Scan on t3 b1t3
1732 TID Cond: (ctid = '(1,1)'::tid)
1733 -> Tid Scan on t4 b1t4
1734 TID Cond: (ctid = '(1,1)'::tid)
1738 Join Filter: (b2t1.c1 = b2t4.c1)
1740 Join Filter: (b2t1.c1 = b2t3.c1)
1742 Join Filter: (b2t1.c1 = b2t2.c1)
1743 -> Tid Scan on t1 b2t1
1744 TID Cond: (ctid = '(1,1)'::tid)
1745 -> Seq Scan on t2 b2t2
1746 Filter: (ctid = '(1,1)'::tid)
1747 -> Tid Scan on t3 b2t3
1748 TID Cond: (ctid = '(1,1)'::tid)
1749 -> Tid Scan on t4 b2t4
1750 TID Cond: (ctid = '(1,1)'::tid)
1752 Join Filter: (bmt1.c1 = c2.c1)
1754 Join Filter: (bmt1.c1 = c1.c1)
1756 Join Filter: (bmt1.c1 = bmt4.c1)
1758 Join Filter: (bmt1.c1 = bmt3.c1)
1760 Join Filter: (bmt1.c1 = bmt2.c1)
1761 -> Tid Scan on t1 bmt1
1762 TID Cond: (ctid = '(1,1)'::tid)
1763 -> Seq Scan on t2 bmt2
1764 Filter: (ctid = '(1,1)'::tid)
1765 -> Tid Scan on t3 bmt3
1766 TID Cond: (ctid = '(1,1)'::tid)
1767 -> Tid Scan on t4 bmt4
1768 TID Cond: (ctid = '(1,1)'::tid)
1774 Leading(c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1775 MergeJoin(c2 c1)HashJoin(c2 c1 bmt1)NestLoop(c2 c1 bmt1 bmt2)MergeJoin(c2 c1 bmt1 bmt2 bmt3)HashJoin(c2 c1 bmt1 bmt2 bmt3 bmt4)
1776 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
1777 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
1779 EXPLAIN (COSTS false)
1781 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)'
1784 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)'
1786 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1788 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)'
1794 MergeJoin(b1t2 b1t3)
1795 MergeJoin(b2t3 b2t4)
1797 HashJoin(b1t2 b1t3 b1t4)
1798 HashJoin(b2t1 b2t3 b2t4)
1799 HashJoin(bmt1 c1 c2)
1800 NestLoop(b1t1 b1t2 b1t3 b1t4)
1801 NestLoop(b2t1 b2t2 b2t3 b2t4)
1802 NestLoop(bmt1 bmt2 c1 c2)
1803 MergeJoin(bmt1 bmt2 bmt3 c1 c2)
1804 HashJoin(bmt1 bmt2 bmt3 bmt4 c1 c2)
1805 Leading(c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1811 -------------------------------------------------------------------------------
1816 Join Filter: (b1t2.c1 = b1t1.c1)
1818 Hash Cond: (b1t4.c1 = b1t2.c1)
1819 -> Tid Scan on t4 b1t4
1820 TID Cond: (ctid = '(1,1)'::tid)
1823 Merge Cond: (b1t2.c1 = b1t3.c1)
1826 -> Seq Scan on t2 b1t2
1827 Filter: (ctid = '(1,1)'::tid)
1830 -> Tid Scan on t3 b1t3
1831 TID Cond: (ctid = '(1,1)'::tid)
1832 -> Tid Scan on t1 b1t1
1833 TID Cond: (ctid = '(1,1)'::tid)
1837 Join Filter: (b2t1.c1 = b2t2.c1)
1839 Hash Cond: (b2t1.c1 = b2t3.c1)
1840 -> Tid Scan on t1 b2t1
1841 TID Cond: (ctid = '(1,1)'::tid)
1844 Merge Cond: (b2t3.c1 = b2t4.c1)
1847 -> Tid Scan on t3 b2t3
1848 TID Cond: (ctid = '(1,1)'::tid)
1851 -> Tid Scan on t4 b2t4
1852 TID Cond: (ctid = '(1,1)'::tid)
1853 -> Seq Scan on t2 b2t2
1854 Filter: (ctid = '(1,1)'::tid)
1856 Hash Cond: (bmt4.c1 = bmt1.c1)
1857 -> Tid Scan on t4 bmt4
1858 TID Cond: (ctid = '(1,1)'::tid)
1861 Merge Cond: (bmt1.c1 = bmt3.c1)
1865 Join Filter: (bmt1.c1 = bmt2.c1)
1867 Hash Cond: (bmt1.c1 = c1.c1)
1868 -> Tid Scan on t1 bmt1
1869 TID Cond: (ctid = '(1,1)'::tid)
1872 Merge Cond: (c1.c1 = c2.c1)
1879 -> Seq Scan on t2 bmt2
1880 Filter: (ctid = '(1,1)'::tid)
1883 -> Tid Scan on t3 bmt3
1884 TID Cond: (ctid = '(1,1)'::tid)
1888 EXPLAIN (COSTS false)
1890 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)'
1893 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)'
1896 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)'
1898 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1900 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)'
1906 -----------------------------------------------------------------------------
1911 Join Filter: (b1t1.c1 = b1t4.c1)
1913 Join Filter: (b1t1.c1 = b1t3.c1)
1915 Join Filter: (b1t1.c1 = b1t2.c1)
1916 -> Tid Scan on t1 b1t1
1917 TID Cond: (ctid = '(1,1)'::tid)
1918 -> Seq Scan on t2 b1t2
1919 Filter: (ctid = '(1,1)'::tid)
1920 -> Tid Scan on t3 b1t3
1921 TID Cond: (ctid = '(1,1)'::tid)
1922 -> Tid Scan on t4 b1t4
1923 TID Cond: (ctid = '(1,1)'::tid)
1927 Join Filter: (b2t1.c1 = b2t4.c1)
1929 Join Filter: (b2t1.c1 = b2t3.c1)
1931 Join Filter: (b2t1.c1 = b2t2.c1)
1932 -> Tid Scan on t1 b2t1
1933 TID Cond: (ctid = '(1,1)'::tid)
1934 -> Seq Scan on t2 b2t2
1935 Filter: (ctid = '(1,1)'::tid)
1936 -> Tid Scan on t3 b2t3
1937 TID Cond: (ctid = '(1,1)'::tid)
1938 -> Tid Scan on t4 b2t4
1939 TID Cond: (ctid = '(1,1)'::tid)
1943 Join Filter: (b3t1.c1 = b3t4.c1)
1945 Join Filter: (b3t1.c1 = b3t3.c1)
1947 Join Filter: (b3t1.c1 = b3t2.c1)
1948 -> Tid Scan on t1 b3t1
1949 TID Cond: (ctid = '(1,1)'::tid)
1950 -> Seq Scan on t2 b3t2
1951 Filter: (ctid = '(1,1)'::tid)
1952 -> Tid Scan on t3 b3t3
1953 TID Cond: (ctid = '(1,1)'::tid)
1954 -> Tid Scan on t4 b3t4
1955 TID Cond: (ctid = '(1,1)'::tid)
1957 Join Filter: (bmt1.c1 = c3.c1)
1959 Join Filter: (bmt1.c1 = c2.c1)
1961 Join Filter: (bmt1.c1 = c1.c1)
1963 Join Filter: (bmt1.c1 = bmt4.c1)
1965 Join Filter: (bmt1.c1 = bmt3.c1)
1967 Join Filter: (bmt1.c1 = bmt2.c1)
1968 -> Tid Scan on t1 bmt1
1969 TID Cond: (ctid = '(1,1)'::tid)
1970 -> Seq Scan on t2 bmt2
1971 Filter: (ctid = '(1,1)'::tid)
1972 -> Tid Scan on t3 bmt3
1973 TID Cond: (ctid = '(1,1)'::tid)
1974 -> Tid Scan on t4 bmt4
1975 TID Cond: (ctid = '(1,1)'::tid)
1982 Leading(c3 c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1983 MergeJoin(c3 c2)HashJoin(c3 c2 c1)NestLoop(c3 c2 c1 bmt1)MergeJoin(c3 c2 c1 bmt1 bmt2)HashJoin(c3 c2 c1 bmt1 bmt2 bmt3)NestLoop(c3 c2 c1 bmt1 bmt2 bmt3 bmt4)
1984 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
1985 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
1986 MergeJoin(b3t4 b3t1)HashJoin(b3t4 b3t1 b3t2)NestLoop(b3t1 b3t2 b3t3 b3t4)
1988 EXPLAIN (COSTS false)
1990 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)'
1993 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)'
1996 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)'
1998 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
2000 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)'
2007 MergeJoin(b1t2 b1t3)
2008 MergeJoin(b2t3 b2t4)
2009 MergeJoin(b3t1 b3t4)
2011 HashJoin(b1t2 b1t3 b1t4)
2012 HashJoin(b2t1 b2t3 b2t4)
2013 HashJoin(b3t1 b3t2 b3t4)
2015 NestLoop(b1t1 b1t2 b1t3 b1t4)
2016 NestLoop(b2t1 b2t2 b2t3 b2t4)
2017 NestLoop(b3t1 b3t2 b3t3 b3t4)
2018 NestLoop(bmt1 c1 c2 c3)
2019 MergeJoin(bmt1 bmt2 c1 c2 c3)
2020 HashJoin(bmt1 bmt2 bmt3 c1 c2 c3)
2021 NestLoop(bmt1 bmt2 bmt3 bmt4 c1 c2 c3)
2022 Leading(c3 c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
2028 -------------------------------------------------------------------------------
2033 Join Filter: (b1t2.c1 = b1t1.c1)
2035 Hash Cond: (b1t4.c1 = b1t2.c1)
2036 -> Tid Scan on t4 b1t4
2037 TID Cond: (ctid = '(1,1)'::tid)
2040 Merge Cond: (b1t2.c1 = b1t3.c1)
2043 -> Seq Scan on t2 b1t2
2044 Filter: (ctid = '(1,1)'::tid)
2047 -> Tid Scan on t3 b1t3
2048 TID Cond: (ctid = '(1,1)'::tid)
2049 -> Tid Scan on t1 b1t1
2050 TID Cond: (ctid = '(1,1)'::tid)
2054 Join Filter: (b2t1.c1 = b2t2.c1)
2056 Hash Cond: (b2t1.c1 = b2t3.c1)
2057 -> Tid Scan on t1 b2t1
2058 TID Cond: (ctid = '(1,1)'::tid)
2061 Merge Cond: (b2t3.c1 = b2t4.c1)
2064 -> Tid Scan on t3 b2t3
2065 TID Cond: (ctid = '(1,1)'::tid)
2068 -> Tid Scan on t4 b2t4
2069 TID Cond: (ctid = '(1,1)'::tid)
2070 -> Seq Scan on t2 b2t2
2071 Filter: (ctid = '(1,1)'::tid)
2075 Join Filter: (b3t1.c1 = b3t3.c1)
2077 Hash Cond: (b3t2.c1 = b3t1.c1)
2078 -> Seq Scan on t2 b3t2
2079 Filter: (ctid = '(1,1)'::tid)
2082 Merge Cond: (b3t1.c1 = b3t4.c1)
2085 -> Tid Scan on t1 b3t1
2086 TID Cond: (ctid = '(1,1)'::tid)
2089 -> Tid Scan on t4 b3t4
2090 TID Cond: (ctid = '(1,1)'::tid)
2091 -> Tid Scan on t3 b3t3
2092 TID Cond: (ctid = '(1,1)'::tid)
2094 Join Filter: (bmt1.c1 = bmt4.c1)
2096 Hash Cond: (bmt3.c1 = bmt1.c1)
2097 -> Tid Scan on t3 bmt3
2098 TID Cond: (ctid = '(1,1)'::tid)
2101 Merge Cond: (bmt1.c1 = bmt2.c1)
2105 Join Filter: (c1.c1 = bmt1.c1)
2107 Hash Cond: (c2.c1 = c1.c1)
2109 Merge Cond: (c2.c1 = c3.c1)
2118 -> Tid Scan on t1 bmt1
2119 TID Cond: (ctid = '(1,1)'::tid)
2122 -> Seq Scan on t2 bmt2
2123 Filter: (ctid = '(1,1)'::tid)
2124 -> Tid Scan on t4 bmt4
2125 TID Cond: (ctid = '(1,1)'::tid)
2129 ---- No. J-2-2 the number of the tables per quiry block
2132 EXPLAIN (COSTS false)
2134 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
2136 SELECT max(bmt1.c1), (
2137 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2139 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
2142 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
2146 -----------------------------------------------------------------
2150 InitPlan 1 (returns $0)
2152 -> Tid Scan on t1 b1t1
2153 TID Cond: (ctid = '(1,1)'::tid)
2154 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2155 InitPlan 4 (returns $3)
2157 InitPlan 3 (returns $2)
2159 -> Tid Scan on t1 b2t1
2160 TID Cond: (ctid = '(1,1)'::tid)
2161 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2162 InitPlan 6 (returns $5)
2164 InitPlan 5 (returns $4)
2166 -> Tid Scan on t1 b3t1
2167 TID Cond: (ctid = '(1,1)'::tid)
2168 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2170 -> Tid Scan on t1 bmt1
2171 TID Cond: (ctid = '(1,1)'::tid)
2172 Filter: ((c1 <> $5) AND (c1 = 1))
2178 Leading(c1 bmt1 b1t1 b2t1 b3t1)
2184 EXPLAIN (COSTS false)
2186 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
2188 SELECT max(bmt1.c1), (
2189 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2191 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
2194 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
2200 Leading(c1 bmt1 b1t1 b2t1 b3t1)
2209 -----------------------------------------------------------------
2213 InitPlan 1 (returns $0)
2215 -> Tid Scan on t1 b1t1
2216 TID Cond: (ctid = '(1,1)'::tid)
2217 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2218 InitPlan 4 (returns $3)
2220 InitPlan 3 (returns $2)
2222 -> Tid Scan on t1 b2t1
2223 TID Cond: (ctid = '(1,1)'::tid)
2224 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2225 InitPlan 6 (returns $5)
2227 InitPlan 5 (returns $4)
2229 -> Tid Scan on t1 b3t1
2230 TID Cond: (ctid = '(1,1)'::tid)
2231 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2233 -> Tid Scan on t1 bmt1
2234 TID Cond: (ctid = '(1,1)'::tid)
2235 Filter: ((c1 <> $5) AND (c1 = 1))
2241 EXPLAIN (COSTS false)
2243 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)'
2245 SELECT max(bmt1.c1), (
2246 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)'
2248 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
2251 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)'
2255 -------------------------------------------------------
2260 Join Filter: (b1t1.c1 = b1t2.c1)
2261 -> Tid Scan on t1 b1t1
2262 TID Cond: (ctid = '(1,1)'::tid)
2263 -> Seq Scan on t2 b1t2
2264 Filter: (ctid = '(1,1)'::tid)
2265 InitPlan 2 (returns $1)
2268 Join Filter: (b2t1.c1 = b2t2.c1)
2269 -> Tid Scan on t1 b2t1
2270 TID Cond: (ctid = '(1,1)'::tid)
2271 -> Seq Scan on t2 b2t2
2272 Filter: (ctid = '(1,1)'::tid)
2273 InitPlan 3 (returns $2)
2276 Join Filter: (b3t1.c1 = b3t2.c1)
2277 -> Tid Scan on t1 b3t1
2278 TID Cond: (ctid = '(1,1)'::tid)
2279 -> Seq Scan on t2 b3t2
2280 Filter: (ctid = '(1,1)'::tid)
2282 Join Filter: (bmt1.c1 = c1.c1)
2284 Join Filter: (bmt1.c1 = bmt2.c1)
2285 -> Tid Scan on t1 bmt1
2286 TID Cond: (ctid = '(1,1)'::tid)
2288 -> Seq Scan on t2 bmt2
2289 Filter: (ctid = '(1,1)'::tid)
2294 Leading(c1 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2296 HashJoin(c1 bmt1 bmt2)
2297 MergeJoin(b1t1 b1t2)
2298 MergeJoin(b2t1 b2t2)
2299 MergeJoin(b3t1 b3t2)
2301 EXPLAIN (COSTS false)
2303 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)'
2305 SELECT max(bmt1.c1), (
2306 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)'
2308 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
2311 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)'
2316 MergeJoin(b1t1 b1t2)
2317 MergeJoin(b2t1 b2t2)
2318 MergeJoin(b3t1 b3t2)
2320 HashJoin(bmt1 bmt2 c1)
2321 Leading(c1 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2327 ---------------------------------------------------------------
2332 Merge Cond: (b1t1.c1 = b1t2.c1)
2335 -> Tid Scan on t1 b1t1
2336 TID Cond: (ctid = '(1,1)'::tid)
2339 -> Seq Scan on t2 b1t2
2340 Filter: (ctid = '(1,1)'::tid)
2341 InitPlan 2 (returns $1)
2344 Merge Cond: (b2t1.c1 = b2t2.c1)
2347 -> Tid Scan on t1 b2t1
2348 TID Cond: (ctid = '(1,1)'::tid)
2351 -> Seq Scan on t2 b2t2
2352 Filter: (ctid = '(1,1)'::tid)
2353 InitPlan 3 (returns $2)
2356 Merge Cond: (b3t1.c1 = b3t2.c1)
2359 -> Tid Scan on t1 b3t1
2360 TID Cond: (ctid = '(1,1)'::tid)
2363 -> Seq Scan on t2 b3t2
2364 Filter: (ctid = '(1,1)'::tid)
2366 Hash Cond: (bmt1.c1 = bmt2.c1)
2367 -> Tid Scan on t1 bmt1
2368 TID Cond: (ctid = '(1,1)'::tid)
2372 Merge Cond: (bmt2.c1 = c1.c1)
2375 -> Seq Scan on t2 bmt2
2376 Filter: (ctid = '(1,1)'::tid)
2383 EXPLAIN (COSTS false)
2385 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)'
2387 SELECT max(bmt1.c1), (
2388 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)'
2390 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
2392 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)'
2396 -------------------------------------------------------------------
2401 Join Filter: (b1t1.c1 = b1t4.c1)
2403 Join Filter: (b1t1.c1 = b1t3.c1)
2405 Join Filter: (b1t1.c1 = b1t2.c1)
2406 -> Tid Scan on t1 b1t1
2407 TID Cond: (ctid = '(1,1)'::tid)
2408 -> Seq Scan on t2 b1t2
2409 Filter: (ctid = '(1,1)'::tid)
2410 -> Tid Scan on t3 b1t3
2411 TID Cond: (ctid = '(1,1)'::tid)
2412 -> Tid Scan on t4 b1t4
2413 TID Cond: (ctid = '(1,1)'::tid)
2414 InitPlan 2 (returns $1)
2417 Join Filter: (b2t1.c1 = b2t4.c1)
2419 Join Filter: (b2t1.c1 = b2t3.c1)
2421 Join Filter: (b2t1.c1 = b2t2.c1)
2422 -> Tid Scan on t1 b2t1
2423 TID Cond: (ctid = '(1,1)'::tid)
2424 -> Seq Scan on t2 b2t2
2425 Filter: (ctid = '(1,1)'::tid)
2426 -> Tid Scan on t3 b2t3
2427 TID Cond: (ctid = '(1,1)'::tid)
2428 -> Tid Scan on t4 b2t4
2429 TID Cond: (ctid = '(1,1)'::tid)
2430 InitPlan 3 (returns $2)
2433 Join Filter: (b3t1.c1 = b3t4.c1)
2435 Join Filter: (b3t1.c1 = b3t3.c1)
2437 Join Filter: (b3t1.c1 = b3t2.c1)
2438 -> Tid Scan on t1 b3t1
2439 TID Cond: (ctid = '(1,1)'::tid)
2440 -> Seq Scan on t2 b3t2
2441 Filter: (ctid = '(1,1)'::tid)
2442 -> Tid Scan on t3 b3t3
2443 TID Cond: (ctid = '(1,1)'::tid)
2444 -> Tid Scan on t4 b3t4
2445 TID Cond: (ctid = '(1,1)'::tid)
2447 Join Filter: (bmt1.c1 = c1.c1)
2449 Join Filter: (bmt1.c1 = bmt2.c1)
2451 Join Filter: (bmt3.c1 = bmt1.c1)
2453 Join Filter: (bmt3.c1 = bmt4.c1)
2454 -> Tid Scan on t3 bmt3
2455 TID Cond: (ctid = '(1,1)'::tid)
2456 -> Tid Scan on t4 bmt4
2457 TID Cond: (ctid = '(1,1)'::tid)
2458 -> Tid Scan on t1 bmt1
2459 TID Cond: (ctid = '(1,1)'::tid)
2461 -> Seq Scan on t2 bmt2
2462 Filter: (ctid = '(1,1)'::tid)
2467 Leading(c1 bmt4 b1t4 b2t4 b3t4 bmt3 b1t3 b2t3 b3t3 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2469 HashJoin(c1 bmt4 bmt3)
2470 NestLoop(c1 bmt4 bmt3 bmt2)
2471 MergeJoin(c1 bmt4 bmt3 bmt2 bmt1)
2473 NestLoop(b1t4 b1t3 b1t2)
2474 MergeJoin(b1t4 b1t3 b1t2 b1t1)
2476 NestLoop(b2t4 b2t3 b2t2)
2477 MergeJoin(b2t4 b2t3 b2t2 b2t1)
2479 NestLoop(b3t4 b3t3 b3t2)
2480 MergeJoin(b3t4 b3t3 b3t2 b3t1)
2482 EXPLAIN (COSTS false)
2484 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)'
2486 SELECT max(bmt1.c1), (
2487 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)'
2489 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
2491 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)'
2500 NestLoop(b1t2 b1t3 b1t4)
2501 NestLoop(b2t2 b2t3 b2t4)
2502 NestLoop(b3t2 b3t3 b3t4)
2503 HashJoin(bmt3 bmt4 c1)
2504 MergeJoin(b1t1 b1t2 b1t3 b1t4)
2505 MergeJoin(b2t1 b2t2 b2t3 b2t4)
2506 MergeJoin(b3t1 b3t2 b3t3 b3t4)
2507 NestLoop(bmt2 bmt3 bmt4 c1)
2508 MergeJoin(bmt1 bmt2 bmt3 bmt4 c1)
2509 Leading(c1 bmt4 b1t4 b2t4 b3t4 bmt3 b1t3 b2t3 b3t3 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2515 -----------------------------------------------------------------------------------
2520 Merge Cond: (b1t2.c1 = b1t1.c1)
2524 Join Filter: (b1t3.c1 = b1t2.c1)
2526 Hash Cond: (b1t3.c1 = b1t4.c1)
2527 -> Tid Scan on t3 b1t3
2528 TID Cond: (ctid = '(1,1)'::tid)
2530 -> Tid Scan on t4 b1t4
2531 TID Cond: (ctid = '(1,1)'::tid)
2532 -> Seq Scan on t2 b1t2
2533 Filter: (ctid = '(1,1)'::tid)
2536 -> Tid Scan on t1 b1t1
2537 TID Cond: (ctid = '(1,1)'::tid)
2538 InitPlan 2 (returns $1)
2541 Merge Cond: (b2t2.c1 = b2t1.c1)
2545 Join Filter: (b2t3.c1 = b2t2.c1)
2547 Hash Cond: (b2t3.c1 = b2t4.c1)
2548 -> Tid Scan on t3 b2t3
2549 TID Cond: (ctid = '(1,1)'::tid)
2551 -> Tid Scan on t4 b2t4
2552 TID Cond: (ctid = '(1,1)'::tid)
2553 -> Seq Scan on t2 b2t2
2554 Filter: (ctid = '(1,1)'::tid)
2557 -> Tid Scan on t1 b2t1
2558 TID Cond: (ctid = '(1,1)'::tid)
2559 InitPlan 3 (returns $2)
2562 Merge Cond: (b3t2.c1 = b3t1.c1)
2566 Join Filter: (b3t3.c1 = b3t2.c1)
2568 Hash Cond: (b3t3.c1 = b3t4.c1)
2569 -> Tid Scan on t3 b3t3
2570 TID Cond: (ctid = '(1,1)'::tid)
2572 -> Tid Scan on t4 b3t4
2573 TID Cond: (ctid = '(1,1)'::tid)
2574 -> Seq Scan on t2 b3t2
2575 Filter: (ctid = '(1,1)'::tid)
2578 -> Tid Scan on t1 b3t1
2579 TID Cond: (ctid = '(1,1)'::tid)
2581 Merge Cond: (bmt2.c1 = bmt1.c1)
2585 Join Filter: (bmt3.c1 = bmt2.c1)
2587 Hash Cond: (bmt3.c1 = bmt4.c1)
2588 -> Tid Scan on t3 bmt3
2589 TID Cond: (ctid = '(1,1)'::tid)
2592 Merge Cond: (bmt4.c1 = c1.c1)
2595 -> Tid Scan on t4 bmt4
2596 TID Cond: (ctid = '(1,1)'::tid)
2600 -> Seq Scan on t2 bmt2
2601 Filter: (ctid = '(1,1)'::tid)
2604 -> Tid Scan on t1 bmt1
2605 TID Cond: (ctid = '(1,1)'::tid)
2610 EXPLAIN (COSTS false)
2612 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)'
2614 SELECT max(bmt1.c1), (
2615 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2617 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
2619 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2623 -------------------------------------------------------------------
2628 Join Filter: (b1t1.c1 = b1t4.c1)
2630 Join Filter: (b1t1.c1 = b1t3.c1)
2632 Join Filter: (b1t1.c1 = b1t2.c1)
2633 -> Tid Scan on t1 b1t1
2634 TID Cond: (ctid = '(1,1)'::tid)
2635 -> Seq Scan on t2 b1t2
2636 Filter: (ctid = '(1,1)'::tid)
2637 -> Tid Scan on t3 b1t3
2638 TID Cond: (ctid = '(1,1)'::tid)
2639 -> Tid Scan on t4 b1t4
2640 TID Cond: (ctid = '(1,1)'::tid)
2641 InitPlan 3 (returns $2)
2643 InitPlan 2 (returns $1)
2645 -> Tid Scan on t1 b2t1
2646 TID Cond: (ctid = '(1,1)'::tid)
2647 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2648 InitPlan 4 (returns $3)
2650 -> Tid Scan on t1 b3t1
2651 TID Cond: (ctid = '(1,1)'::tid)
2653 Join Filter: (bmt1.c1 = c1.c1)
2655 Join Filter: (bmt1.c1 = bmt2.c1)
2657 Join Filter: (bmt3.c1 = bmt1.c1)
2659 Join Filter: (bmt3.c1 = bmt4.c1)
2660 -> Tid Scan on t3 bmt3
2661 TID Cond: (ctid = '(1,1)'::tid)
2662 -> Tid Scan on t4 bmt4
2663 TID Cond: (ctid = '(1,1)'::tid)
2664 -> Tid Scan on t1 bmt1
2665 TID Cond: (ctid = '(1,1)'::tid)
2667 -> Seq Scan on t2 bmt2
2668 Filter: (ctid = '(1,1)'::tid)
2673 Leading(c1 bmt4 b1t4 bmt3 b1t3 bmt2 b1t2 bmt1 b1t1 b2t1 b3t1)
2675 HashJoin(c1 bmt4 bmt3)
2676 NestLoop(c1 bmt4 bmt3 bmt2)
2677 MergeJoin(c1 bmt4 bmt3 bmt2 bmt1)
2678 MergeJoin(b1t4 b1t3)
2679 HashJoin(b1t4 b1t3 b1t2)
2680 NestLoop(b1t4 b1t3 b1t2 b1t1)
2682 EXPLAIN (COSTS false)
2684 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)'
2686 SELECT max(bmt1.c1), (
2687 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2689 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
2691 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2696 MergeJoin(b1t3 b1t4)
2698 HashJoin(b1t2 b1t3 b1t4)
2699 HashJoin(bmt3 bmt4 c1)
2700 NestLoop(b1t1 b1t2 b1t3 b1t4)
2701 NestLoop(bmt2 bmt3 bmt4 c1)
2702 MergeJoin(bmt1 bmt2 bmt3 bmt4 c1)
2703 Leading(c1 bmt4 b1t4 bmt3 b1t3 bmt2 b1t2 bmt1 b1t1 b2t1 b3t1)
2709 -----------------------------------------------------------------------------------
2714 Join Filter: (b1t2.c1 = b1t1.c1)
2716 Hash Cond: (b1t2.c1 = b1t3.c1)
2717 -> Seq Scan on t2 b1t2
2718 Filter: (ctid = '(1,1)'::tid)
2721 Merge Cond: (b1t3.c1 = b1t4.c1)
2724 -> Tid Scan on t3 b1t3
2725 TID Cond: (ctid = '(1,1)'::tid)
2728 -> Tid Scan on t4 b1t4
2729 TID Cond: (ctid = '(1,1)'::tid)
2730 -> Tid Scan on t1 b1t1
2731 TID Cond: (ctid = '(1,1)'::tid)
2732 InitPlan 3 (returns $2)
2734 InitPlan 2 (returns $1)
2736 -> Tid Scan on t1 b2t1
2737 TID Cond: (ctid = '(1,1)'::tid)
2738 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2739 InitPlan 4 (returns $3)
2741 -> Tid Scan on t1 b3t1
2742 TID Cond: (ctid = '(1,1)'::tid)
2744 Merge Cond: (bmt2.c1 = bmt1.c1)
2748 Join Filter: (bmt3.c1 = bmt2.c1)
2750 Hash Cond: (bmt3.c1 = bmt4.c1)
2751 -> Tid Scan on t3 bmt3
2752 TID Cond: (ctid = '(1,1)'::tid)
2755 Merge Cond: (bmt4.c1 = c1.c1)
2758 -> Tid Scan on t4 bmt4
2759 TID Cond: (ctid = '(1,1)'::tid)
2763 -> Seq Scan on t2 bmt2
2764 Filter: (ctid = '(1,1)'::tid)
2767 -> Tid Scan on t1 bmt1
2768 TID Cond: (ctid = '(1,1)'::tid)
2773 ---- No. J-2-3 RULE definition table
2776 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2778 -----------------------------------------------------------------
2781 Join Filter: (t1.c1 = t4.c1)
2783 Join Filter: (t1.c1 = t3.c1)
2785 Join Filter: (t2.c1 = t1.c1)
2788 TID Cond: (ctid = '(1,1)'::tid)
2791 Filter: (ctid = '(1,1)'::tid)
2793 TID Cond: (ctid = '(1,1)'::tid)
2795 TID Cond: (ctid = '(1,1)'::tid)
2797 TID Cond: (ctid = '(1,1)'::tid)
2801 Leading(t4 t3 t2 t1 r1)
2802 MergeJoin(t4 t3 t2 t1 r1)
2803 HashJoin(t4 t3 t2 t1)
2807 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2812 HashJoin(t1 t2 t3 t4)
2813 MergeJoin(r1 t1 t2 t3 t4)
2814 Leading(t4 t3 t2 t1 r1)
2820 -----------------------------------------------------------------------------
2824 Hash Cond: (t1.c1 = t2.c1)
2826 TID Cond: (ctid = '(1,1)'::tid)
2829 Join Filter: (t3.c1 = t2.c1)
2831 Merge Cond: (t3.c1 = t4.c1)
2835 TID Cond: (ctid = '(1,1)'::tid)
2839 TID Cond: (ctid = '(1,1)'::tid)
2841 Filter: (ctid = '(1,1)'::tid)
2843 TID Cond: (ctid = '(1,1)'::tid)
2847 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2849 -----------------------------------------------------------------
2852 Join Filter: (b1t1.c1 = b1t4.c1)
2854 Join Filter: (b1t1.c1 = b1t3.c1)
2856 Join Filter: (b1t2.c1 = b1t1.c1)
2859 TID Cond: (ctid = '(1,1)'::tid)
2861 -> Seq Scan on t2 b1t2
2862 Filter: (ctid = '(1,1)'::tid)
2863 -> Tid Scan on t1 b1t1
2864 TID Cond: (ctid = '(1,1)'::tid)
2865 -> Tid Scan on t3 b1t3
2866 TID Cond: (ctid = '(1,1)'::tid)
2867 -> Tid Scan on t4 b1t4
2868 TID Cond: (ctid = '(1,1)'::tid)
2872 Leading(b1t4 b1t3 b1t2 b1t1 r1_)
2873 MergeJoin(b1t4 b1t3 b1t2 b1t1 r1_)
2874 HashJoin(b1t4 b1t3 b1t2 b1t1)
2875 NestLoop(b1t4 b1t3 b1t2)
2876 MergeJoin(b1t4 b1t3)
2878 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2881 MergeJoin(b1t3 b1t4)
2882 NestLoop(b1t2 b1t3 b1t4)
2883 HashJoin(b1t1 b1t2 b1t3 b1t4)
2884 MergeJoin(b1t1 b1t2 b1t3 b1t4 r1_)
2885 Leading(b1t4 b1t3 b1t2 b1t1 r1_)
2891 -----------------------------------------------------------------------------
2895 Hash Cond: (b1t1.c1 = b1t2.c1)
2896 -> Tid Scan on t1 b1t1
2897 TID Cond: (ctid = '(1,1)'::tid)
2900 Join Filter: (b1t3.c1 = b1t2.c1)
2902 Merge Cond: (b1t3.c1 = b1t4.c1)
2905 -> Tid Scan on t3 b1t3
2906 TID Cond: (ctid = '(1,1)'::tid)
2909 -> Tid Scan on t4 b1t4
2910 TID Cond: (ctid = '(1,1)'::tid)
2911 -> Seq Scan on t2 b1t2
2912 Filter: (ctid = '(1,1)'::tid)
2914 TID Cond: (ctid = '(1,1)'::tid)
2919 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2921 -----------------------------------------------------------------
2924 Join Filter: (t1.c1 = t4.c1)
2926 Join Filter: (t1.c1 = t3.c1)
2928 Join Filter: (t2.c1 = t1.c1)
2931 TID Cond: (ctid = '(1,1)'::tid)
2934 Filter: (ctid = '(1,1)'::tid)
2936 TID Cond: (ctid = '(1,1)'::tid)
2938 TID Cond: (ctid = '(1,1)'::tid)
2940 TID Cond: (ctid = '(1,1)'::tid)
2944 Join Filter: (t1.c1 = t4.c1)
2946 Join Filter: (t1.c1 = t3.c1)
2948 Join Filter: (t2.c1 = t1.c1)
2951 TID Cond: (ctid = '(1,1)'::tid)
2954 Filter: (ctid = '(1,1)'::tid)
2956 TID Cond: (ctid = '(1,1)'::tid)
2958 TID Cond: (ctid = '(1,1)'::tid)
2960 TID Cond: (ctid = '(1,1)'::tid)
2964 Leading(t4 t3 t2 t1 r2)
2965 MergeJoin(t4 t3 t2 t1 r2)
2966 HashJoin(t4 t3 t2 t1)
2970 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2975 HashJoin(t1 t2 t3 t4)
2976 MergeJoin(r2 t1 t2 t3 t4)
2977 Leading(t4 t3 t2 t1 r2)
2986 HashJoin(t1 t2 t3 t4)
2987 MergeJoin(r2 t1 t2 t3 t4)
2988 Leading(t4 t3 t2 t1 r2)
2994 -----------------------------------------------------------------------------
2998 Hash Cond: (t1.c1 = t2.c1)
3000 TID Cond: (ctid = '(1,1)'::tid)
3003 Join Filter: (t3.c1 = t2.c1)
3005 Merge Cond: (t3.c1 = t4.c1)
3009 TID Cond: (ctid = '(1,1)'::tid)
3013 TID Cond: (ctid = '(1,1)'::tid)
3015 Filter: (ctid = '(1,1)'::tid)
3017 TID Cond: (ctid = '(1,1)'::tid)
3023 Hash Cond: (t1.c1 = t2.c1)
3025 TID Cond: (ctid = '(1,1)'::tid)
3028 Join Filter: (t3.c1 = t2.c1)
3030 Merge Cond: (t3.c1 = t4.c1)
3034 TID Cond: (ctid = '(1,1)'::tid)
3038 TID Cond: (ctid = '(1,1)'::tid)
3040 Filter: (ctid = '(1,1)'::tid)
3042 TID Cond: (ctid = '(1,1)'::tid)
3046 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3048 -----------------------------------------------------------------
3051 Join Filter: (b1t1.c1 = b1t4.c1)
3053 Join Filter: (b1t1.c1 = b1t3.c1)
3055 Join Filter: (b1t2.c1 = b1t1.c1)
3058 TID Cond: (ctid = '(1,1)'::tid)
3060 -> Seq Scan on t2 b1t2
3061 Filter: (ctid = '(1,1)'::tid)
3062 -> Tid Scan on t1 b1t1
3063 TID Cond: (ctid = '(1,1)'::tid)
3064 -> Tid Scan on t3 b1t3
3065 TID Cond: (ctid = '(1,1)'::tid)
3066 -> Tid Scan on t4 b1t4
3067 TID Cond: (ctid = '(1,1)'::tid)
3071 Join Filter: (b2t1.c1 = b2t4.c1)
3073 Join Filter: (b2t1.c1 = b2t3.c1)
3075 Join Filter: (b2t2.c1 = b2t1.c1)
3078 TID Cond: (ctid = '(1,1)'::tid)
3080 -> Seq Scan on t2 b2t2
3081 Filter: (ctid = '(1,1)'::tid)
3082 -> Tid Scan on t1 b2t1
3083 TID Cond: (ctid = '(1,1)'::tid)
3084 -> Tid Scan on t3 b2t3
3085 TID Cond: (ctid = '(1,1)'::tid)
3086 -> Tid Scan on t4 b2t4
3087 TID Cond: (ctid = '(1,1)'::tid)
3092 b2t1 b2t2 b2t3 b2t4 r2_
3094 MergeJoin(b1t1 b1t2)
3095 HashJoin(b1t1 b1t2 b1t3)
3096 NestLoop(b1t1 b1t2 b1t3 b1t4)
3097 MergeJoin(b1t1 b1t2 b1t3 b1t4 r2_)
3098 MergeJoin(b2t1 b2t2)
3099 HashJoin(b2t1 b2t2 b2t3)
3100 NestLoop(b2t1 b2t2 b2t3 b2t4)
3101 MergeJoin(b2t1 b2t2 b2t3 b2t4 r2_)
3103 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3106 MergeJoin(b1t1 b1t2)
3107 HashJoin(b1t1 b1t2 b1t3)
3108 NestLoop(b1t1 b1t2 b1t3 b1t4)
3109 MergeJoin(b1t1 b1t2 b1t3 b1t4 r2_)
3110 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 r2_)
3112 MergeJoin(b2t1 b2t2)
3113 HashJoin(b2t1 b2t2 b2t3)
3114 NestLoop(b2t1 b2t2 b2t3 b2t4)
3115 MergeJoin(b2t1 b2t2 b2t3 b2t4 r2_)
3121 MergeJoin(b2t1 b2t2)
3122 HashJoin(b2t1 b2t2 b2t3)
3123 NestLoop(b2t1 b2t2 b2t3 b2t4)
3124 MergeJoin(b2t1 b2t2 b2t3 b2t4 r2_)
3125 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 r2_)
3127 MergeJoin(b1t1 b1t2)
3128 HashJoin(b1t1 b1t2 b1t3)
3129 NestLoop(b1t1 b1t2 b1t3 b1t4)
3130 MergeJoin(b1t1 b1t2 b1t3 b1t4 r2_)
3135 -----------------------------------------------------------------------------
3139 Join Filter: (b1t1.c1 = b1t4.c1)
3141 Hash Cond: (b1t3.c1 = b1t1.c1)
3142 -> Tid Scan on t3 b1t3
3143 TID Cond: (ctid = '(1,1)'::tid)
3146 Merge Cond: (b1t1.c1 = b1t2.c1)
3149 -> Tid Scan on t1 b1t1
3150 TID Cond: (ctid = '(1,1)'::tid)
3153 -> Seq Scan on t2 b1t2
3154 Filter: (ctid = '(1,1)'::tid)
3155 -> Tid Scan on t4 b1t4
3156 TID Cond: (ctid = '(1,1)'::tid)
3158 TID Cond: (ctid = '(1,1)'::tid)
3164 Join Filter: (b2t1.c1 = b2t4.c1)
3166 Hash Cond: (b2t3.c1 = b2t1.c1)
3167 -> Tid Scan on t3 b2t3
3168 TID Cond: (ctid = '(1,1)'::tid)
3171 Merge Cond: (b2t1.c1 = b2t2.c1)
3174 -> Tid Scan on t1 b2t1
3175 TID Cond: (ctid = '(1,1)'::tid)
3178 -> Seq Scan on t2 b2t2
3179 Filter: (ctid = '(1,1)'::tid)
3180 -> Tid Scan on t4 b2t4
3181 TID Cond: (ctid = '(1,1)'::tid)
3183 TID Cond: (ctid = '(1,1)'::tid)
3188 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3190 -----------------------------------------------------------------
3193 Join Filter: (t1.c1 = t4.c1)
3195 Join Filter: (t1.c1 = t3.c1)
3197 Join Filter: (t2.c1 = t1.c1)
3200 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)
3209 TID Cond: (ctid = '(1,1)'::tid)
3213 Join Filter: (t1.c1 = t4.c1)
3215 Join Filter: (t1.c1 = t3.c1)
3217 Join Filter: (t2.c1 = t1.c1)
3220 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)
3229 TID Cond: (ctid = '(1,1)'::tid)
3233 Join Filter: (t1.c1 = t4.c1)
3235 Join Filter: (t1.c1 = t3.c1)
3237 Join Filter: (t2.c1 = t1.c1)
3240 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)
3249 TID Cond: (ctid = '(1,1)'::tid)
3253 Leading(t4 t3 t2 t1 r3)
3254 MergeJoin(t4 t3 t2 t1 r3)
3255 HashJoin(t4 t3 t2 t1)
3259 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3264 HashJoin(t1 t2 t3 t4)
3265 MergeJoin(r3 t1 t2 t3 t4)
3266 Leading(t4 t3 t2 t1 r3)
3275 HashJoin(t1 t2 t3 t4)
3276 MergeJoin(r3 t1 t2 t3 t4)
3277 Leading(t4 t3 t2 t1 r3)
3286 HashJoin(t1 t2 t3 t4)
3287 MergeJoin(r3 t1 t2 t3 t4)
3288 Leading(t4 t3 t2 t1 r3)
3294 -----------------------------------------------------------------------------
3298 Hash Cond: (t1.c1 = t2.c1)
3300 TID Cond: (ctid = '(1,1)'::tid)
3303 Join Filter: (t3.c1 = t2.c1)
3305 Merge Cond: (t3.c1 = t4.c1)
3309 TID Cond: (ctid = '(1,1)'::tid)
3313 TID Cond: (ctid = '(1,1)'::tid)
3315 Filter: (ctid = '(1,1)'::tid)
3317 TID Cond: (ctid = '(1,1)'::tid)
3323 Hash Cond: (t1.c1 = t2.c1)
3325 TID Cond: (ctid = '(1,1)'::tid)
3328 Join Filter: (t3.c1 = t2.c1)
3330 Merge Cond: (t3.c1 = t4.c1)
3334 TID Cond: (ctid = '(1,1)'::tid)
3338 TID Cond: (ctid = '(1,1)'::tid)
3340 Filter: (ctid = '(1,1)'::tid)
3342 TID Cond: (ctid = '(1,1)'::tid)
3348 Hash Cond: (t1.c1 = t2.c1)
3350 TID Cond: (ctid = '(1,1)'::tid)
3353 Join Filter: (t3.c1 = t2.c1)
3355 Merge Cond: (t3.c1 = t4.c1)
3359 TID Cond: (ctid = '(1,1)'::tid)
3363 TID Cond: (ctid = '(1,1)'::tid)
3365 Filter: (ctid = '(1,1)'::tid)
3367 TID Cond: (ctid = '(1,1)'::tid)
3371 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3373 -----------------------------------------------------------------
3376 Join Filter: (b1t1.c1 = b1t4.c1)
3378 Join Filter: (b1t1.c1 = b1t3.c1)
3380 Join Filter: (b1t2.c1 = b1t1.c1)
3383 TID Cond: (ctid = '(1,1)'::tid)
3385 -> Seq Scan on t2 b1t2
3386 Filter: (ctid = '(1,1)'::tid)
3387 -> Tid Scan on t1 b1t1
3388 TID Cond: (ctid = '(1,1)'::tid)
3389 -> Tid Scan on t3 b1t3
3390 TID Cond: (ctid = '(1,1)'::tid)
3391 -> Tid Scan on t4 b1t4
3392 TID Cond: (ctid = '(1,1)'::tid)
3396 Join Filter: (b2t1.c1 = b2t4.c1)
3398 Join Filter: (b2t1.c1 = b2t3.c1)
3400 Join Filter: (b2t2.c1 = b2t1.c1)
3403 TID Cond: (ctid = '(1,1)'::tid)
3405 -> Seq Scan on t2 b2t2
3406 Filter: (ctid = '(1,1)'::tid)
3407 -> Tid Scan on t1 b2t1
3408 TID Cond: (ctid = '(1,1)'::tid)
3409 -> Tid Scan on t3 b2t3
3410 TID Cond: (ctid = '(1,1)'::tid)
3411 -> Tid Scan on t4 b2t4
3412 TID Cond: (ctid = '(1,1)'::tid)
3416 Join Filter: (b3t1.c1 = b3t4.c1)
3418 Join Filter: (b3t1.c1 = b3t3.c1)
3420 Join Filter: (b3t2.c1 = b3t1.c1)
3423 TID Cond: (ctid = '(1,1)'::tid)
3425 -> Seq Scan on t2 b3t2
3426 Filter: (ctid = '(1,1)'::tid)
3427 -> Tid Scan on t1 b3t1
3428 TID Cond: (ctid = '(1,1)'::tid)
3429 -> Tid Scan on t3 b3t3
3430 TID Cond: (ctid = '(1,1)'::tid)
3431 -> Tid Scan on t4 b3t4
3432 TID Cond: (ctid = '(1,1)'::tid)
3438 b3t1 b3t2 b3t3 b3t4 r3_
3440 MergeJoin(b1t1 b1t2)
3441 HashJoin(b1t1 b1t2 b1t3)
3442 NestLoop(b1t1 b1t2 b1t3 b1t4)
3443 MergeJoin(b1t1 b1t2 b1t3 b1t4 r3_)
3444 MergeJoin(b2t1 b2t2)
3445 HashJoin(b2t1 b2t2 b2t3)
3446 NestLoop(b2t1 b2t2 b2t3 b2t4)
3447 MergeJoin(b2t1 b2t2 b2t3 b2t4 r3_)
3448 MergeJoin(b3t1 b3t2)
3449 HashJoin(b3t1 b3t2 b3t3)
3450 NestLoop(b3t1 b3t2 b3t3 b3t4)
3451 MergeJoin(b3t1 b3t2 b3t3 b3t4 r3_)
3453 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3456 MergeJoin(b1t1 b1t2)
3457 HashJoin(b1t1 b1t2 b1t3)
3458 NestLoop(b1t1 b1t2 b1t3 b1t4)
3459 MergeJoin(b1t1 b1t2 b1t3 b1t4 r3_)
3460 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3462 MergeJoin(b2t1 b2t2)
3463 MergeJoin(b3t1 b3t2)
3464 HashJoin(b2t1 b2t2 b2t3)
3465 HashJoin(b3t1 b3t2 b3t3)
3466 NestLoop(b2t1 b2t2 b2t3 b2t4)
3467 NestLoop(b3t1 b3t2 b3t3 b3t4)
3468 MergeJoin(b2t1 b2t2 b2t3 b2t4 r3_)
3469 MergeJoin(b3t1 b3t2 b3t3 b3t4 r3_)
3475 MergeJoin(b2t1 b2t2)
3476 HashJoin(b2t1 b2t2 b2t3)
3477 NestLoop(b2t1 b2t2 b2t3 b2t4)
3478 MergeJoin(b2t1 b2t2 b2t3 b2t4 r3_)
3479 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3481 MergeJoin(b1t1 b1t2)
3482 MergeJoin(b3t1 b3t2)
3483 HashJoin(b1t1 b1t2 b1t3)
3484 HashJoin(b3t1 b3t2 b3t3)
3485 NestLoop(b1t1 b1t2 b1t3 b1t4)
3486 NestLoop(b3t1 b3t2 b3t3 b3t4)
3487 MergeJoin(b1t1 b1t2 b1t3 b1t4 r3_)
3488 MergeJoin(b3t1 b3t2 b3t3 b3t4 r3_)
3494 MergeJoin(b3t1 b3t2)
3495 HashJoin(b3t1 b3t2 b3t3)
3496 NestLoop(b3t1 b3t2 b3t3 b3t4)
3497 MergeJoin(b3t1 b3t2 b3t3 b3t4 r3_)
3498 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3500 MergeJoin(b1t1 b1t2)
3501 MergeJoin(b2t1 b2t2)
3502 HashJoin(b1t1 b1t2 b1t3)
3503 HashJoin(b2t1 b2t2 b2t3)
3504 NestLoop(b1t1 b1t2 b1t3 b1t4)
3505 NestLoop(b2t1 b2t2 b2t3 b2t4)
3506 MergeJoin(b1t1 b1t2 b1t3 b1t4 r3_)
3507 MergeJoin(b2t1 b2t2 b2t3 b2t4 r3_)
3512 -----------------------------------------------------------------------------
3516 Join Filter: (b1t1.c1 = b1t4.c1)
3518 Hash Cond: (b1t3.c1 = b1t1.c1)
3519 -> Tid Scan on t3 b1t3
3520 TID Cond: (ctid = '(1,1)'::tid)
3523 Merge Cond: (b1t1.c1 = b1t2.c1)
3526 -> Tid Scan on t1 b1t1
3527 TID Cond: (ctid = '(1,1)'::tid)
3530 -> Seq Scan on t2 b1t2
3531 Filter: (ctid = '(1,1)'::tid)
3532 -> Tid Scan on t4 b1t4
3533 TID Cond: (ctid = '(1,1)'::tid)
3535 TID Cond: (ctid = '(1,1)'::tid)
3541 Join Filter: (b2t1.c1 = b2t4.c1)
3543 Hash Cond: (b2t3.c1 = b2t1.c1)
3544 -> Tid Scan on t3 b2t3
3545 TID Cond: (ctid = '(1,1)'::tid)
3548 Merge Cond: (b2t1.c1 = b2t2.c1)
3551 -> Tid Scan on t1 b2t1
3552 TID Cond: (ctid = '(1,1)'::tid)
3555 -> Seq Scan on t2 b2t2
3556 Filter: (ctid = '(1,1)'::tid)
3557 -> Tid Scan on t4 b2t4
3558 TID Cond: (ctid = '(1,1)'::tid)
3560 TID Cond: (ctid = '(1,1)'::tid)
3566 Join Filter: (b3t1.c1 = b3t4.c1)
3568 Hash Cond: (b3t3.c1 = b3t1.c1)
3569 -> Tid Scan on t3 b3t3
3570 TID Cond: (ctid = '(1,1)'::tid)
3573 Merge Cond: (b3t1.c1 = b3t2.c1)
3576 -> Tid Scan on t1 b3t1
3577 TID Cond: (ctid = '(1,1)'::tid)
3580 -> Seq Scan on t2 b3t2
3581 Filter: (ctid = '(1,1)'::tid)
3582 -> Tid Scan on t4 b3t4
3583 TID Cond: (ctid = '(1,1)'::tid)
3585 TID Cond: (ctid = '(1,1)'::tid)
3590 ---- No. J-2-4 VALUES clause
3593 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;
3595 -------------------------------------------------------
3597 Merge Cond: (t1.c1 = t2.c1)
3598 -> Index Scan using t1_i1 on t1
3602 Hash Cond: (t2.c1 = "*VALUES*".column1)
3605 -> Values Scan on "*VALUES*"
3608 /*+ Leading(t3 t1 t2) HashJoin(t3 t1)NestLoop(t3 t1 t2)*/
3609 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;
3620 ---------------------------------------------
3622 Join Filter: (t1.c1 = "*VALUES*".column1)
3623 -> Values Scan on "*VALUES*"
3625 Merge Cond: (t1.c1 = t2.c1)
3626 -> Index Scan using t1_i1 on t1
3632 /*+ Leading(*VALUES* t1 t2) HashJoin(*VALUES* t1)NestLoop(*VALUES* t1 t2)*/
3633 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;
3636 HashJoin(*VALUES* t1)
3637 NestLoop(*VALUES* t1 t2)
3638 Leading(*VALUES* t1 t2)
3644 -------------------------------------------------
3646 Join Filter: (t1.c1 = t2.c1)
3648 Hash Cond: (t1.c1 = "*VALUES*".column1)
3651 -> Values Scan on "*VALUES*"
3656 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;
3658 -------------------------------------------------------------
3660 Join Filter: (t1.c1 = "*VALUES*".column1)
3662 Merge Cond: (t1.c1 = t2.c1)
3663 -> Index Scan using t1_i1 on t1
3667 Hash Cond: (t2.c1 = "*VALUES*".column1)
3670 -> Values Scan on "*VALUES*"
3671 -> Values Scan on "*VALUES*"
3674 /*+ Leading(t4 t3 t2 t1) NestLoop(t4 t3)HashJoin(t4 t3 t2)MergeJoin(t4 t3 t2 t1)*/
3675 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;
3678 Leading(t4 t3 t2 t1)
3682 MergeJoin(t1 t2 t3 t4)
3687 ----------------------------------------------------------------
3689 Join Filter: (t1.c1 = "*VALUES*".column1)
3691 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
3692 -> Values Scan on "*VALUES*"
3693 -> Values Scan on "*VALUES*"
3695 Merge Cond: (t1.c1 = t2.c1)
3696 -> Index Scan using t1_i1 on t1
3702 /*+ Leading(*VALUES* t3 t2 t1) NestLoop(t4 t3)HashJoin(*VALUES* t3 t2)MergeJoin(*VALUES* t3 t2 t1)*/
3703 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;
3704 INFO: hint syntax error at or near "HashJoin(*VALUES* t3 t2)MergeJoin(*VALUES* t3 t2 t1)"
3705 DETAIL: Relation name "*VALUES*" is ambiguous.
3706 INFO: hint syntax error at or near "MergeJoin(*VALUES* t3 t2 t1)"
3707 DETAIL: Relation name "*VALUES*" is ambiguous.
3708 INFO: hint syntax error at or near "Leading(*VALUES* t3 t2 t1) NestLoop(t4 t3)HashJoin(*VALUES* t3 t2)MergeJoin(*VALUES* t3 t2 t1)"
3709 DETAIL: Relation name "*VALUES*" is ambiguous.
3714 Leading(*VALUES* t3 t2 t1)
3717 HashJoin(*VALUES* t2 t3)
3718 MergeJoin(*VALUES* t1 t2 t3)
3721 -------------------------------------------------------------
3723 Join Filter: (t1.c1 = "*VALUES*".column1)
3725 Merge Cond: (t1.c1 = t2.c1)
3726 -> Index Scan using t1_i1 on t1
3730 Hash Cond: (t2.c1 = "*VALUES*".column1)
3733 -> Values Scan on "*VALUES*"
3734 -> Values Scan on "*VALUES*"
3738 ---- No. J-3-1 join method hint
3741 SET enable_nestloop TO on;
3742 SET enable_mergejoin TO off;
3743 SET enable_hashjoin TO off;
3744 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3746 ------------------------------------
3749 -> Index Scan using t1_i1 on t1
3750 Index Cond: (c1 = t2.c1)
3753 /*+NestLoop(t1 t2)*/
3754 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3763 ------------------------------------
3766 -> Index Scan using t1_i1 on t1
3767 Index Cond: (c1 = t2.c1)
3770 /*+HashJoin(t1 t2)*/
3771 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3780 ------------------------------
3782 Hash Cond: (t1.c1 = t2.c1)
3788 /*+MergeJoin(t1 t2)*/
3789 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3798 ------------------------------------
3800 Merge Cond: (t1.c1 = t2.c1)
3801 -> Index Scan using t1_i1 on t1
3807 SET enable_mergejoin TO on;
3808 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';;
3810 -----------------------------------------
3812 Join Filter: (t1.c1 = t2.c1)
3814 TID Cond: (ctid = '(1,1)'::tid)
3818 /*+NoNestLoop(t1 t2)*/
3819 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';;
3828 -----------------------------------------------
3830 Merge Cond: (t1.c1 = t2.c1)
3834 TID Cond: (ctid = '(1,1)'::tid)
3840 SET enable_mergejoin TO off;
3841 /*+NoHashJoin(t1 t2)*/
3842 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3851 ------------------------------------
3854 -> Index Scan using t1_i1 on t1
3855 Index Cond: (c1 = t2.c1)
3858 /*+NoMergeJoin(t1 t2)*/
3859 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3868 ------------------------------------
3871 -> Index Scan using t1_i1 on t1
3872 Index Cond: (c1 = t2.c1)
3876 SET enable_nestloop TO off;
3877 SET enable_mergejoin TO off;
3878 SET enable_hashjoin TO on;
3879 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3881 ------------------------------
3883 Hash Cond: (t1.c1 = t2.c1)
3889 /*+NestLoop(t1 t2)*/
3890 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3899 ------------------------------------
3902 -> Index Scan using t1_i1 on t1
3903 Index Cond: (c1 = t2.c1)
3906 /*+HashJoin(t1 t2)*/
3907 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3916 ------------------------------
3918 Hash Cond: (t1.c1 = t2.c1)
3924 /*+MergeJoin(t1 t2)*/
3925 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3934 ------------------------------------
3936 Merge Cond: (t1.c1 = t2.c1)
3937 -> Index Scan using t1_i1 on t1
3943 /*+NoNestLoop(t1 t2)*/
3944 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3953 ------------------------------
3955 Hash Cond: (t1.c1 = t2.c1)
3961 /*+NoHashJoin(t1 t2)*/
3962 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3971 ------------------------------------
3974 -> Index Scan using t1_i1 on t1
3975 Index Cond: (c1 = t2.c1)
3978 /*+NoMergeJoin(t1 t2)*/
3979 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3988 ------------------------------
3990 Hash Cond: (t1.c1 = t2.c1)
3997 SET enable_nestloop TO off;
3998 SET enable_mergejoin TO on;
3999 SET enable_hashjoin TO off;
4000 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4002 ------------------------------------
4004 Merge Cond: (t1.c1 = t2.c1)
4005 -> Index Scan using t1_i1 on t1
4011 /*+NestLoop(t1 t2)*/
4012 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4021 ------------------------------------
4024 -> Index Scan using t1_i1 on t1
4025 Index Cond: (c1 = t2.c1)
4028 /*+HashJoin(t1 t2)*/
4029 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4038 ------------------------------
4040 Hash Cond: (t1.c1 = t2.c1)
4046 /*+MergeJoin(t1 t2)*/
4047 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4056 ------------------------------------
4058 Merge Cond: (t1.c1 = t2.c1)
4059 -> Index Scan using t1_i1 on t1
4065 /*+NoNestLoop(t1 t2)*/
4066 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4075 ------------------------------------
4077 Merge Cond: (t1.c1 = t2.c1)
4078 -> Index Scan using t1_i1 on t1
4084 /*+NoHashJoin(t1 t2)*/
4085 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4094 ------------------------------------
4096 Merge Cond: (t1.c1 = t2.c1)
4097 -> Index Scan using t1_i1 on t1
4103 /*+NoMergeJoin(t1 t2)*/
4104 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4113 ------------------------------------
4116 -> Index Scan using t1_i1 on t1
4117 Index Cond: (c1 = t2.c1)
4120 SET enable_nestloop TO on;
4121 SET enable_mergejoin TO on;
4122 SET enable_hashjoin TO on;
4124 ---- No. J-3-2 join inherit tables
4126 EXPLAIN (COSTS false) SELECT * FROM s1.p1, s1.p2 WHERE p1.c1 = p2.c1;
4128 ---------------------------------------
4130 Hash Cond: (s1.p2.c1 = s1.p1.c1)
4133 -> Seq Scan on p2c1 p2
4134 -> Seq Scan on p2c2 p2
4135 -> Seq Scan on p2c3 p2
4136 -> Seq Scan on p2c1c1 p2
4137 -> Seq Scan on p2c1c2 p2
4138 -> Seq Scan on p2c2c1 p2
4139 -> Seq Scan on p2c2c2 p2
4140 -> Seq Scan on p2c3c1 p2
4141 -> Seq Scan on p2c3c2 p2
4145 -> Seq Scan on p1c1 p1
4146 -> Seq Scan on p1c2 p1
4147 -> Seq Scan on p1c3 p1
4151 /*+MergeJoin(p1 p2)*/
4152 EXPLAIN (COSTS false) SELECT * FROM s1.p1, s1.p2 WHERE p1.c1 = p2.c1;
4161 -----------------------------------------
4163 Merge Cond: (s1.p1.c1 = s1.p2.c1)
4168 -> Seq Scan on p1c1 p1
4169 -> Seq Scan on p1c2 p1
4170 -> Seq Scan on p1c3 p1
4175 -> Seq Scan on p2c1 p2
4176 -> Seq Scan on p2c2 p2
4177 -> Seq Scan on p2c3 p2
4178 -> Seq Scan on p2c1c1 p2
4179 -> Seq Scan on p2c1c2 p2
4180 -> Seq Scan on p2c2c1 p2
4181 -> Seq Scan on p2c2c2 p2
4182 -> Seq Scan on p2c3c1 p2
4183 -> Seq Scan on p2c3c2 p2
4187 /*+MergeJoin(p1c1 p2c1)*/
4188 EXPLAIN (COSTS false) SELECT * FROM s1.p1, s1.p2 WHERE p1.c1 = p2.c1;
4192 MergeJoin(p1c1 p2c1)
4197 ---------------------------------------
4199 Hash Cond: (s1.p2.c1 = s1.p1.c1)
4202 -> Seq Scan on p2c1 p2
4203 -> Seq Scan on p2c2 p2
4204 -> Seq Scan on p2c3 p2
4205 -> Seq Scan on p2c1c1 p2
4206 -> Seq Scan on p2c1c2 p2
4207 -> Seq Scan on p2c2c1 p2
4208 -> Seq Scan on p2c2c2 p2
4209 -> Seq Scan on p2c3c1 p2
4210 -> Seq Scan on p2c3c2 p2
4214 -> Seq Scan on p1c1 p1
4215 -> Seq Scan on p1c2 p1
4216 -> Seq Scan on p1c3 p1
4220 ---- No. J-3-3 conflict join method hint
4222 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4224 ------------------------------------
4226 Merge Cond: (t1.c1 = t2.c1)
4227 -> Index Scan using t1_i1 on t1
4234 /*+HashJoin(t1 t2)NestLoop(t1 t2)*/
4235 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4236 INFO: hint syntax error at or near "HashJoin(t1 t2)NestLoop(t1 t2)"
4237 DETAIL: Conflict join method hint.
4247 ------------------------------------
4250 -> Index Scan using t1_i1 on t1
4251 Index Cond: (c1 = t2.c1)
4255 /*+MergeJoin(t1 t2)HashJoin(t1 t2)NestLoop(t1 t2)*/
4256 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4257 INFO: hint syntax error at or near "MergeJoin(t1 t2)HashJoin(t1 t2)NestLoop(t1 t2)"
4258 DETAIL: Conflict join method hint.
4259 INFO: hint syntax error at or near "HashJoin(t1 t2)NestLoop(t1 t2)"
4260 DETAIL: Conflict join method hint.
4271 ------------------------------------
4274 -> Index Scan using t1_i1 on t1
4275 Index Cond: (c1 = t2.c1)
4279 /*+HashJoin(t1 t2)NestLoop(t2 t1)*/
4280 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4281 INFO: hint syntax error at or near "HashJoin(t1 t2)NestLoop(t2 t1)"
4282 DETAIL: Conflict join method hint.
4292 ------------------------------------
4295 -> Index Scan using t1_i1 on t1
4296 Index Cond: (c1 = t2.c1)
4300 /*+MergeJoin(t2 t1)HashJoin(t1 t2)NestLoop(t2 t1)*/
4301 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4302 INFO: hint syntax error at or near "MergeJoin(t2 t1)HashJoin(t1 t2)NestLoop(t2 t1)"
4303 DETAIL: Conflict join method hint.
4304 INFO: hint syntax error at or near "HashJoin(t1 t2)NestLoop(t2 t1)"
4305 DETAIL: Conflict join method hint.
4316 ------------------------------------
4319 -> Index Scan using t1_i1 on t1
4320 Index Cond: (c1 = t2.c1)
4324 ---- No. J-3-4 hint state output
4327 /*+NestLoop(t1 t2)*/
4328 SELECT * FROM s1.t1, s1.t2 WHERE false;
4336 c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4
4337 ----+----+----+----+----+----+----+----
4341 /*+HashJoin(t1 t2)*/
4342 SELECT * FROM s1.t1, s1.t2 WHERE false;
4350 c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4
4351 ----+----+----+----+----+----+----+----
4355 /*+MergeJoin(t1 t2)*/
4356 SELECT * FROM s1.t1, s1.t2 WHERE false;
4364 c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4
4365 ----+----+----+----+----+----+----+----
4369 /*+NoNestLoop(t1 t2)*/
4370 SELECT * FROM s1.t1, s1.t2 WHERE false;
4378 c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4
4379 ----+----+----+----+----+----+----+----
4383 /*+NoHashJoin(t1 t2)*/
4384 SELECT * FROM s1.t1, s1.t2 WHERE false;
4392 c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4
4393 ----+----+----+----+----+----+----+----
4397 /*+NoMergeJoin(t1 t2)*/
4398 SELECT * FROM s1.t1, s1.t2 WHERE false;
4406 c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4
4407 ----+----+----+----+----+----+----+----
4412 SELECT * FROM s1.t1 WHERE false;
4413 INFO: hint syntax error at or near ")"
4414 DETAIL: Relation name is necessary.
4421 SELECT * FROM s1.t1 WHERE false;
4422 INFO: hint syntax error at or near ")"
4423 DETAIL: Specified relation more than two.
4436 /*+NestLoop(t1 t2)*/
4437 SELECT * FROM s1.t1, s1.t2 WHERE false;
4445 c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4
4446 ----+----+----+----+----+----+----+----
4450 /*+NestLoop(t1 t2 t3)*/
4451 SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE false;
4459 c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4
4460 ----+----+----+----+----+----+----+----+----+----+----+----