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 SET constraint_exclusion TO on;
3548 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;
3557 -----------------------------------------------------------------------------------
3559 Merge Cond: (public.p1.id = t1.id)
3561 Sort Key: public.p1.id
3564 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3565 -> Seq Scan on p1_c1 p1
3566 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3567 -> Seq Scan on p1_c1_c1 p1
3568 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3569 -> Seq Scan on p1_c1_c2 p1
3570 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3571 -> Index Scan using t1_pkey on t1
3572 Index Cond: (id < 10)
3576 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;
3585 -----------------------------------------------------------
3587 Merge Cond: (public.p1.id = t1.id)
3589 Sort Key: public.p1.id
3590 -> Index Scan using p1_pkey on p1
3591 Index Cond: ((id >= 50) AND (id <= 51))
3592 Filter: (ctid = '(1,1)'::tid)
3593 -> Index Scan using p1_c1_pkey on p1_c1 p1
3594 Index Cond: ((id >= 50) AND (id <= 51))
3595 Filter: (ctid = '(1,1)'::tid)
3596 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
3597 Index Cond: ((id >= 50) AND (id <= 51))
3598 Filter: (ctid = '(1,1)'::tid)
3599 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
3600 Index Cond: ((id >= 50) AND (id <= 51))
3601 Filter: (ctid = '(1,1)'::tid)
3602 -> Index Scan using t1_pkey on t1
3603 Index Cond: (id < 10)
3607 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;
3616 -------------------------------------------------------------------
3618 Merge Cond: (public.p1.id = t1.id)
3620 Sort Key: public.p1.id
3622 -> Bitmap Heap Scan on p1
3623 Recheck Cond: ((id >= 50) AND (id <= 51))
3624 Filter: (ctid = '(1,1)'::tid)
3625 -> Bitmap Index Scan on p1_pkey
3626 Index Cond: ((id >= 50) AND (id <= 51))
3627 -> Bitmap Heap Scan on p1_c1 p1
3628 Recheck Cond: ((id >= 50) AND (id <= 51))
3629 Filter: (ctid = '(1,1)'::tid)
3630 -> Bitmap Index Scan on p1_c1_pkey
3631 Index Cond: ((id >= 50) AND (id <= 51))
3632 -> Bitmap Heap Scan on p1_c1_c1 p1
3633 Recheck Cond: ((id >= 50) AND (id <= 51))
3634 Filter: (ctid = '(1,1)'::tid)
3635 -> Bitmap Index Scan on p1_c1_c1_pkey
3636 Index Cond: ((id >= 50) AND (id <= 51))
3637 -> Bitmap Heap Scan on p1_c1_c2 p1
3638 Recheck Cond: ((id >= 50) AND (id <= 51))
3639 Filter: (ctid = '(1,1)'::tid)
3640 -> Bitmap Index Scan on p1_c1_c2_pkey
3641 Index Cond: ((id >= 50) AND (id <= 51))
3642 -> Index Scan using t1_pkey on t1
3643 Index Cond: (id < 10)
3647 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;
3656 ---------------------------------------------------------
3658 Merge Cond: (public.p1.id = t1.id)
3660 Sort Key: public.p1.id
3663 TID Cond: (ctid = '(1,1)'::tid)
3664 Filter: ((id >= 50) AND (id <= 51))
3665 -> Tid Scan on p1_c1 p1
3666 TID Cond: (ctid = '(1,1)'::tid)
3667 Filter: ((id >= 50) AND (id <= 51))
3668 -> Tid Scan on p1_c1_c1 p1
3669 TID Cond: (ctid = '(1,1)'::tid)
3670 Filter: ((id >= 50) AND (id <= 51))
3671 -> Tid Scan on p1_c1_c2 p1
3672 TID Cond: (ctid = '(1,1)'::tid)
3673 Filter: ((id >= 50) AND (id <= 51))
3674 -> Index Scan using t1_pkey on t1
3675 Index Cond: (id < 10)
3678 SET constraint_exclusion TO off;
3679 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3681 -----------------------------------------------------------------
3683 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3686 SET constraint_exclusion TO on;
3687 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3689 -----------------------------------------------------------------
3691 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3694 SET constraint_exclusion TO off;
3696 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3705 -----------------------------------------------------------------
3707 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3711 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3720 -------------------------------------------
3721 Index Scan using p1_pkey on p1
3722 Index Cond: ((id >= 50) AND (id <= 51))
3723 Filter: (ctid = '(1,1)'::tid)
3727 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3736 -------------------------------------------------
3737 Bitmap Heap Scan on p1
3738 Recheck Cond: ((id >= 50) AND (id <= 51))
3739 Filter: (ctid = '(1,1)'::tid)
3740 -> Bitmap Index Scan on p1_pkey
3741 Index Cond: ((id >= 50) AND (id <= 51))
3745 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3754 ---------------------------------------
3756 TID Cond: (ctid = '(1,1)'::tid)
3757 Filter: ((id >= 50) AND (id <= 51))
3760 SET constraint_exclusion TO on;
3762 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3771 -----------------------------------------------------------------
3773 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3777 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3786 -------------------------------------------
3787 Index Scan using p1_pkey on p1
3788 Index Cond: ((id >= 50) AND (id <= 51))
3789 Filter: (ctid = '(1,1)'::tid)
3793 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3802 -------------------------------------------------
3803 Bitmap Heap Scan on p1
3804 Recheck Cond: ((id >= 50) AND (id <= 51))
3805 Filter: (ctid = '(1,1)'::tid)
3806 -> Bitmap Index Scan on p1_pkey
3807 Index Cond: ((id >= 50) AND (id <= 51))
3811 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3820 ---------------------------------------
3822 TID Cond: (ctid = '(1,1)'::tid)
3823 Filter: ((id >= 50) AND (id <= 51))
3826 SET constraint_exclusion TO off;
3827 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;
3829 -----------------------------------------------------------------------
3832 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3833 -> Index Scan using t1_pkey on t1
3834 Index Cond: ((id < 10) AND (id = p1.id))
3837 SET constraint_exclusion TO on;
3838 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;
3840 -----------------------------------------------------------------------
3843 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3844 -> Index Scan using t1_pkey on t1
3845 Index Cond: ((id < 10) AND (id = p1.id))
3848 SET constraint_exclusion TO off;
3850 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;
3859 -----------------------------------------------------------------------
3862 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3863 -> Index Scan using t1_pkey on t1
3864 Index Cond: ((id < 10) AND (id = p1.id))
3868 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;
3877 --------------------------------------------------
3879 -> Index Scan using p1_pkey on p1
3880 Index Cond: ((id >= 50) AND (id <= 51))
3881 Filter: (ctid = '(1,1)'::tid)
3882 -> Index Scan using t1_pkey on t1
3883 Index Cond: ((id < 10) AND (id = p1.id))
3887 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;
3896 -------------------------------------------------------
3898 -> Bitmap Heap Scan on p1
3899 Recheck Cond: ((id >= 50) AND (id <= 51))
3900 Filter: (ctid = '(1,1)'::tid)
3901 -> Bitmap Index Scan on p1_pkey
3902 Index Cond: ((id >= 50) AND (id <= 51))
3903 -> Index Scan using t1_pkey on t1
3904 Index Cond: ((id < 10) AND (id = p1.id))
3908 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;
3917 --------------------------------------------------
3920 TID Cond: (ctid = '(1,1)'::tid)
3921 Filter: ((id >= 50) AND (id <= 51))
3922 -> Index Scan using t1_pkey on t1
3923 Index Cond: ((id < 10) AND (id = p1.id))
3926 SET constraint_exclusion TO on;
3928 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;
3937 -----------------------------------------------------------------------
3940 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3941 -> Index Scan using t1_pkey on t1
3942 Index Cond: ((id < 10) AND (id = p1.id))
3946 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;
3955 --------------------------------------------------
3957 -> Index Scan using p1_pkey on p1
3958 Index Cond: ((id >= 50) AND (id <= 51))
3959 Filter: (ctid = '(1,1)'::tid)
3960 -> Index Scan using t1_pkey on t1
3961 Index Cond: ((id < 10) AND (id = p1.id))
3965 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;
3974 -------------------------------------------------------
3976 -> Bitmap Heap Scan on p1
3977 Recheck Cond: ((id >= 50) AND (id <= 51))
3978 Filter: (ctid = '(1,1)'::tid)
3979 -> Bitmap Index Scan on p1_pkey
3980 Index Cond: ((id >= 50) AND (id <= 51))
3981 -> Index Scan using t1_pkey on t1
3982 Index Cond: ((id < 10) AND (id = p1.id))
3986 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;
3995 --------------------------------------------------
3998 TID Cond: (ctid = '(1,1)'::tid)
3999 Filter: ((id >= 50) AND (id <= 51))
4000 -> Index Scan using t1_pkey on t1
4001 Index Cond: ((id < 10) AND (id = p1.id))
4005 /*+SeqScan("""t1 ) ")IndexScan("t 2 """)HashJoin("""t1 ) "T3"t 2 """)Leading("""t1 ) "T3"t 2 """)Set(application_name"a a a"" a A")*/
4006 EXPLAIN (COSTS false) SELECT * FROM t1 """t1 ) ", t2 "t 2 """, t3 "T3" WHERE """t1 ) ".id = "t 2 """.id AND """t1 ) ".id = "T3".id;
4011 HashJoin("""t1 ) " T3 "t 2 """)
4012 Set(application_name "a a a"" a A")
4013 Leading("""t1 ) " T3 "t 2 """)
4019 ---------------------------------------------------------
4021 Hash Cond: ("t 2 """.id = """t1 ) ".id)
4022 -> Index Scan using t2_pkey on t2 "t 2 """
4025 Hash Cond: ("""t1 ) ".id = "T3".id)
4026 -> Seq Scan on t1 """t1 ) "
4028 -> Seq Scan on t3 "T3"
4031 -- duplicate hint test
4032 /*+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)*/
4033 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
4034 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)"
4035 DETAIL: Duplicate scan method hint.
4036 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)"
4037 DETAIL: Duplicate scan method hint.
4038 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)"
4039 DETAIL: Duplicate scan method hint.
4040 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)"
4041 DETAIL: Duplicate scan method hint.
4042 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)"
4043 DETAIL: Duplicate scan method hint.
4044 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)"
4045 DETAIL: Duplicate scan method hint.
4046 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)"
4047 DETAIL: Duplicate join method hint.
4048 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)"
4049 DETAIL: Duplicate join method hint.
4050 INFO: hint syntax error at or near "Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)"
4051 DETAIL: Duplicate set hint.
4052 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)"
4053 DETAIL: Duplicate leading hint.
4059 Set(enable_mergejoin on)
4060 Set(enable_seqscan on)
4072 Set(enable_seqscan off)
4077 -----------------------------------------------
4079 Merge Cond: (t1.id = t2.id)
4083 TID Cond: (ctid = '(1,1)'::tid)
4087 TID Cond: (ctid = '(1,1)'::tid)
4090 -- sub query Leading hint test
4091 LOAD 'pg_hint_plan';
4092 SET pg_hint_plan.debug_print TO on;
4093 SET client_min_messages TO LOG;
4094 SET from_collapse_limit TO 100;
4095 SET geqo_threshold TO 100;
4096 EXPLAIN (COSTS false)
4098 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
4101 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
4102 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4103 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
4104 ) 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 = (
4105 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
4108 -------------------------------------------------------------------------
4113 Merge Cond: (t1_5.id = t3_5.id)
4115 Merge Cond: (t1_5.id = t2_5.id)
4116 -> Index Scan using t1_pkey on t1 t1_5
4117 -> Index Scan using t2_pkey on t2 t2_5
4120 -> Seq Scan on t3 t3_5
4121 InitPlan 2 (returns $1)
4124 Merge Cond: (t1_2.id = t3_2.id)
4126 Merge Cond: (t1_2.id = t2_2.id)
4127 -> Index Scan using t1_pkey on t1 t1_2
4128 -> Index Scan using t2_pkey on t2 t2_2
4131 -> Seq Scan on t3 t3_2
4132 InitPlan 3 (returns $2)
4135 Merge Cond: (t1_4.id = t3_4.id)
4137 Merge Cond: (t1_4.id = t2_4.id)
4138 -> Index Scan using t1_pkey on t1 t1_4
4139 -> Index Scan using t2_pkey on t2 t2_4
4142 -> Seq Scan on t3 t3_4
4148 -> Index Scan using t1_pkey on t1 t1_1
4149 Index Cond: (id = $2)
4150 -> Seq Scan on t3 t3_1
4152 -> Index Scan using t2_pkey on t2 t2_1
4153 Index Cond: (id = $2)
4154 -> Index Scan using t1_pkey on t1 t1_3
4155 Index Cond: (id = $2)
4156 -> Index Scan using t2_pkey on t2 t2_3
4157 Index Cond: (id = $2)
4158 -> Seq Scan on t3 t3_3
4164 /*+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)*/
4165 EXPLAIN (COSTS false)
4167 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
4170 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
4171 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4172 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
4173 ) 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 = (
4174 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
4180 MergeJoin(t1_3 t3_3)
4188 -------------------------------------------------------------------------
4193 Merge Cond: (t1_5.id = t3_5.id)
4195 -> Index Scan using t2_pkey on t2 t2_5
4196 -> Index Scan using t1_pkey on t1 t1_5
4197 Index Cond: (id = t2_5.id)
4200 -> Seq Scan on t3 t3_5
4201 InitPlan 2 (returns $2)
4204 Merge Cond: (t1_2.id = t3_2.id)
4206 -> Index Scan using t2_pkey on t2 t2_2
4207 -> Index Scan using t1_pkey on t1 t1_2
4208 Index Cond: (id = t2_2.id)
4211 -> Seq Scan on t3 t3_2
4212 InitPlan 3 (returns $3)
4215 Merge Cond: (t1_4.id = t3_4.id)
4217 -> Index Scan using t2_pkey on t2 t2_4
4218 -> Index Scan using t1_pkey on t1 t1_4
4219 Index Cond: (id = t2_4.id)
4222 -> Seq Scan on t3 t3_4
4228 -> Index Scan using t2_pkey on t2 t2_1
4229 Index Cond: (id = $3)
4230 -> Seq Scan on t3 t3_1
4232 -> Index Scan using t1_pkey on t1 t1_1
4233 Index Cond: (id = $3)
4234 -> Index Scan using t1_pkey on t1 t1_3
4235 Index Cond: (id = $3)
4236 -> Index Scan using t2_pkey on t2 t2_3
4237 Index Cond: (id = $3)
4238 -> Seq Scan on t3 t3_3
4244 /*+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)*/
4245 EXPLAIN (COSTS false)
4247 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
4250 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
4251 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4252 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
4253 ) 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 = (
4254 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
4260 MergeJoin(t1_3 t3_3)
4264 Leading(a t1_1 t1_2 t1_4 t1_5)
4269 -------------------------------------------------------------------------
4274 Merge Cond: (t1_5.id = t3_5.id)
4276 -> Index Scan using t2_pkey on t2 t2_5
4277 -> Index Scan using t1_pkey on t1 t1_5
4278 Index Cond: (id = t2_5.id)
4281 -> Seq Scan on t3 t3_5
4282 InitPlan 2 (returns $2)
4285 Merge Cond: (t1_2.id = t3_2.id)
4287 -> Index Scan using t2_pkey on t2 t2_2
4288 -> Index Scan using t1_pkey on t1 t1_2
4289 Index Cond: (id = t2_2.id)
4292 -> Seq Scan on t3 t3_2
4293 InitPlan 3 (returns $3)
4296 Merge Cond: (t1_4.id = t3_4.id)
4298 -> Index Scan using t2_pkey on t2 t2_4
4299 -> Index Scan using t1_pkey on t1 t1_4
4300 Index Cond: (id = t2_4.id)
4303 -> Seq Scan on t3 t3_4
4309 -> Index Scan using t2_pkey on t2 t2_1
4310 Index Cond: (id = $3)
4311 -> Seq Scan on t3 t3_1
4313 -> Index Scan using t1_pkey on t1 t1_1
4314 Index Cond: (id = $3)
4315 -> Index Scan using t1_pkey on t1 t1_3
4316 Index Cond: (id = $3)
4317 -> Index Scan using t2_pkey on t2 t2_3
4318 Index Cond: (id = $3)
4319 -> Seq Scan on t3 t3_3
4325 /*+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)*/
4326 EXPLAIN (COSTS false)
4328 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
4331 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
4332 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4333 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
4334 ) 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 = (
4335 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
4339 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)
4343 MergeJoin(t1_3 t3_3)
4350 -------------------------------------------------------------------
4355 Merge Cond: (t2_5.id = t1_5.id)
4357 Merge Cond: (t2_5.id = t3_5.id)
4358 -> Index Scan using t2_pkey on t2 t2_5
4361 -> Seq Scan on t3 t3_5
4362 -> Index Scan using t1_pkey on t1 t1_5
4363 InitPlan 2 (returns $1)
4366 Merge Cond: (t2_2.id = t1_2.id)
4368 Merge Cond: (t2_2.id = t3_2.id)
4369 -> Index Scan using t2_pkey on t2 t2_2
4372 -> Seq Scan on t3 t3_2
4373 -> Index Scan using t1_pkey on t1 t1_2
4374 InitPlan 3 (returns $2)
4377 Merge Cond: (t2_4.id = t1_4.id)
4379 Merge Cond: (t2_4.id = t3_4.id)
4380 -> Index Scan using t2_pkey on t2 t2_4
4383 -> Seq Scan on t3 t3_4
4384 -> Index Scan using t1_pkey on t1 t1_4
4390 -> Seq Scan on t3 t3_3
4394 -> Index Scan using t2_pkey on t2 t2_3
4395 Index Cond: (id = $2)
4396 -> Index Scan using t1_pkey on t1 t1_3
4397 Index Cond: (id = $2)
4398 -> Seq Scan on t3 t3_1
4400 -> Index Scan using t2_pkey on t2 t2_1
4401 Index Cond: (id = $2)
4402 -> Index Scan using t1_pkey on t1 t1_1
4403 Index Cond: (id = $2)
4406 SET from_collapse_limit TO 1;
4407 EXPLAIN (COSTS false)
4409 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
4412 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
4413 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4414 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
4415 ) 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 = (
4416 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
4419 ---------------------------------------------------------------
4424 Merge Cond: (t1_5.id = t3_5.id)
4426 Merge Cond: (t1_5.id = t2_5.id)
4427 -> Index Scan using t1_pkey on t1 t1_5
4428 -> Index Scan using t2_pkey on t2 t2_5
4431 -> Seq Scan on t3 t3_5
4432 InitPlan 2 (returns $1)
4435 Merge Cond: (t1_2.id = t3_2.id)
4437 Merge Cond: (t1_2.id = t2_2.id)
4438 -> Index Scan using t1_pkey on t1 t1_2
4439 -> Index Scan using t2_pkey on t2 t2_2
4442 -> Seq Scan on t3 t3_2
4443 InitPlan 3 (returns $2)
4446 Merge Cond: (t1_4.id = t3_4.id)
4448 Merge Cond: (t1_4.id = t2_4.id)
4449 -> Index Scan using t1_pkey on t1 t1_4
4450 -> Index Scan using t2_pkey on t2 t2_4
4453 -> Seq Scan on t3 t3_4
4457 -> Index Scan using t1_pkey on t1 t1_1
4458 Index Cond: (id = $2)
4459 -> Seq Scan on t3 t3_1
4461 -> Index Scan using t2_pkey on t2 t2_1
4462 Index Cond: (id = $2)
4465 -> Index Scan using t1_pkey on t1 t1_3
4466 Index Cond: (id = $2)
4467 -> Seq Scan on t3 t3_3
4469 -> Index Scan using t2_pkey on t2 t2_3
4470 Index Cond: (id = $2)
4475 /*+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)*/
4476 EXPLAIN (COSTS false)
4478 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
4481 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
4482 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4483 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
4484 ) 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 = (
4485 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
4491 MergeJoin(t1_3 t3_3)
4499 ---------------------------------------------------------------
4504 Merge Cond: (t1_5.id = t3_5.id)
4506 -> Index Scan using t2_pkey on t2 t2_5
4507 -> Index Scan using t1_pkey on t1 t1_5
4508 Index Cond: (id = t2_5.id)
4511 -> Seq Scan on t3 t3_5
4512 InitPlan 2 (returns $2)
4515 Merge Cond: (t1_2.id = t3_2.id)
4517 -> Index Scan using t2_pkey on t2 t2_2
4518 -> Index Scan using t1_pkey on t1 t1_2
4519 Index Cond: (id = t2_2.id)
4522 -> Seq Scan on t3 t3_2
4523 InitPlan 3 (returns $3)
4526 Merge Cond: (t1_4.id = t3_4.id)
4528 -> Index Scan using t2_pkey on t2 t2_4
4529 -> Index Scan using t1_pkey on t1 t1_4
4530 Index Cond: (id = t2_4.id)
4533 -> Seq Scan on t3 t3_4
4537 -> Index Scan using t2_pkey on t2 t2_1
4538 Index Cond: (id = $3)
4539 -> Seq Scan on t3 t3_1
4541 -> Index Scan using t1_pkey on t1 t1_1
4542 Index Cond: (id = $3)
4545 -> Index Scan using t2_pkey on t2 t2_3
4546 Index Cond: (id = $3)
4547 -> Seq Scan on t3 t3_3
4549 -> Index Scan using t1_pkey on t1 t1_3
4550 Index Cond: (id = $3)
4555 /*+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)*/
4556 EXPLAIN (COSTS false)
4558 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
4561 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
4562 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4563 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
4564 ) 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 = (
4565 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
4571 MergeJoin(t1_3 t3_3)
4575 Leading(a t1_1 t1_2 t1_4 t1_5)
4580 ---------------------------------------------------------------
4585 Merge Cond: (t1_5.id = t3_5.id)
4587 -> Index Scan using t2_pkey on t2 t2_5
4588 -> Index Scan using t1_pkey on t1 t1_5
4589 Index Cond: (id = t2_5.id)
4592 -> Seq Scan on t3 t3_5
4593 InitPlan 2 (returns $2)
4596 Merge Cond: (t1_2.id = t3_2.id)
4598 -> Index Scan using t2_pkey on t2 t2_2
4599 -> Index Scan using t1_pkey on t1 t1_2
4600 Index Cond: (id = t2_2.id)
4603 -> Seq Scan on t3 t3_2
4604 InitPlan 3 (returns $3)
4607 Merge Cond: (t1_4.id = t3_4.id)
4609 -> Index Scan using t2_pkey on t2 t2_4
4610 -> Index Scan using t1_pkey on t1 t1_4
4611 Index Cond: (id = t2_4.id)
4614 -> Seq Scan on t3 t3_4
4618 -> Index Scan using t2_pkey on t2 t2_1
4619 Index Cond: (id = $3)
4620 -> Seq Scan on t3 t3_1
4622 -> Index Scan using t1_pkey on t1 t1_1
4623 Index Cond: (id = $3)
4626 -> Index Scan using t2_pkey on t2 t2_3
4627 Index Cond: (id = $3)
4628 -> Seq Scan on t3 t3_3
4630 -> Index Scan using t1_pkey on t1 t1_3
4631 Index Cond: (id = $3)
4636 /*+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)*/
4637 EXPLAIN (COSTS false)
4639 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
4642 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
4643 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4644 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
4645 ) 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 = (
4646 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
4650 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)
4654 MergeJoin(t1_3 t3_3)
4661 -------------------------------------------------------------------------
4666 Merge Cond: (t2_5.id = t1_5.id)
4668 Merge Cond: (t2_5.id = t3_5.id)
4669 -> Index Scan using t2_pkey on t2 t2_5
4672 -> Seq Scan on t3 t3_5
4673 -> Index Scan using t1_pkey on t1 t1_5
4674 InitPlan 2 (returns $1)
4677 Merge Cond: (t2_2.id = t1_2.id)
4679 Merge Cond: (t2_2.id = t3_2.id)
4680 -> Index Scan using t2_pkey on t2 t2_2
4683 -> Seq Scan on t3 t3_2
4684 -> Index Scan using t1_pkey on t1 t1_2
4685 InitPlan 3 (returns $2)
4688 Merge Cond: (t2_4.id = t1_4.id)
4690 Merge Cond: (t2_4.id = t3_4.id)
4691 -> Index Scan using t2_pkey on t2 t2_4
4694 -> Seq Scan on t3 t3_4
4695 -> Index Scan using t1_pkey on t1 t1_4
4701 -> Index Scan using t2_pkey on t2 t2_3
4702 Index Cond: (id = $2)
4703 -> Seq Scan on t3 t3_3
4705 -> Index Scan using t1_pkey on t1 t1_3
4706 Index Cond: (id = $2)
4709 -> Seq Scan on t3 t3_1
4711 -> Index Scan using t2_pkey on t2 t2_1
4712 Index Cond: (id = $2)
4713 -> Index Scan using t1_pkey on t1 t1_1
4714 Index Cond: (id = $2)