2 SET pg_hint_plan.enable_hint TO on;
3 SET pg_hint_plan.debug_print TO on;
4 SET client_min_messages TO LOG;
5 SET search_path TO public;
6 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 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 Only 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 Only 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 duplicated.
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 duplicated.
384 INFO: hint syntax error at or near "HashJoin(t2 t2)"
385 DETAIL: Relation name "t2" is duplicated.
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 duplicated.
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 ------------------------------------------------
500 -> Seq Scan on p1c1 t1
501 -> Seq Scan on p1c2 t1
502 -> Seq Scan on p1c3 t1
506 -> Index Scan using p1c1_i on p1c1 t2
507 Index Cond: (c1 = t1.c1)
508 -> Index Scan using p1c2_i on p1c2 t2
509 Index Cond: (c1 = t1.c1)
510 -> Index Scan using p1c3_i on p1c3 t2
511 Index Cond: (c1 = t1.c1)
515 EXPLAIN (COSTS false) SELECT * FROM s1.ul1 t1, s1.ul1 t2 WHERE t1.c1 = t2.c1;
517 --------------------------------
519 Hash Cond: (t1.c1 = t2.c1)
520 -> Seq Scan on ul1 t1
522 -> Seq Scan on ul1 t2
526 EXPLAIN (COSTS false) SELECT * FROM s1.ul1 t1, s1.ul1 t2 WHERE t1.c1 = t2.c1;
535 -------------------------------------------
537 -> Seq Scan on ul1 t1
538 -> Index Scan using ul1_pkey on ul1 t2
539 Index Cond: (c1 = t1.c1)
543 CREATE TEMP TABLE tm1 (LIKE s1.t1 INCLUDING ALL);
544 NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "tm1_pkey" for table "tm1"
545 EXPLAIN (COSTS false) SELECT * FROM tm1 t1, tm1 t2 WHERE t1.c1 = t2.c1;
547 --------------------------------
549 Hash Cond: (t1.c1 = t2.c1)
550 -> Seq Scan on tm1 t1
552 -> Seq Scan on tm1 t2
556 EXPLAIN (COSTS false) SELECT * FROM tm1 t1, tm1 t2 WHERE t1.c1 = t2.c1;
565 -------------------------------------------
567 -> Seq Scan on tm1 t1
568 -> Index Scan using tm1_pkey on tm1 t2
569 Index Cond: (c1 = t1.c1)
573 EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class t1, pg_catalog.pg_class t2 WHERE t1.oid = t2.oid;
575 -------------------------------------
577 Hash Cond: (t1.oid = t2.oid)
578 -> Seq Scan on pg_class t1
580 -> Seq Scan on pg_class t2
584 EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class t1, pg_catalog.pg_class t2 WHERE t1.oid = t2.oid;
593 ----------------------------------------------------------
595 -> Seq Scan on pg_class t1
596 -> Index Scan using pg_class_oid_index on pg_class t2
597 Index Cond: (oid = t1.oid)
603 EXPLAIN (COSTS false) SELECT * FROM s1.f1() t1, s1.f1() t2 WHERE t1.c1 = t2.c1;
605 --------------------------------
607 Join Filter: (t1.c1 = t2.c1)
608 -> Function Scan on f1 t1
609 -> Function Scan on f1 t2
613 EXPLAIN (COSTS false) SELECT * FROM s1.f1() t1, s1.f1() t2 WHERE t1.c1 = t2.c1;
622 ------------------------------------
624 Hash Cond: (t1.c1 = t2.c1)
625 -> Function Scan on f1 t1
627 -> Function Scan on f1 t2
631 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;
633 --------------------------------------------------------
635 Hash Cond: ("*VALUES*".column1 = "*VALUES*".column1)
636 -> Values Scan on "*VALUES*"
638 -> Values Scan on "*VALUES*"
642 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;
651 --------------------------------------------------------
653 Hash Cond: ("*VALUES*".column1 = "*VALUES*".column1)
654 -> Values Scan on "*VALUES*"
656 -> Values Scan on "*VALUES*"
659 /*+NestLoop(*VALUES* *VALUES*)*/
660 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;
661 INFO: hint syntax error at or near "NestLoop(*VALUES* *VALUES*)"
662 DETAIL: Relation name "*VALUES*" is ambiguous.
668 NestLoop(*VALUES* *VALUES*)
671 --------------------------------------------------------
673 Hash Cond: ("*VALUES*".column1 = "*VALUES*".column1)
674 -> Values Scan on "*VALUES*"
676 -> Values Scan on "*VALUES*"
680 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;
682 -------------------------------------------------------
687 Merge Cond: (s1.t1.c1 = t2.c1)
688 -> Index Only Scan using t1_i1 on t1
693 -> Index Scan using t1_i1 on t1
694 Index Cond: (c1 = c1.c1)
697 /*+NestLoop(t1 t2)HashJoin(t1 c1)*/
698 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;
708 -------------------------------------------------------
710 Hash Cond: (s1.t1.c1 = c1.c1)
715 -> Index Only Scan using t1_i1 on t1
716 Index Cond: (c1 = t2.c1)
723 EXPLAIN (COSTS false) SELECT * FROM s1.v1 t1, s1.v1 t2 WHERE t1.c1 = t2.c1;
725 ----------------------------------
727 Hash Cond: (v1t1.c1 = v1t1.c1)
728 -> Seq Scan on t1 v1t1
730 -> Seq Scan on t1 v1t1
734 EXPLAIN (COSTS false) SELECT * FROM s1.v1 t1, s1.v1 t2 WHERE t1.c1 = t2.c1;
743 ----------------------------------
745 Hash Cond: (v1t1.c1 = v1t1.c1)
746 -> Seq Scan on t1 v1t1
748 -> Seq Scan on t1 v1t1
751 /*+NestLoop(v1t1 v1t1_)*/
752 EXPLAIN (COSTS false) SELECT * FROM s1.v1 t1, s1.v1_ t2 WHERE t1.c1 = t2.c1;
761 ------------------------------------------
763 -> Seq Scan on t1 v1t1
764 -> Index Scan using t1_i1 on t1 v1t1_
765 Index Cond: (c1 = v1t1.c1)
769 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);
771 -----------------------------------------------------------
773 InitPlan 1 (returns $0)
776 Merge Cond: (st1.c1 = st2.c1)
777 -> Index Only Scan using t1_i1 on t1 st1
780 -> Seq Scan on t2 st2
781 -> Index Scan using t1_i1 on t1
782 Index Cond: (c1 = $0)
787 /*+MergeJoin(t1 t2)NestLoop(st1 st2)*/
788 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);
798 ---------------------------------------------------------------------------------------------
799 Nested Loop (cost=10000000074.46..10000000084.99 rows=1 width=29)
800 InitPlan 1 (returns $1)
801 -> Aggregate (cost=74.45..74.46 rows=1 width=4)
802 -> Nested Loop (cost=0.00..74.20 rows=100 width=4)
803 -> Seq Scan on t2 st2 (cost=0.00..2.00 rows=100 width=4)
804 -> Index Only Scan using t1_i1 on t1 st1 (cost=0.00..0.71 rows=1 width=4)
805 Index Cond: (c1 = st2.c1)
806 -> Index Scan using t1_i1 on t1 (cost=0.00..8.27 rows=1 width=15)
807 Index Cond: (c1 = $1)
808 -> Seq Scan on t2 (cost=0.00..2.25 rows=1 width=14)
812 EXPLAIN (COSTS false) SELECT * FROM s1.t1, (SELECT t2.c1 FROM s1.t2) st2 WHERE t1.c1 = st2.c1;
814 ------------------------------------
816 Merge Cond: (t1.c1 = t2.c1)
817 -> Index Scan using t1_i1 on t1
823 /*+HashJoin(t1 st2)*/
824 EXPLAIN (COSTS false) SELECT * FROM s1.t1, (SELECT t2.c1 FROM s1.t2) st2 WHERE t1.c1 = st2.c1;
833 ------------------------------------
835 Merge Cond: (t1.c1 = t2.c1)
836 -> Index Scan using t1_i1 on t1
843 EXPLAIN (COSTS false) SELECT * FROM s1.t1, (SELECT t2.c1 FROM s1.t2) st2 WHERE t1.c1 = st2.c1;
852 ------------------------------
854 Hash Cond: (t1.c1 = t2.c1)
861 ---- No. J-2-1 complexity query block
864 EXPLAIN (COSTS false)
865 SELECT max(bmt1.c1), (
866 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)'
868 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)'
870 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)'
873 -------------------------------------------------------------------
875 InitPlan 1 (returns $0)
878 Join Filter: (b1t1.c1 = b1t4.c1)
880 Join Filter: (b1t1.c1 = b1t3.c1)
882 Join Filter: (b1t1.c1 = b1t2.c1)
883 -> Tid Scan on t1 b1t1
884 TID Cond: (ctid = '(1,1)'::tid)
885 -> Seq Scan on t2 b1t2
886 Filter: (ctid = '(1,1)'::tid)
887 -> Tid Scan on t3 b1t3
888 TID Cond: (ctid = '(1,1)'::tid)
889 -> Tid Scan on t4 b1t4
890 TID Cond: (ctid = '(1,1)'::tid)
891 InitPlan 2 (returns $1)
894 Join Filter: (b2t1.c1 = b2t4.c1)
896 Join Filter: (b2t1.c1 = b2t3.c1)
898 Join Filter: (b2t1.c1 = b2t2.c1)
899 -> Tid Scan on t1 b2t1
900 TID Cond: (ctid = '(1,1)'::tid)
901 -> Seq Scan on t2 b2t2
902 Filter: (ctid = '(1,1)'::tid)
903 -> Tid Scan on t3 b2t3
904 TID Cond: (ctid = '(1,1)'::tid)
905 -> Tid Scan on t4 b2t4
906 TID Cond: (ctid = '(1,1)'::tid)
908 Join Filter: (bmt1.c1 = bmt4.c1)
910 Join Filter: (bmt1.c1 = bmt3.c1)
912 Join Filter: (bmt1.c1 = bmt2.c1)
913 -> Tid Scan on t1 bmt1
914 TID Cond: (ctid = '(1,1)'::tid)
915 -> Seq Scan on t2 bmt2
916 Filter: (ctid = '(1,1)'::tid)
917 -> Tid Scan on t3 bmt3
918 TID Cond: (ctid = '(1,1)'::tid)
919 -> Tid Scan on t4 bmt4
920 TID Cond: (ctid = '(1,1)'::tid)
924 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
925 MergeJoin(bmt1 bmt2)HashJoin(bmt1 bmt2 bmt3)NestLoop(bmt1 bmt2 bmt3 bmt4)
926 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
927 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
929 EXPLAIN (COSTS false)
930 SELECT max(bmt1.c1), (
931 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)'
933 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)'
935 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)'
942 HashJoin(b1t2 b1t3 b1t4)
943 HashJoin(b2t1 b2t3 b2t4)
944 HashJoin(bmt1 bmt2 bmt3)
945 NestLoop(b1t1 b1t2 b1t3 b1t4)
946 NestLoop(b2t1 b2t2 b2t3 b2t4)
947 NestLoop(bmt1 bmt2 bmt3 bmt4)
948 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
954 -------------------------------------------------------------------------------
956 InitPlan 1 (returns $0)
959 Join Filter: (b1t2.c1 = b1t1.c1)
961 Hash Cond: (b1t4.c1 = b1t2.c1)
962 -> Tid Scan on t4 b1t4
963 TID Cond: (ctid = '(1,1)'::tid)
966 Merge Cond: (b1t2.c1 = b1t3.c1)
969 -> Seq Scan on t2 b1t2
970 Filter: (ctid = '(1,1)'::tid)
973 -> Tid Scan on t3 b1t3
974 TID Cond: (ctid = '(1,1)'::tid)
975 -> Tid Scan on t1 b1t1
976 TID Cond: (ctid = '(1,1)'::tid)
977 InitPlan 2 (returns $1)
980 Join Filter: (b2t1.c1 = b2t2.c1)
982 Hash Cond: (b2t1.c1 = b2t3.c1)
983 -> Tid Scan on t1 b2t1
984 TID Cond: (ctid = '(1,1)'::tid)
987 Merge Cond: (b2t3.c1 = b2t4.c1)
990 -> Tid Scan on t3 b2t3
991 TID Cond: (ctid = '(1,1)'::tid)
994 -> Tid Scan on t4 b2t4
995 TID Cond: (ctid = '(1,1)'::tid)
996 -> Seq Scan on t2 b2t2
997 Filter: (ctid = '(1,1)'::tid)
999 Join Filter: (bmt1.c1 = bmt4.c1)
1001 Hash Cond: (bmt3.c1 = bmt1.c1)
1002 -> Tid Scan on t3 bmt3
1003 TID Cond: (ctid = '(1,1)'::tid)
1006 Merge Cond: (bmt1.c1 = bmt2.c1)
1009 -> Tid Scan on t1 bmt1
1010 TID Cond: (ctid = '(1,1)'::tid)
1013 -> Seq Scan on t2 bmt2
1014 Filter: (ctid = '(1,1)'::tid)
1015 -> Tid Scan on t4 bmt4
1016 TID Cond: (ctid = '(1,1)'::tid)
1020 EXPLAIN (COSTS false)
1021 SELECT max(bmt1.c1), (
1022 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)'
1024 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)'
1026 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)'
1028 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)'
1031 -------------------------------------------------------------------
1033 InitPlan 1 (returns $0)
1036 Join Filter: (b1t1.c1 = b1t4.c1)
1038 Join Filter: (b1t1.c1 = b1t3.c1)
1040 Join Filter: (b1t1.c1 = b1t2.c1)
1041 -> Tid Scan on t1 b1t1
1042 TID Cond: (ctid = '(1,1)'::tid)
1043 -> Seq Scan on t2 b1t2
1044 Filter: (ctid = '(1,1)'::tid)
1045 -> Tid Scan on t3 b1t3
1046 TID Cond: (ctid = '(1,1)'::tid)
1047 -> Tid Scan on t4 b1t4
1048 TID Cond: (ctid = '(1,1)'::tid)
1049 InitPlan 2 (returns $1)
1052 Join Filter: (b2t1.c1 = b2t4.c1)
1054 Join Filter: (b2t1.c1 = b2t3.c1)
1056 Join Filter: (b2t1.c1 = b2t2.c1)
1057 -> Tid Scan on t1 b2t1
1058 TID Cond: (ctid = '(1,1)'::tid)
1059 -> Seq Scan on t2 b2t2
1060 Filter: (ctid = '(1,1)'::tid)
1061 -> Tid Scan on t3 b2t3
1062 TID Cond: (ctid = '(1,1)'::tid)
1063 -> Tid Scan on t4 b2t4
1064 TID Cond: (ctid = '(1,1)'::tid)
1065 InitPlan 3 (returns $2)
1068 Join Filter: (b3t1.c1 = b3t4.c1)
1070 Join Filter: (b3t1.c1 = b3t3.c1)
1072 Join Filter: (b3t1.c1 = b3t2.c1)
1073 -> Tid Scan on t1 b3t1
1074 TID Cond: (ctid = '(1,1)'::tid)
1075 -> Seq Scan on t2 b3t2
1076 Filter: (ctid = '(1,1)'::tid)
1077 -> Tid Scan on t3 b3t3
1078 TID Cond: (ctid = '(1,1)'::tid)
1079 -> Tid Scan on t4 b3t4
1080 TID Cond: (ctid = '(1,1)'::tid)
1082 Join Filter: (bmt1.c1 = bmt4.c1)
1084 Join Filter: (bmt1.c1 = bmt3.c1)
1086 Join Filter: (bmt1.c1 = bmt2.c1)
1087 -> Tid Scan on t1 bmt1
1088 TID Cond: (ctid = '(1,1)'::tid)
1089 -> Seq Scan on t2 bmt2
1090 Filter: (ctid = '(1,1)'::tid)
1091 -> Tid Scan on t3 bmt3
1092 TID Cond: (ctid = '(1,1)'::tid)
1093 -> Tid Scan on t4 bmt4
1094 TID Cond: (ctid = '(1,1)'::tid)
1098 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1099 MergeJoin(bmt1 bmt2)HashJoin(bmt1 bmt2 bmt3)NestLoop(bmt1 bmt2 bmt3 bmt4)
1100 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
1101 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
1102 MergeJoin(b3t4 b3t1)HashJoin(b3t4 b3t1 b3t2)NestLoop(b3t1 b3t2 b3t3 b3t4)
1104 EXPLAIN (COSTS false)
1105 SELECT max(bmt1.c1), (
1106 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)'
1108 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)'
1110 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)'
1112 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)'
1116 MergeJoin(b1t2 b1t3)
1117 MergeJoin(b2t3 b2t4)
1118 MergeJoin(b3t1 b3t4)
1119 MergeJoin(bmt1 bmt2)
1120 HashJoin(b1t2 b1t3 b1t4)
1121 HashJoin(b2t1 b2t3 b2t4)
1122 HashJoin(b3t1 b3t2 b3t4)
1123 HashJoin(bmt1 bmt2 bmt3)
1124 NestLoop(b1t1 b1t2 b1t3 b1t4)
1125 NestLoop(b2t1 b2t2 b2t3 b2t4)
1126 NestLoop(b3t1 b3t2 b3t3 b3t4)
1127 NestLoop(bmt1 bmt2 bmt3 bmt4)
1128 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1134 -------------------------------------------------------------------------------
1136 InitPlan 1 (returns $0)
1139 Join Filter: (b1t2.c1 = b1t1.c1)
1141 Hash Cond: (b1t4.c1 = b1t2.c1)
1142 -> Tid Scan on t4 b1t4
1143 TID Cond: (ctid = '(1,1)'::tid)
1146 Merge Cond: (b1t2.c1 = b1t3.c1)
1149 -> Seq Scan on t2 b1t2
1150 Filter: (ctid = '(1,1)'::tid)
1153 -> Tid Scan on t3 b1t3
1154 TID Cond: (ctid = '(1,1)'::tid)
1155 -> Tid Scan on t1 b1t1
1156 TID Cond: (ctid = '(1,1)'::tid)
1157 InitPlan 2 (returns $1)
1160 Join Filter: (b2t1.c1 = b2t2.c1)
1162 Hash Cond: (b2t1.c1 = b2t3.c1)
1163 -> Tid Scan on t1 b2t1
1164 TID Cond: (ctid = '(1,1)'::tid)
1167 Merge Cond: (b2t3.c1 = b2t4.c1)
1170 -> Tid Scan on t3 b2t3
1171 TID Cond: (ctid = '(1,1)'::tid)
1174 -> Tid Scan on t4 b2t4
1175 TID Cond: (ctid = '(1,1)'::tid)
1176 -> Seq Scan on t2 b2t2
1177 Filter: (ctid = '(1,1)'::tid)
1178 InitPlan 3 (returns $2)
1181 Join Filter: (b3t1.c1 = b3t3.c1)
1183 Hash Cond: (b3t2.c1 = b3t1.c1)
1184 -> Seq Scan on t2 b3t2
1185 Filter: (ctid = '(1,1)'::tid)
1188 Merge Cond: (b3t1.c1 = b3t4.c1)
1191 -> Tid Scan on t1 b3t1
1192 TID Cond: (ctid = '(1,1)'::tid)
1195 -> Tid Scan on t4 b3t4
1196 TID Cond: (ctid = '(1,1)'::tid)
1197 -> Tid Scan on t3 b3t3
1198 TID Cond: (ctid = '(1,1)'::tid)
1200 Join Filter: (bmt1.c1 = bmt4.c1)
1202 Hash Cond: (bmt3.c1 = bmt1.c1)
1203 -> Tid Scan on t3 bmt3
1204 TID Cond: (ctid = '(1,1)'::tid)
1207 Merge Cond: (bmt1.c1 = bmt2.c1)
1210 -> Tid Scan on t1 bmt1
1211 TID Cond: (ctid = '(1,1)'::tid)
1214 -> Seq Scan on t2 bmt2
1215 Filter: (ctid = '(1,1)'::tid)
1216 -> Tid Scan on t4 bmt4
1217 TID Cond: (ctid = '(1,1)'::tid)
1221 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)';
1223 -----------------------------------------------------------
1226 Join Filter: (bmt1.c1 = bmt4.c1)
1228 Join Filter: (bmt1.c1 = bmt3.c1)
1230 Join Filter: (bmt1.c1 = bmt2.c1)
1231 -> Tid Scan on t1 bmt1
1232 TID Cond: (ctid = '(1,1)'::tid)
1233 -> Seq Scan on t2 bmt2
1234 Filter: (ctid = '(1,1)'::tid)
1235 -> Tid Scan on t3 bmt3
1236 TID Cond: (ctid = '(1,1)'::tid)
1237 -> Tid Scan on t4 bmt4
1238 TID Cond: (ctid = '(1,1)'::tid)
1242 Leading(bmt4 bmt3 bmt2 bmt1)
1243 MergeJoin(bmt4 bmt3)HashJoin(bmt4 bmt3 bmt2)NestLoop(bmt1 bmt2 bmt3 bmt4)
1245 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)';
1248 MergeJoin(bmt3 bmt4)
1249 HashJoin(bmt2 bmt3 bmt4)
1250 NestLoop(bmt1 bmt2 bmt3 bmt4)
1251 Leading(bmt4 bmt3 bmt2 bmt1)
1257 -----------------------------------------------------------------------
1260 Join Filter: (bmt2.c1 = bmt1.c1)
1262 Hash Cond: (bmt2.c1 = bmt3.c1)
1263 -> Seq Scan on t2 bmt2
1264 Filter: (ctid = '(1,1)'::tid)
1267 Merge Cond: (bmt3.c1 = bmt4.c1)
1270 -> Tid Scan on t3 bmt3
1271 TID Cond: (ctid = '(1,1)'::tid)
1274 -> Tid Scan on t4 bmt4
1275 TID Cond: (ctid = '(1,1)'::tid)
1276 -> Tid Scan on t1 bmt1
1277 TID Cond: (ctid = '(1,1)'::tid)
1281 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)';
1283 -----------------------------------------------------------
1286 Join Filter: (bmt1.c1 = bmt4.c1)
1288 Join Filter: (bmt1.c1 = bmt3.c1)
1290 Join Filter: (bmt1.c1 = bmt2.c1)
1291 -> Tid Scan on t1 bmt1
1292 TID Cond: (ctid = '(1,1)'::tid)
1293 -> Seq Scan on t2 bmt2
1294 Filter: (ctid = '(1,1)'::tid)
1295 -> Tid Scan on t3 bmt3
1296 TID Cond: (ctid = '(1,1)'::tid)
1297 -> Tid Scan on t4 bmt4
1298 TID Cond: (ctid = '(1,1)'::tid)
1302 Leading(bmt4 bmt3 bmt2 bmt1)
1303 MergeJoin(bmt4 bmt3)HashJoin(bmt4 bmt3 bmt2)NestLoop(bmt1 bmt2 bmt3 bmt4)
1305 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)';
1308 MergeJoin(bmt3 bmt4)
1309 HashJoin(bmt2 bmt3 bmt4)
1310 NestLoop(bmt1 bmt2 bmt3 bmt4)
1311 Leading(bmt4 bmt3 bmt2 bmt1)
1317 -----------------------------------------------------------------------
1320 Join Filter: (bmt2.c1 = bmt1.c1)
1322 Hash Cond: (bmt2.c1 = bmt3.c1)
1323 -> Seq Scan on t2 bmt2
1324 Filter: (ctid = '(1,1)'::tid)
1327 Merge Cond: (bmt3.c1 = bmt4.c1)
1330 -> Tid Scan on t3 bmt3
1331 TID Cond: (ctid = '(1,1)'::tid)
1334 -> Tid Scan on t4 bmt4
1335 TID Cond: (ctid = '(1,1)'::tid)
1336 -> Tid Scan on t1 bmt1
1337 TID Cond: (ctid = '(1,1)'::tid)
1341 EXPLAIN (COSTS false)
1342 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)'
1344 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)'
1346 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)'
1350 -------------------------------------------------------------------
1352 InitPlan 1 (returns $0)
1355 Join Filter: (b1t1.c1 = b1t4.c1)
1357 Join Filter: (b1t1.c1 = b1t3.c1)
1359 Join Filter: (b1t1.c1 = b1t2.c1)
1360 -> Tid Scan on t1 b1t1
1361 TID Cond: (ctid = '(1,1)'::tid)
1362 -> Seq Scan on t2 b1t2
1363 Filter: (ctid = '(1,1)'::tid)
1364 -> Tid Scan on t3 b1t3
1365 TID Cond: (ctid = '(1,1)'::tid)
1366 -> Tid Scan on t4 b1t4
1367 TID Cond: (ctid = '(1,1)'::tid)
1368 InitPlan 2 (returns $1)
1371 Join Filter: (b2t1.c1 = b2t4.c1)
1373 Join Filter: (b2t1.c1 = b2t3.c1)
1375 Join Filter: (b2t1.c1 = b2t2.c1)
1376 -> Tid Scan on t1 b2t1
1377 TID Cond: (ctid = '(1,1)'::tid)
1378 -> Seq Scan on t2 b2t2
1379 Filter: (ctid = '(1,1)'::tid)
1380 -> Tid Scan on t3 b2t3
1381 TID Cond: (ctid = '(1,1)'::tid)
1382 -> Tid Scan on t4 b2t4
1383 TID Cond: (ctid = '(1,1)'::tid)
1385 Join Filter: (bmt1.c1 = bmt4.c1)
1387 Join Filter: (bmt1.c1 = bmt3.c1)
1389 Join Filter: (bmt1.c1 = bmt2.c1)
1390 -> Tid Scan on t1 bmt1
1391 TID Cond: (ctid = '(1,1)'::tid)
1392 Filter: ((c1 <> $0) AND (c1 <> $1))
1393 -> Seq Scan on t2 bmt2
1394 Filter: (ctid = '(1,1)'::tid)
1395 -> Tid Scan on t3 bmt3
1396 TID Cond: (ctid = '(1,1)'::tid)
1397 -> Tid Scan on t4 bmt4
1398 TID Cond: (ctid = '(1,1)'::tid)
1402 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1403 MergeJoin(bmt1 bmt2)HashJoin(bmt1 bmt2 bmt3)NestLoop(bmt1 bmt2 bmt3 bmt4)
1404 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
1405 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
1407 EXPLAIN (COSTS false)
1408 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)'
1410 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)'
1412 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
1417 MergeJoin(b1t2 b1t3)
1418 MergeJoin(b2t3 b2t4)
1419 MergeJoin(bmt1 bmt2)
1420 HashJoin(b1t2 b1t3 b1t4)
1421 HashJoin(b2t1 b2t3 b2t4)
1422 HashJoin(bmt1 bmt2 bmt3)
1423 NestLoop(b1t1 b1t2 b1t3 b1t4)
1424 NestLoop(b2t1 b2t2 b2t3 b2t4)
1425 NestLoop(bmt1 bmt2 bmt3 bmt4)
1426 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1432 -------------------------------------------------------------------------------
1434 InitPlan 1 (returns $0)
1437 Join Filter: (b1t2.c1 = b1t1.c1)
1439 Hash Cond: (b1t4.c1 = b1t2.c1)
1440 -> Tid Scan on t4 b1t4
1441 TID Cond: (ctid = '(1,1)'::tid)
1444 Merge Cond: (b1t2.c1 = b1t3.c1)
1447 -> Seq Scan on t2 b1t2
1448 Filter: (ctid = '(1,1)'::tid)
1451 -> Tid Scan on t3 b1t3
1452 TID Cond: (ctid = '(1,1)'::tid)
1453 -> Tid Scan on t1 b1t1
1454 TID Cond: (ctid = '(1,1)'::tid)
1455 InitPlan 2 (returns $1)
1458 Join Filter: (b2t1.c1 = b2t2.c1)
1460 Hash Cond: (b2t1.c1 = b2t3.c1)
1461 -> Tid Scan on t1 b2t1
1462 TID Cond: (ctid = '(1,1)'::tid)
1465 Merge Cond: (b2t3.c1 = b2t4.c1)
1468 -> Tid Scan on t3 b2t3
1469 TID Cond: (ctid = '(1,1)'::tid)
1472 -> Tid Scan on t4 b2t4
1473 TID Cond: (ctid = '(1,1)'::tid)
1474 -> Seq Scan on t2 b2t2
1475 Filter: (ctid = '(1,1)'::tid)
1477 Join Filter: (bmt1.c1 = bmt4.c1)
1479 Hash Cond: (bmt3.c1 = bmt1.c1)
1480 -> Tid Scan on t3 bmt3
1481 TID Cond: (ctid = '(1,1)'::tid)
1484 Merge Cond: (bmt1.c1 = bmt2.c1)
1487 -> Tid Scan on t1 bmt1
1488 TID Cond: (ctid = '(1,1)'::tid)
1489 Filter: ((c1 <> $0) AND (c1 <> $1))
1492 -> Seq Scan on t2 bmt2
1493 Filter: (ctid = '(1,1)'::tid)
1494 -> Tid Scan on t4 bmt4
1495 TID Cond: (ctid = '(1,1)'::tid)
1499 EXPLAIN (COSTS false)
1500 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)'
1502 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)'
1504 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)'
1506 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)'
1510 ------------------------------------------------------------------------------
1512 InitPlan 1 (returns $0)
1515 Join Filter: (b1t1.c1 = b1t4.c1)
1517 Join Filter: (b1t1.c1 = b1t3.c1)
1519 Join Filter: (b1t1.c1 = b1t2.c1)
1520 -> Tid Scan on t1 b1t1
1521 TID Cond: (ctid = '(1,1)'::tid)
1522 -> Seq Scan on t2 b1t2
1523 Filter: (ctid = '(1,1)'::tid)
1524 -> Tid Scan on t3 b1t3
1525 TID Cond: (ctid = '(1,1)'::tid)
1526 -> Tid Scan on t4 b1t4
1527 TID Cond: (ctid = '(1,1)'::tid)
1528 InitPlan 2 (returns $1)
1531 Join Filter: (b2t1.c1 = b2t4.c1)
1533 Join Filter: (b2t1.c1 = b2t3.c1)
1535 Join Filter: (b2t1.c1 = b2t2.c1)
1536 -> Tid Scan on t1 b2t1
1537 TID Cond: (ctid = '(1,1)'::tid)
1538 -> Seq Scan on t2 b2t2
1539 Filter: (ctid = '(1,1)'::tid)
1540 -> Tid Scan on t3 b2t3
1541 TID Cond: (ctid = '(1,1)'::tid)
1542 -> Tid Scan on t4 b2t4
1543 TID Cond: (ctid = '(1,1)'::tid)
1544 InitPlan 3 (returns $2)
1547 Join Filter: (b3t1.c1 = b3t4.c1)
1549 Join Filter: (b3t1.c1 = b3t3.c1)
1551 Join Filter: (b3t1.c1 = b3t2.c1)
1552 -> Tid Scan on t1 b3t1
1553 TID Cond: (ctid = '(1,1)'::tid)
1554 -> Seq Scan on t2 b3t2
1555 Filter: (ctid = '(1,1)'::tid)
1556 -> Tid Scan on t3 b3t3
1557 TID Cond: (ctid = '(1,1)'::tid)
1558 -> Tid Scan on t4 b3t4
1559 TID Cond: (ctid = '(1,1)'::tid)
1561 Join Filter: (bmt1.c1 = bmt4.c1)
1563 Join Filter: (bmt1.c1 = bmt3.c1)
1565 Join Filter: (bmt1.c1 = bmt2.c1)
1566 -> Tid Scan on t1 bmt1
1567 TID Cond: (ctid = '(1,1)'::tid)
1568 Filter: ((c1 <> $0) AND (c1 <> $1) AND (c1 <> $2))
1569 -> Seq Scan on t2 bmt2
1570 Filter: (ctid = '(1,1)'::tid)
1571 -> Tid Scan on t3 bmt3
1572 TID Cond: (ctid = '(1,1)'::tid)
1573 -> Tid Scan on t4 bmt4
1574 TID Cond: (ctid = '(1,1)'::tid)
1578 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1579 MergeJoin(bmt1 bmt2)HashJoin(bmt1 bmt2 bmt3)NestLoop(bmt1 bmt2 bmt3 bmt4)
1580 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
1581 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
1582 MergeJoin(b3t4 b3t1)HashJoin(b3t4 b3t1 b3t2)NestLoop(b3t1 b3t2 b3t3 b3t4)
1584 EXPLAIN (COSTS false)
1585 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)'
1587 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)'
1589 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)'
1591 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)'
1596 MergeJoin(b1t2 b1t3)
1597 MergeJoin(b2t3 b2t4)
1598 MergeJoin(b3t1 b3t4)
1599 MergeJoin(bmt1 bmt2)
1600 HashJoin(b1t2 b1t3 b1t4)
1601 HashJoin(b2t1 b2t3 b2t4)
1602 HashJoin(b3t1 b3t2 b3t4)
1603 HashJoin(bmt1 bmt2 bmt3)
1604 NestLoop(b1t1 b1t2 b1t3 b1t4)
1605 NestLoop(b2t1 b2t2 b2t3 b2t4)
1606 NestLoop(b3t1 b3t2 b3t3 b3t4)
1607 NestLoop(bmt1 bmt2 bmt3 bmt4)
1608 Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1614 ------------------------------------------------------------------------------------------
1616 InitPlan 1 (returns $0)
1619 Join Filter: (b1t2.c1 = b1t1.c1)
1621 Hash Cond: (b1t4.c1 = b1t2.c1)
1622 -> Tid Scan on t4 b1t4
1623 TID Cond: (ctid = '(1,1)'::tid)
1626 Merge Cond: (b1t2.c1 = b1t3.c1)
1629 -> Seq Scan on t2 b1t2
1630 Filter: (ctid = '(1,1)'::tid)
1633 -> Tid Scan on t3 b1t3
1634 TID Cond: (ctid = '(1,1)'::tid)
1635 -> Tid Scan on t1 b1t1
1636 TID Cond: (ctid = '(1,1)'::tid)
1637 InitPlan 2 (returns $1)
1640 Join Filter: (b2t1.c1 = b2t2.c1)
1642 Hash Cond: (b2t1.c1 = b2t3.c1)
1643 -> Tid Scan on t1 b2t1
1644 TID Cond: (ctid = '(1,1)'::tid)
1647 Merge Cond: (b2t3.c1 = b2t4.c1)
1650 -> Tid Scan on t3 b2t3
1651 TID Cond: (ctid = '(1,1)'::tid)
1654 -> Tid Scan on t4 b2t4
1655 TID Cond: (ctid = '(1,1)'::tid)
1656 -> Seq Scan on t2 b2t2
1657 Filter: (ctid = '(1,1)'::tid)
1658 InitPlan 3 (returns $2)
1661 Join Filter: (b3t1.c1 = b3t3.c1)
1663 Hash Cond: (b3t2.c1 = b3t1.c1)
1664 -> Seq Scan on t2 b3t2
1665 Filter: (ctid = '(1,1)'::tid)
1668 Merge Cond: (b3t1.c1 = b3t4.c1)
1671 -> Tid Scan on t1 b3t1
1672 TID Cond: (ctid = '(1,1)'::tid)
1675 -> Tid Scan on t4 b3t4
1676 TID Cond: (ctid = '(1,1)'::tid)
1677 -> Tid Scan on t3 b3t3
1678 TID Cond: (ctid = '(1,1)'::tid)
1680 Join Filter: (bmt1.c1 = bmt4.c1)
1682 Hash Cond: (bmt3.c1 = bmt1.c1)
1683 -> Tid Scan on t3 bmt3
1684 TID Cond: (ctid = '(1,1)'::tid)
1687 Merge Cond: (bmt1.c1 = bmt2.c1)
1690 -> Tid Scan on t1 bmt1
1691 TID Cond: (ctid = '(1,1)'::tid)
1692 Filter: ((c1 <> $0) AND (c1 <> $1) AND (c1 <> $2))
1695 -> Seq Scan on t2 bmt2
1696 Filter: (ctid = '(1,1)'::tid)
1697 -> Tid Scan on t4 bmt4
1698 TID Cond: (ctid = '(1,1)'::tid)
1702 EXPLAIN (COSTS false)
1704 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)'
1707 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)'
1709 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1711 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)'
1716 -----------------------------------------------------------------------
1721 Join Filter: (b1t1.c1 = b1t4.c1)
1723 Join Filter: (b1t1.c1 = b1t3.c1)
1725 Join Filter: (b1t1.c1 = b1t2.c1)
1726 -> Tid Scan on t1 b1t1
1727 TID Cond: (ctid = '(1,1)'::tid)
1728 -> Seq Scan on t2 b1t2
1729 Filter: (ctid = '(1,1)'::tid)
1730 -> Tid Scan on t3 b1t3
1731 TID Cond: (ctid = '(1,1)'::tid)
1732 -> Tid Scan on t4 b1t4
1733 TID Cond: (ctid = '(1,1)'::tid)
1737 Join Filter: (b2t1.c1 = b2t4.c1)
1739 Join Filter: (b2t1.c1 = b2t3.c1)
1741 Join Filter: (b2t1.c1 = b2t2.c1)
1742 -> Tid Scan on t1 b2t1
1743 TID Cond: (ctid = '(1,1)'::tid)
1744 -> Seq Scan on t2 b2t2
1745 Filter: (ctid = '(1,1)'::tid)
1746 -> Tid Scan on t3 b2t3
1747 TID Cond: (ctid = '(1,1)'::tid)
1748 -> Tid Scan on t4 b2t4
1749 TID Cond: (ctid = '(1,1)'::tid)
1751 Join Filter: (bmt1.c1 = c2.c1)
1753 Join Filter: (bmt1.c1 = c1.c1)
1755 Join Filter: (bmt1.c1 = bmt4.c1)
1757 Join Filter: (bmt1.c1 = bmt3.c1)
1759 Join Filter: (bmt1.c1 = bmt2.c1)
1760 -> Tid Scan on t1 bmt1
1761 TID Cond: (ctid = '(1,1)'::tid)
1762 -> Seq Scan on t2 bmt2
1763 Filter: (ctid = '(1,1)'::tid)
1764 -> Tid Scan on t3 bmt3
1765 TID Cond: (ctid = '(1,1)'::tid)
1766 -> Tid Scan on t4 bmt4
1767 TID Cond: (ctid = '(1,1)'::tid)
1773 Leading(c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1774 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)
1775 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
1776 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
1778 EXPLAIN (COSTS false)
1780 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)'
1783 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)'
1785 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1787 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)'
1793 MergeJoin(b1t2 b1t3)
1794 MergeJoin(b2t3 b2t4)
1796 HashJoin(b1t2 b1t3 b1t4)
1797 HashJoin(b2t1 b2t3 b2t4)
1798 HashJoin(bmt1 c1 c2)
1799 NestLoop(b1t1 b1t2 b1t3 b1t4)
1800 NestLoop(b2t1 b2t2 b2t3 b2t4)
1801 NestLoop(bmt1 bmt2 c1 c2)
1802 MergeJoin(bmt1 bmt2 bmt3 c1 c2)
1803 HashJoin(bmt1 bmt2 bmt3 bmt4 c1 c2)
1804 Leading(c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
1810 -------------------------------------------------------------------------------
1815 Join Filter: (b1t2.c1 = b1t1.c1)
1817 Hash Cond: (b1t4.c1 = b1t2.c1)
1818 -> Tid Scan on t4 b1t4
1819 TID Cond: (ctid = '(1,1)'::tid)
1822 Merge Cond: (b1t2.c1 = b1t3.c1)
1825 -> Seq Scan on t2 b1t2
1826 Filter: (ctid = '(1,1)'::tid)
1829 -> Tid Scan on t3 b1t3
1830 TID Cond: (ctid = '(1,1)'::tid)
1831 -> Tid Scan on t1 b1t1
1832 TID Cond: (ctid = '(1,1)'::tid)
1836 Join Filter: (b2t1.c1 = b2t2.c1)
1838 Hash Cond: (b2t1.c1 = b2t3.c1)
1839 -> Tid Scan on t1 b2t1
1840 TID Cond: (ctid = '(1,1)'::tid)
1843 Merge Cond: (b2t3.c1 = b2t4.c1)
1846 -> Tid Scan on t3 b2t3
1847 TID Cond: (ctid = '(1,1)'::tid)
1850 -> Tid Scan on t4 b2t4
1851 TID Cond: (ctid = '(1,1)'::tid)
1852 -> Seq Scan on t2 b2t2
1853 Filter: (ctid = '(1,1)'::tid)
1855 Hash Cond: (bmt4.c1 = bmt1.c1)
1856 -> Tid Scan on t4 bmt4
1857 TID Cond: (ctid = '(1,1)'::tid)
1860 Merge Cond: (bmt1.c1 = bmt3.c1)
1864 Join Filter: (bmt1.c1 = bmt2.c1)
1866 Hash Cond: (bmt1.c1 = c1.c1)
1867 -> Tid Scan on t1 bmt1
1868 TID Cond: (ctid = '(1,1)'::tid)
1871 Merge Cond: (c1.c1 = c2.c1)
1878 -> Seq Scan on t2 bmt2
1879 Filter: (ctid = '(1,1)'::tid)
1882 -> Tid Scan on t3 bmt3
1883 TID Cond: (ctid = '(1,1)'::tid)
1887 EXPLAIN (COSTS false)
1889 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)'
1892 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)'
1895 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)'
1897 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1899 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)'
1905 -----------------------------------------------------------------------------
1910 Join Filter: (b1t1.c1 = b1t4.c1)
1912 Join Filter: (b1t1.c1 = b1t3.c1)
1914 Join Filter: (b1t1.c1 = b1t2.c1)
1915 -> Tid Scan on t1 b1t1
1916 TID Cond: (ctid = '(1,1)'::tid)
1917 -> Seq Scan on t2 b1t2
1918 Filter: (ctid = '(1,1)'::tid)
1919 -> Tid Scan on t3 b1t3
1920 TID Cond: (ctid = '(1,1)'::tid)
1921 -> Tid Scan on t4 b1t4
1922 TID Cond: (ctid = '(1,1)'::tid)
1926 Join Filter: (b2t1.c1 = b2t4.c1)
1928 Join Filter: (b2t1.c1 = b2t3.c1)
1930 Join Filter: (b2t1.c1 = b2t2.c1)
1931 -> Tid Scan on t1 b2t1
1932 TID Cond: (ctid = '(1,1)'::tid)
1933 -> Seq Scan on t2 b2t2
1934 Filter: (ctid = '(1,1)'::tid)
1935 -> Tid Scan on t3 b2t3
1936 TID Cond: (ctid = '(1,1)'::tid)
1937 -> Tid Scan on t4 b2t4
1938 TID Cond: (ctid = '(1,1)'::tid)
1942 Join Filter: (b3t1.c1 = b3t4.c1)
1944 Join Filter: (b3t1.c1 = b3t3.c1)
1946 Join Filter: (b3t1.c1 = b3t2.c1)
1947 -> Tid Scan on t1 b3t1
1948 TID Cond: (ctid = '(1,1)'::tid)
1949 -> Seq Scan on t2 b3t2
1950 Filter: (ctid = '(1,1)'::tid)
1951 -> Tid Scan on t3 b3t3
1952 TID Cond: (ctid = '(1,1)'::tid)
1953 -> Tid Scan on t4 b3t4
1954 TID Cond: (ctid = '(1,1)'::tid)
1956 Join Filter: (bmt1.c1 = c3.c1)
1958 Join Filter: (bmt1.c1 = c2.c1)
1960 Join Filter: (bmt1.c1 = c1.c1)
1962 Join Filter: (bmt1.c1 = bmt4.c1)
1964 Join Filter: (bmt1.c1 = bmt3.c1)
1966 Join Filter: (bmt1.c1 = bmt2.c1)
1967 -> Tid Scan on t1 bmt1
1968 TID Cond: (ctid = '(1,1)'::tid)
1969 -> Seq Scan on t2 bmt2
1970 Filter: (ctid = '(1,1)'::tid)
1971 -> Tid Scan on t3 bmt3
1972 TID Cond: (ctid = '(1,1)'::tid)
1973 -> Tid Scan on t4 bmt4
1974 TID Cond: (ctid = '(1,1)'::tid)
1981 Leading(c3 c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
1982 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)
1983 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
1984 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
1985 MergeJoin(b3t4 b3t1)HashJoin(b3t4 b3t1 b3t2)NestLoop(b3t1 b3t2 b3t3 b3t4)
1987 EXPLAIN (COSTS false)
1989 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)'
1992 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)'
1995 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)'
1997 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1999 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)'
2006 MergeJoin(b1t2 b1t3)
2007 MergeJoin(b2t3 b2t4)
2008 MergeJoin(b3t1 b3t4)
2010 HashJoin(b1t2 b1t3 b1t4)
2011 HashJoin(b2t1 b2t3 b2t4)
2012 HashJoin(b3t1 b3t2 b3t4)
2014 NestLoop(b1t1 b1t2 b1t3 b1t4)
2015 NestLoop(b2t1 b2t2 b2t3 b2t4)
2016 NestLoop(b3t1 b3t2 b3t3 b3t4)
2017 NestLoop(bmt1 c1 c2 c3)
2018 MergeJoin(bmt1 bmt2 c1 c2 c3)
2019 HashJoin(bmt1 bmt2 bmt3 c1 c2 c3)
2020 NestLoop(bmt1 bmt2 bmt3 bmt4 c1 c2 c3)
2021 Leading(c3 c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
2027 -------------------------------------------------------------------------------
2032 Join Filter: (b1t2.c1 = b1t1.c1)
2034 Hash Cond: (b1t4.c1 = b1t2.c1)
2035 -> Tid Scan on t4 b1t4
2036 TID Cond: (ctid = '(1,1)'::tid)
2039 Merge Cond: (b1t2.c1 = b1t3.c1)
2042 -> Seq Scan on t2 b1t2
2043 Filter: (ctid = '(1,1)'::tid)
2046 -> Tid Scan on t3 b1t3
2047 TID Cond: (ctid = '(1,1)'::tid)
2048 -> Tid Scan on t1 b1t1
2049 TID Cond: (ctid = '(1,1)'::tid)
2053 Join Filter: (b2t1.c1 = b2t2.c1)
2055 Hash Cond: (b2t1.c1 = b2t3.c1)
2056 -> Tid Scan on t1 b2t1
2057 TID Cond: (ctid = '(1,1)'::tid)
2060 Merge Cond: (b2t3.c1 = b2t4.c1)
2063 -> Tid Scan on t3 b2t3
2064 TID Cond: (ctid = '(1,1)'::tid)
2067 -> Tid Scan on t4 b2t4
2068 TID Cond: (ctid = '(1,1)'::tid)
2069 -> Seq Scan on t2 b2t2
2070 Filter: (ctid = '(1,1)'::tid)
2074 Join Filter: (b3t1.c1 = b3t3.c1)
2076 Hash Cond: (b3t2.c1 = b3t1.c1)
2077 -> Seq Scan on t2 b3t2
2078 Filter: (ctid = '(1,1)'::tid)
2081 Merge Cond: (b3t1.c1 = b3t4.c1)
2084 -> Tid Scan on t1 b3t1
2085 TID Cond: (ctid = '(1,1)'::tid)
2088 -> Tid Scan on t4 b3t4
2089 TID Cond: (ctid = '(1,1)'::tid)
2090 -> Tid Scan on t3 b3t3
2091 TID Cond: (ctid = '(1,1)'::tid)
2093 Join Filter: (bmt1.c1 = bmt4.c1)
2095 Hash Cond: (bmt3.c1 = bmt1.c1)
2096 -> Tid Scan on t3 bmt3
2097 TID Cond: (ctid = '(1,1)'::tid)
2100 Merge Cond: (bmt1.c1 = bmt2.c1)
2104 Join Filter: (c1.c1 = bmt1.c1)
2106 Hash Cond: (c2.c1 = c1.c1)
2108 Merge Cond: (c2.c1 = c3.c1)
2117 -> Tid Scan on t1 bmt1
2118 TID Cond: (ctid = '(1,1)'::tid)
2121 -> Seq Scan on t2 bmt2
2122 Filter: (ctid = '(1,1)'::tid)
2123 -> Tid Scan on t4 bmt4
2124 TID Cond: (ctid = '(1,1)'::tid)
2128 ---- No. J-2-2 the number of the tables per quiry block
2131 EXPLAIN (COSTS false)
2133 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
2135 SELECT max(bmt1.c1), (
2136 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2138 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
2141 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
2145 -----------------------------------------------------------------
2149 InitPlan 1 (returns $0)
2151 -> Tid Scan on t1 b1t1
2152 TID Cond: (ctid = '(1,1)'::tid)
2153 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2154 InitPlan 4 (returns $3)
2156 InitPlan 3 (returns $2)
2158 -> Tid Scan on t1 b2t1
2159 TID Cond: (ctid = '(1,1)'::tid)
2160 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2161 InitPlan 6 (returns $5)
2163 InitPlan 5 (returns $4)
2165 -> Tid Scan on t1 b3t1
2166 TID Cond: (ctid = '(1,1)'::tid)
2167 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2169 -> Tid Scan on t1 bmt1
2170 TID Cond: (ctid = '(1,1)'::tid)
2171 Filter: ((c1 <> $5) AND (c1 = 1))
2177 Leading(c1 bmt1 b1t1 b2t1 b3t1)
2183 EXPLAIN (COSTS false)
2185 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
2187 SELECT max(bmt1.c1), (
2188 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2190 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
2193 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
2199 Leading(c1 bmt1 b1t1 b2t1 b3t1)
2208 -----------------------------------------------------------------
2212 InitPlan 1 (returns $0)
2214 -> Tid Scan on t1 b1t1
2215 TID Cond: (ctid = '(1,1)'::tid)
2216 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2217 InitPlan 4 (returns $3)
2219 InitPlan 3 (returns $2)
2221 -> Tid Scan on t1 b2t1
2222 TID Cond: (ctid = '(1,1)'::tid)
2223 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2224 InitPlan 6 (returns $5)
2226 InitPlan 5 (returns $4)
2228 -> Tid Scan on t1 b3t1
2229 TID Cond: (ctid = '(1,1)'::tid)
2230 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2232 -> Tid Scan on t1 bmt1
2233 TID Cond: (ctid = '(1,1)'::tid)
2234 Filter: ((c1 <> $5) AND (c1 = 1))
2240 EXPLAIN (COSTS false)
2242 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)'
2244 SELECT max(bmt1.c1), (
2245 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)'
2247 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
2250 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)'
2254 -------------------------------------------------------
2259 Join Filter: (b1t1.c1 = b1t2.c1)
2260 -> Tid Scan on t1 b1t1
2261 TID Cond: (ctid = '(1,1)'::tid)
2262 -> Seq Scan on t2 b1t2
2263 Filter: (ctid = '(1,1)'::tid)
2264 InitPlan 2 (returns $1)
2267 Join Filter: (b2t1.c1 = b2t2.c1)
2268 -> Tid Scan on t1 b2t1
2269 TID Cond: (ctid = '(1,1)'::tid)
2270 -> Seq Scan on t2 b2t2
2271 Filter: (ctid = '(1,1)'::tid)
2272 InitPlan 3 (returns $2)
2275 Join Filter: (b3t1.c1 = b3t2.c1)
2276 -> Tid Scan on t1 b3t1
2277 TID Cond: (ctid = '(1,1)'::tid)
2278 -> Seq Scan on t2 b3t2
2279 Filter: (ctid = '(1,1)'::tid)
2281 Join Filter: (bmt1.c1 = c1.c1)
2283 Join Filter: (bmt1.c1 = bmt2.c1)
2284 -> Tid Scan on t1 bmt1
2285 TID Cond: (ctid = '(1,1)'::tid)
2287 -> Seq Scan on t2 bmt2
2288 Filter: (ctid = '(1,1)'::tid)
2293 Leading(c1 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2295 HashJoin(c1 bmt1 bmt2)
2296 MergeJoin(b1t1 b1t2)
2297 MergeJoin(b2t1 b2t2)
2298 MergeJoin(b3t1 b3t2)
2300 EXPLAIN (COSTS false)
2302 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)'
2304 SELECT max(bmt1.c1), (
2305 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)'
2307 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
2310 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)'
2315 MergeJoin(b1t1 b1t2)
2316 MergeJoin(b2t1 b2t2)
2317 MergeJoin(b3t1 b3t2)
2319 HashJoin(bmt1 bmt2 c1)
2320 Leading(c1 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2326 ---------------------------------------------------------------
2331 Merge Cond: (b1t1.c1 = b1t2.c1)
2334 -> Tid Scan on t1 b1t1
2335 TID Cond: (ctid = '(1,1)'::tid)
2338 -> Seq Scan on t2 b1t2
2339 Filter: (ctid = '(1,1)'::tid)
2340 InitPlan 2 (returns $1)
2343 Merge Cond: (b2t1.c1 = b2t2.c1)
2346 -> Tid Scan on t1 b2t1
2347 TID Cond: (ctid = '(1,1)'::tid)
2350 -> Seq Scan on t2 b2t2
2351 Filter: (ctid = '(1,1)'::tid)
2352 InitPlan 3 (returns $2)
2355 Merge Cond: (b3t1.c1 = b3t2.c1)
2358 -> Tid Scan on t1 b3t1
2359 TID Cond: (ctid = '(1,1)'::tid)
2362 -> Seq Scan on t2 b3t2
2363 Filter: (ctid = '(1,1)'::tid)
2365 Hash Cond: (bmt1.c1 = bmt2.c1)
2366 -> Tid Scan on t1 bmt1
2367 TID Cond: (ctid = '(1,1)'::tid)
2371 Merge Cond: (bmt2.c1 = c1.c1)
2374 -> Seq Scan on t2 bmt2
2375 Filter: (ctid = '(1,1)'::tid)
2382 EXPLAIN (COSTS false)
2384 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)'
2386 SELECT max(bmt1.c1), (
2387 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)'
2389 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
2391 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)'
2395 -------------------------------------------------------------------
2400 Join Filter: (b1t1.c1 = b1t4.c1)
2402 Join Filter: (b1t1.c1 = b1t3.c1)
2404 Join Filter: (b1t1.c1 = b1t2.c1)
2405 -> Tid Scan on t1 b1t1
2406 TID Cond: (ctid = '(1,1)'::tid)
2407 -> Seq Scan on t2 b1t2
2408 Filter: (ctid = '(1,1)'::tid)
2409 -> Tid Scan on t3 b1t3
2410 TID Cond: (ctid = '(1,1)'::tid)
2411 -> Tid Scan on t4 b1t4
2412 TID Cond: (ctid = '(1,1)'::tid)
2413 InitPlan 2 (returns $1)
2416 Join Filter: (b2t1.c1 = b2t4.c1)
2418 Join Filter: (b2t1.c1 = b2t3.c1)
2420 Join Filter: (b2t1.c1 = b2t2.c1)
2421 -> Tid Scan on t1 b2t1
2422 TID Cond: (ctid = '(1,1)'::tid)
2423 -> Seq Scan on t2 b2t2
2424 Filter: (ctid = '(1,1)'::tid)
2425 -> Tid Scan on t3 b2t3
2426 TID Cond: (ctid = '(1,1)'::tid)
2427 -> Tid Scan on t4 b2t4
2428 TID Cond: (ctid = '(1,1)'::tid)
2429 InitPlan 3 (returns $2)
2432 Join Filter: (b3t1.c1 = b3t4.c1)
2434 Join Filter: (b3t1.c1 = b3t3.c1)
2436 Join Filter: (b3t1.c1 = b3t2.c1)
2437 -> Tid Scan on t1 b3t1
2438 TID Cond: (ctid = '(1,1)'::tid)
2439 -> Seq Scan on t2 b3t2
2440 Filter: (ctid = '(1,1)'::tid)
2441 -> Tid Scan on t3 b3t3
2442 TID Cond: (ctid = '(1,1)'::tid)
2443 -> Tid Scan on t4 b3t4
2444 TID Cond: (ctid = '(1,1)'::tid)
2446 Join Filter: (bmt1.c1 = c1.c1)
2448 Join Filter: (bmt1.c1 = bmt4.c1)
2450 Join Filter: (bmt1.c1 = bmt3.c1)
2452 Join Filter: (bmt1.c1 = bmt2.c1)
2453 -> Tid Scan on t1 bmt1
2454 TID Cond: (ctid = '(1,1)'::tid)
2456 -> Seq Scan on t2 bmt2
2457 Filter: (ctid = '(1,1)'::tid)
2458 -> Tid Scan on t3 bmt3
2459 TID Cond: (ctid = '(1,1)'::tid)
2460 -> Tid Scan on t4 bmt4
2461 TID Cond: (ctid = '(1,1)'::tid)
2466 Leading(c1 bmt4 b1t4 b2t4 b3t4 bmt3 b1t3 b2t3 b3t3 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2468 HashJoin(c1 bmt4 bmt3)
2469 NestLoop(c1 bmt4 bmt3 bmt2)
2470 MergeJoin(c1 bmt4 bmt3 bmt2 bmt1)
2472 NestLoop(b1t4 b1t3 b1t2)
2473 MergeJoin(b1t4 b1t3 b1t2 b1t1)
2475 NestLoop(b2t4 b2t3 b2t2)
2476 MergeJoin(b2t4 b2t3 b2t2 b2t1)
2478 NestLoop(b3t4 b3t3 b3t2)
2479 MergeJoin(b3t4 b3t3 b3t2 b3t1)
2481 EXPLAIN (COSTS false)
2483 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)'
2485 SELECT max(bmt1.c1), (
2486 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)'
2488 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
2490 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)'
2499 NestLoop(b1t2 b1t3 b1t4)
2500 NestLoop(b2t2 b2t3 b2t4)
2501 NestLoop(b3t2 b3t3 b3t4)
2502 HashJoin(bmt3 bmt4 c1)
2503 MergeJoin(b1t1 b1t2 b1t3 b1t4)
2504 MergeJoin(b2t1 b2t2 b2t3 b2t4)
2505 MergeJoin(b3t1 b3t2 b3t3 b3t4)
2506 NestLoop(bmt2 bmt3 bmt4 c1)
2507 MergeJoin(bmt1 bmt2 bmt3 bmt4 c1)
2508 Leading(c1 bmt4 b1t4 b2t4 b3t4 bmt3 b1t3 b2t3 b3t3 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
2514 -----------------------------------------------------------------------------------
2519 Merge Cond: (b1t2.c1 = b1t1.c1)
2523 Join Filter: (b1t3.c1 = b1t2.c1)
2525 Hash Cond: (b1t3.c1 = b1t4.c1)
2526 -> Tid Scan on t3 b1t3
2527 TID Cond: (ctid = '(1,1)'::tid)
2529 -> Tid Scan on t4 b1t4
2530 TID Cond: (ctid = '(1,1)'::tid)
2531 -> Seq Scan on t2 b1t2
2532 Filter: (ctid = '(1,1)'::tid)
2535 -> Tid Scan on t1 b1t1
2536 TID Cond: (ctid = '(1,1)'::tid)
2537 InitPlan 2 (returns $1)
2540 Merge Cond: (b2t2.c1 = b2t1.c1)
2544 Join Filter: (b2t3.c1 = b2t2.c1)
2546 Hash Cond: (b2t3.c1 = b2t4.c1)
2547 -> Tid Scan on t3 b2t3
2548 TID Cond: (ctid = '(1,1)'::tid)
2550 -> Tid Scan on t4 b2t4
2551 TID Cond: (ctid = '(1,1)'::tid)
2552 -> Seq Scan on t2 b2t2
2553 Filter: (ctid = '(1,1)'::tid)
2556 -> Tid Scan on t1 b2t1
2557 TID Cond: (ctid = '(1,1)'::tid)
2558 InitPlan 3 (returns $2)
2561 Merge Cond: (b3t2.c1 = b3t1.c1)
2565 Join Filter: (b3t3.c1 = b3t2.c1)
2567 Hash Cond: (b3t3.c1 = b3t4.c1)
2568 -> Tid Scan on t3 b3t3
2569 TID Cond: (ctid = '(1,1)'::tid)
2571 -> Tid Scan on t4 b3t4
2572 TID Cond: (ctid = '(1,1)'::tid)
2573 -> Seq Scan on t2 b3t2
2574 Filter: (ctid = '(1,1)'::tid)
2577 -> Tid Scan on t1 b3t1
2578 TID Cond: (ctid = '(1,1)'::tid)
2580 Merge Cond: (bmt2.c1 = bmt1.c1)
2584 Join Filter: (bmt3.c1 = bmt2.c1)
2586 Hash Cond: (bmt3.c1 = bmt4.c1)
2587 -> Tid Scan on t3 bmt3
2588 TID Cond: (ctid = '(1,1)'::tid)
2591 Merge Cond: (bmt4.c1 = c1.c1)
2594 -> Tid Scan on t4 bmt4
2595 TID Cond: (ctid = '(1,1)'::tid)
2599 -> Seq Scan on t2 bmt2
2600 Filter: (ctid = '(1,1)'::tid)
2603 -> Tid Scan on t1 bmt1
2604 TID Cond: (ctid = '(1,1)'::tid)
2609 EXPLAIN (COSTS false)
2611 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)'
2613 SELECT max(bmt1.c1), (
2614 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2616 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
2618 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2622 -------------------------------------------------------------------
2627 Join Filter: (b1t1.c1 = b1t4.c1)
2629 Join Filter: (b1t1.c1 = b1t3.c1)
2631 Join Filter: (b1t1.c1 = b1t2.c1)
2632 -> Tid Scan on t1 b1t1
2633 TID Cond: (ctid = '(1,1)'::tid)
2634 -> Seq Scan on t2 b1t2
2635 Filter: (ctid = '(1,1)'::tid)
2636 -> Tid Scan on t3 b1t3
2637 TID Cond: (ctid = '(1,1)'::tid)
2638 -> Tid Scan on t4 b1t4
2639 TID Cond: (ctid = '(1,1)'::tid)
2640 InitPlan 3 (returns $2)
2642 InitPlan 2 (returns $1)
2644 -> Tid Scan on t1 b2t1
2645 TID Cond: (ctid = '(1,1)'::tid)
2646 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2647 InitPlan 4 (returns $3)
2649 -> Tid Scan on t1 b3t1
2650 TID Cond: (ctid = '(1,1)'::tid)
2652 Join Filter: (bmt1.c1 = c1.c1)
2654 Join Filter: (bmt1.c1 = bmt4.c1)
2656 Join Filter: (bmt1.c1 = bmt3.c1)
2658 Join Filter: (bmt1.c1 = bmt2.c1)
2659 -> Tid Scan on t1 bmt1
2660 TID Cond: (ctid = '(1,1)'::tid)
2662 -> Seq Scan on t2 bmt2
2663 Filter: (ctid = '(1,1)'::tid)
2664 -> Tid Scan on t3 bmt3
2665 TID Cond: (ctid = '(1,1)'::tid)
2666 -> Tid Scan on t4 bmt4
2667 TID Cond: (ctid = '(1,1)'::tid)
2672 Leading(c1 bmt4 b1t4 bmt3 b1t3 bmt2 b1t2 bmt1 b1t1 b2t1 b3t1)
2674 HashJoin(c1 bmt4 bmt3)
2675 NestLoop(c1 bmt4 bmt3 bmt2)
2676 MergeJoin(c1 bmt4 bmt3 bmt2 bmt1)
2677 MergeJoin(b1t4 b1t3)
2678 HashJoin(b1t4 b1t3 b1t2)
2679 NestLoop(b1t4 b1t3 b1t2 b1t1)
2681 EXPLAIN (COSTS false)
2683 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)'
2685 SELECT max(bmt1.c1), (
2686 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2688 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
2690 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2695 MergeJoin(b1t3 b1t4)
2697 HashJoin(b1t2 b1t3 b1t4)
2698 HashJoin(bmt3 bmt4 c1)
2699 NestLoop(b1t1 b1t2 b1t3 b1t4)
2700 NestLoop(bmt2 bmt3 bmt4 c1)
2701 MergeJoin(bmt1 bmt2 bmt3 bmt4 c1)
2702 Leading(c1 bmt4 b1t4 bmt3 b1t3 bmt2 b1t2 bmt1 b1t1 b2t1 b3t1)
2708 -----------------------------------------------------------------------------------
2713 Join Filter: (b1t2.c1 = b1t1.c1)
2715 Hash Cond: (b1t2.c1 = b1t3.c1)
2716 -> Seq Scan on t2 b1t2
2717 Filter: (ctid = '(1,1)'::tid)
2720 Merge Cond: (b1t3.c1 = b1t4.c1)
2723 -> Tid Scan on t3 b1t3
2724 TID Cond: (ctid = '(1,1)'::tid)
2727 -> Tid Scan on t4 b1t4
2728 TID Cond: (ctid = '(1,1)'::tid)
2729 -> Tid Scan on t1 b1t1
2730 TID Cond: (ctid = '(1,1)'::tid)
2731 InitPlan 3 (returns $2)
2733 InitPlan 2 (returns $1)
2735 -> Tid Scan on t1 b2t1
2736 TID Cond: (ctid = '(1,1)'::tid)
2737 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2738 InitPlan 4 (returns $3)
2740 -> Tid Scan on t1 b3t1
2741 TID Cond: (ctid = '(1,1)'::tid)
2743 Merge Cond: (bmt2.c1 = bmt1.c1)
2747 Join Filter: (bmt3.c1 = bmt2.c1)
2749 Hash Cond: (bmt3.c1 = bmt4.c1)
2750 -> Tid Scan on t3 bmt3
2751 TID Cond: (ctid = '(1,1)'::tid)
2754 Merge Cond: (bmt4.c1 = c1.c1)
2757 -> Tid Scan on t4 bmt4
2758 TID Cond: (ctid = '(1,1)'::tid)
2762 -> Seq Scan on t2 bmt2
2763 Filter: (ctid = '(1,1)'::tid)
2766 -> Tid Scan on t1 bmt1
2767 TID Cond: (ctid = '(1,1)'::tid)
2772 ---- No. J-2-3 RULE definition table
2775 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2777 -----------------------------------------------------------------
2780 Join Filter: (t1.c1 = t4.c1)
2782 Join Filter: (t1.c1 = t3.c1)
2784 Join Filter: (t1.c1 = t2.c1)
2787 TID Cond: (ctid = '(1,1)'::tid)
2790 TID Cond: (ctid = '(1,1)'::tid)
2792 Filter: (ctid = '(1,1)'::tid)
2794 TID Cond: (ctid = '(1,1)'::tid)
2796 TID Cond: (ctid = '(1,1)'::tid)
2800 Leading(t4 t3 t2 t1 r1)
2801 MergeJoin(t4 t3 t2 t1 r1)
2802 HashJoin(t4 t3 t2 t1)
2806 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2811 HashJoin(t1 t2 t3 t4)
2812 MergeJoin(r1 t1 t2 t3 t4)
2813 Leading(t4 t3 t2 t1 r1)
2819 -----------------------------------------------------------------------------
2823 Hash Cond: (t1.c1 = t2.c1)
2825 TID Cond: (ctid = '(1,1)'::tid)
2828 Join Filter: (t3.c1 = t2.c1)
2830 Merge Cond: (t3.c1 = t4.c1)
2834 TID Cond: (ctid = '(1,1)'::tid)
2838 TID Cond: (ctid = '(1,1)'::tid)
2840 Filter: (ctid = '(1,1)'::tid)
2842 TID Cond: (ctid = '(1,1)'::tid)
2846 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2848 -----------------------------------------------------------------
2851 Join Filter: (b1t1.c1 = b1t4.c1)
2853 Join Filter: (b1t1.c1 = b1t3.c1)
2855 Join Filter: (b1t1.c1 = b1t2.c1)
2858 TID Cond: (ctid = '(1,1)'::tid)
2860 -> Tid Scan on t1 b1t1
2861 TID Cond: (ctid = '(1,1)'::tid)
2862 -> Seq Scan on t2 b1t2
2863 Filter: (ctid = '(1,1)'::tid)
2864 -> Tid Scan on t3 b1t3
2865 TID Cond: (ctid = '(1,1)'::tid)
2866 -> Tid Scan on t4 b1t4
2867 TID Cond: (ctid = '(1,1)'::tid)
2871 Leading(b1t4 b1t3 b1t2 b1t1 r1_)
2872 MergeJoin(b1t4 b1t3 b1t2 b1t1 r1_)
2873 HashJoin(b1t4 b1t3 b1t2 b1t1)
2874 NestLoop(b1t4 b1t3 b1t2)
2875 MergeJoin(b1t4 b1t3)
2877 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2880 MergeJoin(b1t3 b1t4)
2881 NestLoop(b1t2 b1t3 b1t4)
2882 HashJoin(b1t1 b1t2 b1t3 b1t4)
2883 MergeJoin(b1t1 b1t2 b1t3 b1t4 r1_)
2884 Leading(b1t4 b1t3 b1t2 b1t1 r1_)
2890 -----------------------------------------------------------------------------
2894 Hash Cond: (b1t1.c1 = b1t2.c1)
2895 -> Tid Scan on t1 b1t1
2896 TID Cond: (ctid = '(1,1)'::tid)
2899 Join Filter: (b1t3.c1 = b1t2.c1)
2901 Merge Cond: (b1t3.c1 = b1t4.c1)
2904 -> Tid Scan on t3 b1t3
2905 TID Cond: (ctid = '(1,1)'::tid)
2908 -> Tid Scan on t4 b1t4
2909 TID Cond: (ctid = '(1,1)'::tid)
2910 -> Seq Scan on t2 b1t2
2911 Filter: (ctid = '(1,1)'::tid)
2913 TID Cond: (ctid = '(1,1)'::tid)
2918 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2920 -----------------------------------------------------------------
2923 Join Filter: (t1.c1 = t4.c1)
2925 Join Filter: (t1.c1 = t3.c1)
2927 Join Filter: (t1.c1 = t2.c1)
2930 TID Cond: (ctid = '(1,1)'::tid)
2933 TID Cond: (ctid = '(1,1)'::tid)
2935 Filter: (ctid = '(1,1)'::tid)
2937 TID Cond: (ctid = '(1,1)'::tid)
2939 TID Cond: (ctid = '(1,1)'::tid)
2943 Join Filter: (t1.c1 = t4.c1)
2945 Join Filter: (t1.c1 = t3.c1)
2947 Join Filter: (t1.c1 = t2.c1)
2950 TID Cond: (ctid = '(1,1)'::tid)
2953 TID Cond: (ctid = '(1,1)'::tid)
2955 Filter: (ctid = '(1,1)'::tid)
2957 TID Cond: (ctid = '(1,1)'::tid)
2959 TID Cond: (ctid = '(1,1)'::tid)
2963 Leading(t4 t3 t2 t1 r2)
2964 MergeJoin(t4 t3 t2 t1 r2)
2965 HashJoin(t4 t3 t2 t1)
2969 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2974 HashJoin(t1 t2 t3 t4)
2975 MergeJoin(r2 t1 t2 t3 t4)
2976 Leading(t4 t3 t2 t1 r2)
2985 HashJoin(t1 t2 t3 t4)
2986 MergeJoin(r2 t1 t2 t3 t4)
2987 Leading(t4 t3 t2 t1 r2)
2993 -----------------------------------------------------------------------------
2997 Hash Cond: (t1.c1 = t2.c1)
2999 TID Cond: (ctid = '(1,1)'::tid)
3002 Join Filter: (t3.c1 = t2.c1)
3004 Merge Cond: (t3.c1 = t4.c1)
3008 TID Cond: (ctid = '(1,1)'::tid)
3012 TID Cond: (ctid = '(1,1)'::tid)
3014 Filter: (ctid = '(1,1)'::tid)
3016 TID Cond: (ctid = '(1,1)'::tid)
3022 Hash Cond: (t1.c1 = t2.c1)
3024 TID Cond: (ctid = '(1,1)'::tid)
3027 Join Filter: (t3.c1 = t2.c1)
3029 Merge Cond: (t3.c1 = t4.c1)
3033 TID Cond: (ctid = '(1,1)'::tid)
3037 TID Cond: (ctid = '(1,1)'::tid)
3039 Filter: (ctid = '(1,1)'::tid)
3041 TID Cond: (ctid = '(1,1)'::tid)
3045 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3047 -----------------------------------------------------------------
3050 Join Filter: (b1t1.c1 = b1t4.c1)
3052 Join Filter: (b1t1.c1 = b1t3.c1)
3054 Join Filter: (b1t1.c1 = b1t2.c1)
3057 TID Cond: (ctid = '(1,1)'::tid)
3059 -> Tid Scan on t1 b1t1
3060 TID Cond: (ctid = '(1,1)'::tid)
3061 -> Seq Scan on t2 b1t2
3062 Filter: (ctid = '(1,1)'::tid)
3063 -> Tid Scan on t3 b1t3
3064 TID Cond: (ctid = '(1,1)'::tid)
3065 -> Tid Scan on t4 b1t4
3066 TID Cond: (ctid = '(1,1)'::tid)
3070 Join Filter: (b2t1.c1 = b2t4.c1)
3072 Join Filter: (b2t1.c1 = b2t3.c1)
3074 Join Filter: (b2t1.c1 = b2t2.c1)
3077 TID Cond: (ctid = '(1,1)'::tid)
3079 -> Tid Scan on t1 b2t1
3080 TID Cond: (ctid = '(1,1)'::tid)
3081 -> Seq Scan on t2 b2t2
3082 Filter: (ctid = '(1,1)'::tid)
3083 -> Tid Scan on t3 b2t3
3084 TID Cond: (ctid = '(1,1)'::tid)
3085 -> Tid Scan on t4 b2t4
3086 TID Cond: (ctid = '(1,1)'::tid)
3091 b2t1 b2t2 b2t3 b2t4 r2_
3093 MergeJoin(b1t1 b1t2)
3094 HashJoin(b1t1 b1t2 b1t3)
3095 NestLoop(b1t1 b1t2 b1t3 b1t4)
3096 MergeJoin(b1t1 b1t2 b1t3 b1t4 r2_)
3097 MergeJoin(b2t1 b2t2)
3098 HashJoin(b2t1 b2t2 b2t3)
3099 NestLoop(b2t1 b2t2 b2t3 b2t4)
3100 MergeJoin(b2t1 b2t2 b2t3 b2t4 r2_)
3102 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3105 MergeJoin(b1t1 b1t2)
3106 HashJoin(b1t1 b1t2 b1t3)
3107 NestLoop(b1t1 b1t2 b1t3 b1t4)
3108 MergeJoin(b1t1 b1t2 b1t3 b1t4 r2_)
3109 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 r2_)
3111 MergeJoin(b2t1 b2t2)
3112 HashJoin(b2t1 b2t2 b2t3)
3113 NestLoop(b2t1 b2t2 b2t3 b2t4)
3114 MergeJoin(b2t1 b2t2 b2t3 b2t4 r2_)
3120 MergeJoin(b2t1 b2t2)
3121 HashJoin(b2t1 b2t2 b2t3)
3122 NestLoop(b2t1 b2t2 b2t3 b2t4)
3123 MergeJoin(b2t1 b2t2 b2t3 b2t4 r2_)
3124 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 r2_)
3126 MergeJoin(b1t1 b1t2)
3127 HashJoin(b1t1 b1t2 b1t3)
3128 NestLoop(b1t1 b1t2 b1t3 b1t4)
3129 MergeJoin(b1t1 b1t2 b1t3 b1t4 r2_)
3134 -----------------------------------------------------------------------------
3138 Join Filter: (b1t1.c1 = b1t4.c1)
3140 Hash Cond: (b1t3.c1 = b1t1.c1)
3141 -> Tid Scan on t3 b1t3
3142 TID Cond: (ctid = '(1,1)'::tid)
3145 Merge Cond: (b1t1.c1 = b1t2.c1)
3148 -> Tid Scan on t1 b1t1
3149 TID Cond: (ctid = '(1,1)'::tid)
3152 -> Seq Scan on t2 b1t2
3153 Filter: (ctid = '(1,1)'::tid)
3154 -> Tid Scan on t4 b1t4
3155 TID Cond: (ctid = '(1,1)'::tid)
3157 TID Cond: (ctid = '(1,1)'::tid)
3163 Join Filter: (b2t1.c1 = b2t4.c1)
3165 Hash Cond: (b2t3.c1 = b2t1.c1)
3166 -> Tid Scan on t3 b2t3
3167 TID Cond: (ctid = '(1,1)'::tid)
3170 Merge Cond: (b2t1.c1 = b2t2.c1)
3173 -> Tid Scan on t1 b2t1
3174 TID Cond: (ctid = '(1,1)'::tid)
3177 -> Seq Scan on t2 b2t2
3178 Filter: (ctid = '(1,1)'::tid)
3179 -> Tid Scan on t4 b2t4
3180 TID Cond: (ctid = '(1,1)'::tid)
3182 TID Cond: (ctid = '(1,1)'::tid)
3187 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3189 -----------------------------------------------------------------
3192 Join Filter: (t1.c1 = t4.c1)
3194 Join Filter: (t1.c1 = t3.c1)
3196 Join Filter: (t1.c1 = t2.c1)
3199 TID Cond: (ctid = '(1,1)'::tid)
3202 TID Cond: (ctid = '(1,1)'::tid)
3204 Filter: (ctid = '(1,1)'::tid)
3206 TID Cond: (ctid = '(1,1)'::tid)
3208 TID Cond: (ctid = '(1,1)'::tid)
3212 Join Filter: (t1.c1 = t4.c1)
3214 Join Filter: (t1.c1 = t3.c1)
3216 Join Filter: (t1.c1 = t2.c1)
3219 TID Cond: (ctid = '(1,1)'::tid)
3222 TID Cond: (ctid = '(1,1)'::tid)
3224 Filter: (ctid = '(1,1)'::tid)
3226 TID Cond: (ctid = '(1,1)'::tid)
3228 TID Cond: (ctid = '(1,1)'::tid)
3232 Join Filter: (t1.c1 = t4.c1)
3234 Join Filter: (t1.c1 = t3.c1)
3236 Join Filter: (t1.c1 = t2.c1)
3239 TID Cond: (ctid = '(1,1)'::tid)
3242 TID Cond: (ctid = '(1,1)'::tid)
3244 Filter: (ctid = '(1,1)'::tid)
3246 TID Cond: (ctid = '(1,1)'::tid)
3248 TID Cond: (ctid = '(1,1)'::tid)
3252 Leading(t4 t3 t2 t1 r3)
3253 MergeJoin(t4 t3 t2 t1 r3)
3254 HashJoin(t4 t3 t2 t1)
3258 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3263 HashJoin(t1 t2 t3 t4)
3264 MergeJoin(r3 t1 t2 t3 t4)
3265 Leading(t4 t3 t2 t1 r3)
3274 HashJoin(t1 t2 t3 t4)
3275 MergeJoin(r3 t1 t2 t3 t4)
3276 Leading(t4 t3 t2 t1 r3)
3285 HashJoin(t1 t2 t3 t4)
3286 MergeJoin(r3 t1 t2 t3 t4)
3287 Leading(t4 t3 t2 t1 r3)
3293 -----------------------------------------------------------------------------
3297 Hash Cond: (t1.c1 = t2.c1)
3299 TID Cond: (ctid = '(1,1)'::tid)
3302 Join Filter: (t3.c1 = t2.c1)
3304 Merge Cond: (t3.c1 = t4.c1)
3308 TID Cond: (ctid = '(1,1)'::tid)
3312 TID Cond: (ctid = '(1,1)'::tid)
3314 Filter: (ctid = '(1,1)'::tid)
3316 TID Cond: (ctid = '(1,1)'::tid)
3322 Hash Cond: (t1.c1 = t2.c1)
3324 TID Cond: (ctid = '(1,1)'::tid)
3327 Join Filter: (t3.c1 = t2.c1)
3329 Merge Cond: (t3.c1 = t4.c1)
3333 TID Cond: (ctid = '(1,1)'::tid)
3337 TID Cond: (ctid = '(1,1)'::tid)
3339 Filter: (ctid = '(1,1)'::tid)
3341 TID Cond: (ctid = '(1,1)'::tid)
3347 Hash Cond: (t1.c1 = t2.c1)
3349 TID Cond: (ctid = '(1,1)'::tid)
3352 Join Filter: (t3.c1 = t2.c1)
3354 Merge Cond: (t3.c1 = t4.c1)
3358 TID Cond: (ctid = '(1,1)'::tid)
3362 TID Cond: (ctid = '(1,1)'::tid)
3364 Filter: (ctid = '(1,1)'::tid)
3366 TID Cond: (ctid = '(1,1)'::tid)
3370 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3372 -----------------------------------------------------------------
3375 Join Filter: (b1t1.c1 = b1t4.c1)
3377 Join Filter: (b1t1.c1 = b1t3.c1)
3379 Join Filter: (b1t1.c1 = b1t2.c1)
3382 TID Cond: (ctid = '(1,1)'::tid)
3384 -> Tid Scan on t1 b1t1
3385 TID Cond: (ctid = '(1,1)'::tid)
3386 -> Seq Scan on t2 b1t2
3387 Filter: (ctid = '(1,1)'::tid)
3388 -> Tid Scan on t3 b1t3
3389 TID Cond: (ctid = '(1,1)'::tid)
3390 -> Tid Scan on t4 b1t4
3391 TID Cond: (ctid = '(1,1)'::tid)
3395 Join Filter: (b2t1.c1 = b2t4.c1)
3397 Join Filter: (b2t1.c1 = b2t3.c1)
3399 Join Filter: (b2t1.c1 = b2t2.c1)
3402 TID Cond: (ctid = '(1,1)'::tid)
3404 -> Tid Scan on t1 b2t1
3405 TID Cond: (ctid = '(1,1)'::tid)
3406 -> Seq Scan on t2 b2t2
3407 Filter: (ctid = '(1,1)'::tid)
3408 -> Tid Scan on t3 b2t3
3409 TID Cond: (ctid = '(1,1)'::tid)
3410 -> Tid Scan on t4 b2t4
3411 TID Cond: (ctid = '(1,1)'::tid)
3415 Join Filter: (b3t1.c1 = b3t4.c1)
3417 Join Filter: (b3t1.c1 = b3t3.c1)
3419 Join Filter: (b3t1.c1 = b3t2.c1)
3422 TID Cond: (ctid = '(1,1)'::tid)
3424 -> Tid Scan on t1 b3t1
3425 TID Cond: (ctid = '(1,1)'::tid)
3426 -> Seq Scan on t2 b3t2
3427 Filter: (ctid = '(1,1)'::tid)
3428 -> Tid Scan on t3 b3t3
3429 TID Cond: (ctid = '(1,1)'::tid)
3430 -> Tid Scan on t4 b3t4
3431 TID Cond: (ctid = '(1,1)'::tid)
3437 b3t1 b3t2 b3t3 b3t4 r3_
3439 MergeJoin(b1t1 b1t2)
3440 HashJoin(b1t1 b1t2 b1t3)
3441 NestLoop(b1t1 b1t2 b1t3 b1t4)
3442 MergeJoin(b1t1 b1t2 b1t3 b1t4 r3_)
3443 MergeJoin(b2t1 b2t2)
3444 HashJoin(b2t1 b2t2 b2t3)
3445 NestLoop(b2t1 b2t2 b2t3 b2t4)
3446 MergeJoin(b2t1 b2t2 b2t3 b2t4 r3_)
3447 MergeJoin(b3t1 b3t2)
3448 HashJoin(b3t1 b3t2 b3t3)
3449 NestLoop(b3t1 b3t2 b3t3 b3t4)
3450 MergeJoin(b3t1 b3t2 b3t3 b3t4 r3_)
3452 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
3455 MergeJoin(b1t1 b1t2)
3456 HashJoin(b1t1 b1t2 b1t3)
3457 NestLoop(b1t1 b1t2 b1t3 b1t4)
3458 MergeJoin(b1t1 b1t2 b1t3 b1t4 r3_)
3459 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3461 MergeJoin(b2t1 b2t2)
3462 MergeJoin(b3t1 b3t2)
3463 HashJoin(b2t1 b2t2 b2t3)
3464 HashJoin(b3t1 b3t2 b3t3)
3465 NestLoop(b2t1 b2t2 b2t3 b2t4)
3466 NestLoop(b3t1 b3t2 b3t3 b3t4)
3467 MergeJoin(b2t1 b2t2 b2t3 b2t4 r3_)
3468 MergeJoin(b3t1 b3t2 b3t3 b3t4 r3_)
3474 MergeJoin(b2t1 b2t2)
3475 HashJoin(b2t1 b2t2 b2t3)
3476 NestLoop(b2t1 b2t2 b2t3 b2t4)
3477 MergeJoin(b2t1 b2t2 b2t3 b2t4 r3_)
3478 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3480 MergeJoin(b1t1 b1t2)
3481 MergeJoin(b3t1 b3t2)
3482 HashJoin(b1t1 b1t2 b1t3)
3483 HashJoin(b3t1 b3t2 b3t3)
3484 NestLoop(b1t1 b1t2 b1t3 b1t4)
3485 NestLoop(b3t1 b3t2 b3t3 b3t4)
3486 MergeJoin(b1t1 b1t2 b1t3 b1t4 r3_)
3487 MergeJoin(b3t1 b3t2 b3t3 b3t4 r3_)
3493 MergeJoin(b3t1 b3t2)
3494 HashJoin(b3t1 b3t2 b3t3)
3495 NestLoop(b3t1 b3t2 b3t3 b3t4)
3496 MergeJoin(b3t1 b3t2 b3t3 b3t4 r3_)
3497 Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
3499 MergeJoin(b1t1 b1t2)
3500 MergeJoin(b2t1 b2t2)
3501 HashJoin(b1t1 b1t2 b1t3)
3502 HashJoin(b2t1 b2t2 b2t3)
3503 NestLoop(b1t1 b1t2 b1t3 b1t4)
3504 NestLoop(b2t1 b2t2 b2t3 b2t4)
3505 MergeJoin(b1t1 b1t2 b1t3 b1t4 r3_)
3506 MergeJoin(b2t1 b2t2 b2t3 b2t4 r3_)
3511 -----------------------------------------------------------------------------
3515 Join Filter: (b1t1.c1 = b1t4.c1)
3517 Hash Cond: (b1t3.c1 = b1t1.c1)
3518 -> Tid Scan on t3 b1t3
3519 TID Cond: (ctid = '(1,1)'::tid)
3522 Merge Cond: (b1t1.c1 = b1t2.c1)
3525 -> Tid Scan on t1 b1t1
3526 TID Cond: (ctid = '(1,1)'::tid)
3529 -> Seq Scan on t2 b1t2
3530 Filter: (ctid = '(1,1)'::tid)
3531 -> Tid Scan on t4 b1t4
3532 TID Cond: (ctid = '(1,1)'::tid)
3534 TID Cond: (ctid = '(1,1)'::tid)
3540 Join Filter: (b2t1.c1 = b2t4.c1)
3542 Hash Cond: (b2t3.c1 = b2t1.c1)
3543 -> Tid Scan on t3 b2t3
3544 TID Cond: (ctid = '(1,1)'::tid)
3547 Merge Cond: (b2t1.c1 = b2t2.c1)
3550 -> Tid Scan on t1 b2t1
3551 TID Cond: (ctid = '(1,1)'::tid)
3554 -> Seq Scan on t2 b2t2
3555 Filter: (ctid = '(1,1)'::tid)
3556 -> Tid Scan on t4 b2t4
3557 TID Cond: (ctid = '(1,1)'::tid)
3559 TID Cond: (ctid = '(1,1)'::tid)
3565 Join Filter: (b3t1.c1 = b3t4.c1)
3567 Hash Cond: (b3t3.c1 = b3t1.c1)
3568 -> Tid Scan on t3 b3t3
3569 TID Cond: (ctid = '(1,1)'::tid)
3572 Merge Cond: (b3t1.c1 = b3t2.c1)
3575 -> Tid Scan on t1 b3t1
3576 TID Cond: (ctid = '(1,1)'::tid)
3579 -> Seq Scan on t2 b3t2
3580 Filter: (ctid = '(1,1)'::tid)
3581 -> Tid Scan on t4 b3t4
3582 TID Cond: (ctid = '(1,1)'::tid)
3584 TID Cond: (ctid = '(1,1)'::tid)
3589 ---- No. J-2-4 VALUES clause
3592 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;
3594 -------------------------------------------------
3597 Hash Cond: (t2.c1 = "*VALUES*".column1)
3600 -> Values Scan on "*VALUES*"
3601 -> Index Scan using t1_i1 on t1
3602 Index Cond: (c1 = t2.c1)
3605 /*+ Leading(t3 t1 t2) HashJoin(t3 t1)NestLoop(t3 t1 t2)*/
3606 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;
3617 ---------------------------------------------
3619 Join Filter: (t1.c1 = "*VALUES*".column1)
3620 -> Values Scan on "*VALUES*"
3622 Merge Cond: (t1.c1 = t2.c1)
3623 -> Index Scan using t1_i1 on t1
3629 /*+ Leading(*VALUES* t1 t2) HashJoin(*VALUES* t1)NestLoop(*VALUES* t1 t2)*/
3630 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;
3633 HashJoin(*VALUES* t1)
3634 NestLoop(*VALUES* t1 t2)
3635 Leading(*VALUES* t1 t2)
3641 -------------------------------------------------
3644 Hash Cond: (t1.c1 = "*VALUES*".column1)
3647 -> Values Scan on "*VALUES*"
3648 -> Index Scan using t2_i1 on t2
3649 Index Cond: (c1 = t1.c1)
3653 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;
3655 -------------------------------------------------------
3657 Join Filter: (t1.c1 = "*VALUES*".column1)
3660 Hash Cond: (t2.c1 = "*VALUES*".column1)
3663 -> Values Scan on "*VALUES*"
3664 -> Index Scan using t1_i1 on t1
3665 Index Cond: (c1 = t2.c1)
3666 -> Values Scan on "*VALUES*"
3669 /*+ Leading(t4 t3 t2 t1) NestLoop(t4 t3)HashJoin(t4 t3 t2)MergeJoin(t4 t3 t2 t1)*/
3670 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;
3673 Leading(t4 t3 t2 t1)
3677 MergeJoin(t1 t2 t3 t4)
3682 ---------------------------------------------------
3684 Join Filter: (t1.c1 = "*VALUES*".column1)
3686 Join Filter: (t1.c1 = "*VALUES*".column1)
3688 Merge Cond: (t1.c1 = t2.c1)
3689 -> Index Scan using t1_i1 on t1
3693 -> Values Scan on "*VALUES*"
3694 -> Values Scan on "*VALUES*"
3697 /*+ Leading(*VALUES* t3 t2 t1) NestLoop(t4 t3)HashJoin(*VALUES* t3 t2)MergeJoin(*VALUES* t3 t2 t1)*/
3698 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;
3699 INFO: hint syntax error at or near "HashJoin(*VALUES* t3 t2)MergeJoin(*VALUES* t3 t2 t1)"
3700 DETAIL: Relation name "*VALUES*" is ambiguous.
3701 INFO: hint syntax error at or near "MergeJoin(*VALUES* t3 t2 t1)"
3702 DETAIL: Relation name "*VALUES*" is ambiguous.
3703 INFO: hint syntax error at or near "Leading(*VALUES* t3 t2 t1) NestLoop(t4 t3)HashJoin(*VALUES* t3 t2)MergeJoin(*VALUES* t3 t2 t1)"
3704 DETAIL: Relation name "*VALUES*" is ambiguous.
3709 Leading(*VALUES* t3 t2 t1)
3712 HashJoin(*VALUES* t2 t3)
3713 MergeJoin(*VALUES* t1 t2 t3)
3716 -------------------------------------------------------
3718 Join Filter: (t1.c1 = "*VALUES*".column1)
3721 Hash Cond: (t2.c1 = "*VALUES*".column1)
3724 -> Values Scan on "*VALUES*"
3725 -> Index Scan using t1_i1 on t1
3726 Index Cond: (c1 = t2.c1)
3727 -> Values Scan on "*VALUES*"
3731 ---- No. J-3-1 join method hint
3734 SET enable_nestloop TO on;
3735 SET enable_mergejoin TO off;
3736 SET enable_hashjoin TO off;
3737 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3739 ------------------------------------
3742 -> Index Scan using t1_i1 on t1
3743 Index Cond: (c1 = t2.c1)
3746 /*+NestLoop(t1 t2)*/
3747 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3756 ------------------------------------
3759 -> Index Scan using t1_i1 on t1
3760 Index Cond: (c1 = t2.c1)
3763 /*+HashJoin(t1 t2)*/
3764 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3773 ------------------------------
3775 Hash Cond: (t1.c1 = t2.c1)
3781 /*+MergeJoin(t1 t2)*/
3782 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3791 ------------------------------------
3793 Merge Cond: (t1.c1 = t2.c1)
3794 -> Index Scan using t1_i1 on t1
3800 SET enable_mergejoin TO on;
3801 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';;
3803 -----------------------------------------
3805 Join Filter: (t1.c1 = t2.c1)
3807 TID Cond: (ctid = '(1,1)'::tid)
3811 /*+NoNestLoop(t1 t2)*/
3812 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';;
3821 -----------------------------------------------
3823 Merge Cond: (t1.c1 = t2.c1)
3827 TID Cond: (ctid = '(1,1)'::tid)
3833 SET enable_mergejoin TO off;
3834 /*+NoHashJoin(t1 t2)*/
3835 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3844 ------------------------------------
3847 -> Index Scan using t1_i1 on t1
3848 Index Cond: (c1 = t2.c1)
3851 /*+NoMergeJoin(t1 t2)*/
3852 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3861 ------------------------------------
3864 -> Index Scan using t1_i1 on t1
3865 Index Cond: (c1 = t2.c1)
3869 SET enable_nestloop TO off;
3870 SET enable_mergejoin TO off;
3871 SET enable_hashjoin TO on;
3872 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3874 ------------------------------
3876 Hash Cond: (t1.c1 = t2.c1)
3882 /*+NestLoop(t1 t2)*/
3883 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3892 ------------------------------------
3895 -> Index Scan using t1_i1 on t1
3896 Index Cond: (c1 = t2.c1)
3899 /*+HashJoin(t1 t2)*/
3900 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3909 ------------------------------
3911 Hash Cond: (t1.c1 = t2.c1)
3917 /*+MergeJoin(t1 t2)*/
3918 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3927 ------------------------------------
3929 Merge Cond: (t1.c1 = t2.c1)
3930 -> Index Scan using t1_i1 on t1
3936 /*+NoNestLoop(t1 t2)*/
3937 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3946 ------------------------------
3948 Hash Cond: (t1.c1 = t2.c1)
3954 /*+NoHashJoin(t1 t2)*/
3955 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3964 ------------------------------------
3967 -> Index Scan using t1_i1 on t1
3968 Index Cond: (c1 = t2.c1)
3971 /*+NoMergeJoin(t1 t2)*/
3972 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3981 ------------------------------
3983 Hash Cond: (t1.c1 = t2.c1)
3990 SET enable_nestloop TO off;
3991 SET enable_mergejoin TO on;
3992 SET enable_hashjoin TO off;
3993 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
3995 ------------------------------------
3997 Merge Cond: (t1.c1 = t2.c1)
3998 -> Index Scan using t1_i1 on t1
4004 /*+NestLoop(t1 t2)*/
4005 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4014 ------------------------------------
4017 -> Index Scan using t1_i1 on t1
4018 Index Cond: (c1 = t2.c1)
4021 /*+HashJoin(t1 t2)*/
4022 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4031 ------------------------------
4033 Hash Cond: (t1.c1 = t2.c1)
4039 /*+MergeJoin(t1 t2)*/
4040 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4049 ------------------------------------
4051 Merge Cond: (t1.c1 = t2.c1)
4052 -> Index Scan using t1_i1 on t1
4058 /*+NoNestLoop(t1 t2)*/
4059 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4068 ------------------------------------
4070 Merge Cond: (t1.c1 = t2.c1)
4071 -> Index Scan using t1_i1 on t1
4077 /*+NoHashJoin(t1 t2)*/
4078 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4087 ------------------------------------
4089 Merge Cond: (t1.c1 = t2.c1)
4090 -> Index Scan using t1_i1 on t1
4096 /*+NoMergeJoin(t1 t2)*/
4097 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4106 ------------------------------------
4109 -> Index Scan using t1_i1 on t1
4110 Index Cond: (c1 = t2.c1)
4113 SET enable_nestloop TO on;
4114 SET enable_mergejoin TO on;
4115 SET enable_hashjoin TO on;
4117 ---- No. J-3-2 join inherit tables
4119 EXPLAIN (COSTS false) SELECT * FROM s1.p1, s1.p2 WHERE p1.c1 = p2.c1;
4121 ---------------------------------------
4123 Hash Cond: (s1.p2.c1 = s1.p1.c1)
4126 -> Seq Scan on p2c1 p2
4127 -> Seq Scan on p2c2 p2
4128 -> Seq Scan on p2c3 p2
4129 -> Seq Scan on p2c1c1 p2
4130 -> Seq Scan on p2c1c2 p2
4131 -> Seq Scan on p2c2c1 p2
4132 -> Seq Scan on p2c2c2 p2
4133 -> Seq Scan on p2c3c1 p2
4134 -> Seq Scan on p2c3c2 p2
4138 -> Seq Scan on p1c1 p1
4139 -> Seq Scan on p1c2 p1
4140 -> Seq Scan on p1c3 p1
4144 /*+MergeJoin(p1 p2)*/
4145 EXPLAIN (COSTS false) SELECT * FROM s1.p1, s1.p2 WHERE p1.c1 = p2.c1;
4154 -----------------------------------------
4156 Merge Cond: (s1.p1.c1 = s1.p2.c1)
4161 -> Seq Scan on p1c1 p1
4162 -> Seq Scan on p1c2 p1
4163 -> Seq Scan on p1c3 p1
4168 -> Seq Scan on p2c1 p2
4169 -> Seq Scan on p2c2 p2
4170 -> Seq Scan on p2c3 p2
4171 -> Seq Scan on p2c1c1 p2
4172 -> Seq Scan on p2c1c2 p2
4173 -> Seq Scan on p2c2c1 p2
4174 -> Seq Scan on p2c2c2 p2
4175 -> Seq Scan on p2c3c1 p2
4176 -> Seq Scan on p2c3c2 p2
4180 /*+MergeJoin(p1c1 p2c1)*/
4181 EXPLAIN (COSTS false) SELECT * FROM s1.p1, s1.p2 WHERE p1.c1 = p2.c1;
4185 MergeJoin(p1c1 p2c1)
4190 ---------------------------------------
4192 Hash Cond: (s1.p2.c1 = s1.p1.c1)
4195 -> Seq Scan on p2c1 p2
4196 -> Seq Scan on p2c2 p2
4197 -> Seq Scan on p2c3 p2
4198 -> Seq Scan on p2c1c1 p2
4199 -> Seq Scan on p2c1c2 p2
4200 -> Seq Scan on p2c2c1 p2
4201 -> Seq Scan on p2c2c2 p2
4202 -> Seq Scan on p2c3c1 p2
4203 -> Seq Scan on p2c3c2 p2
4207 -> Seq Scan on p1c1 p1
4208 -> Seq Scan on p1c2 p1
4209 -> Seq Scan on p1c3 p1
4213 ---- No. J-3-3 conflict join method hint
4215 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4217 ------------------------------------
4219 Merge Cond: (t1.c1 = t2.c1)
4220 -> Index Scan using t1_i1 on t1
4227 /*+HashJoin(t1 t2)NestLoop(t1 t2)*/
4228 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4229 INFO: hint syntax error at or near "HashJoin(t1 t2)NestLoop(t1 t2)"
4230 DETAIL: Conflict join method hint.
4240 ------------------------------------
4243 -> Index Scan using t1_i1 on t1
4244 Index Cond: (c1 = t2.c1)
4248 /*+MergeJoin(t1 t2)HashJoin(t1 t2)NestLoop(t1 t2)*/
4249 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4250 INFO: hint syntax error at or near "MergeJoin(t1 t2)HashJoin(t1 t2)NestLoop(t1 t2)"
4251 DETAIL: Conflict join method hint.
4252 INFO: hint syntax error at or near "HashJoin(t1 t2)NestLoop(t1 t2)"
4253 DETAIL: Conflict join method hint.
4264 ------------------------------------
4267 -> Index Scan using t1_i1 on t1
4268 Index Cond: (c1 = t2.c1)
4272 /*+HashJoin(t1 t2)NestLoop(t2 t1)*/
4273 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4274 INFO: hint syntax error at or near "HashJoin(t1 t2)NestLoop(t2 t1)"
4275 DETAIL: Conflict join method hint.
4285 ------------------------------------
4288 -> Index Scan using t1_i1 on t1
4289 Index Cond: (c1 = t2.c1)
4293 /*+MergeJoin(t2 t1)HashJoin(t1 t2)NestLoop(t2 t1)*/
4294 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
4295 INFO: hint syntax error at or near "MergeJoin(t2 t1)HashJoin(t1 t2)NestLoop(t2 t1)"
4296 DETAIL: Conflict join method hint.
4297 INFO: hint syntax error at or near "HashJoin(t1 t2)NestLoop(t2 t1)"
4298 DETAIL: Conflict join method hint.
4309 ------------------------------------
4312 -> Index Scan using t1_i1 on t1
4313 Index Cond: (c1 = t2.c1)
4317 ---- No. J-3-4 hint state output
4320 /*+NestLoop(t1 t2)*/
4321 SELECT * FROM s1.t1, s1.t2 WHERE false;
4329 c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4
4330 ----+----+----+----+----+----+----+----
4334 /*+HashJoin(t1 t2)*/
4335 SELECT * FROM s1.t1, s1.t2 WHERE false;
4343 c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4
4344 ----+----+----+----+----+----+----+----
4348 /*+MergeJoin(t1 t2)*/
4349 SELECT * FROM s1.t1, s1.t2 WHERE false;
4357 c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4
4358 ----+----+----+----+----+----+----+----
4362 /*+NoNestLoop(t1 t2)*/
4363 SELECT * FROM s1.t1, s1.t2 WHERE false;
4371 c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4
4372 ----+----+----+----+----+----+----+----
4376 /*+NoHashJoin(t1 t2)*/
4377 SELECT * FROM s1.t1, s1.t2 WHERE false;
4385 c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4
4386 ----+----+----+----+----+----+----+----
4390 /*+NoMergeJoin(t1 t2)*/
4391 SELECT * FROM s1.t1, s1.t2 WHERE false;
4399 c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4
4400 ----+----+----+----+----+----+----+----
4405 SELECT * FROM s1.t1 WHERE false;
4406 INFO: hint syntax error at or near ")"
4407 DETAIL: Relation name is necessary.
4414 SELECT * FROM s1.t1 WHERE false;
4415 INFO: hint syntax error at or near ")"
4416 DETAIL: NestLoop hint requires at least two relations.
4429 /*+NestLoop(t1 t2)*/
4430 SELECT * FROM s1.t1, s1.t2 WHERE false;
4438 c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4
4439 ----+----+----+----+----+----+----+----
4443 /*+NestLoop(t1 t2 t3)*/
4444 SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE false;
4452 c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4 | c1 | c2 | c3 | c4
4453 ----+----+----+----+----+----+----+----+----+----+----+----