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: Keyword "Test" does not exist.
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 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 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: Block comments nest doesn't 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 ""1MB")"
244 DETAIL: Closed parenthesis is necessary.
246 --------------------------------------
248 Merge Cond: (t1.id = t2.id)
249 -> Index Scan using t1_pkey on t1
250 -> Index Scan using t2_pkey on t2
254 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
255 INFO: hint syntax error at or near "t2)"
256 DETAIL: Closed parenthesis is necessary.
258 --------------------------------------
260 Merge Cond: (t1.id = t2.id)
261 -> Index Scan using t1_pkey on t1
262 -> Index Scan using t2_pkey on t2
266 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
275 ------------------------------
277 Hash Cond: (t1.id = t2.id)
283 /*+SeqScan(t1)IndexScan(t2)*/
284 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
294 --------------------------------------------
296 Hash Cond: (t1.id = t2.id)
299 -> Index Scan using t2_pkey on t2
303 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
312 ------------------------------------------
315 -> Bitmap Heap Scan on t2
316 Recheck Cond: (id = t1.id)
317 -> Bitmap Index Scan on t2_pkey
318 Index Cond: (id = t1.id)
321 /*+BitmapScan(t2)NoSeqScan(t1)*/
322 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
332 ------------------------------------------
334 -> Index Scan using t1_pkey on t1
335 -> Bitmap Heap Scan on t2
336 Recheck Cond: (id = t1.id)
337 -> Bitmap Index Scan on t2_pkey
338 Index Cond: (id = t1.id)
342 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
351 ------------------------------
353 Hash Cond: (t1.id = t2.id)
359 /*+NoBitmapScan(t1)*/
360 EXPLAIN (COSTS false) SELECT * FROM t1, t4 WHERE t1.val < 10;
369 ----------------------------
378 EXPLAIN (COSTS false) SELECT * FROM t3, t4 WHERE t3.id = t4.id AND t4.ctid = '(1,1)';
387 -----------------------------------------------
389 Merge Cond: (t3.id = t4.id)
390 -> Index Scan using t3_pkey on t3
394 TID Cond: (ctid = '(1,1)'::tid)
398 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)';
407 ---------------------------------------
410 Filter: (ctid = '(1,1)'::tid)
411 -> Index Scan using t2_pkey on t2
412 Index Cond: (id = t1.id)
416 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
425 ------------------------------
427 Hash Cond: (t1.id = t2.id)
434 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
443 --------------------------------------
446 -> Index Scan using t1_pkey on t1
447 Index Cond: (id = t2.id)
450 /*+NoMergeJoin(t1 t2)*/
451 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
460 ------------------------------
462 Hash Cond: (t1.id = t2.id)
468 /*+MergeJoin(t1 t3)*/
469 EXPLAIN (COSTS false) SELECT * FROM t1, t3 WHERE t1.val = t3.val;
478 -------------------------------------
480 Merge Cond: (t1.val = t3.val)
481 -> Index Scan using t1_val on t1
488 EXPLAIN (COSTS false) SELECT * FROM t1, t3 WHERE t1.val = t3.val;
497 -------------------------------------
500 -> Index Scan using t1_val on t1
501 Index Cond: (val = t3.val)
504 /*+NoHashJoin(t1 t3)*/
505 EXPLAIN (COSTS false) SELECT * FROM t1, t3 WHERE t1.val = t3.val;
514 -------------------------------------
517 -> Index Scan using t1_val on t1
518 Index Cond: (val = t3.val)
521 /*+MergeJoin(t4 t1 t2 t3)*/
522 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
525 MergeJoin(t1 t2 t3 t4)
531 --------------------------------------------------
533 Merge Cond: (t1.id = t4.id)
535 Merge Cond: (t1.id = t3.id)
537 Merge Cond: (t1.id = t2.id)
538 -> Index Scan using t1_pkey on t1
539 -> Index Scan using t2_pkey on t2
540 -> Index Scan using t3_pkey on t3
546 /*+HashJoin(t3 t4 t1 t2)*/
547 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
550 HashJoin(t1 t2 t3 t4)
556 --------------------------------------------------------
558 Hash Cond: (t3.id = t1.id)
562 Merge Cond: (t1.id = t4.id)
564 Merge Cond: (t1.id = t2.id)
565 -> Index Scan using t1_pkey on t1
566 -> Index Scan using t2_pkey on t2
572 /*+NestLoop(t2 t3 t4 t1) IndexScan(t3)*/
573 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
577 NestLoop(t1 t2 t3 t4)
583 --------------------------------------------------
586 Merge Cond: (t1.id = t4.id)
588 Merge Cond: (t1.id = t2.id)
589 -> Index Scan using t1_pkey on t1
590 -> Index Scan using t2_pkey on t2
594 -> Index Scan using t3_pkey on t3
595 Index Cond: (id = t1.id)
598 /*+NoNestLoop(t4 t1 t3 t2)*/
599 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
602 NoNestLoop(t1 t2 t3 t4)
608 --------------------------------------------------
610 Merge Cond: (t1.id = t4.id)
612 Merge Cond: (t1.id = t3.id)
614 Merge Cond: (t1.id = t2.id)
615 -> Index Scan using t1_pkey on t1
616 -> Index Scan using t2_pkey on t2
617 -> Index Scan using t3_pkey on t3
624 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
625 INFO: hint syntax error at or near ""
626 DETAIL: Relation name is necessary.
628 --------------------------------------------------
630 Merge Cond: (t1.id = t4.id)
632 Merge Cond: (t1.id = t3.id)
634 Merge Cond: (t1.id = t2.id)
635 -> Index Scan using t1_pkey on t1
636 -> Index Scan using t2_pkey on t2
637 -> Index Scan using t3_pkey on t3
644 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
645 INFO: hint syntax error at or near "Leading( )"
646 DETAIL: In Leading hint, specified relation name 2 or more.
655 --------------------------------------------------
657 Merge Cond: (t1.id = t4.id)
659 Merge Cond: (t1.id = t3.id)
661 Merge Cond: (t1.id = t2.id)
662 -> Index Scan using t1_pkey on t1
663 -> Index Scan using t2_pkey on t2
664 -> Index Scan using t3_pkey on t3
671 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
672 INFO: hint syntax error at or near "Leading( t3 )"
673 DETAIL: In Leading hint, specified relation name 2 or more.
682 --------------------------------------------------
684 Merge Cond: (t1.id = t4.id)
686 Merge Cond: (t1.id = t3.id)
688 Merge Cond: (t1.id = t2.id)
689 -> Index Scan using t1_pkey on t1
690 -> Index Scan using t2_pkey on t2
691 -> Index Scan using t3_pkey on t3
697 /*+Leading( t3 t4 )*/
698 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
707 --------------------------------------------------
711 Merge Cond: (t3.id = t4.id)
712 -> Index Scan using t3_pkey on t3
716 -> Index Scan using t2_pkey on t2
717 Index Cond: (id = t3.id)
718 -> Index Scan using t1_pkey on t1
719 Index Cond: (id = t2.id)
722 /*+Leading(t3 t4 t1)*/
723 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
732 --------------------------------------------------
735 Merge Cond: (t3.id = t1.id)
737 Merge Cond: (t3.id = t4.id)
738 -> Index Scan using t3_pkey on t3
742 -> Index Scan using t1_pkey on t1
743 -> Index Scan using t2_pkey on t2
744 Index Cond: (id = t1.id)
747 /*+Leading(t3 t4 t1 t2)*/
748 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
757 --------------------------------------------------
760 Merge Cond: (t3.id = t1.id)
762 Merge Cond: (t3.id = t4.id)
763 -> Index Scan using t3_pkey on t3
767 -> Index Scan using t1_pkey on t1
768 -> Index Scan using t2_pkey on t2
769 Index Cond: (id = t1.id)
772 /*+Leading(t3 t4 t1 t2 t1)*/
773 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
776 Leading(t3 t4 t1 t2 t1)
782 --------------------------------------------------
785 Merge Cond: (t3.id = t1.id)
787 Merge Cond: (t3.id = t4.id)
788 -> Index Scan using t3_pkey on t3
792 -> Index Scan using t1_pkey on t1
793 -> Index Scan using t2_pkey on t2
794 Index Cond: (id = t1.id)
797 /*+Leading(t3 t4 t4)*/
798 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
799 INFO: hint syntax error at or near "Leading(t3 t4 t4)"
800 DETAIL: Relation name "t4" is duplicate.
809 --------------------------------------------------
811 Merge Cond: (t1.id = t4.id)
813 Merge Cond: (t1.id = t3.id)
815 Merge Cond: (t1.id = t2.id)
816 -> Index Scan using t1_pkey on t1
817 -> Index Scan using t2_pkey on t2
818 -> Index Scan using t3_pkey on t3
824 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
826 -----------------------------------------------
828 -> Values Scan on "*VALUES*"
829 -> Index Scan using t1_pkey on t1
830 Index Cond: (id = "*VALUES*".column1)
834 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
843 -----------------------------------------------
845 -> Values Scan on "*VALUES*"
846 -> Index Scan using t1_pkey on t1
847 Index Cond: (id = "*VALUES*".column1)
850 /*+HashJoin(t1 *VALUES*)*/
851 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
854 HashJoin(*VALUES* t1)
860 -------------------------------------------
862 Hash Cond: (t1.id = "*VALUES*".column1)
865 -> Values Scan on "*VALUES*"
868 /*+HashJoin(t1 *VALUES*) IndexScan(t1) IndexScan(*VALUES*)*/
869 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
873 HashJoin(*VALUES* t1)
880 -------------------------------------------
882 Hash Cond: (t1.id = "*VALUES*".column1)
883 -> Index Scan using t1_pkey on t1
885 -> Values Scan on "*VALUES*"
888 -- single table scan hint test
889 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);
891 -----------------------------------------------------------------------------------------------------
892 Index Scan using t1_pkey on t1 (cost=1.89..10.16 rows=1 width=4)
893 Index Cond: (id = $3)
894 InitPlan 2 (returns $1)
895 -> Result (cost=0.94..0.95 rows=1 width=0)
896 InitPlan 1 (returns $0)
897 -> Limit (cost=0.00..0.94 rows=1 width=4)
898 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
899 Index Cond: ((id IS NOT NULL) AND (id < 10))
900 InitPlan 4 (returns $3)
901 -> Result (cost=0.94..0.95 rows=1 width=0)
902 InitPlan 3 (returns $2)
903 -> Limit (cost=0.00..0.94 rows=1 width=4)
904 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
905 Index Cond: ((id IS NOT NULL) AND (id < 10))
909 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);
918 -----------------------------------------------------------------------------------------------------
919 Index Scan using t1_pkey on t1 (cost=29.34..37.61 rows=1 width=4)
920 Index Cond: (id = $2)
921 InitPlan 1 (returns $0)
922 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
923 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
924 Recheck Cond: (id < 10)
925 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
926 Index Cond: (id < 10)
927 InitPlan 3 (returns $2)
928 -> Result (cost=0.94..0.95 rows=1 width=0)
929 InitPlan 2 (returns $1)
930 -> Limit (cost=0.00..0.94 rows=1 width=4)
931 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
932 Index Cond: ((id IS NOT NULL) AND (id < 10))
936 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);
945 -----------------------------------------------------------------------------------------------------
946 Index Scan using t1_pkey on t1 (cost=29.34..37.61 rows=1 width=4)
947 Index Cond: (id = $2)
948 InitPlan 2 (returns $1)
949 -> Result (cost=0.94..0.95 rows=1 width=0)
950 InitPlan 1 (returns $0)
951 -> Limit (cost=0.00..0.94 rows=1 width=4)
952 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
953 Index Cond: ((id IS NOT NULL) AND (id < 10))
954 InitPlan 3 (returns $2)
955 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
956 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
957 Recheck Cond: (id < 10)
958 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
959 Index Cond: (id < 10)
963 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);
972 -----------------------------------------------------------------------------------------------------
973 Bitmap Heap Scan on t1 (cost=6.15..10.17 rows=1 width=4)
974 Recheck Cond: (id = $3)
975 InitPlan 2 (returns $1)
976 -> Result (cost=0.94..0.95 rows=1 width=0)
977 InitPlan 1 (returns $0)
978 -> Limit (cost=0.00..0.94 rows=1 width=4)
979 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
980 Index Cond: ((id IS NOT NULL) AND (id < 10))
981 InitPlan 4 (returns $3)
982 -> Result (cost=0.94..0.95 rows=1 width=0)
983 InitPlan 3 (returns $2)
984 -> Limit (cost=0.00..0.94 rows=1 width=4)
985 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
986 Index Cond: ((id IS NOT NULL) AND (id < 10))
987 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
988 Index Cond: (id = $3)
991 /*+BitmapScan(v_1)BitmapScan(v_2)*/
992 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);
1002 ------------------------------------------------------------------------------------
1003 Index Scan using t1_pkey on t1 (cost=56.78..65.05 rows=1 width=4)
1004 Index Cond: (id = $1)
1005 InitPlan 1 (returns $0)
1006 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1007 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
1008 Recheck Cond: (id < 10)
1009 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1010 Index Cond: (id < 10)
1011 InitPlan 2 (returns $1)
1012 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1013 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
1014 Recheck Cond: (id < 10)
1015 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1016 Index Cond: (id < 10)
1019 /*+BitmapScan(v_1)BitmapScan(t1)*/
1020 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);
1030 -----------------------------------------------------------------------------------------------------
1031 Bitmap Heap Scan on t1 (cost=33.60..37.61 rows=1 width=4)
1032 Recheck Cond: (id = $2)
1033 InitPlan 1 (returns $0)
1034 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1035 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
1036 Recheck Cond: (id < 10)
1037 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1038 Index Cond: (id < 10)
1039 InitPlan 3 (returns $2)
1040 -> Result (cost=0.94..0.95 rows=1 width=0)
1041 InitPlan 2 (returns $1)
1042 -> Limit (cost=0.00..0.94 rows=1 width=4)
1043 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
1044 Index Cond: ((id IS NOT NULL) AND (id < 10))
1045 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1046 Index Cond: (id = $2)
1049 /*+BitmapScan(v_2)BitmapScan(t1)*/
1050 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);
1060 -----------------------------------------------------------------------------------------------------
1061 Bitmap Heap Scan on t1 (cost=33.60..37.61 rows=1 width=4)
1062 Recheck Cond: (id = $2)
1063 InitPlan 2 (returns $1)
1064 -> Result (cost=0.94..0.95 rows=1 width=0)
1065 InitPlan 1 (returns $0)
1066 -> Limit (cost=0.00..0.94 rows=1 width=4)
1067 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
1068 Index Cond: ((id IS NOT NULL) AND (id < 10))
1069 InitPlan 3 (returns $2)
1070 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1071 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
1072 Recheck Cond: (id < 10)
1073 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1074 Index Cond: (id < 10)
1075 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1076 Index Cond: (id = $2)
1079 /*+BitmapScan(v_1)BitmapScan(v_2)BitmapScan(t1)*/
1080 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);
1091 ------------------------------------------------------------------------------------
1092 Bitmap Heap Scan on t1 (cost=61.04..65.05 rows=1 width=4)
1093 Recheck Cond: (id = $1)
1094 InitPlan 1 (returns $0)
1095 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1096 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
1097 Recheck Cond: (id < 10)
1098 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1099 Index Cond: (id < 10)
1100 InitPlan 2 (returns $1)
1101 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1102 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
1103 Recheck Cond: (id < 10)
1104 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1105 Index Cond: (id < 10)
1106 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1107 Index Cond: (id = $1)
1110 -- full scan hint pattern test
1111 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1113 -----------------------------------
1115 TID Cond: (ctid = '(1,1)'::tid)
1120 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1129 -------------------------------------------------
1131 Filter: ((id < 10) AND (ctid = '(1,1)'::tid))
1135 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1144 ---------------------------------
1145 Index Scan using t1_pkey on t1
1146 Index Cond: (id < 10)
1147 Filter: (ctid = '(1,1)'::tid)
1151 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1160 ------------------------------------
1161 Bitmap Heap Scan on t1
1162 Recheck Cond: (id < 10)
1163 Filter: (ctid = '(1,1)'::tid)
1164 -> Bitmap Index Scan on t1_pkey
1165 Index Cond: (id < 10)
1169 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1178 -----------------------------------
1180 TID Cond: (ctid = '(1,1)'::tid)
1185 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1194 -----------------------------------
1196 TID Cond: (ctid = '(1,1)'::tid)
1200 /*+NoIndexScan(t1)*/
1201 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1210 -----------------------------------
1212 TID Cond: (ctid = '(1,1)'::tid)
1216 /*+NoBitmapScan(t1)*/
1217 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1226 -----------------------------------
1228 TID Cond: (ctid = '(1,1)'::tid)
1233 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1242 ---------------------------------
1243 Index Scan using t1_pkey on t1
1244 Index Cond: (id < 10)
1245 Filter: (ctid = '(1,1)'::tid)
1248 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1250 -----------------------------------------
1252 Join Filter: (t1.id = t2.id)
1254 TID Cond: (ctid = '(1,1)'::tid)
1256 TID Cond: (ctid = '(1,1)'::tid)
1260 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1269 -----------------------------------------
1271 Join Filter: (t1.id = t2.id)
1273 Filter: (ctid = '(1,1)'::tid)
1275 TID Cond: (ctid = '(1,1)'::tid)
1279 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1288 -----------------------------------------
1290 Join Filter: (t1.id = t2.id)
1292 TID Cond: (ctid = '(1,1)'::tid)
1294 Filter: (ctid = '(1,1)'::tid)
1297 /*+SeqScan(t1) SeqScan(t2)*/
1298 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1308 ---------------------------------------
1310 Join Filter: (t1.id = t2.id)
1312 Filter: (ctid = '(1,1)'::tid)
1314 Filter: (ctid = '(1,1)'::tid)
1317 /*+SeqScan(t1) IndexScan(t2)*/
1318 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1328 ---------------------------------------
1331 Filter: (ctid = '(1,1)'::tid)
1332 -> Index Scan using t2_pkey on t2
1333 Index Cond: (id = t1.id)
1334 Filter: (ctid = '(1,1)'::tid)
1337 /*+SeqScan(t1) BitmapScan(t2)*/
1338 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1348 ------------------------------------------
1351 Filter: (ctid = '(1,1)'::tid)
1352 -> Bitmap Heap Scan on t2
1353 Recheck Cond: (id = t1.id)
1354 Filter: (ctid = '(1,1)'::tid)
1355 -> Bitmap Index Scan on t2_pkey
1356 Index Cond: (id = t1.id)
1359 /*+SeqScan(t1) TidScan(t2)*/
1360 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1370 -----------------------------------------
1372 Join Filter: (t1.id = t2.id)
1374 Filter: (ctid = '(1,1)'::tid)
1376 TID Cond: (ctid = '(1,1)'::tid)
1379 /*+SeqScan(t1) NoSeqScan(t2)*/
1380 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1390 -----------------------------------------
1392 Join Filter: (t1.id = t2.id)
1394 Filter: (ctid = '(1,1)'::tid)
1396 TID Cond: (ctid = '(1,1)'::tid)
1399 /*+SeqScan(t1) NoIndexScan(t2)*/
1400 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1410 -----------------------------------------
1412 Join Filter: (t1.id = t2.id)
1414 Filter: (ctid = '(1,1)'::tid)
1416 TID Cond: (ctid = '(1,1)'::tid)
1419 /*+SeqScan(t1) NoBitmapScan(t2)*/
1420 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1430 -----------------------------------------
1432 Join Filter: (t1.id = t2.id)
1434 Filter: (ctid = '(1,1)'::tid)
1436 TID Cond: (ctid = '(1,1)'::tid)
1439 /*+SeqScan(t1) NoTidScan(t2)*/
1440 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1450 ---------------------------------------
1453 Filter: (ctid = '(1,1)'::tid)
1454 -> Index Scan using t2_pkey on t2
1455 Index Cond: (id = t1.id)
1456 Filter: (ctid = '(1,1)'::tid)
1460 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1469 -----------------------------------------
1472 TID Cond: (ctid = '(1,1)'::tid)
1473 -> Index Scan using t1_pkey on t1
1474 Index Cond: (id = t2.id)
1475 Filter: (ctid = '(1,1)'::tid)
1479 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1488 -----------------------------------------
1491 TID Cond: (ctid = '(1,1)'::tid)
1492 -> Index Scan using t2_pkey on t2
1493 Index Cond: (id = t1.id)
1494 Filter: (ctid = '(1,1)'::tid)
1497 /*+IndexScan(t1) SeqScan(t2)*/
1498 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1508 ---------------------------------------
1511 Filter: (ctid = '(1,1)'::tid)
1512 -> Index Scan using t1_pkey on t1
1513 Index Cond: (id = t2.id)
1514 Filter: (ctid = '(1,1)'::tid)
1517 /*+IndexScan(t1) IndexScan(t2)*/
1518 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1528 ---------------------------------------
1530 -> Index Scan using t2_pkey on t2
1531 Filter: (ctid = '(1,1)'::tid)
1532 -> Index Scan using t1_pkey on t1
1533 Index Cond: (id = t2.id)
1534 Filter: (ctid = '(1,1)'::tid)
1537 /*+IndexScan(t1) BitmapScan(t2)*/
1538 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1548 ------------------------------------------
1550 -> Index Scan using t1_pkey on t1
1551 Filter: (ctid = '(1,1)'::tid)
1552 -> Bitmap Heap Scan on t2
1553 Recheck Cond: (id = t1.id)
1554 Filter: (ctid = '(1,1)'::tid)
1555 -> Bitmap Index Scan on t2_pkey
1556 Index Cond: (id = t1.id)
1559 /*+IndexScan(t1) TidScan(t2)*/
1560 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1570 -----------------------------------------
1573 TID Cond: (ctid = '(1,1)'::tid)
1574 -> Index Scan using t1_pkey on t1
1575 Index Cond: (id = t2.id)
1576 Filter: (ctid = '(1,1)'::tid)
1579 /*+IndexScan(t1) NoSeqScan(t2)*/
1580 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1590 -----------------------------------------
1593 TID Cond: (ctid = '(1,1)'::tid)
1594 -> Index Scan using t1_pkey on t1
1595 Index Cond: (id = t2.id)
1596 Filter: (ctid = '(1,1)'::tid)
1599 /*+IndexScan(t1) NoIndexScan(t2)*/
1600 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1610 -----------------------------------------
1613 TID Cond: (ctid = '(1,1)'::tid)
1614 -> Index Scan using t1_pkey on t1
1615 Index Cond: (id = t2.id)
1616 Filter: (ctid = '(1,1)'::tid)
1619 /*+IndexScan(t1) NoBitmapScan(t2)*/
1620 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1630 -----------------------------------------
1633 TID Cond: (ctid = '(1,1)'::tid)
1634 -> Index Scan using t1_pkey on t1
1635 Index Cond: (id = t2.id)
1636 Filter: (ctid = '(1,1)'::tid)
1639 /*+IndexScan(t1) NoTidScan(t2)*/
1640 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1650 ---------------------------------------
1653 Filter: (ctid = '(1,1)'::tid)
1654 -> Index Scan using t1_pkey on t1
1655 Index Cond: (id = t2.id)
1656 Filter: (ctid = '(1,1)'::tid)
1660 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1669 ------------------------------------------
1672 TID Cond: (ctid = '(1,1)'::tid)
1673 -> Bitmap Heap Scan on t1
1674 Recheck Cond: (id = t2.id)
1675 Filter: (ctid = '(1,1)'::tid)
1676 -> Bitmap Index Scan on t1_pkey
1677 Index Cond: (id = t2.id)
1681 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1690 ------------------------------------------
1693 TID Cond: (ctid = '(1,1)'::tid)
1694 -> Bitmap Heap Scan on t2
1695 Recheck Cond: (id = t1.id)
1696 Filter: (ctid = '(1,1)'::tid)
1697 -> Bitmap Index Scan on t2_pkey
1698 Index Cond: (id = t1.id)
1702 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1711 ------------------------------------------
1714 TID Cond: (ctid = '(1,1)'::tid)
1715 -> Bitmap Heap Scan on t2
1716 Recheck Cond: (id = t1.id)
1717 Filter: (ctid = '(1,1)'::tid)
1718 -> Bitmap Index Scan on t2_pkey
1719 Index Cond: (id = t1.id)
1722 /*+BitmapScan(t1) SeqScan(t2)*/
1723 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1733 ------------------------------------------
1736 Filter: (ctid = '(1,1)'::tid)
1737 -> Bitmap Heap Scan on t1
1738 Recheck Cond: (id = t2.id)
1739 Filter: (ctid = '(1,1)'::tid)
1740 -> Bitmap Index Scan on t1_pkey
1741 Index Cond: (id = t2.id)
1744 /*+BitmapScan(t1) IndexScan(t2)*/
1745 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1755 ------------------------------------------
1757 -> Index Scan using t2_pkey on t2
1758 Filter: (ctid = '(1,1)'::tid)
1759 -> Bitmap Heap Scan on t1
1760 Recheck Cond: (id = t2.id)
1761 Filter: (ctid = '(1,1)'::tid)
1762 -> Bitmap Index Scan on t1_pkey
1763 Index Cond: (id = t2.id)
1766 /*+BitmapScan(t1) BitmapScan(t2)*/
1767 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1777 ------------------------------------------
1779 -> Index Scan using t2_pkey on t2
1780 Filter: (ctid = '(1,1)'::tid)
1781 -> Bitmap Heap Scan on t1
1782 Recheck Cond: (id = t2.id)
1783 Filter: (ctid = '(1,1)'::tid)
1784 -> Bitmap Index Scan on t1_pkey
1785 Index Cond: (id = t2.id)
1788 /*+BitmapScan(t1) TidScan(t2)*/
1789 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1799 ------------------------------------------
1802 TID Cond: (ctid = '(1,1)'::tid)
1803 -> Bitmap Heap Scan on t1
1804 Recheck Cond: (id = t2.id)
1805 Filter: (ctid = '(1,1)'::tid)
1806 -> Bitmap Index Scan on t1_pkey
1807 Index Cond: (id = t2.id)
1810 /*+BitmapScan(t1) NoSeqScan(t2)*/
1811 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1821 ------------------------------------------
1824 TID Cond: (ctid = '(1,1)'::tid)
1825 -> Bitmap Heap Scan on t1
1826 Recheck Cond: (id = t2.id)
1827 Filter: (ctid = '(1,1)'::tid)
1828 -> Bitmap Index Scan on t1_pkey
1829 Index Cond: (id = t2.id)
1832 /*+BitmapScan(t1) NoIndexScan(t2)*/
1833 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1843 ------------------------------------------
1846 TID Cond: (ctid = '(1,1)'::tid)
1847 -> Bitmap Heap Scan on t1
1848 Recheck Cond: (id = t2.id)
1849 Filter: (ctid = '(1,1)'::tid)
1850 -> Bitmap Index Scan on t1_pkey
1851 Index Cond: (id = t2.id)
1854 /*+BitmapScan(t1) NoBitmapScan(t2)*/
1855 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1865 ------------------------------------------
1868 TID Cond: (ctid = '(1,1)'::tid)
1869 -> Bitmap Heap Scan on t1
1870 Recheck Cond: (id = t2.id)
1871 Filter: (ctid = '(1,1)'::tid)
1872 -> Bitmap Index Scan on t1_pkey
1873 Index Cond: (id = t2.id)
1876 /*+BitmapScan(t1) NoTidScan(t2)*/
1877 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1887 ------------------------------------------
1890 Filter: (ctid = '(1,1)'::tid)
1891 -> Bitmap Heap Scan on t1
1892 Recheck Cond: (id = t2.id)
1893 Filter: (ctid = '(1,1)'::tid)
1894 -> Bitmap Index Scan on t1_pkey
1895 Index Cond: (id = t2.id)
1899 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1908 -----------------------------------------
1910 Join Filter: (t1.id = t2.id)
1912 TID Cond: (ctid = '(1,1)'::tid)
1914 TID Cond: (ctid = '(1,1)'::tid)
1918 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1927 -----------------------------------------
1929 Join Filter: (t1.id = t2.id)
1931 TID Cond: (ctid = '(1,1)'::tid)
1933 TID Cond: (ctid = '(1,1)'::tid)
1936 /*+TidScan(t1) SeqScan(t2)*/
1937 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1947 -----------------------------------------
1949 Join Filter: (t1.id = t2.id)
1951 TID Cond: (ctid = '(1,1)'::tid)
1953 Filter: (ctid = '(1,1)'::tid)
1956 /*+TidScan(t1) IndexScan(t2)*/
1957 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1967 -----------------------------------------
1970 TID Cond: (ctid = '(1,1)'::tid)
1971 -> Index Scan using t2_pkey on t2
1972 Index Cond: (id = t1.id)
1973 Filter: (ctid = '(1,1)'::tid)
1976 /*+TidScan(t1) BitmapScan(t2)*/
1977 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1987 ------------------------------------------
1990 TID Cond: (ctid = '(1,1)'::tid)
1991 -> Bitmap Heap Scan on t2
1992 Recheck Cond: (id = t1.id)
1993 Filter: (ctid = '(1,1)'::tid)
1994 -> Bitmap Index Scan on t2_pkey
1995 Index Cond: (id = t1.id)
1998 /*+TidScan(t1) TidScan(t2)*/
1999 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2009 -----------------------------------------
2011 Join Filter: (t1.id = t2.id)
2013 TID Cond: (ctid = '(1,1)'::tid)
2015 TID Cond: (ctid = '(1,1)'::tid)
2018 /*+TidScan(t1) NoSeqScan(t2)*/
2019 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2029 -----------------------------------------
2031 Join Filter: (t1.id = t2.id)
2033 TID Cond: (ctid = '(1,1)'::tid)
2035 TID Cond: (ctid = '(1,1)'::tid)
2038 /*+TidScan(t1) NoIndexScan(t2)*/
2039 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2049 -----------------------------------------
2051 Join Filter: (t1.id = t2.id)
2053 TID Cond: (ctid = '(1,1)'::tid)
2055 TID Cond: (ctid = '(1,1)'::tid)
2058 /*+TidScan(t1) NoBitmapScan(t2)*/
2059 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2069 -----------------------------------------
2071 Join Filter: (t1.id = t2.id)
2073 TID Cond: (ctid = '(1,1)'::tid)
2075 TID Cond: (ctid = '(1,1)'::tid)
2078 /*+TidScan(t1) NoTidScan(t2)*/
2079 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2089 -----------------------------------------
2092 TID Cond: (ctid = '(1,1)'::tid)
2093 -> Index Scan using t2_pkey on t2
2094 Index Cond: (id = t1.id)
2095 Filter: (ctid = '(1,1)'::tid)
2099 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2108 -----------------------------------------
2110 Join Filter: (t1.id = t2.id)
2112 TID Cond: (ctid = '(1,1)'::tid)
2114 TID Cond: (ctid = '(1,1)'::tid)
2118 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2127 -----------------------------------------
2129 Join Filter: (t1.id = t2.id)
2131 TID Cond: (ctid = '(1,1)'::tid)
2133 TID Cond: (ctid = '(1,1)'::tid)
2136 /*+NoSeqScan(t1) SeqScan(t2)*/
2137 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2147 -----------------------------------------
2149 Join Filter: (t1.id = t2.id)
2151 TID Cond: (ctid = '(1,1)'::tid)
2153 Filter: (ctid = '(1,1)'::tid)
2156 /*+NoSeqScan(t1) IndexScan(t2)*/
2157 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2167 -----------------------------------------
2170 TID Cond: (ctid = '(1,1)'::tid)
2171 -> Index Scan using t2_pkey on t2
2172 Index Cond: (id = t1.id)
2173 Filter: (ctid = '(1,1)'::tid)
2176 /*+NoSeqScan(t1) BitmapScan(t2)*/
2177 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2187 ------------------------------------------
2190 TID Cond: (ctid = '(1,1)'::tid)
2191 -> Bitmap Heap Scan on t2
2192 Recheck Cond: (id = t1.id)
2193 Filter: (ctid = '(1,1)'::tid)
2194 -> Bitmap Index Scan on t2_pkey
2195 Index Cond: (id = t1.id)
2198 /*+NoSeqScan(t1) TidScan(t2)*/
2199 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2209 -----------------------------------------
2211 Join Filter: (t1.id = t2.id)
2213 TID Cond: (ctid = '(1,1)'::tid)
2215 TID Cond: (ctid = '(1,1)'::tid)
2218 /*+NoSeqScan(t1) NoSeqScan(t2)*/
2219 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2229 -----------------------------------------
2231 Join Filter: (t1.id = t2.id)
2233 TID Cond: (ctid = '(1,1)'::tid)
2235 TID Cond: (ctid = '(1,1)'::tid)
2238 /*+NoSeqScan(t1) NoIndexScan(t2)*/
2239 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2249 -----------------------------------------
2251 Join Filter: (t1.id = t2.id)
2253 TID Cond: (ctid = '(1,1)'::tid)
2255 TID Cond: (ctid = '(1,1)'::tid)
2258 /*+NoSeqScan(t1) NoBitmapScan(t2)*/
2259 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2269 -----------------------------------------
2271 Join Filter: (t1.id = t2.id)
2273 TID Cond: (ctid = '(1,1)'::tid)
2275 TID Cond: (ctid = '(1,1)'::tid)
2278 /*+NoSeqScan(t1) NoTidScan(t2)*/
2279 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2289 -----------------------------------------
2292 TID Cond: (ctid = '(1,1)'::tid)
2293 -> Index Scan using t2_pkey on t2
2294 Index Cond: (id = t1.id)
2295 Filter: (ctid = '(1,1)'::tid)
2298 /*+NoIndexScan(t1)*/
2299 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2308 -----------------------------------------
2310 Join Filter: (t1.id = t2.id)
2312 TID Cond: (ctid = '(1,1)'::tid)
2314 TID Cond: (ctid = '(1,1)'::tid)
2317 /*+NoIndexScan(t2)*/
2318 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2327 -----------------------------------------
2329 Join Filter: (t1.id = t2.id)
2331 TID Cond: (ctid = '(1,1)'::tid)
2333 TID Cond: (ctid = '(1,1)'::tid)
2336 /*+NoIndexScan(t1) SeqScan(t2)*/
2337 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2347 -----------------------------------------
2349 Join Filter: (t1.id = t2.id)
2351 TID Cond: (ctid = '(1,1)'::tid)
2353 Filter: (ctid = '(1,1)'::tid)
2356 /*+NoIndexScan(t1) IndexScan(t2)*/
2357 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2367 -----------------------------------------
2370 TID Cond: (ctid = '(1,1)'::tid)
2371 -> Index Scan using t2_pkey on t2
2372 Index Cond: (id = t1.id)
2373 Filter: (ctid = '(1,1)'::tid)
2376 /*+NoIndexScan(t1) BitmapScan(t2)*/
2377 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2387 ------------------------------------------
2390 TID Cond: (ctid = '(1,1)'::tid)
2391 -> Bitmap Heap Scan on t2
2392 Recheck Cond: (id = t1.id)
2393 Filter: (ctid = '(1,1)'::tid)
2394 -> Bitmap Index Scan on t2_pkey
2395 Index Cond: (id = t1.id)
2398 /*+NoIndexScan(t1) TidScan(t2)*/
2399 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2409 -----------------------------------------
2411 Join Filter: (t1.id = t2.id)
2413 TID Cond: (ctid = '(1,1)'::tid)
2415 TID Cond: (ctid = '(1,1)'::tid)
2418 /*+NoIndexScan(t1) NoSeqScan(t2)*/
2419 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2429 -----------------------------------------
2431 Join Filter: (t1.id = t2.id)
2433 TID Cond: (ctid = '(1,1)'::tid)
2435 TID Cond: (ctid = '(1,1)'::tid)
2438 /*+NoIndexScan(t1) NoIndexScan(t2)*/
2439 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2449 -----------------------------------------
2451 Join Filter: (t1.id = t2.id)
2453 TID Cond: (ctid = '(1,1)'::tid)
2455 TID Cond: (ctid = '(1,1)'::tid)
2458 /*+NoIndexScan(t1) NoBitmapScan(t2)*/
2459 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2469 -----------------------------------------
2471 Join Filter: (t1.id = t2.id)
2473 TID Cond: (ctid = '(1,1)'::tid)
2475 TID Cond: (ctid = '(1,1)'::tid)
2478 /*+NoIndexScan(t1) NoTidScan(t2)*/
2479 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2489 -----------------------------------------
2492 TID Cond: (ctid = '(1,1)'::tid)
2493 -> Index Scan using t2_pkey on t2
2494 Index Cond: (id = t1.id)
2495 Filter: (ctid = '(1,1)'::tid)
2498 /*+NoBitmapScan(t1)*/
2499 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2508 -----------------------------------------
2510 Join Filter: (t1.id = t2.id)
2512 TID Cond: (ctid = '(1,1)'::tid)
2514 TID Cond: (ctid = '(1,1)'::tid)
2517 /*+NoBitmapScan(t2)*/
2518 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2527 -----------------------------------------
2529 Join Filter: (t1.id = t2.id)
2531 TID Cond: (ctid = '(1,1)'::tid)
2533 TID Cond: (ctid = '(1,1)'::tid)
2536 /*+NoBitmapScan(t1) SeqScan(t2)*/
2537 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2547 -----------------------------------------
2549 Join Filter: (t1.id = t2.id)
2551 TID Cond: (ctid = '(1,1)'::tid)
2553 Filter: (ctid = '(1,1)'::tid)
2556 /*+NoBitmapScan(t1) IndexScan(t2)*/
2557 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2567 -----------------------------------------
2570 TID Cond: (ctid = '(1,1)'::tid)
2571 -> Index Scan using t2_pkey on t2
2572 Index Cond: (id = t1.id)
2573 Filter: (ctid = '(1,1)'::tid)
2576 /*+NoBitmapScan(t1) BitmapScan(t2)*/
2577 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2587 ------------------------------------------
2590 TID Cond: (ctid = '(1,1)'::tid)
2591 -> Bitmap Heap Scan on t2
2592 Recheck Cond: (id = t1.id)
2593 Filter: (ctid = '(1,1)'::tid)
2594 -> Bitmap Index Scan on t2_pkey
2595 Index Cond: (id = t1.id)
2598 /*+NoBitmapScan(t1) TidScan(t2)*/
2599 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2609 -----------------------------------------
2611 Join Filter: (t1.id = t2.id)
2613 TID Cond: (ctid = '(1,1)'::tid)
2615 TID Cond: (ctid = '(1,1)'::tid)
2618 /*+NoBitmapScan(t1) NoSeqScan(t2)*/
2619 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2629 -----------------------------------------
2631 Join Filter: (t1.id = t2.id)
2633 TID Cond: (ctid = '(1,1)'::tid)
2635 TID Cond: (ctid = '(1,1)'::tid)
2638 /*+NoBitmapScan(t1) NoIndexScan(t2)*/
2639 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2649 -----------------------------------------
2651 Join Filter: (t1.id = t2.id)
2653 TID Cond: (ctid = '(1,1)'::tid)
2655 TID Cond: (ctid = '(1,1)'::tid)
2658 /*+NoBitmapScan(t1) NoBitmapScan(t2)*/
2659 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2669 -----------------------------------------
2671 Join Filter: (t1.id = t2.id)
2673 TID Cond: (ctid = '(1,1)'::tid)
2675 TID Cond: (ctid = '(1,1)'::tid)
2678 /*+NoBitmapScan(t1) NoTidScan(t2)*/
2679 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2689 -----------------------------------------
2692 TID Cond: (ctid = '(1,1)'::tid)
2693 -> Index Scan using t2_pkey on t2
2694 Index Cond: (id = t1.id)
2695 Filter: (ctid = '(1,1)'::tid)
2699 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2708 -----------------------------------------
2711 TID Cond: (ctid = '(1,1)'::tid)
2712 -> Index Scan using t1_pkey on t1
2713 Index Cond: (id = t2.id)
2714 Filter: (ctid = '(1,1)'::tid)
2718 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2727 -----------------------------------------
2730 TID Cond: (ctid = '(1,1)'::tid)
2731 -> Index Scan using t2_pkey on t2
2732 Index Cond: (id = t1.id)
2733 Filter: (ctid = '(1,1)'::tid)
2736 /*+NoTidScan(t1) SeqScan(t2)*/
2737 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2747 ---------------------------------------
2750 Filter: (ctid = '(1,1)'::tid)
2751 -> Index Scan using t1_pkey on t1
2752 Index Cond: (id = t2.id)
2753 Filter: (ctid = '(1,1)'::tid)
2756 /*+NoTidScan(t1) IndexScan(t2)*/
2757 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2767 ---------------------------------------
2769 -> Index Scan using t2_pkey on t2
2770 Filter: (ctid = '(1,1)'::tid)
2771 -> Index Scan using t1_pkey on t1
2772 Index Cond: (id = t2.id)
2773 Filter: (ctid = '(1,1)'::tid)
2776 /*+NoTidScan(t1) BitmapScan(t2)*/
2777 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2787 ------------------------------------------
2790 Filter: (ctid = '(1,1)'::tid)
2791 -> Bitmap Heap Scan on t2
2792 Recheck Cond: (id = t1.id)
2793 Filter: (ctid = '(1,1)'::tid)
2794 -> Bitmap Index Scan on t2_pkey
2795 Index Cond: (id = t1.id)
2798 /*+NoTidScan(t1) TidScan(t2)*/
2799 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2809 -----------------------------------------
2812 TID Cond: (ctid = '(1,1)'::tid)
2813 -> Index Scan using t1_pkey on t1
2814 Index Cond: (id = t2.id)
2815 Filter: (ctid = '(1,1)'::tid)
2818 /*+NoTidScan(t1) NoSeqScan(t2)*/
2819 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2829 -----------------------------------------
2832 TID Cond: (ctid = '(1,1)'::tid)
2833 -> Index Scan using t1_pkey on t1
2834 Index Cond: (id = t2.id)
2835 Filter: (ctid = '(1,1)'::tid)
2838 /*+NoTidScan(t1) NoIndexScan(t2)*/
2839 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2849 -----------------------------------------
2852 TID Cond: (ctid = '(1,1)'::tid)
2853 -> Index Scan using t1_pkey on t1
2854 Index Cond: (id = t2.id)
2855 Filter: (ctid = '(1,1)'::tid)
2858 /*+NoTidScan(t1) NoBitmapScan(t2)*/
2859 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2869 -----------------------------------------
2872 TID Cond: (ctid = '(1,1)'::tid)
2873 -> Index Scan using t1_pkey on t1
2874 Index Cond: (id = t2.id)
2875 Filter: (ctid = '(1,1)'::tid)
2878 /*+NoTidScan(t1) NoTidScan(t2)*/
2879 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2889 ---------------------------------------
2892 Filter: (ctid = '(1,1)'::tid)
2893 -> Index Scan using t1_pkey on t1
2894 Index Cond: (id = t2.id)
2895 Filter: (ctid = '(1,1)'::tid)
2899 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;
2901 -----------------------------------------
2903 Join Filter: (t1.id = t2.id)
2905 TID Cond: (ctid = '(1,1)'::tid)
2908 TID Cond: (ctid = '(1,1)'::tid)
2912 /*+BitmapScan(t1) BitmapScan(t2)*/
2913 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;
2923 --------------------------------------------------------
2925 -> Bitmap Heap Scan on t2
2926 Recheck Cond: (id < 10)
2927 Filter: (ctid = '(1,1)'::tid)
2928 -> Bitmap Index Scan on t2_pkey
2929 Index Cond: (id < 10)
2930 -> Bitmap Heap Scan on t1
2931 Recheck Cond: ((id < 10) AND (id = t2.id))
2932 Filter: (ctid = '(1,1)'::tid)
2933 -> Bitmap Index Scan on t1_pkey
2934 Index Cond: ((id < 10) AND (id = t2.id))
2938 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2940 ------------------------------
2942 Hash Cond: (t1.id = t2.id)
2948 /*+MergeJoin(t1 t2)*/
2949 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2958 --------------------------------------
2960 Merge Cond: (t1.id = t2.id)
2961 -> Index Scan using t1_pkey on t1
2962 -> Index Scan using t2_pkey on t2
2965 /*+NestLoop(t1 t2)*/
2966 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2975 ------------------------------
2977 Hash Cond: (t1.id = t2.id)
2983 -- inherite table test
2984 SET constraint_exclusion TO off;
2985 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
2987 -----------------------------------------------------------------------------
2991 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2992 -> Seq Scan on p1_c1 p1
2993 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2994 -> Seq Scan on p1_c2 p1
2995 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2996 -> Seq Scan on p1_c3 p1
2997 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2998 -> Tid Scan on p1_c4 p1
2999 TID Cond: (ctid = '(1,1)'::tid)
3000 Filter: ((id >= 50) AND (id <= 51))
3001 -> Tid Scan on p1_c1_c1 p1
3002 TID Cond: (ctid = '(1,1)'::tid)
3003 Filter: ((id >= 50) AND (id <= 51))
3004 -> Tid Scan on p1_c1_c2 p1
3005 TID Cond: (ctid = '(1,1)'::tid)
3006 Filter: ((id >= 50) AND (id <= 51))
3007 -> Tid Scan on p1_c3_c1 p1
3008 TID Cond: (ctid = '(1,1)'::tid)
3009 Filter: ((id >= 50) AND (id <= 51))
3010 -> Tid Scan on p1_c3_c2 p1
3011 TID Cond: (ctid = '(1,1)'::tid)
3012 Filter: ((id >= 50) AND (id <= 51))
3015 SET constraint_exclusion TO on;
3016 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3018 -----------------------------------------------------------------------------
3022 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3023 -> Seq Scan on p1_c1 p1
3024 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3025 -> Tid Scan on p1_c1_c1 p1
3026 TID Cond: (ctid = '(1,1)'::tid)
3027 Filter: ((id >= 50) AND (id <= 51))
3028 -> Tid Scan on p1_c1_c2 p1
3029 TID Cond: (ctid = '(1,1)'::tid)
3030 Filter: ((id >= 50) AND (id <= 51))
3033 SET constraint_exclusion TO off;
3035 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3044 -----------------------------------------------------------------------------
3048 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3049 -> Seq Scan on p1_c1 p1
3050 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3051 -> Seq Scan on p1_c2 p1
3052 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3053 -> Seq Scan on p1_c3 p1
3054 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3055 -> Seq Scan on p1_c4 p1
3056 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3057 -> Seq Scan on p1_c1_c1 p1
3058 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3059 -> Seq Scan on p1_c1_c2 p1
3060 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3061 -> Seq Scan on p1_c3_c1 p1
3062 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3063 -> Seq Scan on p1_c3_c2 p1
3064 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3068 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3077 -----------------------------------------------------------
3080 -> Index Scan using p1_pkey on p1
3081 Index Cond: ((id >= 50) AND (id <= 51))
3082 Filter: (ctid = '(1,1)'::tid)
3083 -> Index Scan using p1_c1_pkey on p1_c1 p1
3084 Index Cond: ((id >= 50) AND (id <= 51))
3085 Filter: (ctid = '(1,1)'::tid)
3086 -> Index Scan using p1_c2_pkey on p1_c2 p1
3087 Index Cond: ((id >= 50) AND (id <= 51))
3088 Filter: (ctid = '(1,1)'::tid)
3089 -> Index Scan using p1_c3_pkey on p1_c3 p1
3090 Index Cond: ((id >= 50) AND (id <= 51))
3091 Filter: (ctid = '(1,1)'::tid)
3092 -> Index Scan using p1_c4_pkey on p1_c4 p1
3093 Index Cond: ((id >= 50) AND (id <= 51))
3094 Filter: (ctid = '(1,1)'::tid)
3095 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
3096 Index Cond: ((id >= 50) AND (id <= 51))
3097 Filter: (ctid = '(1,1)'::tid)
3098 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
3099 Index Cond: ((id >= 50) AND (id <= 51))
3100 Filter: (ctid = '(1,1)'::tid)
3101 -> Index Scan using p1_c3_c1_pkey on p1_c3_c1 p1
3102 Index Cond: ((id >= 50) AND (id <= 51))
3103 Filter: (ctid = '(1,1)'::tid)
3104 -> Index Scan using p1_c3_c2_pkey on p1_c3_c2 p1
3105 Index Cond: ((id >= 50) AND (id <= 51))
3106 Filter: (ctid = '(1,1)'::tid)
3110 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3119 -------------------------------------------------------------
3122 -> Bitmap Heap Scan on p1
3123 Recheck Cond: ((id >= 50) AND (id <= 51))
3124 Filter: (ctid = '(1,1)'::tid)
3125 -> Bitmap Index Scan on p1_pkey
3126 Index Cond: ((id >= 50) AND (id <= 51))
3127 -> Bitmap Heap Scan on p1_c1 p1
3128 Recheck Cond: ((id >= 50) AND (id <= 51))
3129 Filter: (ctid = '(1,1)'::tid)
3130 -> Bitmap Index Scan on p1_c1_pkey
3131 Index Cond: ((id >= 50) AND (id <= 51))
3132 -> Bitmap Heap Scan on p1_c2 p1
3133 Recheck Cond: ((id >= 50) AND (id <= 51))
3134 Filter: (ctid = '(1,1)'::tid)
3135 -> Bitmap Index Scan on p1_c2_pkey
3136 Index Cond: ((id >= 50) AND (id <= 51))
3137 -> Bitmap Heap Scan on p1_c3 p1
3138 Recheck Cond: ((id >= 50) AND (id <= 51))
3139 Filter: (ctid = '(1,1)'::tid)
3140 -> Bitmap Index Scan on p1_c3_pkey
3141 Index Cond: ((id >= 50) AND (id <= 51))
3142 -> Bitmap Heap Scan on p1_c4 p1
3143 Recheck Cond: ((id >= 50) AND (id <= 51))
3144 Filter: (ctid = '(1,1)'::tid)
3145 -> Bitmap Index Scan on p1_c4_pkey
3146 Index Cond: ((id >= 50) AND (id <= 51))
3147 -> Bitmap Heap Scan on p1_c1_c1 p1
3148 Recheck Cond: ((id >= 50) AND (id <= 51))
3149 Filter: (ctid = '(1,1)'::tid)
3150 -> Bitmap Index Scan on p1_c1_c1_pkey
3151 Index Cond: ((id >= 50) AND (id <= 51))
3152 -> Bitmap Heap Scan on p1_c1_c2 p1
3153 Recheck Cond: ((id >= 50) AND (id <= 51))
3154 Filter: (ctid = '(1,1)'::tid)
3155 -> Bitmap Index Scan on p1_c1_c2_pkey
3156 Index Cond: ((id >= 50) AND (id <= 51))
3157 -> Bitmap Heap Scan on p1_c3_c1 p1
3158 Recheck Cond: ((id >= 50) AND (id <= 51))
3159 Filter: (ctid = '(1,1)'::tid)
3160 -> Bitmap Index Scan on p1_c3_c1_pkey
3161 Index Cond: ((id >= 50) AND (id <= 51))
3162 -> Bitmap Heap Scan on p1_c3_c2 p1
3163 Recheck Cond: ((id >= 50) AND (id <= 51))
3164 Filter: (ctid = '(1,1)'::tid)
3165 -> Bitmap Index Scan on p1_c3_c2_pkey
3166 Index Cond: ((id >= 50) AND (id <= 51))
3170 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3179 ---------------------------------------------------
3183 TID Cond: (ctid = '(1,1)'::tid)
3184 Filter: ((id >= 50) AND (id <= 51))
3185 -> Tid Scan on p1_c1 p1
3186 TID Cond: (ctid = '(1,1)'::tid)
3187 Filter: ((id >= 50) AND (id <= 51))
3188 -> Tid Scan on p1_c2 p1
3189 TID Cond: (ctid = '(1,1)'::tid)
3190 Filter: ((id >= 50) AND (id <= 51))
3191 -> Tid Scan on p1_c3 p1
3192 TID Cond: (ctid = '(1,1)'::tid)
3193 Filter: ((id >= 50) AND (id <= 51))
3194 -> Tid Scan on p1_c4 p1
3195 TID Cond: (ctid = '(1,1)'::tid)
3196 Filter: ((id >= 50) AND (id <= 51))
3197 -> Tid Scan on p1_c1_c1 p1
3198 TID Cond: (ctid = '(1,1)'::tid)
3199 Filter: ((id >= 50) AND (id <= 51))
3200 -> Tid Scan on p1_c1_c2 p1
3201 TID Cond: (ctid = '(1,1)'::tid)
3202 Filter: ((id >= 50) AND (id <= 51))
3203 -> Tid Scan on p1_c3_c1 p1
3204 TID Cond: (ctid = '(1,1)'::tid)
3205 Filter: ((id >= 50) AND (id <= 51))
3206 -> Tid Scan on p1_c3_c2 p1
3207 TID Cond: (ctid = '(1,1)'::tid)
3208 Filter: ((id >= 50) AND (id <= 51))
3211 SET constraint_exclusion TO on;
3213 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3222 -----------------------------------------------------------------------------
3226 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3227 -> Seq Scan on p1_c1 p1
3228 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3229 -> Seq Scan on p1_c1_c1 p1
3230 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3231 -> Seq Scan on p1_c1_c2 p1
3232 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3236 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3245 -----------------------------------------------------------
3248 -> Index Scan using p1_pkey on p1
3249 Index Cond: ((id >= 50) AND (id <= 51))
3250 Filter: (ctid = '(1,1)'::tid)
3251 -> Index Scan using p1_c1_pkey on p1_c1 p1
3252 Index Cond: ((id >= 50) AND (id <= 51))
3253 Filter: (ctid = '(1,1)'::tid)
3254 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
3255 Index Cond: ((id >= 50) AND (id <= 51))
3256 Filter: (ctid = '(1,1)'::tid)
3257 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
3258 Index Cond: ((id >= 50) AND (id <= 51))
3259 Filter: (ctid = '(1,1)'::tid)
3263 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3272 -------------------------------------------------------------
3275 -> Bitmap Heap Scan on p1
3276 Recheck Cond: ((id >= 50) AND (id <= 51))
3277 Filter: (ctid = '(1,1)'::tid)
3278 -> Bitmap Index Scan on p1_pkey
3279 Index Cond: ((id >= 50) AND (id <= 51))
3280 -> Bitmap Heap Scan on p1_c1 p1
3281 Recheck Cond: ((id >= 50) AND (id <= 51))
3282 Filter: (ctid = '(1,1)'::tid)
3283 -> Bitmap Index Scan on p1_c1_pkey
3284 Index Cond: ((id >= 50) AND (id <= 51))
3285 -> Bitmap Heap Scan on p1_c1_c1 p1
3286 Recheck Cond: ((id >= 50) AND (id <= 51))
3287 Filter: (ctid = '(1,1)'::tid)
3288 -> Bitmap Index Scan on p1_c1_c1_pkey
3289 Index Cond: ((id >= 50) AND (id <= 51))
3290 -> Bitmap Heap Scan on p1_c1_c2 p1
3291 Recheck Cond: ((id >= 50) AND (id <= 51))
3292 Filter: (ctid = '(1,1)'::tid)
3293 -> Bitmap Index Scan on p1_c1_c2_pkey
3294 Index Cond: ((id >= 50) AND (id <= 51))
3298 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3307 ---------------------------------------------------
3311 TID Cond: (ctid = '(1,1)'::tid)
3312 Filter: ((id >= 50) AND (id <= 51))
3313 -> Tid Scan on p1_c1 p1
3314 TID Cond: (ctid = '(1,1)'::tid)
3315 Filter: ((id >= 50) AND (id <= 51))
3316 -> Tid Scan on p1_c1_c1 p1
3317 TID Cond: (ctid = '(1,1)'::tid)
3318 Filter: ((id >= 50) AND (id <= 51))
3319 -> Tid Scan on p1_c1_c2 p1
3320 TID Cond: (ctid = '(1,1)'::tid)
3321 Filter: ((id >= 50) AND (id <= 51))
3324 SET constraint_exclusion TO off;
3325 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;
3327 -----------------------------------------------------------------------------------
3329 Merge Cond: (public.p1.id = t1.id)
3331 Sort Key: public.p1.id
3334 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3335 -> Seq Scan on p1_c1 p1
3336 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3337 -> Seq Scan on p1_c2 p1
3338 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3339 -> Seq Scan on p1_c3 p1
3340 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3341 -> Tid Scan on p1_c4 p1
3342 TID Cond: (ctid = '(1,1)'::tid)
3343 Filter: ((id >= 50) AND (id <= 51))
3344 -> Tid Scan on p1_c1_c1 p1
3345 TID Cond: (ctid = '(1,1)'::tid)
3346 Filter: ((id >= 50) AND (id <= 51))
3347 -> Tid Scan on p1_c1_c2 p1
3348 TID Cond: (ctid = '(1,1)'::tid)
3349 Filter: ((id >= 50) AND (id <= 51))
3350 -> Tid Scan on p1_c3_c1 p1
3351 TID Cond: (ctid = '(1,1)'::tid)
3352 Filter: ((id >= 50) AND (id <= 51))
3353 -> Tid Scan on p1_c3_c2 p1
3354 TID Cond: (ctid = '(1,1)'::tid)
3355 Filter: ((id >= 50) AND (id <= 51))
3356 -> Index Scan using t1_pkey on t1
3357 Index Cond: (id < 10)
3360 SET constraint_exclusion TO on;
3361 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;
3363 -----------------------------------------------------------------------------------
3365 Merge Cond: (public.p1.id = t1.id)
3367 Sort Key: public.p1.id
3370 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3371 -> Seq Scan on p1_c1 p1
3372 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3373 -> Tid Scan on p1_c1_c1 p1
3374 TID Cond: (ctid = '(1,1)'::tid)
3375 Filter: ((id >= 50) AND (id <= 51))
3376 -> Tid Scan on p1_c1_c2 p1
3377 TID Cond: (ctid = '(1,1)'::tid)
3378 Filter: ((id >= 50) AND (id <= 51))
3379 -> Index Scan using t1_pkey on t1
3380 Index Cond: (id < 10)
3383 SET constraint_exclusion TO off;
3385 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;
3394 -----------------------------------------------------------------------------------
3396 Merge Cond: (public.p1.id = t1.id)
3398 Sort Key: public.p1.id
3401 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3402 -> Seq Scan on p1_c1 p1
3403 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3404 -> Seq Scan on p1_c2 p1
3405 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3406 -> Seq Scan on p1_c3 p1
3407 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3408 -> Tid Scan on p1_c4 p1
3409 TID Cond: (ctid = '(1,1)'::tid)
3410 Filter: ((id >= 50) AND (id <= 51))
3411 -> Tid Scan on p1_c1_c1 p1
3412 TID Cond: (ctid = '(1,1)'::tid)
3413 Filter: ((id >= 50) AND (id <= 51))
3414 -> Tid Scan on p1_c1_c2 p1
3415 TID Cond: (ctid = '(1,1)'::tid)
3416 Filter: ((id >= 50) AND (id <= 51))
3417 -> Tid Scan on p1_c3_c1 p1
3418 TID Cond: (ctid = '(1,1)'::tid)
3419 Filter: ((id >= 50) AND (id <= 51))
3420 -> Tid Scan on p1_c3_c2 p1
3421 TID Cond: (ctid = '(1,1)'::tid)
3422 Filter: ((id >= 50) AND (id <= 51))
3423 -> Index Scan using t1_pkey on t1
3424 Index Cond: (id < 10)
3428 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;
3437 -----------------------------------------------------------------------------------
3439 Merge Cond: (public.p1.id = t1.id)
3441 Sort Key: public.p1.id
3444 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3445 -> Seq Scan on p1_c1 p1
3446 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3447 -> Seq Scan on p1_c2 p1
3448 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3449 -> Seq Scan on p1_c3 p1
3450 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3451 -> Tid Scan on p1_c4 p1
3452 TID Cond: (ctid = '(1,1)'::tid)
3453 Filter: ((id >= 50) AND (id <= 51))
3454 -> Tid Scan on p1_c1_c1 p1
3455 TID Cond: (ctid = '(1,1)'::tid)
3456 Filter: ((id >= 50) AND (id <= 51))
3457 -> Tid Scan on p1_c1_c2 p1
3458 TID Cond: (ctid = '(1,1)'::tid)
3459 Filter: ((id >= 50) AND (id <= 51))
3460 -> Tid Scan on p1_c3_c1 p1
3461 TID Cond: (ctid = '(1,1)'::tid)
3462 Filter: ((id >= 50) AND (id <= 51))
3463 -> Tid Scan on p1_c3_c2 p1
3464 TID Cond: (ctid = '(1,1)'::tid)
3465 Filter: ((id >= 50) AND (id <= 51))
3466 -> Index Scan using t1_pkey on t1
3467 Index Cond: (id < 10)
3471 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;
3480 -----------------------------------------------------------------------------------
3482 Merge Cond: (public.p1.id = t1.id)
3484 Sort Key: public.p1.id
3487 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3488 -> Seq Scan on p1_c1 p1
3489 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3490 -> Seq Scan on p1_c2 p1
3491 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3492 -> Seq Scan on p1_c3 p1
3493 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3494 -> Tid Scan on p1_c4 p1
3495 TID Cond: (ctid = '(1,1)'::tid)
3496 Filter: ((id >= 50) AND (id <= 51))
3497 -> Tid Scan on p1_c1_c1 p1
3498 TID Cond: (ctid = '(1,1)'::tid)
3499 Filter: ((id >= 50) AND (id <= 51))
3500 -> Tid Scan on p1_c1_c2 p1
3501 TID Cond: (ctid = '(1,1)'::tid)
3502 Filter: ((id >= 50) AND (id <= 51))
3503 -> Tid Scan on p1_c3_c1 p1
3504 TID Cond: (ctid = '(1,1)'::tid)
3505 Filter: ((id >= 50) AND (id <= 51))
3506 -> Tid Scan on p1_c3_c2 p1
3507 TID Cond: (ctid = '(1,1)'::tid)
3508 Filter: ((id >= 50) AND (id <= 51))
3509 -> Index Scan using t1_pkey on t1
3510 Index Cond: (id < 10)
3514 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;
3523 -----------------------------------------------------------------------------------
3525 Merge Cond: (public.p1.id = t1.id)
3527 Sort Key: public.p1.id
3530 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3531 -> Seq Scan on p1_c1 p1
3532 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3533 -> Seq Scan on p1_c2 p1
3534 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3535 -> Seq Scan on p1_c3 p1
3536 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3537 -> Tid Scan on p1_c4 p1
3538 TID Cond: (ctid = '(1,1)'::tid)
3539 Filter: ((id >= 50) AND (id <= 51))
3540 -> Tid Scan on p1_c1_c1 p1
3541 TID Cond: (ctid = '(1,1)'::tid)
3542 Filter: ((id >= 50) AND (id <= 51))
3543 -> Tid Scan on p1_c1_c2 p1
3544 TID Cond: (ctid = '(1,1)'::tid)
3545 Filter: ((id >= 50) AND (id <= 51))
3546 -> Tid Scan on p1_c3_c1 p1
3547 TID Cond: (ctid = '(1,1)'::tid)
3548 Filter: ((id >= 50) AND (id <= 51))
3549 -> Tid Scan on p1_c3_c2 p1
3550 TID Cond: (ctid = '(1,1)'::tid)
3551 Filter: ((id >= 50) AND (id <= 51))
3552 -> Index Scan using t1_pkey on t1
3553 Index Cond: (id < 10)
3556 /*+NestLoop(p1 t1)*/
3557 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;
3566 -----------------------------------------------------------------------------
3568 Join Filter: (public.p1.id = t1.id)
3571 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3572 -> Seq Scan on p1_c1 p1
3573 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3574 -> Seq Scan on p1_c2 p1
3575 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3576 -> Seq Scan on p1_c3 p1
3577 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3578 -> Tid Scan on p1_c4 p1
3579 TID Cond: (ctid = '(1,1)'::tid)
3580 Filter: ((id >= 50) AND (id <= 51))
3581 -> Tid Scan on p1_c1_c1 p1
3582 TID Cond: (ctid = '(1,1)'::tid)
3583 Filter: ((id >= 50) AND (id <= 51))
3584 -> Tid Scan on p1_c1_c2 p1
3585 TID Cond: (ctid = '(1,1)'::tid)
3586 Filter: ((id >= 50) AND (id <= 51))
3587 -> Tid Scan on p1_c3_c1 p1
3588 TID Cond: (ctid = '(1,1)'::tid)
3589 Filter: ((id >= 50) AND (id <= 51))
3590 -> Tid Scan on p1_c3_c2 p1
3591 TID Cond: (ctid = '(1,1)'::tid)
3592 Filter: ((id >= 50) AND (id <= 51))
3594 -> Index Scan using t1_pkey on t1
3595 Index Cond: (id < 10)
3598 /*+MergeJoin(p1 t1)*/
3599 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;
3608 -----------------------------------------------------------------------------------
3610 Merge Cond: (public.p1.id = t1.id)
3612 Sort Key: public.p1.id
3615 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3616 -> Seq Scan on p1_c1 p1
3617 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3618 -> Seq Scan on p1_c2 p1
3619 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3620 -> Seq Scan on p1_c3 p1
3621 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3622 -> Tid Scan on p1_c4 p1
3623 TID Cond: (ctid = '(1,1)'::tid)
3624 Filter: ((id >= 50) AND (id <= 51))
3625 -> Tid Scan on p1_c1_c1 p1
3626 TID Cond: (ctid = '(1,1)'::tid)
3627 Filter: ((id >= 50) AND (id <= 51))
3628 -> Tid Scan on p1_c1_c2 p1
3629 TID Cond: (ctid = '(1,1)'::tid)
3630 Filter: ((id >= 50) AND (id <= 51))
3631 -> Tid Scan on p1_c3_c1 p1
3632 TID Cond: (ctid = '(1,1)'::tid)
3633 Filter: ((id >= 50) AND (id <= 51))
3634 -> Tid Scan on p1_c3_c2 p1
3635 TID Cond: (ctid = '(1,1)'::tid)
3636 Filter: ((id >= 50) AND (id <= 51))
3637 -> Index Scan using t1_pkey on t1
3638 Index Cond: (id < 10)
3641 /*+HashJoin(p1 t1)*/
3642 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;
3651 -----------------------------------------------------------------------------
3653 Hash Cond: (public.p1.id = t1.id)
3656 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3657 -> Seq Scan on p1_c1 p1
3658 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3659 -> Seq Scan on p1_c2 p1
3660 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3661 -> Seq Scan on p1_c3 p1
3662 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3663 -> Tid Scan on p1_c4 p1
3664 TID Cond: (ctid = '(1,1)'::tid)
3665 Filter: ((id >= 50) AND (id <= 51))
3666 -> Tid Scan on p1_c1_c1 p1
3667 TID Cond: (ctid = '(1,1)'::tid)
3668 Filter: ((id >= 50) AND (id <= 51))
3669 -> Tid Scan on p1_c1_c2 p1
3670 TID Cond: (ctid = '(1,1)'::tid)
3671 Filter: ((id >= 50) AND (id <= 51))
3672 -> Tid Scan on p1_c3_c1 p1
3673 TID Cond: (ctid = '(1,1)'::tid)
3674 Filter: ((id >= 50) AND (id <= 51))
3675 -> Tid Scan on p1_c3_c2 p1
3676 TID Cond: (ctid = '(1,1)'::tid)
3677 Filter: ((id >= 50) AND (id <= 51))
3679 -> Index Scan using t1_pkey on t1
3680 Index Cond: (id < 10)
3683 SET constraint_exclusion TO on;
3685 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;
3694 -----------------------------------------------------------------------------------
3696 Merge Cond: (public.p1.id = t1.id)
3698 Sort Key: public.p1.id
3701 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3702 -> Seq Scan on p1_c1 p1
3703 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3704 -> Tid Scan on p1_c1_c1 p1
3705 TID Cond: (ctid = '(1,1)'::tid)
3706 Filter: ((id >= 50) AND (id <= 51))
3707 -> Tid Scan on p1_c1_c2 p1
3708 TID Cond: (ctid = '(1,1)'::tid)
3709 Filter: ((id >= 50) AND (id <= 51))
3710 -> Index Scan using t1_pkey on t1
3711 Index Cond: (id < 10)
3715 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;
3724 -----------------------------------------------------------------------------------
3726 Merge Cond: (public.p1.id = t1.id)
3728 Sort Key: public.p1.id
3731 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3732 -> Seq Scan on p1_c1 p1
3733 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3734 -> Tid Scan on p1_c1_c1 p1
3735 TID Cond: (ctid = '(1,1)'::tid)
3736 Filter: ((id >= 50) AND (id <= 51))
3737 -> Tid Scan on p1_c1_c2 p1
3738 TID Cond: (ctid = '(1,1)'::tid)
3739 Filter: ((id >= 50) AND (id <= 51))
3740 -> Index Scan using t1_pkey on t1
3741 Index Cond: (id < 10)
3745 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;
3754 -----------------------------------------------------------------------------------
3756 Merge Cond: (public.p1.id = t1.id)
3758 Sort Key: public.p1.id
3761 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3762 -> Seq Scan on p1_c1 p1
3763 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3764 -> Tid Scan on p1_c1_c1 p1
3765 TID Cond: (ctid = '(1,1)'::tid)
3766 Filter: ((id >= 50) AND (id <= 51))
3767 -> Tid Scan on p1_c1_c2 p1
3768 TID Cond: (ctid = '(1,1)'::tid)
3769 Filter: ((id >= 50) AND (id <= 51))
3770 -> Index Scan using t1_pkey on t1
3771 Index Cond: (id < 10)
3775 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;
3784 -----------------------------------------------------------------------------------
3786 Merge Cond: (public.p1.id = t1.id)
3788 Sort Key: public.p1.id
3791 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3792 -> Seq Scan on p1_c1 p1
3793 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3794 -> Tid Scan on p1_c1_c1 p1
3795 TID Cond: (ctid = '(1,1)'::tid)
3796 Filter: ((id >= 50) AND (id <= 51))
3797 -> Tid Scan on p1_c1_c2 p1
3798 TID Cond: (ctid = '(1,1)'::tid)
3799 Filter: ((id >= 50) AND (id <= 51))
3800 -> Index Scan using t1_pkey on t1
3801 Index Cond: (id < 10)
3804 /*+NestLoop(p1 t1)*/
3805 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;
3814 -----------------------------------------------------------------------------------
3816 Join Filter: (public.p1.id = t1.id)
3817 -> Index Scan using t1_pkey on t1
3818 Index Cond: (id < 10)
3822 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3823 -> Seq Scan on p1_c1 p1
3824 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3825 -> Tid Scan on p1_c1_c1 p1
3826 TID Cond: (ctid = '(1,1)'::tid)
3827 Filter: ((id >= 50) AND (id <= 51))
3828 -> Tid Scan on p1_c1_c2 p1
3829 TID Cond: (ctid = '(1,1)'::tid)
3830 Filter: ((id >= 50) AND (id <= 51))
3833 /*+MergeJoin(p1 t1)*/
3834 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;
3843 -----------------------------------------------------------------------------------
3845 Merge Cond: (public.p1.id = t1.id)
3847 Sort Key: public.p1.id
3850 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3851 -> Seq Scan on p1_c1 p1
3852 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3853 -> Tid Scan on p1_c1_c1 p1
3854 TID Cond: (ctid = '(1,1)'::tid)
3855 Filter: ((id >= 50) AND (id <= 51))
3856 -> Tid Scan on p1_c1_c2 p1
3857 TID Cond: (ctid = '(1,1)'::tid)
3858 Filter: ((id >= 50) AND (id <= 51))
3859 -> Index Scan using t1_pkey on t1
3860 Index Cond: (id < 10)
3863 /*+HashJoin(p1 t1)*/
3864 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;
3873 -----------------------------------------------------------------------------------
3875 Hash Cond: (t1.id = public.p1.id)
3876 -> Index Scan using t1_pkey on t1
3877 Index Cond: (id < 10)
3881 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3882 -> Seq Scan on p1_c1 p1
3883 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3884 -> Tid Scan on p1_c1_c1 p1
3885 TID Cond: (ctid = '(1,1)'::tid)
3886 Filter: ((id >= 50) AND (id <= 51))
3887 -> Tid Scan on p1_c1_c2 p1
3888 TID Cond: (ctid = '(1,1)'::tid)
3889 Filter: ((id >= 50) AND (id <= 51))
3892 SET constraint_exclusion TO off;
3893 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3895 -----------------------------------------------------------------
3897 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3900 SET constraint_exclusion TO on;
3901 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3903 -----------------------------------------------------------------
3905 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3908 SET constraint_exclusion TO off;
3910 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))
3925 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3934 -------------------------------------------
3935 Index Scan using p1_pkey on p1
3936 Index Cond: ((id >= 50) AND (id <= 51))
3937 Filter: (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 Bitmap Heap Scan on p1
3952 Recheck Cond: ((id >= 50) AND (id <= 51))
3953 Filter: (ctid = '(1,1)'::tid)
3954 -> Bitmap Index Scan on p1_pkey
3955 Index Cond: ((id >= 50) AND (id <= 51))
3959 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3968 ---------------------------------------
3970 TID Cond: (ctid = '(1,1)'::tid)
3971 Filter: ((id >= 50) AND (id <= 51))
3974 /*+NestLoop(p1 t1)*/
3975 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;
3984 -----------------------------------------------------------------------
3987 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3988 -> Index Scan using t1_pkey on t1
3989 Index Cond: ((id < 10) AND (id = p1.id))
3992 /*+MergeJoin(p1 t1)*/
3993 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;
4002 -----------------------------------------------------------------------------
4004 Merge Cond: (p1.id = t1.id)
4008 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4009 -> Index Scan using t1_pkey on t1
4010 Index Cond: (id < 10)
4013 /*+HashJoin(p1 t1)*/
4014 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;
4023 -----------------------------------------------------------------------------
4025 Hash Cond: (t1.id = p1.id)
4026 -> Index Scan using t1_pkey on t1
4027 Index Cond: (id < 10)
4030 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4033 SET constraint_exclusion TO on;
4035 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4044 -----------------------------------------------------------------
4046 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4050 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4059 -------------------------------------------
4060 Index Scan using p1_pkey on p1
4061 Index Cond: ((id >= 50) AND (id <= 51))
4062 Filter: (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 Bitmap Heap Scan on p1
4077 Recheck Cond: ((id >= 50) AND (id <= 51))
4078 Filter: (ctid = '(1,1)'::tid)
4079 -> Bitmap Index Scan on p1_pkey
4080 Index Cond: ((id >= 50) AND (id <= 51))
4084 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4093 ---------------------------------------
4095 TID Cond: (ctid = '(1,1)'::tid)
4096 Filter: ((id >= 50) AND (id <= 51))
4099 /*+NestLoop(p1 t1)*/
4100 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;
4109 -----------------------------------------------------------------------
4112 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4113 -> Index Scan using t1_pkey on t1
4114 Index Cond: ((id < 10) AND (id = p1.id))
4117 /*+MergeJoin(p1 t1)*/
4118 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;
4127 -----------------------------------------------------------------------------
4129 Merge Cond: (p1.id = t1.id)
4133 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4134 -> Index Scan using t1_pkey on t1
4135 Index Cond: (id < 10)
4138 /*+HashJoin(p1 t1)*/
4139 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;
4148 -----------------------------------------------------------------------------
4150 Hash Cond: (t1.id = p1.id)
4151 -> Index Scan using t1_pkey on t1
4152 Index Cond: (id < 10)
4155 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4158 SET constraint_exclusion TO off;
4159 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;
4161 -----------------------------------------------------------------------
4164 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4165 -> Index Scan using t1_pkey on t1
4166 Index Cond: ((id < 10) AND (id = p1.id))
4169 SET constraint_exclusion TO on;
4170 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;
4172 -----------------------------------------------------------------------
4175 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4176 -> Index Scan using t1_pkey on t1
4177 Index Cond: ((id < 10) AND (id = p1.id))
4180 SET constraint_exclusion TO off;
4182 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;
4191 -----------------------------------------------------------------------
4194 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4195 -> Index Scan using t1_pkey on t1
4196 Index Cond: ((id < 10) AND (id = p1.id))
4200 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;
4209 --------------------------------------------------
4211 -> Index Scan using p1_pkey on p1
4212 Index Cond: ((id >= 50) AND (id <= 51))
4213 Filter: (ctid = '(1,1)'::tid)
4214 -> Index Scan using t1_pkey on t1
4215 Index Cond: ((id < 10) AND (id = p1.id))
4219 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;
4228 -------------------------------------------------------
4230 -> Bitmap Heap Scan on p1
4231 Recheck Cond: ((id >= 50) AND (id <= 51))
4232 Filter: (ctid = '(1,1)'::tid)
4233 -> Bitmap Index Scan on p1_pkey
4234 Index Cond: ((id >= 50) AND (id <= 51))
4235 -> Index Scan using t1_pkey on t1
4236 Index Cond: ((id < 10) AND (id = p1.id))
4240 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;
4249 --------------------------------------------------
4252 TID Cond: (ctid = '(1,1)'::tid)
4253 Filter: ((id >= 50) AND (id <= 51))
4254 -> Index Scan using t1_pkey on t1
4255 Index Cond: ((id < 10) AND (id = p1.id))
4258 SET constraint_exclusion TO on;
4260 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;
4269 -----------------------------------------------------------------------
4272 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4273 -> Index Scan using t1_pkey on t1
4274 Index Cond: ((id < 10) AND (id = p1.id))
4278 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;
4287 --------------------------------------------------
4289 -> Index Scan using p1_pkey on p1
4290 Index Cond: ((id >= 50) AND (id <= 51))
4291 Filter: (ctid = '(1,1)'::tid)
4292 -> Index Scan using t1_pkey on t1
4293 Index Cond: ((id < 10) AND (id = p1.id))
4297 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;
4306 -------------------------------------------------------
4308 -> Bitmap Heap Scan on p1
4309 Recheck Cond: ((id >= 50) AND (id <= 51))
4310 Filter: (ctid = '(1,1)'::tid)
4311 -> Bitmap Index Scan on p1_pkey
4312 Index Cond: ((id >= 50) AND (id <= 51))
4313 -> Index Scan using t1_pkey on t1
4314 Index Cond: ((id < 10) AND (id = p1.id))
4318 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;
4327 --------------------------------------------------
4330 TID Cond: (ctid = '(1,1)'::tid)
4331 Filter: ((id >= 50) AND (id <= 51))
4332 -> Index Scan using t1_pkey on t1
4333 Index Cond: ((id < 10) AND (id = p1.id))
4337 /*+SeqScan("""t1 ) ")IndexScan("t 2 """)HashJoin("""t1 ) "T3"t 2 """)Leading("""t1 ) "T3"t 2 """)Set(application_name"a a a"" a A")*/
4338 EXPLAIN (COSTS false) SELECT * FROM t1 """t1 ) ", t2 "t 2 """, t3 "T3" WHERE """t1 ) ".id = "t 2 """.id AND """t1 ) ".id = "T3".id;
4343 HashJoin("""t1 ) " T3 "t 2 """)
4344 Leading("""t1 ) " T3 "t 2 """)
4345 Set(application_name "a a a"" a A")
4351 ---------------------------------------------------------
4353 Hash Cond: ("t 2 """.id = """t1 ) ".id)
4354 -> Index Scan using t2_pkey on t2 "t 2 """
4357 Hash Cond: ("""t1 ) ".id = "T3".id)
4358 -> Seq Scan on t1 """t1 ) "
4360 -> Seq Scan on t3 "T3"
4363 -- duplicate hint test
4364 /*+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)*/
4365 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
4366 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)"
4367 DETAIL: Conflict scan method hint.
4368 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)"
4369 DETAIL: Conflict scan method hint.
4370 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)"
4371 DETAIL: Conflict scan method hint.
4372 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)"
4373 DETAIL: Conflict scan method hint.
4374 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)"
4375 DETAIL: Conflict scan method hint.
4376 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)"
4377 DETAIL: Conflict scan method hint.
4378 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)"
4379 DETAIL: Conflict join method hint.
4380 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)"
4381 DETAIL: Conflict join method hint.
4382 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)"
4383 DETAIL: Conflict leading hint.
4384 INFO: hint syntax error at or near "Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)"
4385 DETAIL: Conflict set hint.
4392 Set(enable_mergejoin on)
4393 Set(enable_seqscan on)
4405 Set(enable_seqscan off)
4409 -----------------------------------------------
4411 Merge Cond: (t1.id = t2.id)
4415 TID Cond: (ctid = '(1,1)'::tid)
4419 TID Cond: (ctid = '(1,1)'::tid)
4422 -- sub query Leading hint test
4423 SET from_collapse_limit TO 100;
4424 SET geqo_threshold TO 100;
4425 EXPLAIN (COSTS false)
4427 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
4430 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
4431 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4432 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
4433 ) 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 = (
4434 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
4437 -------------------------------------------------------------------------
4442 Merge Cond: (t1_5.id = t3_5.id)
4444 Merge Cond: (t1_5.id = t2_5.id)
4445 -> Index Scan using t1_pkey on t1 t1_5
4446 -> Index Scan using t2_pkey on t2 t2_5
4449 -> Seq Scan on t3 t3_5
4450 InitPlan 2 (returns $1)
4453 Merge Cond: (t1_2.id = t3_2.id)
4455 Merge Cond: (t1_2.id = t2_2.id)
4456 -> Index Scan using t1_pkey on t1 t1_2
4457 -> Index Scan using t2_pkey on t2 t2_2
4460 -> Seq Scan on t3 t3_2
4461 InitPlan 3 (returns $2)
4464 Merge Cond: (t1_4.id = t3_4.id)
4466 Merge Cond: (t1_4.id = t2_4.id)
4467 -> Index Scan using t1_pkey on t1 t1_4
4468 -> Index Scan using t2_pkey on t2 t2_4
4471 -> Seq Scan on t3 t3_4
4477 -> Index Scan using t1_pkey on t1 t1_1
4478 Index Cond: (id = $2)
4479 -> Seq Scan on t3 t3_1
4481 -> Index Scan using t2_pkey on t2 t2_1
4482 Index Cond: (id = $2)
4483 -> Index Scan using t1_pkey on t1 t1_3
4484 Index Cond: (id = $2)
4485 -> Index Scan using t2_pkey on t2 t2_3
4486 Index Cond: (id = $2)
4487 -> Seq Scan on t3 t3_3
4493 /*+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)*/
4494 EXPLAIN (COSTS false)
4496 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
4499 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
4500 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4501 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
4502 ) 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 = (
4503 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
4509 MergeJoin(t1_3 t3_3)
4517 -------------------------------------------------------------------------
4522 Merge Cond: (t1_5.id = t3_5.id)
4524 -> Index Scan using t2_pkey on t2 t2_5
4525 -> Index Scan using t1_pkey on t1 t1_5
4526 Index Cond: (id = t2_5.id)
4529 -> Seq Scan on t3 t3_5
4530 InitPlan 2 (returns $2)
4533 Merge Cond: (t1_2.id = t3_2.id)
4535 -> Index Scan using t2_pkey on t2 t2_2
4536 -> Index Scan using t1_pkey on t1 t1_2
4537 Index Cond: (id = t2_2.id)
4540 -> Seq Scan on t3 t3_2
4541 InitPlan 3 (returns $3)
4544 Merge Cond: (t1_4.id = t3_4.id)
4546 -> Index Scan using t2_pkey on t2 t2_4
4547 -> Index Scan using t1_pkey on t1 t1_4
4548 Index Cond: (id = t2_4.id)
4551 -> Seq Scan on t3 t3_4
4557 -> Index Scan using t2_pkey on t2 t2_1
4558 Index Cond: (id = $3)
4559 -> Seq Scan on t3 t3_1
4561 -> Index Scan using t1_pkey on t1 t1_1
4562 Index Cond: (id = $3)
4563 -> Index Scan using t1_pkey on t1 t1_3
4564 Index Cond: (id = $3)
4565 -> Index Scan using t2_pkey on t2 t2_3
4566 Index Cond: (id = $3)
4567 -> Seq Scan on t3 t3_3
4573 /*+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)*/
4574 EXPLAIN (COSTS false)
4576 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
4579 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
4580 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4581 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
4582 ) 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 = (
4583 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
4589 MergeJoin(t1_3 t3_3)
4593 Leading(a t1_1 t1_2 t1_4 t1_5)
4598 -------------------------------------------------------------------------
4603 Merge Cond: (t1_5.id = t3_5.id)
4605 -> Index Scan using t2_pkey on t2 t2_5
4606 -> Index Scan using t1_pkey on t1 t1_5
4607 Index Cond: (id = t2_5.id)
4610 -> Seq Scan on t3 t3_5
4611 InitPlan 2 (returns $2)
4614 Merge Cond: (t1_2.id = t3_2.id)
4616 -> Index Scan using t2_pkey on t2 t2_2
4617 -> Index Scan using t1_pkey on t1 t1_2
4618 Index Cond: (id = t2_2.id)
4621 -> Seq Scan on t3 t3_2
4622 InitPlan 3 (returns $3)
4625 Merge Cond: (t1_4.id = t3_4.id)
4627 -> Index Scan using t2_pkey on t2 t2_4
4628 -> Index Scan using t1_pkey on t1 t1_4
4629 Index Cond: (id = t2_4.id)
4632 -> Seq Scan on t3 t3_4
4638 -> Index Scan using t2_pkey on t2 t2_1
4639 Index Cond: (id = $3)
4640 -> Seq Scan on t3 t3_1
4642 -> Index Scan using t1_pkey on t1 t1_1
4643 Index Cond: (id = $3)
4644 -> Index Scan using t1_pkey on t1 t1_3
4645 Index Cond: (id = $3)
4646 -> Index Scan using t2_pkey on t2 t2_3
4647 Index Cond: (id = $3)
4648 -> Seq Scan on t3 t3_3
4654 /*+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)*/
4655 EXPLAIN (COSTS false)
4657 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
4660 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
4661 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4662 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
4663 ) 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 = (
4664 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
4668 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)
4672 MergeJoin(t1_3 t3_3)
4679 -------------------------------------------------------------------
4684 Merge Cond: (t2_5.id = t1_5.id)
4686 Merge Cond: (t2_5.id = t3_5.id)
4687 -> Index Scan using t2_pkey on t2 t2_5
4690 -> Seq Scan on t3 t3_5
4691 -> Index Scan using t1_pkey on t1 t1_5
4692 InitPlan 2 (returns $1)
4695 Merge Cond: (t2_2.id = t1_2.id)
4697 Merge Cond: (t2_2.id = t3_2.id)
4698 -> Index Scan using t2_pkey on t2 t2_2
4701 -> Seq Scan on t3 t3_2
4702 -> Index Scan using t1_pkey on t1 t1_2
4703 InitPlan 3 (returns $2)
4706 Merge Cond: (t2_4.id = t1_4.id)
4708 Merge Cond: (t2_4.id = t3_4.id)
4709 -> Index Scan using t2_pkey on t2 t2_4
4712 -> Seq Scan on t3 t3_4
4713 -> Index Scan using t1_pkey on t1 t1_4
4719 -> Seq Scan on t3 t3_3
4723 -> Index Scan using t2_pkey on t2 t2_3
4724 Index Cond: (id = $2)
4725 -> Index Scan using t1_pkey on t1 t1_3
4726 Index Cond: (id = $2)
4727 -> Seq Scan on t3 t3_1
4729 -> Index Scan using t2_pkey on t2 t2_1
4730 Index Cond: (id = $2)
4731 -> Index Scan using t1_pkey on t1 t1_1
4732 Index Cond: (id = $2)
4735 SET from_collapse_limit TO 1;
4736 EXPLAIN (COSTS false)
4738 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
4741 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
4742 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4743 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
4744 ) 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 = (
4745 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
4748 ---------------------------------------------------------------
4753 Merge Cond: (t1_5.id = t3_5.id)
4755 Merge Cond: (t1_5.id = t2_5.id)
4756 -> Index Scan using t1_pkey on t1 t1_5
4757 -> Index Scan using t2_pkey on t2 t2_5
4760 -> Seq Scan on t3 t3_5
4761 InitPlan 2 (returns $1)
4764 Merge Cond: (t1_2.id = t3_2.id)
4766 Merge Cond: (t1_2.id = t2_2.id)
4767 -> Index Scan using t1_pkey on t1 t1_2
4768 -> Index Scan using t2_pkey on t2 t2_2
4771 -> Seq Scan on t3 t3_2
4772 InitPlan 3 (returns $2)
4775 Merge Cond: (t1_4.id = t3_4.id)
4777 Merge Cond: (t1_4.id = t2_4.id)
4778 -> Index Scan using t1_pkey on t1 t1_4
4779 -> Index Scan using t2_pkey on t2 t2_4
4782 -> Seq Scan on t3 t3_4
4786 -> Index Scan using t1_pkey on t1 t1_1
4787 Index Cond: (id = $2)
4788 -> Seq Scan on t3 t3_1
4790 -> Index Scan using t2_pkey on t2 t2_1
4791 Index Cond: (id = $2)
4794 -> Index Scan using t1_pkey on t1 t1_3
4795 Index Cond: (id = $2)
4796 -> Seq Scan on t3 t3_3
4798 -> Index Scan using t2_pkey on t2 t2_3
4799 Index Cond: (id = $2)
4804 /*+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)*/
4805 EXPLAIN (COSTS false)
4807 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
4810 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
4811 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4812 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
4813 ) 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 = (
4814 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
4820 MergeJoin(t1_3 t3_3)
4828 ---------------------------------------------------------------
4833 Merge Cond: (t1_5.id = t3_5.id)
4835 -> Index Scan using t2_pkey on t2 t2_5
4836 -> Index Scan using t1_pkey on t1 t1_5
4837 Index Cond: (id = t2_5.id)
4840 -> Seq Scan on t3 t3_5
4841 InitPlan 2 (returns $2)
4844 Merge Cond: (t1_2.id = t3_2.id)
4846 -> Index Scan using t2_pkey on t2 t2_2
4847 -> Index Scan using t1_pkey on t1 t1_2
4848 Index Cond: (id = t2_2.id)
4851 -> Seq Scan on t3 t3_2
4852 InitPlan 3 (returns $3)
4855 Merge Cond: (t1_4.id = t3_4.id)
4857 -> Index Scan using t2_pkey on t2 t2_4
4858 -> Index Scan using t1_pkey on t1 t1_4
4859 Index Cond: (id = t2_4.id)
4862 -> Seq Scan on t3 t3_4
4866 -> Index Scan using t2_pkey on t2 t2_1
4867 Index Cond: (id = $3)
4868 -> Seq Scan on t3 t3_1
4870 -> Index Scan using t1_pkey on t1 t1_1
4871 Index Cond: (id = $3)
4874 -> Index Scan using t2_pkey on t2 t2_3
4875 Index Cond: (id = $3)
4876 -> Seq Scan on t3 t3_3
4878 -> Index Scan using t1_pkey on t1 t1_3
4879 Index Cond: (id = $3)
4884 /*+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)*/
4885 EXPLAIN (COSTS false)
4887 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
4890 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
4891 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4892 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
4893 ) 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 = (
4894 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
4900 MergeJoin(t1_3 t3_3)
4904 Leading(a t1_1 t1_2 t1_4 t1_5)
4909 ---------------------------------------------------------------
4914 Merge Cond: (t1_5.id = t3_5.id)
4916 -> Index Scan using t2_pkey on t2 t2_5
4917 -> Index Scan using t1_pkey on t1 t1_5
4918 Index Cond: (id = t2_5.id)
4921 -> Seq Scan on t3 t3_5
4922 InitPlan 2 (returns $2)
4925 Merge Cond: (t1_2.id = t3_2.id)
4927 -> Index Scan using t2_pkey on t2 t2_2
4928 -> Index Scan using t1_pkey on t1 t1_2
4929 Index Cond: (id = t2_2.id)
4932 -> Seq Scan on t3 t3_2
4933 InitPlan 3 (returns $3)
4936 Merge Cond: (t1_4.id = t3_4.id)
4938 -> Index Scan using t2_pkey on t2 t2_4
4939 -> Index Scan using t1_pkey on t1 t1_4
4940 Index Cond: (id = t2_4.id)
4943 -> Seq Scan on t3 t3_4
4947 -> Index Scan using t2_pkey on t2 t2_1
4948 Index Cond: (id = $3)
4949 -> Seq Scan on t3 t3_1
4951 -> Index Scan using t1_pkey on t1 t1_1
4952 Index Cond: (id = $3)
4955 -> Index Scan using t2_pkey on t2 t2_3
4956 Index Cond: (id = $3)
4957 -> Seq Scan on t3 t3_3
4959 -> Index Scan using t1_pkey on t1 t1_3
4960 Index Cond: (id = $3)
4965 /*+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)*/
4966 EXPLAIN (COSTS false)
4968 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
4971 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
4972 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4973 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
4974 ) 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 = (
4975 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
4979 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)
4983 MergeJoin(t1_3 t3_3)
4990 -------------------------------------------------------------------------
4995 Merge Cond: (t2_5.id = t1_5.id)
4997 Merge Cond: (t2_5.id = t3_5.id)
4998 -> Index Scan using t2_pkey on t2 t2_5
5001 -> Seq Scan on t3 t3_5
5002 -> Index Scan using t1_pkey on t1 t1_5
5003 InitPlan 2 (returns $1)
5006 Merge Cond: (t2_2.id = t1_2.id)
5008 Merge Cond: (t2_2.id = t3_2.id)
5009 -> Index Scan using t2_pkey on t2 t2_2
5012 -> Seq Scan on t3 t3_2
5013 -> Index Scan using t1_pkey on t1 t1_2
5014 InitPlan 3 (returns $2)
5017 Merge Cond: (t2_4.id = t1_4.id)
5019 Merge Cond: (t2_4.id = t3_4.id)
5020 -> Index Scan using t2_pkey on t2 t2_4
5023 -> Seq Scan on t3 t3_4
5024 -> Index Scan using t1_pkey on t1 t1_4
5030 -> Index Scan using t2_pkey on t2 t2_3
5031 Index Cond: (id = $2)
5032 -> Seq Scan on t3 t3_3
5034 -> Index Scan using t1_pkey on t1 t1_3
5035 Index Cond: (id = $2)
5038 -> Seq Scan on t3 t3_1
5040 -> Index Scan using t2_pkey on t2 t2_1
5041 Index Cond: (id = $2)
5042 -> Index Scan using t1_pkey on t1 t1_1
5043 Index Cond: (id = $2)
5047 EXPLAIN (COSTS false) SELECT * FROM t1, s1.t1, t2 WHERE public.t1.id = s1.t1.id AND public.t1.id = t2.id;
5049 -----------------------------------------------
5051 Merge Cond: (public.t1.id = t2.id)
5053 Merge Cond: (public.t1.id = s1.t1.id)
5054 -> Index Scan using t1_pkey on t1
5055 -> Index Scan using t1_pkey on t1
5056 -> Index Scan using t2_pkey on t2
5059 /*+NestLoop(t1 t2)*/
5060 EXPLAIN (COSTS false) SELECT * FROM t1, s1.t1, t2 WHERE public.t1.id = s1.t1.id AND public.t1.id = t2.id;
5061 INFO: hint syntax error at or near "NestLoop(t1 t2)"
5062 DETAIL: Relation name "t1" is ambiguous.
5071 -----------------------------------------------
5073 Merge Cond: (public.t1.id = t2.id)
5075 Merge Cond: (public.t1.id = s1.t1.id)
5076 -> Index Scan using t1_pkey on t1
5077 -> Index Scan using t1_pkey on t1
5078 -> Index Scan using t2_pkey on t2
5081 /*+Leading(t1 t2 t1)*/
5082 EXPLAIN (COSTS false) SELECT * FROM t1, s1.t1, t2 WHERE public.t1.id = s1.t1.id AND public.t1.id = t2.id;
5083 INFO: hint syntax error at or near "Leading(t1 t2 t1)"
5084 DETAIL: Relation name "t1" is ambiguous.
5093 -----------------------------------------------
5095 Merge Cond: (public.t1.id = t2.id)
5097 Merge Cond: (public.t1.id = s1.t1.id)
5098 -> Index Scan using t1_pkey on t1
5099 -> Index Scan using t1_pkey on t1
5100 -> Index Scan using t2_pkey on t2