1 SET search_path TO public;
2 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
4 --------------------------------------
6 Merge Cond: (t1.id = t2.id)
7 -> Index Scan using t1_pkey on t1
8 -> Index Scan using t2_pkey on t2
11 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.val = t2.val;
13 -------------------------------------------
15 Merge Cond: (t2.val = t1.val)
16 -> Index Scan using t2_val on t2
18 -> Index Scan using t1_val on t1
22 SET pg_hint_plan.debug_print TO on;
23 SET client_min_messages TO LOG;
24 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
26 --------------------------------------
28 Merge Cond: (t1.id = t2.id)
29 -> Index Scan using t1_pkey on t1
30 -> Index Scan using t2_pkey on t2
33 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.val = t2.val;
35 -------------------------------------------
37 Merge Cond: (t2.val = t1.val)
38 -> Index Scan using t2_val on t2
40 -> Index Scan using t1_val on t1
44 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
45 INFO: hint syntax error at or near "Test (t1 t2) "
46 DETAIL: Unrecognized hint keyword "Test".
48 --------------------------------------
50 Merge Cond: (t1.id = t2.id)
51 -> Index Scan using t1_pkey on t1
52 -> Index Scan using t2_pkey on t2
55 SET pg_hint_plan.enable_hint TO off;
57 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
59 --------------------------------------
61 Merge Cond: (t1.id = t2.id)
62 -> Index Scan using t1_pkey on t1
63 -> Index Scan using t2_pkey on t2
66 SET pg_hint_plan.enable_hint TO on;
67 /*Set(enable_indexscan off)*/
68 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
70 --------------------------------------
72 Merge Cond: (t1.id = t2.id)
73 -> Index Scan using t1_pkey on t1
74 -> Index Scan using t2_pkey on t2
77 --+Set(enable_indexscan off)
78 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
80 --------------------------------------
82 Merge Cond: (t1.id = t2.id)
83 -> Index Scan using t1_pkey on t1
84 -> Index Scan using t2_pkey on t2
87 /*+Set(enable_indexscan off) /* nest comment */ */
88 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
89 INFO: hint syntax error at or near "/* nest comment */ */
90 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;"
91 DETAIL: Nested block comments are not supported.
93 --------------------------------------
95 Merge Cond: (t1.id = t2.id)
96 -> Index Scan using t1_pkey on t1
97 -> Index Scan using t2_pkey on t2
100 /*+Set(enable_indexscan off)*/
101 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
104 Set(enable_indexscan off)
110 ------------------------------
112 Hash Cond: (t1.id = t2.id)
118 /*+ Set(enable_indexscan off) Set(enable_hashjoin off) */
119 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
122 Set(enable_hashjoin off)
123 Set(enable_indexscan off)
129 -------------------------------
131 Merge Cond: (t1.id = t2.id)
140 /*+ Set ( enable_indexscan off ) */
141 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
144 Set(enable_indexscan off)
150 ------------------------------
152 Hash Cond: (t1.id = t2.id)
165 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
168 Set(enable_indexscan off)
174 ------------------------------
176 Hash Cond: (t1.id = t2.id)
182 /*+ Set(enable_indexscan off)Set(enable_nestloop off)Set(enable_mergejoin off)
183 Set(enable_seqscan off)
185 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
188 Set(enable_indexscan off)
189 Set(enable_mergejoin off)
190 Set(enable_nestloop off)
191 Set(enable_seqscan off)
197 --------------------------------------------
199 Hash Cond: (t1.id = t2.id)
200 -> Index Scan using t1_pkey on t1
202 -> Index Scan using t2_pkey on t2
205 /*+Set(work_mem "1M")*/
206 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
207 INFO: invalid value for parameter "work_mem": "1M"
208 HINT: Valid units for this parameter are "kB", "MB", and "GB".
217 --------------------------------------
219 Merge Cond: (t1.id = t2.id)
220 -> Index Scan using t1_pkey on t1
221 -> Index Scan using t2_pkey on t2
224 /*+Set(work_mem "1MB")*/
225 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
234 --------------------------------------
236 Merge Cond: (t1.id = t2.id)
237 -> Index Scan using t1_pkey on t1
238 -> Index Scan using t2_pkey on t2
241 /*+Set(work_mem TO "1MB")*/
242 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
243 INFO: hint syntax error at or near "Set(work_mem TO "1MB")"
244 DETAIL: Set hint requires name and value of GUC parameter.
253 --------------------------------------
255 Merge Cond: (t1.id = t2.id)
256 -> Index Scan using t1_pkey on t1
257 -> Index Scan using t2_pkey on t2
261 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
262 INFO: hint syntax error at or near ""
263 DETAIL: SeqScan hint accepts only one relation.
272 --------------------------------------
274 Merge Cond: (t1.id = t2.id)
275 -> Index Scan using t1_pkey on t1
276 -> Index Scan using t2_pkey on t2
280 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
289 ------------------------------
291 Hash Cond: (t1.id = t2.id)
297 /*+SeqScan(t1)IndexScan(t2)*/
298 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
308 --------------------------------------------
310 Hash Cond: (t1.id = t2.id)
313 -> Index Scan using t2_pkey on t2
317 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
326 ------------------------------------------
329 -> Bitmap Heap Scan on t2
330 Recheck Cond: (id = t1.id)
331 -> Bitmap Index Scan on t2_pkey
332 Index Cond: (id = t1.id)
335 /*+BitmapScan(t2)NoSeqScan(t1)*/
336 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
346 ------------------------------------------
348 -> Index Scan using t1_pkey on t1
349 -> Bitmap Heap Scan on t2
350 Recheck Cond: (id = t1.id)
351 -> Bitmap Index Scan on t2_pkey
352 Index Cond: (id = t1.id)
356 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
365 ------------------------------
367 Hash Cond: (t1.id = t2.id)
373 /*+NoBitmapScan(t1)*/
374 EXPLAIN (COSTS false) SELECT * FROM t1, t4 WHERE t1.val < 10;
383 ----------------------------
392 EXPLAIN (COSTS false) SELECT * FROM t3, t4 WHERE t3.id = t4.id AND t4.ctid = '(1,1)';
401 -----------------------------------------------
403 Merge Cond: (t3.id = t4.id)
404 -> Index Scan using t3_pkey on t3
408 TID Cond: (ctid = '(1,1)'::tid)
412 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)';
421 ---------------------------------------
424 Filter: (ctid = '(1,1)'::tid)
425 -> Index Scan using t2_pkey on t2
426 Index Cond: (id = t1.id)
430 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
439 ------------------------------
441 Hash Cond: (t1.id = t2.id)
448 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
457 --------------------------------------
460 -> Index Scan using t1_pkey on t1
461 Index Cond: (id = t2.id)
464 /*+NoMergeJoin(t1 t2)*/
465 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
474 ------------------------------
476 Hash Cond: (t1.id = t2.id)
482 /*+MergeJoin(t1 t3)*/
483 EXPLAIN (COSTS false) SELECT * FROM t1, t3 WHERE t1.val = t3.val;
492 -------------------------------------
494 Merge Cond: (t1.val = t3.val)
495 -> Index Scan using t1_val on t1
502 EXPLAIN (COSTS false) SELECT * FROM t1, t3 WHERE t1.val = t3.val;
511 -------------------------------------
514 -> Index Scan using t1_val on t1
515 Index Cond: (val = t3.val)
518 /*+NoHashJoin(t1 t3)*/
519 EXPLAIN (COSTS false) SELECT * FROM t1, t3 WHERE t1.val = t3.val;
528 -------------------------------------
531 -> Index Scan using t1_val on t1
532 Index Cond: (val = t3.val)
535 /*+MergeJoin(t4 t1 t2 t3)*/
536 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
539 MergeJoin(t1 t2 t3 t4)
545 --------------------------------------------------
547 Merge Cond: (t1.id = t4.id)
549 Merge Cond: (t1.id = t3.id)
551 Merge Cond: (t1.id = t2.id)
552 -> Index Scan using t1_pkey on t1
553 -> Index Scan using t2_pkey on t2
554 -> Index Scan using t3_pkey on t3
560 /*+HashJoin(t3 t4 t1 t2)*/
561 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
564 HashJoin(t1 t2 t3 t4)
570 --------------------------------------------------------
572 Hash Cond: (t3.id = t1.id)
576 Merge Cond: (t1.id = t4.id)
578 Merge Cond: (t1.id = t2.id)
579 -> Index Scan using t1_pkey on t1
580 -> Index Scan using t2_pkey on t2
586 /*+NestLoop(t2 t3 t4 t1) IndexScan(t3)*/
587 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
591 NestLoop(t1 t2 t3 t4)
597 --------------------------------------------------
600 Merge Cond: (t1.id = t4.id)
602 Merge Cond: (t1.id = t2.id)
603 -> Index Scan using t1_pkey on t1
604 -> Index Scan using t2_pkey on t2
608 -> Index Scan using t3_pkey on t3
609 Index Cond: (id = t1.id)
612 /*+NoNestLoop(t4 t1 t3 t2)*/
613 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
616 NoNestLoop(t1 t2 t3 t4)
622 --------------------------------------------------
624 Merge Cond: (t1.id = t4.id)
626 Merge Cond: (t1.id = t3.id)
628 Merge Cond: (t1.id = t2.id)
629 -> Index Scan using t1_pkey on t1
630 -> Index Scan using t2_pkey on t2
631 -> Index Scan using t3_pkey on t3
638 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
639 INFO: hint syntax error at or near ""
640 DETAIL: Closing parenthesis is necessary.
642 --------------------------------------------------
644 Merge Cond: (t1.id = t4.id)
646 Merge Cond: (t1.id = t3.id)
648 Merge Cond: (t1.id = t2.id)
649 -> Index Scan using t1_pkey on t1
650 -> Index Scan using t2_pkey on t2
651 -> Index Scan using t3_pkey on t3
658 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
659 INFO: hint syntax error at or near "Leading( )"
660 DETAIL: Leading hint requires at least two relations.
669 --------------------------------------------------
671 Merge Cond: (t1.id = t4.id)
673 Merge Cond: (t1.id = t3.id)
675 Merge Cond: (t1.id = t2.id)
676 -> Index Scan using t1_pkey on t1
677 -> Index Scan using t2_pkey on t2
678 -> Index Scan using t3_pkey on t3
685 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
686 INFO: hint syntax error at or near "Leading( t3 )"
687 DETAIL: Leading hint requires at least two relations.
696 --------------------------------------------------
698 Merge Cond: (t1.id = t4.id)
700 Merge Cond: (t1.id = t3.id)
702 Merge Cond: (t1.id = t2.id)
703 -> Index Scan using t1_pkey on t1
704 -> Index Scan using t2_pkey on t2
705 -> Index Scan using t3_pkey on t3
711 /*+Leading( t3 t4 )*/
712 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
721 --------------------------------------------------
725 Merge Cond: (t3.id = t4.id)
726 -> Index Scan using t3_pkey on t3
730 -> Index Scan using t2_pkey on t2
731 Index Cond: (id = t3.id)
732 -> Index Scan using t1_pkey on t1
733 Index Cond: (id = t2.id)
736 /*+Leading(t3 t4 t1)*/
737 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
746 --------------------------------------------------
749 Merge Cond: (t3.id = t1.id)
751 Merge Cond: (t3.id = t4.id)
752 -> Index Scan using t3_pkey on t3
756 -> Index Scan using t1_pkey on t1
757 -> Index Scan using t2_pkey on t2
758 Index Cond: (id = t1.id)
761 /*+Leading(t3 t4 t1 t2)*/
762 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
771 --------------------------------------------------
774 Merge Cond: (t3.id = t1.id)
776 Merge Cond: (t3.id = t4.id)
777 -> Index Scan using t3_pkey on t3
781 -> Index Scan using t1_pkey on t1
782 -> Index Scan using t2_pkey on t2
783 Index Cond: (id = t1.id)
786 /*+Leading(t3 t4 t1 t2 t1)*/
787 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
790 Leading(t3 t4 t1 t2 t1)
796 --------------------------------------------------
799 Merge Cond: (t3.id = t1.id)
801 Merge Cond: (t3.id = t4.id)
802 -> Index Scan using t3_pkey on t3
806 -> Index Scan using t1_pkey on t1
807 -> Index Scan using t2_pkey on t2
808 Index Cond: (id = t1.id)
811 /*+Leading(t3 t4 t4)*/
812 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
813 INFO: hint syntax error at or near "Leading(t3 t4 t4)"
814 DETAIL: Relation name "t4" is duplicated.
823 --------------------------------------------------
825 Merge Cond: (t1.id = t4.id)
827 Merge Cond: (t1.id = t3.id)
829 Merge Cond: (t1.id = t2.id)
830 -> Index Scan using t1_pkey on t1
831 -> Index Scan using t2_pkey on t2
832 -> Index Scan using t3_pkey on t3
838 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
840 -----------------------------------------------
842 -> Values Scan on "*VALUES*"
843 -> Index Scan using t1_pkey on t1
844 Index Cond: (id = "*VALUES*".column1)
848 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
857 -----------------------------------------------
859 -> Values Scan on "*VALUES*"
860 -> Index Scan using t1_pkey on t1
861 Index Cond: (id = "*VALUES*".column1)
864 /*+HashJoin(t1 *VALUES*)*/
865 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
868 HashJoin(*VALUES* t1)
874 -------------------------------------------
876 Hash Cond: (t1.id = "*VALUES*".column1)
879 -> Values Scan on "*VALUES*"
882 /*+HashJoin(t1 *VALUES*) IndexScan(t1) IndexScan(*VALUES*)*/
883 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
887 HashJoin(*VALUES* t1)
894 -------------------------------------------
896 Hash Cond: (t1.id = "*VALUES*".column1)
897 -> Index Scan using t1_pkey on t1
899 -> Values Scan on "*VALUES*"
902 -- single table scan hint test
903 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);
905 -----------------------------------------------------------------------------------------------------
906 Index Scan using t1_pkey on t1 (cost=1.89..10.16 rows=1 width=4)
907 Index Cond: (id = $3)
908 InitPlan 2 (returns $1)
909 -> Result (cost=0.94..0.95 rows=1 width=0)
910 InitPlan 1 (returns $0)
911 -> Limit (cost=0.00..0.94 rows=1 width=4)
912 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
913 Index Cond: ((id IS NOT NULL) AND (id < 10))
914 InitPlan 4 (returns $3)
915 -> Result (cost=0.94..0.95 rows=1 width=0)
916 InitPlan 3 (returns $2)
917 -> Limit (cost=0.00..0.94 rows=1 width=4)
918 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
919 Index Cond: ((id IS NOT NULL) AND (id < 10))
923 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);
932 -----------------------------------------------------------------------------------------------------
933 Index Scan using t1_pkey on t1 (cost=29.34..37.61 rows=1 width=4)
934 Index Cond: (id = $2)
935 InitPlan 1 (returns $0)
936 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
937 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
938 Recheck Cond: (id < 10)
939 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
940 Index Cond: (id < 10)
941 InitPlan 3 (returns $2)
942 -> Result (cost=0.94..0.95 rows=1 width=0)
943 InitPlan 2 (returns $1)
944 -> Limit (cost=0.00..0.94 rows=1 width=4)
945 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
946 Index Cond: ((id IS NOT NULL) AND (id < 10))
950 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);
959 -----------------------------------------------------------------------------------------------------
960 Index Scan using t1_pkey on t1 (cost=29.34..37.61 rows=1 width=4)
961 Index Cond: (id = $2)
962 InitPlan 2 (returns $1)
963 -> Result (cost=0.94..0.95 rows=1 width=0)
964 InitPlan 1 (returns $0)
965 -> Limit (cost=0.00..0.94 rows=1 width=4)
966 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
967 Index Cond: ((id IS NOT NULL) AND (id < 10))
968 InitPlan 3 (returns $2)
969 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
970 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
971 Recheck Cond: (id < 10)
972 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
973 Index Cond: (id < 10)
977 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);
986 -----------------------------------------------------------------------------------------------------
987 Bitmap Heap Scan on t1 (cost=6.15..10.17 rows=1 width=4)
988 Recheck Cond: (id = $3)
989 InitPlan 2 (returns $1)
990 -> Result (cost=0.94..0.95 rows=1 width=0)
991 InitPlan 1 (returns $0)
992 -> Limit (cost=0.00..0.94 rows=1 width=4)
993 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
994 Index Cond: ((id IS NOT NULL) AND (id < 10))
995 InitPlan 4 (returns $3)
996 -> Result (cost=0.94..0.95 rows=1 width=0)
997 InitPlan 3 (returns $2)
998 -> Limit (cost=0.00..0.94 rows=1 width=4)
999 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
1000 Index Cond: ((id IS NOT NULL) AND (id < 10))
1001 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1002 Index Cond: (id = $3)
1005 /*+BitmapScan(v_1)BitmapScan(v_2)*/
1006 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);
1016 ------------------------------------------------------------------------------------
1017 Index Scan using t1_pkey on t1 (cost=56.78..65.05 rows=1 width=4)
1018 Index Cond: (id = $1)
1019 InitPlan 1 (returns $0)
1020 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1021 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
1022 Recheck Cond: (id < 10)
1023 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1024 Index Cond: (id < 10)
1025 InitPlan 2 (returns $1)
1026 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1027 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
1028 Recheck Cond: (id < 10)
1029 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1030 Index Cond: (id < 10)
1033 /*+BitmapScan(v_1)BitmapScan(t1)*/
1034 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);
1044 -----------------------------------------------------------------------------------------------------
1045 Bitmap Heap Scan on t1 (cost=33.60..37.61 rows=1 width=4)
1046 Recheck Cond: (id = $2)
1047 InitPlan 1 (returns $0)
1048 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1049 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
1050 Recheck Cond: (id < 10)
1051 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1052 Index Cond: (id < 10)
1053 InitPlan 3 (returns $2)
1054 -> Result (cost=0.94..0.95 rows=1 width=0)
1055 InitPlan 2 (returns $1)
1056 -> Limit (cost=0.00..0.94 rows=1 width=4)
1057 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
1058 Index Cond: ((id IS NOT NULL) AND (id < 10))
1059 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1060 Index Cond: (id = $2)
1063 /*+BitmapScan(v_2)BitmapScan(t1)*/
1064 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);
1074 -----------------------------------------------------------------------------------------------------
1075 Bitmap Heap Scan on t1 (cost=33.60..37.61 rows=1 width=4)
1076 Recheck Cond: (id = $2)
1077 InitPlan 2 (returns $1)
1078 -> Result (cost=0.94..0.95 rows=1 width=0)
1079 InitPlan 1 (returns $0)
1080 -> Limit (cost=0.00..0.94 rows=1 width=4)
1081 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
1082 Index Cond: ((id IS NOT NULL) AND (id < 10))
1083 InitPlan 3 (returns $2)
1084 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1085 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
1086 Recheck Cond: (id < 10)
1087 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1088 Index Cond: (id < 10)
1089 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1090 Index Cond: (id = $2)
1093 /*+BitmapScan(v_1)BitmapScan(v_2)BitmapScan(t1)*/
1094 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);
1105 ------------------------------------------------------------------------------------
1106 Bitmap Heap Scan on t1 (cost=61.04..65.05 rows=1 width=4)
1107 Recheck Cond: (id = $1)
1108 InitPlan 1 (returns $0)
1109 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1110 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
1111 Recheck Cond: (id < 10)
1112 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1113 Index Cond: (id < 10)
1114 InitPlan 2 (returns $1)
1115 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1116 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
1117 Recheck Cond: (id < 10)
1118 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1119 Index Cond: (id < 10)
1120 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1121 Index Cond: (id = $1)
1124 -- full scan hint pattern test
1125 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1127 -----------------------------------
1129 TID Cond: (ctid = '(1,1)'::tid)
1134 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1143 -------------------------------------------------
1145 Filter: ((id < 10) AND (ctid = '(1,1)'::tid))
1149 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1158 ---------------------------------
1159 Index Scan using t1_pkey on t1
1160 Index Cond: (id < 10)
1161 Filter: (ctid = '(1,1)'::tid)
1165 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1174 ------------------------------------
1175 Bitmap Heap Scan on t1
1176 Recheck Cond: (id < 10)
1177 Filter: (ctid = '(1,1)'::tid)
1178 -> Bitmap Index Scan on t1_pkey
1179 Index Cond: (id < 10)
1183 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1192 -----------------------------------
1194 TID Cond: (ctid = '(1,1)'::tid)
1199 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1208 -----------------------------------
1210 TID Cond: (ctid = '(1,1)'::tid)
1214 /*+NoIndexScan(t1)*/
1215 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1224 -----------------------------------
1226 TID Cond: (ctid = '(1,1)'::tid)
1230 /*+NoBitmapScan(t1)*/
1231 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1240 -----------------------------------
1242 TID Cond: (ctid = '(1,1)'::tid)
1247 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1256 ---------------------------------
1257 Index Scan using t1_pkey on t1
1258 Index Cond: (id < 10)
1259 Filter: (ctid = '(1,1)'::tid)
1262 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1264 -----------------------------------------
1266 Join Filter: (t1.id = t2.id)
1268 TID Cond: (ctid = '(1,1)'::tid)
1270 TID Cond: (ctid = '(1,1)'::tid)
1274 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1283 -----------------------------------------
1285 Join Filter: (t1.id = t2.id)
1287 Filter: (ctid = '(1,1)'::tid)
1289 TID Cond: (ctid = '(1,1)'::tid)
1293 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1302 -----------------------------------------
1304 Join Filter: (t1.id = t2.id)
1306 TID Cond: (ctid = '(1,1)'::tid)
1308 Filter: (ctid = '(1,1)'::tid)
1311 /*+SeqScan(t1) SeqScan(t2)*/
1312 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1322 ---------------------------------------
1324 Join Filter: (t1.id = t2.id)
1326 Filter: (ctid = '(1,1)'::tid)
1328 Filter: (ctid = '(1,1)'::tid)
1331 /*+SeqScan(t1) IndexScan(t2)*/
1332 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1342 ---------------------------------------
1345 Filter: (ctid = '(1,1)'::tid)
1346 -> Index Scan using t2_pkey on t2
1347 Index Cond: (id = t1.id)
1348 Filter: (ctid = '(1,1)'::tid)
1351 /*+SeqScan(t1) BitmapScan(t2)*/
1352 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1362 ------------------------------------------
1365 Filter: (ctid = '(1,1)'::tid)
1366 -> Bitmap Heap Scan on t2
1367 Recheck Cond: (id = t1.id)
1368 Filter: (ctid = '(1,1)'::tid)
1369 -> Bitmap Index Scan on t2_pkey
1370 Index Cond: (id = t1.id)
1373 /*+SeqScan(t1) TidScan(t2)*/
1374 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1384 -----------------------------------------
1386 Join Filter: (t1.id = t2.id)
1388 Filter: (ctid = '(1,1)'::tid)
1390 TID Cond: (ctid = '(1,1)'::tid)
1393 /*+SeqScan(t1) NoSeqScan(t2)*/
1394 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1404 -----------------------------------------
1406 Join Filter: (t1.id = t2.id)
1408 Filter: (ctid = '(1,1)'::tid)
1410 TID Cond: (ctid = '(1,1)'::tid)
1413 /*+SeqScan(t1) NoIndexScan(t2)*/
1414 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1424 -----------------------------------------
1426 Join Filter: (t1.id = t2.id)
1428 Filter: (ctid = '(1,1)'::tid)
1430 TID Cond: (ctid = '(1,1)'::tid)
1433 /*+SeqScan(t1) NoBitmapScan(t2)*/
1434 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1444 -----------------------------------------
1446 Join Filter: (t1.id = t2.id)
1448 Filter: (ctid = '(1,1)'::tid)
1450 TID Cond: (ctid = '(1,1)'::tid)
1453 /*+SeqScan(t1) NoTidScan(t2)*/
1454 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1464 ---------------------------------------
1467 Filter: (ctid = '(1,1)'::tid)
1468 -> Index Scan using t2_pkey on t2
1469 Index Cond: (id = t1.id)
1470 Filter: (ctid = '(1,1)'::tid)
1474 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1483 -----------------------------------------
1486 TID Cond: (ctid = '(1,1)'::tid)
1487 -> Index Scan using t1_pkey on t1
1488 Index Cond: (id = t2.id)
1489 Filter: (ctid = '(1,1)'::tid)
1493 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1502 -----------------------------------------
1505 TID Cond: (ctid = '(1,1)'::tid)
1506 -> Index Scan using t2_pkey on t2
1507 Index Cond: (id = t1.id)
1508 Filter: (ctid = '(1,1)'::tid)
1511 /*+IndexScan(t1) SeqScan(t2)*/
1512 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1522 ---------------------------------------
1525 Filter: (ctid = '(1,1)'::tid)
1526 -> Index Scan using t1_pkey on t1
1527 Index Cond: (id = t2.id)
1528 Filter: (ctid = '(1,1)'::tid)
1531 /*+IndexScan(t1) IndexScan(t2)*/
1532 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1542 ---------------------------------------
1544 -> Index Scan using t2_pkey on t2
1545 Filter: (ctid = '(1,1)'::tid)
1546 -> Index Scan using t1_pkey on t1
1547 Index Cond: (id = t2.id)
1548 Filter: (ctid = '(1,1)'::tid)
1551 /*+IndexScan(t1) BitmapScan(t2)*/
1552 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1562 ------------------------------------------
1564 -> Index Scan using t1_pkey on t1
1565 Filter: (ctid = '(1,1)'::tid)
1566 -> Bitmap Heap Scan on t2
1567 Recheck Cond: (id = t1.id)
1568 Filter: (ctid = '(1,1)'::tid)
1569 -> Bitmap Index Scan on t2_pkey
1570 Index Cond: (id = t1.id)
1573 /*+IndexScan(t1) TidScan(t2)*/
1574 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1584 -----------------------------------------
1587 TID Cond: (ctid = '(1,1)'::tid)
1588 -> Index Scan using t1_pkey on t1
1589 Index Cond: (id = t2.id)
1590 Filter: (ctid = '(1,1)'::tid)
1593 /*+IndexScan(t1) NoSeqScan(t2)*/
1594 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1604 -----------------------------------------
1607 TID Cond: (ctid = '(1,1)'::tid)
1608 -> Index Scan using t1_pkey on t1
1609 Index Cond: (id = t2.id)
1610 Filter: (ctid = '(1,1)'::tid)
1613 /*+IndexScan(t1) NoIndexScan(t2)*/
1614 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1624 -----------------------------------------
1627 TID Cond: (ctid = '(1,1)'::tid)
1628 -> Index Scan using t1_pkey on t1
1629 Index Cond: (id = t2.id)
1630 Filter: (ctid = '(1,1)'::tid)
1633 /*+IndexScan(t1) NoBitmapScan(t2)*/
1634 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1644 -----------------------------------------
1647 TID Cond: (ctid = '(1,1)'::tid)
1648 -> Index Scan using t1_pkey on t1
1649 Index Cond: (id = t2.id)
1650 Filter: (ctid = '(1,1)'::tid)
1653 /*+IndexScan(t1) NoTidScan(t2)*/
1654 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1664 ---------------------------------------
1667 Filter: (ctid = '(1,1)'::tid)
1668 -> Index Scan using t1_pkey on t1
1669 Index Cond: (id = t2.id)
1670 Filter: (ctid = '(1,1)'::tid)
1674 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1683 ------------------------------------------
1686 TID Cond: (ctid = '(1,1)'::tid)
1687 -> Bitmap Heap Scan on t1
1688 Recheck Cond: (id = t2.id)
1689 Filter: (ctid = '(1,1)'::tid)
1690 -> Bitmap Index Scan on t1_pkey
1691 Index Cond: (id = t2.id)
1695 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1704 ------------------------------------------
1707 TID Cond: (ctid = '(1,1)'::tid)
1708 -> Bitmap Heap Scan on t2
1709 Recheck Cond: (id = t1.id)
1710 Filter: (ctid = '(1,1)'::tid)
1711 -> Bitmap Index Scan on t2_pkey
1712 Index Cond: (id = t1.id)
1716 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1725 ------------------------------------------
1728 TID Cond: (ctid = '(1,1)'::tid)
1729 -> Bitmap Heap Scan on t2
1730 Recheck Cond: (id = t1.id)
1731 Filter: (ctid = '(1,1)'::tid)
1732 -> Bitmap Index Scan on t2_pkey
1733 Index Cond: (id = t1.id)
1736 /*+BitmapScan(t1) SeqScan(t2)*/
1737 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1747 ------------------------------------------
1750 Filter: (ctid = '(1,1)'::tid)
1751 -> Bitmap Heap Scan on t1
1752 Recheck Cond: (id = t2.id)
1753 Filter: (ctid = '(1,1)'::tid)
1754 -> Bitmap Index Scan on t1_pkey
1755 Index Cond: (id = t2.id)
1758 /*+BitmapScan(t1) IndexScan(t2)*/
1759 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1769 ------------------------------------------
1771 -> Index Scan using t2_pkey on t2
1772 Filter: (ctid = '(1,1)'::tid)
1773 -> Bitmap Heap Scan on t1
1774 Recheck Cond: (id = t2.id)
1775 Filter: (ctid = '(1,1)'::tid)
1776 -> Bitmap Index Scan on t1_pkey
1777 Index Cond: (id = t2.id)
1780 /*+BitmapScan(t1) BitmapScan(t2)*/
1781 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1791 ------------------------------------------
1793 -> Index Scan using t2_pkey on t2
1794 Filter: (ctid = '(1,1)'::tid)
1795 -> Bitmap Heap Scan on t1
1796 Recheck Cond: (id = t2.id)
1797 Filter: (ctid = '(1,1)'::tid)
1798 -> Bitmap Index Scan on t1_pkey
1799 Index Cond: (id = t2.id)
1802 /*+BitmapScan(t1) TidScan(t2)*/
1803 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1813 ------------------------------------------
1816 TID Cond: (ctid = '(1,1)'::tid)
1817 -> Bitmap Heap Scan on t1
1818 Recheck Cond: (id = t2.id)
1819 Filter: (ctid = '(1,1)'::tid)
1820 -> Bitmap Index Scan on t1_pkey
1821 Index Cond: (id = t2.id)
1824 /*+BitmapScan(t1) NoSeqScan(t2)*/
1825 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1835 ------------------------------------------
1838 TID Cond: (ctid = '(1,1)'::tid)
1839 -> Bitmap Heap Scan on t1
1840 Recheck Cond: (id = t2.id)
1841 Filter: (ctid = '(1,1)'::tid)
1842 -> Bitmap Index Scan on t1_pkey
1843 Index Cond: (id = t2.id)
1846 /*+BitmapScan(t1) NoIndexScan(t2)*/
1847 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1857 ------------------------------------------
1860 TID Cond: (ctid = '(1,1)'::tid)
1861 -> Bitmap Heap Scan on t1
1862 Recheck Cond: (id = t2.id)
1863 Filter: (ctid = '(1,1)'::tid)
1864 -> Bitmap Index Scan on t1_pkey
1865 Index Cond: (id = t2.id)
1868 /*+BitmapScan(t1) NoBitmapScan(t2)*/
1869 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1879 ------------------------------------------
1882 TID Cond: (ctid = '(1,1)'::tid)
1883 -> Bitmap Heap Scan on t1
1884 Recheck Cond: (id = t2.id)
1885 Filter: (ctid = '(1,1)'::tid)
1886 -> Bitmap Index Scan on t1_pkey
1887 Index Cond: (id = t2.id)
1890 /*+BitmapScan(t1) NoTidScan(t2)*/
1891 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1901 ------------------------------------------
1904 Filter: (ctid = '(1,1)'::tid)
1905 -> Bitmap Heap Scan on t1
1906 Recheck Cond: (id = t2.id)
1907 Filter: (ctid = '(1,1)'::tid)
1908 -> Bitmap Index Scan on t1_pkey
1909 Index Cond: (id = t2.id)
1913 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1922 -----------------------------------------
1924 Join Filter: (t1.id = t2.id)
1926 TID Cond: (ctid = '(1,1)'::tid)
1928 TID Cond: (ctid = '(1,1)'::tid)
1932 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1941 -----------------------------------------
1943 Join Filter: (t1.id = t2.id)
1945 TID Cond: (ctid = '(1,1)'::tid)
1947 TID Cond: (ctid = '(1,1)'::tid)
1950 /*+TidScan(t1) SeqScan(t2)*/
1951 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1961 -----------------------------------------
1963 Join Filter: (t1.id = t2.id)
1965 TID Cond: (ctid = '(1,1)'::tid)
1967 Filter: (ctid = '(1,1)'::tid)
1970 /*+TidScan(t1) IndexScan(t2)*/
1971 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1981 -----------------------------------------
1984 TID Cond: (ctid = '(1,1)'::tid)
1985 -> Index Scan using t2_pkey on t2
1986 Index Cond: (id = t1.id)
1987 Filter: (ctid = '(1,1)'::tid)
1990 /*+TidScan(t1) BitmapScan(t2)*/
1991 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2001 ------------------------------------------
2004 TID Cond: (ctid = '(1,1)'::tid)
2005 -> Bitmap Heap Scan on t2
2006 Recheck Cond: (id = t1.id)
2007 Filter: (ctid = '(1,1)'::tid)
2008 -> Bitmap Index Scan on t2_pkey
2009 Index Cond: (id = t1.id)
2012 /*+TidScan(t1) TidScan(t2)*/
2013 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2023 -----------------------------------------
2025 Join Filter: (t1.id = t2.id)
2027 TID Cond: (ctid = '(1,1)'::tid)
2029 TID Cond: (ctid = '(1,1)'::tid)
2032 /*+TidScan(t1) NoSeqScan(t2)*/
2033 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2043 -----------------------------------------
2045 Join Filter: (t1.id = t2.id)
2047 TID Cond: (ctid = '(1,1)'::tid)
2049 TID Cond: (ctid = '(1,1)'::tid)
2052 /*+TidScan(t1) NoIndexScan(t2)*/
2053 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2063 -----------------------------------------
2065 Join Filter: (t1.id = t2.id)
2067 TID Cond: (ctid = '(1,1)'::tid)
2069 TID Cond: (ctid = '(1,1)'::tid)
2072 /*+TidScan(t1) NoBitmapScan(t2)*/
2073 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2083 -----------------------------------------
2085 Join Filter: (t1.id = t2.id)
2087 TID Cond: (ctid = '(1,1)'::tid)
2089 TID Cond: (ctid = '(1,1)'::tid)
2092 /*+TidScan(t1) NoTidScan(t2)*/
2093 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2103 -----------------------------------------
2106 TID Cond: (ctid = '(1,1)'::tid)
2107 -> Index Scan using t2_pkey on t2
2108 Index Cond: (id = t1.id)
2109 Filter: (ctid = '(1,1)'::tid)
2113 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2122 -----------------------------------------
2124 Join Filter: (t1.id = t2.id)
2126 TID Cond: (ctid = '(1,1)'::tid)
2128 TID Cond: (ctid = '(1,1)'::tid)
2132 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2141 -----------------------------------------
2143 Join Filter: (t1.id = t2.id)
2145 TID Cond: (ctid = '(1,1)'::tid)
2147 TID Cond: (ctid = '(1,1)'::tid)
2150 /*+NoSeqScan(t1) SeqScan(t2)*/
2151 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2161 -----------------------------------------
2163 Join Filter: (t1.id = t2.id)
2165 TID Cond: (ctid = '(1,1)'::tid)
2167 Filter: (ctid = '(1,1)'::tid)
2170 /*+NoSeqScan(t1) IndexScan(t2)*/
2171 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2181 -----------------------------------------
2184 TID Cond: (ctid = '(1,1)'::tid)
2185 -> Index Scan using t2_pkey on t2
2186 Index Cond: (id = t1.id)
2187 Filter: (ctid = '(1,1)'::tid)
2190 /*+NoSeqScan(t1) BitmapScan(t2)*/
2191 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2201 ------------------------------------------
2204 TID Cond: (ctid = '(1,1)'::tid)
2205 -> Bitmap Heap Scan on t2
2206 Recheck Cond: (id = t1.id)
2207 Filter: (ctid = '(1,1)'::tid)
2208 -> Bitmap Index Scan on t2_pkey
2209 Index Cond: (id = t1.id)
2212 /*+NoSeqScan(t1) TidScan(t2)*/
2213 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2223 -----------------------------------------
2225 Join Filter: (t1.id = t2.id)
2227 TID Cond: (ctid = '(1,1)'::tid)
2229 TID Cond: (ctid = '(1,1)'::tid)
2232 /*+NoSeqScan(t1) NoSeqScan(t2)*/
2233 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2243 -----------------------------------------
2245 Join Filter: (t1.id = t2.id)
2247 TID Cond: (ctid = '(1,1)'::tid)
2249 TID Cond: (ctid = '(1,1)'::tid)
2252 /*+NoSeqScan(t1) NoIndexScan(t2)*/
2253 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2263 -----------------------------------------
2265 Join Filter: (t1.id = t2.id)
2267 TID Cond: (ctid = '(1,1)'::tid)
2269 TID Cond: (ctid = '(1,1)'::tid)
2272 /*+NoSeqScan(t1) NoBitmapScan(t2)*/
2273 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2283 -----------------------------------------
2285 Join Filter: (t1.id = t2.id)
2287 TID Cond: (ctid = '(1,1)'::tid)
2289 TID Cond: (ctid = '(1,1)'::tid)
2292 /*+NoSeqScan(t1) NoTidScan(t2)*/
2293 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2303 -----------------------------------------
2306 TID Cond: (ctid = '(1,1)'::tid)
2307 -> Index Scan using t2_pkey on t2
2308 Index Cond: (id = t1.id)
2309 Filter: (ctid = '(1,1)'::tid)
2312 /*+NoIndexScan(t1)*/
2313 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2322 -----------------------------------------
2324 Join Filter: (t1.id = t2.id)
2326 TID Cond: (ctid = '(1,1)'::tid)
2328 TID Cond: (ctid = '(1,1)'::tid)
2331 /*+NoIndexScan(t2)*/
2332 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2341 -----------------------------------------
2343 Join Filter: (t1.id = t2.id)
2345 TID Cond: (ctid = '(1,1)'::tid)
2347 TID Cond: (ctid = '(1,1)'::tid)
2350 /*+NoIndexScan(t1) SeqScan(t2)*/
2351 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2361 -----------------------------------------
2363 Join Filter: (t1.id = t2.id)
2365 TID Cond: (ctid = '(1,1)'::tid)
2367 Filter: (ctid = '(1,1)'::tid)
2370 /*+NoIndexScan(t1) IndexScan(t2)*/
2371 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2381 -----------------------------------------
2384 TID Cond: (ctid = '(1,1)'::tid)
2385 -> Index Scan using t2_pkey on t2
2386 Index Cond: (id = t1.id)
2387 Filter: (ctid = '(1,1)'::tid)
2390 /*+NoIndexScan(t1) BitmapScan(t2)*/
2391 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2401 ------------------------------------------
2404 TID Cond: (ctid = '(1,1)'::tid)
2405 -> Bitmap Heap Scan on t2
2406 Recheck Cond: (id = t1.id)
2407 Filter: (ctid = '(1,1)'::tid)
2408 -> Bitmap Index Scan on t2_pkey
2409 Index Cond: (id = t1.id)
2412 /*+NoIndexScan(t1) TidScan(t2)*/
2413 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2423 -----------------------------------------
2425 Join Filter: (t1.id = t2.id)
2427 TID Cond: (ctid = '(1,1)'::tid)
2429 TID Cond: (ctid = '(1,1)'::tid)
2432 /*+NoIndexScan(t1) NoSeqScan(t2)*/
2433 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2443 -----------------------------------------
2445 Join Filter: (t1.id = t2.id)
2447 TID Cond: (ctid = '(1,1)'::tid)
2449 TID Cond: (ctid = '(1,1)'::tid)
2452 /*+NoIndexScan(t1) NoIndexScan(t2)*/
2453 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2463 -----------------------------------------
2465 Join Filter: (t1.id = t2.id)
2467 TID Cond: (ctid = '(1,1)'::tid)
2469 TID Cond: (ctid = '(1,1)'::tid)
2472 /*+NoIndexScan(t1) NoBitmapScan(t2)*/
2473 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2483 -----------------------------------------
2485 Join Filter: (t1.id = t2.id)
2487 TID Cond: (ctid = '(1,1)'::tid)
2489 TID Cond: (ctid = '(1,1)'::tid)
2492 /*+NoIndexScan(t1) NoTidScan(t2)*/
2493 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2503 -----------------------------------------
2506 TID Cond: (ctid = '(1,1)'::tid)
2507 -> Index Scan using t2_pkey on t2
2508 Index Cond: (id = t1.id)
2509 Filter: (ctid = '(1,1)'::tid)
2512 /*+NoBitmapScan(t1)*/
2513 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2522 -----------------------------------------
2524 Join Filter: (t1.id = t2.id)
2526 TID Cond: (ctid = '(1,1)'::tid)
2528 TID Cond: (ctid = '(1,1)'::tid)
2531 /*+NoBitmapScan(t2)*/
2532 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2541 -----------------------------------------
2543 Join Filter: (t1.id = t2.id)
2545 TID Cond: (ctid = '(1,1)'::tid)
2547 TID Cond: (ctid = '(1,1)'::tid)
2550 /*+NoBitmapScan(t1) SeqScan(t2)*/
2551 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2561 -----------------------------------------
2563 Join Filter: (t1.id = t2.id)
2565 TID Cond: (ctid = '(1,1)'::tid)
2567 Filter: (ctid = '(1,1)'::tid)
2570 /*+NoBitmapScan(t1) IndexScan(t2)*/
2571 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2581 -----------------------------------------
2584 TID Cond: (ctid = '(1,1)'::tid)
2585 -> Index Scan using t2_pkey on t2
2586 Index Cond: (id = t1.id)
2587 Filter: (ctid = '(1,1)'::tid)
2590 /*+NoBitmapScan(t1) BitmapScan(t2)*/
2591 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2601 ------------------------------------------
2604 TID Cond: (ctid = '(1,1)'::tid)
2605 -> Bitmap Heap Scan on t2
2606 Recheck Cond: (id = t1.id)
2607 Filter: (ctid = '(1,1)'::tid)
2608 -> Bitmap Index Scan on t2_pkey
2609 Index Cond: (id = t1.id)
2612 /*+NoBitmapScan(t1) TidScan(t2)*/
2613 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2623 -----------------------------------------
2625 Join Filter: (t1.id = t2.id)
2627 TID Cond: (ctid = '(1,1)'::tid)
2629 TID Cond: (ctid = '(1,1)'::tid)
2632 /*+NoBitmapScan(t1) NoSeqScan(t2)*/
2633 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2643 -----------------------------------------
2645 Join Filter: (t1.id = t2.id)
2647 TID Cond: (ctid = '(1,1)'::tid)
2649 TID Cond: (ctid = '(1,1)'::tid)
2652 /*+NoBitmapScan(t1) NoIndexScan(t2)*/
2653 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2663 -----------------------------------------
2665 Join Filter: (t1.id = t2.id)
2667 TID Cond: (ctid = '(1,1)'::tid)
2669 TID Cond: (ctid = '(1,1)'::tid)
2672 /*+NoBitmapScan(t1) NoBitmapScan(t2)*/
2673 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2683 -----------------------------------------
2685 Join Filter: (t1.id = t2.id)
2687 TID Cond: (ctid = '(1,1)'::tid)
2689 TID Cond: (ctid = '(1,1)'::tid)
2692 /*+NoBitmapScan(t1) NoTidScan(t2)*/
2693 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2703 -----------------------------------------
2706 TID Cond: (ctid = '(1,1)'::tid)
2707 -> Index Scan using t2_pkey on t2
2708 Index Cond: (id = t1.id)
2709 Filter: (ctid = '(1,1)'::tid)
2713 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2722 -----------------------------------------
2725 TID Cond: (ctid = '(1,1)'::tid)
2726 -> Index Scan using t1_pkey on t1
2727 Index Cond: (id = t2.id)
2728 Filter: (ctid = '(1,1)'::tid)
2732 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2741 -----------------------------------------
2744 TID Cond: (ctid = '(1,1)'::tid)
2745 -> Index Scan using t2_pkey on t2
2746 Index Cond: (id = t1.id)
2747 Filter: (ctid = '(1,1)'::tid)
2750 /*+NoTidScan(t1) SeqScan(t2)*/
2751 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2761 ---------------------------------------
2764 Filter: (ctid = '(1,1)'::tid)
2765 -> Index Scan using t1_pkey on t1
2766 Index Cond: (id = t2.id)
2767 Filter: (ctid = '(1,1)'::tid)
2770 /*+NoTidScan(t1) IndexScan(t2)*/
2771 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2781 ---------------------------------------
2783 -> Index Scan using t2_pkey on t2
2784 Filter: (ctid = '(1,1)'::tid)
2785 -> Index Scan using t1_pkey on t1
2786 Index Cond: (id = t2.id)
2787 Filter: (ctid = '(1,1)'::tid)
2790 /*+NoTidScan(t1) BitmapScan(t2)*/
2791 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2801 ------------------------------------------
2804 Filter: (ctid = '(1,1)'::tid)
2805 -> Bitmap Heap Scan on t2
2806 Recheck Cond: (id = t1.id)
2807 Filter: (ctid = '(1,1)'::tid)
2808 -> Bitmap Index Scan on t2_pkey
2809 Index Cond: (id = t1.id)
2812 /*+NoTidScan(t1) TidScan(t2)*/
2813 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2823 -----------------------------------------
2826 TID Cond: (ctid = '(1,1)'::tid)
2827 -> Index Scan using t1_pkey on t1
2828 Index Cond: (id = t2.id)
2829 Filter: (ctid = '(1,1)'::tid)
2832 /*+NoTidScan(t1) NoSeqScan(t2)*/
2833 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2843 -----------------------------------------
2846 TID Cond: (ctid = '(1,1)'::tid)
2847 -> Index Scan using t1_pkey on t1
2848 Index Cond: (id = t2.id)
2849 Filter: (ctid = '(1,1)'::tid)
2852 /*+NoTidScan(t1) NoIndexScan(t2)*/
2853 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2863 -----------------------------------------
2866 TID Cond: (ctid = '(1,1)'::tid)
2867 -> Index Scan using t1_pkey on t1
2868 Index Cond: (id = t2.id)
2869 Filter: (ctid = '(1,1)'::tid)
2872 /*+NoTidScan(t1) NoBitmapScan(t2)*/
2873 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2883 -----------------------------------------
2886 TID Cond: (ctid = '(1,1)'::tid)
2887 -> Index Scan using t1_pkey on t1
2888 Index Cond: (id = t2.id)
2889 Filter: (ctid = '(1,1)'::tid)
2892 /*+NoTidScan(t1) NoTidScan(t2)*/
2893 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2903 ---------------------------------------
2906 Filter: (ctid = '(1,1)'::tid)
2907 -> Index Scan using t1_pkey on t1
2908 Index Cond: (id = t2.id)
2909 Filter: (ctid = '(1,1)'::tid)
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;
2915 -----------------------------------------
2917 Join Filter: (t1.id = t2.id)
2919 TID Cond: (ctid = '(1,1)'::tid)
2922 TID Cond: (ctid = '(1,1)'::tid)
2926 /*+BitmapScan(t1) BitmapScan(t2)*/
2927 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;
2937 --------------------------------------------------------
2939 -> Bitmap Heap Scan on t2
2940 Recheck Cond: (id < 10)
2941 Filter: (ctid = '(1,1)'::tid)
2942 -> Bitmap Index Scan on t2_pkey
2943 Index Cond: (id < 10)
2944 -> Bitmap Heap Scan on t1
2945 Recheck Cond: ((id < 10) AND (id = t2.id))
2946 Filter: (ctid = '(1,1)'::tid)
2947 -> Bitmap Index Scan on t1_pkey
2948 Index Cond: ((id < 10) AND (id = t2.id))
2952 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2954 ------------------------------
2956 Hash Cond: (t1.id = t2.id)
2962 /*+MergeJoin(t1 t2)*/
2963 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2972 --------------------------------------
2974 Merge Cond: (t1.id = t2.id)
2975 -> Index Scan using t1_pkey on t1
2976 -> Index Scan using t2_pkey on t2
2979 /*+NestLoop(t1 t2)*/
2980 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2989 ------------------------------
2991 Hash Cond: (t1.id = t2.id)
2997 -- inherite table test
2998 SET constraint_exclusion TO off;
2999 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3001 -----------------------------------------------------------------------------
3005 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3006 -> Seq Scan on p1_c1 p1
3007 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3008 -> Seq Scan on p1_c2 p1
3009 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3010 -> Seq Scan on p1_c3 p1
3011 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3012 -> Tid Scan on p1_c4 p1
3013 TID Cond: (ctid = '(1,1)'::tid)
3014 Filter: ((id >= 50) AND (id <= 51))
3015 -> Tid Scan on p1_c1_c1 p1
3016 TID Cond: (ctid = '(1,1)'::tid)
3017 Filter: ((id >= 50) AND (id <= 51))
3018 -> Tid Scan on p1_c1_c2 p1
3019 TID Cond: (ctid = '(1,1)'::tid)
3020 Filter: ((id >= 50) AND (id <= 51))
3021 -> Tid Scan on p1_c3_c1 p1
3022 TID Cond: (ctid = '(1,1)'::tid)
3023 Filter: ((id >= 50) AND (id <= 51))
3024 -> Tid Scan on p1_c3_c2 p1
3025 TID Cond: (ctid = '(1,1)'::tid)
3026 Filter: ((id >= 50) AND (id <= 51))
3029 SET constraint_exclusion TO on;
3030 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3032 -----------------------------------------------------------------------------
3036 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3037 -> Seq Scan on p1_c1 p1
3038 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3039 -> Tid Scan on p1_c1_c1 p1
3040 TID Cond: (ctid = '(1,1)'::tid)
3041 Filter: ((id >= 50) AND (id <= 51))
3042 -> Tid Scan on p1_c1_c2 p1
3043 TID Cond: (ctid = '(1,1)'::tid)
3044 Filter: ((id >= 50) AND (id <= 51))
3047 SET constraint_exclusion TO off;
3049 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3058 -----------------------------------------------------------------------------
3062 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3063 -> Seq Scan on p1_c1 p1
3064 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3065 -> Seq Scan on p1_c2 p1
3066 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3067 -> Seq Scan on p1_c3 p1
3068 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3069 -> Seq Scan on p1_c4 p1
3070 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3071 -> Seq Scan on p1_c1_c1 p1
3072 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3073 -> Seq Scan on p1_c1_c2 p1
3074 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3075 -> Seq Scan on p1_c3_c1 p1
3076 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3077 -> Seq Scan on p1_c3_c2 p1
3078 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3082 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3091 -----------------------------------------------------------
3094 -> Index Scan using p1_pkey on p1
3095 Index Cond: ((id >= 50) AND (id <= 51))
3096 Filter: (ctid = '(1,1)'::tid)
3097 -> Index Scan using p1_c1_pkey on p1_c1 p1
3098 Index Cond: ((id >= 50) AND (id <= 51))
3099 Filter: (ctid = '(1,1)'::tid)
3100 -> Index Scan using p1_c2_pkey on p1_c2 p1
3101 Index Cond: ((id >= 50) AND (id <= 51))
3102 Filter: (ctid = '(1,1)'::tid)
3103 -> Index Scan using p1_c3_pkey on p1_c3 p1
3104 Index Cond: ((id >= 50) AND (id <= 51))
3105 Filter: (ctid = '(1,1)'::tid)
3106 -> Index Scan using p1_c4_pkey on p1_c4 p1
3107 Index Cond: ((id >= 50) AND (id <= 51))
3108 Filter: (ctid = '(1,1)'::tid)
3109 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
3110 Index Cond: ((id >= 50) AND (id <= 51))
3111 Filter: (ctid = '(1,1)'::tid)
3112 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
3113 Index Cond: ((id >= 50) AND (id <= 51))
3114 Filter: (ctid = '(1,1)'::tid)
3115 -> Index Scan using p1_c3_c1_pkey on p1_c3_c1 p1
3116 Index Cond: ((id >= 50) AND (id <= 51))
3117 Filter: (ctid = '(1,1)'::tid)
3118 -> Index Scan using p1_c3_c2_pkey on p1_c3_c2 p1
3119 Index Cond: ((id >= 50) AND (id <= 51))
3120 Filter: (ctid = '(1,1)'::tid)
3124 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3133 -------------------------------------------------------------
3136 -> Bitmap Heap Scan on p1
3137 Recheck Cond: ((id >= 50) AND (id <= 51))
3138 Filter: (ctid = '(1,1)'::tid)
3139 -> Bitmap Index Scan on p1_pkey
3140 Index Cond: ((id >= 50) AND (id <= 51))
3141 -> Bitmap Heap Scan on p1_c1 p1
3142 Recheck Cond: ((id >= 50) AND (id <= 51))
3143 Filter: (ctid = '(1,1)'::tid)
3144 -> Bitmap Index Scan on p1_c1_pkey
3145 Index Cond: ((id >= 50) AND (id <= 51))
3146 -> Bitmap Heap Scan on p1_c2 p1
3147 Recheck Cond: ((id >= 50) AND (id <= 51))
3148 Filter: (ctid = '(1,1)'::tid)
3149 -> Bitmap Index Scan on p1_c2_pkey
3150 Index Cond: ((id >= 50) AND (id <= 51))
3151 -> Bitmap Heap Scan on p1_c3 p1
3152 Recheck Cond: ((id >= 50) AND (id <= 51))
3153 Filter: (ctid = '(1,1)'::tid)
3154 -> Bitmap Index Scan on p1_c3_pkey
3155 Index Cond: ((id >= 50) AND (id <= 51))
3156 -> Bitmap Heap Scan on p1_c4 p1
3157 Recheck Cond: ((id >= 50) AND (id <= 51))
3158 Filter: (ctid = '(1,1)'::tid)
3159 -> Bitmap Index Scan on p1_c4_pkey
3160 Index Cond: ((id >= 50) AND (id <= 51))
3161 -> Bitmap Heap Scan on p1_c1_c1 p1
3162 Recheck Cond: ((id >= 50) AND (id <= 51))
3163 Filter: (ctid = '(1,1)'::tid)
3164 -> Bitmap Index Scan on p1_c1_c1_pkey
3165 Index Cond: ((id >= 50) AND (id <= 51))
3166 -> Bitmap Heap Scan on p1_c1_c2 p1
3167 Recheck Cond: ((id >= 50) AND (id <= 51))
3168 Filter: (ctid = '(1,1)'::tid)
3169 -> Bitmap Index Scan on p1_c1_c2_pkey
3170 Index Cond: ((id >= 50) AND (id <= 51))
3171 -> Bitmap Heap Scan on p1_c3_c1 p1
3172 Recheck Cond: ((id >= 50) AND (id <= 51))
3173 Filter: (ctid = '(1,1)'::tid)
3174 -> Bitmap Index Scan on p1_c3_c1_pkey
3175 Index Cond: ((id >= 50) AND (id <= 51))
3176 -> Bitmap Heap Scan on p1_c3_c2 p1
3177 Recheck Cond: ((id >= 50) AND (id <= 51))
3178 Filter: (ctid = '(1,1)'::tid)
3179 -> Bitmap Index Scan on p1_c3_c2_pkey
3180 Index Cond: ((id >= 50) AND (id <= 51))
3184 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3193 ---------------------------------------------------
3197 TID Cond: (ctid = '(1,1)'::tid)
3198 Filter: ((id >= 50) AND (id <= 51))
3199 -> Tid Scan on p1_c1 p1
3200 TID Cond: (ctid = '(1,1)'::tid)
3201 Filter: ((id >= 50) AND (id <= 51))
3202 -> Tid Scan on p1_c2 p1
3203 TID Cond: (ctid = '(1,1)'::tid)
3204 Filter: ((id >= 50) AND (id <= 51))
3205 -> Tid Scan on p1_c3 p1
3206 TID Cond: (ctid = '(1,1)'::tid)
3207 Filter: ((id >= 50) AND (id <= 51))
3208 -> Tid Scan on p1_c4 p1
3209 TID Cond: (ctid = '(1,1)'::tid)
3210 Filter: ((id >= 50) AND (id <= 51))
3211 -> Tid Scan on p1_c1_c1 p1
3212 TID Cond: (ctid = '(1,1)'::tid)
3213 Filter: ((id >= 50) AND (id <= 51))
3214 -> Tid Scan on p1_c1_c2 p1
3215 TID Cond: (ctid = '(1,1)'::tid)
3216 Filter: ((id >= 50) AND (id <= 51))
3217 -> Tid Scan on p1_c3_c1 p1
3218 TID Cond: (ctid = '(1,1)'::tid)
3219 Filter: ((id >= 50) AND (id <= 51))
3220 -> Tid Scan on p1_c3_c2 p1
3221 TID Cond: (ctid = '(1,1)'::tid)
3222 Filter: ((id >= 50) AND (id <= 51))
3225 SET constraint_exclusion TO on;
3227 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3236 -----------------------------------------------------------------------------
3240 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3241 -> Seq Scan on p1_c1 p1
3242 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3243 -> Seq Scan on p1_c1_c1 p1
3244 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3245 -> Seq Scan on p1_c1_c2 p1
3246 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3250 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3259 -----------------------------------------------------------
3262 -> Index Scan using p1_pkey on p1
3263 Index Cond: ((id >= 50) AND (id <= 51))
3264 Filter: (ctid = '(1,1)'::tid)
3265 -> Index Scan using p1_c1_pkey on p1_c1 p1
3266 Index Cond: ((id >= 50) AND (id <= 51))
3267 Filter: (ctid = '(1,1)'::tid)
3268 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
3269 Index Cond: ((id >= 50) AND (id <= 51))
3270 Filter: (ctid = '(1,1)'::tid)
3271 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
3272 Index Cond: ((id >= 50) AND (id <= 51))
3273 Filter: (ctid = '(1,1)'::tid)
3277 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3286 -------------------------------------------------------------
3289 -> Bitmap Heap Scan on p1
3290 Recheck Cond: ((id >= 50) AND (id <= 51))
3291 Filter: (ctid = '(1,1)'::tid)
3292 -> Bitmap Index Scan on p1_pkey
3293 Index Cond: ((id >= 50) AND (id <= 51))
3294 -> Bitmap Heap Scan on p1_c1 p1
3295 Recheck Cond: ((id >= 50) AND (id <= 51))
3296 Filter: (ctid = '(1,1)'::tid)
3297 -> Bitmap Index Scan on p1_c1_pkey
3298 Index Cond: ((id >= 50) AND (id <= 51))
3299 -> Bitmap Heap Scan on p1_c1_c1 p1
3300 Recheck Cond: ((id >= 50) AND (id <= 51))
3301 Filter: (ctid = '(1,1)'::tid)
3302 -> Bitmap Index Scan on p1_c1_c1_pkey
3303 Index Cond: ((id >= 50) AND (id <= 51))
3304 -> Bitmap Heap Scan on p1_c1_c2 p1
3305 Recheck Cond: ((id >= 50) AND (id <= 51))
3306 Filter: (ctid = '(1,1)'::tid)
3307 -> Bitmap Index Scan on p1_c1_c2_pkey
3308 Index Cond: ((id >= 50) AND (id <= 51))
3312 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3321 ---------------------------------------------------
3325 TID Cond: (ctid = '(1,1)'::tid)
3326 Filter: ((id >= 50) AND (id <= 51))
3327 -> Tid Scan on p1_c1 p1
3328 TID Cond: (ctid = '(1,1)'::tid)
3329 Filter: ((id >= 50) AND (id <= 51))
3330 -> Tid Scan on p1_c1_c1 p1
3331 TID Cond: (ctid = '(1,1)'::tid)
3332 Filter: ((id >= 50) AND (id <= 51))
3333 -> Tid Scan on p1_c1_c2 p1
3334 TID Cond: (ctid = '(1,1)'::tid)
3335 Filter: ((id >= 50) AND (id <= 51))
3338 SET constraint_exclusion TO off;
3339 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;
3341 -----------------------------------------------------------------------------------
3343 Merge Cond: (public.p1.id = t1.id)
3345 Sort Key: public.p1.id
3348 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3349 -> Seq Scan on p1_c1 p1
3350 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3351 -> Seq Scan on p1_c2 p1
3352 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3353 -> Seq Scan on p1_c3 p1
3354 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3355 -> Tid Scan on p1_c4 p1
3356 TID Cond: (ctid = '(1,1)'::tid)
3357 Filter: ((id >= 50) AND (id <= 51))
3358 -> Tid Scan on p1_c1_c1 p1
3359 TID Cond: (ctid = '(1,1)'::tid)
3360 Filter: ((id >= 50) AND (id <= 51))
3361 -> Tid Scan on p1_c1_c2 p1
3362 TID Cond: (ctid = '(1,1)'::tid)
3363 Filter: ((id >= 50) AND (id <= 51))
3364 -> Tid Scan on p1_c3_c1 p1
3365 TID Cond: (ctid = '(1,1)'::tid)
3366 Filter: ((id >= 50) AND (id <= 51))
3367 -> Tid Scan on p1_c3_c2 p1
3368 TID Cond: (ctid = '(1,1)'::tid)
3369 Filter: ((id >= 50) AND (id <= 51))
3370 -> Index Scan using t1_pkey on t1
3371 Index Cond: (id < 10)
3374 SET constraint_exclusion TO on;
3375 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;
3377 -----------------------------------------------------------------------------------
3379 Merge Cond: (public.p1.id = t1.id)
3381 Sort Key: public.p1.id
3384 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3385 -> Seq Scan on p1_c1 p1
3386 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3387 -> Tid Scan on p1_c1_c1 p1
3388 TID Cond: (ctid = '(1,1)'::tid)
3389 Filter: ((id >= 50) AND (id <= 51))
3390 -> Tid Scan on p1_c1_c2 p1
3391 TID Cond: (ctid = '(1,1)'::tid)
3392 Filter: ((id >= 50) AND (id <= 51))
3393 -> Index Scan using t1_pkey on t1
3394 Index Cond: (id < 10)
3397 SET constraint_exclusion TO off;
3399 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;
3408 -----------------------------------------------------------------------------------
3410 Merge Cond: (public.p1.id = t1.id)
3412 Sort Key: public.p1.id
3415 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3416 -> Seq Scan on p1_c1 p1
3417 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3418 -> Seq Scan on p1_c2 p1
3419 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3420 -> Seq Scan on p1_c3 p1
3421 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3422 -> Tid Scan on p1_c4 p1
3423 TID Cond: (ctid = '(1,1)'::tid)
3424 Filter: ((id >= 50) AND (id <= 51))
3425 -> Tid Scan on p1_c1_c1 p1
3426 TID Cond: (ctid = '(1,1)'::tid)
3427 Filter: ((id >= 50) AND (id <= 51))
3428 -> Tid Scan on p1_c1_c2 p1
3429 TID Cond: (ctid = '(1,1)'::tid)
3430 Filter: ((id >= 50) AND (id <= 51))
3431 -> Tid Scan on p1_c3_c1 p1
3432 TID Cond: (ctid = '(1,1)'::tid)
3433 Filter: ((id >= 50) AND (id <= 51))
3434 -> Tid Scan on p1_c3_c2 p1
3435 TID Cond: (ctid = '(1,1)'::tid)
3436 Filter: ((id >= 50) AND (id <= 51))
3437 -> Index Scan using t1_pkey on t1
3438 Index Cond: (id < 10)
3442 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;
3451 -----------------------------------------------------------------------------------
3453 Merge Cond: (public.p1.id = t1.id)
3455 Sort Key: public.p1.id
3458 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3459 -> Seq Scan on p1_c1 p1
3460 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3461 -> Seq Scan on p1_c2 p1
3462 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3463 -> Seq Scan on p1_c3 p1
3464 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3465 -> Tid Scan on p1_c4 p1
3466 TID Cond: (ctid = '(1,1)'::tid)
3467 Filter: ((id >= 50) AND (id <= 51))
3468 -> Tid Scan on p1_c1_c1 p1
3469 TID Cond: (ctid = '(1,1)'::tid)
3470 Filter: ((id >= 50) AND (id <= 51))
3471 -> Tid Scan on p1_c1_c2 p1
3472 TID Cond: (ctid = '(1,1)'::tid)
3473 Filter: ((id >= 50) AND (id <= 51))
3474 -> Tid Scan on p1_c3_c1 p1
3475 TID Cond: (ctid = '(1,1)'::tid)
3476 Filter: ((id >= 50) AND (id <= 51))
3477 -> Tid Scan on p1_c3_c2 p1
3478 TID Cond: (ctid = '(1,1)'::tid)
3479 Filter: ((id >= 50) AND (id <= 51))
3480 -> Index Scan using t1_pkey on t1
3481 Index Cond: (id < 10)
3485 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;
3494 -----------------------------------------------------------------------------------
3496 Merge Cond: (public.p1.id = t1.id)
3498 Sort Key: public.p1.id
3501 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3502 -> Seq Scan on p1_c1 p1
3503 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3504 -> Seq Scan on p1_c2 p1
3505 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3506 -> Seq Scan on p1_c3 p1
3507 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3508 -> Tid Scan on p1_c4 p1
3509 TID Cond: (ctid = '(1,1)'::tid)
3510 Filter: ((id >= 50) AND (id <= 51))
3511 -> Tid Scan on p1_c1_c1 p1
3512 TID Cond: (ctid = '(1,1)'::tid)
3513 Filter: ((id >= 50) AND (id <= 51))
3514 -> Tid Scan on p1_c1_c2 p1
3515 TID Cond: (ctid = '(1,1)'::tid)
3516 Filter: ((id >= 50) AND (id <= 51))
3517 -> Tid Scan on p1_c3_c1 p1
3518 TID Cond: (ctid = '(1,1)'::tid)
3519 Filter: ((id >= 50) AND (id <= 51))
3520 -> Tid Scan on p1_c3_c2 p1
3521 TID Cond: (ctid = '(1,1)'::tid)
3522 Filter: ((id >= 50) AND (id <= 51))
3523 -> Index Scan using t1_pkey on t1
3524 Index Cond: (id < 10)
3528 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;
3537 -----------------------------------------------------------------------------------
3539 Merge Cond: (public.p1.id = t1.id)
3541 Sort Key: public.p1.id
3544 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3545 -> Seq Scan on p1_c1 p1
3546 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3547 -> Seq Scan on p1_c2 p1
3548 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3549 -> Seq Scan on p1_c3 p1
3550 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3551 -> Tid Scan on p1_c4 p1
3552 TID Cond: (ctid = '(1,1)'::tid)
3553 Filter: ((id >= 50) AND (id <= 51))
3554 -> Tid Scan on p1_c1_c1 p1
3555 TID Cond: (ctid = '(1,1)'::tid)
3556 Filter: ((id >= 50) AND (id <= 51))
3557 -> Tid Scan on p1_c1_c2 p1
3558 TID Cond: (ctid = '(1,1)'::tid)
3559 Filter: ((id >= 50) AND (id <= 51))
3560 -> Tid Scan on p1_c3_c1 p1
3561 TID Cond: (ctid = '(1,1)'::tid)
3562 Filter: ((id >= 50) AND (id <= 51))
3563 -> Tid Scan on p1_c3_c2 p1
3564 TID Cond: (ctid = '(1,1)'::tid)
3565 Filter: ((id >= 50) AND (id <= 51))
3566 -> Index Scan using t1_pkey on t1
3567 Index Cond: (id < 10)
3570 /*+NestLoop(p1 t1)*/
3571 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;
3580 -----------------------------------------------------------------------------
3582 Join Filter: (public.p1.id = t1.id)
3585 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3586 -> Seq Scan on p1_c1 p1
3587 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3588 -> Seq Scan on p1_c2 p1
3589 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3590 -> Seq Scan on p1_c3 p1
3591 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3592 -> Tid Scan on p1_c4 p1
3593 TID Cond: (ctid = '(1,1)'::tid)
3594 Filter: ((id >= 50) AND (id <= 51))
3595 -> Tid Scan on p1_c1_c1 p1
3596 TID Cond: (ctid = '(1,1)'::tid)
3597 Filter: ((id >= 50) AND (id <= 51))
3598 -> Tid Scan on p1_c1_c2 p1
3599 TID Cond: (ctid = '(1,1)'::tid)
3600 Filter: ((id >= 50) AND (id <= 51))
3601 -> Tid Scan on p1_c3_c1 p1
3602 TID Cond: (ctid = '(1,1)'::tid)
3603 Filter: ((id >= 50) AND (id <= 51))
3604 -> Tid Scan on p1_c3_c2 p1
3605 TID Cond: (ctid = '(1,1)'::tid)
3606 Filter: ((id >= 50) AND (id <= 51))
3608 -> Index Scan using t1_pkey on t1
3609 Index Cond: (id < 10)
3612 /*+MergeJoin(p1 t1)*/
3613 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;
3622 -----------------------------------------------------------------------------------
3624 Merge Cond: (public.p1.id = t1.id)
3626 Sort Key: public.p1.id
3629 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3630 -> Seq Scan on p1_c1 p1
3631 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3632 -> Seq Scan on p1_c2 p1
3633 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3634 -> Seq Scan on p1_c3 p1
3635 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3636 -> Tid Scan on p1_c4 p1
3637 TID Cond: (ctid = '(1,1)'::tid)
3638 Filter: ((id >= 50) AND (id <= 51))
3639 -> Tid Scan on p1_c1_c1 p1
3640 TID Cond: (ctid = '(1,1)'::tid)
3641 Filter: ((id >= 50) AND (id <= 51))
3642 -> Tid Scan on p1_c1_c2 p1
3643 TID Cond: (ctid = '(1,1)'::tid)
3644 Filter: ((id >= 50) AND (id <= 51))
3645 -> Tid Scan on p1_c3_c1 p1
3646 TID Cond: (ctid = '(1,1)'::tid)
3647 Filter: ((id >= 50) AND (id <= 51))
3648 -> Tid Scan on p1_c3_c2 p1
3649 TID Cond: (ctid = '(1,1)'::tid)
3650 Filter: ((id >= 50) AND (id <= 51))
3651 -> Index Scan using t1_pkey on t1
3652 Index Cond: (id < 10)
3655 /*+HashJoin(p1 t1)*/
3656 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;
3665 -----------------------------------------------------------------------------
3667 Hash Cond: (public.p1.id = t1.id)
3670 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3671 -> Seq Scan on p1_c1 p1
3672 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3673 -> Seq Scan on p1_c2 p1
3674 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3675 -> Seq Scan on p1_c3 p1
3676 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3677 -> Tid Scan on p1_c4 p1
3678 TID Cond: (ctid = '(1,1)'::tid)
3679 Filter: ((id >= 50) AND (id <= 51))
3680 -> Tid Scan on p1_c1_c1 p1
3681 TID Cond: (ctid = '(1,1)'::tid)
3682 Filter: ((id >= 50) AND (id <= 51))
3683 -> Tid Scan on p1_c1_c2 p1
3684 TID Cond: (ctid = '(1,1)'::tid)
3685 Filter: ((id >= 50) AND (id <= 51))
3686 -> Tid Scan on p1_c3_c1 p1
3687 TID Cond: (ctid = '(1,1)'::tid)
3688 Filter: ((id >= 50) AND (id <= 51))
3689 -> Tid Scan on p1_c3_c2 p1
3690 TID Cond: (ctid = '(1,1)'::tid)
3691 Filter: ((id >= 50) AND (id <= 51))
3693 -> Index Scan using t1_pkey on t1
3694 Index Cond: (id < 10)
3697 SET constraint_exclusion TO on;
3699 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;
3708 -----------------------------------------------------------------------------------
3710 Merge Cond: (public.p1.id = t1.id)
3712 Sort Key: public.p1.id
3715 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3716 -> Seq Scan on p1_c1 p1
3717 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3718 -> Tid Scan on p1_c1_c1 p1
3719 TID Cond: (ctid = '(1,1)'::tid)
3720 Filter: ((id >= 50) AND (id <= 51))
3721 -> Tid Scan on p1_c1_c2 p1
3722 TID Cond: (ctid = '(1,1)'::tid)
3723 Filter: ((id >= 50) AND (id <= 51))
3724 -> Index Scan using t1_pkey on t1
3725 Index Cond: (id < 10)
3729 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;
3738 -----------------------------------------------------------------------------------
3740 Merge Cond: (public.p1.id = t1.id)
3742 Sort Key: public.p1.id
3745 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3746 -> Seq Scan on p1_c1 p1
3747 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3748 -> Tid Scan on p1_c1_c1 p1
3749 TID Cond: (ctid = '(1,1)'::tid)
3750 Filter: ((id >= 50) AND (id <= 51))
3751 -> Tid Scan on p1_c1_c2 p1
3752 TID Cond: (ctid = '(1,1)'::tid)
3753 Filter: ((id >= 50) AND (id <= 51))
3754 -> Index Scan using t1_pkey on t1
3755 Index Cond: (id < 10)
3759 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;
3768 -----------------------------------------------------------------------------------
3770 Merge Cond: (public.p1.id = t1.id)
3772 Sort Key: public.p1.id
3775 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3776 -> Seq Scan on p1_c1 p1
3777 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3778 -> Tid Scan on p1_c1_c1 p1
3779 TID Cond: (ctid = '(1,1)'::tid)
3780 Filter: ((id >= 50) AND (id <= 51))
3781 -> Tid Scan on p1_c1_c2 p1
3782 TID Cond: (ctid = '(1,1)'::tid)
3783 Filter: ((id >= 50) AND (id <= 51))
3784 -> Index Scan using t1_pkey on t1
3785 Index Cond: (id < 10)
3789 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;
3798 -----------------------------------------------------------------------------------
3800 Merge Cond: (public.p1.id = t1.id)
3802 Sort Key: public.p1.id
3805 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3806 -> Seq Scan on p1_c1 p1
3807 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3808 -> Tid Scan on p1_c1_c1 p1
3809 TID Cond: (ctid = '(1,1)'::tid)
3810 Filter: ((id >= 50) AND (id <= 51))
3811 -> Tid Scan on p1_c1_c2 p1
3812 TID Cond: (ctid = '(1,1)'::tid)
3813 Filter: ((id >= 50) AND (id <= 51))
3814 -> Index Scan using t1_pkey on t1
3815 Index Cond: (id < 10)
3818 /*+NestLoop(p1 t1)*/
3819 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;
3828 -----------------------------------------------------------------------------------
3830 Join Filter: (public.p1.id = t1.id)
3831 -> Index Scan using t1_pkey on t1
3832 Index Cond: (id < 10)
3836 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3837 -> Seq Scan on p1_c1 p1
3838 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3839 -> Tid Scan on p1_c1_c1 p1
3840 TID Cond: (ctid = '(1,1)'::tid)
3841 Filter: ((id >= 50) AND (id <= 51))
3842 -> Tid Scan on p1_c1_c2 p1
3843 TID Cond: (ctid = '(1,1)'::tid)
3844 Filter: ((id >= 50) AND (id <= 51))
3847 /*+MergeJoin(p1 t1)*/
3848 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;
3857 -----------------------------------------------------------------------------------
3859 Merge Cond: (public.p1.id = t1.id)
3861 Sort Key: public.p1.id
3864 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3865 -> Seq Scan on p1_c1 p1
3866 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3867 -> Tid Scan on p1_c1_c1 p1
3868 TID Cond: (ctid = '(1,1)'::tid)
3869 Filter: ((id >= 50) AND (id <= 51))
3870 -> Tid Scan on p1_c1_c2 p1
3871 TID Cond: (ctid = '(1,1)'::tid)
3872 Filter: ((id >= 50) AND (id <= 51))
3873 -> Index Scan using t1_pkey on t1
3874 Index Cond: (id < 10)
3877 /*+HashJoin(p1 t1)*/
3878 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;
3887 -----------------------------------------------------------------------------------
3889 Hash Cond: (t1.id = public.p1.id)
3890 -> Index Scan using t1_pkey on t1
3891 Index Cond: (id < 10)
3895 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3896 -> Seq Scan on p1_c1 p1
3897 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3898 -> Tid Scan on p1_c1_c1 p1
3899 TID Cond: (ctid = '(1,1)'::tid)
3900 Filter: ((id >= 50) AND (id <= 51))
3901 -> Tid Scan on p1_c1_c2 p1
3902 TID Cond: (ctid = '(1,1)'::tid)
3903 Filter: ((id >= 50) AND (id <= 51))
3906 SET constraint_exclusion TO off;
3907 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3909 -----------------------------------------------------------------
3911 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3914 SET constraint_exclusion TO on;
3915 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3917 -----------------------------------------------------------------
3919 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3922 SET constraint_exclusion TO off;
3924 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3933 -----------------------------------------------------------------
3935 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3939 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3948 -------------------------------------------
3949 Index Scan using p1_pkey on p1
3950 Index Cond: ((id >= 50) AND (id <= 51))
3951 Filter: (ctid = '(1,1)'::tid)
3955 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3964 -------------------------------------------------
3965 Bitmap Heap Scan on p1
3966 Recheck Cond: ((id >= 50) AND (id <= 51))
3967 Filter: (ctid = '(1,1)'::tid)
3968 -> Bitmap Index Scan on p1_pkey
3969 Index Cond: ((id >= 50) AND (id <= 51))
3973 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3982 ---------------------------------------
3984 TID Cond: (ctid = '(1,1)'::tid)
3985 Filter: ((id >= 50) AND (id <= 51))
3988 /*+NestLoop(p1 t1)*/
3989 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;
3998 -----------------------------------------------------------------------
4001 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4002 -> Index Scan using t1_pkey on t1
4003 Index Cond: ((id < 10) AND (id = p1.id))
4006 /*+MergeJoin(p1 t1)*/
4007 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;
4016 -----------------------------------------------------------------------------
4018 Merge Cond: (p1.id = t1.id)
4022 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4023 -> Index Scan using t1_pkey on t1
4024 Index Cond: (id < 10)
4027 /*+HashJoin(p1 t1)*/
4028 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;
4037 -----------------------------------------------------------------------------
4039 Hash Cond: (t1.id = p1.id)
4040 -> Index Scan using t1_pkey on t1
4041 Index Cond: (id < 10)
4044 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4047 SET constraint_exclusion TO on;
4049 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4058 -----------------------------------------------------------------
4060 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4064 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4073 -------------------------------------------
4074 Index Scan using p1_pkey on p1
4075 Index Cond: ((id >= 50) AND (id <= 51))
4076 Filter: (ctid = '(1,1)'::tid)
4080 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4089 -------------------------------------------------
4090 Bitmap Heap Scan on p1
4091 Recheck Cond: ((id >= 50) AND (id <= 51))
4092 Filter: (ctid = '(1,1)'::tid)
4093 -> Bitmap Index Scan on p1_pkey
4094 Index Cond: ((id >= 50) AND (id <= 51))
4098 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4107 ---------------------------------------
4109 TID Cond: (ctid = '(1,1)'::tid)
4110 Filter: ((id >= 50) AND (id <= 51))
4113 /*+NestLoop(p1 t1)*/
4114 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;
4123 -----------------------------------------------------------------------
4126 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4127 -> Index Scan using t1_pkey on t1
4128 Index Cond: ((id < 10) AND (id = p1.id))
4131 /*+MergeJoin(p1 t1)*/
4132 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;
4141 -----------------------------------------------------------------------------
4143 Merge Cond: (p1.id = t1.id)
4147 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4148 -> Index Scan using t1_pkey on t1
4149 Index Cond: (id < 10)
4152 /*+HashJoin(p1 t1)*/
4153 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;
4162 -----------------------------------------------------------------------------
4164 Hash Cond: (t1.id = p1.id)
4165 -> Index Scan using t1_pkey on t1
4166 Index Cond: (id < 10)
4169 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4172 SET constraint_exclusion TO off;
4173 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;
4175 -----------------------------------------------------------------------
4178 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4179 -> Index Scan using t1_pkey on t1
4180 Index Cond: ((id < 10) AND (id = p1.id))
4183 SET constraint_exclusion TO on;
4184 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;
4186 -----------------------------------------------------------------------
4189 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4190 -> Index Scan using t1_pkey on t1
4191 Index Cond: ((id < 10) AND (id = p1.id))
4194 SET constraint_exclusion TO off;
4196 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;
4205 -----------------------------------------------------------------------
4208 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4209 -> Index Scan using t1_pkey on t1
4210 Index Cond: ((id < 10) AND (id = p1.id))
4214 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;
4223 --------------------------------------------------
4225 -> Index Scan using p1_pkey on p1
4226 Index Cond: ((id >= 50) AND (id <= 51))
4227 Filter: (ctid = '(1,1)'::tid)
4228 -> Index Scan using t1_pkey on t1
4229 Index Cond: ((id < 10) AND (id = p1.id))
4233 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;
4242 -------------------------------------------------------
4244 -> Bitmap Heap Scan on p1
4245 Recheck Cond: ((id >= 50) AND (id <= 51))
4246 Filter: (ctid = '(1,1)'::tid)
4247 -> Bitmap Index Scan on p1_pkey
4248 Index Cond: ((id >= 50) AND (id <= 51))
4249 -> Index Scan using t1_pkey on t1
4250 Index Cond: ((id < 10) AND (id = p1.id))
4254 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;
4263 --------------------------------------------------
4266 TID Cond: (ctid = '(1,1)'::tid)
4267 Filter: ((id >= 50) AND (id <= 51))
4268 -> Index Scan using t1_pkey on t1
4269 Index Cond: ((id < 10) AND (id = p1.id))
4272 SET constraint_exclusion TO on;
4274 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;
4283 -----------------------------------------------------------------------
4286 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4287 -> Index Scan using t1_pkey on t1
4288 Index Cond: ((id < 10) AND (id = p1.id))
4292 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;
4301 --------------------------------------------------
4303 -> Index Scan using p1_pkey on p1
4304 Index Cond: ((id >= 50) AND (id <= 51))
4305 Filter: (ctid = '(1,1)'::tid)
4306 -> Index Scan using t1_pkey on t1
4307 Index Cond: ((id < 10) AND (id = p1.id))
4311 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;
4320 -------------------------------------------------------
4322 -> Bitmap Heap Scan on p1
4323 Recheck Cond: ((id >= 50) AND (id <= 51))
4324 Filter: (ctid = '(1,1)'::tid)
4325 -> Bitmap Index Scan on p1_pkey
4326 Index Cond: ((id >= 50) AND (id <= 51))
4327 -> Index Scan using t1_pkey on t1
4328 Index Cond: ((id < 10) AND (id = p1.id))
4332 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;
4341 --------------------------------------------------
4344 TID Cond: (ctid = '(1,1)'::tid)
4345 Filter: ((id >= 50) AND (id <= 51))
4346 -> Index Scan using t1_pkey on t1
4347 Index Cond: ((id < 10) AND (id = p1.id))
4351 /*+SeqScan("""t1 ) ")IndexScan("t 2 """)HashJoin("""t1 ) "T3"t 2 """)Leading("""t1 ) "T3"t 2 """)Set(application_name"a a a"" a A")*/
4352 EXPLAIN (COSTS false) SELECT * FROM t1 """t1 ) ", t2 "t 2 """, t3 "T3" WHERE """t1 ) ".id = "t 2 """.id AND """t1 ) ".id = "T3".id;
4357 HashJoin("""t1 ) " T3 "t 2 """)
4358 Leading("""t1 ) " T3 "t 2 """)
4359 Set(application_name "a a a"" a A")
4365 ---------------------------------------------------------
4367 Hash Cond: ("t 2 """.id = """t1 ) ".id)
4368 -> Index Scan using t2_pkey on t2 "t 2 """
4371 Hash Cond: ("""t1 ) ".id = "T3".id)
4372 -> Seq Scan on t1 """t1 ) "
4374 -> Seq Scan on t3 "T3"
4377 -- duplicate hint test
4378 /*+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)*/
4379 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
4380 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)"
4381 DETAIL: Conflict scan method hint.
4382 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)"
4383 DETAIL: Conflict scan method hint.
4384 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)"
4385 DETAIL: Conflict scan method hint.
4386 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)"
4387 DETAIL: Conflict scan method hint.
4388 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)"
4389 DETAIL: Conflict scan method hint.
4390 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)"
4391 DETAIL: Conflict scan method hint.
4392 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)"
4393 DETAIL: Conflict join method hint.
4394 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)"
4395 DETAIL: Conflict join method hint.
4396 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)"
4397 DETAIL: Conflict leading hint.
4398 INFO: hint syntax error at or near "Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)"
4399 DETAIL: Conflict set hint.
4406 Set(enable_mergejoin on)
4407 Set(enable_seqscan on)
4419 Set(enable_seqscan off)
4423 -----------------------------------------------
4425 Merge Cond: (t1.id = t2.id)
4429 TID Cond: (ctid = '(1,1)'::tid)
4433 TID Cond: (ctid = '(1,1)'::tid)
4436 -- sub query Leading hint test
4437 SET from_collapse_limit TO 100;
4438 SET geqo_threshold TO 100;
4439 EXPLAIN (COSTS false)
4441 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
4444 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
4445 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4446 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
4447 ) 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 = (
4448 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
4451 -------------------------------------------------------------------------
4456 Merge Cond: (t1_5.id = t3_5.id)
4458 Merge Cond: (t1_5.id = t2_5.id)
4459 -> Index Scan using t1_pkey on t1 t1_5
4460 -> Index Scan using t2_pkey on t2 t2_5
4463 -> Seq Scan on t3 t3_5
4464 InitPlan 2 (returns $1)
4467 Merge Cond: (t1_2.id = t3_2.id)
4469 Merge Cond: (t1_2.id = t2_2.id)
4470 -> Index Scan using t1_pkey on t1 t1_2
4471 -> Index Scan using t2_pkey on t2 t2_2
4474 -> Seq Scan on t3 t3_2
4475 InitPlan 3 (returns $2)
4478 Merge Cond: (t1_4.id = t3_4.id)
4480 Merge Cond: (t1_4.id = t2_4.id)
4481 -> Index Scan using t1_pkey on t1 t1_4
4482 -> Index Scan using t2_pkey on t2 t2_4
4485 -> Seq Scan on t3 t3_4
4491 -> Index Scan using t1_pkey on t1 t1_1
4492 Index Cond: (id = $2)
4493 -> Seq Scan on t3 t3_1
4495 -> Index Scan using t2_pkey on t2 t2_1
4496 Index Cond: (id = $2)
4497 -> Index Scan using t1_pkey on t1 t1_3
4498 Index Cond: (id = $2)
4499 -> Index Scan using t2_pkey on t2 t2_3
4500 Index Cond: (id = $2)
4501 -> Seq Scan on t3 t3_3
4507 /*+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)*/
4508 EXPLAIN (COSTS false)
4510 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
4513 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
4514 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4515 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
4516 ) 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 = (
4517 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
4523 MergeJoin(t1_3 t3_3)
4531 -------------------------------------------------------------------------
4536 Merge Cond: (t1_5.id = t3_5.id)
4538 -> Index Scan using t2_pkey on t2 t2_5
4539 -> Index Scan using t1_pkey on t1 t1_5
4540 Index Cond: (id = t2_5.id)
4543 -> Seq Scan on t3 t3_5
4544 InitPlan 2 (returns $2)
4547 Merge Cond: (t1_2.id = t3_2.id)
4549 -> Index Scan using t2_pkey on t2 t2_2
4550 -> Index Scan using t1_pkey on t1 t1_2
4551 Index Cond: (id = t2_2.id)
4554 -> Seq Scan on t3 t3_2
4555 InitPlan 3 (returns $3)
4558 Merge Cond: (t1_4.id = t3_4.id)
4560 -> Index Scan using t2_pkey on t2 t2_4
4561 -> Index Scan using t1_pkey on t1 t1_4
4562 Index Cond: (id = t2_4.id)
4565 -> Seq Scan on t3 t3_4
4571 -> Index Scan using t2_pkey on t2 t2_1
4572 Index Cond: (id = $3)
4573 -> Seq Scan on t3 t3_1
4575 -> Index Scan using t1_pkey on t1 t1_1
4576 Index Cond: (id = $3)
4577 -> Index Scan using t1_pkey on t1 t1_3
4578 Index Cond: (id = $3)
4579 -> Index Scan using t2_pkey on t2 t2_3
4580 Index Cond: (id = $3)
4581 -> Seq Scan on t3 t3_3
4587 /*+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)*/
4588 EXPLAIN (COSTS false)
4590 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
4593 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
4594 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4595 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
4596 ) 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 = (
4597 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
4603 MergeJoin(t1_3 t3_3)
4607 Leading(a t1_1 t1_2 t1_4 t1_5)
4612 -------------------------------------------------------------------------
4617 Merge Cond: (t1_5.id = t3_5.id)
4619 -> Index Scan using t2_pkey on t2 t2_5
4620 -> Index Scan using t1_pkey on t1 t1_5
4621 Index Cond: (id = t2_5.id)
4624 -> Seq Scan on t3 t3_5
4625 InitPlan 2 (returns $2)
4628 Merge Cond: (t1_2.id = t3_2.id)
4630 -> Index Scan using t2_pkey on t2 t2_2
4631 -> Index Scan using t1_pkey on t1 t1_2
4632 Index Cond: (id = t2_2.id)
4635 -> Seq Scan on t3 t3_2
4636 InitPlan 3 (returns $3)
4639 Merge Cond: (t1_4.id = t3_4.id)
4641 -> Index Scan using t2_pkey on t2 t2_4
4642 -> Index Scan using t1_pkey on t1 t1_4
4643 Index Cond: (id = t2_4.id)
4646 -> Seq Scan on t3 t3_4
4652 -> Index Scan using t2_pkey on t2 t2_1
4653 Index Cond: (id = $3)
4654 -> Seq Scan on t3 t3_1
4656 -> Index Scan using t1_pkey on t1 t1_1
4657 Index Cond: (id = $3)
4658 -> Index Scan using t1_pkey on t1 t1_3
4659 Index Cond: (id = $3)
4660 -> Index Scan using t2_pkey on t2 t2_3
4661 Index Cond: (id = $3)
4662 -> Seq Scan on t3 t3_3
4668 /*+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)*/
4669 EXPLAIN (COSTS false)
4671 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
4674 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
4675 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4676 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
4677 ) 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 = (
4678 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
4682 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)
4686 MergeJoin(t1_3 t3_3)
4693 -------------------------------------------------------------------
4698 Merge Cond: (t2_5.id = t1_5.id)
4700 Merge Cond: (t2_5.id = t3_5.id)
4701 -> Index Scan using t2_pkey on t2 t2_5
4704 -> Seq Scan on t3 t3_5
4705 -> Index Scan using t1_pkey on t1 t1_5
4706 InitPlan 2 (returns $1)
4709 Merge Cond: (t2_2.id = t1_2.id)
4711 Merge Cond: (t2_2.id = t3_2.id)
4712 -> Index Scan using t2_pkey on t2 t2_2
4715 -> Seq Scan on t3 t3_2
4716 -> Index Scan using t1_pkey on t1 t1_2
4717 InitPlan 3 (returns $2)
4720 Merge Cond: (t2_4.id = t1_4.id)
4722 Merge Cond: (t2_4.id = t3_4.id)
4723 -> Index Scan using t2_pkey on t2 t2_4
4726 -> Seq Scan on t3 t3_4
4727 -> Index Scan using t1_pkey on t1 t1_4
4733 -> Seq Scan on t3 t3_3
4737 -> Index Scan using t2_pkey on t2 t2_3
4738 Index Cond: (id = $2)
4739 -> Index Scan using t1_pkey on t1 t1_3
4740 Index Cond: (id = $2)
4741 -> Seq Scan on t3 t3_1
4743 -> Index Scan using t2_pkey on t2 t2_1
4744 Index Cond: (id = $2)
4745 -> Index Scan using t1_pkey on t1 t1_1
4746 Index Cond: (id = $2)
4749 SET from_collapse_limit TO 1;
4750 EXPLAIN (COSTS false)
4752 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
4755 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
4756 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4757 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
4758 ) 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 = (
4759 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
4762 ---------------------------------------------------------------
4767 Merge Cond: (t1_5.id = t3_5.id)
4769 Merge Cond: (t1_5.id = t2_5.id)
4770 -> Index Scan using t1_pkey on t1 t1_5
4771 -> Index Scan using t2_pkey on t2 t2_5
4774 -> Seq Scan on t3 t3_5
4775 InitPlan 2 (returns $1)
4778 Merge Cond: (t1_2.id = t3_2.id)
4780 Merge Cond: (t1_2.id = t2_2.id)
4781 -> Index Scan using t1_pkey on t1 t1_2
4782 -> Index Scan using t2_pkey on t2 t2_2
4785 -> Seq Scan on t3 t3_2
4786 InitPlan 3 (returns $2)
4789 Merge Cond: (t1_4.id = t3_4.id)
4791 Merge Cond: (t1_4.id = t2_4.id)
4792 -> Index Scan using t1_pkey on t1 t1_4
4793 -> Index Scan using t2_pkey on t2 t2_4
4796 -> Seq Scan on t3 t3_4
4800 -> Index Scan using t1_pkey on t1 t1_1
4801 Index Cond: (id = $2)
4802 -> Seq Scan on t3 t3_1
4804 -> Index Scan using t2_pkey on t2 t2_1
4805 Index Cond: (id = $2)
4808 -> Index Scan using t1_pkey on t1 t1_3
4809 Index Cond: (id = $2)
4810 -> Seq Scan on t3 t3_3
4812 -> Index Scan using t2_pkey on t2 t2_3
4813 Index Cond: (id = $2)
4818 /*+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)*/
4819 EXPLAIN (COSTS false)
4821 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
4824 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
4825 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4826 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
4827 ) 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 = (
4828 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
4834 MergeJoin(t1_3 t3_3)
4842 ---------------------------------------------------------------
4847 Merge Cond: (t1_5.id = t3_5.id)
4849 -> Index Scan using t2_pkey on t2 t2_5
4850 -> Index Scan using t1_pkey on t1 t1_5
4851 Index Cond: (id = t2_5.id)
4854 -> Seq Scan on t3 t3_5
4855 InitPlan 2 (returns $2)
4858 Merge Cond: (t1_2.id = t3_2.id)
4860 -> Index Scan using t2_pkey on t2 t2_2
4861 -> Index Scan using t1_pkey on t1 t1_2
4862 Index Cond: (id = t2_2.id)
4865 -> Seq Scan on t3 t3_2
4866 InitPlan 3 (returns $3)
4869 Merge Cond: (t1_4.id = t3_4.id)
4871 -> Index Scan using t2_pkey on t2 t2_4
4872 -> Index Scan using t1_pkey on t1 t1_4
4873 Index Cond: (id = t2_4.id)
4876 -> Seq Scan on t3 t3_4
4880 -> Index Scan using t2_pkey on t2 t2_1
4881 Index Cond: (id = $3)
4882 -> Seq Scan on t3 t3_1
4884 -> Index Scan using t1_pkey on t1 t1_1
4885 Index Cond: (id = $3)
4888 -> Index Scan using t2_pkey on t2 t2_3
4889 Index Cond: (id = $3)
4890 -> Seq Scan on t3 t3_3
4892 -> Index Scan using t1_pkey on t1 t1_3
4893 Index Cond: (id = $3)
4898 /*+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)*/
4899 EXPLAIN (COSTS false)
4901 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
4904 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
4905 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4906 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
4907 ) 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 = (
4908 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
4914 MergeJoin(t1_3 t3_3)
4918 Leading(a t1_1 t1_2 t1_4 t1_5)
4923 ---------------------------------------------------------------
4928 Merge Cond: (t1_5.id = t3_5.id)
4930 -> Index Scan using t2_pkey on t2 t2_5
4931 -> Index Scan using t1_pkey on t1 t1_5
4932 Index Cond: (id = t2_5.id)
4935 -> Seq Scan on t3 t3_5
4936 InitPlan 2 (returns $2)
4939 Merge Cond: (t1_2.id = t3_2.id)
4941 -> Index Scan using t2_pkey on t2 t2_2
4942 -> Index Scan using t1_pkey on t1 t1_2
4943 Index Cond: (id = t2_2.id)
4946 -> Seq Scan on t3 t3_2
4947 InitPlan 3 (returns $3)
4950 Merge Cond: (t1_4.id = t3_4.id)
4952 -> Index Scan using t2_pkey on t2 t2_4
4953 -> Index Scan using t1_pkey on t1 t1_4
4954 Index Cond: (id = t2_4.id)
4957 -> Seq Scan on t3 t3_4
4961 -> Index Scan using t2_pkey on t2 t2_1
4962 Index Cond: (id = $3)
4963 -> Seq Scan on t3 t3_1
4965 -> Index Scan using t1_pkey on t1 t1_1
4966 Index Cond: (id = $3)
4969 -> Index Scan using t2_pkey on t2 t2_3
4970 Index Cond: (id = $3)
4971 -> Seq Scan on t3 t3_3
4973 -> Index Scan using t1_pkey on t1 t1_3
4974 Index Cond: (id = $3)
4979 /*+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)*/
4980 EXPLAIN (COSTS false)
4982 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
4985 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
4986 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4987 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
4988 ) 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 = (
4989 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
4993 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)
4997 MergeJoin(t1_3 t3_3)
5004 -------------------------------------------------------------------------
5009 Merge Cond: (t2_5.id = t1_5.id)
5011 Merge Cond: (t2_5.id = t3_5.id)
5012 -> Index Scan using t2_pkey on t2 t2_5
5015 -> Seq Scan on t3 t3_5
5016 -> Index Scan using t1_pkey on t1 t1_5
5017 InitPlan 2 (returns $1)
5020 Merge Cond: (t2_2.id = t1_2.id)
5022 Merge Cond: (t2_2.id = t3_2.id)
5023 -> Index Scan using t2_pkey on t2 t2_2
5026 -> Seq Scan on t3 t3_2
5027 -> Index Scan using t1_pkey on t1 t1_2
5028 InitPlan 3 (returns $2)
5031 Merge Cond: (t2_4.id = t1_4.id)
5033 Merge Cond: (t2_4.id = t3_4.id)
5034 -> Index Scan using t2_pkey on t2 t2_4
5037 -> Seq Scan on t3 t3_4
5038 -> Index Scan using t1_pkey on t1 t1_4
5044 -> Index Scan using t2_pkey on t2 t2_3
5045 Index Cond: (id = $2)
5046 -> Seq Scan on t3 t3_3
5048 -> Index Scan using t1_pkey on t1 t1_3
5049 Index Cond: (id = $2)
5052 -> Seq Scan on t3 t3_1
5054 -> Index Scan using t2_pkey on t2 t2_1
5055 Index Cond: (id = $2)
5056 -> Index Scan using t1_pkey on t1 t1_1
5057 Index Cond: (id = $2)
5061 EXPLAIN (COSTS false) SELECT * FROM t1, s0.t1, t2 WHERE public.t1.id = s0.t1.id AND public.t1.id = t2.id;
5063 -----------------------------------------------
5065 Merge Cond: (public.t1.id = t2.id)
5067 Merge Cond: (public.t1.id = s0.t1.id)
5068 -> Index Scan using t1_pkey on t1
5069 -> Index Scan using t1_pkey on t1
5070 -> Index Scan using t2_pkey on t2
5073 /*+NestLoop(t1 t2)*/
5074 EXPLAIN (COSTS false) SELECT * FROM t1, s0.t1, t2 WHERE public.t1.id = s0.t1.id AND public.t1.id = t2.id;
5075 INFO: hint syntax error at or near "NestLoop(t1 t2)"
5076 DETAIL: Relation name "t1" is ambiguous.
5085 -----------------------------------------------
5087 Merge Cond: (public.t1.id = t2.id)
5089 Merge Cond: (public.t1.id = s0.t1.id)
5090 -> Index Scan using t1_pkey on t1
5091 -> Index Scan using t1_pkey on t1
5092 -> Index Scan using t2_pkey on t2
5095 /*+Leading(t1 t2 t1)*/
5096 EXPLAIN (COSTS false) SELECT * FROM t1, s0.t1, t2 WHERE public.t1.id = s0.t1.id AND public.t1.id = t2.id;
5097 INFO: hint syntax error at or near "Leading(t1 t2 t1)"
5098 DETAIL: Relation name "t1" is ambiguous.
5107 -----------------------------------------------
5109 Merge Cond: (public.t1.id = t2.id)
5111 Merge Cond: (public.t1.id = s0.t1.id)
5112 -> Index Scan using t1_pkey on t1
5113 -> Index Scan using t1_pkey on t1
5114 -> Index Scan using t2_pkey on t2
5117 -- identifier length test
5118 EXPLAIN (COSTS false) SELECT * FROM t1 "123456789012345678901234567890123456789012345678901234567890123" JOIN t2 ON ("123456789012345678901234567890123456789012345678901234567890123".id = t2.id) JOIN t3 ON (t2.id = t3.id);
5120 --------------------------------------------------------------------------------------------------------------
5122 Merge Cond: ("123456789012345678901234567890123456789012345678901234567890123".id = t3.id)
5124 Merge Cond: ("123456789012345678901234567890123456789012345678901234567890123".id = t2.id)
5125 -> Index Scan using t1_pkey on t1 "123456789012345678901234567890123456789012345678901234567890123"
5126 -> Index Scan using t2_pkey on t2
5133 Leading(123456789012345678901234567890123456789012345678901234567890123 t2 t3)
5134 SeqScan(123456789012345678901234567890123456789012345678901234567890123)
5135 MergeJoin(123456789012345678901234567890123456789012345678901234567890123 t2)
5136 Set(123456789012345678901234567890123456789012345678901234567890123 1)
5138 EXPLAIN (COSTS false) SELECT * FROM t1 "123456789012345678901234567890123456789012345678901234567890123" JOIN t2 ON ("123456789012345678901234567890123456789012345678901234567890123".id = t2.id) JOIN t3 ON (t2.id = t3.id);
5139 INFO: unrecognized configuration parameter "123456789012345678901234567890123456789012345678901234567890123"
5142 SeqScan(123456789012345678901234567890123456789012345678901234567890123)
5143 MergeJoin(123456789012345678901234567890123456789012345678901234567890123 t2)
5144 Leading(123456789012345678901234567890123456789012345678901234567890123 t2 t3)
5148 Set(123456789012345678901234567890123456789012345678901234567890123 1)
5151 ----------------------------------------------------------------------------------------------------
5153 Merge Cond: ("123456789012345678901234567890123456789012345678901234567890123".id = t3.id)
5155 Merge Cond: (t2.id = "123456789012345678901234567890123456789012345678901234567890123".id)
5156 -> Index Scan using t2_pkey on t2
5158 Sort Key: "123456789012345678901234567890123456789012345678901234567890123".id
5159 -> Seq Scan on t1 "123456789012345678901234567890123456789012345678901234567890123"
5166 Leading(1234567890123456789012345678901234567890123456789012345678901234 t2 t3)
5167 SeqScan(1234567890123456789012345678901234567890123456789012345678901234)
5168 MergeJoin(1234567890123456789012345678901234567890123456789012345678901234 t2)
5169 Set(1234567890123456789012345678901234567890123456789012345678901234 1)
5170 Set(cursor_tuple_fraction 0.1234567890123456789012345678901234567890123456789012345678901234)
5172 EXPLAIN (COSTS false) SELECT * FROM t1 "1234567890123456789012345678901234567890123456789012345678901234" JOIN t2 ON ("1234567890123456789012345678901234567890123456789012345678901234".id = t2.id) JOIN t3 ON (t2.id = t3.id);
5173 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5174 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5175 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5176 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5177 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5178 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5179 INFO: unrecognized configuration parameter "123456789012345678901234567890123456789012345678901234567890123"
5182 SeqScan(123456789012345678901234567890123456789012345678901234567890123)
5183 MergeJoin(123456789012345678901234567890123456789012345678901234567890123 t2)
5184 Leading(123456789012345678901234567890123456789012345678901234567890123 t2 t3)
5185 Set(cursor_tuple_fraction 0.1234567890123456789012345678901234567890123456789012345678901234)
5189 Set(123456789012345678901234567890123456789012345678901234567890123 1)
5192 ----------------------------------------------------------------------------------------------------
5194 Merge Cond: ("123456789012345678901234567890123456789012345678901234567890123".id = t3.id)
5196 Merge Cond: (t2.id = "123456789012345678901234567890123456789012345678901234567890123".id)
5197 -> Index Scan using t2_pkey on t2
5199 Sort Key: "123456789012345678901234567890123456789012345678901234567890123".id
5200 -> Seq Scan on t1 "123456789012345678901234567890123456789012345678901234567890123"
5206 SET "123456789012345678901234567890123456789012345678901234567890123" TO 1;
5207 ERROR: unrecognized configuration parameter "123456789012345678901234567890123456789012345678901234567890123"
5208 SET "1234567890123456789012345678901234567890123456789012345678901234" TO 1;
5209 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5210 ERROR: unrecognized configuration parameter "123456789012345678901234567890123456789012345678901234567890123"
5211 SET cursor_tuple_fraction TO 1234567890123456789012345678901234567890123456789012345678901234;
5212 ERROR: 1.23457e+63 is outside the valid range for parameter "cursor_tuple_fraction" (0 .. 1)
5214 /*+ Set(enable_seqscan 100)Set(seq_page_cost on)*/
5215 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
5216 INFO: parameter "enable_seqscan" requires a Boolean value
5217 INFO: parameter "seq_page_cost" requires a numeric value
5223 Set(enable_seqscan 100)
5224 Set(seq_page_cost on)
5227 --------------------------------------
5229 Merge Cond: (t1.id = t2.id)
5230 -> Index Scan using t1_pkey on t1
5231 -> Index Scan using t2_pkey on t2
5234 -- debug log of candidate index to use IndexScan
5235 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5237 -------------------------------
5238 Index Scan using t5_id3 on t5
5239 Index Cond: (id = 1)
5242 /*+IndexScan(t5 t5_id2)*/
5243 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5247 IndexScan(t5 t5_id2)
5253 -------------------------------
5254 Index Scan using t5_id2 on t5
5255 Index Cond: (id = 1)
5258 /*+IndexScan(t5 no_exist)*/
5259 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5263 IndexScan(t5 no_exist)
5269 --------------------
5274 /*+IndexScan(t5 t5_id1 t5_id2)*/
5275 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5276 LOG: "t5": t5_id2 t5_id1
5279 IndexScan(t5 t5_id1 t5_id2)
5285 -------------------------------
5286 Index Scan using t5_id2 on t5
5287 Index Cond: (id = 1)
5290 /*+IndexScan(t5 no_exist t5_id2)*/
5291 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5295 IndexScan(t5 no_exist t5_id2)
5301 -------------------------------
5302 Index Scan using t5_id2 on t5
5303 Index Cond: (id = 1)
5306 /*+IndexScan(t5 no_exist5 no_exist2)*/
5307 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5311 IndexScan(t5 no_exist5 no_exist2)
5317 --------------------