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;
591 INFO: hint syntax error at or near ""
592 DETAIL: relation name is necessary.
594 --------------------------------------------------
596 Merge Cond: (t1.id = t4.id)
598 Merge Cond: (t1.id = t3.id)
600 Merge Cond: (t1.id = t2.id)
601 -> Index Scan using t1_pkey on t1
602 -> Index Scan using t2_pkey on t2
603 -> Index Scan using t3_pkey on t3
610 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
611 INFO: hint syntax error at or near "Leading( )"
612 DETAIL: In Leading hint, specified relation name 2 or more.
621 --------------------------------------------------
623 Merge Cond: (t1.id = t4.id)
625 Merge Cond: (t1.id = t3.id)
627 Merge Cond: (t1.id = t2.id)
628 -> Index Scan using t1_pkey on t1
629 -> Index Scan using t2_pkey on t2
630 -> Index Scan using t3_pkey on t3
637 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
638 INFO: hint syntax error at or near "Leading( t3 )"
639 DETAIL: In Leading hint, specified relation name 2 or more.
648 --------------------------------------------------
650 Merge Cond: (t1.id = t4.id)
652 Merge Cond: (t1.id = t3.id)
654 Merge Cond: (t1.id = t2.id)
655 -> Index Scan using t1_pkey on t1
656 -> Index Scan using t2_pkey on t2
657 -> Index Scan using t3_pkey on t3
663 /*+Leading( t3 t4 )*/
664 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
673 --------------------------------------------------
677 Merge Cond: (t3.id = t4.id)
678 -> Index Scan using t3_pkey on t3
682 -> Index Scan using t2_pkey on t2
683 Index Cond: (id = t3.id)
684 -> Index Scan using t1_pkey on t1
685 Index Cond: (id = t2.id)
688 /*+Leading(t3 t4 t1)*/
689 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
698 --------------------------------------------------
701 Merge Cond: (t3.id = t1.id)
703 Merge Cond: (t3.id = t4.id)
704 -> Index Scan using t3_pkey on t3
708 -> Index Scan using t1_pkey on t1
709 -> Index Scan using t2_pkey on t2
710 Index Cond: (id = t1.id)
713 /*+Leading(t3 t4 t1 t2)*/
714 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
723 --------------------------------------------------
726 Merge Cond: (t3.id = t1.id)
728 Merge Cond: (t3.id = t4.id)
729 -> Index Scan using t3_pkey on t3
733 -> Index Scan using t1_pkey on t1
734 -> Index Scan using t2_pkey on t2
735 Index Cond: (id = t1.id)
738 /*+Leading(t3 t4 t1 t2 t1)*/
739 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
742 Leading(t3 t4 t1 t2 t1)
748 --------------------------------------------------
751 Merge Cond: (t3.id = t1.id)
753 Merge Cond: (t3.id = t4.id)
754 -> Index Scan using t3_pkey on t3
758 -> Index Scan using t1_pkey on t1
759 -> Index Scan using t2_pkey on t2
760 Index Cond: (id = t1.id)
763 /*+Leading(t3 t4 t4)*/
764 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
765 INFO: hint syntax error at or near "Leading(t3 t4 t4)"
766 DETAIL: Relation name "t4" is duplicate.
775 --------------------------------------------------
777 Merge Cond: (t1.id = t4.id)
779 Merge Cond: (t1.id = t3.id)
781 Merge Cond: (t1.id = t2.id)
782 -> Index Scan using t1_pkey on t1
783 -> Index Scan using t2_pkey on t2
784 -> Index Scan using t3_pkey on t3
790 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
792 -----------------------------------------------
794 -> Values Scan on "*VALUES*"
795 -> Index Scan using t1_pkey on t1
796 Index Cond: (id = "*VALUES*".column1)
800 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
809 -----------------------------------------------
811 -> Values Scan on "*VALUES*"
812 -> Index Scan using t1_pkey on t1
813 Index Cond: (id = "*VALUES*".column1)
816 /*+HashJoin(t1 *VALUES*)*/
817 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
820 HashJoin(*VALUES* t1)
826 -------------------------------------------
828 Hash Cond: (t1.id = "*VALUES*".column1)
831 -> Values Scan on "*VALUES*"
834 /*+HashJoin(t1 *VALUES*) IndexScan(t1) IndexScan(*VALUES*)*/
835 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
839 HashJoin(*VALUES* t1)
846 -------------------------------------------
848 Hash Cond: (t1.id = "*VALUES*".column1)
849 -> Index Scan using t1_pkey on t1
851 -> Values Scan on "*VALUES*"
854 -- single table scan hint test
855 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);
857 -----------------------------------------------------------------------------------------------------
858 Index Scan using t1_pkey on t1 (cost=1.89..10.16 rows=1 width=4)
859 Index Cond: (id = $3)
860 InitPlan 2 (returns $1)
861 -> Result (cost=0.94..0.95 rows=1 width=0)
862 InitPlan 1 (returns $0)
863 -> Limit (cost=0.00..0.94 rows=1 width=4)
864 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
865 Index Cond: ((id IS NOT NULL) AND (id < 10))
866 InitPlan 4 (returns $3)
867 -> Result (cost=0.94..0.95 rows=1 width=0)
868 InitPlan 3 (returns $2)
869 -> Limit (cost=0.00..0.94 rows=1 width=4)
870 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
871 Index Cond: ((id IS NOT NULL) AND (id < 10))
875 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);
884 -----------------------------------------------------------------------------------------------------
885 Index Scan using t1_pkey on t1 (cost=29.34..37.61 rows=1 width=4)
886 Index Cond: (id = $2)
887 InitPlan 1 (returns $0)
888 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
889 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
890 Recheck Cond: (id < 10)
891 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
892 Index Cond: (id < 10)
893 InitPlan 3 (returns $2)
894 -> Result (cost=0.94..0.95 rows=1 width=0)
895 InitPlan 2 (returns $1)
896 -> Limit (cost=0.00..0.94 rows=1 width=4)
897 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
898 Index Cond: ((id IS NOT NULL) AND (id < 10))
902 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);
911 -----------------------------------------------------------------------------------------------------
912 Index Scan using t1_pkey on t1 (cost=29.34..37.61 rows=1 width=4)
913 Index Cond: (id = $2)
914 InitPlan 2 (returns $1)
915 -> Result (cost=0.94..0.95 rows=1 width=0)
916 InitPlan 1 (returns $0)
917 -> Limit (cost=0.00..0.94 rows=1 width=4)
918 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
919 Index Cond: ((id IS NOT NULL) AND (id < 10))
920 InitPlan 3 (returns $2)
921 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
922 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
923 Recheck Cond: (id < 10)
924 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
925 Index Cond: (id < 10)
929 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);
938 -----------------------------------------------------------------------------------------------------
939 Bitmap Heap Scan on t1 (cost=6.15..10.17 rows=1 width=4)
940 Recheck Cond: (id = $3)
941 InitPlan 2 (returns $1)
942 -> Result (cost=0.94..0.95 rows=1 width=0)
943 InitPlan 1 (returns $0)
944 -> Limit (cost=0.00..0.94 rows=1 width=4)
945 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
946 Index Cond: ((id IS NOT NULL) AND (id < 10))
947 InitPlan 4 (returns $3)
948 -> Result (cost=0.94..0.95 rows=1 width=0)
949 InitPlan 3 (returns $2)
950 -> Limit (cost=0.00..0.94 rows=1 width=4)
951 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
952 Index Cond: ((id IS NOT NULL) AND (id < 10))
953 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
954 Index Cond: (id = $3)
957 /*+BitmapScan(v_1)BitmapScan(v_2)*/
958 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);
968 ------------------------------------------------------------------------------------
969 Index Scan using t1_pkey on t1 (cost=56.78..65.05 rows=1 width=4)
970 Index Cond: (id = $1)
971 InitPlan 1 (returns $0)
972 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
973 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
974 Recheck Cond: (id < 10)
975 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
976 Index Cond: (id < 10)
977 InitPlan 2 (returns $1)
978 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
979 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
980 Recheck Cond: (id < 10)
981 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
982 Index Cond: (id < 10)
985 /*+BitmapScan(v_1)BitmapScan(t1)*/
986 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);
996 -----------------------------------------------------------------------------------------------------
997 Bitmap Heap Scan on t1 (cost=33.60..37.61 rows=1 width=4)
998 Recheck Cond: (id = $2)
999 InitPlan 1 (returns $0)
1000 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1001 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
1002 Recheck Cond: (id < 10)
1003 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1004 Index Cond: (id < 10)
1005 InitPlan 3 (returns $2)
1006 -> Result (cost=0.94..0.95 rows=1 width=0)
1007 InitPlan 2 (returns $1)
1008 -> Limit (cost=0.00..0.94 rows=1 width=4)
1009 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
1010 Index Cond: ((id IS NOT NULL) AND (id < 10))
1011 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1012 Index Cond: (id = $2)
1015 /*+BitmapScan(v_2)BitmapScan(t1)*/
1016 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);
1026 -----------------------------------------------------------------------------------------------------
1027 Bitmap Heap Scan on t1 (cost=33.60..37.61 rows=1 width=4)
1028 Recheck Cond: (id = $2)
1029 InitPlan 2 (returns $1)
1030 -> Result (cost=0.94..0.95 rows=1 width=0)
1031 InitPlan 1 (returns $0)
1032 -> Limit (cost=0.00..0.94 rows=1 width=4)
1033 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
1034 Index Cond: ((id IS NOT NULL) AND (id < 10))
1035 InitPlan 3 (returns $2)
1036 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1037 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
1038 Recheck Cond: (id < 10)
1039 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1040 Index Cond: (id < 10)
1041 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1042 Index Cond: (id = $2)
1045 /*+BitmapScan(v_1)BitmapScan(v_2)BitmapScan(t1)*/
1046 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);
1057 ------------------------------------------------------------------------------------
1058 Bitmap Heap Scan on t1 (cost=61.04..65.05 rows=1 width=4)
1059 Recheck Cond: (id = $1)
1060 InitPlan 1 (returns $0)
1061 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1062 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
1063 Recheck Cond: (id < 10)
1064 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1065 Index Cond: (id < 10)
1066 InitPlan 2 (returns $1)
1067 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1068 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
1069 Recheck Cond: (id < 10)
1070 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1071 Index Cond: (id < 10)
1072 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1073 Index Cond: (id = $1)
1076 -- full scan hint pattern test
1077 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1079 -----------------------------------
1081 TID Cond: (ctid = '(1,1)'::tid)
1086 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1095 -------------------------------------------------
1097 Filter: ((id < 10) AND (ctid = '(1,1)'::tid))
1101 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1110 ---------------------------------
1111 Index Scan using t1_pkey on t1
1112 Index Cond: (id < 10)
1113 Filter: (ctid = '(1,1)'::tid)
1117 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1126 ------------------------------------
1127 Bitmap Heap Scan on t1
1128 Recheck Cond: (id < 10)
1129 Filter: (ctid = '(1,1)'::tid)
1130 -> Bitmap Index Scan on t1_pkey
1131 Index Cond: (id < 10)
1135 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1144 -----------------------------------
1146 TID Cond: (ctid = '(1,1)'::tid)
1151 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1160 -----------------------------------
1162 TID Cond: (ctid = '(1,1)'::tid)
1166 /*+NoIndexScan(t1)*/
1167 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1176 -----------------------------------
1178 TID Cond: (ctid = '(1,1)'::tid)
1182 /*+NoBitmapScan(t1)*/
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 ---------------------------------
1209 Index Scan using t1_pkey on t1
1210 Index Cond: (id < 10)
1211 Filter: (ctid = '(1,1)'::tid)
1214 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1216 -----------------------------------------
1218 Join Filter: (t1.id = t2.id)
1220 TID Cond: (ctid = '(1,1)'::tid)
1222 TID Cond: (ctid = '(1,1)'::tid)
1226 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1235 -----------------------------------------
1237 Join Filter: (t1.id = t2.id)
1239 Filter: (ctid = '(1,1)'::tid)
1241 TID Cond: (ctid = '(1,1)'::tid)
1245 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1254 -----------------------------------------
1256 Join Filter: (t1.id = t2.id)
1258 TID Cond: (ctid = '(1,1)'::tid)
1260 Filter: (ctid = '(1,1)'::tid)
1263 /*+SeqScan(t1) SeqScan(t2)*/
1264 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1274 ---------------------------------------
1276 Join Filter: (t1.id = t2.id)
1278 Filter: (ctid = '(1,1)'::tid)
1280 Filter: (ctid = '(1,1)'::tid)
1283 /*+SeqScan(t1) IndexScan(t2)*/
1284 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1294 ---------------------------------------
1297 Filter: (ctid = '(1,1)'::tid)
1298 -> Index Scan using t2_pkey on t2
1299 Index Cond: (id = t1.id)
1300 Filter: (ctid = '(1,1)'::tid)
1303 /*+SeqScan(t1) BitmapScan(t2)*/
1304 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1314 ------------------------------------------
1317 Filter: (ctid = '(1,1)'::tid)
1318 -> Bitmap Heap Scan on t2
1319 Recheck Cond: (id = t1.id)
1320 Filter: (ctid = '(1,1)'::tid)
1321 -> Bitmap Index Scan on t2_pkey
1322 Index Cond: (id = t1.id)
1325 /*+SeqScan(t1) TidScan(t2)*/
1326 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1336 -----------------------------------------
1338 Join Filter: (t1.id = t2.id)
1340 Filter: (ctid = '(1,1)'::tid)
1342 TID Cond: (ctid = '(1,1)'::tid)
1345 /*+SeqScan(t1) NoSeqScan(t2)*/
1346 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1356 -----------------------------------------
1358 Join Filter: (t1.id = t2.id)
1360 Filter: (ctid = '(1,1)'::tid)
1362 TID Cond: (ctid = '(1,1)'::tid)
1365 /*+SeqScan(t1) NoIndexScan(t2)*/
1366 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1376 -----------------------------------------
1378 Join Filter: (t1.id = t2.id)
1380 Filter: (ctid = '(1,1)'::tid)
1382 TID Cond: (ctid = '(1,1)'::tid)
1385 /*+SeqScan(t1) NoBitmapScan(t2)*/
1386 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1396 -----------------------------------------
1398 Join Filter: (t1.id = t2.id)
1400 Filter: (ctid = '(1,1)'::tid)
1402 TID Cond: (ctid = '(1,1)'::tid)
1405 /*+SeqScan(t1) NoTidScan(t2)*/
1406 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1416 ---------------------------------------
1419 Filter: (ctid = '(1,1)'::tid)
1420 -> Index Scan using t2_pkey on t2
1421 Index Cond: (id = t1.id)
1422 Filter: (ctid = '(1,1)'::tid)
1426 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1435 -----------------------------------------
1438 TID Cond: (ctid = '(1,1)'::tid)
1439 -> Index Scan using t1_pkey on t1
1440 Index Cond: (id = t2.id)
1441 Filter: (ctid = '(1,1)'::tid)
1445 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1454 -----------------------------------------
1457 TID Cond: (ctid = '(1,1)'::tid)
1458 -> Index Scan using t2_pkey on t2
1459 Index Cond: (id = t1.id)
1460 Filter: (ctid = '(1,1)'::tid)
1463 /*+IndexScan(t1) SeqScan(t2)*/
1464 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1474 ---------------------------------------
1477 Filter: (ctid = '(1,1)'::tid)
1478 -> Index Scan using t1_pkey on t1
1479 Index Cond: (id = t2.id)
1480 Filter: (ctid = '(1,1)'::tid)
1483 /*+IndexScan(t1) IndexScan(t2)*/
1484 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1494 ---------------------------------------
1496 -> Index Scan using t2_pkey on t2
1497 Filter: (ctid = '(1,1)'::tid)
1498 -> Index Scan using t1_pkey on t1
1499 Index Cond: (id = t2.id)
1500 Filter: (ctid = '(1,1)'::tid)
1503 /*+IndexScan(t1) BitmapScan(t2)*/
1504 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1514 ------------------------------------------
1516 -> Index Scan using t1_pkey on t1
1517 Filter: (ctid = '(1,1)'::tid)
1518 -> Bitmap Heap Scan on t2
1519 Recheck Cond: (id = t1.id)
1520 Filter: (ctid = '(1,1)'::tid)
1521 -> Bitmap Index Scan on t2_pkey
1522 Index Cond: (id = t1.id)
1525 /*+IndexScan(t1) TidScan(t2)*/
1526 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1536 -----------------------------------------
1539 TID Cond: (ctid = '(1,1)'::tid)
1540 -> Index Scan using t1_pkey on t1
1541 Index Cond: (id = t2.id)
1542 Filter: (ctid = '(1,1)'::tid)
1545 /*+IndexScan(t1) NoSeqScan(t2)*/
1546 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1556 -----------------------------------------
1559 TID Cond: (ctid = '(1,1)'::tid)
1560 -> Index Scan using t1_pkey on t1
1561 Index Cond: (id = t2.id)
1562 Filter: (ctid = '(1,1)'::tid)
1565 /*+IndexScan(t1) NoIndexScan(t2)*/
1566 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1576 -----------------------------------------
1579 TID Cond: (ctid = '(1,1)'::tid)
1580 -> Index Scan using t1_pkey on t1
1581 Index Cond: (id = t2.id)
1582 Filter: (ctid = '(1,1)'::tid)
1585 /*+IndexScan(t1) NoBitmapScan(t2)*/
1586 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1596 -----------------------------------------
1599 TID Cond: (ctid = '(1,1)'::tid)
1600 -> Index Scan using t1_pkey on t1
1601 Index Cond: (id = t2.id)
1602 Filter: (ctid = '(1,1)'::tid)
1605 /*+IndexScan(t1) NoTidScan(t2)*/
1606 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1616 ---------------------------------------
1619 Filter: (ctid = '(1,1)'::tid)
1620 -> Index Scan using t1_pkey on t1
1621 Index Cond: (id = t2.id)
1622 Filter: (ctid = '(1,1)'::tid)
1626 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1635 ------------------------------------------
1638 TID Cond: (ctid = '(1,1)'::tid)
1639 -> Bitmap Heap Scan on t1
1640 Recheck Cond: (id = t2.id)
1641 Filter: (ctid = '(1,1)'::tid)
1642 -> Bitmap Index Scan on t1_pkey
1643 Index Cond: (id = t2.id)
1647 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1656 ------------------------------------------
1659 TID Cond: (ctid = '(1,1)'::tid)
1660 -> Bitmap Heap Scan on t2
1661 Recheck Cond: (id = t1.id)
1662 Filter: (ctid = '(1,1)'::tid)
1663 -> Bitmap Index Scan on t2_pkey
1664 Index Cond: (id = t1.id)
1668 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1677 ------------------------------------------
1680 TID Cond: (ctid = '(1,1)'::tid)
1681 -> Bitmap Heap Scan on t2
1682 Recheck Cond: (id = t1.id)
1683 Filter: (ctid = '(1,1)'::tid)
1684 -> Bitmap Index Scan on t2_pkey
1685 Index Cond: (id = t1.id)
1688 /*+BitmapScan(t1) SeqScan(t2)*/
1689 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1699 ------------------------------------------
1702 Filter: (ctid = '(1,1)'::tid)
1703 -> Bitmap Heap Scan on t1
1704 Recheck Cond: (id = t2.id)
1705 Filter: (ctid = '(1,1)'::tid)
1706 -> Bitmap Index Scan on t1_pkey
1707 Index Cond: (id = t2.id)
1710 /*+BitmapScan(t1) IndexScan(t2)*/
1711 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1721 ------------------------------------------
1723 -> Index Scan using t2_pkey on t2
1724 Filter: (ctid = '(1,1)'::tid)
1725 -> Bitmap Heap Scan on t1
1726 Recheck Cond: (id = t2.id)
1727 Filter: (ctid = '(1,1)'::tid)
1728 -> Bitmap Index Scan on t1_pkey
1729 Index Cond: (id = t2.id)
1732 /*+BitmapScan(t1) BitmapScan(t2)*/
1733 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1743 ------------------------------------------
1745 -> Index Scan using t2_pkey on t2
1746 Filter: (ctid = '(1,1)'::tid)
1747 -> Bitmap Heap Scan on t1
1748 Recheck Cond: (id = t2.id)
1749 Filter: (ctid = '(1,1)'::tid)
1750 -> Bitmap Index Scan on t1_pkey
1751 Index Cond: (id = t2.id)
1754 /*+BitmapScan(t1) TidScan(t2)*/
1755 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1765 ------------------------------------------
1768 TID Cond: (ctid = '(1,1)'::tid)
1769 -> Bitmap Heap Scan on t1
1770 Recheck Cond: (id = t2.id)
1771 Filter: (ctid = '(1,1)'::tid)
1772 -> Bitmap Index Scan on t1_pkey
1773 Index Cond: (id = t2.id)
1776 /*+BitmapScan(t1) NoSeqScan(t2)*/
1777 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1787 ------------------------------------------
1790 TID Cond: (ctid = '(1,1)'::tid)
1791 -> Bitmap Heap Scan on t1
1792 Recheck Cond: (id = t2.id)
1793 Filter: (ctid = '(1,1)'::tid)
1794 -> Bitmap Index Scan on t1_pkey
1795 Index Cond: (id = t2.id)
1798 /*+BitmapScan(t1) NoIndexScan(t2)*/
1799 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1809 ------------------------------------------
1812 TID Cond: (ctid = '(1,1)'::tid)
1813 -> Bitmap Heap Scan on t1
1814 Recheck Cond: (id = t2.id)
1815 Filter: (ctid = '(1,1)'::tid)
1816 -> Bitmap Index Scan on t1_pkey
1817 Index Cond: (id = t2.id)
1820 /*+BitmapScan(t1) NoBitmapScan(t2)*/
1821 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1831 ------------------------------------------
1834 TID Cond: (ctid = '(1,1)'::tid)
1835 -> Bitmap Heap Scan on t1
1836 Recheck Cond: (id = t2.id)
1837 Filter: (ctid = '(1,1)'::tid)
1838 -> Bitmap Index Scan on t1_pkey
1839 Index Cond: (id = t2.id)
1842 /*+BitmapScan(t1) NoTidScan(t2)*/
1843 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1853 ------------------------------------------
1856 Filter: (ctid = '(1,1)'::tid)
1857 -> Bitmap Heap Scan on t1
1858 Recheck Cond: (id = t2.id)
1859 Filter: (ctid = '(1,1)'::tid)
1860 -> Bitmap Index Scan on t1_pkey
1861 Index Cond: (id = t2.id)
1865 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1874 -----------------------------------------
1876 Join Filter: (t1.id = t2.id)
1878 TID Cond: (ctid = '(1,1)'::tid)
1880 TID Cond: (ctid = '(1,1)'::tid)
1884 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1893 -----------------------------------------
1895 Join Filter: (t1.id = t2.id)
1897 TID Cond: (ctid = '(1,1)'::tid)
1899 TID Cond: (ctid = '(1,1)'::tid)
1902 /*+TidScan(t1) SeqScan(t2)*/
1903 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1913 -----------------------------------------
1915 Join Filter: (t1.id = t2.id)
1917 TID Cond: (ctid = '(1,1)'::tid)
1919 Filter: (ctid = '(1,1)'::tid)
1922 /*+TidScan(t1) IndexScan(t2)*/
1923 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1933 -----------------------------------------
1936 TID Cond: (ctid = '(1,1)'::tid)
1937 -> Index Scan using t2_pkey on t2
1938 Index Cond: (id = t1.id)
1939 Filter: (ctid = '(1,1)'::tid)
1942 /*+TidScan(t1) BitmapScan(t2)*/
1943 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1953 ------------------------------------------
1956 TID Cond: (ctid = '(1,1)'::tid)
1957 -> Bitmap Heap Scan on t2
1958 Recheck Cond: (id = t1.id)
1959 Filter: (ctid = '(1,1)'::tid)
1960 -> Bitmap Index Scan on t2_pkey
1961 Index Cond: (id = t1.id)
1964 /*+TidScan(t1) TidScan(t2)*/
1965 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1975 -----------------------------------------
1977 Join Filter: (t1.id = t2.id)
1979 TID Cond: (ctid = '(1,1)'::tid)
1981 TID Cond: (ctid = '(1,1)'::tid)
1984 /*+TidScan(t1) NoSeqScan(t2)*/
1985 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1995 -----------------------------------------
1997 Join Filter: (t1.id = t2.id)
1999 TID Cond: (ctid = '(1,1)'::tid)
2001 TID Cond: (ctid = '(1,1)'::tid)
2004 /*+TidScan(t1) NoIndexScan(t2)*/
2005 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2015 -----------------------------------------
2017 Join Filter: (t1.id = t2.id)
2019 TID Cond: (ctid = '(1,1)'::tid)
2021 TID Cond: (ctid = '(1,1)'::tid)
2024 /*+TidScan(t1) NoBitmapScan(t2)*/
2025 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2035 -----------------------------------------
2037 Join Filter: (t1.id = t2.id)
2039 TID Cond: (ctid = '(1,1)'::tid)
2041 TID Cond: (ctid = '(1,1)'::tid)
2044 /*+TidScan(t1) NoTidScan(t2)*/
2045 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2055 -----------------------------------------
2058 TID Cond: (ctid = '(1,1)'::tid)
2059 -> Index Scan using t2_pkey on t2
2060 Index Cond: (id = t1.id)
2061 Filter: (ctid = '(1,1)'::tid)
2065 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2074 -----------------------------------------
2076 Join Filter: (t1.id = t2.id)
2078 TID Cond: (ctid = '(1,1)'::tid)
2080 TID Cond: (ctid = '(1,1)'::tid)
2084 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2093 -----------------------------------------
2095 Join Filter: (t1.id = t2.id)
2097 TID Cond: (ctid = '(1,1)'::tid)
2099 TID Cond: (ctid = '(1,1)'::tid)
2102 /*+NoSeqScan(t1) SeqScan(t2)*/
2103 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2113 -----------------------------------------
2115 Join Filter: (t1.id = t2.id)
2117 TID Cond: (ctid = '(1,1)'::tid)
2119 Filter: (ctid = '(1,1)'::tid)
2122 /*+NoSeqScan(t1) IndexScan(t2)*/
2123 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2133 -----------------------------------------
2136 TID Cond: (ctid = '(1,1)'::tid)
2137 -> Index Scan using t2_pkey on t2
2138 Index Cond: (id = t1.id)
2139 Filter: (ctid = '(1,1)'::tid)
2142 /*+NoSeqScan(t1) BitmapScan(t2)*/
2143 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2153 ------------------------------------------
2156 TID Cond: (ctid = '(1,1)'::tid)
2157 -> Bitmap Heap Scan on t2
2158 Recheck Cond: (id = t1.id)
2159 Filter: (ctid = '(1,1)'::tid)
2160 -> Bitmap Index Scan on t2_pkey
2161 Index Cond: (id = t1.id)
2164 /*+NoSeqScan(t1) TidScan(t2)*/
2165 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2175 -----------------------------------------
2177 Join Filter: (t1.id = t2.id)
2179 TID Cond: (ctid = '(1,1)'::tid)
2181 TID Cond: (ctid = '(1,1)'::tid)
2184 /*+NoSeqScan(t1) NoSeqScan(t2)*/
2185 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2195 -----------------------------------------
2197 Join Filter: (t1.id = t2.id)
2199 TID Cond: (ctid = '(1,1)'::tid)
2201 TID Cond: (ctid = '(1,1)'::tid)
2204 /*+NoSeqScan(t1) NoIndexScan(t2)*/
2205 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2215 -----------------------------------------
2217 Join Filter: (t1.id = t2.id)
2219 TID Cond: (ctid = '(1,1)'::tid)
2221 TID Cond: (ctid = '(1,1)'::tid)
2224 /*+NoSeqScan(t1) NoBitmapScan(t2)*/
2225 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2235 -----------------------------------------
2237 Join Filter: (t1.id = t2.id)
2239 TID Cond: (ctid = '(1,1)'::tid)
2241 TID Cond: (ctid = '(1,1)'::tid)
2244 /*+NoSeqScan(t1) NoTidScan(t2)*/
2245 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2255 -----------------------------------------
2258 TID Cond: (ctid = '(1,1)'::tid)
2259 -> Index Scan using t2_pkey on t2
2260 Index Cond: (id = t1.id)
2261 Filter: (ctid = '(1,1)'::tid)
2264 /*+NoIndexScan(t1)*/
2265 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2274 -----------------------------------------
2276 Join Filter: (t1.id = t2.id)
2278 TID Cond: (ctid = '(1,1)'::tid)
2280 TID Cond: (ctid = '(1,1)'::tid)
2283 /*+NoIndexScan(t2)*/
2284 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2293 -----------------------------------------
2295 Join Filter: (t1.id = t2.id)
2297 TID Cond: (ctid = '(1,1)'::tid)
2299 TID Cond: (ctid = '(1,1)'::tid)
2302 /*+NoIndexScan(t1) SeqScan(t2)*/
2303 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2313 -----------------------------------------
2315 Join Filter: (t1.id = t2.id)
2317 TID Cond: (ctid = '(1,1)'::tid)
2319 Filter: (ctid = '(1,1)'::tid)
2322 /*+NoIndexScan(t1) IndexScan(t2)*/
2323 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2333 -----------------------------------------
2336 TID Cond: (ctid = '(1,1)'::tid)
2337 -> Index Scan using t2_pkey on t2
2338 Index Cond: (id = t1.id)
2339 Filter: (ctid = '(1,1)'::tid)
2342 /*+NoIndexScan(t1) BitmapScan(t2)*/
2343 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2353 ------------------------------------------
2356 TID Cond: (ctid = '(1,1)'::tid)
2357 -> Bitmap Heap Scan on t2
2358 Recheck Cond: (id = t1.id)
2359 Filter: (ctid = '(1,1)'::tid)
2360 -> Bitmap Index Scan on t2_pkey
2361 Index Cond: (id = t1.id)
2364 /*+NoIndexScan(t1) TidScan(t2)*/
2365 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2375 -----------------------------------------
2377 Join Filter: (t1.id = t2.id)
2379 TID Cond: (ctid = '(1,1)'::tid)
2381 TID Cond: (ctid = '(1,1)'::tid)
2384 /*+NoIndexScan(t1) NoSeqScan(t2)*/
2385 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2395 -----------------------------------------
2397 Join Filter: (t1.id = t2.id)
2399 TID Cond: (ctid = '(1,1)'::tid)
2401 TID Cond: (ctid = '(1,1)'::tid)
2404 /*+NoIndexScan(t1) NoIndexScan(t2)*/
2405 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2415 -----------------------------------------
2417 Join Filter: (t1.id = t2.id)
2419 TID Cond: (ctid = '(1,1)'::tid)
2421 TID Cond: (ctid = '(1,1)'::tid)
2424 /*+NoIndexScan(t1) NoBitmapScan(t2)*/
2425 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2435 -----------------------------------------
2437 Join Filter: (t1.id = t2.id)
2439 TID Cond: (ctid = '(1,1)'::tid)
2441 TID Cond: (ctid = '(1,1)'::tid)
2444 /*+NoIndexScan(t1) NoTidScan(t2)*/
2445 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2455 -----------------------------------------
2458 TID Cond: (ctid = '(1,1)'::tid)
2459 -> Index Scan using t2_pkey on t2
2460 Index Cond: (id = t1.id)
2461 Filter: (ctid = '(1,1)'::tid)
2464 /*+NoBitmapScan(t1)*/
2465 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2474 -----------------------------------------
2476 Join Filter: (t1.id = t2.id)
2478 TID Cond: (ctid = '(1,1)'::tid)
2480 TID Cond: (ctid = '(1,1)'::tid)
2483 /*+NoBitmapScan(t2)*/
2484 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2493 -----------------------------------------
2495 Join Filter: (t1.id = t2.id)
2497 TID Cond: (ctid = '(1,1)'::tid)
2499 TID Cond: (ctid = '(1,1)'::tid)
2502 /*+NoBitmapScan(t1) SeqScan(t2)*/
2503 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2513 -----------------------------------------
2515 Join Filter: (t1.id = t2.id)
2517 TID Cond: (ctid = '(1,1)'::tid)
2519 Filter: (ctid = '(1,1)'::tid)
2522 /*+NoBitmapScan(t1) IndexScan(t2)*/
2523 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2533 -----------------------------------------
2536 TID Cond: (ctid = '(1,1)'::tid)
2537 -> Index Scan using t2_pkey on t2
2538 Index Cond: (id = t1.id)
2539 Filter: (ctid = '(1,1)'::tid)
2542 /*+NoBitmapScan(t1) BitmapScan(t2)*/
2543 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2553 ------------------------------------------
2556 TID Cond: (ctid = '(1,1)'::tid)
2557 -> Bitmap Heap Scan on t2
2558 Recheck Cond: (id = t1.id)
2559 Filter: (ctid = '(1,1)'::tid)
2560 -> Bitmap Index Scan on t2_pkey
2561 Index Cond: (id = t1.id)
2564 /*+NoBitmapScan(t1) TidScan(t2)*/
2565 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2575 -----------------------------------------
2577 Join Filter: (t1.id = t2.id)
2579 TID Cond: (ctid = '(1,1)'::tid)
2581 TID Cond: (ctid = '(1,1)'::tid)
2584 /*+NoBitmapScan(t1) NoSeqScan(t2)*/
2585 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2595 -----------------------------------------
2597 Join Filter: (t1.id = t2.id)
2599 TID Cond: (ctid = '(1,1)'::tid)
2601 TID Cond: (ctid = '(1,1)'::tid)
2604 /*+NoBitmapScan(t1) NoIndexScan(t2)*/
2605 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2615 -----------------------------------------
2617 Join Filter: (t1.id = t2.id)
2619 TID Cond: (ctid = '(1,1)'::tid)
2621 TID Cond: (ctid = '(1,1)'::tid)
2624 /*+NoBitmapScan(t1) NoBitmapScan(t2)*/
2625 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2635 -----------------------------------------
2637 Join Filter: (t1.id = t2.id)
2639 TID Cond: (ctid = '(1,1)'::tid)
2641 TID Cond: (ctid = '(1,1)'::tid)
2644 /*+NoBitmapScan(t1) NoTidScan(t2)*/
2645 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2655 -----------------------------------------
2658 TID Cond: (ctid = '(1,1)'::tid)
2659 -> Index Scan using t2_pkey on t2
2660 Index Cond: (id = t1.id)
2661 Filter: (ctid = '(1,1)'::tid)
2665 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2674 -----------------------------------------
2677 TID Cond: (ctid = '(1,1)'::tid)
2678 -> Index Scan using t1_pkey on t1
2679 Index Cond: (id = t2.id)
2680 Filter: (ctid = '(1,1)'::tid)
2684 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2693 -----------------------------------------
2696 TID Cond: (ctid = '(1,1)'::tid)
2697 -> Index Scan using t2_pkey on t2
2698 Index Cond: (id = t1.id)
2699 Filter: (ctid = '(1,1)'::tid)
2702 /*+NoTidScan(t1) SeqScan(t2)*/
2703 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2713 ---------------------------------------
2716 Filter: (ctid = '(1,1)'::tid)
2717 -> Index Scan using t1_pkey on t1
2718 Index Cond: (id = t2.id)
2719 Filter: (ctid = '(1,1)'::tid)
2722 /*+NoTidScan(t1) IndexScan(t2)*/
2723 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2733 ---------------------------------------
2735 -> Index Scan using t2_pkey on t2
2736 Filter: (ctid = '(1,1)'::tid)
2737 -> Index Scan using t1_pkey on t1
2738 Index Cond: (id = t2.id)
2739 Filter: (ctid = '(1,1)'::tid)
2742 /*+NoTidScan(t1) BitmapScan(t2)*/
2743 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2753 ------------------------------------------
2756 Filter: (ctid = '(1,1)'::tid)
2757 -> Bitmap Heap Scan on t2
2758 Recheck Cond: (id = t1.id)
2759 Filter: (ctid = '(1,1)'::tid)
2760 -> Bitmap Index Scan on t2_pkey
2761 Index Cond: (id = t1.id)
2764 /*+NoTidScan(t1) TidScan(t2)*/
2765 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2775 -----------------------------------------
2778 TID Cond: (ctid = '(1,1)'::tid)
2779 -> Index Scan using t1_pkey on t1
2780 Index Cond: (id = t2.id)
2781 Filter: (ctid = '(1,1)'::tid)
2784 /*+NoTidScan(t1) NoSeqScan(t2)*/
2785 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2795 -----------------------------------------
2798 TID Cond: (ctid = '(1,1)'::tid)
2799 -> Index Scan using t1_pkey on t1
2800 Index Cond: (id = t2.id)
2801 Filter: (ctid = '(1,1)'::tid)
2804 /*+NoTidScan(t1) NoIndexScan(t2)*/
2805 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2815 -----------------------------------------
2818 TID Cond: (ctid = '(1,1)'::tid)
2819 -> Index Scan using t1_pkey on t1
2820 Index Cond: (id = t2.id)
2821 Filter: (ctid = '(1,1)'::tid)
2824 /*+NoTidScan(t1) NoBitmapScan(t2)*/
2825 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2835 -----------------------------------------
2838 TID Cond: (ctid = '(1,1)'::tid)
2839 -> Index Scan using t1_pkey on t1
2840 Index Cond: (id = t2.id)
2841 Filter: (ctid = '(1,1)'::tid)
2844 /*+NoTidScan(t1) NoTidScan(t2)*/
2845 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2855 ---------------------------------------
2858 Filter: (ctid = '(1,1)'::tid)
2859 -> Index Scan using t1_pkey on t1
2860 Index Cond: (id = t2.id)
2861 Filter: (ctid = '(1,1)'::tid)
2865 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;
2867 -----------------------------------------
2869 Join Filter: (t1.id = t2.id)
2871 TID Cond: (ctid = '(1,1)'::tid)
2874 TID Cond: (ctid = '(1,1)'::tid)
2878 /*+BitmapScan(t1) BitmapScan(t2)*/
2879 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;
2889 --------------------------------------------------------
2891 -> Bitmap Heap Scan on t2
2892 Recheck Cond: (id < 10)
2893 Filter: (ctid = '(1,1)'::tid)
2894 -> Bitmap Index Scan on t2_pkey
2895 Index Cond: (id < 10)
2896 -> Bitmap Heap Scan on t1
2897 Recheck Cond: ((id < 10) AND (id = t2.id))
2898 Filter: (ctid = '(1,1)'::tid)
2899 -> Bitmap Index Scan on t1_pkey
2900 Index Cond: ((id < 10) AND (id = t2.id))
2904 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2906 ------------------------------
2908 Hash Cond: (t1.id = t2.id)
2914 /*+MergeJoin(t1 t2)*/
2915 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2924 --------------------------------------
2926 Merge Cond: (t1.id = t2.id)
2927 -> Index Scan using t1_pkey on t1
2928 -> Index Scan using t2_pkey on t2
2931 /*+NestLoop(t1 t2)*/
2932 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2941 ------------------------------
2943 Hash Cond: (t1.id = t2.id)
2949 -- inherite table test
2950 SET constraint_exclusion TO off;
2951 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
2953 -----------------------------------------------------------------------------
2957 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2958 -> Seq Scan on p1_c1 p1
2959 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2960 -> Seq Scan on p1_c2 p1
2961 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2962 -> Seq Scan on p1_c3 p1
2963 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2964 -> Tid Scan on p1_c4 p1
2965 TID Cond: (ctid = '(1,1)'::tid)
2966 Filter: ((id >= 50) AND (id <= 51))
2967 -> Tid Scan on p1_c1_c1 p1
2968 TID Cond: (ctid = '(1,1)'::tid)
2969 Filter: ((id >= 50) AND (id <= 51))
2970 -> Tid Scan on p1_c1_c2 p1
2971 TID Cond: (ctid = '(1,1)'::tid)
2972 Filter: ((id >= 50) AND (id <= 51))
2973 -> Tid Scan on p1_c3_c1 p1
2974 TID Cond: (ctid = '(1,1)'::tid)
2975 Filter: ((id >= 50) AND (id <= 51))
2976 -> Tid Scan on p1_c3_c2 p1
2977 TID Cond: (ctid = '(1,1)'::tid)
2978 Filter: ((id >= 50) AND (id <= 51))
2981 SET constraint_exclusion TO on;
2982 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
2984 -----------------------------------------------------------------------------
2988 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2989 -> Seq Scan on p1_c1 p1
2990 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
2991 -> Tid Scan on p1_c1_c1 p1
2992 TID Cond: (ctid = '(1,1)'::tid)
2993 Filter: ((id >= 50) AND (id <= 51))
2994 -> Tid Scan on p1_c1_c2 p1
2995 TID Cond: (ctid = '(1,1)'::tid)
2996 Filter: ((id >= 50) AND (id <= 51))
2999 SET constraint_exclusion TO off;
3001 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3010 -----------------------------------------------------------------------------
3014 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3015 -> Seq Scan on p1_c1 p1
3016 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3017 -> Seq Scan on p1_c2 p1
3018 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3019 -> Seq Scan on p1_c3 p1
3020 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3021 -> Seq Scan on p1_c4 p1
3022 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3023 -> Seq Scan on p1_c1_c1 p1
3024 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3025 -> Seq Scan on p1_c1_c2 p1
3026 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3027 -> Seq Scan on p1_c3_c1 p1
3028 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3029 -> Seq Scan on p1_c3_c2 p1
3030 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3034 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3043 -----------------------------------------------------------
3046 -> Index Scan using p1_pkey on p1
3047 Index Cond: ((id >= 50) AND (id <= 51))
3048 Filter: (ctid = '(1,1)'::tid)
3049 -> Index Scan using p1_c1_pkey on p1_c1 p1
3050 Index Cond: ((id >= 50) AND (id <= 51))
3051 Filter: (ctid = '(1,1)'::tid)
3052 -> Index Scan using p1_c2_pkey on p1_c2 p1
3053 Index Cond: ((id >= 50) AND (id <= 51))
3054 Filter: (ctid = '(1,1)'::tid)
3055 -> Index Scan using p1_c3_pkey on p1_c3 p1
3056 Index Cond: ((id >= 50) AND (id <= 51))
3057 Filter: (ctid = '(1,1)'::tid)
3058 -> Index Scan using p1_c4_pkey on p1_c4 p1
3059 Index Cond: ((id >= 50) AND (id <= 51))
3060 Filter: (ctid = '(1,1)'::tid)
3061 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
3062 Index Cond: ((id >= 50) AND (id <= 51))
3063 Filter: (ctid = '(1,1)'::tid)
3064 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
3065 Index Cond: ((id >= 50) AND (id <= 51))
3066 Filter: (ctid = '(1,1)'::tid)
3067 -> Index Scan using p1_c3_c1_pkey on p1_c3_c1 p1
3068 Index Cond: ((id >= 50) AND (id <= 51))
3069 Filter: (ctid = '(1,1)'::tid)
3070 -> Index Scan using p1_c3_c2_pkey on p1_c3_c2 p1
3071 Index Cond: ((id >= 50) AND (id <= 51))
3072 Filter: (ctid = '(1,1)'::tid)
3076 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3085 -------------------------------------------------------------
3088 -> Bitmap Heap Scan on p1
3089 Recheck Cond: ((id >= 50) AND (id <= 51))
3090 Filter: (ctid = '(1,1)'::tid)
3091 -> Bitmap Index Scan on p1_pkey
3092 Index Cond: ((id >= 50) AND (id <= 51))
3093 -> Bitmap Heap Scan on p1_c1 p1
3094 Recheck Cond: ((id >= 50) AND (id <= 51))
3095 Filter: (ctid = '(1,1)'::tid)
3096 -> Bitmap Index Scan on p1_c1_pkey
3097 Index Cond: ((id >= 50) AND (id <= 51))
3098 -> Bitmap Heap Scan on p1_c2 p1
3099 Recheck Cond: ((id >= 50) AND (id <= 51))
3100 Filter: (ctid = '(1,1)'::tid)
3101 -> Bitmap Index Scan on p1_c2_pkey
3102 Index Cond: ((id >= 50) AND (id <= 51))
3103 -> Bitmap Heap Scan on p1_c3 p1
3104 Recheck Cond: ((id >= 50) AND (id <= 51))
3105 Filter: (ctid = '(1,1)'::tid)
3106 -> Bitmap Index Scan on p1_c3_pkey
3107 Index Cond: ((id >= 50) AND (id <= 51))
3108 -> Bitmap Heap Scan on p1_c4 p1
3109 Recheck Cond: ((id >= 50) AND (id <= 51))
3110 Filter: (ctid = '(1,1)'::tid)
3111 -> Bitmap Index Scan on p1_c4_pkey
3112 Index Cond: ((id >= 50) AND (id <= 51))
3113 -> Bitmap Heap Scan on p1_c1_c1 p1
3114 Recheck Cond: ((id >= 50) AND (id <= 51))
3115 Filter: (ctid = '(1,1)'::tid)
3116 -> Bitmap Index Scan on p1_c1_c1_pkey
3117 Index Cond: ((id >= 50) AND (id <= 51))
3118 -> Bitmap Heap Scan on p1_c1_c2 p1
3119 Recheck Cond: ((id >= 50) AND (id <= 51))
3120 Filter: (ctid = '(1,1)'::tid)
3121 -> Bitmap Index Scan on p1_c1_c2_pkey
3122 Index Cond: ((id >= 50) AND (id <= 51))
3123 -> Bitmap Heap Scan on p1_c3_c1 p1
3124 Recheck Cond: ((id >= 50) AND (id <= 51))
3125 Filter: (ctid = '(1,1)'::tid)
3126 -> Bitmap Index Scan on p1_c3_c1_pkey
3127 Index Cond: ((id >= 50) AND (id <= 51))
3128 -> Bitmap Heap Scan on p1_c3_c2 p1
3129 Recheck Cond: ((id >= 50) AND (id <= 51))
3130 Filter: (ctid = '(1,1)'::tid)
3131 -> Bitmap Index Scan on p1_c3_c2_pkey
3132 Index Cond: ((id >= 50) AND (id <= 51))
3136 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3145 ---------------------------------------------------
3149 TID Cond: (ctid = '(1,1)'::tid)
3150 Filter: ((id >= 50) AND (id <= 51))
3151 -> Tid Scan on p1_c1 p1
3152 TID Cond: (ctid = '(1,1)'::tid)
3153 Filter: ((id >= 50) AND (id <= 51))
3154 -> Tid Scan on p1_c2 p1
3155 TID Cond: (ctid = '(1,1)'::tid)
3156 Filter: ((id >= 50) AND (id <= 51))
3157 -> Tid Scan on p1_c3 p1
3158 TID Cond: (ctid = '(1,1)'::tid)
3159 Filter: ((id >= 50) AND (id <= 51))
3160 -> Tid Scan on p1_c4 p1
3161 TID Cond: (ctid = '(1,1)'::tid)
3162 Filter: ((id >= 50) AND (id <= 51))
3163 -> Tid Scan on p1_c1_c1 p1
3164 TID Cond: (ctid = '(1,1)'::tid)
3165 Filter: ((id >= 50) AND (id <= 51))
3166 -> Tid Scan on p1_c1_c2 p1
3167 TID Cond: (ctid = '(1,1)'::tid)
3168 Filter: ((id >= 50) AND (id <= 51))
3169 -> Tid Scan on p1_c3_c1 p1
3170 TID Cond: (ctid = '(1,1)'::tid)
3171 Filter: ((id >= 50) AND (id <= 51))
3172 -> Tid Scan on p1_c3_c2 p1
3173 TID Cond: (ctid = '(1,1)'::tid)
3174 Filter: ((id >= 50) AND (id <= 51))
3177 SET constraint_exclusion TO on;
3179 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3188 -----------------------------------------------------------------------------
3192 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3193 -> Seq Scan on p1_c1 p1
3194 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3195 -> Seq Scan on p1_c1_c1 p1
3196 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3197 -> Seq Scan on p1_c1_c2 p1
3198 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3202 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3211 -----------------------------------------------------------
3214 -> Index Scan using p1_pkey on p1
3215 Index Cond: ((id >= 50) AND (id <= 51))
3216 Filter: (ctid = '(1,1)'::tid)
3217 -> Index Scan using p1_c1_pkey on p1_c1 p1
3218 Index Cond: ((id >= 50) AND (id <= 51))
3219 Filter: (ctid = '(1,1)'::tid)
3220 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
3221 Index Cond: ((id >= 50) AND (id <= 51))
3222 Filter: (ctid = '(1,1)'::tid)
3223 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
3224 Index Cond: ((id >= 50) AND (id <= 51))
3225 Filter: (ctid = '(1,1)'::tid)
3229 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3238 -------------------------------------------------------------
3241 -> Bitmap Heap Scan on p1
3242 Recheck Cond: ((id >= 50) AND (id <= 51))
3243 Filter: (ctid = '(1,1)'::tid)
3244 -> Bitmap Index Scan on p1_pkey
3245 Index Cond: ((id >= 50) AND (id <= 51))
3246 -> Bitmap Heap Scan on p1_c1 p1
3247 Recheck Cond: ((id >= 50) AND (id <= 51))
3248 Filter: (ctid = '(1,1)'::tid)
3249 -> Bitmap Index Scan on p1_c1_pkey
3250 Index Cond: ((id >= 50) AND (id <= 51))
3251 -> Bitmap Heap Scan on p1_c1_c1 p1
3252 Recheck Cond: ((id >= 50) AND (id <= 51))
3253 Filter: (ctid = '(1,1)'::tid)
3254 -> Bitmap Index Scan on p1_c1_c1_pkey
3255 Index Cond: ((id >= 50) AND (id <= 51))
3256 -> Bitmap Heap Scan on p1_c1_c2 p1
3257 Recheck Cond: ((id >= 50) AND (id <= 51))
3258 Filter: (ctid = '(1,1)'::tid)
3259 -> Bitmap Index Scan on p1_c1_c2_pkey
3260 Index Cond: ((id >= 50) AND (id <= 51))
3264 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3273 ---------------------------------------------------
3277 TID Cond: (ctid = '(1,1)'::tid)
3278 Filter: ((id >= 50) AND (id <= 51))
3279 -> Tid Scan on p1_c1 p1
3280 TID Cond: (ctid = '(1,1)'::tid)
3281 Filter: ((id >= 50) AND (id <= 51))
3282 -> Tid Scan on p1_c1_c1 p1
3283 TID Cond: (ctid = '(1,1)'::tid)
3284 Filter: ((id >= 50) AND (id <= 51))
3285 -> Tid Scan on p1_c1_c2 p1
3286 TID Cond: (ctid = '(1,1)'::tid)
3287 Filter: ((id >= 50) AND (id <= 51))
3290 SET constraint_exclusion TO off;
3291 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;
3293 -----------------------------------------------------------------------------------
3295 Merge Cond: (public.p1.id = t1.id)
3297 Sort Key: public.p1.id
3300 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3301 -> Seq Scan on p1_c1 p1
3302 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3303 -> Seq Scan on p1_c2 p1
3304 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3305 -> Seq Scan on p1_c3 p1
3306 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3307 -> Tid Scan on p1_c4 p1
3308 TID Cond: (ctid = '(1,1)'::tid)
3309 Filter: ((id >= 50) AND (id <= 51))
3310 -> Tid Scan on p1_c1_c1 p1
3311 TID Cond: (ctid = '(1,1)'::tid)
3312 Filter: ((id >= 50) AND (id <= 51))
3313 -> Tid Scan on p1_c1_c2 p1
3314 TID Cond: (ctid = '(1,1)'::tid)
3315 Filter: ((id >= 50) AND (id <= 51))
3316 -> Tid Scan on p1_c3_c1 p1
3317 TID Cond: (ctid = '(1,1)'::tid)
3318 Filter: ((id >= 50) AND (id <= 51))
3319 -> Tid Scan on p1_c3_c2 p1
3320 TID Cond: (ctid = '(1,1)'::tid)
3321 Filter: ((id >= 50) AND (id <= 51))
3322 -> Index Scan using t1_pkey on t1
3323 Index Cond: (id < 10)
3326 SET constraint_exclusion TO on;
3327 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;
3329 -----------------------------------------------------------------------------------
3331 Merge Cond: (public.p1.id = t1.id)
3333 Sort Key: public.p1.id
3336 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3337 -> Seq Scan on p1_c1 p1
3338 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3339 -> Tid Scan on p1_c1_c1 p1
3340 TID Cond: (ctid = '(1,1)'::tid)
3341 Filter: ((id >= 50) AND (id <= 51))
3342 -> Tid Scan on p1_c1_c2 p1
3343 TID Cond: (ctid = '(1,1)'::tid)
3344 Filter: ((id >= 50) AND (id <= 51))
3345 -> Index Scan using t1_pkey on t1
3346 Index Cond: (id < 10)
3349 SET constraint_exclusion TO off;
3351 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;
3360 -----------------------------------------------------------------------------------
3362 Merge Cond: (public.p1.id = t1.id)
3364 Sort Key: public.p1.id
3367 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3368 -> Seq Scan on p1_c1 p1
3369 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3370 -> Seq Scan on p1_c2 p1
3371 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3372 -> Seq Scan on p1_c3 p1
3373 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3374 -> Seq Scan on p1_c4 p1
3375 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3376 -> Seq Scan on p1_c1_c1 p1
3377 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3378 -> Seq Scan on p1_c1_c2 p1
3379 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3380 -> Seq Scan on p1_c3_c1 p1
3381 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3382 -> Seq Scan on p1_c3_c2 p1
3383 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3384 -> Index Scan using t1_pkey on t1
3385 Index Cond: (id < 10)
3389 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;
3398 -----------------------------------------------------------
3400 Merge Cond: (public.p1.id = t1.id)
3402 Sort Key: public.p1.id
3403 -> Index Scan using p1_pkey on p1
3404 Index Cond: ((id >= 50) AND (id <= 51))
3405 Filter: (ctid = '(1,1)'::tid)
3406 -> Index Scan using p1_c1_pkey on p1_c1 p1
3407 Index Cond: ((id >= 50) AND (id <= 51))
3408 Filter: (ctid = '(1,1)'::tid)
3409 -> Index Scan using p1_c2_pkey on p1_c2 p1
3410 Index Cond: ((id >= 50) AND (id <= 51))
3411 Filter: (ctid = '(1,1)'::tid)
3412 -> Index Scan using p1_c3_pkey on p1_c3 p1
3413 Index Cond: ((id >= 50) AND (id <= 51))
3414 Filter: (ctid = '(1,1)'::tid)
3415 -> Index Scan using p1_c4_pkey on p1_c4 p1
3416 Index Cond: ((id >= 50) AND (id <= 51))
3417 Filter: (ctid = '(1,1)'::tid)
3418 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
3419 Index Cond: ((id >= 50) AND (id <= 51))
3420 Filter: (ctid = '(1,1)'::tid)
3421 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
3422 Index Cond: ((id >= 50) AND (id <= 51))
3423 Filter: (ctid = '(1,1)'::tid)
3424 -> Index Scan using p1_c3_c1_pkey on p1_c3_c1 p1
3425 Index Cond: ((id >= 50) AND (id <= 51))
3426 Filter: (ctid = '(1,1)'::tid)
3427 -> Index Scan using p1_c3_c2_pkey on p1_c3_c2 p1
3428 Index Cond: ((id >= 50) AND (id <= 51))
3429 Filter: (ctid = '(1,1)'::tid)
3430 -> Index Scan using t1_pkey on t1
3431 Index Cond: (id < 10)
3435 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;
3444 -------------------------------------------------------------------
3446 Merge Cond: (public.p1.id = t1.id)
3448 Sort Key: public.p1.id
3450 -> Bitmap Heap Scan on p1
3451 Recheck Cond: ((id >= 50) AND (id <= 51))
3452 Filter: (ctid = '(1,1)'::tid)
3453 -> Bitmap Index Scan on p1_pkey
3454 Index Cond: ((id >= 50) AND (id <= 51))
3455 -> Bitmap Heap Scan on p1_c1 p1
3456 Recheck Cond: ((id >= 50) AND (id <= 51))
3457 Filter: (ctid = '(1,1)'::tid)
3458 -> Bitmap Index Scan on p1_c1_pkey
3459 Index Cond: ((id >= 50) AND (id <= 51))
3460 -> Bitmap Heap Scan on p1_c2 p1
3461 Recheck Cond: ((id >= 50) AND (id <= 51))
3462 Filter: (ctid = '(1,1)'::tid)
3463 -> Bitmap Index Scan on p1_c2_pkey
3464 Index Cond: ((id >= 50) AND (id <= 51))
3465 -> Bitmap Heap Scan on p1_c3 p1
3466 Recheck Cond: ((id >= 50) AND (id <= 51))
3467 Filter: (ctid = '(1,1)'::tid)
3468 -> Bitmap Index Scan on p1_c3_pkey
3469 Index Cond: ((id >= 50) AND (id <= 51))
3470 -> Bitmap Heap Scan on p1_c4 p1
3471 Recheck Cond: ((id >= 50) AND (id <= 51))
3472 Filter: (ctid = '(1,1)'::tid)
3473 -> Bitmap Index Scan on p1_c4_pkey
3474 Index Cond: ((id >= 50) AND (id <= 51))
3475 -> Bitmap Heap Scan on p1_c1_c1 p1
3476 Recheck Cond: ((id >= 50) AND (id <= 51))
3477 Filter: (ctid = '(1,1)'::tid)
3478 -> Bitmap Index Scan on p1_c1_c1_pkey
3479 Index Cond: ((id >= 50) AND (id <= 51))
3480 -> Bitmap Heap Scan on p1_c1_c2 p1
3481 Recheck Cond: ((id >= 50) AND (id <= 51))
3482 Filter: (ctid = '(1,1)'::tid)
3483 -> Bitmap Index Scan on p1_c1_c2_pkey
3484 Index Cond: ((id >= 50) AND (id <= 51))
3485 -> Bitmap Heap Scan on p1_c3_c1 p1
3486 Recheck Cond: ((id >= 50) AND (id <= 51))
3487 Filter: (ctid = '(1,1)'::tid)
3488 -> Bitmap Index Scan on p1_c3_c1_pkey
3489 Index Cond: ((id >= 50) AND (id <= 51))
3490 -> Bitmap Heap Scan on p1_c3_c2 p1
3491 Recheck Cond: ((id >= 50) AND (id <= 51))
3492 Filter: (ctid = '(1,1)'::tid)
3493 -> Bitmap Index Scan on p1_c3_c2_pkey
3494 Index Cond: ((id >= 50) AND (id <= 51))
3495 -> Index Scan using t1_pkey on t1
3496 Index Cond: (id < 10)
3500 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;
3509 ---------------------------------------------------------
3511 Merge Cond: (public.p1.id = t1.id)
3513 Sort Key: public.p1.id
3516 TID Cond: (ctid = '(1,1)'::tid)
3517 Filter: ((id >= 50) AND (id <= 51))
3518 -> Tid Scan on p1_c1 p1
3519 TID Cond: (ctid = '(1,1)'::tid)
3520 Filter: ((id >= 50) AND (id <= 51))
3521 -> Tid Scan on p1_c2 p1
3522 TID Cond: (ctid = '(1,1)'::tid)
3523 Filter: ((id >= 50) AND (id <= 51))
3524 -> Tid Scan on p1_c3 p1
3525 TID Cond: (ctid = '(1,1)'::tid)
3526 Filter: ((id >= 50) AND (id <= 51))
3527 -> Tid Scan on p1_c4 p1
3528 TID Cond: (ctid = '(1,1)'::tid)
3529 Filter: ((id >= 50) AND (id <= 51))
3530 -> Tid Scan on p1_c1_c1 p1
3531 TID Cond: (ctid = '(1,1)'::tid)
3532 Filter: ((id >= 50) AND (id <= 51))
3533 -> Tid Scan on p1_c1_c2 p1
3534 TID Cond: (ctid = '(1,1)'::tid)
3535 Filter: ((id >= 50) AND (id <= 51))
3536 -> Tid Scan on p1_c3_c1 p1
3537 TID Cond: (ctid = '(1,1)'::tid)
3538 Filter: ((id >= 50) AND (id <= 51))
3539 -> Tid Scan on p1_c3_c2 p1
3540 TID Cond: (ctid = '(1,1)'::tid)
3541 Filter: ((id >= 50) AND (id <= 51))
3542 -> Index Scan using t1_pkey on t1
3543 Index Cond: (id < 10)
3546 /*+NestLoop(p1 t1)*/
3547 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;
3556 -----------------------------------------------------------------------------
3558 Join Filter: (public.p1.id = t1.id)
3561 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3562 -> Seq Scan on p1_c1 p1
3563 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3564 -> Seq Scan on p1_c2 p1
3565 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3566 -> Seq Scan on p1_c3 p1
3567 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3568 -> Tid Scan on p1_c4 p1
3569 TID Cond: (ctid = '(1,1)'::tid)
3570 Filter: ((id >= 50) AND (id <= 51))
3571 -> Tid Scan on p1_c1_c1 p1
3572 TID Cond: (ctid = '(1,1)'::tid)
3573 Filter: ((id >= 50) AND (id <= 51))
3574 -> Tid Scan on p1_c1_c2 p1
3575 TID Cond: (ctid = '(1,1)'::tid)
3576 Filter: ((id >= 50) AND (id <= 51))
3577 -> Tid Scan on p1_c3_c1 p1
3578 TID Cond: (ctid = '(1,1)'::tid)
3579 Filter: ((id >= 50) AND (id <= 51))
3580 -> Tid Scan on p1_c3_c2 p1
3581 TID Cond: (ctid = '(1,1)'::tid)
3582 Filter: ((id >= 50) AND (id <= 51))
3584 -> Index Scan using t1_pkey on t1
3585 Index Cond: (id < 10)
3588 /*+MergeJoin(p1 t1)*/
3589 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;
3598 -----------------------------------------------------------------------------------
3600 Merge Cond: (public.p1.id = t1.id)
3602 Sort Key: public.p1.id
3605 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3606 -> Seq Scan on p1_c1 p1
3607 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3608 -> Seq Scan on p1_c2 p1
3609 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3610 -> Seq Scan on p1_c3 p1
3611 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3612 -> Tid Scan on p1_c4 p1
3613 TID Cond: (ctid = '(1,1)'::tid)
3614 Filter: ((id >= 50) AND (id <= 51))
3615 -> Tid Scan on p1_c1_c1 p1
3616 TID Cond: (ctid = '(1,1)'::tid)
3617 Filter: ((id >= 50) AND (id <= 51))
3618 -> Tid Scan on p1_c1_c2 p1
3619 TID Cond: (ctid = '(1,1)'::tid)
3620 Filter: ((id >= 50) AND (id <= 51))
3621 -> Tid Scan on p1_c3_c1 p1
3622 TID Cond: (ctid = '(1,1)'::tid)
3623 Filter: ((id >= 50) AND (id <= 51))
3624 -> Tid Scan on p1_c3_c2 p1
3625 TID Cond: (ctid = '(1,1)'::tid)
3626 Filter: ((id >= 50) AND (id <= 51))
3627 -> Index Scan using t1_pkey on t1
3628 Index Cond: (id < 10)
3631 /*+HashJoin(p1 t1)*/
3632 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;
3641 -----------------------------------------------------------------------------
3643 Hash Cond: (public.p1.id = t1.id)
3646 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3647 -> Seq Scan on p1_c1 p1
3648 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3649 -> Seq Scan on p1_c2 p1
3650 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3651 -> Seq Scan on p1_c3 p1
3652 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3653 -> Tid Scan on p1_c4 p1
3654 TID Cond: (ctid = '(1,1)'::tid)
3655 Filter: ((id >= 50) AND (id <= 51))
3656 -> Tid Scan on p1_c1_c1 p1
3657 TID Cond: (ctid = '(1,1)'::tid)
3658 Filter: ((id >= 50) AND (id <= 51))
3659 -> Tid Scan on p1_c1_c2 p1
3660 TID Cond: (ctid = '(1,1)'::tid)
3661 Filter: ((id >= 50) AND (id <= 51))
3662 -> Tid Scan on p1_c3_c1 p1
3663 TID Cond: (ctid = '(1,1)'::tid)
3664 Filter: ((id >= 50) AND (id <= 51))
3665 -> Tid Scan on p1_c3_c2 p1
3666 TID Cond: (ctid = '(1,1)'::tid)
3667 Filter: ((id >= 50) AND (id <= 51))
3669 -> Index Scan using t1_pkey on t1
3670 Index Cond: (id < 10)
3673 SET constraint_exclusion TO on;
3675 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;
3684 -----------------------------------------------------------------------------------
3686 Merge Cond: (public.p1.id = t1.id)
3688 Sort Key: public.p1.id
3691 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3692 -> Seq Scan on p1_c1 p1
3693 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3694 -> Seq Scan on p1_c1_c1 p1
3695 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3696 -> Seq Scan on p1_c1_c2 p1
3697 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3698 -> Index Scan using t1_pkey on t1
3699 Index Cond: (id < 10)
3703 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;
3712 -----------------------------------------------------------
3714 Merge Cond: (public.p1.id = t1.id)
3716 Sort Key: public.p1.id
3717 -> Index Scan using p1_pkey on p1
3718 Index Cond: ((id >= 50) AND (id <= 51))
3719 Filter: (ctid = '(1,1)'::tid)
3720 -> Index Scan using p1_c1_pkey on p1_c1 p1
3721 Index Cond: ((id >= 50) AND (id <= 51))
3722 Filter: (ctid = '(1,1)'::tid)
3723 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
3724 Index Cond: ((id >= 50) AND (id <= 51))
3725 Filter: (ctid = '(1,1)'::tid)
3726 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
3727 Index Cond: ((id >= 50) AND (id <= 51))
3728 Filter: (ctid = '(1,1)'::tid)
3729 -> Index Scan using t1_pkey on t1
3730 Index Cond: (id < 10)
3734 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;
3743 -------------------------------------------------------------------
3745 Merge Cond: (public.p1.id = t1.id)
3747 Sort Key: public.p1.id
3749 -> Bitmap Heap Scan on p1
3750 Recheck Cond: ((id >= 50) AND (id <= 51))
3751 Filter: (ctid = '(1,1)'::tid)
3752 -> Bitmap Index Scan on p1_pkey
3753 Index Cond: ((id >= 50) AND (id <= 51))
3754 -> Bitmap Heap Scan on p1_c1 p1
3755 Recheck Cond: ((id >= 50) AND (id <= 51))
3756 Filter: (ctid = '(1,1)'::tid)
3757 -> Bitmap Index Scan on p1_c1_pkey
3758 Index Cond: ((id >= 50) AND (id <= 51))
3759 -> Bitmap Heap Scan on p1_c1_c1 p1
3760 Recheck Cond: ((id >= 50) AND (id <= 51))
3761 Filter: (ctid = '(1,1)'::tid)
3762 -> Bitmap Index Scan on p1_c1_c1_pkey
3763 Index Cond: ((id >= 50) AND (id <= 51))
3764 -> Bitmap Heap Scan on p1_c1_c2 p1
3765 Recheck Cond: ((id >= 50) AND (id <= 51))
3766 Filter: (ctid = '(1,1)'::tid)
3767 -> Bitmap Index Scan on p1_c1_c2_pkey
3768 Index Cond: ((id >= 50) AND (id <= 51))
3769 -> Index Scan using t1_pkey on t1
3770 Index Cond: (id < 10)
3774 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;
3783 ---------------------------------------------------------
3785 Merge Cond: (public.p1.id = t1.id)
3787 Sort Key: public.p1.id
3790 TID Cond: (ctid = '(1,1)'::tid)
3791 Filter: ((id >= 50) AND (id <= 51))
3792 -> Tid Scan on p1_c1 p1
3793 TID Cond: (ctid = '(1,1)'::tid)
3794 Filter: ((id >= 50) AND (id <= 51))
3795 -> Tid Scan on p1_c1_c1 p1
3796 TID Cond: (ctid = '(1,1)'::tid)
3797 Filter: ((id >= 50) AND (id <= 51))
3798 -> Tid Scan on p1_c1_c2 p1
3799 TID Cond: (ctid = '(1,1)'::tid)
3800 Filter: ((id >= 50) AND (id <= 51))
3801 -> Index Scan using t1_pkey on t1
3802 Index Cond: (id < 10)
3805 /*+NestLoop(p1 t1)*/
3806 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;
3815 -----------------------------------------------------------------------------------
3817 Join Filter: (public.p1.id = t1.id)
3818 -> Index Scan using t1_pkey on t1
3819 Index Cond: (id < 10)
3823 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3824 -> Seq Scan on p1_c1 p1
3825 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3826 -> Tid Scan on p1_c1_c1 p1
3827 TID Cond: (ctid = '(1,1)'::tid)
3828 Filter: ((id >= 50) AND (id <= 51))
3829 -> Tid Scan on p1_c1_c2 p1
3830 TID Cond: (ctid = '(1,1)'::tid)
3831 Filter: ((id >= 50) AND (id <= 51))
3834 /*+MergeJoin(p1 t1)*/
3835 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;
3844 -----------------------------------------------------------------------------------
3846 Merge Cond: (public.p1.id = t1.id)
3848 Sort Key: public.p1.id
3851 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3852 -> Seq Scan on p1_c1 p1
3853 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3854 -> Tid Scan on p1_c1_c1 p1
3855 TID Cond: (ctid = '(1,1)'::tid)
3856 Filter: ((id >= 50) AND (id <= 51))
3857 -> Tid Scan on p1_c1_c2 p1
3858 TID Cond: (ctid = '(1,1)'::tid)
3859 Filter: ((id >= 50) AND (id <= 51))
3860 -> Index Scan using t1_pkey on t1
3861 Index Cond: (id < 10)
3864 /*+HashJoin(p1 t1)*/
3865 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;
3874 -----------------------------------------------------------------------------------
3876 Hash Cond: (t1.id = public.p1.id)
3877 -> Index Scan using t1_pkey on t1
3878 Index Cond: (id < 10)
3882 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3883 -> Seq Scan on p1_c1 p1
3884 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3885 -> Tid Scan on p1_c1_c1 p1
3886 TID Cond: (ctid = '(1,1)'::tid)
3887 Filter: ((id >= 50) AND (id <= 51))
3888 -> Tid Scan on p1_c1_c2 p1
3889 TID Cond: (ctid = '(1,1)'::tid)
3890 Filter: ((id >= 50) AND (id <= 51))
3893 SET constraint_exclusion TO off;
3894 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3896 -----------------------------------------------------------------
3898 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3901 SET constraint_exclusion TO on;
3902 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3904 -----------------------------------------------------------------
3906 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3909 SET constraint_exclusion TO off;
3911 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3920 -----------------------------------------------------------------
3922 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3926 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3935 -------------------------------------------
3936 Index Scan using p1_pkey on p1
3937 Index Cond: ((id >= 50) AND (id <= 51))
3938 Filter: (ctid = '(1,1)'::tid)
3942 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3951 -------------------------------------------------
3952 Bitmap Heap Scan on p1
3953 Recheck Cond: ((id >= 50) AND (id <= 51))
3954 Filter: (ctid = '(1,1)'::tid)
3955 -> Bitmap Index Scan on p1_pkey
3956 Index Cond: ((id >= 50) AND (id <= 51))
3960 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3969 ---------------------------------------
3971 TID Cond: (ctid = '(1,1)'::tid)
3972 Filter: ((id >= 50) AND (id <= 51))
3975 /*+NestLoop(p1 t1)*/
3976 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;
3985 -----------------------------------------------------------------------
3988 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3989 -> Index Scan using t1_pkey on t1
3990 Index Cond: ((id < 10) AND (id = p1.id))
3993 /*+MergeJoin(p1 t1)*/
3994 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;
4003 -----------------------------------------------------------------------------
4005 Merge Cond: (p1.id = t1.id)
4009 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4010 -> Index Scan using t1_pkey on t1
4011 Index Cond: (id < 10)
4014 /*+HashJoin(p1 t1)*/
4015 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;
4024 -----------------------------------------------------------------------------
4026 Hash Cond: (t1.id = p1.id)
4027 -> Index Scan using t1_pkey on t1
4028 Index Cond: (id < 10)
4031 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4034 SET constraint_exclusion TO on;
4036 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4045 -----------------------------------------------------------------
4047 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4051 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4060 -------------------------------------------
4061 Index Scan using p1_pkey on p1
4062 Index Cond: ((id >= 50) AND (id <= 51))
4063 Filter: (ctid = '(1,1)'::tid)
4067 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4076 -------------------------------------------------
4077 Bitmap Heap Scan on p1
4078 Recheck Cond: ((id >= 50) AND (id <= 51))
4079 Filter: (ctid = '(1,1)'::tid)
4080 -> Bitmap Index Scan on p1_pkey
4081 Index Cond: ((id >= 50) AND (id <= 51))
4085 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4094 ---------------------------------------
4096 TID Cond: (ctid = '(1,1)'::tid)
4097 Filter: ((id >= 50) AND (id <= 51))
4100 /*+NestLoop(p1 t1)*/
4101 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;
4110 -----------------------------------------------------------------------
4113 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4114 -> Index Scan using t1_pkey on t1
4115 Index Cond: ((id < 10) AND (id = p1.id))
4118 /*+MergeJoin(p1 t1)*/
4119 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;
4128 -----------------------------------------------------------------------------
4130 Merge Cond: (p1.id = t1.id)
4134 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4135 -> Index Scan using t1_pkey on t1
4136 Index Cond: (id < 10)
4139 /*+HashJoin(p1 t1)*/
4140 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;
4149 -----------------------------------------------------------------------------
4151 Hash Cond: (t1.id = p1.id)
4152 -> Index Scan using t1_pkey on t1
4153 Index Cond: (id < 10)
4156 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4159 SET constraint_exclusion TO off;
4160 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 -----------------------------------------------------------------------
4165 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4166 -> Index Scan using t1_pkey on t1
4167 Index Cond: ((id < 10) AND (id = p1.id))
4170 SET constraint_exclusion TO on;
4171 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;
4173 -----------------------------------------------------------------------
4176 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4177 -> Index Scan using t1_pkey on t1
4178 Index Cond: ((id < 10) AND (id = p1.id))
4181 SET constraint_exclusion TO off;
4183 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;
4192 -----------------------------------------------------------------------
4195 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4196 -> Index Scan using t1_pkey on t1
4197 Index Cond: ((id < 10) AND (id = p1.id))
4201 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;
4210 --------------------------------------------------
4212 -> Index Scan using p1_pkey on p1
4213 Index Cond: ((id >= 50) AND (id <= 51))
4214 Filter: (ctid = '(1,1)'::tid)
4215 -> Index Scan using t1_pkey on t1
4216 Index Cond: ((id < 10) AND (id = p1.id))
4220 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;
4229 -------------------------------------------------------
4231 -> Bitmap Heap Scan on p1
4232 Recheck Cond: ((id >= 50) AND (id <= 51))
4233 Filter: (ctid = '(1,1)'::tid)
4234 -> Bitmap Index Scan on p1_pkey
4235 Index Cond: ((id >= 50) AND (id <= 51))
4236 -> Index Scan using t1_pkey on t1
4237 Index Cond: ((id < 10) AND (id = p1.id))
4241 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;
4250 --------------------------------------------------
4253 TID Cond: (ctid = '(1,1)'::tid)
4254 Filter: ((id >= 50) AND (id <= 51))
4255 -> Index Scan using t1_pkey on t1
4256 Index Cond: ((id < 10) AND (id = p1.id))
4259 SET constraint_exclusion TO on;
4261 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;
4270 -----------------------------------------------------------------------
4273 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4274 -> Index Scan using t1_pkey on t1
4275 Index Cond: ((id < 10) AND (id = p1.id))
4279 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;
4288 --------------------------------------------------
4290 -> Index Scan using p1_pkey on p1
4291 Index Cond: ((id >= 50) AND (id <= 51))
4292 Filter: (ctid = '(1,1)'::tid)
4293 -> Index Scan using t1_pkey on t1
4294 Index Cond: ((id < 10) AND (id = p1.id))
4298 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;
4307 -------------------------------------------------------
4309 -> Bitmap Heap Scan on p1
4310 Recheck Cond: ((id >= 50) AND (id <= 51))
4311 Filter: (ctid = '(1,1)'::tid)
4312 -> Bitmap Index Scan on p1_pkey
4313 Index Cond: ((id >= 50) AND (id <= 51))
4314 -> Index Scan using t1_pkey on t1
4315 Index Cond: ((id < 10) AND (id = p1.id))
4319 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;
4328 --------------------------------------------------
4331 TID Cond: (ctid = '(1,1)'::tid)
4332 Filter: ((id >= 50) AND (id <= 51))
4333 -> Index Scan using t1_pkey on t1
4334 Index Cond: ((id < 10) AND (id = p1.id))
4338 /*+SeqScan("""t1 ) ")IndexScan("t 2 """)HashJoin("""t1 ) "T3"t 2 """)Leading("""t1 ) "T3"t 2 """)Set(application_name"a a a"" a A")*/
4339 EXPLAIN (COSTS false) SELECT * FROM t1 """t1 ) ", t2 "t 2 """, t3 "T3" WHERE """t1 ) ".id = "t 2 """.id AND """t1 ) ".id = "T3".id;
4344 HashJoin("""t1 ) " T3 "t 2 """)
4345 Leading("""t1 ) " T3 "t 2 """)
4346 Set(application_name "a a a"" a A")
4352 ---------------------------------------------------------
4354 Hash Cond: ("t 2 """.id = """t1 ) ".id)
4355 -> Index Scan using t2_pkey on t2 "t 2 """
4358 Hash Cond: ("""t1 ) ".id = "T3".id)
4359 -> Seq Scan on t1 """t1 ) "
4361 -> Seq Scan on t3 "T3"
4364 -- duplicate hint test
4365 /*+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)*/
4366 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
4367 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)"
4368 DETAIL: Conflict scan method hint.
4369 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)"
4370 DETAIL: Conflict scan method hint.
4371 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)"
4372 DETAIL: Conflict scan method hint.
4373 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)"
4374 DETAIL: Conflict scan method hint.
4375 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)"
4376 DETAIL: Conflict scan method hint.
4377 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)"
4378 DETAIL: Conflict scan method hint.
4379 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)"
4380 DETAIL: Duplicate join method hint.
4381 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)"
4382 DETAIL: Duplicate join method hint.
4383 INFO: hint syntax error at or near "Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)"
4384 DETAIL: Duplicate set hint.
4385 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)"
4386 DETAIL: Duplicate leading hint.
4393 Set(enable_mergejoin on)
4394 Set(enable_seqscan on)
4406 Set(enable_seqscan off)
4410 -----------------------------------------------
4412 Merge Cond: (t1.id = t2.id)
4416 TID Cond: (ctid = '(1,1)'::tid)
4420 TID Cond: (ctid = '(1,1)'::tid)
4423 -- sub query Leading hint test
4424 SET from_collapse_limit TO 100;
4425 SET geqo_threshold TO 100;
4426 EXPLAIN (COSTS false)
4428 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
4431 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
4432 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4433 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
4434 ) 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 = (
4435 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
4438 -------------------------------------------------------------------------
4443 Merge Cond: (t1_5.id = t3_5.id)
4445 Merge Cond: (t1_5.id = t2_5.id)
4446 -> Index Scan using t1_pkey on t1 t1_5
4447 -> Index Scan using t2_pkey on t2 t2_5
4450 -> Seq Scan on t3 t3_5
4451 InitPlan 2 (returns $1)
4454 Merge Cond: (t1_2.id = t3_2.id)
4456 Merge Cond: (t1_2.id = t2_2.id)
4457 -> Index Scan using t1_pkey on t1 t1_2
4458 -> Index Scan using t2_pkey on t2 t2_2
4461 -> Seq Scan on t3 t3_2
4462 InitPlan 3 (returns $2)
4465 Merge Cond: (t1_4.id = t3_4.id)
4467 Merge Cond: (t1_4.id = t2_4.id)
4468 -> Index Scan using t1_pkey on t1 t1_4
4469 -> Index Scan using t2_pkey on t2 t2_4
4472 -> Seq Scan on t3 t3_4
4478 -> Index Scan using t1_pkey on t1 t1_1
4479 Index Cond: (id = $2)
4480 -> Seq Scan on t3 t3_1
4482 -> Index Scan using t2_pkey on t2 t2_1
4483 Index Cond: (id = $2)
4484 -> Index Scan using t1_pkey on t1 t1_3
4485 Index Cond: (id = $2)
4486 -> Index Scan using t2_pkey on t2 t2_3
4487 Index Cond: (id = $2)
4488 -> Seq Scan on t3 t3_3
4494 /*+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)*/
4495 EXPLAIN (COSTS false)
4497 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
4500 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
4501 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4502 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
4503 ) 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 = (
4504 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
4510 MergeJoin(t1_3 t3_3)
4518 -------------------------------------------------------------------------
4523 Merge Cond: (t1_5.id = t3_5.id)
4525 -> Index Scan using t2_pkey on t2 t2_5
4526 -> Index Scan using t1_pkey on t1 t1_5
4527 Index Cond: (id = t2_5.id)
4530 -> Seq Scan on t3 t3_5
4531 InitPlan 2 (returns $2)
4534 Merge Cond: (t1_2.id = t3_2.id)
4536 -> Index Scan using t2_pkey on t2 t2_2
4537 -> Index Scan using t1_pkey on t1 t1_2
4538 Index Cond: (id = t2_2.id)
4541 -> Seq Scan on t3 t3_2
4542 InitPlan 3 (returns $3)
4545 Merge Cond: (t1_4.id = t3_4.id)
4547 -> Index Scan using t2_pkey on t2 t2_4
4548 -> Index Scan using t1_pkey on t1 t1_4
4549 Index Cond: (id = t2_4.id)
4552 -> Seq Scan on t3 t3_4
4558 -> Index Scan using t2_pkey on t2 t2_1
4559 Index Cond: (id = $3)
4560 -> Seq Scan on t3 t3_1
4562 -> Index Scan using t1_pkey on t1 t1_1
4563 Index Cond: (id = $3)
4564 -> Index Scan using t1_pkey on t1 t1_3
4565 Index Cond: (id = $3)
4566 -> Index Scan using t2_pkey on t2 t2_3
4567 Index Cond: (id = $3)
4568 -> Seq Scan on t3 t3_3
4574 /*+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)*/
4575 EXPLAIN (COSTS false)
4577 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
4580 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
4581 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4582 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
4583 ) 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 = (
4584 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
4590 MergeJoin(t1_3 t3_3)
4594 Leading(a t1_1 t1_2 t1_4 t1_5)
4599 -------------------------------------------------------------------------
4604 Merge Cond: (t1_5.id = t3_5.id)
4606 -> Index Scan using t2_pkey on t2 t2_5
4607 -> Index Scan using t1_pkey on t1 t1_5
4608 Index Cond: (id = t2_5.id)
4611 -> Seq Scan on t3 t3_5
4612 InitPlan 2 (returns $2)
4615 Merge Cond: (t1_2.id = t3_2.id)
4617 -> Index Scan using t2_pkey on t2 t2_2
4618 -> Index Scan using t1_pkey on t1 t1_2
4619 Index Cond: (id = t2_2.id)
4622 -> Seq Scan on t3 t3_2
4623 InitPlan 3 (returns $3)
4626 Merge Cond: (t1_4.id = t3_4.id)
4628 -> Index Scan using t2_pkey on t2 t2_4
4629 -> Index Scan using t1_pkey on t1 t1_4
4630 Index Cond: (id = t2_4.id)
4633 -> Seq Scan on t3 t3_4
4639 -> Index Scan using t2_pkey on t2 t2_1
4640 Index Cond: (id = $3)
4641 -> Seq Scan on t3 t3_1
4643 -> Index Scan using t1_pkey on t1 t1_1
4644 Index Cond: (id = $3)
4645 -> Index Scan using t1_pkey on t1 t1_3
4646 Index Cond: (id = $3)
4647 -> Index Scan using t2_pkey on t2 t2_3
4648 Index Cond: (id = $3)
4649 -> Seq Scan on t3 t3_3
4655 /*+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)*/
4656 EXPLAIN (COSTS false)
4658 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
4661 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
4662 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4663 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
4664 ) 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 = (
4665 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
4669 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)
4673 MergeJoin(t1_3 t3_3)
4680 -------------------------------------------------------------------
4685 Merge Cond: (t2_5.id = t1_5.id)
4687 Merge Cond: (t2_5.id = t3_5.id)
4688 -> Index Scan using t2_pkey on t2 t2_5
4691 -> Seq Scan on t3 t3_5
4692 -> Index Scan using t1_pkey on t1 t1_5
4693 InitPlan 2 (returns $1)
4696 Merge Cond: (t2_2.id = t1_2.id)
4698 Merge Cond: (t2_2.id = t3_2.id)
4699 -> Index Scan using t2_pkey on t2 t2_2
4702 -> Seq Scan on t3 t3_2
4703 -> Index Scan using t1_pkey on t1 t1_2
4704 InitPlan 3 (returns $2)
4707 Merge Cond: (t2_4.id = t1_4.id)
4709 Merge Cond: (t2_4.id = t3_4.id)
4710 -> Index Scan using t2_pkey on t2 t2_4
4713 -> Seq Scan on t3 t3_4
4714 -> Index Scan using t1_pkey on t1 t1_4
4720 -> Seq Scan on t3 t3_3
4724 -> Index Scan using t2_pkey on t2 t2_3
4725 Index Cond: (id = $2)
4726 -> Index Scan using t1_pkey on t1 t1_3
4727 Index Cond: (id = $2)
4728 -> Seq Scan on t3 t3_1
4730 -> Index Scan using t2_pkey on t2 t2_1
4731 Index Cond: (id = $2)
4732 -> Index Scan using t1_pkey on t1 t1_1
4733 Index Cond: (id = $2)
4736 SET from_collapse_limit TO 1;
4737 EXPLAIN (COSTS false)
4739 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
4742 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
4743 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4744 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
4745 ) 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 = (
4746 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
4749 ---------------------------------------------------------------
4754 Merge Cond: (t1_5.id = t3_5.id)
4756 Merge Cond: (t1_5.id = t2_5.id)
4757 -> Index Scan using t1_pkey on t1 t1_5
4758 -> Index Scan using t2_pkey on t2 t2_5
4761 -> Seq Scan on t3 t3_5
4762 InitPlan 2 (returns $1)
4765 Merge Cond: (t1_2.id = t3_2.id)
4767 Merge Cond: (t1_2.id = t2_2.id)
4768 -> Index Scan using t1_pkey on t1 t1_2
4769 -> Index Scan using t2_pkey on t2 t2_2
4772 -> Seq Scan on t3 t3_2
4773 InitPlan 3 (returns $2)
4776 Merge Cond: (t1_4.id = t3_4.id)
4778 Merge Cond: (t1_4.id = t2_4.id)
4779 -> Index Scan using t1_pkey on t1 t1_4
4780 -> Index Scan using t2_pkey on t2 t2_4
4783 -> Seq Scan on t3 t3_4
4787 -> Index Scan using t1_pkey on t1 t1_1
4788 Index Cond: (id = $2)
4789 -> Seq Scan on t3 t3_1
4791 -> Index Scan using t2_pkey on t2 t2_1
4792 Index Cond: (id = $2)
4795 -> Index Scan using t1_pkey on t1 t1_3
4796 Index Cond: (id = $2)
4797 -> Seq Scan on t3 t3_3
4799 -> Index Scan using t2_pkey on t2 t2_3
4800 Index Cond: (id = $2)
4805 /*+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)*/
4806 EXPLAIN (COSTS false)
4808 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
4811 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
4812 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4813 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
4814 ) 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 = (
4815 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
4821 MergeJoin(t1_3 t3_3)
4829 ---------------------------------------------------------------
4834 Merge Cond: (t1_5.id = t3_5.id)
4836 -> Index Scan using t2_pkey on t2 t2_5
4837 -> Index Scan using t1_pkey on t1 t1_5
4838 Index Cond: (id = t2_5.id)
4841 -> Seq Scan on t3 t3_5
4842 InitPlan 2 (returns $2)
4845 Merge Cond: (t1_2.id = t3_2.id)
4847 -> Index Scan using t2_pkey on t2 t2_2
4848 -> Index Scan using t1_pkey on t1 t1_2
4849 Index Cond: (id = t2_2.id)
4852 -> Seq Scan on t3 t3_2
4853 InitPlan 3 (returns $3)
4856 Merge Cond: (t1_4.id = t3_4.id)
4858 -> Index Scan using t2_pkey on t2 t2_4
4859 -> Index Scan using t1_pkey on t1 t1_4
4860 Index Cond: (id = t2_4.id)
4863 -> Seq Scan on t3 t3_4
4867 -> Index Scan using t2_pkey on t2 t2_1
4868 Index Cond: (id = $3)
4869 -> Seq Scan on t3 t3_1
4871 -> Index Scan using t1_pkey on t1 t1_1
4872 Index Cond: (id = $3)
4875 -> Index Scan using t2_pkey on t2 t2_3
4876 Index Cond: (id = $3)
4877 -> Seq Scan on t3 t3_3
4879 -> Index Scan using t1_pkey on t1 t1_3
4880 Index Cond: (id = $3)
4885 /*+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)*/
4886 EXPLAIN (COSTS false)
4888 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
4891 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
4892 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4893 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
4894 ) 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 = (
4895 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
4901 MergeJoin(t1_3 t3_3)
4905 Leading(a t1_1 t1_2 t1_4 t1_5)
4910 ---------------------------------------------------------------
4915 Merge Cond: (t1_5.id = t3_5.id)
4917 -> Index Scan using t2_pkey on t2 t2_5
4918 -> Index Scan using t1_pkey on t1 t1_5
4919 Index Cond: (id = t2_5.id)
4922 -> Seq Scan on t3 t3_5
4923 InitPlan 2 (returns $2)
4926 Merge Cond: (t1_2.id = t3_2.id)
4928 -> Index Scan using t2_pkey on t2 t2_2
4929 -> Index Scan using t1_pkey on t1 t1_2
4930 Index Cond: (id = t2_2.id)
4933 -> Seq Scan on t3 t3_2
4934 InitPlan 3 (returns $3)
4937 Merge Cond: (t1_4.id = t3_4.id)
4939 -> Index Scan using t2_pkey on t2 t2_4
4940 -> Index Scan using t1_pkey on t1 t1_4
4941 Index Cond: (id = t2_4.id)
4944 -> Seq Scan on t3 t3_4
4948 -> Index Scan using t2_pkey on t2 t2_1
4949 Index Cond: (id = $3)
4950 -> Seq Scan on t3 t3_1
4952 -> Index Scan using t1_pkey on t1 t1_1
4953 Index Cond: (id = $3)
4956 -> Index Scan using t2_pkey on t2 t2_3
4957 Index Cond: (id = $3)
4958 -> Seq Scan on t3 t3_3
4960 -> Index Scan using t1_pkey on t1 t1_3
4961 Index Cond: (id = $3)
4966 /*+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)*/
4967 EXPLAIN (COSTS false)
4969 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
4972 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
4973 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4974 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
4975 ) 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 = (
4976 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
4980 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)
4984 MergeJoin(t1_3 t3_3)
4991 -------------------------------------------------------------------------
4996 Merge Cond: (t2_5.id = t1_5.id)
4998 Merge Cond: (t2_5.id = t3_5.id)
4999 -> Index Scan using t2_pkey on t2 t2_5
5002 -> Seq Scan on t3 t3_5
5003 -> Index Scan using t1_pkey on t1 t1_5
5004 InitPlan 2 (returns $1)
5007 Merge Cond: (t2_2.id = t1_2.id)
5009 Merge Cond: (t2_2.id = t3_2.id)
5010 -> Index Scan using t2_pkey on t2 t2_2
5013 -> Seq Scan on t3 t3_2
5014 -> Index Scan using t1_pkey on t1 t1_2
5015 InitPlan 3 (returns $2)
5018 Merge Cond: (t2_4.id = t1_4.id)
5020 Merge Cond: (t2_4.id = t3_4.id)
5021 -> Index Scan using t2_pkey on t2 t2_4
5024 -> Seq Scan on t3 t3_4
5025 -> Index Scan using t1_pkey on t1 t1_4
5031 -> Index Scan using t2_pkey on t2 t2_3
5032 Index Cond: (id = $2)
5033 -> Seq Scan on t3 t3_3
5035 -> Index Scan using t1_pkey on t1 t1_3
5036 Index Cond: (id = $2)
5039 -> Seq Scan on t3 t3_1
5041 -> Index Scan using t2_pkey on t2 t2_1
5042 Index Cond: (id = $2)
5043 -> Index Scan using t1_pkey on t1 t1_1
5044 Index Cond: (id = $2)