1 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
3 --------------------------------------
5 Merge Cond: (t1.id = t2.id)
6 -> Index Scan using t1_pkey on t1
7 -> Index Scan using t2_pkey on t2
10 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.val = t2.val;
12 -------------------------------------------
14 Merge Cond: (t2.val = t1.val)
15 -> Index Scan using t2_val on t2
17 -> Index Scan using t1_val on t1
21 SET pg_hint_plan.debug_print TO on;
22 SET client_min_messages TO LOG;
23 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
25 --------------------------------------
27 Merge Cond: (t1.id = t2.id)
28 -> Index Scan using t1_pkey on t1
29 -> Index Scan using t2_pkey on t2
32 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.val = t2.val;
34 -------------------------------------------
36 Merge Cond: (t2.val = t1.val)
37 -> Index Scan using t2_val on t2
39 -> Index Scan using t1_val on t1
43 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
44 INFO: hint syntax error at or near "Test (t1 t2) "
45 DETAIL: Keyword "Test" does not exist.
47 --------------------------------------
49 Merge Cond: (t1.id = t2.id)
50 -> Index Scan using t1_pkey on t1
51 -> Index Scan using t2_pkey on t2
54 SET pg_hint_plan.enable TO off;
56 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
58 --------------------------------------
60 Merge Cond: (t1.id = t2.id)
61 -> Index Scan using t1_pkey on t1
62 -> Index Scan using t2_pkey on t2
65 SET pg_hint_plan.enable TO on;
66 /*+Set(enable_indexscan off)*/
67 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
70 Set(enable_indexscan off)
76 ------------------------------
78 Hash Cond: (t1.id = t2.id)
84 /*+ Set(enable_indexscan off) Set(enable_hashjoin off) */
85 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
88 Set(enable_hashjoin off)
89 Set(enable_indexscan off)
95 -------------------------------
97 Merge Cond: (t1.id = t2.id)
106 /*+ Set ( enable_indexscan off ) */
107 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
110 Set(enable_indexscan off)
116 ------------------------------
118 Hash Cond: (t1.id = t2.id)
131 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
134 Set(enable_indexscan off)
140 ------------------------------
142 Hash Cond: (t1.id = t2.id)
148 /*+ Set(enable_indexscan off)Set(enable_nestloop off)Set(enable_mergejoin off)
149 Set(enable_seqscan off)
151 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
154 Set(enable_indexscan off)
155 Set(enable_mergejoin off)
156 Set(enable_nestloop off)
157 Set(enable_seqscan off)
163 --------------------------------------------
165 Hash Cond: (t1.id = t2.id)
166 -> Index Scan using t1_pkey on t1
168 -> Index Scan using t2_pkey on t2
171 /*+Set(work_mem "1M")*/
172 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
173 INFO: invalid value for parameter "work_mem": "1M"
174 HINT: Valid units for this parameter are "kB", "MB", and "GB".
183 --------------------------------------
185 Merge Cond: (t1.id = t2.id)
186 -> Index Scan using t1_pkey on t1
187 -> Index Scan using t2_pkey on t2
190 /*+Set(work_mem "1MB")*/
191 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
200 --------------------------------------
202 Merge Cond: (t1.id = t2.id)
203 -> Index Scan using t1_pkey on t1
204 -> Index Scan using t2_pkey on t2
207 /*+Set(work_mem TO "1MB")*/
208 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
209 INFO: hint syntax error at or near ""1MB")"
210 DETAIL: Closed parenthesis is necessary.
212 --------------------------------------
214 Merge Cond: (t1.id = t2.id)
215 -> Index Scan using t1_pkey on t1
216 -> Index Scan using t2_pkey on t2
220 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
221 INFO: hint syntax error at or near "t2)"
222 DETAIL: Closed parenthesis is necessary.
224 --------------------------------------
226 Merge Cond: (t1.id = t2.id)
227 -> Index Scan using t1_pkey on t1
228 -> Index Scan using t2_pkey on t2
232 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
241 ------------------------------
243 Hash Cond: (t1.id = t2.id)
249 /*+SeqScan(t1)IndexScan(t2)*/
250 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
260 --------------------------------------------
262 Hash Cond: (t1.id = t2.id)
265 -> Index Scan using t2_pkey on t2
269 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
278 ------------------------------------------
281 -> Bitmap Heap Scan on t2
282 Recheck Cond: (id = t1.id)
283 -> Bitmap Index Scan on t2_pkey
284 Index Cond: (id = t1.id)
287 /*+BitmapScan(t2)NoSeqScan(t1)*/
288 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
298 ------------------------------------------
300 -> Index Scan using t1_pkey on t1
301 -> Bitmap Heap Scan on t2
302 Recheck Cond: (id = t1.id)
303 -> Bitmap Index Scan on t2_pkey
304 Index Cond: (id = t1.id)
308 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
317 ------------------------------
319 Hash Cond: (t1.id = t2.id)
325 /*+NoBitmapScan(t1)*/
326 EXPLAIN (COSTS false) SELECT * FROM t1, t4 WHERE t1.val < 10;
335 ----------------------------
344 EXPLAIN (COSTS false) SELECT * FROM t3, t4 WHERE t3.id = t4.id AND t4.ctid = '(1,1)';
353 -----------------------------------------------
355 Merge Cond: (t3.id = t4.id)
356 -> Index Scan using t3_pkey on t3
360 TID Cond: (ctid = '(1,1)'::tid)
364 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)';
373 ---------------------------------------
376 Filter: (ctid = '(1,1)'::tid)
377 -> Index Scan using t2_pkey on t2
378 Index Cond: (id = t1.id)
382 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
391 ------------------------------
393 Hash Cond: (t1.id = t2.id)
400 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
409 --------------------------------------
412 -> Index Scan using t1_pkey on t1
413 Index Cond: (id = t2.id)
416 /*+NoMergeJoin(t1 t2)*/
417 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
426 ------------------------------
428 Hash Cond: (t1.id = t2.id)
434 /*+MergeJoin(t1 t3)*/
435 EXPLAIN (COSTS false) SELECT * FROM t1, t3 WHERE t1.val = t3.val;
444 -------------------------------------
446 Merge Cond: (t1.val = t3.val)
447 -> Index Scan using t1_val on t1
454 EXPLAIN (COSTS false) SELECT * FROM t1, t3 WHERE t1.val = t3.val;
463 -------------------------------------
466 -> Index Scan using t1_val on t1
467 Index Cond: (val = t3.val)
470 /*+NoHashJoin(t1 t3)*/
471 EXPLAIN (COSTS false) SELECT * FROM t1, t3 WHERE t1.val = t3.val;
480 -------------------------------------
483 -> Index Scan using t1_val on t1
484 Index Cond: (val = t3.val)
487 /*+MergeJoin(t4 t1 t2 t3)*/
488 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
491 MergeJoin(t1 t2 t3 t4)
497 --------------------------------------------------
499 Merge Cond: (t1.id = t4.id)
501 Merge Cond: (t1.id = t3.id)
503 Merge Cond: (t1.id = t2.id)
504 -> Index Scan using t1_pkey on t1
505 -> Index Scan using t2_pkey on t2
506 -> Index Scan using t3_pkey on t3
512 /*+HashJoin(t3 t4 t1 t2)*/
513 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
516 HashJoin(t1 t2 t3 t4)
522 --------------------------------------------------------
524 Hash Cond: (t3.id = t1.id)
528 Merge Cond: (t1.id = t4.id)
530 Merge Cond: (t1.id = t2.id)
531 -> Index Scan using t1_pkey on t1
532 -> Index Scan using t2_pkey on t2
538 /*+NestLoop(t2 t3 t4 t1) IndexScan(t3)*/
539 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
543 NestLoop(t1 t2 t3 t4)
549 --------------------------------------------------
552 Merge Cond: (t1.id = t4.id)
554 Merge Cond: (t1.id = t2.id)
555 -> Index Scan using t1_pkey on t1
556 -> Index Scan using t2_pkey on t2
560 -> Index Scan using t3_pkey on t3
561 Index Cond: (id = t1.id)
564 /*+NoNestLoop(t4 t1 t3 t2)*/
565 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
568 NoNestLoop(t1 t2 t3 t4)
574 --------------------------------------------------
576 Merge Cond: (t1.id = t4.id)
578 Merge Cond: (t1.id = t3.id)
580 Merge Cond: (t1.id = t2.id)
581 -> Index Scan using t1_pkey on t1
582 -> Index Scan using t2_pkey on t2
583 -> Index Scan using t3_pkey on t3
590 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
599 --------------------------------------------------
603 Merge Cond: (t3.id = t4.id)
604 -> Index Scan using t3_pkey on t3
608 -> Index Scan using t2_pkey on t2
609 Index Cond: (id = t3.id)
610 -> Index Scan using t1_pkey on t1
611 Index Cond: (id = t2.id)
614 /*+Leading(t3 t4 t1)*/
615 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
624 --------------------------------------------------
627 Merge Cond: (t3.id = t1.id)
629 Merge Cond: (t3.id = t4.id)
630 -> Index Scan using t3_pkey on t3
634 -> Index Scan using t1_pkey on t1
635 -> Index Scan using t2_pkey on t2
636 Index Cond: (id = t1.id)
639 /*+Leading(t3 t4 t1 t2)*/
640 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
649 --------------------------------------------------
652 Merge Cond: (t3.id = t1.id)
654 Merge Cond: (t3.id = t4.id)
655 -> Index Scan using t3_pkey on t3
659 -> Index Scan using t1_pkey on t1
660 -> Index Scan using t2_pkey on t2
661 Index Cond: (id = t1.id)
664 /*+Leading(t3 t4 t1 t2 t1)*/
665 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
666 INFO: hint syntax error at or near "Leading(t3 t4 t1 t2 t1)"
667 DETAIL: In Leading hint, specified relation name 4 or less.
673 Leading(t3 t4 t1 t2 t1)
676 --------------------------------------------------
678 Merge Cond: (t1.id = t4.id)
680 Merge Cond: (t1.id = t3.id)
682 Merge Cond: (t1.id = t2.id)
683 -> Index Scan using t1_pkey on t1
684 -> Index Scan using t2_pkey on t2
685 -> Index Scan using t3_pkey on t3
691 /*+Leading(t3 t4 t4)*/
692 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
701 --------------------------------------------------
705 Merge Cond: (t3.id = t4.id)
706 -> Index Scan using t3_pkey on t3
710 -> Index Scan using t2_pkey on t2
711 Index Cond: (id = t3.id)
712 -> Index Scan using t1_pkey on t1
713 Index Cond: (id = t2.id)
716 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
718 -----------------------------------------------
720 -> Values Scan on "*VALUES*"
721 -> Index Scan using t1_pkey on t1
722 Index Cond: (id = "*VALUES*".column1)
726 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
727 INFO: hint syntax error at or near "HashJoin(t1 t2)"
728 DETAIL: Relation "t2" does not exist.
737 -----------------------------------------------
739 -> Values Scan on "*VALUES*"
740 -> Index Scan using t1_pkey on t1
741 Index Cond: (id = "*VALUES*".column1)
744 /*+HashJoin(t1 *VALUES*)*/
745 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
748 HashJoin(*VALUES* t1)
754 -------------------------------------------
756 Hash Cond: (t1.id = "*VALUES*".column1)
759 -> Values Scan on "*VALUES*"
762 /*+HashJoin(t1 *VALUES*) IndexScan(t1) IndexScan(*VALUES*)*/
763 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
767 HashJoin(*VALUES* t1)
774 -------------------------------------------
776 Hash Cond: (t1.id = "*VALUES*".column1)
777 -> Index Scan using t1_pkey on t1
779 -> Values Scan on "*VALUES*"
782 -- single table scan hint test
783 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);
785 -----------------------------------------------------------------------------------------------------
786 Index Scan using t1_pkey on t1 (cost=1.89..10.16 rows=1 width=4)
787 Index Cond: (id = $3)
788 InitPlan 2 (returns $1)
789 -> Result (cost=0.94..0.95 rows=1 width=0)
790 InitPlan 1 (returns $0)
791 -> Limit (cost=0.00..0.94 rows=1 width=4)
792 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
793 Index Cond: ((id IS NOT NULL) AND (id < 10))
794 InitPlan 4 (returns $3)
795 -> Result (cost=0.94..0.95 rows=1 width=0)
796 InitPlan 3 (returns $2)
797 -> Limit (cost=0.00..0.94 rows=1 width=4)
798 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
799 Index Cond: ((id IS NOT NULL) AND (id < 10))
803 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);
812 -----------------------------------------------------------------------------------------------------
813 Index Scan using t1_pkey on t1 (cost=29.34..37.61 rows=1 width=4)
814 Index Cond: (id = $2)
815 InitPlan 1 (returns $0)
816 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
817 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
818 Recheck Cond: (id < 10)
819 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
820 Index Cond: (id < 10)
821 InitPlan 3 (returns $2)
822 -> Result (cost=0.94..0.95 rows=1 width=0)
823 InitPlan 2 (returns $1)
824 -> Limit (cost=0.00..0.94 rows=1 width=4)
825 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
826 Index Cond: ((id IS NOT NULL) AND (id < 10))
830 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);
839 -----------------------------------------------------------------------------------------------------
840 Index Scan using t1_pkey on t1 (cost=29.34..37.61 rows=1 width=4)
841 Index Cond: (id = $2)
842 InitPlan 2 (returns $1)
843 -> Result (cost=0.94..0.95 rows=1 width=0)
844 InitPlan 1 (returns $0)
845 -> Limit (cost=0.00..0.94 rows=1 width=4)
846 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
847 Index Cond: ((id IS NOT NULL) AND (id < 10))
848 InitPlan 3 (returns $2)
849 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
850 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
851 Recheck Cond: (id < 10)
852 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
853 Index Cond: (id < 10)
857 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);
866 -----------------------------------------------------------------------------------------------------
867 Bitmap Heap Scan on t1 (cost=6.15..10.17 rows=1 width=4)
868 Recheck Cond: (id = $3)
869 InitPlan 2 (returns $1)
870 -> Result (cost=0.94..0.95 rows=1 width=0)
871 InitPlan 1 (returns $0)
872 -> Limit (cost=0.00..0.94 rows=1 width=4)
873 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
874 Index Cond: ((id IS NOT NULL) AND (id < 10))
875 InitPlan 4 (returns $3)
876 -> Result (cost=0.94..0.95 rows=1 width=0)
877 InitPlan 3 (returns $2)
878 -> Limit (cost=0.00..0.94 rows=1 width=4)
879 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
880 Index Cond: ((id IS NOT NULL) AND (id < 10))
881 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
882 Index Cond: (id = $3)
885 /*+BitmapScan(v_1)BitmapScan(v_2)*/
886 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);
896 ------------------------------------------------------------------------------------
897 Index Scan using t1_pkey on t1 (cost=56.78..65.05 rows=1 width=4)
898 Index Cond: (id = $1)
899 InitPlan 1 (returns $0)
900 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
901 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
902 Recheck Cond: (id < 10)
903 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
904 Index Cond: (id < 10)
905 InitPlan 2 (returns $1)
906 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
907 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
908 Recheck Cond: (id < 10)
909 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
910 Index Cond: (id < 10)
913 /*+BitmapScan(v_1)BitmapScan(t1)*/
914 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);
924 -----------------------------------------------------------------------------------------------------
925 Bitmap Heap Scan on t1 (cost=33.60..37.61 rows=1 width=4)
926 Recheck Cond: (id = $2)
927 InitPlan 1 (returns $0)
928 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
929 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
930 Recheck Cond: (id < 10)
931 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
932 Index Cond: (id < 10)
933 InitPlan 3 (returns $2)
934 -> Result (cost=0.94..0.95 rows=1 width=0)
935 InitPlan 2 (returns $1)
936 -> Limit (cost=0.00..0.94 rows=1 width=4)
937 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
938 Index Cond: ((id IS NOT NULL) AND (id < 10))
939 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
940 Index Cond: (id = $2)
943 /*+BitmapScan(v_2)BitmapScan(t1)*/
944 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);
954 -----------------------------------------------------------------------------------------------------
955 Bitmap Heap Scan on t1 (cost=33.60..37.61 rows=1 width=4)
956 Recheck Cond: (id = $2)
957 InitPlan 2 (returns $1)
958 -> Result (cost=0.94..0.95 rows=1 width=0)
959 InitPlan 1 (returns $0)
960 -> Limit (cost=0.00..0.94 rows=1 width=4)
961 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
962 Index Cond: ((id IS NOT NULL) AND (id < 10))
963 InitPlan 3 (returns $2)
964 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
965 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
966 Recheck Cond: (id < 10)
967 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
968 Index Cond: (id < 10)
969 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
970 Index Cond: (id = $2)
973 /*+BitmapScan(v_1)BitmapScan(v_2)BitmapScan(t1)*/
974 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);
985 ------------------------------------------------------------------------------------
986 Bitmap Heap Scan on t1 (cost=61.04..65.05 rows=1 width=4)
987 Recheck Cond: (id = $1)
988 InitPlan 1 (returns $0)
989 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
990 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
991 Recheck Cond: (id < 10)
992 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
993 Index Cond: (id < 10)
994 InitPlan 2 (returns $1)
995 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
996 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
997 Recheck Cond: (id < 10)
998 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
999 Index Cond: (id < 10)
1000 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1001 Index Cond: (id = $1)
1004 -- full scan hint pattern test
1005 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1007 -----------------------------------
1009 TID Cond: (ctid = '(1,1)'::tid)
1014 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1023 -------------------------------------------------
1025 Filter: ((id < 10) AND (ctid = '(1,1)'::tid))
1029 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1038 ---------------------------------
1039 Index Scan using t1_pkey on t1
1040 Index Cond: (id < 10)
1041 Filter: (ctid = '(1,1)'::tid)
1045 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1054 ------------------------------------
1055 Bitmap Heap Scan on t1
1056 Recheck Cond: (id < 10)
1057 Filter: (ctid = '(1,1)'::tid)
1058 -> Bitmap Index Scan on t1_pkey
1059 Index Cond: (id < 10)
1063 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1072 -----------------------------------
1074 TID Cond: (ctid = '(1,1)'::tid)
1079 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1088 -----------------------------------
1090 TID Cond: (ctid = '(1,1)'::tid)
1094 /*+NoIndexScan(t1)*/
1095 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1104 -----------------------------------
1106 TID Cond: (ctid = '(1,1)'::tid)
1110 /*+NoBitmapScan(t1)*/
1111 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1120 -----------------------------------
1122 TID Cond: (ctid = '(1,1)'::tid)
1127 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1136 ---------------------------------
1137 Index Scan using t1_pkey on t1
1138 Index Cond: (id < 10)
1139 Filter: (ctid = '(1,1)'::tid)
1142 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1144 -----------------------------------------
1146 Join Filter: (t1.id = t2.id)
1148 TID Cond: (ctid = '(1,1)'::tid)
1150 TID Cond: (ctid = '(1,1)'::tid)
1154 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1163 -----------------------------------------
1165 Join Filter: (t1.id = t2.id)
1167 Filter: (ctid = '(1,1)'::tid)
1169 TID Cond: (ctid = '(1,1)'::tid)
1173 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1182 -----------------------------------------
1184 Join Filter: (t1.id = t2.id)
1186 TID Cond: (ctid = '(1,1)'::tid)
1188 Filter: (ctid = '(1,1)'::tid)
1191 /*+SeqScan(t1) SeqScan(t2)*/
1192 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1202 ---------------------------------------
1204 Join Filter: (t1.id = t2.id)
1206 Filter: (ctid = '(1,1)'::tid)
1208 Filter: (ctid = '(1,1)'::tid)
1211 /*+SeqScan(t1) IndexScan(t2)*/
1212 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1222 ---------------------------------------
1225 Filter: (ctid = '(1,1)'::tid)
1226 -> Index Scan using t2_pkey on t2
1227 Index Cond: (id = t1.id)
1228 Filter: (ctid = '(1,1)'::tid)
1231 /*+SeqScan(t1) BitmapScan(t2)*/
1232 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1242 ------------------------------------------
1245 Filter: (ctid = '(1,1)'::tid)
1246 -> Bitmap Heap Scan on t2
1247 Recheck Cond: (id = t1.id)
1248 Filter: (ctid = '(1,1)'::tid)
1249 -> Bitmap Index Scan on t2_pkey
1250 Index Cond: (id = t1.id)
1253 /*+SeqScan(t1) TidScan(t2)*/
1254 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 Filter: (ctid = '(1,1)'::tid)
1270 TID Cond: (ctid = '(1,1)'::tid)
1273 /*+SeqScan(t1) NoSeqScan(t2)*/
1274 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1284 -----------------------------------------
1286 Join Filter: (t1.id = t2.id)
1288 Filter: (ctid = '(1,1)'::tid)
1290 TID Cond: (ctid = '(1,1)'::tid)
1293 /*+SeqScan(t1) NoIndexScan(t2)*/
1294 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1304 -----------------------------------------
1306 Join Filter: (t1.id = t2.id)
1308 Filter: (ctid = '(1,1)'::tid)
1310 TID Cond: (ctid = '(1,1)'::tid)
1313 /*+SeqScan(t1) NoBitmapScan(t2)*/
1314 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1324 -----------------------------------------
1326 Join Filter: (t1.id = t2.id)
1328 Filter: (ctid = '(1,1)'::tid)
1330 TID Cond: (ctid = '(1,1)'::tid)
1333 /*+SeqScan(t1) NoTidScan(t2)*/
1334 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1344 ---------------------------------------
1347 Filter: (ctid = '(1,1)'::tid)
1348 -> Index Scan using t2_pkey on t2
1349 Index Cond: (id = t1.id)
1350 Filter: (ctid = '(1,1)'::tid)
1354 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1363 -----------------------------------------
1366 TID Cond: (ctid = '(1,1)'::tid)
1367 -> Index Scan using t1_pkey on t1
1368 Index Cond: (id = t2.id)
1369 Filter: (ctid = '(1,1)'::tid)
1373 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1382 -----------------------------------------
1385 TID Cond: (ctid = '(1,1)'::tid)
1386 -> Index Scan using t2_pkey on t2
1387 Index Cond: (id = t1.id)
1388 Filter: (ctid = '(1,1)'::tid)
1391 /*+IndexScan(t1) SeqScan(t2)*/
1392 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1402 ---------------------------------------
1405 Filter: (ctid = '(1,1)'::tid)
1406 -> Index Scan using t1_pkey on t1
1407 Index Cond: (id = t2.id)
1408 Filter: (ctid = '(1,1)'::tid)
1411 /*+IndexScan(t1) IndexScan(t2)*/
1412 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1422 ---------------------------------------
1424 -> Index Scan using t2_pkey on t2
1425 Filter: (ctid = '(1,1)'::tid)
1426 -> Index Scan using t1_pkey on t1
1427 Index Cond: (id = t2.id)
1428 Filter: (ctid = '(1,1)'::tid)
1431 /*+IndexScan(t1) BitmapScan(t2)*/
1432 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1442 ------------------------------------------
1444 -> Index Scan using t1_pkey on t1
1445 Filter: (ctid = '(1,1)'::tid)
1446 -> Bitmap Heap Scan on t2
1447 Recheck Cond: (id = t1.id)
1448 Filter: (ctid = '(1,1)'::tid)
1449 -> Bitmap Index Scan on t2_pkey
1450 Index Cond: (id = t1.id)
1453 /*+IndexScan(t1) TidScan(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 TID Cond: (ctid = '(1,1)'::tid)
1468 -> Index Scan using t1_pkey on t1
1469 Index Cond: (id = t2.id)
1470 Filter: (ctid = '(1,1)'::tid)
1473 /*+IndexScan(t1) NoSeqScan(t2)*/
1474 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1484 -----------------------------------------
1487 TID Cond: (ctid = '(1,1)'::tid)
1488 -> Index Scan using t1_pkey on t1
1489 Index Cond: (id = t2.id)
1490 Filter: (ctid = '(1,1)'::tid)
1493 /*+IndexScan(t1) NoIndexScan(t2)*/
1494 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1504 -----------------------------------------
1507 TID Cond: (ctid = '(1,1)'::tid)
1508 -> Index Scan using t1_pkey on t1
1509 Index Cond: (id = t2.id)
1510 Filter: (ctid = '(1,1)'::tid)
1513 /*+IndexScan(t1) NoBitmapScan(t2)*/
1514 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1524 -----------------------------------------
1527 TID Cond: (ctid = '(1,1)'::tid)
1528 -> Index Scan using t1_pkey on t1
1529 Index Cond: (id = t2.id)
1530 Filter: (ctid = '(1,1)'::tid)
1533 /*+IndexScan(t1) NoTidScan(t2)*/
1534 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1544 ---------------------------------------
1547 Filter: (ctid = '(1,1)'::tid)
1548 -> Index Scan using t1_pkey on t1
1549 Index Cond: (id = t2.id)
1550 Filter: (ctid = '(1,1)'::tid)
1554 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1563 ------------------------------------------
1566 TID Cond: (ctid = '(1,1)'::tid)
1567 -> Bitmap Heap Scan on t1
1568 Recheck Cond: (id = t2.id)
1569 Filter: (ctid = '(1,1)'::tid)
1570 -> Bitmap Index Scan on t1_pkey
1571 Index Cond: (id = t2.id)
1575 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 -> Bitmap Heap Scan on t2
1589 Recheck Cond: (id = t1.id)
1590 Filter: (ctid = '(1,1)'::tid)
1591 -> Bitmap Index Scan on t2_pkey
1592 Index Cond: (id = t1.id)
1596 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1605 ------------------------------------------
1608 TID Cond: (ctid = '(1,1)'::tid)
1609 -> Bitmap Heap Scan on t2
1610 Recheck Cond: (id = t1.id)
1611 Filter: (ctid = '(1,1)'::tid)
1612 -> Bitmap Index Scan on t2_pkey
1613 Index Cond: (id = t1.id)
1616 /*+BitmapScan(t1) SeqScan(t2)*/
1617 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1627 ------------------------------------------
1630 Filter: (ctid = '(1,1)'::tid)
1631 -> Bitmap Heap Scan on t1
1632 Recheck Cond: (id = t2.id)
1633 Filter: (ctid = '(1,1)'::tid)
1634 -> Bitmap Index Scan on t1_pkey
1635 Index Cond: (id = t2.id)
1638 /*+BitmapScan(t1) IndexScan(t2)*/
1639 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1649 ------------------------------------------
1651 -> Index Scan using t2_pkey on t2
1652 Filter: (ctid = '(1,1)'::tid)
1653 -> Bitmap Heap Scan on t1
1654 Recheck Cond: (id = t2.id)
1655 Filter: (ctid = '(1,1)'::tid)
1656 -> Bitmap Index Scan on t1_pkey
1657 Index Cond: (id = t2.id)
1660 /*+BitmapScan(t1) BitmapScan(t2)*/
1661 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1671 ------------------------------------------
1673 -> Index Scan using t2_pkey on t2
1674 Filter: (ctid = '(1,1)'::tid)
1675 -> Bitmap Heap Scan on t1
1676 Recheck Cond: (id = t2.id)
1677 Filter: (ctid = '(1,1)'::tid)
1678 -> Bitmap Index Scan on t1_pkey
1679 Index Cond: (id = t2.id)
1682 /*+BitmapScan(t1) TidScan(t2)*/
1683 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1693 ------------------------------------------
1696 TID Cond: (ctid = '(1,1)'::tid)
1697 -> Bitmap Heap Scan on t1
1698 Recheck Cond: (id = t2.id)
1699 Filter: (ctid = '(1,1)'::tid)
1700 -> Bitmap Index Scan on t1_pkey
1701 Index Cond: (id = t2.id)
1704 /*+BitmapScan(t1) NoSeqScan(t2)*/
1705 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1715 ------------------------------------------
1718 TID Cond: (ctid = '(1,1)'::tid)
1719 -> Bitmap Heap Scan on t1
1720 Recheck Cond: (id = t2.id)
1721 Filter: (ctid = '(1,1)'::tid)
1722 -> Bitmap Index Scan on t1_pkey
1723 Index Cond: (id = t2.id)
1726 /*+BitmapScan(t1) NoIndexScan(t2)*/
1727 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1737 ------------------------------------------
1740 TID Cond: (ctid = '(1,1)'::tid)
1741 -> Bitmap Heap Scan on t1
1742 Recheck Cond: (id = t2.id)
1743 Filter: (ctid = '(1,1)'::tid)
1744 -> Bitmap Index Scan on t1_pkey
1745 Index Cond: (id = t2.id)
1748 /*+BitmapScan(t1) NoBitmapScan(t2)*/
1749 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1759 ------------------------------------------
1762 TID Cond: (ctid = '(1,1)'::tid)
1763 -> Bitmap Heap Scan on t1
1764 Recheck Cond: (id = t2.id)
1765 Filter: (ctid = '(1,1)'::tid)
1766 -> Bitmap Index Scan on t1_pkey
1767 Index Cond: (id = t2.id)
1770 /*+BitmapScan(t1) NoTidScan(t2)*/
1771 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1781 ------------------------------------------
1784 Filter: (ctid = '(1,1)'::tid)
1785 -> Bitmap Heap Scan on t1
1786 Recheck Cond: (id = t2.id)
1787 Filter: (ctid = '(1,1)'::tid)
1788 -> Bitmap Index Scan on t1_pkey
1789 Index Cond: (id = t2.id)
1793 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1802 -----------------------------------------
1804 Join Filter: (t1.id = t2.id)
1806 TID Cond: (ctid = '(1,1)'::tid)
1808 TID Cond: (ctid = '(1,1)'::tid)
1812 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1821 -----------------------------------------
1823 Join Filter: (t1.id = t2.id)
1825 TID Cond: (ctid = '(1,1)'::tid)
1827 TID Cond: (ctid = '(1,1)'::tid)
1830 /*+TidScan(t1) SeqScan(t2)*/
1831 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1841 -----------------------------------------
1843 Join Filter: (t1.id = t2.id)
1845 TID Cond: (ctid = '(1,1)'::tid)
1847 Filter: (ctid = '(1,1)'::tid)
1850 /*+TidScan(t1) IndexScan(t2)*/
1851 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1861 -----------------------------------------
1864 TID Cond: (ctid = '(1,1)'::tid)
1865 -> Index Scan using t2_pkey on t2
1866 Index Cond: (id = t1.id)
1867 Filter: (ctid = '(1,1)'::tid)
1870 /*+TidScan(t1) BitmapScan(t2)*/
1871 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1881 ------------------------------------------
1884 TID Cond: (ctid = '(1,1)'::tid)
1885 -> Bitmap Heap Scan on t2
1886 Recheck Cond: (id = t1.id)
1887 Filter: (ctid = '(1,1)'::tid)
1888 -> Bitmap Index Scan on t2_pkey
1889 Index Cond: (id = t1.id)
1892 /*+TidScan(t1) TidScan(t2)*/
1893 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1903 -----------------------------------------
1905 Join Filter: (t1.id = t2.id)
1907 TID Cond: (ctid = '(1,1)'::tid)
1909 TID Cond: (ctid = '(1,1)'::tid)
1912 /*+TidScan(t1) NoSeqScan(t2)*/
1913 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1923 -----------------------------------------
1925 Join Filter: (t1.id = t2.id)
1927 TID Cond: (ctid = '(1,1)'::tid)
1929 TID Cond: (ctid = '(1,1)'::tid)
1932 /*+TidScan(t1) NoIndexScan(t2)*/
1933 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1943 -----------------------------------------
1945 Join Filter: (t1.id = t2.id)
1947 TID Cond: (ctid = '(1,1)'::tid)
1949 TID Cond: (ctid = '(1,1)'::tid)
1952 /*+TidScan(t1) NoBitmapScan(t2)*/
1953 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1963 -----------------------------------------
1965 Join Filter: (t1.id = t2.id)
1967 TID Cond: (ctid = '(1,1)'::tid)
1969 TID Cond: (ctid = '(1,1)'::tid)
1972 /*+TidScan(t1) NoTidScan(t2)*/
1973 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1983 -----------------------------------------
1986 TID Cond: (ctid = '(1,1)'::tid)
1987 -> Index Scan using t2_pkey on t2
1988 Index Cond: (id = t1.id)
1989 Filter: (ctid = '(1,1)'::tid)
1993 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2002 -----------------------------------------
2004 Join Filter: (t1.id = t2.id)
2006 TID Cond: (ctid = '(1,1)'::tid)
2008 TID Cond: (ctid = '(1,1)'::tid)
2012 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2021 -----------------------------------------
2023 Join Filter: (t1.id = t2.id)
2025 TID Cond: (ctid = '(1,1)'::tid)
2027 TID Cond: (ctid = '(1,1)'::tid)
2030 /*+NoSeqScan(t1) SeqScan(t2)*/
2031 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2041 -----------------------------------------
2043 Join Filter: (t1.id = t2.id)
2045 TID Cond: (ctid = '(1,1)'::tid)
2047 Filter: (ctid = '(1,1)'::tid)
2050 /*+NoSeqScan(t1) IndexScan(t2)*/
2051 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2061 -----------------------------------------
2064 TID Cond: (ctid = '(1,1)'::tid)
2065 -> Index Scan using t2_pkey on t2
2066 Index Cond: (id = t1.id)
2067 Filter: (ctid = '(1,1)'::tid)
2070 /*+NoSeqScan(t1) BitmapScan(t2)*/
2071 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2081 ------------------------------------------
2084 TID Cond: (ctid = '(1,1)'::tid)
2085 -> Bitmap Heap Scan on t2
2086 Recheck Cond: (id = t1.id)
2087 Filter: (ctid = '(1,1)'::tid)
2088 -> Bitmap Index Scan on t2_pkey
2089 Index Cond: (id = t1.id)
2092 /*+NoSeqScan(t1) TidScan(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 -----------------------------------------
2105 Join Filter: (t1.id = t2.id)
2107 TID Cond: (ctid = '(1,1)'::tid)
2109 TID Cond: (ctid = '(1,1)'::tid)
2112 /*+NoSeqScan(t1) NoSeqScan(t2)*/
2113 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2123 -----------------------------------------
2125 Join Filter: (t1.id = t2.id)
2127 TID Cond: (ctid = '(1,1)'::tid)
2129 TID Cond: (ctid = '(1,1)'::tid)
2132 /*+NoSeqScan(t1) NoIndexScan(t2)*/
2133 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2143 -----------------------------------------
2145 Join Filter: (t1.id = t2.id)
2147 TID Cond: (ctid = '(1,1)'::tid)
2149 TID Cond: (ctid = '(1,1)'::tid)
2152 /*+NoSeqScan(t1) NoBitmapScan(t2)*/
2153 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2163 -----------------------------------------
2165 Join Filter: (t1.id = t2.id)
2167 TID Cond: (ctid = '(1,1)'::tid)
2169 TID Cond: (ctid = '(1,1)'::tid)
2172 /*+NoSeqScan(t1) NoTidScan(t2)*/
2173 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2183 -----------------------------------------
2186 TID Cond: (ctid = '(1,1)'::tid)
2187 -> Index Scan using t2_pkey on t2
2188 Index Cond: (id = t1.id)
2189 Filter: (ctid = '(1,1)'::tid)
2192 /*+NoIndexScan(t1)*/
2193 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2202 -----------------------------------------
2204 Join Filter: (t1.id = t2.id)
2206 TID Cond: (ctid = '(1,1)'::tid)
2208 TID Cond: (ctid = '(1,1)'::tid)
2211 /*+NoIndexScan(t2)*/
2212 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2221 -----------------------------------------
2223 Join Filter: (t1.id = t2.id)
2225 TID Cond: (ctid = '(1,1)'::tid)
2227 TID Cond: (ctid = '(1,1)'::tid)
2230 /*+NoIndexScan(t1) SeqScan(t2)*/
2231 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2241 -----------------------------------------
2243 Join Filter: (t1.id = t2.id)
2245 TID Cond: (ctid = '(1,1)'::tid)
2247 Filter: (ctid = '(1,1)'::tid)
2250 /*+NoIndexScan(t1) IndexScan(t2)*/
2251 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2261 -----------------------------------------
2264 TID Cond: (ctid = '(1,1)'::tid)
2265 -> Index Scan using t2_pkey on t2
2266 Index Cond: (id = t1.id)
2267 Filter: (ctid = '(1,1)'::tid)
2270 /*+NoIndexScan(t1) BitmapScan(t2)*/
2271 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2281 ------------------------------------------
2284 TID Cond: (ctid = '(1,1)'::tid)
2285 -> Bitmap Heap Scan on t2
2286 Recheck Cond: (id = t1.id)
2287 Filter: (ctid = '(1,1)'::tid)
2288 -> Bitmap Index Scan on t2_pkey
2289 Index Cond: (id = t1.id)
2292 /*+NoIndexScan(t1) TidScan(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 -----------------------------------------
2305 Join Filter: (t1.id = t2.id)
2307 TID Cond: (ctid = '(1,1)'::tid)
2309 TID Cond: (ctid = '(1,1)'::tid)
2312 /*+NoIndexScan(t1) NoSeqScan(t2)*/
2313 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2323 -----------------------------------------
2325 Join Filter: (t1.id = t2.id)
2327 TID Cond: (ctid = '(1,1)'::tid)
2329 TID Cond: (ctid = '(1,1)'::tid)
2332 /*+NoIndexScan(t1) NoIndexScan(t2)*/
2333 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2343 -----------------------------------------
2345 Join Filter: (t1.id = t2.id)
2347 TID Cond: (ctid = '(1,1)'::tid)
2349 TID Cond: (ctid = '(1,1)'::tid)
2352 /*+NoIndexScan(t1) NoBitmapScan(t2)*/
2353 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2363 -----------------------------------------
2365 Join Filter: (t1.id = t2.id)
2367 TID Cond: (ctid = '(1,1)'::tid)
2369 TID Cond: (ctid = '(1,1)'::tid)
2372 /*+NoIndexScan(t1) NoTidScan(t2)*/
2373 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2383 -----------------------------------------
2386 TID Cond: (ctid = '(1,1)'::tid)
2387 -> Index Scan using t2_pkey on t2
2388 Index Cond: (id = t1.id)
2389 Filter: (ctid = '(1,1)'::tid)
2392 /*+NoBitmapScan(t1)*/
2393 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2402 -----------------------------------------
2404 Join Filter: (t1.id = t2.id)
2406 TID Cond: (ctid = '(1,1)'::tid)
2408 TID Cond: (ctid = '(1,1)'::tid)
2411 /*+NoBitmapScan(t2)*/
2412 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2421 -----------------------------------------
2423 Join Filter: (t1.id = t2.id)
2425 TID Cond: (ctid = '(1,1)'::tid)
2427 TID Cond: (ctid = '(1,1)'::tid)
2430 /*+NoBitmapScan(t1) SeqScan(t2)*/
2431 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2441 -----------------------------------------
2443 Join Filter: (t1.id = t2.id)
2445 TID Cond: (ctid = '(1,1)'::tid)
2447 Filter: (ctid = '(1,1)'::tid)
2450 /*+NoBitmapScan(t1) IndexScan(t2)*/
2451 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2461 -----------------------------------------
2464 TID Cond: (ctid = '(1,1)'::tid)
2465 -> Index Scan using t2_pkey on t2
2466 Index Cond: (id = t1.id)
2467 Filter: (ctid = '(1,1)'::tid)
2470 /*+NoBitmapScan(t1) BitmapScan(t2)*/
2471 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2481 ------------------------------------------
2484 TID Cond: (ctid = '(1,1)'::tid)
2485 -> Bitmap Heap Scan on t2
2486 Recheck Cond: (id = t1.id)
2487 Filter: (ctid = '(1,1)'::tid)
2488 -> Bitmap Index Scan on t2_pkey
2489 Index Cond: (id = t1.id)
2492 /*+NoBitmapScan(t1) TidScan(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 -----------------------------------------
2505 Join Filter: (t1.id = t2.id)
2507 TID Cond: (ctid = '(1,1)'::tid)
2509 TID Cond: (ctid = '(1,1)'::tid)
2512 /*+NoBitmapScan(t1) NoSeqScan(t2)*/
2513 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2523 -----------------------------------------
2525 Join Filter: (t1.id = t2.id)
2527 TID Cond: (ctid = '(1,1)'::tid)
2529 TID Cond: (ctid = '(1,1)'::tid)
2532 /*+NoBitmapScan(t1) NoIndexScan(t2)*/
2533 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2543 -----------------------------------------
2545 Join Filter: (t1.id = t2.id)
2547 TID Cond: (ctid = '(1,1)'::tid)
2549 TID Cond: (ctid = '(1,1)'::tid)
2552 /*+NoBitmapScan(t1) NoBitmapScan(t2)*/
2553 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2563 -----------------------------------------
2565 Join Filter: (t1.id = t2.id)
2567 TID Cond: (ctid = '(1,1)'::tid)
2569 TID Cond: (ctid = '(1,1)'::tid)
2572 /*+NoBitmapScan(t1) NoTidScan(t2)*/
2573 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2583 -----------------------------------------
2586 TID Cond: (ctid = '(1,1)'::tid)
2587 -> Index Scan using t2_pkey on t2
2588 Index Cond: (id = t1.id)
2589 Filter: (ctid = '(1,1)'::tid)
2593 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2602 -----------------------------------------
2605 TID Cond: (ctid = '(1,1)'::tid)
2606 -> Index Scan using t1_pkey on t1
2607 Index Cond: (id = t2.id)
2608 Filter: (ctid = '(1,1)'::tid)
2612 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2621 -----------------------------------------
2624 TID Cond: (ctid = '(1,1)'::tid)
2625 -> Index Scan using t2_pkey on t2
2626 Index Cond: (id = t1.id)
2627 Filter: (ctid = '(1,1)'::tid)
2630 /*+NoTidScan(t1) SeqScan(t2)*/
2631 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2641 ---------------------------------------
2644 Filter: (ctid = '(1,1)'::tid)
2645 -> Index Scan using t1_pkey on t1
2646 Index Cond: (id = t2.id)
2647 Filter: (ctid = '(1,1)'::tid)
2650 /*+NoTidScan(t1) IndexScan(t2)*/
2651 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2661 ---------------------------------------
2663 -> Index Scan using t2_pkey on t2
2664 Filter: (ctid = '(1,1)'::tid)
2665 -> Index Scan using t1_pkey on t1
2666 Index Cond: (id = t2.id)
2667 Filter: (ctid = '(1,1)'::tid)
2670 /*+NoTidScan(t1) BitmapScan(t2)*/
2671 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2681 ------------------------------------------
2684 Filter: (ctid = '(1,1)'::tid)
2685 -> Bitmap Heap Scan on t2
2686 Recheck Cond: (id = t1.id)
2687 Filter: (ctid = '(1,1)'::tid)
2688 -> Bitmap Index Scan on t2_pkey
2689 Index Cond: (id = t1.id)
2692 /*+NoTidScan(t1) TidScan(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 t1_pkey on t1
2708 Index Cond: (id = t2.id)
2709 Filter: (ctid = '(1,1)'::tid)
2712 /*+NoTidScan(t1) NoSeqScan(t2)*/
2713 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2723 -----------------------------------------
2726 TID Cond: (ctid = '(1,1)'::tid)
2727 -> Index Scan using t1_pkey on t1
2728 Index Cond: (id = t2.id)
2729 Filter: (ctid = '(1,1)'::tid)
2732 /*+NoTidScan(t1) NoIndexScan(t2)*/
2733 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2743 -----------------------------------------
2746 TID Cond: (ctid = '(1,1)'::tid)
2747 -> Index Scan using t1_pkey on t1
2748 Index Cond: (id = t2.id)
2749 Filter: (ctid = '(1,1)'::tid)
2752 /*+NoTidScan(t1) NoBitmapScan(t2)*/
2753 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2763 -----------------------------------------
2766 TID Cond: (ctid = '(1,1)'::tid)
2767 -> Index Scan using t1_pkey on t1
2768 Index Cond: (id = t2.id)
2769 Filter: (ctid = '(1,1)'::tid)
2772 /*+NoTidScan(t1) NoTidScan(t2)*/
2773 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2783 ---------------------------------------
2786 Filter: (ctid = '(1,1)'::tid)
2787 -> Index Scan using t1_pkey on t1
2788 Index Cond: (id = t2.id)
2789 Filter: (ctid = '(1,1)'::tid)
2793 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;
2795 -----------------------------------------
2797 Join Filter: (t1.id = t2.id)
2799 TID Cond: (ctid = '(1,1)'::tid)
2802 TID Cond: (ctid = '(1,1)'::tid)
2806 /*+BitmapScan(t1) BitmapScan(t2)*/
2807 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;
2817 --------------------------------------------------------
2819 -> Bitmap Heap Scan on t2
2820 Recheck Cond: (id < 10)
2821 Filter: (ctid = '(1,1)'::tid)
2822 -> Bitmap Index Scan on t2_pkey
2823 Index Cond: (id < 10)
2824 -> Bitmap Heap Scan on t1
2825 Recheck Cond: ((id < 10) AND (id = t2.id))
2826 Filter: (ctid = '(1,1)'::tid)
2827 -> Bitmap Index Scan on t1_pkey
2828 Index Cond: ((id < 10) AND (id = t2.id))
2832 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2834 ------------------------------
2836 Hash Cond: (t1.id = t2.id)
2842 /*+MergeJoin(t1 t2)*/
2843 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2852 --------------------------------------
2854 Merge Cond: (t1.id = t2.id)
2855 -> Index Scan using t1_pkey on t1
2856 -> Index Scan using t2_pkey on t2
2859 /*+NestLoop(t1 t2)*/
2860 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2869 ------------------------------
2871 Hash Cond: (t1.id = t2.id)
2877 -- inherite table test
2878 SET constraint_exclusion TO off;
2879 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
2881 -----------------------------------------------------------------------------
2885 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2886 -> Seq Scan on p1_c1 p1
2887 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2888 -> Seq Scan on p1_c2 p1
2889 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2890 -> Seq Scan on p1_c3 p1
2891 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2892 -> Tid Scan on p1_c4 p1
2893 TID Cond: (ctid = '(1,1)'::tid)
2894 Filter: ((id >= 50) AND (id <= 51))
2895 -> Tid Scan on p1_c1_c1 p1
2896 TID Cond: (ctid = '(1,1)'::tid)
2897 Filter: ((id >= 50) AND (id <= 51))
2898 -> Tid Scan on p1_c1_c2 p1
2899 TID Cond: (ctid = '(1,1)'::tid)
2900 Filter: ((id >= 50) AND (id <= 51))
2901 -> Tid Scan on p1_c3_c1 p1
2902 TID Cond: (ctid = '(1,1)'::tid)
2903 Filter: ((id >= 50) AND (id <= 51))
2904 -> Tid Scan on p1_c3_c2 p1
2905 TID Cond: (ctid = '(1,1)'::tid)
2906 Filter: ((id >= 50) AND (id <= 51))
2909 SET constraint_exclusion TO on;
2910 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
2912 -----------------------------------------------------------------------------
2916 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2917 -> Seq Scan on p1_c1 p1
2918 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2919 -> Tid Scan on p1_c1_c1 p1
2920 TID Cond: (ctid = '(1,1)'::tid)
2921 Filter: ((id >= 50) AND (id <= 51))
2922 -> Tid Scan on p1_c1_c2 p1
2923 TID Cond: (ctid = '(1,1)'::tid)
2924 Filter: ((id >= 50) AND (id <= 51))
2927 SET constraint_exclusion TO off;
2929 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
2938 -----------------------------------------------------------------------------
2942 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2943 -> Seq Scan on p1_c1 p1
2944 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2945 -> Seq Scan on p1_c2 p1
2946 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2947 -> Seq Scan on p1_c3 p1
2948 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2949 -> Seq Scan on p1_c4 p1
2950 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2951 -> Seq Scan on p1_c1_c1 p1
2952 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2953 -> Seq Scan on p1_c1_c2 p1
2954 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2955 -> Seq Scan on p1_c3_c1 p1
2956 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2957 -> Seq Scan on p1_c3_c2 p1
2958 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2962 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
2971 -----------------------------------------------------------
2974 -> Index Scan using p1_pkey on p1
2975 Index Cond: ((id >= 50) AND (id <= 51))
2976 Filter: (ctid = '(1,1)'::tid)
2977 -> Index Scan using p1_c1_pkey on p1_c1 p1
2978 Index Cond: ((id >= 50) AND (id <= 51))
2979 Filter: (ctid = '(1,1)'::tid)
2980 -> Index Scan using p1_c2_pkey on p1_c2 p1
2981 Index Cond: ((id >= 50) AND (id <= 51))
2982 Filter: (ctid = '(1,1)'::tid)
2983 -> Index Scan using p1_c3_pkey on p1_c3 p1
2984 Index Cond: ((id >= 50) AND (id <= 51))
2985 Filter: (ctid = '(1,1)'::tid)
2986 -> Index Scan using p1_c4_pkey on p1_c4 p1
2987 Index Cond: ((id >= 50) AND (id <= 51))
2988 Filter: (ctid = '(1,1)'::tid)
2989 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
2990 Index Cond: ((id >= 50) AND (id <= 51))
2991 Filter: (ctid = '(1,1)'::tid)
2992 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
2993 Index Cond: ((id >= 50) AND (id <= 51))
2994 Filter: (ctid = '(1,1)'::tid)
2995 -> Index Scan using p1_c3_c1_pkey on p1_c3_c1 p1
2996 Index Cond: ((id >= 50) AND (id <= 51))
2997 Filter: (ctid = '(1,1)'::tid)
2998 -> Index Scan using p1_c3_c2_pkey on p1_c3_c2 p1
2999 Index Cond: ((id >= 50) AND (id <= 51))
3000 Filter: (ctid = '(1,1)'::tid)
3004 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3013 -------------------------------------------------------------
3016 -> Bitmap Heap Scan on p1
3017 Recheck Cond: ((id >= 50) AND (id <= 51))
3018 Filter: (ctid = '(1,1)'::tid)
3019 -> Bitmap Index Scan on p1_pkey
3020 Index Cond: ((id >= 50) AND (id <= 51))
3021 -> Bitmap Heap Scan on p1_c1 p1
3022 Recheck Cond: ((id >= 50) AND (id <= 51))
3023 Filter: (ctid = '(1,1)'::tid)
3024 -> Bitmap Index Scan on p1_c1_pkey
3025 Index Cond: ((id >= 50) AND (id <= 51))
3026 -> Bitmap Heap Scan on p1_c2 p1
3027 Recheck Cond: ((id >= 50) AND (id <= 51))
3028 Filter: (ctid = '(1,1)'::tid)
3029 -> Bitmap Index Scan on p1_c2_pkey
3030 Index Cond: ((id >= 50) AND (id <= 51))
3031 -> Bitmap Heap Scan on p1_c3 p1
3032 Recheck Cond: ((id >= 50) AND (id <= 51))
3033 Filter: (ctid = '(1,1)'::tid)
3034 -> Bitmap Index Scan on p1_c3_pkey
3035 Index Cond: ((id >= 50) AND (id <= 51))
3036 -> Bitmap Heap Scan on p1_c4 p1
3037 Recheck Cond: ((id >= 50) AND (id <= 51))
3038 Filter: (ctid = '(1,1)'::tid)
3039 -> Bitmap Index Scan on p1_c4_pkey
3040 Index Cond: ((id >= 50) AND (id <= 51))
3041 -> Bitmap Heap Scan on p1_c1_c1 p1
3042 Recheck Cond: ((id >= 50) AND (id <= 51))
3043 Filter: (ctid = '(1,1)'::tid)
3044 -> Bitmap Index Scan on p1_c1_c1_pkey
3045 Index Cond: ((id >= 50) AND (id <= 51))
3046 -> Bitmap Heap Scan on p1_c1_c2 p1
3047 Recheck Cond: ((id >= 50) AND (id <= 51))
3048 Filter: (ctid = '(1,1)'::tid)
3049 -> Bitmap Index Scan on p1_c1_c2_pkey
3050 Index Cond: ((id >= 50) AND (id <= 51))
3051 -> Bitmap Heap Scan on p1_c3_c1 p1
3052 Recheck Cond: ((id >= 50) AND (id <= 51))
3053 Filter: (ctid = '(1,1)'::tid)
3054 -> Bitmap Index Scan on p1_c3_c1_pkey
3055 Index Cond: ((id >= 50) AND (id <= 51))
3056 -> Bitmap Heap Scan on p1_c3_c2 p1
3057 Recheck Cond: ((id >= 50) AND (id <= 51))
3058 Filter: (ctid = '(1,1)'::tid)
3059 -> Bitmap Index Scan on p1_c3_c2_pkey
3060 Index Cond: ((id >= 50) AND (id <= 51))
3064 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3073 ---------------------------------------------------
3077 TID Cond: (ctid = '(1,1)'::tid)
3078 Filter: ((id >= 50) AND (id <= 51))
3079 -> Tid Scan on p1_c1 p1
3080 TID Cond: (ctid = '(1,1)'::tid)
3081 Filter: ((id >= 50) AND (id <= 51))
3082 -> Tid Scan on p1_c2 p1
3083 TID Cond: (ctid = '(1,1)'::tid)
3084 Filter: ((id >= 50) AND (id <= 51))
3085 -> Tid Scan on p1_c3 p1
3086 TID Cond: (ctid = '(1,1)'::tid)
3087 Filter: ((id >= 50) AND (id <= 51))
3088 -> Tid Scan on p1_c4 p1
3089 TID Cond: (ctid = '(1,1)'::tid)
3090 Filter: ((id >= 50) AND (id <= 51))
3091 -> Tid Scan on p1_c1_c1 p1
3092 TID Cond: (ctid = '(1,1)'::tid)
3093 Filter: ((id >= 50) AND (id <= 51))
3094 -> Tid Scan on p1_c1_c2 p1
3095 TID Cond: (ctid = '(1,1)'::tid)
3096 Filter: ((id >= 50) AND (id <= 51))
3097 -> Tid Scan on p1_c3_c1 p1
3098 TID Cond: (ctid = '(1,1)'::tid)
3099 Filter: ((id >= 50) AND (id <= 51))
3100 -> Tid Scan on p1_c3_c2 p1
3101 TID Cond: (ctid = '(1,1)'::tid)
3102 Filter: ((id >= 50) AND (id <= 51))
3105 SET constraint_exclusion TO on;
3107 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3116 -----------------------------------------------------------------------------
3120 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3121 -> Seq Scan on p1_c1 p1
3122 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3123 -> Seq Scan on p1_c1_c1 p1
3124 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3125 -> Seq Scan on p1_c1_c2 p1
3126 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3130 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3139 -----------------------------------------------------------
3142 -> Index Scan using p1_pkey on p1
3143 Index Cond: ((id >= 50) AND (id <= 51))
3144 Filter: (ctid = '(1,1)'::tid)
3145 -> Index Scan using p1_c1_pkey on p1_c1 p1
3146 Index Cond: ((id >= 50) AND (id <= 51))
3147 Filter: (ctid = '(1,1)'::tid)
3148 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
3149 Index Cond: ((id >= 50) AND (id <= 51))
3150 Filter: (ctid = '(1,1)'::tid)
3151 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
3152 Index Cond: ((id >= 50) AND (id <= 51))
3153 Filter: (ctid = '(1,1)'::tid)
3157 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3166 -------------------------------------------------------------
3169 -> Bitmap Heap Scan on p1
3170 Recheck Cond: ((id >= 50) AND (id <= 51))
3171 Filter: (ctid = '(1,1)'::tid)
3172 -> Bitmap Index Scan on p1_pkey
3173 Index Cond: ((id >= 50) AND (id <= 51))
3174 -> Bitmap Heap Scan on p1_c1 p1
3175 Recheck Cond: ((id >= 50) AND (id <= 51))
3176 Filter: (ctid = '(1,1)'::tid)
3177 -> Bitmap Index Scan on p1_c1_pkey
3178 Index Cond: ((id >= 50) AND (id <= 51))
3179 -> Bitmap Heap Scan on p1_c1_c1 p1
3180 Recheck Cond: ((id >= 50) AND (id <= 51))
3181 Filter: (ctid = '(1,1)'::tid)
3182 -> Bitmap Index Scan on p1_c1_c1_pkey
3183 Index Cond: ((id >= 50) AND (id <= 51))
3184 -> Bitmap Heap Scan on p1_c1_c2 p1
3185 Recheck Cond: ((id >= 50) AND (id <= 51))
3186 Filter: (ctid = '(1,1)'::tid)
3187 -> Bitmap Index Scan on p1_c1_c2_pkey
3188 Index Cond: ((id >= 50) AND (id <= 51))
3192 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3201 ---------------------------------------------------
3205 TID Cond: (ctid = '(1,1)'::tid)
3206 Filter: ((id >= 50) AND (id <= 51))
3207 -> Tid Scan on p1_c1 p1
3208 TID Cond: (ctid = '(1,1)'::tid)
3209 Filter: ((id >= 50) AND (id <= 51))
3210 -> Tid Scan on p1_c1_c1 p1
3211 TID Cond: (ctid = '(1,1)'::tid)
3212 Filter: ((id >= 50) AND (id <= 51))
3213 -> Tid Scan on p1_c1_c2 p1
3214 TID Cond: (ctid = '(1,1)'::tid)
3215 Filter: ((id >= 50) AND (id <= 51))
3218 SET constraint_exclusion TO off;
3219 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;
3221 -----------------------------------------------------------------------------------
3223 Merge Cond: (public.p1.id = t1.id)
3225 Sort Key: public.p1.id
3228 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3229 -> Seq Scan on p1_c1 p1
3230 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3231 -> Seq Scan on p1_c2 p1
3232 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3233 -> Seq Scan on p1_c3 p1
3234 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3235 -> Tid Scan on p1_c4 p1
3236 TID Cond: (ctid = '(1,1)'::tid)
3237 Filter: ((id >= 50) AND (id <= 51))
3238 -> Tid Scan on p1_c1_c1 p1
3239 TID Cond: (ctid = '(1,1)'::tid)
3240 Filter: ((id >= 50) AND (id <= 51))
3241 -> Tid Scan on p1_c1_c2 p1
3242 TID Cond: (ctid = '(1,1)'::tid)
3243 Filter: ((id >= 50) AND (id <= 51))
3244 -> Tid Scan on p1_c3_c1 p1
3245 TID Cond: (ctid = '(1,1)'::tid)
3246 Filter: ((id >= 50) AND (id <= 51))
3247 -> Tid Scan on p1_c3_c2 p1
3248 TID Cond: (ctid = '(1,1)'::tid)
3249 Filter: ((id >= 50) AND (id <= 51))
3250 -> Index Scan using t1_pkey on t1
3251 Index Cond: (id < 10)
3254 SET constraint_exclusion TO on;
3255 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;
3257 -----------------------------------------------------------------------------------
3259 Merge Cond: (public.p1.id = t1.id)
3261 Sort Key: public.p1.id
3264 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3265 -> Seq Scan on p1_c1 p1
3266 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3267 -> Tid Scan on p1_c1_c1 p1
3268 TID Cond: (ctid = '(1,1)'::tid)
3269 Filter: ((id >= 50) AND (id <= 51))
3270 -> Tid Scan on p1_c1_c2 p1
3271 TID Cond: (ctid = '(1,1)'::tid)
3272 Filter: ((id >= 50) AND (id <= 51))
3273 -> Index Scan using t1_pkey on t1
3274 Index Cond: (id < 10)
3277 SET constraint_exclusion TO off;
3279 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;
3288 -----------------------------------------------------------------------------------
3290 Merge Cond: (public.p1.id = t1.id)
3292 Sort Key: public.p1.id
3295 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3296 -> Seq Scan on p1_c1 p1
3297 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3298 -> Seq Scan on p1_c2 p1
3299 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3300 -> Seq Scan on p1_c3 p1
3301 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3302 -> Seq Scan on p1_c4 p1
3303 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3304 -> Seq Scan on p1_c1_c1 p1
3305 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3306 -> Seq Scan on p1_c1_c2 p1
3307 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3308 -> Seq Scan on p1_c3_c1 p1
3309 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3310 -> Seq Scan on p1_c3_c2 p1
3311 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3312 -> Index Scan using t1_pkey on t1
3313 Index Cond: (id < 10)
3317 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;
3326 -----------------------------------------------------------
3328 Merge Cond: (public.p1.id = t1.id)
3330 Sort Key: public.p1.id
3331 -> Index Scan using p1_pkey on p1
3332 Index Cond: ((id >= 50) AND (id <= 51))
3333 Filter: (ctid = '(1,1)'::tid)
3334 -> Index Scan using p1_c1_pkey on p1_c1 p1
3335 Index Cond: ((id >= 50) AND (id <= 51))
3336 Filter: (ctid = '(1,1)'::tid)
3337 -> Index Scan using p1_c2_pkey on p1_c2 p1
3338 Index Cond: ((id >= 50) AND (id <= 51))
3339 Filter: (ctid = '(1,1)'::tid)
3340 -> Index Scan using p1_c3_pkey on p1_c3 p1
3341 Index Cond: ((id >= 50) AND (id <= 51))
3342 Filter: (ctid = '(1,1)'::tid)
3343 -> Index Scan using p1_c4_pkey on p1_c4 p1
3344 Index Cond: ((id >= 50) AND (id <= 51))
3345 Filter: (ctid = '(1,1)'::tid)
3346 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
3347 Index Cond: ((id >= 50) AND (id <= 51))
3348 Filter: (ctid = '(1,1)'::tid)
3349 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
3350 Index Cond: ((id >= 50) AND (id <= 51))
3351 Filter: (ctid = '(1,1)'::tid)
3352 -> Index Scan using p1_c3_c1_pkey on p1_c3_c1 p1
3353 Index Cond: ((id >= 50) AND (id <= 51))
3354 Filter: (ctid = '(1,1)'::tid)
3355 -> Index Scan using p1_c3_c2_pkey on p1_c3_c2 p1
3356 Index Cond: ((id >= 50) AND (id <= 51))
3357 Filter: (ctid = '(1,1)'::tid)
3358 -> Index Scan using t1_pkey on t1
3359 Index Cond: (id < 10)
3363 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;
3372 -------------------------------------------------------------------
3374 Merge Cond: (public.p1.id = t1.id)
3376 Sort Key: public.p1.id
3378 -> Bitmap Heap Scan on p1
3379 Recheck Cond: ((id >= 50) AND (id <= 51))
3380 Filter: (ctid = '(1,1)'::tid)
3381 -> Bitmap Index Scan on p1_pkey
3382 Index Cond: ((id >= 50) AND (id <= 51))
3383 -> Bitmap Heap Scan on p1_c1 p1
3384 Recheck Cond: ((id >= 50) AND (id <= 51))
3385 Filter: (ctid = '(1,1)'::tid)
3386 -> Bitmap Index Scan on p1_c1_pkey
3387 Index Cond: ((id >= 50) AND (id <= 51))
3388 -> Bitmap Heap Scan on p1_c2 p1
3389 Recheck Cond: ((id >= 50) AND (id <= 51))
3390 Filter: (ctid = '(1,1)'::tid)
3391 -> Bitmap Index Scan on p1_c2_pkey
3392 Index Cond: ((id >= 50) AND (id <= 51))
3393 -> Bitmap Heap Scan on p1_c3 p1
3394 Recheck Cond: ((id >= 50) AND (id <= 51))
3395 Filter: (ctid = '(1,1)'::tid)
3396 -> Bitmap Index Scan on p1_c3_pkey
3397 Index Cond: ((id >= 50) AND (id <= 51))
3398 -> Bitmap Heap Scan on p1_c4 p1
3399 Recheck Cond: ((id >= 50) AND (id <= 51))
3400 Filter: (ctid = '(1,1)'::tid)
3401 -> Bitmap Index Scan on p1_c4_pkey
3402 Index Cond: ((id >= 50) AND (id <= 51))
3403 -> Bitmap Heap Scan on p1_c1_c1 p1
3404 Recheck Cond: ((id >= 50) AND (id <= 51))
3405 Filter: (ctid = '(1,1)'::tid)
3406 -> Bitmap Index Scan on p1_c1_c1_pkey
3407 Index Cond: ((id >= 50) AND (id <= 51))
3408 -> Bitmap Heap Scan on p1_c1_c2 p1
3409 Recheck Cond: ((id >= 50) AND (id <= 51))
3410 Filter: (ctid = '(1,1)'::tid)
3411 -> Bitmap Index Scan on p1_c1_c2_pkey
3412 Index Cond: ((id >= 50) AND (id <= 51))
3413 -> Bitmap Heap Scan on p1_c3_c1 p1
3414 Recheck Cond: ((id >= 50) AND (id <= 51))
3415 Filter: (ctid = '(1,1)'::tid)
3416 -> Bitmap Index Scan on p1_c3_c1_pkey
3417 Index Cond: ((id >= 50) AND (id <= 51))
3418 -> Bitmap Heap Scan on p1_c3_c2 p1
3419 Recheck Cond: ((id >= 50) AND (id <= 51))
3420 Filter: (ctid = '(1,1)'::tid)
3421 -> Bitmap Index Scan on p1_c3_c2_pkey
3422 Index Cond: ((id >= 50) AND (id <= 51))
3423 -> Index Scan using t1_pkey on t1
3424 Index Cond: (id < 10)
3428 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3437 ---------------------------------------------------------
3439 Merge Cond: (public.p1.id = t1.id)
3441 Sort Key: public.p1.id
3444 TID Cond: (ctid = '(1,1)'::tid)
3445 Filter: ((id >= 50) AND (id <= 51))
3446 -> Tid Scan on p1_c1 p1
3447 TID Cond: (ctid = '(1,1)'::tid)
3448 Filter: ((id >= 50) AND (id <= 51))
3449 -> Tid Scan on p1_c2 p1
3450 TID Cond: (ctid = '(1,1)'::tid)
3451 Filter: ((id >= 50) AND (id <= 51))
3452 -> Tid Scan on p1_c3 p1
3453 TID Cond: (ctid = '(1,1)'::tid)
3454 Filter: ((id >= 50) AND (id <= 51))
3455 -> Tid Scan on p1_c4 p1
3456 TID Cond: (ctid = '(1,1)'::tid)
3457 Filter: ((id >= 50) AND (id <= 51))
3458 -> Tid Scan on p1_c1_c1 p1
3459 TID Cond: (ctid = '(1,1)'::tid)
3460 Filter: ((id >= 50) AND (id <= 51))
3461 -> Tid Scan on p1_c1_c2 p1
3462 TID Cond: (ctid = '(1,1)'::tid)
3463 Filter: ((id >= 50) AND (id <= 51))
3464 -> Tid Scan on p1_c3_c1 p1
3465 TID Cond: (ctid = '(1,1)'::tid)
3466 Filter: ((id >= 50) AND (id <= 51))
3467 -> Tid Scan on p1_c3_c2 p1
3468 TID Cond: (ctid = '(1,1)'::tid)
3469 Filter: ((id >= 50) AND (id <= 51))
3470 -> Index Scan using t1_pkey on t1
3471 Index Cond: (id < 10)
3474 SET constraint_exclusion TO on;
3476 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;
3485 -----------------------------------------------------------------------------------
3487 Merge Cond: (public.p1.id = t1.id)
3489 Sort Key: public.p1.id
3492 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3493 -> Seq Scan on p1_c1 p1
3494 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3495 -> Seq Scan on p1_c1_c1 p1
3496 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3497 -> Seq Scan on p1_c1_c2 p1
3498 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3499 -> Index Scan using t1_pkey on t1
3500 Index Cond: (id < 10)
3504 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;
3513 -----------------------------------------------------------
3515 Merge Cond: (public.p1.id = t1.id)
3517 Sort Key: public.p1.id
3518 -> Index Scan using p1_pkey on p1
3519 Index Cond: ((id >= 50) AND (id <= 51))
3520 Filter: (ctid = '(1,1)'::tid)
3521 -> Index Scan using p1_c1_pkey on p1_c1 p1
3522 Index Cond: ((id >= 50) AND (id <= 51))
3523 Filter: (ctid = '(1,1)'::tid)
3524 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
3525 Index Cond: ((id >= 50) AND (id <= 51))
3526 Filter: (ctid = '(1,1)'::tid)
3527 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
3528 Index Cond: ((id >= 50) AND (id <= 51))
3529 Filter: (ctid = '(1,1)'::tid)
3530 -> Index Scan using t1_pkey on t1
3531 Index Cond: (id < 10)
3535 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;
3544 -------------------------------------------------------------------
3546 Merge Cond: (public.p1.id = t1.id)
3548 Sort Key: public.p1.id
3550 -> Bitmap Heap Scan on p1
3551 Recheck Cond: ((id >= 50) AND (id <= 51))
3552 Filter: (ctid = '(1,1)'::tid)
3553 -> Bitmap Index Scan on p1_pkey
3554 Index Cond: ((id >= 50) AND (id <= 51))
3555 -> Bitmap Heap Scan on p1_c1 p1
3556 Recheck Cond: ((id >= 50) AND (id <= 51))
3557 Filter: (ctid = '(1,1)'::tid)
3558 -> Bitmap Index Scan on p1_c1_pkey
3559 Index Cond: ((id >= 50) AND (id <= 51))
3560 -> Bitmap Heap Scan on p1_c1_c1 p1
3561 Recheck Cond: ((id >= 50) AND (id <= 51))
3562 Filter: (ctid = '(1,1)'::tid)
3563 -> Bitmap Index Scan on p1_c1_c1_pkey
3564 Index Cond: ((id >= 50) AND (id <= 51))
3565 -> Bitmap Heap Scan on p1_c1_c2 p1
3566 Recheck Cond: ((id >= 50) AND (id <= 51))
3567 Filter: (ctid = '(1,1)'::tid)
3568 -> Bitmap Index Scan on p1_c1_c2_pkey
3569 Index Cond: ((id >= 50) AND (id <= 51))
3570 -> Index Scan using t1_pkey on t1
3571 Index Cond: (id < 10)
3575 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;
3584 ---------------------------------------------------------
3586 Merge Cond: (public.p1.id = t1.id)
3588 Sort Key: public.p1.id
3591 TID Cond: (ctid = '(1,1)'::tid)
3592 Filter: ((id >= 50) AND (id <= 51))
3593 -> Tid Scan on p1_c1 p1
3594 TID Cond: (ctid = '(1,1)'::tid)
3595 Filter: ((id >= 50) AND (id <= 51))
3596 -> Tid Scan on p1_c1_c1 p1
3597 TID Cond: (ctid = '(1,1)'::tid)
3598 Filter: ((id >= 50) AND (id <= 51))
3599 -> Tid Scan on p1_c1_c2 p1
3600 TID Cond: (ctid = '(1,1)'::tid)
3601 Filter: ((id >= 50) AND (id <= 51))
3602 -> Index Scan using t1_pkey on t1
3603 Index Cond: (id < 10)
3606 SET constraint_exclusion TO off;
3607 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3609 -----------------------------------------------------------------
3611 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3614 SET constraint_exclusion TO on;
3615 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3617 -----------------------------------------------------------------
3619 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3622 SET constraint_exclusion TO off;
3624 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3633 -----------------------------------------------------------------
3635 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3639 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3648 -------------------------------------------
3649 Index Scan using p1_pkey on p1
3650 Index Cond: ((id >= 50) AND (id <= 51))
3651 Filter: (ctid = '(1,1)'::tid)
3655 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3664 -------------------------------------------------
3665 Bitmap Heap Scan on p1
3666 Recheck Cond: ((id >= 50) AND (id <= 51))
3667 Filter: (ctid = '(1,1)'::tid)
3668 -> Bitmap Index Scan on p1_pkey
3669 Index Cond: ((id >= 50) AND (id <= 51))
3673 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3682 ---------------------------------------
3684 TID Cond: (ctid = '(1,1)'::tid)
3685 Filter: ((id >= 50) AND (id <= 51))
3688 SET constraint_exclusion TO on;
3690 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3699 -----------------------------------------------------------------
3701 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3705 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3714 -------------------------------------------
3715 Index Scan using p1_pkey on p1
3716 Index Cond: ((id >= 50) AND (id <= 51))
3717 Filter: (ctid = '(1,1)'::tid)
3721 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3730 -------------------------------------------------
3731 Bitmap Heap Scan on p1
3732 Recheck Cond: ((id >= 50) AND (id <= 51))
3733 Filter: (ctid = '(1,1)'::tid)
3734 -> Bitmap Index Scan on p1_pkey
3735 Index Cond: ((id >= 50) AND (id <= 51))
3739 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3748 ---------------------------------------
3750 TID Cond: (ctid = '(1,1)'::tid)
3751 Filter: ((id >= 50) AND (id <= 51))
3754 SET constraint_exclusion TO off;
3755 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;
3757 -----------------------------------------------------------------------
3760 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3761 -> Index Scan using t1_pkey on t1
3762 Index Cond: ((id < 10) AND (id = p1.id))
3765 SET constraint_exclusion TO on;
3766 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;
3768 -----------------------------------------------------------------------
3771 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3772 -> Index Scan using t1_pkey on t1
3773 Index Cond: ((id < 10) AND (id = p1.id))
3776 SET constraint_exclusion TO off;
3778 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;
3787 -----------------------------------------------------------------------
3790 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3791 -> Index Scan using t1_pkey on t1
3792 Index Cond: ((id < 10) AND (id = p1.id))
3796 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;
3805 --------------------------------------------------
3807 -> Index Scan using p1_pkey on p1
3808 Index Cond: ((id >= 50) AND (id <= 51))
3809 Filter: (ctid = '(1,1)'::tid)
3810 -> Index Scan using t1_pkey on t1
3811 Index Cond: ((id < 10) AND (id = p1.id))
3815 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;
3824 -------------------------------------------------------
3826 -> Bitmap Heap Scan on p1
3827 Recheck Cond: ((id >= 50) AND (id <= 51))
3828 Filter: (ctid = '(1,1)'::tid)
3829 -> Bitmap Index Scan on p1_pkey
3830 Index Cond: ((id >= 50) AND (id <= 51))
3831 -> Index Scan using t1_pkey on t1
3832 Index Cond: ((id < 10) AND (id = p1.id))
3836 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;
3845 --------------------------------------------------
3848 TID Cond: (ctid = '(1,1)'::tid)
3849 Filter: ((id >= 50) AND (id <= 51))
3850 -> Index Scan using t1_pkey on t1
3851 Index Cond: ((id < 10) AND (id = p1.id))
3854 SET constraint_exclusion TO on;
3856 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;
3865 -----------------------------------------------------------------------
3868 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3869 -> Index Scan using t1_pkey on t1
3870 Index Cond: ((id < 10) AND (id = p1.id))
3874 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;
3883 --------------------------------------------------
3885 -> Index Scan using p1_pkey on p1
3886 Index Cond: ((id >= 50) AND (id <= 51))
3887 Filter: (ctid = '(1,1)'::tid)
3888 -> Index Scan using t1_pkey on t1
3889 Index Cond: ((id < 10) AND (id = p1.id))
3893 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;
3902 -------------------------------------------------------
3904 -> Bitmap Heap Scan on p1
3905 Recheck Cond: ((id >= 50) AND (id <= 51))
3906 Filter: (ctid = '(1,1)'::tid)
3907 -> Bitmap Index Scan on p1_pkey
3908 Index Cond: ((id >= 50) AND (id <= 51))
3909 -> Index Scan using t1_pkey on t1
3910 Index Cond: ((id < 10) AND (id = p1.id))
3914 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;
3923 --------------------------------------------------
3926 TID Cond: (ctid = '(1,1)'::tid)
3927 Filter: ((id >= 50) AND (id <= 51))
3928 -> Index Scan using t1_pkey on t1
3929 Index Cond: ((id < 10) AND (id = p1.id))
3933 /*+SeqScan("""t1 ) ")IndexScan("t 2 """)HashJoin("""t1 ) "T3"t 2 """)Leading("""t1 ) "T3"t 2 """)Set(application_name"a a a"" a A")*/
3934 EXPLAIN (COSTS false) SELECT * FROM t1 """t1 ) ", t2 "t 2 """, t3 "T3" WHERE """t1 ) ".id = "t 2 """.id AND """t1 ) ".id = "T3".id;
3939 HashJoin("""t1 ) " T3 "t 2 """)
3940 Set(application_name "a a a"" a A")
3941 Leading("""t1 ) " T3 "t 2 """)
3947 ---------------------------------------------------------
3949 Hash Cond: ("t 2 """.id = """t1 ) ".id)
3950 -> Index Scan using t2_pkey on t2 "t 2 """
3953 Hash Cond: ("""t1 ) ".id = "T3".id)
3954 -> Seq Scan on t1 """t1 ) "
3956 -> Seq Scan on t3 "T3"
3959 -- duplicate hint test
3960 /*+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)*/
3961 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
3962 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)"
3963 DETAIL: Duplicate scan method hint.
3964 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)"
3965 DETAIL: Duplicate scan method hint.
3966 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)"
3967 DETAIL: Duplicate scan method hint.
3968 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)"
3969 DETAIL: Duplicate scan method hint.
3970 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)"
3971 DETAIL: Duplicate scan method hint.
3972 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)"
3973 DETAIL: Duplicate scan method hint.
3974 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)"
3975 DETAIL: Duplicate join method hint.
3976 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)"
3977 DETAIL: Duplicate join method hint.
3978 INFO: hint syntax error at or near "Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)"
3979 DETAIL: Duplicate set hint.
3980 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)"
3981 DETAIL: Duplicate leading hint.
3987 Set(enable_mergejoin on)
3988 Set(enable_seqscan on)
4000 Set(enable_seqscan off)
4005 -----------------------------------------------
4007 Merge Cond: (t1.id = t2.id)
4011 TID Cond: (ctid = '(1,1)'::tid)
4015 TID Cond: (ctid = '(1,1)'::tid)