1 SET search_path TO public;
2 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
4 --------------------------------------
6 Merge Cond: (t1.id = t2.id)
7 -> Index Scan using t1_pkey on t1
8 -> Index Scan using t2_pkey on t2
11 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.val = t2.val;
13 -------------------------------------------
15 Merge Cond: (t2.val = t1.val)
16 -> Index Scan using t2_val on t2
18 -> Index Scan using t1_val on t1
22 SET pg_hint_plan.debug_print TO on;
23 SET client_min_messages TO LOG;
24 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
26 --------------------------------------
28 Merge Cond: (t1.id = t2.id)
29 -> Index Scan using t1_pkey on t1
30 -> Index Scan using t2_pkey on t2
33 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.val = t2.val;
35 -------------------------------------------
37 Merge Cond: (t2.val = t1.val)
38 -> Index Scan using t2_val on t2
40 -> Index Scan using t1_val on t1
44 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
45 INFO: hint syntax error at or near "Test (t1 t2) "
46 DETAIL: Unrecognized hint keyword "Test".
48 --------------------------------------
50 Merge Cond: (t1.id = t2.id)
51 -> Index Scan using t1_pkey on t1
52 -> Index Scan using t2_pkey on t2
55 SET pg_hint_plan.enable_hint TO off;
57 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
59 --------------------------------------
61 Merge Cond: (t1.id = t2.id)
62 -> Index Scan using t1_pkey on t1
63 -> Index Scan using t2_pkey on t2
66 SET pg_hint_plan.enable_hint TO on;
67 /*Set(enable_indexscan off)*/
68 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
70 --------------------------------------
72 Merge Cond: (t1.id = t2.id)
73 -> Index Scan using t1_pkey on t1
74 -> Index Scan using t2_pkey on t2
77 --+Set(enable_indexscan off)
78 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
80 --------------------------------------
82 Merge Cond: (t1.id = t2.id)
83 -> Index Scan using t1_pkey on t1
84 -> Index Scan using t2_pkey on t2
87 /*+Set(enable_indexscan off) /* nest comment */ */
88 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
89 INFO: hint syntax error at or near "/* nest comment */ */
90 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;"
91 DETAIL: Nested block comments are not supported.
93 --------------------------------------
95 Merge Cond: (t1.id = t2.id)
96 -> Index Scan using t1_pkey on t1
97 -> Index Scan using t2_pkey on t2
100 /*+Set(enable_indexscan off)*/
101 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
104 Set(enable_indexscan off)
110 ------------------------------
112 Hash Cond: (t1.id = t2.id)
118 /*+ Set(enable_indexscan off) Set(enable_hashjoin off) */
119 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
122 Set(enable_hashjoin off)
123 Set(enable_indexscan off)
129 -------------------------------
131 Merge Cond: (t1.id = t2.id)
140 /*+ Set ( enable_indexscan off ) */
141 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
144 Set(enable_indexscan off)
150 ------------------------------
152 Hash Cond: (t1.id = t2.id)
165 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
168 Set(enable_indexscan off)
174 ------------------------------
176 Hash Cond: (t1.id = t2.id)
182 /*+ Set(enable_indexscan off)Set(enable_nestloop off)Set(enable_mergejoin off)
183 Set(enable_seqscan off)
185 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
188 Set(enable_indexscan off)
189 Set(enable_mergejoin off)
190 Set(enable_nestloop off)
191 Set(enable_seqscan off)
197 --------------------------------------------
199 Hash Cond: (t1.id = t2.id)
200 -> Index Scan using t1_pkey on t1
202 -> Index Scan using t2_pkey on t2
205 /*+Set(work_mem "1M")*/
206 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
207 INFO: invalid value for parameter "work_mem": "1M"
208 HINT: Valid units for this parameter are "kB", "MB", and "GB".
217 --------------------------------------
219 Merge Cond: (t1.id = t2.id)
220 -> Index Scan using t1_pkey on t1
221 -> Index Scan using t2_pkey on t2
224 /*+Set(work_mem "1MB")*/
225 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
234 --------------------------------------
236 Merge Cond: (t1.id = t2.id)
237 -> Index Scan using t1_pkey on t1
238 -> Index Scan using t2_pkey on t2
241 /*+Set(work_mem TO "1MB")*/
242 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
243 INFO: hint syntax error at or near "Set(work_mem TO "1MB")"
244 DETAIL: Set hint requires name and value of GUC parameter.
253 --------------------------------------
255 Merge Cond: (t1.id = t2.id)
256 -> Index Scan using t1_pkey on t1
257 -> Index Scan using t2_pkey on t2
261 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
262 INFO: hint syntax error at or near ""
263 DETAIL: SeqScan hint accepts only one relation.
272 --------------------------------------
274 Merge Cond: (t1.id = t2.id)
275 -> Index Scan using t1_pkey on t1
276 -> Index Scan using t2_pkey on t2
280 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
289 ------------------------------
291 Hash Cond: (t1.id = t2.id)
297 /*+SeqScan(t1)IndexScan(t2)*/
298 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
308 --------------------------------------------
310 Hash Cond: (t1.id = t2.id)
313 -> Index Scan using t2_pkey on t2
317 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
326 ------------------------------------------
329 -> Bitmap Heap Scan on t2
330 Recheck Cond: (id = t1.id)
331 -> Bitmap Index Scan on t2_pkey
332 Index Cond: (id = t1.id)
335 /*+BitmapScan(t2)NoSeqScan(t1)*/
336 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
346 ------------------------------------------
348 -> Index Scan using t1_pkey on t1
349 -> Bitmap Heap Scan on t2
350 Recheck Cond: (id = t1.id)
351 -> Bitmap Index Scan on t2_pkey
352 Index Cond: (id = t1.id)
356 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
365 ------------------------------
367 Hash Cond: (t1.id = t2.id)
373 /*+NoBitmapScan(t1)*/
374 EXPLAIN (COSTS false) SELECT * FROM t1, t4 WHERE t1.val < 10;
383 ----------------------------
392 EXPLAIN (COSTS false) SELECT * FROM t3, t4 WHERE t3.id = t4.id AND t4.ctid = '(1,1)';
401 -----------------------------------------------
403 Merge Cond: (t3.id = t4.id)
404 -> Index Scan using t3_pkey on t3
408 TID Cond: (ctid = '(1,1)'::tid)
412 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)';
421 ---------------------------------------
424 Filter: (ctid = '(1,1)'::tid)
425 -> Index Scan using t2_pkey on t2
426 Index Cond: (id = t1.id)
430 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
439 ------------------------------
441 Hash Cond: (t1.id = t2.id)
448 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
457 --------------------------------------
460 -> Index Scan using t1_pkey on t1
461 Index Cond: (id = t2.id)
464 /*+NoMergeJoin(t1 t2)*/
465 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
474 ------------------------------
476 Hash Cond: (t1.id = t2.id)
482 /*+MergeJoin(t1 t3)*/
483 EXPLAIN (COSTS false) SELECT * FROM t1, t3 WHERE t1.val = t3.val;
492 -------------------------------------
494 Merge Cond: (t1.val = t3.val)
495 -> Index Scan using t1_val on t1
502 EXPLAIN (COSTS false) SELECT * FROM t1, t3 WHERE t1.val = t3.val;
511 -------------------------------------
514 -> Index Scan using t1_val on t1
515 Index Cond: (val = t3.val)
518 /*+NoHashJoin(t1 t3)*/
519 EXPLAIN (COSTS false) SELECT * FROM t1, t3 WHERE t1.val = t3.val;
528 -------------------------------------
531 -> Index Scan using t1_val on t1
532 Index Cond: (val = t3.val)
535 /*+MergeJoin(t4 t1 t2 t3)*/
536 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
539 MergeJoin(t1 t2 t3 t4)
545 --------------------------------------------------
547 Merge Cond: (t1.id = t4.id)
549 Merge Cond: (t1.id = t3.id)
551 Merge Cond: (t1.id = t2.id)
552 -> Index Scan using t1_pkey on t1
553 -> Index Scan using t2_pkey on t2
554 -> Index Scan using t3_pkey on t3
560 /*+HashJoin(t3 t4 t1 t2)*/
561 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
564 HashJoin(t1 t2 t3 t4)
570 --------------------------------------------------------
572 Hash Cond: (t3.id = t1.id)
576 Merge Cond: (t1.id = t4.id)
578 Merge Cond: (t1.id = t2.id)
579 -> Index Scan using t1_pkey on t1
580 -> Index Scan using t2_pkey on t2
586 /*+NestLoop(t2 t3 t4 t1) IndexScan(t3)*/
587 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
591 NestLoop(t1 t2 t3 t4)
597 --------------------------------------------------
600 Merge Cond: (t1.id = t4.id)
602 Merge Cond: (t1.id = t2.id)
603 -> Index Scan using t1_pkey on t1
604 -> Index Scan using t2_pkey on t2
608 -> Index Scan using t3_pkey on t3
609 Index Cond: (id = t1.id)
612 /*+NoNestLoop(t4 t1 t3 t2)*/
613 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
616 NoNestLoop(t1 t2 t3 t4)
622 --------------------------------------------------
624 Merge Cond: (t1.id = t4.id)
626 Merge Cond: (t1.id = t3.id)
628 Merge Cond: (t1.id = t2.id)
629 -> Index Scan using t1_pkey on t1
630 -> Index Scan using t2_pkey on t2
631 -> Index Scan using t3_pkey on t3
638 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
639 INFO: hint syntax error at or near ""
640 DETAIL: Closing parenthesis is necessary.
642 --------------------------------------------------
644 Merge Cond: (t1.id = t4.id)
646 Merge Cond: (t1.id = t3.id)
648 Merge Cond: (t1.id = t2.id)
649 -> Index Scan using t1_pkey on t1
650 -> Index Scan using t2_pkey on t2
651 -> Index Scan using t3_pkey on t3
658 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
659 INFO: hint syntax error at or near "Leading( )"
660 DETAIL: Leading hint requires at least two relations.
669 --------------------------------------------------
671 Merge Cond: (t1.id = t4.id)
673 Merge Cond: (t1.id = t3.id)
675 Merge Cond: (t1.id = t2.id)
676 -> Index Scan using t1_pkey on t1
677 -> Index Scan using t2_pkey on t2
678 -> Index Scan using t3_pkey on t3
685 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
686 INFO: hint syntax error at or near "Leading( t3 )"
687 DETAIL: Leading hint requires at least two relations.
696 --------------------------------------------------
698 Merge Cond: (t1.id = t4.id)
700 Merge Cond: (t1.id = t3.id)
702 Merge Cond: (t1.id = t2.id)
703 -> Index Scan using t1_pkey on t1
704 -> Index Scan using t2_pkey on t2
705 -> Index Scan using t3_pkey on t3
711 /*+Leading( t3 t4 )*/
712 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
721 --------------------------------------------------
725 Merge Cond: (t3.id = t4.id)
726 -> Index Scan using t3_pkey on t3
730 -> Index Scan using t2_pkey on t2
731 Index Cond: (id = t3.id)
732 -> Index Scan using t1_pkey on t1
733 Index Cond: (id = t2.id)
736 /*+Leading(t3 t4 t1)*/
737 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
746 --------------------------------------------------
749 Merge Cond: (t3.id = t1.id)
751 Merge Cond: (t3.id = t4.id)
752 -> Index Scan using t3_pkey on t3
756 -> Index Scan using t1_pkey on t1
757 -> Index Scan using t2_pkey on t2
758 Index Cond: (id = t1.id)
761 /*+Leading(t3 t4 t1 t2)*/
762 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
771 --------------------------------------------------
774 Merge Cond: (t3.id = t1.id)
776 Merge Cond: (t3.id = t4.id)
777 -> Index Scan using t3_pkey on t3
781 -> Index Scan using t1_pkey on t1
782 -> Index Scan using t2_pkey on t2
783 Index Cond: (id = t1.id)
786 /*+Leading(t3 t4 t1 t2 t1)*/
787 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
788 INFO: hint syntax error at or near "Leading(t3 t4 t1 t2 t1)"
789 DETAIL: Relation name "t1" is duplicated.
795 Leading(t3 t4 t1 t2 t1)
798 --------------------------------------------------
800 Merge Cond: (t1.id = t4.id)
802 Merge Cond: (t1.id = t3.id)
804 Merge Cond: (t1.id = t2.id)
805 -> Index Scan using t1_pkey on t1
806 -> Index Scan using t2_pkey on t2
807 -> Index Scan using t3_pkey on t3
813 /*+Leading(t3 t4 t4)*/
814 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
815 INFO: hint syntax error at or near "Leading(t3 t4 t4)"
816 DETAIL: Relation name "t4" is duplicated.
825 --------------------------------------------------
827 Merge Cond: (t1.id = t4.id)
829 Merge Cond: (t1.id = t3.id)
831 Merge Cond: (t1.id = t2.id)
832 -> Index Scan using t1_pkey on t1
833 -> Index Scan using t2_pkey on t2
834 -> Index Scan using t3_pkey on t3
840 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
842 -----------------------------------------------
844 -> Values Scan on "*VALUES*"
845 -> Index Scan using t1_pkey on t1
846 Index Cond: (id = "*VALUES*".column1)
850 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
859 -----------------------------------------------
861 -> Values Scan on "*VALUES*"
862 -> Index Scan using t1_pkey on t1
863 Index Cond: (id = "*VALUES*".column1)
866 /*+HashJoin(t1 *VALUES*)*/
867 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
870 HashJoin(*VALUES* t1)
876 -------------------------------------------
878 Hash Cond: (t1.id = "*VALUES*".column1)
881 -> Values Scan on "*VALUES*"
884 /*+HashJoin(t1 *VALUES*) IndexScan(t1) IndexScan(*VALUES*)*/
885 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
889 HashJoin(*VALUES* t1)
896 -------------------------------------------
898 Hash Cond: (t1.id = "*VALUES*".column1)
899 -> Index Scan using t1_pkey on t1
901 -> Values Scan on "*VALUES*"
904 -- single table scan hint test
905 EXPLAIN SELECT (SELECT max(id) FROM t1 v_1 WHERE id < 10), id FROM v1 WHERE v1.id = (SELECT max(id) FROM t1 v_2 WHERE id < 10);
907 -----------------------------------------------------------------------------------------------------
908 Index Scan using t1_pkey on t1 (cost=1.89..10.16 rows=1 width=4)
909 Index Cond: (id = $3)
910 InitPlan 2 (returns $1)
911 -> Result (cost=0.94..0.95 rows=1 width=0)
912 InitPlan 1 (returns $0)
913 -> Limit (cost=0.00..0.94 rows=1 width=4)
914 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
915 Index Cond: ((id IS NOT NULL) AND (id < 10))
916 InitPlan 4 (returns $3)
917 -> Result (cost=0.94..0.95 rows=1 width=0)
918 InitPlan 3 (returns $2)
919 -> Limit (cost=0.00..0.94 rows=1 width=4)
920 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
921 Index Cond: ((id IS NOT NULL) AND (id < 10))
925 EXPLAIN SELECT (SELECT max(id) FROM t1 v_1 WHERE id < 10), id FROM v1 WHERE v1.id = (SELECT max(id) FROM t1 v_2 WHERE id < 10);
934 -----------------------------------------------------------------------------------------------------
935 Index Scan using t1_pkey on t1 (cost=29.34..37.61 rows=1 width=4)
936 Index Cond: (id = $2)
937 InitPlan 1 (returns $0)
938 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
939 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
940 Recheck Cond: (id < 10)
941 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
942 Index Cond: (id < 10)
943 InitPlan 3 (returns $2)
944 -> Result (cost=0.94..0.95 rows=1 width=0)
945 InitPlan 2 (returns $1)
946 -> Limit (cost=0.00..0.94 rows=1 width=4)
947 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
948 Index Cond: ((id IS NOT NULL) AND (id < 10))
952 EXPLAIN SELECT (SELECT max(id) FROM t1 v_1 WHERE id < 10), id FROM v1 WHERE v1.id = (SELECT max(id) FROM t1 v_2 WHERE id < 10);
961 -----------------------------------------------------------------------------------------------------
962 Index Scan using t1_pkey on t1 (cost=29.34..37.61 rows=1 width=4)
963 Index Cond: (id = $2)
964 InitPlan 2 (returns $1)
965 -> Result (cost=0.94..0.95 rows=1 width=0)
966 InitPlan 1 (returns $0)
967 -> Limit (cost=0.00..0.94 rows=1 width=4)
968 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
969 Index Cond: ((id IS NOT NULL) AND (id < 10))
970 InitPlan 3 (returns $2)
971 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
972 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
973 Recheck Cond: (id < 10)
974 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
975 Index Cond: (id < 10)
979 EXPLAIN SELECT (SELECT max(id) FROM t1 v_1 WHERE id < 10), id FROM v1 WHERE v1.id = (SELECT max(id) FROM t1 v_2 WHERE id < 10);
988 -----------------------------------------------------------------------------------------------------
989 Bitmap Heap Scan on t1 (cost=6.15..10.17 rows=1 width=4)
990 Recheck Cond: (id = $3)
991 InitPlan 2 (returns $1)
992 -> Result (cost=0.94..0.95 rows=1 width=0)
993 InitPlan 1 (returns $0)
994 -> Limit (cost=0.00..0.94 rows=1 width=4)
995 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
996 Index Cond: ((id IS NOT NULL) AND (id < 10))
997 InitPlan 4 (returns $3)
998 -> Result (cost=0.94..0.95 rows=1 width=0)
999 InitPlan 3 (returns $2)
1000 -> Limit (cost=0.00..0.94 rows=1 width=4)
1001 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
1002 Index Cond: ((id IS NOT NULL) AND (id < 10))
1003 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1004 Index Cond: (id = $3)
1007 /*+BitmapScan(v_1)BitmapScan(v_2)*/
1008 EXPLAIN SELECT (SELECT max(id) FROM t1 v_1 WHERE id < 10), id FROM v1 WHERE v1.id = (SELECT max(id) FROM t1 v_2 WHERE id < 10);
1018 ------------------------------------------------------------------------------------
1019 Index Scan using t1_pkey on t1 (cost=56.78..65.05 rows=1 width=4)
1020 Index Cond: (id = $1)
1021 InitPlan 1 (returns $0)
1022 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1023 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
1024 Recheck Cond: (id < 10)
1025 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1026 Index Cond: (id < 10)
1027 InitPlan 2 (returns $1)
1028 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1029 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
1030 Recheck Cond: (id < 10)
1031 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1032 Index Cond: (id < 10)
1035 /*+BitmapScan(v_1)BitmapScan(t1)*/
1036 EXPLAIN SELECT (SELECT max(id) FROM t1 v_1 WHERE id < 10), id FROM v1 WHERE v1.id = (SELECT max(id) FROM t1 v_2 WHERE id < 10);
1046 -----------------------------------------------------------------------------------------------------
1047 Bitmap Heap Scan on t1 (cost=33.60..37.61 rows=1 width=4)
1048 Recheck Cond: (id = $2)
1049 InitPlan 1 (returns $0)
1050 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1051 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
1052 Recheck Cond: (id < 10)
1053 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1054 Index Cond: (id < 10)
1055 InitPlan 3 (returns $2)
1056 -> Result (cost=0.94..0.95 rows=1 width=0)
1057 InitPlan 2 (returns $1)
1058 -> Limit (cost=0.00..0.94 rows=1 width=4)
1059 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
1060 Index Cond: ((id IS NOT NULL) AND (id < 10))
1061 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1062 Index Cond: (id = $2)
1065 /*+BitmapScan(v_2)BitmapScan(t1)*/
1066 EXPLAIN SELECT (SELECT max(id) FROM t1 v_1 WHERE id < 10), id FROM v1 WHERE v1.id = (SELECT max(id) FROM t1 v_2 WHERE id < 10);
1076 -----------------------------------------------------------------------------------------------------
1077 Bitmap Heap Scan on t1 (cost=33.60..37.61 rows=1 width=4)
1078 Recheck Cond: (id = $2)
1079 InitPlan 2 (returns $1)
1080 -> Result (cost=0.94..0.95 rows=1 width=0)
1081 InitPlan 1 (returns $0)
1082 -> Limit (cost=0.00..0.94 rows=1 width=4)
1083 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
1084 Index Cond: ((id IS NOT NULL) AND (id < 10))
1085 InitPlan 3 (returns $2)
1086 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1087 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
1088 Recheck Cond: (id < 10)
1089 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1090 Index Cond: (id < 10)
1091 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1092 Index Cond: (id = $2)
1095 /*+BitmapScan(v_1)BitmapScan(v_2)BitmapScan(t1)*/
1096 EXPLAIN SELECT (SELECT max(id) FROM t1 v_1 WHERE id < 10), id FROM v1 WHERE v1.id = (SELECT max(id) FROM t1 v_2 WHERE id < 10);
1107 ------------------------------------------------------------------------------------
1108 Bitmap Heap Scan on t1 (cost=61.04..65.05 rows=1 width=4)
1109 Recheck Cond: (id = $1)
1110 InitPlan 1 (returns $0)
1111 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1112 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
1113 Recheck Cond: (id < 10)
1114 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1115 Index Cond: (id < 10)
1116 InitPlan 2 (returns $1)
1117 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1118 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
1119 Recheck Cond: (id < 10)
1120 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1121 Index Cond: (id < 10)
1122 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1123 Index Cond: (id = $1)
1126 -- full scan hint pattern test
1127 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1129 -----------------------------------
1131 TID Cond: (ctid = '(1,1)'::tid)
1136 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1145 -------------------------------------------------
1147 Filter: ((id < 10) AND (ctid = '(1,1)'::tid))
1151 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1160 ---------------------------------
1161 Index Scan using t1_pkey on t1
1162 Index Cond: (id < 10)
1163 Filter: (ctid = '(1,1)'::tid)
1167 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1176 ------------------------------------
1177 Bitmap Heap Scan on t1
1178 Recheck Cond: (id < 10)
1179 Filter: (ctid = '(1,1)'::tid)
1180 -> Bitmap Index Scan on t1_pkey
1181 Index Cond: (id < 10)
1185 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1194 -----------------------------------
1196 TID Cond: (ctid = '(1,1)'::tid)
1201 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1210 -----------------------------------
1212 TID Cond: (ctid = '(1,1)'::tid)
1216 /*+NoIndexScan(t1)*/
1217 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1226 -----------------------------------
1228 TID Cond: (ctid = '(1,1)'::tid)
1232 /*+NoBitmapScan(t1)*/
1233 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1242 -----------------------------------
1244 TID Cond: (ctid = '(1,1)'::tid)
1249 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1258 ---------------------------------
1259 Index Scan using t1_pkey on t1
1260 Index Cond: (id < 10)
1261 Filter: (ctid = '(1,1)'::tid)
1264 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1266 -----------------------------------------
1268 Join Filter: (t1.id = t2.id)
1270 TID Cond: (ctid = '(1,1)'::tid)
1272 TID Cond: (ctid = '(1,1)'::tid)
1276 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1285 -----------------------------------------
1287 Join Filter: (t1.id = t2.id)
1289 Filter: (ctid = '(1,1)'::tid)
1291 TID Cond: (ctid = '(1,1)'::tid)
1295 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1304 -----------------------------------------
1306 Join Filter: (t1.id = t2.id)
1308 TID Cond: (ctid = '(1,1)'::tid)
1310 Filter: (ctid = '(1,1)'::tid)
1313 /*+SeqScan(t1) SeqScan(t2)*/
1314 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1324 ---------------------------------------
1326 Join Filter: (t1.id = t2.id)
1328 Filter: (ctid = '(1,1)'::tid)
1330 Filter: (ctid = '(1,1)'::tid)
1333 /*+SeqScan(t1) IndexScan(t2)*/
1334 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1344 ---------------------------------------
1347 Filter: (ctid = '(1,1)'::tid)
1348 -> Index Scan using t2_pkey on t2
1349 Index Cond: (id = t1.id)
1350 Filter: (ctid = '(1,1)'::tid)
1353 /*+SeqScan(t1) BitmapScan(t2)*/
1354 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1364 ------------------------------------------
1367 Filter: (ctid = '(1,1)'::tid)
1368 -> Bitmap Heap Scan on t2
1369 Recheck Cond: (id = t1.id)
1370 Filter: (ctid = '(1,1)'::tid)
1371 -> Bitmap Index Scan on t2_pkey
1372 Index Cond: (id = t1.id)
1375 /*+SeqScan(t1) TidScan(t2)*/
1376 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1386 -----------------------------------------
1388 Join Filter: (t1.id = t2.id)
1390 Filter: (ctid = '(1,1)'::tid)
1392 TID Cond: (ctid = '(1,1)'::tid)
1395 /*+SeqScan(t1) NoSeqScan(t2)*/
1396 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1406 -----------------------------------------
1408 Join Filter: (t1.id = t2.id)
1410 Filter: (ctid = '(1,1)'::tid)
1412 TID Cond: (ctid = '(1,1)'::tid)
1415 /*+SeqScan(t1) NoIndexScan(t2)*/
1416 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1426 -----------------------------------------
1428 Join Filter: (t1.id = t2.id)
1430 Filter: (ctid = '(1,1)'::tid)
1432 TID Cond: (ctid = '(1,1)'::tid)
1435 /*+SeqScan(t1) NoBitmapScan(t2)*/
1436 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1446 -----------------------------------------
1448 Join Filter: (t1.id = t2.id)
1450 Filter: (ctid = '(1,1)'::tid)
1452 TID Cond: (ctid = '(1,1)'::tid)
1455 /*+SeqScan(t1) NoTidScan(t2)*/
1456 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1466 ---------------------------------------
1469 Filter: (ctid = '(1,1)'::tid)
1470 -> Index Scan using t2_pkey on t2
1471 Index Cond: (id = t1.id)
1472 Filter: (ctid = '(1,1)'::tid)
1476 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1485 -----------------------------------------
1488 TID Cond: (ctid = '(1,1)'::tid)
1489 -> Index Scan using t1_pkey on t1
1490 Index Cond: (id = t2.id)
1491 Filter: (ctid = '(1,1)'::tid)
1495 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1504 -----------------------------------------
1507 TID Cond: (ctid = '(1,1)'::tid)
1508 -> Index Scan using t2_pkey on t2
1509 Index Cond: (id = t1.id)
1510 Filter: (ctid = '(1,1)'::tid)
1513 /*+IndexScan(t1) SeqScan(t2)*/
1514 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1524 ---------------------------------------
1527 Filter: (ctid = '(1,1)'::tid)
1528 -> Index Scan using t1_pkey on t1
1529 Index Cond: (id = t2.id)
1530 Filter: (ctid = '(1,1)'::tid)
1533 /*+IndexScan(t1) IndexScan(t2)*/
1534 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1544 ---------------------------------------
1546 -> Index Scan using t2_pkey on t2
1547 Filter: (ctid = '(1,1)'::tid)
1548 -> Index Scan using t1_pkey on t1
1549 Index Cond: (id = t2.id)
1550 Filter: (ctid = '(1,1)'::tid)
1553 /*+IndexScan(t1) BitmapScan(t2)*/
1554 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1564 ------------------------------------------
1566 -> Index Scan using t1_pkey on t1
1567 Filter: (ctid = '(1,1)'::tid)
1568 -> Bitmap Heap Scan on t2
1569 Recheck Cond: (id = t1.id)
1570 Filter: (ctid = '(1,1)'::tid)
1571 -> Bitmap Index Scan on t2_pkey
1572 Index Cond: (id = t1.id)
1575 /*+IndexScan(t1) TidScan(t2)*/
1576 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1586 -----------------------------------------
1589 TID Cond: (ctid = '(1,1)'::tid)
1590 -> Index Scan using t1_pkey on t1
1591 Index Cond: (id = t2.id)
1592 Filter: (ctid = '(1,1)'::tid)
1595 /*+IndexScan(t1) NoSeqScan(t2)*/
1596 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1606 -----------------------------------------
1609 TID Cond: (ctid = '(1,1)'::tid)
1610 -> Index Scan using t1_pkey on t1
1611 Index Cond: (id = t2.id)
1612 Filter: (ctid = '(1,1)'::tid)
1615 /*+IndexScan(t1) NoIndexScan(t2)*/
1616 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1626 -----------------------------------------
1629 TID Cond: (ctid = '(1,1)'::tid)
1630 -> Index Scan using t1_pkey on t1
1631 Index Cond: (id = t2.id)
1632 Filter: (ctid = '(1,1)'::tid)
1635 /*+IndexScan(t1) NoBitmapScan(t2)*/
1636 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1646 -----------------------------------------
1649 TID Cond: (ctid = '(1,1)'::tid)
1650 -> Index Scan using t1_pkey on t1
1651 Index Cond: (id = t2.id)
1652 Filter: (ctid = '(1,1)'::tid)
1655 /*+IndexScan(t1) NoTidScan(t2)*/
1656 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1666 ---------------------------------------
1669 Filter: (ctid = '(1,1)'::tid)
1670 -> Index Scan using t1_pkey on t1
1671 Index Cond: (id = t2.id)
1672 Filter: (ctid = '(1,1)'::tid)
1676 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1685 ------------------------------------------
1688 TID Cond: (ctid = '(1,1)'::tid)
1689 -> Bitmap Heap Scan on t1
1690 Recheck Cond: (id = t2.id)
1691 Filter: (ctid = '(1,1)'::tid)
1692 -> Bitmap Index Scan on t1_pkey
1693 Index Cond: (id = t2.id)
1697 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1706 ------------------------------------------
1709 TID Cond: (ctid = '(1,1)'::tid)
1710 -> Bitmap Heap Scan on t2
1711 Recheck Cond: (id = t1.id)
1712 Filter: (ctid = '(1,1)'::tid)
1713 -> Bitmap Index Scan on t2_pkey
1714 Index Cond: (id = t1.id)
1718 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1727 ------------------------------------------
1730 TID Cond: (ctid = '(1,1)'::tid)
1731 -> Bitmap Heap Scan on t2
1732 Recheck Cond: (id = t1.id)
1733 Filter: (ctid = '(1,1)'::tid)
1734 -> Bitmap Index Scan on t2_pkey
1735 Index Cond: (id = t1.id)
1738 /*+BitmapScan(t1) SeqScan(t2)*/
1739 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1749 ------------------------------------------
1752 Filter: (ctid = '(1,1)'::tid)
1753 -> Bitmap Heap Scan on t1
1754 Recheck Cond: (id = t2.id)
1755 Filter: (ctid = '(1,1)'::tid)
1756 -> Bitmap Index Scan on t1_pkey
1757 Index Cond: (id = t2.id)
1760 /*+BitmapScan(t1) IndexScan(t2)*/
1761 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1771 ------------------------------------------
1773 -> Index Scan using t2_pkey on t2
1774 Filter: (ctid = '(1,1)'::tid)
1775 -> Bitmap Heap Scan on t1
1776 Recheck Cond: (id = t2.id)
1777 Filter: (ctid = '(1,1)'::tid)
1778 -> Bitmap Index Scan on t1_pkey
1779 Index Cond: (id = t2.id)
1782 /*+BitmapScan(t1) BitmapScan(t2)*/
1783 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1793 ------------------------------------------
1795 -> Index Scan using t2_pkey on t2
1796 Filter: (ctid = '(1,1)'::tid)
1797 -> Bitmap Heap Scan on t1
1798 Recheck Cond: (id = t2.id)
1799 Filter: (ctid = '(1,1)'::tid)
1800 -> Bitmap Index Scan on t1_pkey
1801 Index Cond: (id = t2.id)
1804 /*+BitmapScan(t1) TidScan(t2)*/
1805 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1815 ------------------------------------------
1818 TID Cond: (ctid = '(1,1)'::tid)
1819 -> Bitmap Heap Scan on t1
1820 Recheck Cond: (id = t2.id)
1821 Filter: (ctid = '(1,1)'::tid)
1822 -> Bitmap Index Scan on t1_pkey
1823 Index Cond: (id = t2.id)
1826 /*+BitmapScan(t1) NoSeqScan(t2)*/
1827 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1837 ------------------------------------------
1840 TID Cond: (ctid = '(1,1)'::tid)
1841 -> Bitmap Heap Scan on t1
1842 Recheck Cond: (id = t2.id)
1843 Filter: (ctid = '(1,1)'::tid)
1844 -> Bitmap Index Scan on t1_pkey
1845 Index Cond: (id = t2.id)
1848 /*+BitmapScan(t1) NoIndexScan(t2)*/
1849 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1859 ------------------------------------------
1862 TID Cond: (ctid = '(1,1)'::tid)
1863 -> Bitmap Heap Scan on t1
1864 Recheck Cond: (id = t2.id)
1865 Filter: (ctid = '(1,1)'::tid)
1866 -> Bitmap Index Scan on t1_pkey
1867 Index Cond: (id = t2.id)
1870 /*+BitmapScan(t1) NoBitmapScan(t2)*/
1871 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1881 ------------------------------------------
1884 TID Cond: (ctid = '(1,1)'::tid)
1885 -> Bitmap Heap Scan on t1
1886 Recheck Cond: (id = t2.id)
1887 Filter: (ctid = '(1,1)'::tid)
1888 -> Bitmap Index Scan on t1_pkey
1889 Index Cond: (id = t2.id)
1892 /*+BitmapScan(t1) NoTidScan(t2)*/
1893 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1903 ------------------------------------------
1906 Filter: (ctid = '(1,1)'::tid)
1907 -> Bitmap Heap Scan on t1
1908 Recheck Cond: (id = t2.id)
1909 Filter: (ctid = '(1,1)'::tid)
1910 -> Bitmap Index Scan on t1_pkey
1911 Index Cond: (id = t2.id)
1915 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1924 -----------------------------------------
1926 Join Filter: (t1.id = t2.id)
1928 TID Cond: (ctid = '(1,1)'::tid)
1930 TID Cond: (ctid = '(1,1)'::tid)
1934 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1943 -----------------------------------------
1945 Join Filter: (t1.id = t2.id)
1947 TID Cond: (ctid = '(1,1)'::tid)
1949 TID Cond: (ctid = '(1,1)'::tid)
1952 /*+TidScan(t1) SeqScan(t2)*/
1953 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1963 -----------------------------------------
1965 Join Filter: (t1.id = t2.id)
1967 TID Cond: (ctid = '(1,1)'::tid)
1969 Filter: (ctid = '(1,1)'::tid)
1972 /*+TidScan(t1) IndexScan(t2)*/
1973 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1983 -----------------------------------------
1986 TID Cond: (ctid = '(1,1)'::tid)
1987 -> Index Scan using t2_pkey on t2
1988 Index Cond: (id = t1.id)
1989 Filter: (ctid = '(1,1)'::tid)
1992 /*+TidScan(t1) BitmapScan(t2)*/
1993 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2003 ------------------------------------------
2006 TID Cond: (ctid = '(1,1)'::tid)
2007 -> Bitmap Heap Scan on t2
2008 Recheck Cond: (id = t1.id)
2009 Filter: (ctid = '(1,1)'::tid)
2010 -> Bitmap Index Scan on t2_pkey
2011 Index Cond: (id = t1.id)
2014 /*+TidScan(t1) TidScan(t2)*/
2015 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2025 -----------------------------------------
2027 Join Filter: (t1.id = t2.id)
2029 TID Cond: (ctid = '(1,1)'::tid)
2031 TID Cond: (ctid = '(1,1)'::tid)
2034 /*+TidScan(t1) NoSeqScan(t2)*/
2035 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2045 -----------------------------------------
2047 Join Filter: (t1.id = t2.id)
2049 TID Cond: (ctid = '(1,1)'::tid)
2051 TID Cond: (ctid = '(1,1)'::tid)
2054 /*+TidScan(t1) NoIndexScan(t2)*/
2055 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2065 -----------------------------------------
2067 Join Filter: (t1.id = t2.id)
2069 TID Cond: (ctid = '(1,1)'::tid)
2071 TID Cond: (ctid = '(1,1)'::tid)
2074 /*+TidScan(t1) NoBitmapScan(t2)*/
2075 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2085 -----------------------------------------
2087 Join Filter: (t1.id = t2.id)
2089 TID Cond: (ctid = '(1,1)'::tid)
2091 TID Cond: (ctid = '(1,1)'::tid)
2094 /*+TidScan(t1) NoTidScan(t2)*/
2095 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2105 -----------------------------------------
2108 TID Cond: (ctid = '(1,1)'::tid)
2109 -> Index Scan using t2_pkey on t2
2110 Index Cond: (id = t1.id)
2111 Filter: (ctid = '(1,1)'::tid)
2115 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2124 -----------------------------------------
2126 Join Filter: (t1.id = t2.id)
2128 TID Cond: (ctid = '(1,1)'::tid)
2130 TID Cond: (ctid = '(1,1)'::tid)
2134 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2143 -----------------------------------------
2145 Join Filter: (t1.id = t2.id)
2147 TID Cond: (ctid = '(1,1)'::tid)
2149 TID Cond: (ctid = '(1,1)'::tid)
2152 /*+NoSeqScan(t1) SeqScan(t2)*/
2153 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2163 -----------------------------------------
2165 Join Filter: (t1.id = t2.id)
2167 TID Cond: (ctid = '(1,1)'::tid)
2169 Filter: (ctid = '(1,1)'::tid)
2172 /*+NoSeqScan(t1) IndexScan(t2)*/
2173 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2183 -----------------------------------------
2186 TID Cond: (ctid = '(1,1)'::tid)
2187 -> Index Scan using t2_pkey on t2
2188 Index Cond: (id = t1.id)
2189 Filter: (ctid = '(1,1)'::tid)
2192 /*+NoSeqScan(t1) BitmapScan(t2)*/
2193 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2203 ------------------------------------------
2206 TID Cond: (ctid = '(1,1)'::tid)
2207 -> Bitmap Heap Scan on t2
2208 Recheck Cond: (id = t1.id)
2209 Filter: (ctid = '(1,1)'::tid)
2210 -> Bitmap Index Scan on t2_pkey
2211 Index Cond: (id = t1.id)
2214 /*+NoSeqScan(t1) TidScan(t2)*/
2215 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2225 -----------------------------------------
2227 Join Filter: (t1.id = t2.id)
2229 TID Cond: (ctid = '(1,1)'::tid)
2231 TID Cond: (ctid = '(1,1)'::tid)
2234 /*+NoSeqScan(t1) NoSeqScan(t2)*/
2235 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2245 -----------------------------------------
2247 Join Filter: (t1.id = t2.id)
2249 TID Cond: (ctid = '(1,1)'::tid)
2251 TID Cond: (ctid = '(1,1)'::tid)
2254 /*+NoSeqScan(t1) NoIndexScan(t2)*/
2255 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2265 -----------------------------------------
2267 Join Filter: (t1.id = t2.id)
2269 TID Cond: (ctid = '(1,1)'::tid)
2271 TID Cond: (ctid = '(1,1)'::tid)
2274 /*+NoSeqScan(t1) NoBitmapScan(t2)*/
2275 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2285 -----------------------------------------
2287 Join Filter: (t1.id = t2.id)
2289 TID Cond: (ctid = '(1,1)'::tid)
2291 TID Cond: (ctid = '(1,1)'::tid)
2294 /*+NoSeqScan(t1) NoTidScan(t2)*/
2295 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2305 -----------------------------------------
2308 TID Cond: (ctid = '(1,1)'::tid)
2309 -> Index Scan using t2_pkey on t2
2310 Index Cond: (id = t1.id)
2311 Filter: (ctid = '(1,1)'::tid)
2314 /*+NoIndexScan(t1)*/
2315 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2324 -----------------------------------------
2326 Join Filter: (t1.id = t2.id)
2328 TID Cond: (ctid = '(1,1)'::tid)
2330 TID Cond: (ctid = '(1,1)'::tid)
2333 /*+NoIndexScan(t2)*/
2334 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2343 -----------------------------------------
2345 Join Filter: (t1.id = t2.id)
2347 TID Cond: (ctid = '(1,1)'::tid)
2349 TID Cond: (ctid = '(1,1)'::tid)
2352 /*+NoIndexScan(t1) SeqScan(t2)*/
2353 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2363 -----------------------------------------
2365 Join Filter: (t1.id = t2.id)
2367 TID Cond: (ctid = '(1,1)'::tid)
2369 Filter: (ctid = '(1,1)'::tid)
2372 /*+NoIndexScan(t1) IndexScan(t2)*/
2373 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2383 -----------------------------------------
2386 TID Cond: (ctid = '(1,1)'::tid)
2387 -> Index Scan using t2_pkey on t2
2388 Index Cond: (id = t1.id)
2389 Filter: (ctid = '(1,1)'::tid)
2392 /*+NoIndexScan(t1) BitmapScan(t2)*/
2393 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2403 ------------------------------------------
2406 TID Cond: (ctid = '(1,1)'::tid)
2407 -> Bitmap Heap Scan on t2
2408 Recheck Cond: (id = t1.id)
2409 Filter: (ctid = '(1,1)'::tid)
2410 -> Bitmap Index Scan on t2_pkey
2411 Index Cond: (id = t1.id)
2414 /*+NoIndexScan(t1) TidScan(t2)*/
2415 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2425 -----------------------------------------
2427 Join Filter: (t1.id = t2.id)
2429 TID Cond: (ctid = '(1,1)'::tid)
2431 TID Cond: (ctid = '(1,1)'::tid)
2434 /*+NoIndexScan(t1) NoSeqScan(t2)*/
2435 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2445 -----------------------------------------
2447 Join Filter: (t1.id = t2.id)
2449 TID Cond: (ctid = '(1,1)'::tid)
2451 TID Cond: (ctid = '(1,1)'::tid)
2454 /*+NoIndexScan(t1) NoIndexScan(t2)*/
2455 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2465 -----------------------------------------
2467 Join Filter: (t1.id = t2.id)
2469 TID Cond: (ctid = '(1,1)'::tid)
2471 TID Cond: (ctid = '(1,1)'::tid)
2474 /*+NoIndexScan(t1) NoBitmapScan(t2)*/
2475 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2485 -----------------------------------------
2487 Join Filter: (t1.id = t2.id)
2489 TID Cond: (ctid = '(1,1)'::tid)
2491 TID Cond: (ctid = '(1,1)'::tid)
2494 /*+NoIndexScan(t1) NoTidScan(t2)*/
2495 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2505 -----------------------------------------
2508 TID Cond: (ctid = '(1,1)'::tid)
2509 -> Index Scan using t2_pkey on t2
2510 Index Cond: (id = t1.id)
2511 Filter: (ctid = '(1,1)'::tid)
2514 /*+NoBitmapScan(t1)*/
2515 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2524 -----------------------------------------
2526 Join Filter: (t1.id = t2.id)
2528 TID Cond: (ctid = '(1,1)'::tid)
2530 TID Cond: (ctid = '(1,1)'::tid)
2533 /*+NoBitmapScan(t2)*/
2534 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2543 -----------------------------------------
2545 Join Filter: (t1.id = t2.id)
2547 TID Cond: (ctid = '(1,1)'::tid)
2549 TID Cond: (ctid = '(1,1)'::tid)
2552 /*+NoBitmapScan(t1) SeqScan(t2)*/
2553 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2563 -----------------------------------------
2565 Join Filter: (t1.id = t2.id)
2567 TID Cond: (ctid = '(1,1)'::tid)
2569 Filter: (ctid = '(1,1)'::tid)
2572 /*+NoBitmapScan(t1) IndexScan(t2)*/
2573 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2583 -----------------------------------------
2586 TID Cond: (ctid = '(1,1)'::tid)
2587 -> Index Scan using t2_pkey on t2
2588 Index Cond: (id = t1.id)
2589 Filter: (ctid = '(1,1)'::tid)
2592 /*+NoBitmapScan(t1) BitmapScan(t2)*/
2593 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2603 ------------------------------------------
2606 TID Cond: (ctid = '(1,1)'::tid)
2607 -> Bitmap Heap Scan on t2
2608 Recheck Cond: (id = t1.id)
2609 Filter: (ctid = '(1,1)'::tid)
2610 -> Bitmap Index Scan on t2_pkey
2611 Index Cond: (id = t1.id)
2614 /*+NoBitmapScan(t1) TidScan(t2)*/
2615 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2625 -----------------------------------------
2627 Join Filter: (t1.id = t2.id)
2629 TID Cond: (ctid = '(1,1)'::tid)
2631 TID Cond: (ctid = '(1,1)'::tid)
2634 /*+NoBitmapScan(t1) NoSeqScan(t2)*/
2635 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2645 -----------------------------------------
2647 Join Filter: (t1.id = t2.id)
2649 TID Cond: (ctid = '(1,1)'::tid)
2651 TID Cond: (ctid = '(1,1)'::tid)
2654 /*+NoBitmapScan(t1) NoIndexScan(t2)*/
2655 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2665 -----------------------------------------
2667 Join Filter: (t1.id = t2.id)
2669 TID Cond: (ctid = '(1,1)'::tid)
2671 TID Cond: (ctid = '(1,1)'::tid)
2674 /*+NoBitmapScan(t1) NoBitmapScan(t2)*/
2675 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2685 -----------------------------------------
2687 Join Filter: (t1.id = t2.id)
2689 TID Cond: (ctid = '(1,1)'::tid)
2691 TID Cond: (ctid = '(1,1)'::tid)
2694 /*+NoBitmapScan(t1) NoTidScan(t2)*/
2695 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2705 -----------------------------------------
2708 TID Cond: (ctid = '(1,1)'::tid)
2709 -> Index Scan using t2_pkey on t2
2710 Index Cond: (id = t1.id)
2711 Filter: (ctid = '(1,1)'::tid)
2715 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2724 -----------------------------------------
2727 TID Cond: (ctid = '(1,1)'::tid)
2728 -> Index Scan using t1_pkey on t1
2729 Index Cond: (id = t2.id)
2730 Filter: (ctid = '(1,1)'::tid)
2734 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2743 -----------------------------------------
2746 TID Cond: (ctid = '(1,1)'::tid)
2747 -> Index Scan using t2_pkey on t2
2748 Index Cond: (id = t1.id)
2749 Filter: (ctid = '(1,1)'::tid)
2752 /*+NoTidScan(t1) SeqScan(t2)*/
2753 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2763 ---------------------------------------
2766 Filter: (ctid = '(1,1)'::tid)
2767 -> Index Scan using t1_pkey on t1
2768 Index Cond: (id = t2.id)
2769 Filter: (ctid = '(1,1)'::tid)
2772 /*+NoTidScan(t1) IndexScan(t2)*/
2773 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2783 ---------------------------------------
2785 -> Index Scan using t2_pkey on t2
2786 Filter: (ctid = '(1,1)'::tid)
2787 -> Index Scan using t1_pkey on t1
2788 Index Cond: (id = t2.id)
2789 Filter: (ctid = '(1,1)'::tid)
2792 /*+NoTidScan(t1) BitmapScan(t2)*/
2793 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2803 ------------------------------------------
2806 Filter: (ctid = '(1,1)'::tid)
2807 -> Bitmap Heap Scan on t2
2808 Recheck Cond: (id = t1.id)
2809 Filter: (ctid = '(1,1)'::tid)
2810 -> Bitmap Index Scan on t2_pkey
2811 Index Cond: (id = t1.id)
2814 /*+NoTidScan(t1) TidScan(t2)*/
2815 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2825 -----------------------------------------
2828 TID Cond: (ctid = '(1,1)'::tid)
2829 -> Index Scan using t1_pkey on t1
2830 Index Cond: (id = t2.id)
2831 Filter: (ctid = '(1,1)'::tid)
2834 /*+NoTidScan(t1) NoSeqScan(t2)*/
2835 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2845 -----------------------------------------
2848 TID Cond: (ctid = '(1,1)'::tid)
2849 -> Index Scan using t1_pkey on t1
2850 Index Cond: (id = t2.id)
2851 Filter: (ctid = '(1,1)'::tid)
2854 /*+NoTidScan(t1) NoIndexScan(t2)*/
2855 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2865 -----------------------------------------
2868 TID Cond: (ctid = '(1,1)'::tid)
2869 -> Index Scan using t1_pkey on t1
2870 Index Cond: (id = t2.id)
2871 Filter: (ctid = '(1,1)'::tid)
2874 /*+NoTidScan(t1) NoBitmapScan(t2)*/
2875 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2885 -----------------------------------------
2888 TID Cond: (ctid = '(1,1)'::tid)
2889 -> Index Scan using t1_pkey on t1
2890 Index Cond: (id = t2.id)
2891 Filter: (ctid = '(1,1)'::tid)
2894 /*+NoTidScan(t1) NoTidScan(t2)*/
2895 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2905 ---------------------------------------
2908 Filter: (ctid = '(1,1)'::tid)
2909 -> Index Scan using t1_pkey on t1
2910 Index Cond: (id = t2.id)
2911 Filter: (ctid = '(1,1)'::tid)
2915 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)' AND t1.id < 10 AND t2.id < 10;
2917 -----------------------------------------
2919 Join Filter: (t1.id = t2.id)
2921 TID Cond: (ctid = '(1,1)'::tid)
2924 TID Cond: (ctid = '(1,1)'::tid)
2928 /*+BitmapScan(t1) BitmapScan(t2)*/
2929 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)' AND t1.id < 10 AND t2.id < 10;
2939 --------------------------------------------------------
2941 -> Bitmap Heap Scan on t2
2942 Recheck Cond: (id < 10)
2943 Filter: (ctid = '(1,1)'::tid)
2944 -> Bitmap Index Scan on t2_pkey
2945 Index Cond: (id < 10)
2946 -> Bitmap Heap Scan on t1
2947 Recheck Cond: ((id < 10) AND (id = t2.id))
2948 Filter: (ctid = '(1,1)'::tid)
2949 -> Bitmap Index Scan on t1_pkey
2950 Index Cond: ((id < 10) AND (id = t2.id))
2954 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2956 ------------------------------
2958 Hash Cond: (t1.id = t2.id)
2964 /*+MergeJoin(t1 t2)*/
2965 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2974 --------------------------------------
2976 Merge Cond: (t1.id = t2.id)
2977 -> Index Scan using t1_pkey on t1
2978 -> Index Scan using t2_pkey on t2
2981 /*+NestLoop(t1 t2)*/
2982 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2991 ------------------------------
2993 Hash Cond: (t1.id = t2.id)
2999 -- inherite table test
3000 SET constraint_exclusion TO off;
3001 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3003 -----------------------------------------------------------------------------
3007 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3008 -> Seq Scan on p1_c1 p1
3009 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3010 -> Seq Scan on p1_c2 p1
3011 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3012 -> Seq Scan on p1_c3 p1
3013 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3014 -> Tid Scan on p1_c4 p1
3015 TID Cond: (ctid = '(1,1)'::tid)
3016 Filter: ((id >= 50) AND (id <= 51))
3017 -> Tid Scan on p1_c1_c1 p1
3018 TID Cond: (ctid = '(1,1)'::tid)
3019 Filter: ((id >= 50) AND (id <= 51))
3020 -> Tid Scan on p1_c1_c2 p1
3021 TID Cond: (ctid = '(1,1)'::tid)
3022 Filter: ((id >= 50) AND (id <= 51))
3023 -> Tid Scan on p1_c3_c1 p1
3024 TID Cond: (ctid = '(1,1)'::tid)
3025 Filter: ((id >= 50) AND (id <= 51))
3026 -> Tid Scan on p1_c3_c2 p1
3027 TID Cond: (ctid = '(1,1)'::tid)
3028 Filter: ((id >= 50) AND (id <= 51))
3031 SET constraint_exclusion TO on;
3032 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3034 -----------------------------------------------------------------------------
3038 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3039 -> Seq Scan on p1_c1 p1
3040 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3041 -> Tid Scan on p1_c1_c1 p1
3042 TID Cond: (ctid = '(1,1)'::tid)
3043 Filter: ((id >= 50) AND (id <= 51))
3044 -> Tid Scan on p1_c1_c2 p1
3045 TID Cond: (ctid = '(1,1)'::tid)
3046 Filter: ((id >= 50) AND (id <= 51))
3049 SET constraint_exclusion TO off;
3051 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3060 -----------------------------------------------------------------------------
3064 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3065 -> Seq Scan on p1_c1 p1
3066 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3067 -> Seq Scan on p1_c2 p1
3068 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3069 -> Seq Scan on p1_c3 p1
3070 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3071 -> Seq Scan on p1_c4 p1
3072 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3073 -> Seq Scan on p1_c1_c1 p1
3074 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3075 -> Seq Scan on p1_c1_c2 p1
3076 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3077 -> Seq Scan on p1_c3_c1 p1
3078 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3079 -> Seq Scan on p1_c3_c2 p1
3080 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3084 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3093 -----------------------------------------------------------
3096 -> Index Scan using p1_pkey on p1
3097 Index Cond: ((id >= 50) AND (id <= 51))
3098 Filter: (ctid = '(1,1)'::tid)
3099 -> Index Scan using p1_c1_pkey on p1_c1 p1
3100 Index Cond: ((id >= 50) AND (id <= 51))
3101 Filter: (ctid = '(1,1)'::tid)
3102 -> Index Scan using p1_c2_pkey on p1_c2 p1
3103 Index Cond: ((id >= 50) AND (id <= 51))
3104 Filter: (ctid = '(1,1)'::tid)
3105 -> Index Scan using p1_c3_pkey on p1_c3 p1
3106 Index Cond: ((id >= 50) AND (id <= 51))
3107 Filter: (ctid = '(1,1)'::tid)
3108 -> Index Scan using p1_c4_pkey on p1_c4 p1
3109 Index Cond: ((id >= 50) AND (id <= 51))
3110 Filter: (ctid = '(1,1)'::tid)
3111 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
3112 Index Cond: ((id >= 50) AND (id <= 51))
3113 Filter: (ctid = '(1,1)'::tid)
3114 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
3115 Index Cond: ((id >= 50) AND (id <= 51))
3116 Filter: (ctid = '(1,1)'::tid)
3117 -> Index Scan using p1_c3_c1_pkey on p1_c3_c1 p1
3118 Index Cond: ((id >= 50) AND (id <= 51))
3119 Filter: (ctid = '(1,1)'::tid)
3120 -> Index Scan using p1_c3_c2_pkey on p1_c3_c2 p1
3121 Index Cond: ((id >= 50) AND (id <= 51))
3122 Filter: (ctid = '(1,1)'::tid)
3126 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3135 -------------------------------------------------------------
3138 -> Bitmap Heap Scan on p1
3139 Recheck Cond: ((id >= 50) AND (id <= 51))
3140 Filter: (ctid = '(1,1)'::tid)
3141 -> Bitmap Index Scan on p1_pkey
3142 Index Cond: ((id >= 50) AND (id <= 51))
3143 -> Bitmap Heap Scan on p1_c1 p1
3144 Recheck Cond: ((id >= 50) AND (id <= 51))
3145 Filter: (ctid = '(1,1)'::tid)
3146 -> Bitmap Index Scan on p1_c1_pkey
3147 Index Cond: ((id >= 50) AND (id <= 51))
3148 -> Bitmap Heap Scan on p1_c2 p1
3149 Recheck Cond: ((id >= 50) AND (id <= 51))
3150 Filter: (ctid = '(1,1)'::tid)
3151 -> Bitmap Index Scan on p1_c2_pkey
3152 Index Cond: ((id >= 50) AND (id <= 51))
3153 -> Bitmap Heap Scan on p1_c3 p1
3154 Recheck Cond: ((id >= 50) AND (id <= 51))
3155 Filter: (ctid = '(1,1)'::tid)
3156 -> Bitmap Index Scan on p1_c3_pkey
3157 Index Cond: ((id >= 50) AND (id <= 51))
3158 -> Bitmap Heap Scan on p1_c4 p1
3159 Recheck Cond: ((id >= 50) AND (id <= 51))
3160 Filter: (ctid = '(1,1)'::tid)
3161 -> Bitmap Index Scan on p1_c4_pkey
3162 Index Cond: ((id >= 50) AND (id <= 51))
3163 -> Bitmap Heap Scan on p1_c1_c1 p1
3164 Recheck Cond: ((id >= 50) AND (id <= 51))
3165 Filter: (ctid = '(1,1)'::tid)
3166 -> Bitmap Index Scan on p1_c1_c1_pkey
3167 Index Cond: ((id >= 50) AND (id <= 51))
3168 -> Bitmap Heap Scan on p1_c1_c2 p1
3169 Recheck Cond: ((id >= 50) AND (id <= 51))
3170 Filter: (ctid = '(1,1)'::tid)
3171 -> Bitmap Index Scan on p1_c1_c2_pkey
3172 Index Cond: ((id >= 50) AND (id <= 51))
3173 -> Bitmap Heap Scan on p1_c3_c1 p1
3174 Recheck Cond: ((id >= 50) AND (id <= 51))
3175 Filter: (ctid = '(1,1)'::tid)
3176 -> Bitmap Index Scan on p1_c3_c1_pkey
3177 Index Cond: ((id >= 50) AND (id <= 51))
3178 -> Bitmap Heap Scan on p1_c3_c2 p1
3179 Recheck Cond: ((id >= 50) AND (id <= 51))
3180 Filter: (ctid = '(1,1)'::tid)
3181 -> Bitmap Index Scan on p1_c3_c2_pkey
3182 Index Cond: ((id >= 50) AND (id <= 51))
3186 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3195 ---------------------------------------------------
3199 TID Cond: (ctid = '(1,1)'::tid)
3200 Filter: ((id >= 50) AND (id <= 51))
3201 -> Tid Scan on p1_c1 p1
3202 TID Cond: (ctid = '(1,1)'::tid)
3203 Filter: ((id >= 50) AND (id <= 51))
3204 -> Tid Scan on p1_c2 p1
3205 TID Cond: (ctid = '(1,1)'::tid)
3206 Filter: ((id >= 50) AND (id <= 51))
3207 -> Tid Scan on p1_c3 p1
3208 TID Cond: (ctid = '(1,1)'::tid)
3209 Filter: ((id >= 50) AND (id <= 51))
3210 -> Tid Scan on p1_c4 p1
3211 TID Cond: (ctid = '(1,1)'::tid)
3212 Filter: ((id >= 50) AND (id <= 51))
3213 -> Tid Scan on p1_c1_c1 p1
3214 TID Cond: (ctid = '(1,1)'::tid)
3215 Filter: ((id >= 50) AND (id <= 51))
3216 -> Tid Scan on p1_c1_c2 p1
3217 TID Cond: (ctid = '(1,1)'::tid)
3218 Filter: ((id >= 50) AND (id <= 51))
3219 -> Tid Scan on p1_c3_c1 p1
3220 TID Cond: (ctid = '(1,1)'::tid)
3221 Filter: ((id >= 50) AND (id <= 51))
3222 -> Tid Scan on p1_c3_c2 p1
3223 TID Cond: (ctid = '(1,1)'::tid)
3224 Filter: ((id >= 50) AND (id <= 51))
3227 SET constraint_exclusion TO on;
3229 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3238 -----------------------------------------------------------------------------
3242 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3243 -> Seq Scan on p1_c1 p1
3244 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3245 -> Seq Scan on p1_c1_c1 p1
3246 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3247 -> Seq Scan on p1_c1_c2 p1
3248 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3252 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3261 -----------------------------------------------------------
3264 -> Index Scan using p1_pkey on p1
3265 Index Cond: ((id >= 50) AND (id <= 51))
3266 Filter: (ctid = '(1,1)'::tid)
3267 -> Index Scan using p1_c1_pkey on p1_c1 p1
3268 Index Cond: ((id >= 50) AND (id <= 51))
3269 Filter: (ctid = '(1,1)'::tid)
3270 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
3271 Index Cond: ((id >= 50) AND (id <= 51))
3272 Filter: (ctid = '(1,1)'::tid)
3273 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
3274 Index Cond: ((id >= 50) AND (id <= 51))
3275 Filter: (ctid = '(1,1)'::tid)
3279 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3288 -------------------------------------------------------------
3291 -> Bitmap Heap Scan on p1
3292 Recheck Cond: ((id >= 50) AND (id <= 51))
3293 Filter: (ctid = '(1,1)'::tid)
3294 -> Bitmap Index Scan on p1_pkey
3295 Index Cond: ((id >= 50) AND (id <= 51))
3296 -> Bitmap Heap Scan on p1_c1 p1
3297 Recheck Cond: ((id >= 50) AND (id <= 51))
3298 Filter: (ctid = '(1,1)'::tid)
3299 -> Bitmap Index Scan on p1_c1_pkey
3300 Index Cond: ((id >= 50) AND (id <= 51))
3301 -> Bitmap Heap Scan on p1_c1_c1 p1
3302 Recheck Cond: ((id >= 50) AND (id <= 51))
3303 Filter: (ctid = '(1,1)'::tid)
3304 -> Bitmap Index Scan on p1_c1_c1_pkey
3305 Index Cond: ((id >= 50) AND (id <= 51))
3306 -> Bitmap Heap Scan on p1_c1_c2 p1
3307 Recheck Cond: ((id >= 50) AND (id <= 51))
3308 Filter: (ctid = '(1,1)'::tid)
3309 -> Bitmap Index Scan on p1_c1_c2_pkey
3310 Index Cond: ((id >= 50) AND (id <= 51))
3314 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3323 ---------------------------------------------------
3327 TID Cond: (ctid = '(1,1)'::tid)
3328 Filter: ((id >= 50) AND (id <= 51))
3329 -> Tid Scan on p1_c1 p1
3330 TID Cond: (ctid = '(1,1)'::tid)
3331 Filter: ((id >= 50) AND (id <= 51))
3332 -> Tid Scan on p1_c1_c1 p1
3333 TID Cond: (ctid = '(1,1)'::tid)
3334 Filter: ((id >= 50) AND (id <= 51))
3335 -> Tid Scan on p1_c1_c2 p1
3336 TID Cond: (ctid = '(1,1)'::tid)
3337 Filter: ((id >= 50) AND (id <= 51))
3340 SET constraint_exclusion TO off;
3341 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3343 -----------------------------------------------------------------------------------
3345 Merge Cond: (public.p1.id = t1.id)
3347 Sort Key: public.p1.id
3350 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3351 -> Seq Scan on p1_c1 p1
3352 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3353 -> Seq Scan on p1_c2 p1
3354 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3355 -> Seq Scan on p1_c3 p1
3356 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3357 -> Tid Scan on p1_c4 p1
3358 TID Cond: (ctid = '(1,1)'::tid)
3359 Filter: ((id >= 50) AND (id <= 51))
3360 -> Tid Scan on p1_c1_c1 p1
3361 TID Cond: (ctid = '(1,1)'::tid)
3362 Filter: ((id >= 50) AND (id <= 51))
3363 -> Tid Scan on p1_c1_c2 p1
3364 TID Cond: (ctid = '(1,1)'::tid)
3365 Filter: ((id >= 50) AND (id <= 51))
3366 -> Tid Scan on p1_c3_c1 p1
3367 TID Cond: (ctid = '(1,1)'::tid)
3368 Filter: ((id >= 50) AND (id <= 51))
3369 -> Tid Scan on p1_c3_c2 p1
3370 TID Cond: (ctid = '(1,1)'::tid)
3371 Filter: ((id >= 50) AND (id <= 51))
3372 -> Index Scan using t1_pkey on t1
3373 Index Cond: (id < 10)
3376 SET constraint_exclusion TO on;
3377 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3379 -----------------------------------------------------------------------------------
3381 Merge Cond: (public.p1.id = t1.id)
3383 Sort Key: public.p1.id
3386 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3387 -> Seq Scan on p1_c1 p1
3388 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3389 -> Tid Scan on p1_c1_c1 p1
3390 TID Cond: (ctid = '(1,1)'::tid)
3391 Filter: ((id >= 50) AND (id <= 51))
3392 -> Tid Scan on p1_c1_c2 p1
3393 TID Cond: (ctid = '(1,1)'::tid)
3394 Filter: ((id >= 50) AND (id <= 51))
3395 -> Index Scan using t1_pkey on t1
3396 Index Cond: (id < 10)
3399 SET constraint_exclusion TO off;
3401 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3410 -----------------------------------------------------------------------------------
3412 Merge Cond: (public.p1.id = t1.id)
3414 Sort Key: public.p1.id
3417 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3418 -> Seq Scan on p1_c1 p1
3419 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3420 -> Seq Scan on p1_c2 p1
3421 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3422 -> Seq Scan on p1_c3 p1
3423 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3424 -> Tid Scan on p1_c4 p1
3425 TID Cond: (ctid = '(1,1)'::tid)
3426 Filter: ((id >= 50) AND (id <= 51))
3427 -> Tid Scan on p1_c1_c1 p1
3428 TID Cond: (ctid = '(1,1)'::tid)
3429 Filter: ((id >= 50) AND (id <= 51))
3430 -> Tid Scan on p1_c1_c2 p1
3431 TID Cond: (ctid = '(1,1)'::tid)
3432 Filter: ((id >= 50) AND (id <= 51))
3433 -> Tid Scan on p1_c3_c1 p1
3434 TID Cond: (ctid = '(1,1)'::tid)
3435 Filter: ((id >= 50) AND (id <= 51))
3436 -> Tid Scan on p1_c3_c2 p1
3437 TID Cond: (ctid = '(1,1)'::tid)
3438 Filter: ((id >= 50) AND (id <= 51))
3439 -> Index Scan using t1_pkey on t1
3440 Index Cond: (id < 10)
3444 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3453 -----------------------------------------------------------------------------------
3455 Merge Cond: (public.p1.id = t1.id)
3457 Sort Key: public.p1.id
3460 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3461 -> Seq Scan on p1_c1 p1
3462 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3463 -> Seq Scan on p1_c2 p1
3464 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3465 -> Seq Scan on p1_c3 p1
3466 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3467 -> Tid Scan on p1_c4 p1
3468 TID Cond: (ctid = '(1,1)'::tid)
3469 Filter: ((id >= 50) AND (id <= 51))
3470 -> Tid Scan on p1_c1_c1 p1
3471 TID Cond: (ctid = '(1,1)'::tid)
3472 Filter: ((id >= 50) AND (id <= 51))
3473 -> Tid Scan on p1_c1_c2 p1
3474 TID Cond: (ctid = '(1,1)'::tid)
3475 Filter: ((id >= 50) AND (id <= 51))
3476 -> Tid Scan on p1_c3_c1 p1
3477 TID Cond: (ctid = '(1,1)'::tid)
3478 Filter: ((id >= 50) AND (id <= 51))
3479 -> Tid Scan on p1_c3_c2 p1
3480 TID Cond: (ctid = '(1,1)'::tid)
3481 Filter: ((id >= 50) AND (id <= 51))
3482 -> Index Scan using t1_pkey on t1
3483 Index Cond: (id < 10)
3487 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3496 -----------------------------------------------------------------------------------
3498 Merge Cond: (public.p1.id = t1.id)
3500 Sort Key: public.p1.id
3503 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3504 -> Seq Scan on p1_c1 p1
3505 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3506 -> Seq Scan on p1_c2 p1
3507 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3508 -> Seq Scan on p1_c3 p1
3509 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3510 -> Tid Scan on p1_c4 p1
3511 TID Cond: (ctid = '(1,1)'::tid)
3512 Filter: ((id >= 50) AND (id <= 51))
3513 -> Tid Scan on p1_c1_c1 p1
3514 TID Cond: (ctid = '(1,1)'::tid)
3515 Filter: ((id >= 50) AND (id <= 51))
3516 -> Tid Scan on p1_c1_c2 p1
3517 TID Cond: (ctid = '(1,1)'::tid)
3518 Filter: ((id >= 50) AND (id <= 51))
3519 -> Tid Scan on p1_c3_c1 p1
3520 TID Cond: (ctid = '(1,1)'::tid)
3521 Filter: ((id >= 50) AND (id <= 51))
3522 -> Tid Scan on p1_c3_c2 p1
3523 TID Cond: (ctid = '(1,1)'::tid)
3524 Filter: ((id >= 50) AND (id <= 51))
3525 -> Index Scan using t1_pkey on t1
3526 Index Cond: (id < 10)
3530 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3539 -----------------------------------------------------------------------------------
3541 Merge Cond: (public.p1.id = t1.id)
3543 Sort Key: public.p1.id
3546 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3547 -> Seq Scan on p1_c1 p1
3548 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3549 -> Seq Scan on p1_c2 p1
3550 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3551 -> Seq Scan on p1_c3 p1
3552 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3553 -> Tid Scan on p1_c4 p1
3554 TID Cond: (ctid = '(1,1)'::tid)
3555 Filter: ((id >= 50) AND (id <= 51))
3556 -> Tid Scan on p1_c1_c1 p1
3557 TID Cond: (ctid = '(1,1)'::tid)
3558 Filter: ((id >= 50) AND (id <= 51))
3559 -> Tid Scan on p1_c1_c2 p1
3560 TID Cond: (ctid = '(1,1)'::tid)
3561 Filter: ((id >= 50) AND (id <= 51))
3562 -> Tid Scan on p1_c3_c1 p1
3563 TID Cond: (ctid = '(1,1)'::tid)
3564 Filter: ((id >= 50) AND (id <= 51))
3565 -> Tid Scan on p1_c3_c2 p1
3566 TID Cond: (ctid = '(1,1)'::tid)
3567 Filter: ((id >= 50) AND (id <= 51))
3568 -> Index Scan using t1_pkey on t1
3569 Index Cond: (id < 10)
3572 /*+NestLoop(p1 t1)*/
3573 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3582 -----------------------------------------------------------------------------
3584 Join Filter: (public.p1.id = t1.id)
3587 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3588 -> Seq Scan on p1_c1 p1
3589 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3590 -> Seq Scan on p1_c2 p1
3591 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3592 -> Seq Scan on p1_c3 p1
3593 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3594 -> Tid Scan on p1_c4 p1
3595 TID Cond: (ctid = '(1,1)'::tid)
3596 Filter: ((id >= 50) AND (id <= 51))
3597 -> Tid Scan on p1_c1_c1 p1
3598 TID Cond: (ctid = '(1,1)'::tid)
3599 Filter: ((id >= 50) AND (id <= 51))
3600 -> Tid Scan on p1_c1_c2 p1
3601 TID Cond: (ctid = '(1,1)'::tid)
3602 Filter: ((id >= 50) AND (id <= 51))
3603 -> Tid Scan on p1_c3_c1 p1
3604 TID Cond: (ctid = '(1,1)'::tid)
3605 Filter: ((id >= 50) AND (id <= 51))
3606 -> Tid Scan on p1_c3_c2 p1
3607 TID Cond: (ctid = '(1,1)'::tid)
3608 Filter: ((id >= 50) AND (id <= 51))
3610 -> Index Scan using t1_pkey on t1
3611 Index Cond: (id < 10)
3614 /*+MergeJoin(p1 t1)*/
3615 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3624 -----------------------------------------------------------------------------------
3626 Merge Cond: (public.p1.id = t1.id)
3628 Sort Key: public.p1.id
3631 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3632 -> Seq Scan on p1_c1 p1
3633 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3634 -> Seq Scan on p1_c2 p1
3635 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3636 -> Seq Scan on p1_c3 p1
3637 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3638 -> Tid Scan on p1_c4 p1
3639 TID Cond: (ctid = '(1,1)'::tid)
3640 Filter: ((id >= 50) AND (id <= 51))
3641 -> Tid Scan on p1_c1_c1 p1
3642 TID Cond: (ctid = '(1,1)'::tid)
3643 Filter: ((id >= 50) AND (id <= 51))
3644 -> Tid Scan on p1_c1_c2 p1
3645 TID Cond: (ctid = '(1,1)'::tid)
3646 Filter: ((id >= 50) AND (id <= 51))
3647 -> Tid Scan on p1_c3_c1 p1
3648 TID Cond: (ctid = '(1,1)'::tid)
3649 Filter: ((id >= 50) AND (id <= 51))
3650 -> Tid Scan on p1_c3_c2 p1
3651 TID Cond: (ctid = '(1,1)'::tid)
3652 Filter: ((id >= 50) AND (id <= 51))
3653 -> Index Scan using t1_pkey on t1
3654 Index Cond: (id < 10)
3657 /*+HashJoin(p1 t1)*/
3658 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3667 -----------------------------------------------------------------------------
3669 Hash Cond: (public.p1.id = t1.id)
3672 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3673 -> Seq Scan on p1_c1 p1
3674 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3675 -> Seq Scan on p1_c2 p1
3676 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3677 -> Seq Scan on p1_c3 p1
3678 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3679 -> Tid Scan on p1_c4 p1
3680 TID Cond: (ctid = '(1,1)'::tid)
3681 Filter: ((id >= 50) AND (id <= 51))
3682 -> Tid Scan on p1_c1_c1 p1
3683 TID Cond: (ctid = '(1,1)'::tid)
3684 Filter: ((id >= 50) AND (id <= 51))
3685 -> Tid Scan on p1_c1_c2 p1
3686 TID Cond: (ctid = '(1,1)'::tid)
3687 Filter: ((id >= 50) AND (id <= 51))
3688 -> Tid Scan on p1_c3_c1 p1
3689 TID Cond: (ctid = '(1,1)'::tid)
3690 Filter: ((id >= 50) AND (id <= 51))
3691 -> Tid Scan on p1_c3_c2 p1
3692 TID Cond: (ctid = '(1,1)'::tid)
3693 Filter: ((id >= 50) AND (id <= 51))
3695 -> Index Scan using t1_pkey on t1
3696 Index Cond: (id < 10)
3699 SET constraint_exclusion TO on;
3701 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3710 -----------------------------------------------------------------------------------
3712 Merge Cond: (public.p1.id = t1.id)
3714 Sort Key: public.p1.id
3717 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3718 -> Seq Scan on p1_c1 p1
3719 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3720 -> Tid Scan on p1_c1_c1 p1
3721 TID Cond: (ctid = '(1,1)'::tid)
3722 Filter: ((id >= 50) AND (id <= 51))
3723 -> Tid Scan on p1_c1_c2 p1
3724 TID Cond: (ctid = '(1,1)'::tid)
3725 Filter: ((id >= 50) AND (id <= 51))
3726 -> Index Scan using t1_pkey on t1
3727 Index Cond: (id < 10)
3731 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3740 -----------------------------------------------------------------------------------
3742 Merge Cond: (public.p1.id = t1.id)
3744 Sort Key: public.p1.id
3747 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3748 -> Seq Scan on p1_c1 p1
3749 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3750 -> Tid Scan on p1_c1_c1 p1
3751 TID Cond: (ctid = '(1,1)'::tid)
3752 Filter: ((id >= 50) AND (id <= 51))
3753 -> Tid Scan on p1_c1_c2 p1
3754 TID Cond: (ctid = '(1,1)'::tid)
3755 Filter: ((id >= 50) AND (id <= 51))
3756 -> Index Scan using t1_pkey on t1
3757 Index Cond: (id < 10)
3761 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3770 -----------------------------------------------------------------------------------
3772 Merge Cond: (public.p1.id = t1.id)
3774 Sort Key: public.p1.id
3777 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3778 -> Seq Scan on p1_c1 p1
3779 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3780 -> Tid Scan on p1_c1_c1 p1
3781 TID Cond: (ctid = '(1,1)'::tid)
3782 Filter: ((id >= 50) AND (id <= 51))
3783 -> Tid Scan on p1_c1_c2 p1
3784 TID Cond: (ctid = '(1,1)'::tid)
3785 Filter: ((id >= 50) AND (id <= 51))
3786 -> Index Scan using t1_pkey on t1
3787 Index Cond: (id < 10)
3791 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3800 -----------------------------------------------------------------------------------
3802 Merge Cond: (public.p1.id = t1.id)
3804 Sort Key: public.p1.id
3807 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3808 -> Seq Scan on p1_c1 p1
3809 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3810 -> Tid Scan on p1_c1_c1 p1
3811 TID Cond: (ctid = '(1,1)'::tid)
3812 Filter: ((id >= 50) AND (id <= 51))
3813 -> Tid Scan on p1_c1_c2 p1
3814 TID Cond: (ctid = '(1,1)'::tid)
3815 Filter: ((id >= 50) AND (id <= 51))
3816 -> Index Scan using t1_pkey on t1
3817 Index Cond: (id < 10)
3820 /*+NestLoop(p1 t1)*/
3821 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3830 -----------------------------------------------------------------------------------
3832 Join Filter: (public.p1.id = t1.id)
3833 -> Index Scan using t1_pkey on t1
3834 Index Cond: (id < 10)
3838 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3839 -> Seq Scan on p1_c1 p1
3840 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3841 -> Tid Scan on p1_c1_c1 p1
3842 TID Cond: (ctid = '(1,1)'::tid)
3843 Filter: ((id >= 50) AND (id <= 51))
3844 -> Tid Scan on p1_c1_c2 p1
3845 TID Cond: (ctid = '(1,1)'::tid)
3846 Filter: ((id >= 50) AND (id <= 51))
3849 /*+MergeJoin(p1 t1)*/
3850 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3859 -----------------------------------------------------------------------------------
3861 Merge Cond: (public.p1.id = t1.id)
3863 Sort Key: public.p1.id
3866 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3867 -> Seq Scan on p1_c1 p1
3868 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3869 -> Tid Scan on p1_c1_c1 p1
3870 TID Cond: (ctid = '(1,1)'::tid)
3871 Filter: ((id >= 50) AND (id <= 51))
3872 -> Tid Scan on p1_c1_c2 p1
3873 TID Cond: (ctid = '(1,1)'::tid)
3874 Filter: ((id >= 50) AND (id <= 51))
3875 -> Index Scan using t1_pkey on t1
3876 Index Cond: (id < 10)
3879 /*+HashJoin(p1 t1)*/
3880 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3889 -----------------------------------------------------------------------------------
3891 Hash Cond: (t1.id = public.p1.id)
3892 -> Index Scan using t1_pkey on t1
3893 Index Cond: (id < 10)
3897 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3898 -> Seq Scan on p1_c1 p1
3899 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3900 -> Tid Scan on p1_c1_c1 p1
3901 TID Cond: (ctid = '(1,1)'::tid)
3902 Filter: ((id >= 50) AND (id <= 51))
3903 -> Tid Scan on p1_c1_c2 p1
3904 TID Cond: (ctid = '(1,1)'::tid)
3905 Filter: ((id >= 50) AND (id <= 51))
3908 SET constraint_exclusion TO off;
3909 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3911 -----------------------------------------------------------------
3913 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3916 SET constraint_exclusion TO on;
3917 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3919 -----------------------------------------------------------------
3921 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3924 SET constraint_exclusion TO off;
3926 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3935 -----------------------------------------------------------------
3937 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3941 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3950 -------------------------------------------
3951 Index Scan using p1_pkey on p1
3952 Index Cond: ((id >= 50) AND (id <= 51))
3953 Filter: (ctid = '(1,1)'::tid)
3957 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3966 -------------------------------------------------
3967 Bitmap Heap Scan on p1
3968 Recheck Cond: ((id >= 50) AND (id <= 51))
3969 Filter: (ctid = '(1,1)'::tid)
3970 -> Bitmap Index Scan on p1_pkey
3971 Index Cond: ((id >= 50) AND (id <= 51))
3975 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3984 ---------------------------------------
3986 TID Cond: (ctid = '(1,1)'::tid)
3987 Filter: ((id >= 50) AND (id <= 51))
3990 /*+NestLoop(p1 t1)*/
3991 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4000 -----------------------------------------------------------------------
4003 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4004 -> Index Scan using t1_pkey on t1
4005 Index Cond: ((id < 10) AND (id = p1.id))
4008 /*+MergeJoin(p1 t1)*/
4009 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4018 -----------------------------------------------------------------------------
4020 Merge Cond: (p1.id = t1.id)
4024 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4025 -> Index Scan using t1_pkey on t1
4026 Index Cond: (id < 10)
4029 /*+HashJoin(p1 t1)*/
4030 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4039 -----------------------------------------------------------------------------
4041 Hash Cond: (t1.id = p1.id)
4042 -> Index Scan using t1_pkey on t1
4043 Index Cond: (id < 10)
4046 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4049 SET constraint_exclusion TO on;
4051 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4060 -----------------------------------------------------------------
4062 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4066 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4075 -------------------------------------------
4076 Index Scan using p1_pkey on p1
4077 Index Cond: ((id >= 50) AND (id <= 51))
4078 Filter: (ctid = '(1,1)'::tid)
4082 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4091 -------------------------------------------------
4092 Bitmap Heap Scan on p1
4093 Recheck Cond: ((id >= 50) AND (id <= 51))
4094 Filter: (ctid = '(1,1)'::tid)
4095 -> Bitmap Index Scan on p1_pkey
4096 Index Cond: ((id >= 50) AND (id <= 51))
4100 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4109 ---------------------------------------
4111 TID Cond: (ctid = '(1,1)'::tid)
4112 Filter: ((id >= 50) AND (id <= 51))
4115 /*+NestLoop(p1 t1)*/
4116 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4125 -----------------------------------------------------------------------
4128 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4129 -> Index Scan using t1_pkey on t1
4130 Index Cond: ((id < 10) AND (id = p1.id))
4133 /*+MergeJoin(p1 t1)*/
4134 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4143 -----------------------------------------------------------------------------
4145 Merge Cond: (p1.id = t1.id)
4149 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4150 -> Index Scan using t1_pkey on t1
4151 Index Cond: (id < 10)
4154 /*+HashJoin(p1 t1)*/
4155 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4164 -----------------------------------------------------------------------------
4166 Hash Cond: (t1.id = p1.id)
4167 -> Index Scan using t1_pkey on t1
4168 Index Cond: (id < 10)
4171 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4174 SET constraint_exclusion TO off;
4175 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4177 -----------------------------------------------------------------------
4180 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4181 -> Index Scan using t1_pkey on t1
4182 Index Cond: ((id < 10) AND (id = p1.id))
4185 SET constraint_exclusion TO on;
4186 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4188 -----------------------------------------------------------------------
4191 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4192 -> Index Scan using t1_pkey on t1
4193 Index Cond: ((id < 10) AND (id = p1.id))
4196 SET constraint_exclusion TO off;
4198 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4207 -----------------------------------------------------------------------
4210 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4211 -> Index Scan using t1_pkey on t1
4212 Index Cond: ((id < 10) AND (id = p1.id))
4216 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4225 --------------------------------------------------
4227 -> Index Scan using p1_pkey on p1
4228 Index Cond: ((id >= 50) AND (id <= 51))
4229 Filter: (ctid = '(1,1)'::tid)
4230 -> Index Scan using t1_pkey on t1
4231 Index Cond: ((id < 10) AND (id = p1.id))
4235 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4244 -------------------------------------------------------
4246 -> Bitmap Heap Scan on p1
4247 Recheck Cond: ((id >= 50) AND (id <= 51))
4248 Filter: (ctid = '(1,1)'::tid)
4249 -> Bitmap Index Scan on p1_pkey
4250 Index Cond: ((id >= 50) AND (id <= 51))
4251 -> Index Scan using t1_pkey on t1
4252 Index Cond: ((id < 10) AND (id = p1.id))
4256 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4265 --------------------------------------------------
4268 TID Cond: (ctid = '(1,1)'::tid)
4269 Filter: ((id >= 50) AND (id <= 51))
4270 -> Index Scan using t1_pkey on t1
4271 Index Cond: ((id < 10) AND (id = p1.id))
4274 SET constraint_exclusion TO on;
4276 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4285 -----------------------------------------------------------------------
4288 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4289 -> Index Scan using t1_pkey on t1
4290 Index Cond: ((id < 10) AND (id = p1.id))
4294 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4303 --------------------------------------------------
4305 -> Index Scan using p1_pkey on p1
4306 Index Cond: ((id >= 50) AND (id <= 51))
4307 Filter: (ctid = '(1,1)'::tid)
4308 -> Index Scan using t1_pkey on t1
4309 Index Cond: ((id < 10) AND (id = p1.id))
4313 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4322 -------------------------------------------------------
4324 -> Bitmap Heap Scan on p1
4325 Recheck Cond: ((id >= 50) AND (id <= 51))
4326 Filter: (ctid = '(1,1)'::tid)
4327 -> Bitmap Index Scan on p1_pkey
4328 Index Cond: ((id >= 50) AND (id <= 51))
4329 -> Index Scan using t1_pkey on t1
4330 Index Cond: ((id < 10) AND (id = p1.id))
4334 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4343 --------------------------------------------------
4346 TID Cond: (ctid = '(1,1)'::tid)
4347 Filter: ((id >= 50) AND (id <= 51))
4348 -> Index Scan using t1_pkey on t1
4349 Index Cond: ((id < 10) AND (id = p1.id))
4353 /*+SeqScan("""t1 ) ")IndexScan("t 2 """)HashJoin("""t1 ) "T3"t 2 """)Leading("""t1 ) "T3"t 2 """)Set(application_name"a a a"" a A")*/
4354 EXPLAIN (COSTS false) SELECT * FROM t1 """t1 ) ", t2 "t 2 """, t3 "T3" WHERE """t1 ) ".id = "t 2 """.id AND """t1 ) ".id = "T3".id;
4359 HashJoin("""t1 ) " T3 "t 2 """)
4360 Leading("""t1 ) " T3 "t 2 """)
4361 Set(application_name "a a a"" a A")
4367 ---------------------------------------------------------
4369 Hash Cond: ("t 2 """.id = """t1 ) ".id)
4370 -> Index Scan using t2_pkey on t2 "t 2 """
4373 Hash Cond: ("""t1 ) ".id = "T3".id)
4374 -> Seq Scan on t1 """t1 ) "
4376 -> Seq Scan on t3 "T3"
4379 -- duplicate hint test
4380 /*+SeqScan(t1)SeqScan(t2)IndexScan(t1)IndexScan(t2)BitmapScan(t1)BitmapScan(t2)TidScan(t1)TidScan(t2)HashJoin(t1 t2)NestLoop(t2 t1)MergeJoin(t1 t2)Leading(t1 t2)Leading(t2 t1)Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)*/
4381 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
4382 INFO: hint syntax error at or near "SeqScan(t1)SeqScan(t2)IndexScan(t1)IndexScan(t2)BitmapScan(t1)BitmapScan(t2)TidScan(t1)TidScan(t2)HashJoin(t1 t2)NestLoop(t2 t1)MergeJoin(t1 t2)Leading(t1 t2)Leading(t2 t1)Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)"
4383 DETAIL: Conflict scan method hint.
4384 INFO: hint syntax error at or near "IndexScan(t1)IndexScan(t2)BitmapScan(t1)BitmapScan(t2)TidScan(t1)TidScan(t2)HashJoin(t1 t2)NestLoop(t2 t1)MergeJoin(t1 t2)Leading(t1 t2)Leading(t2 t1)Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)"
4385 DETAIL: Conflict scan method hint.
4386 INFO: hint syntax error at or near "BitmapScan(t1)BitmapScan(t2)TidScan(t1)TidScan(t2)HashJoin(t1 t2)NestLoop(t2 t1)MergeJoin(t1 t2)Leading(t1 t2)Leading(t2 t1)Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)"
4387 DETAIL: Conflict scan method hint.
4388 INFO: hint syntax error at or near "SeqScan(t2)IndexScan(t1)IndexScan(t2)BitmapScan(t1)BitmapScan(t2)TidScan(t1)TidScan(t2)HashJoin(t1 t2)NestLoop(t2 t1)MergeJoin(t1 t2)Leading(t1 t2)Leading(t2 t1)Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)"
4389 DETAIL: Conflict scan method hint.
4390 INFO: hint syntax error at or near "IndexScan(t2)BitmapScan(t1)BitmapScan(t2)TidScan(t1)TidScan(t2)HashJoin(t1 t2)NestLoop(t2 t1)MergeJoin(t1 t2)Leading(t1 t2)Leading(t2 t1)Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)"
4391 DETAIL: Conflict scan method hint.
4392 INFO: hint syntax error at or near "BitmapScan(t2)TidScan(t1)TidScan(t2)HashJoin(t1 t2)NestLoop(t2 t1)MergeJoin(t1 t2)Leading(t1 t2)Leading(t2 t1)Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)"
4393 DETAIL: Conflict scan method hint.
4394 INFO: hint syntax error at or near "HashJoin(t1 t2)NestLoop(t2 t1)MergeJoin(t1 t2)Leading(t1 t2)Leading(t2 t1)Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)"
4395 DETAIL: Conflict join method hint.
4396 INFO: hint syntax error at or near "NestLoop(t2 t1)MergeJoin(t1 t2)Leading(t1 t2)Leading(t2 t1)Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)"
4397 DETAIL: Conflict join method hint.
4398 INFO: hint syntax error at or near "Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)"
4399 DETAIL: Conflict set hint.
4400 INFO: hint syntax error at or near "Leading(t1 t2)Leading(t2 t1)Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)"
4401 DETAIL: Conflict leading hint.
4408 Set(enable_mergejoin on)
4409 Set(enable_seqscan on)
4421 Set(enable_seqscan off)
4425 -----------------------------------------------
4427 Merge Cond: (t1.id = t2.id)
4431 TID Cond: (ctid = '(1,1)'::tid)
4435 TID Cond: (ctid = '(1,1)'::tid)
4438 -- sub query Leading hint test
4439 SET from_collapse_limit TO 100;
4440 SET geqo_threshold TO 100;
4441 EXPLAIN (COSTS false)
4443 SELECT max(t1_5.id) FROM t1 t1_5, t2 t2_5, t3 t3_5 WHERE t1_5.id = t2_5.id AND t2_5.id = t3_5.id
4446 SELECT max(t1_2.id) FROM t1 t1_2, t2 t2_2, t3 t3_2 WHERE t1_2.id = t2_2.id AND t2_2.id = t3_2.id
4447 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4448 SELECT t1_3.id FROM t1 t1_3, t2 t2_3, t3 t3_3 WHERE t1_3.id = t2_3.id AND t2_3.id = t3_3.id
4449 ) v1_1(id), c1_1 WHERE t1_1.id = t2_1.id AND t2_1.id = t3_1.id AND t2_1.id = v1_1.id AND v1_1.id = c1_1.id AND t1_1.id = (
4450 SELECT max(t1_4.id) FROM t1 t1_4, t2 t2_4, t3 t3_4 WHERE t1_4.id = t2_4.id AND t2_4.id = t3_4.id
4453 -------------------------------------------------------------------------
4458 Merge Cond: (t1_5.id = t3_5.id)
4460 Merge Cond: (t1_5.id = t2_5.id)
4461 -> Index Scan using t1_pkey on t1 t1_5
4462 -> Index Scan using t2_pkey on t2 t2_5
4465 -> Seq Scan on t3 t3_5
4466 InitPlan 2 (returns $1)
4469 Merge Cond: (t1_2.id = t3_2.id)
4471 Merge Cond: (t1_2.id = t2_2.id)
4472 -> Index Scan using t1_pkey on t1 t1_2
4473 -> Index Scan using t2_pkey on t2 t2_2
4476 -> Seq Scan on t3 t3_2
4477 InitPlan 3 (returns $2)
4480 Merge Cond: (t1_4.id = t3_4.id)
4482 Merge Cond: (t1_4.id = t2_4.id)
4483 -> Index Scan using t1_pkey on t1 t1_4
4484 -> Index Scan using t2_pkey on t2 t2_4
4487 -> Seq Scan on t3 t3_4
4493 -> Index Scan using t1_pkey on t1 t1_1
4494 Index Cond: (id = $2)
4495 -> Seq Scan on t3 t3_1
4497 -> Index Scan using t2_pkey on t2 t2_1
4498 Index Cond: (id = $2)
4499 -> Index Scan using t1_pkey on t1 t1_3
4500 Index Cond: (id = $2)
4501 -> Index Scan using t2_pkey on t2 t2_3
4502 Index Cond: (id = $2)
4503 -> Seq Scan on t3 t3_3
4509 /*+HashJoin(t1_1 t3_1)MergeJoin(t1_3 t3_3)NestLoop(t1_2 t2_2)NestLoop(t1_4 t2_4)NestLoop(t1_5 t2_5)*/
4510 EXPLAIN (COSTS false)
4512 SELECT max(t1_5.id) FROM t1 t1_5, t2 t2_5, t3 t3_5 WHERE t1_5.id = t2_5.id AND t2_5.id = t3_5.id
4515 SELECT max(t1_2.id) FROM t1 t1_2, t2 t2_2, t3 t3_2 WHERE t1_2.id = t2_2.id AND t2_2.id = t3_2.id
4516 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4517 SELECT t1_3.id FROM t1 t1_3, t2 t2_3, t3 t3_3 WHERE t1_3.id = t2_3.id AND t2_3.id = t3_3.id
4518 ) v1_1(id), c1_1 WHERE t1_1.id = t2_1.id AND t2_1.id = t3_1.id AND t2_1.id = v1_1.id AND v1_1.id = c1_1.id AND t1_1.id = (
4519 SELECT max(t1_4.id) FROM t1 t1_4, t2 t2_4, t3 t3_4 WHERE t1_4.id = t2_4.id AND t2_4.id = t3_4.id
4525 MergeJoin(t1_3 t3_3)
4533 -------------------------------------------------------------------------
4538 Merge Cond: (t1_5.id = t3_5.id)
4540 -> Index Scan using t2_pkey on t2 t2_5
4541 -> Index Scan using t1_pkey on t1 t1_5
4542 Index Cond: (id = t2_5.id)
4545 -> Seq Scan on t3 t3_5
4546 InitPlan 2 (returns $2)
4549 Merge Cond: (t1_2.id = t3_2.id)
4551 -> Index Scan using t2_pkey on t2 t2_2
4552 -> Index Scan using t1_pkey on t1 t1_2
4553 Index Cond: (id = t2_2.id)
4556 -> Seq Scan on t3 t3_2
4557 InitPlan 3 (returns $3)
4560 Merge Cond: (t1_4.id = t3_4.id)
4562 -> Index Scan using t2_pkey on t2 t2_4
4563 -> Index Scan using t1_pkey on t1 t1_4
4564 Index Cond: (id = t2_4.id)
4567 -> Seq Scan on t3 t3_4
4573 -> Index Scan using t2_pkey on t2 t2_1
4574 Index Cond: (id = $3)
4575 -> Seq Scan on t3 t3_1
4577 -> Index Scan using t1_pkey on t1 t1_1
4578 Index Cond: (id = $3)
4579 -> Index Scan using t1_pkey on t1 t1_3
4580 Index Cond: (id = $3)
4581 -> Index Scan using t2_pkey on t2 t2_3
4582 Index Cond: (id = $3)
4583 -> Seq Scan on t3 t3_3
4589 /*+HashJoin(t1_1 t3_1)MergeJoin(t1_3 t3_3)NestLoop(t1_2 t2_2)NestLoop(t1_4 t2_4)NestLoop(t1_5 t2_5)Leading(a t1_1 t1_2 t1_4 t1_5)*/
4590 EXPLAIN (COSTS false)
4592 SELECT max(t1_5.id) FROM t1 t1_5, t2 t2_5, t3 t3_5 WHERE t1_5.id = t2_5.id AND t2_5.id = t3_5.id
4595 SELECT max(t1_2.id) FROM t1 t1_2, t2 t2_2, t3 t3_2 WHERE t1_2.id = t2_2.id AND t2_2.id = t3_2.id
4596 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4597 SELECT t1_3.id FROM t1 t1_3, t2 t2_3, t3 t3_3 WHERE t1_3.id = t2_3.id AND t2_3.id = t3_3.id
4598 ) v1_1(id), c1_1 WHERE t1_1.id = t2_1.id AND t2_1.id = t3_1.id AND t2_1.id = v1_1.id AND v1_1.id = c1_1.id AND t1_1.id = (
4599 SELECT max(t1_4.id) FROM t1 t1_4, t2 t2_4, t3 t3_4 WHERE t1_4.id = t2_4.id AND t2_4.id = t3_4.id
4605 MergeJoin(t1_3 t3_3)
4609 Leading(a t1_1 t1_2 t1_4 t1_5)
4614 -------------------------------------------------------------------------
4619 Merge Cond: (t1_5.id = t3_5.id)
4621 -> Index Scan using t2_pkey on t2 t2_5
4622 -> Index Scan using t1_pkey on t1 t1_5
4623 Index Cond: (id = t2_5.id)
4626 -> Seq Scan on t3 t3_5
4627 InitPlan 2 (returns $2)
4630 Merge Cond: (t1_2.id = t3_2.id)
4632 -> Index Scan using t2_pkey on t2 t2_2
4633 -> Index Scan using t1_pkey on t1 t1_2
4634 Index Cond: (id = t2_2.id)
4637 -> Seq Scan on t3 t3_2
4638 InitPlan 3 (returns $3)
4641 Merge Cond: (t1_4.id = t3_4.id)
4643 -> Index Scan using t2_pkey on t2 t2_4
4644 -> Index Scan using t1_pkey on t1 t1_4
4645 Index Cond: (id = t2_4.id)
4648 -> Seq Scan on t3 t3_4
4654 -> Index Scan using t2_pkey on t2 t2_1
4655 Index Cond: (id = $3)
4656 -> Seq Scan on t3 t3_1
4658 -> Index Scan using t1_pkey on t1 t1_1
4659 Index Cond: (id = $3)
4660 -> Index Scan using t1_pkey on t1 t1_3
4661 Index Cond: (id = $3)
4662 -> Index Scan using t2_pkey on t2 t2_3
4663 Index Cond: (id = $3)
4664 -> Seq Scan on t3 t3_3
4670 /*+HashJoin(t1_1 t3_1)MergeJoin(t1_3 t3_3)NestLoop(t1_2 t2_2)NestLoop(t1_4 t2_4)NestLoop(t1_5 t2_5)Leading(a t3_2 t3_5 t2_2 c1_1 t3_4 t3_3 t2_3 t2_4 t1_3 t2_5 t1_2 t3_1 t1_4 t2_1 t1_5 t1_1)*/
4671 EXPLAIN (COSTS false)
4673 SELECT max(t1_5.id) FROM t1 t1_5, t2 t2_5, t3 t3_5 WHERE t1_5.id = t2_5.id AND t2_5.id = t3_5.id
4676 SELECT max(t1_2.id) FROM t1 t1_2, t2 t2_2, t3 t3_2 WHERE t1_2.id = t2_2.id AND t2_2.id = t3_2.id
4677 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4678 SELECT t1_3.id FROM t1 t1_3, t2 t2_3, t3 t3_3 WHERE t1_3.id = t2_3.id AND t2_3.id = t3_3.id
4679 ) v1_1(id), c1_1 WHERE t1_1.id = t2_1.id AND t2_1.id = t3_1.id AND t2_1.id = v1_1.id AND v1_1.id = c1_1.id AND t1_1.id = (
4680 SELECT max(t1_4.id) FROM t1 t1_4, t2 t2_4, t3 t3_4 WHERE t1_4.id = t2_4.id AND t2_4.id = t3_4.id
4686 MergeJoin(t1_3 t3_3)
4690 Leading(a t3_2 t3_5 t2_2 c1_1 t3_4 t3_3 t2_3 t2_4 t1_3 t2_5 t1_2 t3_1 t1_4 t2_1 t1_5 t1_1)
4695 -------------------------------------------------------------------------
4700 Merge Cond: (t1_5.id = t3_5.id)
4702 -> Index Scan using t2_pkey on t2 t2_5
4703 -> Index Scan using t1_pkey on t1 t1_5
4704 Index Cond: (id = t2_5.id)
4707 -> Seq Scan on t3 t3_5
4708 InitPlan 2 (returns $2)
4711 Merge Cond: (t1_2.id = t3_2.id)
4713 -> Index Scan using t2_pkey on t2 t2_2
4714 -> Index Scan using t1_pkey on t1 t1_2
4715 Index Cond: (id = t2_2.id)
4718 -> Seq Scan on t3 t3_2
4719 InitPlan 3 (returns $3)
4722 Merge Cond: (t1_4.id = t3_4.id)
4724 -> Index Scan using t2_pkey on t2 t2_4
4725 -> Index Scan using t1_pkey on t1 t1_4
4726 Index Cond: (id = t2_4.id)
4729 -> Seq Scan on t3 t3_4
4735 -> Index Scan using t2_pkey on t2 t2_1
4736 Index Cond: (id = $3)
4737 -> Seq Scan on t3 t3_1
4739 -> Index Scan using t1_pkey on t1 t1_1
4740 Index Cond: (id = $3)
4741 -> Index Scan using t1_pkey on t1 t1_3
4742 Index Cond: (id = $3)
4743 -> Index Scan using t2_pkey on t2 t2_3
4744 Index Cond: (id = $3)
4745 -> Seq Scan on t3 t3_3
4751 /*+HashJoin(t1_1 t3_1)MergeJoin(t1_3 t3_3)NestLoop(t1_2 t2_2)NestLoop(t1_4 t2_4)NestLoop(t1_5 t2_5)Leading(t3_5 t2_5 t1_5)Leading(t3_2 t2_2 t1_2)Leading(t3_4 t2_4 t1_4)Leading(c1_1 t3_3 t2_3 t1_3 t3_1 t2_1 t1_1)*/
4752 EXPLAIN (COSTS false)
4754 SELECT max(t1_5.id) FROM t1 t1_5, t2 t2_5, t3 t3_5 WHERE t1_5.id = t2_5.id AND t2_5.id = t3_5.id
4757 SELECT max(t1_2.id) FROM t1 t1_2, t2 t2_2, t3 t3_2 WHERE t1_2.id = t2_2.id AND t2_2.id = t3_2.id
4758 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4759 SELECT t1_3.id FROM t1 t1_3, t2 t2_3, t3 t3_3 WHERE t1_3.id = t2_3.id AND t2_3.id = t3_3.id
4760 ) v1_1(id), c1_1 WHERE t1_1.id = t2_1.id AND t2_1.id = t3_1.id AND t2_1.id = v1_1.id AND v1_1.id = c1_1.id AND t1_1.id = (
4761 SELECT max(t1_4.id) FROM t1 t1_4, t2 t2_4, t3 t3_4 WHERE t1_4.id = t2_4.id AND t2_4.id = t3_4.id
4765 Leading(t3_5 t2_5 t1_5)
4766 Leading(t3_2 t2_2 t1_2)
4767 Leading(t3_4 t2_4 t1_4)
4768 Leading(c1_1 t3_3 t2_3 t1_3 t3_1 t2_1 t1_1)
4772 MergeJoin(t1_3 t3_3)
4779 -------------------------------------------------------------------
4784 Merge Cond: (t2_5.id = t1_5.id)
4786 Merge Cond: (t2_5.id = t3_5.id)
4787 -> Index Scan using t2_pkey on t2 t2_5
4790 -> Seq Scan on t3 t3_5
4791 -> Index Scan using t1_pkey on t1 t1_5
4792 InitPlan 2 (returns $1)
4795 Merge Cond: (t2_2.id = t1_2.id)
4797 Merge Cond: (t2_2.id = t3_2.id)
4798 -> Index Scan using t2_pkey on t2 t2_2
4801 -> Seq Scan on t3 t3_2
4802 -> Index Scan using t1_pkey on t1 t1_2
4803 InitPlan 3 (returns $2)
4806 Merge Cond: (t2_4.id = t1_4.id)
4808 Merge Cond: (t2_4.id = t3_4.id)
4809 -> Index Scan using t2_pkey on t2 t2_4
4812 -> Seq Scan on t3 t3_4
4813 -> Index Scan using t1_pkey on t1 t1_4
4819 -> Seq Scan on t3 t3_3
4823 -> Index Scan using t2_pkey on t2 t2_3
4824 Index Cond: (id = $2)
4825 -> Index Scan using t1_pkey on t1 t1_3
4826 Index Cond: (id = $2)
4827 -> Seq Scan on t3 t3_1
4829 -> Index Scan using t2_pkey on t2 t2_1
4830 Index Cond: (id = $2)
4831 -> Index Scan using t1_pkey on t1 t1_1
4832 Index Cond: (id = $2)
4835 SET from_collapse_limit TO 1;
4836 EXPLAIN (COSTS false)
4838 SELECT max(t1_5.id) FROM t1 t1_5, t2 t2_5, t3 t3_5 WHERE t1_5.id = t2_5.id AND t2_5.id = t3_5.id
4841 SELECT max(t1_2.id) FROM t1 t1_2, t2 t2_2, t3 t3_2 WHERE t1_2.id = t2_2.id AND t2_2.id = t3_2.id
4842 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4843 SELECT t1_3.id FROM t1 t1_3, t2 t2_3, t3 t3_3 WHERE t1_3.id = t2_3.id AND t2_3.id = t3_3.id
4844 ) v1_1(id), c1_1 WHERE t1_1.id = t2_1.id AND t2_1.id = t3_1.id AND t2_1.id = v1_1.id AND v1_1.id = c1_1.id AND t1_1.id = (
4845 SELECT max(t1_4.id) FROM t1 t1_4, t2 t2_4, t3 t3_4 WHERE t1_4.id = t2_4.id AND t2_4.id = t3_4.id
4848 ---------------------------------------------------------------
4853 Merge Cond: (t1_5.id = t3_5.id)
4855 Merge Cond: (t1_5.id = t2_5.id)
4856 -> Index Scan using t1_pkey on t1 t1_5
4857 -> Index Scan using t2_pkey on t2 t2_5
4860 -> Seq Scan on t3 t3_5
4861 InitPlan 2 (returns $1)
4864 Merge Cond: (t1_2.id = t3_2.id)
4866 Merge Cond: (t1_2.id = t2_2.id)
4867 -> Index Scan using t1_pkey on t1 t1_2
4868 -> Index Scan using t2_pkey on t2 t2_2
4871 -> Seq Scan on t3 t3_2
4872 InitPlan 3 (returns $2)
4875 Merge Cond: (t1_4.id = t3_4.id)
4877 Merge Cond: (t1_4.id = t2_4.id)
4878 -> Index Scan using t1_pkey on t1 t1_4
4879 -> Index Scan using t2_pkey on t2 t2_4
4882 -> Seq Scan on t3 t3_4
4886 -> Index Scan using t1_pkey on t1 t1_1
4887 Index Cond: (id = $2)
4888 -> Seq Scan on t3 t3_1
4890 -> Index Scan using t2_pkey on t2 t2_1
4891 Index Cond: (id = $2)
4894 -> Index Scan using t1_pkey on t1 t1_3
4895 Index Cond: (id = $2)
4896 -> Seq Scan on t3 t3_3
4898 -> Index Scan using t2_pkey on t2 t2_3
4899 Index Cond: (id = $2)
4904 /*+HashJoin(t1_1 t3_1)MergeJoin(t1_3 t3_3)NestLoop(t1_2 t2_2)NestLoop(t1_4 t2_4)NestLoop(t1_5 t2_5)*/
4905 EXPLAIN (COSTS false)
4907 SELECT max(t1_5.id) FROM t1 t1_5, t2 t2_5, t3 t3_5 WHERE t1_5.id = t2_5.id AND t2_5.id = t3_5.id
4910 SELECT max(t1_2.id) FROM t1 t1_2, t2 t2_2, t3 t3_2 WHERE t1_2.id = t2_2.id AND t2_2.id = t3_2.id
4911 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4912 SELECT t1_3.id FROM t1 t1_3, t2 t2_3, t3 t3_3 WHERE t1_3.id = t2_3.id AND t2_3.id = t3_3.id
4913 ) v1_1(id), c1_1 WHERE t1_1.id = t2_1.id AND t2_1.id = t3_1.id AND t2_1.id = v1_1.id AND v1_1.id = c1_1.id AND t1_1.id = (
4914 SELECT max(t1_4.id) FROM t1 t1_4, t2 t2_4, t3 t3_4 WHERE t1_4.id = t2_4.id AND t2_4.id = t3_4.id
4920 MergeJoin(t1_3 t3_3)
4928 ---------------------------------------------------------------
4933 Merge Cond: (t1_5.id = t3_5.id)
4935 -> Index Scan using t2_pkey on t2 t2_5
4936 -> Index Scan using t1_pkey on t1 t1_5
4937 Index Cond: (id = t2_5.id)
4940 -> Seq Scan on t3 t3_5
4941 InitPlan 2 (returns $2)
4944 Merge Cond: (t1_2.id = t3_2.id)
4946 -> Index Scan using t2_pkey on t2 t2_2
4947 -> Index Scan using t1_pkey on t1 t1_2
4948 Index Cond: (id = t2_2.id)
4951 -> Seq Scan on t3 t3_2
4952 InitPlan 3 (returns $3)
4955 Merge Cond: (t1_4.id = t3_4.id)
4957 -> Index Scan using t2_pkey on t2 t2_4
4958 -> Index Scan using t1_pkey on t1 t1_4
4959 Index Cond: (id = t2_4.id)
4962 -> Seq Scan on t3 t3_4
4966 -> Index Scan using t2_pkey on t2 t2_1
4967 Index Cond: (id = $3)
4968 -> Seq Scan on t3 t3_1
4970 -> Index Scan using t1_pkey on t1 t1_1
4971 Index Cond: (id = $3)
4974 -> Index Scan using t2_pkey on t2 t2_3
4975 Index Cond: (id = $3)
4976 -> Seq Scan on t3 t3_3
4978 -> Index Scan using t1_pkey on t1 t1_3
4979 Index Cond: (id = $3)
4984 /*+HashJoin(t1_1 t3_1)MergeJoin(t1_3 t3_3)NestLoop(t1_2 t2_2)NestLoop(t1_4 t2_4)NestLoop(t1_5 t2_5)Leading(a t1_1 t1_2 t1_4 t1_5)*/
4985 EXPLAIN (COSTS false)
4987 SELECT max(t1_5.id) FROM t1 t1_5, t2 t2_5, t3 t3_5 WHERE t1_5.id = t2_5.id AND t2_5.id = t3_5.id
4990 SELECT max(t1_2.id) FROM t1 t1_2, t2 t2_2, t3 t3_2 WHERE t1_2.id = t2_2.id AND t2_2.id = t3_2.id
4991 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4992 SELECT t1_3.id FROM t1 t1_3, t2 t2_3, t3 t3_3 WHERE t1_3.id = t2_3.id AND t2_3.id = t3_3.id
4993 ) v1_1(id), c1_1 WHERE t1_1.id = t2_1.id AND t2_1.id = t3_1.id AND t2_1.id = v1_1.id AND v1_1.id = c1_1.id AND t1_1.id = (
4994 SELECT max(t1_4.id) FROM t1 t1_4, t2 t2_4, t3 t3_4 WHERE t1_4.id = t2_4.id AND t2_4.id = t3_4.id
5000 MergeJoin(t1_3 t3_3)
5004 Leading(a t1_1 t1_2 t1_4 t1_5)
5009 ---------------------------------------------------------------
5014 Merge Cond: (t1_5.id = t3_5.id)
5016 -> Index Scan using t2_pkey on t2 t2_5
5017 -> Index Scan using t1_pkey on t1 t1_5
5018 Index Cond: (id = t2_5.id)
5021 -> Seq Scan on t3 t3_5
5022 InitPlan 2 (returns $2)
5025 Merge Cond: (t1_2.id = t3_2.id)
5027 -> Index Scan using t2_pkey on t2 t2_2
5028 -> Index Scan using t1_pkey on t1 t1_2
5029 Index Cond: (id = t2_2.id)
5032 -> Seq Scan on t3 t3_2
5033 InitPlan 3 (returns $3)
5036 Merge Cond: (t1_4.id = t3_4.id)
5038 -> Index Scan using t2_pkey on t2 t2_4
5039 -> Index Scan using t1_pkey on t1 t1_4
5040 Index Cond: (id = t2_4.id)
5043 -> Seq Scan on t3 t3_4
5047 -> Index Scan using t2_pkey on t2 t2_1
5048 Index Cond: (id = $3)
5049 -> Seq Scan on t3 t3_1
5051 -> Index Scan using t1_pkey on t1 t1_1
5052 Index Cond: (id = $3)
5055 -> Index Scan using t2_pkey on t2 t2_3
5056 Index Cond: (id = $3)
5057 -> Seq Scan on t3 t3_3
5059 -> Index Scan using t1_pkey on t1 t1_3
5060 Index Cond: (id = $3)
5065 /*+HashJoin(t1_1 t3_1)MergeJoin(t1_3 t3_3)NestLoop(t1_2 t2_2)NestLoop(t1_4 t2_4)NestLoop(t1_5 t2_5)Leading(a t3_2 t3_5 t2_2 c1_1 t3_4 t3_3 t2_3 t2_4 t1_3 t2_5 t1_2 t3_1 t1_4 t2_1 t1_5 t1_1)*/
5066 EXPLAIN (COSTS false)
5068 SELECT max(t1_5.id) FROM t1 t1_5, t2 t2_5, t3 t3_5 WHERE t1_5.id = t2_5.id AND t2_5.id = t3_5.id
5071 SELECT max(t1_2.id) FROM t1 t1_2, t2 t2_2, t3 t3_2 WHERE t1_2.id = t2_2.id AND t2_2.id = t3_2.id
5072 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
5073 SELECT t1_3.id FROM t1 t1_3, t2 t2_3, t3 t3_3 WHERE t1_3.id = t2_3.id AND t2_3.id = t3_3.id
5074 ) v1_1(id), c1_1 WHERE t1_1.id = t2_1.id AND t2_1.id = t3_1.id AND t2_1.id = v1_1.id AND v1_1.id = c1_1.id AND t1_1.id = (
5075 SELECT max(t1_4.id) FROM t1 t1_4, t2 t2_4, t3 t3_4 WHERE t1_4.id = t2_4.id AND t2_4.id = t3_4.id
5081 MergeJoin(t1_3 t3_3)
5085 Leading(a t3_2 t3_5 t2_2 c1_1 t3_4 t3_3 t2_3 t2_4 t1_3 t2_5 t1_2 t3_1 t1_4 t2_1 t1_5 t1_1)
5090 ---------------------------------------------------------------
5095 Merge Cond: (t1_5.id = t3_5.id)
5097 -> Index Scan using t2_pkey on t2 t2_5
5098 -> Index Scan using t1_pkey on t1 t1_5
5099 Index Cond: (id = t2_5.id)
5102 -> Seq Scan on t3 t3_5
5103 InitPlan 2 (returns $2)
5106 Merge Cond: (t1_2.id = t3_2.id)
5108 -> Index Scan using t2_pkey on t2 t2_2
5109 -> Index Scan using t1_pkey on t1 t1_2
5110 Index Cond: (id = t2_2.id)
5113 -> Seq Scan on t3 t3_2
5114 InitPlan 3 (returns $3)
5117 Merge Cond: (t1_4.id = t3_4.id)
5119 -> Index Scan using t2_pkey on t2 t2_4
5120 -> Index Scan using t1_pkey on t1 t1_4
5121 Index Cond: (id = t2_4.id)
5124 -> Seq Scan on t3 t3_4
5128 -> Index Scan using t2_pkey on t2 t2_1
5129 Index Cond: (id = $3)
5130 -> Seq Scan on t3 t3_1
5132 -> Index Scan using t1_pkey on t1 t1_1
5133 Index Cond: (id = $3)
5136 -> Index Scan using t2_pkey on t2 t2_3
5137 Index Cond: (id = $3)
5138 -> Seq Scan on t3 t3_3
5140 -> Index Scan using t1_pkey on t1 t1_3
5141 Index Cond: (id = $3)
5146 /*+HashJoin(t1_1 t3_1)MergeJoin(t1_3 t3_3)NestLoop(t1_2 t2_2)NestLoop(t1_4 t2_4)NestLoop(t1_5 t2_5)Leading(t3_5 t2_5 t1_5)Leading(t3_2 t2_2 t1_2)Leading(t3_4 t2_4 t1_4)Leading(c1_1 t3_3 t2_3 t1_3 t3_1 t2_1 t1_1)*/
5147 EXPLAIN (COSTS false)
5149 SELECT max(t1_5.id) FROM t1 t1_5, t2 t2_5, t3 t3_5 WHERE t1_5.id = t2_5.id AND t2_5.id = t3_5.id
5152 SELECT max(t1_2.id) FROM t1 t1_2, t2 t2_2, t3 t3_2 WHERE t1_2.id = t2_2.id AND t2_2.id = t3_2.id
5153 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
5154 SELECT t1_3.id FROM t1 t1_3, t2 t2_3, t3 t3_3 WHERE t1_3.id = t2_3.id AND t2_3.id = t3_3.id
5155 ) v1_1(id), c1_1 WHERE t1_1.id = t2_1.id AND t2_1.id = t3_1.id AND t2_1.id = v1_1.id AND v1_1.id = c1_1.id AND t1_1.id = (
5156 SELECT max(t1_4.id) FROM t1 t1_4, t2 t2_4, t3 t3_4 WHERE t1_4.id = t2_4.id AND t2_4.id = t3_4.id
5160 MergeJoin(t1_3 t3_3)
5161 Leading(t3_5 t2_5 t1_5)
5162 Leading(t3_2 t2_2 t1_2)
5163 Leading(t3_4 t2_4 t1_4)
5164 Leading(c1_1 t3_3 t2_3 t1_3 t3_1 t2_1 t1_1)
5174 -------------------------------------------------------------------------
5179 Merge Cond: (t2_5.id = t1_5.id)
5181 Merge Cond: (t2_5.id = t3_5.id)
5182 -> Index Scan using t2_pkey on t2 t2_5
5185 -> Seq Scan on t3 t3_5
5186 -> Index Scan using t1_pkey on t1 t1_5
5187 InitPlan 2 (returns $1)
5190 Merge Cond: (t2_2.id = t1_2.id)
5192 Merge Cond: (t2_2.id = t3_2.id)
5193 -> Index Scan using t2_pkey on t2 t2_2
5196 -> Seq Scan on t3 t3_2
5197 -> Index Scan using t1_pkey on t1 t1_2
5198 InitPlan 3 (returns $2)
5201 Merge Cond: (t2_4.id = t1_4.id)
5203 Merge Cond: (t2_4.id = t3_4.id)
5204 -> Index Scan using t2_pkey on t2 t2_4
5207 -> Seq Scan on t3 t3_4
5208 -> Index Scan using t1_pkey on t1 t1_4
5214 -> Index Scan using t1_pkey on t1 t1_3
5215 Index Cond: (id = $2)
5216 -> Index Scan using t2_pkey on t2 t2_3
5217 Index Cond: (id = $2)
5218 -> Seq Scan on t3 t3_3
5222 -> Seq Scan on t3 t3_1
5224 -> Index Scan using t2_pkey on t2 t2_1
5225 Index Cond: (id = $2)
5226 -> Index Scan using t1_pkey on t1 t1_1
5227 Index Cond: (id = $2)
5231 EXPLAIN (COSTS false) SELECT * FROM t1, s0.t1, t2 WHERE public.t1.id = s0.t1.id AND public.t1.id = t2.id;
5233 -----------------------------------------------
5235 Merge Cond: (public.t1.id = t2.id)
5237 Merge Cond: (public.t1.id = s0.t1.id)
5238 -> Index Scan using t1_pkey on t1
5239 -> Index Scan using t1_pkey on t1
5240 -> Index Scan using t2_pkey on t2
5243 /*+NestLoop(t1 t2)*/
5244 EXPLAIN (COSTS false) SELECT * FROM t1, s0.t1, t2 WHERE public.t1.id = s0.t1.id AND public.t1.id = t2.id;
5245 INFO: hint syntax error at or near "NestLoop(t1 t2)"
5246 DETAIL: Relation name "t1" is ambiguous.
5255 -----------------------------------------------
5257 Merge Cond: (public.t1.id = t2.id)
5259 Merge Cond: (public.t1.id = s0.t1.id)
5260 -> Index Scan using t1_pkey on t1
5261 -> Index Scan using t1_pkey on t1
5262 -> Index Scan using t2_pkey on t2
5265 /*+Leading(t1 t2 t1)*/
5266 EXPLAIN (COSTS false) SELECT * FROM t1, s0.t1, t2 WHERE public.t1.id = s0.t1.id AND public.t1.id = t2.id;
5267 INFO: hint syntax error at or near "Leading(t1 t2 t1)"
5268 DETAIL: Relation name "t1" is ambiguous.
5277 -----------------------------------------------
5279 Merge Cond: (public.t1.id = t2.id)
5281 Merge Cond: (public.t1.id = s0.t1.id)
5282 -> Index Scan using t1_pkey on t1
5283 -> Index Scan using t1_pkey on t1
5284 -> Index Scan using t2_pkey on t2
5287 -- identifier length test
5288 EXPLAIN (COSTS false) SELECT * FROM t1 "123456789012345678901234567890123456789012345678901234567890123" JOIN t2 ON ("123456789012345678901234567890123456789012345678901234567890123".id = t2.id) JOIN t3 ON (t2.id = t3.id);
5290 --------------------------------------------------------------------------------------------------------------
5292 Merge Cond: ("123456789012345678901234567890123456789012345678901234567890123".id = t3.id)
5294 Merge Cond: ("123456789012345678901234567890123456789012345678901234567890123".id = t2.id)
5295 -> Index Scan using t1_pkey on t1 "123456789012345678901234567890123456789012345678901234567890123"
5296 -> Index Scan using t2_pkey on t2
5303 Leading(123456789012345678901234567890123456789012345678901234567890123 t2 t3)
5304 SeqScan(123456789012345678901234567890123456789012345678901234567890123)
5305 MergeJoin(123456789012345678901234567890123456789012345678901234567890123 t2)
5306 Set(123456789012345678901234567890123456789012345678901234567890123 1)
5308 EXPLAIN (COSTS false) SELECT * FROM t1 "123456789012345678901234567890123456789012345678901234567890123" JOIN t2 ON ("123456789012345678901234567890123456789012345678901234567890123".id = t2.id) JOIN t3 ON (t2.id = t3.id);
5309 INFO: unrecognized configuration parameter "123456789012345678901234567890123456789012345678901234567890123"
5312 SeqScan(123456789012345678901234567890123456789012345678901234567890123)
5313 MergeJoin(123456789012345678901234567890123456789012345678901234567890123 t2)
5314 Leading(123456789012345678901234567890123456789012345678901234567890123 t2 t3)
5318 Set(123456789012345678901234567890123456789012345678901234567890123 1)
5321 ----------------------------------------------------------------------------------------------------
5323 Merge Cond: ("123456789012345678901234567890123456789012345678901234567890123".id = t3.id)
5325 Merge Cond: (t2.id = "123456789012345678901234567890123456789012345678901234567890123".id)
5326 -> Index Scan using t2_pkey on t2
5328 Sort Key: "123456789012345678901234567890123456789012345678901234567890123".id
5329 -> Seq Scan on t1 "123456789012345678901234567890123456789012345678901234567890123"
5336 Leading(1234567890123456789012345678901234567890123456789012345678901234 t2 t3)
5337 SeqScan(1234567890123456789012345678901234567890123456789012345678901234)
5338 MergeJoin(1234567890123456789012345678901234567890123456789012345678901234 t2)
5339 Set(1234567890123456789012345678901234567890123456789012345678901234 1)
5340 Set(cursor_tuple_fraction 0.1234567890123456789012345678901234567890123456789012345678901234)
5342 EXPLAIN (COSTS false) SELECT * FROM t1 "1234567890123456789012345678901234567890123456789012345678901234" JOIN t2 ON ("1234567890123456789012345678901234567890123456789012345678901234".id = t2.id) JOIN t3 ON (t2.id = t3.id);
5343 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5344 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5345 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5346 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5347 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5348 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5349 INFO: unrecognized configuration parameter "123456789012345678901234567890123456789012345678901234567890123"
5352 SeqScan(123456789012345678901234567890123456789012345678901234567890123)
5353 MergeJoin(123456789012345678901234567890123456789012345678901234567890123 t2)
5354 Leading(123456789012345678901234567890123456789012345678901234567890123 t2 t3)
5355 Set(cursor_tuple_fraction 0.1234567890123456789012345678901234567890123456789012345678901234)
5359 Set(123456789012345678901234567890123456789012345678901234567890123 1)
5362 ----------------------------------------------------------------------------------------------------
5364 Merge Cond: ("123456789012345678901234567890123456789012345678901234567890123".id = t3.id)
5366 Merge Cond: (t2.id = "123456789012345678901234567890123456789012345678901234567890123".id)
5367 -> Index Scan using t2_pkey on t2
5369 Sort Key: "123456789012345678901234567890123456789012345678901234567890123".id
5370 -> Seq Scan on t1 "123456789012345678901234567890123456789012345678901234567890123"
5376 SET "123456789012345678901234567890123456789012345678901234567890123" TO 1;
5377 ERROR: unrecognized configuration parameter "123456789012345678901234567890123456789012345678901234567890123"
5378 SET "1234567890123456789012345678901234567890123456789012345678901234" TO 1;
5379 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5380 ERROR: unrecognized configuration parameter "123456789012345678901234567890123456789012345678901234567890123"
5381 SET cursor_tuple_fraction TO 1234567890123456789012345678901234567890123456789012345678901234;
5382 ERROR: 1.23457e+63 is outside the valid range for parameter "cursor_tuple_fraction" (0 .. 1)
5384 /*+ Set(enable_seqscan 100)Set(seq_page_cost on)*/
5385 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
5386 INFO: parameter "enable_seqscan" requires a Boolean value
5387 INFO: parameter "seq_page_cost" requires a numeric value
5393 Set(enable_seqscan 100)
5394 Set(seq_page_cost on)
5397 --------------------------------------
5399 Merge Cond: (t1.id = t2.id)
5400 -> Index Scan using t1_pkey on t1
5401 -> Index Scan using t2_pkey on t2
5404 -- debug log of candidate index to use IndexScan
5405 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5407 -------------------------------
5408 Index Scan using t5_id3 on t5
5409 Index Cond: (id = 1)
5412 /*+IndexScan(t5 t5_id2)*/
5413 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5414 LOG: available indexes for IndexScan(t5): t5_id2
5417 IndexScan(t5 t5_id2)
5423 -------------------------------
5424 Index Scan using t5_id2 on t5
5425 Index Cond: (id = 1)
5428 /*+IndexScan(t5 no_exist)*/
5429 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5430 LOG: available indexes for IndexScan(t5):
5433 IndexScan(t5 no_exist)
5439 --------------------
5444 /*+IndexScan(t5 t5_id1 t5_id2)*/
5445 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5446 LOG: available indexes for IndexScan(t5): t5_id2 t5_id1
5449 IndexScan(t5 t5_id1 t5_id2)
5455 -------------------------------
5456 Index Scan using t5_id2 on t5
5457 Index Cond: (id = 1)
5460 /*+IndexScan(t5 no_exist t5_id2)*/
5461 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5462 LOG: available indexes for IndexScan(t5): t5_id2
5465 IndexScan(t5 no_exist t5_id2)
5471 -------------------------------
5472 Index Scan using t5_id2 on t5
5473 Index Cond: (id = 1)
5476 /*+IndexScan(t5 no_exist5 no_exist2)*/
5477 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5478 LOG: available indexes for IndexScan(t5):
5481 IndexScan(t5 no_exist5 no_exist2)
5487 --------------------
5493 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5495 --------------------------------------------------------
5497 Hash Cond: (t3.val = t2.val)
5501 Hash Cond: (t2.id = t1.id)
5504 -> Index Scan using t1_pkey on t1
5505 Index Cond: (id < 10)
5509 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5510 INFO: hint syntax error at or near "Leading((t1))"
5511 DETAIL: Leading hint requires two sets of relations when parentheses nests.
5520 --------------------------------------------------------
5522 Hash Cond: (t3.val = t2.val)
5526 Hash Cond: (t2.id = t1.id)
5529 -> Index Scan using t1_pkey on t1
5530 Index Cond: (id < 10)
5533 /*+Leading((t1 t2))*/
5534 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5543 --------------------------------------------
5545 Join Filter: (t2.val = t3.val)
5547 Hash Cond: (t1.id = t2.id)
5548 -> Index Scan using t1_pkey on t1
5549 Index Cond: (id < 10)
5555 /*+Leading((t1 t2 t3))*/
5556 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5557 INFO: hint syntax error at or near "Leading((t1 t2 t3))"
5558 DETAIL: Leading hint requires two sets of relations when parentheses nests.
5567 --------------------------------------------------------
5569 Hash Cond: (t3.val = t2.val)
5573 Hash Cond: (t2.id = t1.id)
5576 -> Index Scan using t1_pkey on t1
5577 Index Cond: (id < 10)
5580 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.id < 10;
5582 --------------------------------------------
5584 Hash Cond: (t2.id = t1.id)
5587 -> Index Scan using t1_pkey on t1
5588 Index Cond: (id < 10)
5591 /*+Leading((t1 t2))*/
5592 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.id < 10;
5601 --------------------------------------
5603 Hash Cond: (t1.id = t2.id)
5604 -> Index Scan using t1_pkey on t1
5605 Index Cond: (id < 10)
5610 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5612 --------------------------------------------------------
5614 Hash Cond: (t3.val = t2.val)
5618 Hash Cond: (t2.id = t1.id)
5621 -> Index Scan using t1_pkey on t1
5622 Index Cond: (id < 10)
5625 /*+Leading(((t1 t2) t3))*/
5626 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5629 Leading(((t1 t2) t3))
5635 --------------------------------------------
5637 Join Filter: (t2.val = t3.val)
5639 Hash Cond: (t1.id = t2.id)
5640 -> Index Scan using t1_pkey on t1
5641 Index Cond: (id < 10)
5647 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t3.id = t4.id AND t1.val = t3.val AND t1.id < 10;
5649 --------------------------------------------------------
5652 Merge Cond: (t3.id = t4.id)
5654 Join Filter: (t1.val = t3.val)
5655 -> Index Scan using t3_pkey on t3
5657 -> Index Scan using t1_pkey on t1
5658 Index Cond: (id < 10)
5662 -> Index Scan using t2_pkey on t2
5663 Index Cond: (id = t1.id)
5666 /*+Leading((((t1 t2) t3) t4))*/
5667 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t3.id = t4.id AND t1.val = t3.val AND t1.id < 10;
5670 Leading((((t1 t2) t3) t4))
5676 --------------------------------------------------
5679 Join Filter: (t1.val = t3.val)
5681 Hash Cond: (t1.id = t2.id)
5682 -> Index Scan using t1_pkey on t1
5683 Index Cond: (id < 10)
5687 -> Index Scan using t4_pkey on t4
5688 Index Cond: (id = t3.id)
5691 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5693 --------------------------------------------------------
5695 Hash Cond: (t3.val = t2.val)
5699 Hash Cond: (t2.id = t1.id)
5702 -> Index Scan using t1_pkey on t1
5703 Index Cond: (id < 10)
5706 /*+Leading(((t1 t2) t3))*/
5707 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5710 Leading(((t1 t2) t3))
5716 --------------------------------------------
5718 Join Filter: (t2.val = t3.val)
5720 Hash Cond: (t1.id = t2.id)
5721 -> Index Scan using t1_pkey on t1
5722 Index Cond: (id < 10)
5728 /*+Leading((t1 (t2 t3)))*/
5729 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5732 Leading((t1 (t2 t3)))
5738 --------------------------------------------
5740 Hash Cond: (t1.id = t2.id)
5741 -> Index Scan using t1_pkey on t1
5742 Index Cond: (id < 10)
5745 Hash Cond: (t2.val = t3.val)
5751 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t3.id = t4.id AND t1.val = t3.val AND t1.id < 10;
5753 --------------------------------------------------------
5756 Merge Cond: (t3.id = t4.id)
5758 Join Filter: (t1.val = t3.val)
5759 -> Index Scan using t3_pkey on t3
5761 -> Index Scan using t1_pkey on t1
5762 Index Cond: (id < 10)
5766 -> Index Scan using t2_pkey on t2
5767 Index Cond: (id = t1.id)
5770 /*+Leading(((t1 t2) (t3 t4)))*/
5771 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t3.id = t4.id AND t1.val = t3.val AND t1.id < 10;
5774 Leading(((t1 t2) (t3 t4)))
5780 --------------------------------------------
5782 Join Filter: (t1.val = t3.val)
5784 Hash Cond: (t1.id = t2.id)
5785 -> Index Scan using t1_pkey on t1
5786 Index Cond: (id < 10)
5790 Merge Cond: (t3.id = t4.id)
5791 -> Index Scan using t3_pkey on t3
5797 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < ( SELECT t1_2.id FROM t1 t1_2, t2 t2_2 WHERE t1_2.id = t2_2.id AND t2_2.val > 100 ORDER BY t1_2.id LIMIT 1);
5799 ---------------------------------------------------------------
5801 Hash Cond: (t2.val = t3.val)
5802 InitPlan 1 (returns $1)
5807 -> Index Scan using t2_val on t2 t2_2
5808 Index Cond: (val > 100)
5809 -> Index Scan using t1_pkey on t1 t1_2
5810 Index Cond: (id = t2_2.id)
5812 Merge Cond: (t1.id = t2.id)
5813 -> Index Scan using t1_pkey on t1
5814 Index Cond: (id < $1)
5815 -> Index Scan using t2_pkey on t2
5820 /*+Leading(((t1 t2) t3)) Leading(((t3 t1) t2))*/
5821 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t1.val = t3.val AND t1.id < ( SELECT t1_2.id FROM t1 t1_2, t2 t2_2 WHERE t1_2.id = t2_2.id AND t2_2.val > 100 ORDER BY t1_2.id LIMIT 1);
5822 INFO: hint syntax error at or near "Leading(((t1 t2) t3)) Leading(((t3 t1) t2))"
5823 DETAIL: Conflict leading hint.
5826 Leading(((t3 t1) t2))
5829 Leading(((t1 t2) t3))
5833 ---------------------------------------------------------------
5835 Hash Cond: (t1.id = t2.id)
5836 InitPlan 1 (returns $1)
5841 -> Index Scan using t2_val on t2 t2_2
5842 Index Cond: (val > 100)
5843 -> Index Scan using t1_pkey on t1 t1_2
5844 Index Cond: (id = t2_2.id)
5846 Hash Cond: (t3.val = t1.val)
5849 -> Index Scan using t1_pkey on t1
5850 Index Cond: (id < $1)
5855 /*+Leading(((t1 t2) t3)) Leading((t1_2 t2_2))*/
5856 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < ( SELECT t1_2.id FROM t1 t1_2, t2 t2_2 WHERE t1_2.id = t2_2.id AND t2_2.val > 100 ORDER BY t1_2.id LIMIT 1);
5859 Leading(((t1 t2) t3))
5860 Leading((t1_2 t2_2))
5866 --------------------------------------------------------------
5868 Hash Cond: (t2.val = t3.val)
5869 InitPlan 1 (returns $0)
5872 Merge Cond: (t1_2.id = t2_2.id)
5873 -> Index Scan using t1_pkey on t1 t1_2
5876 -> Index Scan using t2_val on t2 t2_2
5877 Index Cond: (val > 100)
5879 Merge Cond: (t1.id = t2.id)
5880 -> Index Scan using t1_pkey on t1
5881 Index Cond: (id < $0)
5882 -> Index Scan using t2_pkey on t2
5887 /*+Leading(((((t1 t2) t3) t1_2) t2_2))*/
5888 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < ( SELECT t1_2.id FROM t1 t1_2, t2 t2_2 WHERE t1_2.id = t2_2.id AND t2_2.val > 100 ORDER BY t1_2.id LIMIT 1);
5892 Leading(((((t1 t2) t3) t1_2) t2_2))
5897 ---------------------------------------------------------------
5899 Hash Cond: (t2.val = t3.val)
5900 InitPlan 1 (returns $1)
5905 -> Index Scan using t2_val on t2 t2_2
5906 Index Cond: (val > 100)
5907 -> Index Scan using t1_pkey on t1 t1_2
5908 Index Cond: (id = t2_2.id)
5910 Merge Cond: (t1.id = t2.id)
5911 -> Index Scan using t1_pkey on t1
5912 Index Cond: (id < $1)
5913 -> Index Scan using t2_pkey on t2
5918 -- Specified outer/inner leading hint and join method hint at the same time
5919 /*+Leading(((t1 t2) t3))*/
5920 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5923 Leading(((t1 t2) t3))
5929 --------------------------------------------
5931 Join Filter: (t2.val = t3.val)
5933 Hash Cond: (t1.id = t2.id)
5934 -> Index Scan using t1_pkey on t1
5935 Index Cond: (id < 10)
5941 /*+Leading(((t1 t2) t3)) MergeJoin(t1 t2)*/
5942 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5946 Leading(((t1 t2) t3))
5952 --------------------------------------------
5954 Join Filter: (t2.val = t3.val)
5956 Merge Cond: (t1.id = t2.id)
5957 -> Index Scan using t1_pkey on t1
5958 Index Cond: (id < 10)
5959 -> Index Scan using t2_pkey on t2
5963 /*+Leading(((t1 t2) t3)) MergeJoin(t1 t2 t3)*/
5964 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5968 Leading(((t1 t2) t3))
5974 --------------------------------------------------
5976 Merge Cond: (t2.val = t3.val)
5980 Hash Cond: (t1.id = t2.id)
5981 -> Index Scan using t1_pkey on t1
5982 Index Cond: (id < 10)
5990 /*+Leading(((t1 t2) t3)) MergeJoin(t1 t3)*/
5991 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5994 Leading(((t1 t2) t3))
6001 --------------------------------------------
6003 Join Filter: (t2.val = t3.val)
6005 Hash Cond: (t1.id = t2.id)
6006 -> Index Scan using t1_pkey on t1
6007 Index Cond: (id < 10)
6013 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t3.id = t4.id AND t1.val = t3.val AND t1.id < 10;
6015 --------------------------------------------------------
6018 Merge Cond: (t3.id = t4.id)
6020 Join Filter: (t1.val = t3.val)
6021 -> Index Scan using t3_pkey on t3
6023 -> Index Scan using t1_pkey on t1
6024 Index Cond: (id < 10)
6028 -> Index Scan using t2_pkey on t2
6029 Index Cond: (id = t1.id)
6032 /*+Leading(((t1 t2) t3)) MergeJoin(t3 t4)*/
6033 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t3.id = t4.id AND t1.val = t3.val AND t1.id < 10;
6036 Leading(((t1 t2) t3))
6043 --------------------------------------------------
6046 Join Filter: (t1.val = t3.val)
6048 Hash Cond: (t1.id = t2.id)
6049 -> Index Scan using t1_pkey on t1
6050 Index Cond: (id < 10)
6054 -> Index Scan using t4_pkey on t4
6055 Index Cond: (id = t3.id)
6058 /*+Leading(((t1 t2) t3)) MergeJoin(t1 t2 t3 t4)*/
6059 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t3.id = t4.id AND t1.val = t3.val AND t1.id < 10;
6062 MergeJoin(t1 t2 t3 t4)
6063 Leading(((t1 t2) t3))
6069 --------------------------------------------------------
6071 Merge Cond: (t3.id = t4.id)
6075 Join Filter: (t1.val = t3.val)
6077 Hash Cond: (t1.id = t2.id)
6078 -> Index Scan using t1_pkey on t1
6079 Index Cond: (id < 10)
6088 /*+ Leading ( ( t1 ( t2 t3 ) ) ) */
6089 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
6092 Leading((t1 (t2 t3)))
6098 --------------------------------------------
6100 Hash Cond: (t1.id = t2.id)
6101 -> Index Scan using t1_pkey on t1
6102 Index Cond: (id < 10)
6105 Hash Cond: (t2.val = t3.val)
6111 /*+Leading((t1(t2 t3)))*/
6112 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
6115 Leading((t1 (t2 t3)))
6121 --------------------------------------------
6123 Hash Cond: (t1.id = t2.id)
6124 -> Index Scan using t1_pkey on t1
6125 Index Cond: (id < 10)
6128 Hash Cond: (t2.val = t3.val)
6134 /*+Leading(("t1(t2" "t3)"))*/
6135 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
6139 Leading(("t1(t2" "t3)"))
6144 --------------------------------------------------------
6146 Hash Cond: (t3.val = t2.val)
6150 Hash Cond: (t2.id = t1.id)
6153 -> Index Scan using t1_pkey on t1
6154 Index Cond: (id < 10)
6157 /*+ Leading ( ( ( t1 t2 ) t3 ) ) */
6158 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
6161 Leading(((t1 t2) t3))
6167 --------------------------------------------
6169 Join Filter: (t2.val = t3.val)
6171 Hash Cond: (t1.id = t2.id)
6172 -> Index Scan using t1_pkey on t1
6173 Index Cond: (id < 10)
6179 /*+Leading(((t1 t2)t3))*/
6180 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
6183 Leading(((t1 t2) t3))
6189 --------------------------------------------
6191 Join Filter: (t2.val = t3.val)
6193 Hash Cond: (t1.id = t2.id)
6194 -> Index Scan using t1_pkey on t1
6195 Index Cond: (id < 10)
6201 /*+Leading(("(t1" "t2)t3"))*/
6202 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
6206 Leading(("(t1" "t2)t3"))
6211 --------------------------------------------------------
6213 Hash Cond: (t3.val = t2.val)
6217 Hash Cond: (t2.id = t1.id)
6220 -> Index Scan using t1_pkey on t1
6221 Index Cond: (id < 10)
6224 /*+Leading((t1(t2(t3(t4 t5)))))*/
6225 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id;
6228 Leading((t1 (t2 (t3 (t4 t5)))))
6234 --------------------------------------------------------------------------
6236 Merge Cond: (t1.id = t2.id)
6237 -> Index Scan using t1_pkey on t1
6240 Merge Cond: (t2.id = t3.id)
6241 -> Index Scan using t2_pkey on t2
6244 Merge Cond: (t3.id = t4.id)
6245 -> Index Scan using t3_pkey on t3
6248 Merge Cond: (t4.id = t5.id)
6249 -> Index Scan using t4_pkey on t4
6250 -> Index Scan using t5_id3 on t5
6253 /*+Leading((t5(t4(t3(t2 t1)))))*/
6254 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id;
6257 Leading((t5 (t4 (t3 (t2 t1)))))
6263 --------------------------------------------------------------------------
6265 Hash Cond: (t5.id = t1.id)
6269 Merge Cond: (t4.id = t1.id)
6275 Merge Cond: (t3.id = t1.id)
6281 Merge Cond: (t2.id = t1.id)
6282 -> Index Scan using t2_pkey on t2
6283 -> Index Scan using t1_pkey on t1
6286 /*+Leading(((((t1 t2)t3)t4)t5))*/
6287 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id;
6290 Leading(((((t1 t2) t3) t4) t5))
6296 --------------------------------------------------------
6299 Merge Cond: (t1.id = t4.id)
6301 Merge Cond: (t1.id = t3.id)
6303 Merge Cond: (t1.id = t2.id)
6304 -> Index Scan using t1_pkey on t1
6305 -> Index Scan using t2_pkey on t2
6306 -> Index Scan using t3_pkey on t3
6310 -> Index Scan using t5_id3 on t5
6311 Index Cond: (id = t1.id)
6314 /*+Leading(((((t5 t4)t3)t2)t1))*/
6315 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id;
6318 Leading(((((t5 t4) t3) t2) t1))
6324 -------------------------------------------------------
6327 Merge Cond: (t3.id = t2.id)
6329 Merge Cond: (t4.id = t3.id)
6331 Merge Cond: (t5.id = t4.id)
6332 -> Index Scan using t5_id3 on t5
6336 -> Index Scan using t3_pkey on t3
6337 -> Index Scan using t2_pkey on t2
6338 -> Index Scan using t1_pkey on t1
6339 Index Cond: (id = t2.id)
6342 /*+Leading(((t1 t2)(t3(t4 t5))))*/
6343 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id;
6346 Leading(((t1 t2) (t3 (t4 t5))))
6352 --------------------------------------------------------------
6354 Merge Cond: (t1.id = t3.id)
6356 Merge Cond: (t1.id = t2.id)
6357 -> Index Scan using t1_pkey on t1
6358 -> Index Scan using t2_pkey on t2
6361 Merge Cond: (t3.id = t4.id)
6362 -> Index Scan using t3_pkey on t3
6365 Merge Cond: (t4.id = t5.id)
6366 -> Index Scan using t4_pkey on t4
6367 -> Index Scan using t5_id3 on t5
6370 /*+Leading(((t5 t4)(t3(t2 t1))))*/
6371 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id;
6374 Leading(((t5 t4) (t3 (t2 t1))))
6380 --------------------------------------------------------------
6382 Merge Cond: (t4.id = t1.id)
6384 Merge Cond: (t5.id = t4.id)
6385 -> Index Scan using t5_id3 on t5
6391 Merge Cond: (t3.id = t1.id)
6392 -> Index Scan using t3_pkey on t3
6395 Merge Cond: (t2.id = t1.id)
6396 -> Index Scan using t2_pkey on t2
6397 -> Index Scan using t1_pkey on t1
6400 /*+Leading((((t1 t2)t3)(t4 t5)))*/
6401 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id;
6404 Leading((((t1 t2) t3) (t4 t5)))
6410 --------------------------------------------------
6412 Merge Cond: (t1.id = t4.id)
6414 Merge Cond: (t1.id = t3.id)
6416 Merge Cond: (t1.id = t2.id)
6417 -> Index Scan using t1_pkey on t1
6418 -> Index Scan using t2_pkey on t2
6419 -> Index Scan using t3_pkey on t3
6422 Merge Cond: (t4.id = t5.id)
6423 -> Index Scan using t4_pkey on t4
6424 -> Index Scan using t5_id3 on t5
6427 /*+Leading((((t5 t4)t3)(t2 t1)))*/
6428 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id;
6431 Leading((((t5 t4) t3) (t2 t1)))
6437 --------------------------------------------------
6439 Merge Cond: (t3.id = t1.id)
6441 Merge Cond: (t4.id = t3.id)
6443 Merge Cond: (t5.id = t4.id)
6444 -> Index Scan using t5_id3 on t5
6448 -> Index Scan using t3_pkey on t3
6451 Merge Cond: (t2.id = t1.id)
6452 -> Index Scan using t2_pkey on t2
6453 -> Index Scan using t1_pkey on t1