1 SET search_path TO public;
2 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
4 --------------------------------------
6 Merge Cond: (t1.id = t2.id)
7 -> Index Scan using t1_pkey on t1
8 -> Index Scan using t2_pkey on t2
11 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.val = t2.val;
13 -------------------------------------------
15 Merge Cond: (t2.val = t1.val)
16 -> Index Scan using t2_val on t2
18 -> Index Scan using t1_val on t1
22 SET pg_hint_plan.debug_print TO on;
23 SET client_min_messages TO LOG;
24 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
26 --------------------------------------
28 Merge Cond: (t1.id = t2.id)
29 -> Index Scan using t1_pkey on t1
30 -> Index Scan using t2_pkey on t2
33 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.val = t2.val;
35 -------------------------------------------
37 Merge Cond: (t2.val = t1.val)
38 -> Index Scan using t2_val on t2
40 -> Index Scan using t1_val on t1
44 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
45 INFO: hint syntax error at or near "Test (t1 t2) "
46 DETAIL: Unrecognized hint keyword "Test".
48 --------------------------------------
50 Merge Cond: (t1.id = t2.id)
51 -> Index Scan using t1_pkey on t1
52 -> Index Scan using t2_pkey on t2
55 SET pg_hint_plan.enable_hint TO off;
57 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
59 --------------------------------------
61 Merge Cond: (t1.id = t2.id)
62 -> Index Scan using t1_pkey on t1
63 -> Index Scan using t2_pkey on t2
66 SET pg_hint_plan.enable_hint TO on;
67 /*Set(enable_indexscan off)*/
68 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
70 --------------------------------------
72 Merge Cond: (t1.id = t2.id)
73 -> Index Scan using t1_pkey on t1
74 -> Index Scan using t2_pkey on t2
77 --+Set(enable_indexscan off)
78 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
80 --------------------------------------
82 Merge Cond: (t1.id = t2.id)
83 -> Index Scan using t1_pkey on t1
84 -> Index Scan using t2_pkey on t2
87 /*+Set(enable_indexscan off) /* nest comment */ */
88 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
89 INFO: hint syntax error at or near "/* nest comment */ */
90 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;"
91 DETAIL: Nested block comments are not supported.
93 --------------------------------------
95 Merge Cond: (t1.id = t2.id)
96 -> Index Scan using t1_pkey on t1
97 -> Index Scan using t2_pkey on t2
100 /*+Set(enable_indexscan off)*/
101 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
104 Set(enable_indexscan off)
110 ------------------------------
112 Hash Cond: (t1.id = t2.id)
118 /*+ Set(enable_indexscan off) Set(enable_hashjoin off) */
119 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
122 Set(enable_hashjoin off)
123 Set(enable_indexscan off)
129 -------------------------------
131 Merge Cond: (t1.id = t2.id)
140 /*+ Set ( enable_indexscan off ) */
141 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
144 Set(enable_indexscan off)
150 ------------------------------
152 Hash Cond: (t1.id = t2.id)
165 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
168 Set(enable_indexscan off)
174 ------------------------------
176 Hash Cond: (t1.id = t2.id)
182 /*+ Set(enable_indexscan off)Set(enable_nestloop off)Set(enable_mergejoin off)
183 Set(enable_seqscan off)
185 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
188 Set(enable_indexscan off)
189 Set(enable_mergejoin off)
190 Set(enable_nestloop off)
191 Set(enable_seqscan off)
197 --------------------------------------------
199 Hash Cond: (t1.id = t2.id)
200 -> Index Scan using t1_pkey on t1
202 -> Index Scan using t2_pkey on t2
205 /*+Set(work_mem "1M")*/
206 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
207 INFO: invalid value for parameter "work_mem": "1M"
208 HINT: Valid units for this parameter are "kB", "MB", and "GB".
217 --------------------------------------
219 Merge Cond: (t1.id = t2.id)
220 -> Index Scan using t1_pkey on t1
221 -> Index Scan using t2_pkey on t2
224 /*+Set(work_mem "1MB")*/
225 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
234 --------------------------------------
236 Merge Cond: (t1.id = t2.id)
237 -> Index Scan using t1_pkey on t1
238 -> Index Scan using t2_pkey on t2
241 /*+Set(work_mem TO "1MB")*/
242 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
243 INFO: hint syntax error at or near "Set(work_mem TO "1MB")"
244 DETAIL: Set hint requires name and value of GUC parameter.
253 --------------------------------------
255 Merge Cond: (t1.id = t2.id)
256 -> Index Scan using t1_pkey on t1
257 -> Index Scan using t2_pkey on t2
261 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
262 INFO: hint syntax error at or near ""
263 DETAIL: SeqScan hint accepts only one relation.
272 --------------------------------------
274 Merge Cond: (t1.id = t2.id)
275 -> Index Scan using t1_pkey on t1
276 -> Index Scan using t2_pkey on t2
280 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
289 ------------------------------
291 Hash Cond: (t1.id = t2.id)
297 /*+SeqScan(t1)IndexScan(t2)*/
298 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
308 --------------------------------------------
310 Hash Cond: (t1.id = t2.id)
313 -> Index Scan using t2_pkey on t2
317 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
326 ------------------------------------------
329 -> Bitmap Heap Scan on t2
330 Recheck Cond: (id = t1.id)
331 -> Bitmap Index Scan on t2_pkey
332 Index Cond: (id = t1.id)
335 /*+BitmapScan(t2)NoSeqScan(t1)*/
336 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
346 ------------------------------------------
348 -> Index Scan using t1_pkey on t1
349 -> Bitmap Heap Scan on t2
350 Recheck Cond: (id = t1.id)
351 -> Bitmap Index Scan on t2_pkey
352 Index Cond: (id = t1.id)
356 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
365 ------------------------------
367 Hash Cond: (t1.id = t2.id)
373 /*+NoBitmapScan(t1)*/
374 EXPLAIN (COSTS false) SELECT * FROM t1, t4 WHERE t1.val < 10;
383 ----------------------------
392 EXPLAIN (COSTS false) SELECT * FROM t3, t4 WHERE t3.id = t4.id AND t4.ctid = '(1,1)';
401 -----------------------------------------------
403 Merge Cond: (t3.id = t4.id)
404 -> Index Scan using t3_pkey on t3
408 TID Cond: (ctid = '(1,1)'::tid)
412 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)';
421 ---------------------------------------
424 Filter: (ctid = '(1,1)'::tid)
425 -> Index Scan using t2_pkey on t2
426 Index Cond: (id = t1.id)
430 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
439 ------------------------------
441 Hash Cond: (t1.id = t2.id)
448 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
457 --------------------------------------
460 -> Index Scan using t1_pkey on t1
461 Index Cond: (id = t2.id)
464 /*+NoMergeJoin(t1 t2)*/
465 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
474 ------------------------------
476 Hash Cond: (t1.id = t2.id)
482 /*+MergeJoin(t1 t3)*/
483 EXPLAIN (COSTS false) SELECT * FROM t1, t3 WHERE t1.val = t3.val;
492 -------------------------------------
494 Merge Cond: (t1.val = t3.val)
495 -> Index Scan using t1_val on t1
502 EXPLAIN (COSTS false) SELECT * FROM t1, t3 WHERE t1.val = t3.val;
511 -------------------------------------
514 -> Index Scan using t1_val on t1
515 Index Cond: (val = t3.val)
518 /*+NoHashJoin(t1 t3)*/
519 EXPLAIN (COSTS false) SELECT * FROM t1, t3 WHERE t1.val = t3.val;
528 -------------------------------------
531 -> Index Scan using t1_val on t1
532 Index Cond: (val = t3.val)
535 /*+MergeJoin(t4 t1 t2 t3)*/
536 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
539 MergeJoin(t1 t2 t3 t4)
545 --------------------------------------------------
547 Merge Cond: (t1.id = t4.id)
549 Merge Cond: (t1.id = t3.id)
551 Merge Cond: (t1.id = t2.id)
552 -> Index Scan using t1_pkey on t1
553 -> Index Scan using t2_pkey on t2
554 -> Index Scan using t3_pkey on t3
560 /*+HashJoin(t3 t4 t1 t2)*/
561 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
564 HashJoin(t1 t2 t3 t4)
570 --------------------------------------------------------
572 Hash Cond: (t3.id = t1.id)
576 Merge Cond: (t1.id = t4.id)
578 Merge Cond: (t1.id = t2.id)
579 -> Index Scan using t1_pkey on t1
580 -> Index Scan using t2_pkey on t2
586 /*+NestLoop(t2 t3 t4 t1) IndexScan(t3)*/
587 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
591 NestLoop(t1 t2 t3 t4)
597 --------------------------------------------------
600 Merge Cond: (t1.id = t4.id)
602 Merge Cond: (t1.id = t2.id)
603 -> Index Scan using t1_pkey on t1
604 -> Index Scan using t2_pkey on t2
608 -> Index Scan using t3_pkey on t3
609 Index Cond: (id = t1.id)
612 /*+NoNestLoop(t4 t1 t3 t2)*/
613 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
616 NoNestLoop(t1 t2 t3 t4)
622 --------------------------------------------------
624 Merge Cond: (t1.id = t4.id)
626 Merge Cond: (t1.id = t3.id)
628 Merge Cond: (t1.id = t2.id)
629 -> Index Scan using t1_pkey on t1
630 -> Index Scan using t2_pkey on t2
631 -> Index Scan using t3_pkey on t3
638 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
639 INFO: hint syntax error at or near ""
640 DETAIL: Closing parenthesis is necessary.
642 --------------------------------------------------
644 Merge Cond: (t1.id = t4.id)
646 Merge Cond: (t1.id = t3.id)
648 Merge Cond: (t1.id = t2.id)
649 -> Index Scan using t1_pkey on t1
650 -> Index Scan using t2_pkey on t2
651 -> Index Scan using t3_pkey on t3
658 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
659 INFO: hint syntax error at or near "Leading( )"
660 DETAIL: Leading hint requires at least two relations.
669 --------------------------------------------------
671 Merge Cond: (t1.id = t4.id)
673 Merge Cond: (t1.id = t3.id)
675 Merge Cond: (t1.id = t2.id)
676 -> Index Scan using t1_pkey on t1
677 -> Index Scan using t2_pkey on t2
678 -> Index Scan using t3_pkey on t3
685 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
686 INFO: hint syntax error at or near "Leading( t3 )"
687 DETAIL: Leading hint requires at least two relations.
696 --------------------------------------------------
698 Merge Cond: (t1.id = t4.id)
700 Merge Cond: (t1.id = t3.id)
702 Merge Cond: (t1.id = t2.id)
703 -> Index Scan using t1_pkey on t1
704 -> Index Scan using t2_pkey on t2
705 -> Index Scan using t3_pkey on t3
711 /*+Leading( t3 t4 )*/
712 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
721 --------------------------------------------------
725 Merge Cond: (t3.id = t4.id)
726 -> Index Scan using t3_pkey on t3
730 -> Index Scan using t2_pkey on t2
731 Index Cond: (id = t3.id)
732 -> Index Scan using t1_pkey on t1
733 Index Cond: (id = t2.id)
736 /*+Leading(t3 t4 t1)*/
737 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
746 --------------------------------------------------
749 Merge Cond: (t3.id = t1.id)
751 Merge Cond: (t3.id = t4.id)
752 -> Index Scan using t3_pkey on t3
756 -> Index Scan using t1_pkey on t1
757 -> Index Scan using t2_pkey on t2
758 Index Cond: (id = t1.id)
761 /*+Leading(t3 t4 t1 t2)*/
762 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
771 --------------------------------------------------
774 Merge Cond: (t3.id = t1.id)
776 Merge Cond: (t3.id = t4.id)
777 -> Index Scan using t3_pkey on t3
781 -> Index Scan using t1_pkey on t1
782 -> Index Scan using t2_pkey on t2
783 Index Cond: (id = t1.id)
786 /*+Leading(t3 t4 t1 t2 t1)*/
787 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
788 INFO: hint syntax error at or near "Leading(t3 t4 t1 t2 t1)"
789 DETAIL: Relation name "t1" is duplicated.
795 Leading(t3 t4 t1 t2 t1)
798 --------------------------------------------------
800 Merge Cond: (t1.id = t4.id)
802 Merge Cond: (t1.id = t3.id)
804 Merge Cond: (t1.id = t2.id)
805 -> Index Scan using t1_pkey on t1
806 -> Index Scan using t2_pkey on t2
807 -> Index Scan using t3_pkey on t3
813 /*+Leading(t3 t4 t4)*/
814 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
815 INFO: hint syntax error at or near "Leading(t3 t4 t4)"
816 DETAIL: Relation name "t4" is duplicated.
825 --------------------------------------------------
827 Merge Cond: (t1.id = t4.id)
829 Merge Cond: (t1.id = t3.id)
831 Merge Cond: (t1.id = t2.id)
832 -> Index Scan using t1_pkey on t1
833 -> Index Scan using t2_pkey on t2
834 -> Index Scan using t3_pkey on t3
840 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
842 -----------------------------------------------
844 -> Values Scan on "*VALUES*"
845 -> Index Scan using t1_pkey on t1
846 Index Cond: (id = "*VALUES*".column1)
850 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
859 -----------------------------------------------
861 -> Values Scan on "*VALUES*"
862 -> Index Scan using t1_pkey on t1
863 Index Cond: (id = "*VALUES*".column1)
866 /*+HashJoin(t1 *VALUES*)*/
867 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
870 HashJoin(*VALUES* t1)
876 -------------------------------------------
878 Hash Cond: (t1.id = "*VALUES*".column1)
881 -> Values Scan on "*VALUES*"
884 /*+HashJoin(t1 *VALUES*) IndexScan(t1) IndexScan(*VALUES*)*/
885 EXPLAIN (COSTS false) SELECT * FROM t1, (VALUES(1,1),(2,2),(3,3)) AS t2(id,val) WHERE t1.id = t2.id;
889 HashJoin(*VALUES* t1)
896 -------------------------------------------
898 Hash Cond: (t1.id = "*VALUES*".column1)
899 -> Index Scan using t1_pkey on t1
901 -> Values Scan on "*VALUES*"
904 -- single table scan hint test
905 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);
907 -----------------------------------------------------------------------------------------------------
908 Index Scan using t1_pkey on t1 (cost=1.89..10.16 rows=1 width=4)
909 Index Cond: (id = $3)
910 InitPlan 2 (returns $1)
911 -> Result (cost=0.94..0.95 rows=1 width=0)
912 InitPlan 1 (returns $0)
913 -> Limit (cost=0.00..0.94 rows=1 width=4)
914 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
915 Index Cond: ((id IS NOT NULL) AND (id < 10))
916 InitPlan 4 (returns $3)
917 -> Result (cost=0.94..0.95 rows=1 width=0)
918 InitPlan 3 (returns $2)
919 -> Limit (cost=0.00..0.94 rows=1 width=4)
920 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
921 Index Cond: ((id IS NOT NULL) AND (id < 10))
925 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);
934 -----------------------------------------------------------------------------------------------------
935 Index Scan using t1_pkey on t1 (cost=29.34..37.61 rows=1 width=4)
936 Index Cond: (id = $2)
937 InitPlan 1 (returns $0)
938 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
939 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
940 Recheck Cond: (id < 10)
941 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
942 Index Cond: (id < 10)
943 InitPlan 3 (returns $2)
944 -> Result (cost=0.94..0.95 rows=1 width=0)
945 InitPlan 2 (returns $1)
946 -> Limit (cost=0.00..0.94 rows=1 width=4)
947 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
948 Index Cond: ((id IS NOT NULL) AND (id < 10))
952 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);
961 -----------------------------------------------------------------------------------------------------
962 Index Scan using t1_pkey on t1 (cost=29.34..37.61 rows=1 width=4)
963 Index Cond: (id = $2)
964 InitPlan 2 (returns $1)
965 -> Result (cost=0.94..0.95 rows=1 width=0)
966 InitPlan 1 (returns $0)
967 -> Limit (cost=0.00..0.94 rows=1 width=4)
968 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
969 Index Cond: ((id IS NOT NULL) AND (id < 10))
970 InitPlan 3 (returns $2)
971 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
972 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
973 Recheck Cond: (id < 10)
974 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
975 Index Cond: (id < 10)
979 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);
988 -----------------------------------------------------------------------------------------------------
989 Bitmap Heap Scan on t1 (cost=6.15..10.17 rows=1 width=4)
990 Recheck Cond: (id = $3)
991 InitPlan 2 (returns $1)
992 -> Result (cost=0.94..0.95 rows=1 width=0)
993 InitPlan 1 (returns $0)
994 -> Limit (cost=0.00..0.94 rows=1 width=4)
995 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
996 Index Cond: ((id IS NOT NULL) AND (id < 10))
997 InitPlan 4 (returns $3)
998 -> Result (cost=0.94..0.95 rows=1 width=0)
999 InitPlan 3 (returns $2)
1000 -> Limit (cost=0.00..0.94 rows=1 width=4)
1001 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
1002 Index Cond: ((id IS NOT NULL) AND (id < 10))
1003 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1004 Index Cond: (id = $3)
1007 /*+BitmapScan(v_1)BitmapScan(v_2)*/
1008 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);
1018 ------------------------------------------------------------------------------------
1019 Index Scan using t1_pkey on t1 (cost=56.78..65.05 rows=1 width=4)
1020 Index Cond: (id = $1)
1021 InitPlan 1 (returns $0)
1022 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1023 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
1024 Recheck Cond: (id < 10)
1025 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1026 Index Cond: (id < 10)
1027 InitPlan 2 (returns $1)
1028 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1029 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
1030 Recheck Cond: (id < 10)
1031 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1032 Index Cond: (id < 10)
1035 /*+BitmapScan(v_1)BitmapScan(t1)*/
1036 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);
1046 -----------------------------------------------------------------------------------------------------
1047 Bitmap Heap Scan on t1 (cost=33.60..37.61 rows=1 width=4)
1048 Recheck Cond: (id = $2)
1049 InitPlan 1 (returns $0)
1050 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1051 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
1052 Recheck Cond: (id < 10)
1053 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1054 Index Cond: (id < 10)
1055 InitPlan 3 (returns $2)
1056 -> Result (cost=0.94..0.95 rows=1 width=0)
1057 InitPlan 2 (returns $1)
1058 -> Limit (cost=0.00..0.94 rows=1 width=4)
1059 -> Index Scan Backward using t1_pkey on t1 v_2 (cost=0.00..8.43 rows=9 width=4)
1060 Index Cond: ((id IS NOT NULL) AND (id < 10))
1061 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1062 Index Cond: (id = $2)
1065 /*+BitmapScan(v_2)BitmapScan(t1)*/
1066 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);
1076 -----------------------------------------------------------------------------------------------------
1077 Bitmap Heap Scan on t1 (cost=33.60..37.61 rows=1 width=4)
1078 Recheck Cond: (id = $2)
1079 InitPlan 2 (returns $1)
1080 -> Result (cost=0.94..0.95 rows=1 width=0)
1081 InitPlan 1 (returns $0)
1082 -> Limit (cost=0.00..0.94 rows=1 width=4)
1083 -> Index Scan Backward using t1_pkey on t1 v_1 (cost=0.00..8.43 rows=9 width=4)
1084 Index Cond: ((id IS NOT NULL) AND (id < 10))
1085 InitPlan 3 (returns $2)
1086 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1087 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
1088 Recheck Cond: (id < 10)
1089 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1090 Index Cond: (id < 10)
1091 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1092 Index Cond: (id = $2)
1095 /*+BitmapScan(v_1)BitmapScan(v_2)BitmapScan(t1)*/
1096 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);
1107 ------------------------------------------------------------------------------------
1108 Bitmap Heap Scan on t1 (cost=61.04..65.05 rows=1 width=4)
1109 Recheck Cond: (id = $1)
1110 InitPlan 1 (returns $0)
1111 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1112 -> Bitmap Heap Scan on t1 v_1 (cost=4.32..28.36 rows=9 width=4)
1113 Recheck Cond: (id < 10)
1114 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1115 Index Cond: (id < 10)
1116 InitPlan 2 (returns $1)
1117 -> Aggregate (cost=28.38..28.39 rows=1 width=4)
1118 -> Bitmap Heap Scan on t1 v_2 (cost=4.32..28.36 rows=9 width=4)
1119 Recheck Cond: (id < 10)
1120 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.32 rows=9 width=0)
1121 Index Cond: (id < 10)
1122 -> Bitmap Index Scan on t1_pkey (cost=0.00..4.26 rows=1 width=0)
1123 Index Cond: (id = $1)
1126 -- full scan hint pattern test
1127 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1129 -----------------------------------
1131 TID Cond: (ctid = '(1,1)'::tid)
1136 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1145 -------------------------------------------------
1147 Filter: ((id < 10) AND (ctid = '(1,1)'::tid))
1151 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1160 ---------------------------------
1161 Index Scan using t1_pkey on t1
1162 Index Cond: (id < 10)
1163 Filter: (ctid = '(1,1)'::tid)
1167 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1176 ------------------------------------
1177 Bitmap Heap Scan on t1
1178 Recheck Cond: (id < 10)
1179 Filter: (ctid = '(1,1)'::tid)
1180 -> Bitmap Index Scan on t1_pkey
1181 Index Cond: (id < 10)
1185 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1194 -----------------------------------
1196 TID Cond: (ctid = '(1,1)'::tid)
1201 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1210 -----------------------------------
1212 TID Cond: (ctid = '(1,1)'::tid)
1216 /*+NoIndexScan(t1)*/
1217 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1226 -----------------------------------
1228 TID Cond: (ctid = '(1,1)'::tid)
1232 /*+NoBitmapScan(t1)*/
1233 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1242 -----------------------------------
1244 TID Cond: (ctid = '(1,1)'::tid)
1249 EXPLAIN (COSTS false) SELECT * FROM t1 WHERE id < 10 AND ctid = '(1,1)';
1258 ---------------------------------
1259 Index Scan using t1_pkey on t1
1260 Index Cond: (id < 10)
1261 Filter: (ctid = '(1,1)'::tid)
1264 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1266 -----------------------------------------
1268 Join Filter: (t1.id = t2.id)
1270 TID Cond: (ctid = '(1,1)'::tid)
1272 TID Cond: (ctid = '(1,1)'::tid)
1276 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1285 -----------------------------------------
1287 Join Filter: (t1.id = t2.id)
1289 Filter: (ctid = '(1,1)'::tid)
1291 TID Cond: (ctid = '(1,1)'::tid)
1295 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1304 -----------------------------------------
1306 Join Filter: (t1.id = t2.id)
1308 TID Cond: (ctid = '(1,1)'::tid)
1310 Filter: (ctid = '(1,1)'::tid)
1313 /*+SeqScan(t1) SeqScan(t2)*/
1314 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1324 ---------------------------------------
1326 Join Filter: (t1.id = t2.id)
1328 Filter: (ctid = '(1,1)'::tid)
1330 Filter: (ctid = '(1,1)'::tid)
1333 /*+SeqScan(t1) IndexScan(t2)*/
1334 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1344 ---------------------------------------
1347 Filter: (ctid = '(1,1)'::tid)
1348 -> Index Scan using t2_pkey on t2
1349 Index Cond: (id = t1.id)
1350 Filter: (ctid = '(1,1)'::tid)
1353 /*+SeqScan(t1) BitmapScan(t2)*/
1354 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1364 ------------------------------------------
1367 Filter: (ctid = '(1,1)'::tid)
1368 -> Bitmap Heap Scan on t2
1369 Recheck Cond: (id = t1.id)
1370 Filter: (ctid = '(1,1)'::tid)
1371 -> Bitmap Index Scan on t2_pkey
1372 Index Cond: (id = t1.id)
1375 /*+SeqScan(t1) TidScan(t2)*/
1376 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1386 -----------------------------------------
1388 Join Filter: (t1.id = t2.id)
1390 Filter: (ctid = '(1,1)'::tid)
1392 TID Cond: (ctid = '(1,1)'::tid)
1395 /*+SeqScan(t1) NoSeqScan(t2)*/
1396 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1406 -----------------------------------------
1408 Join Filter: (t1.id = t2.id)
1410 Filter: (ctid = '(1,1)'::tid)
1412 TID Cond: (ctid = '(1,1)'::tid)
1415 /*+SeqScan(t1) NoIndexScan(t2)*/
1416 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1426 -----------------------------------------
1428 Join Filter: (t1.id = t2.id)
1430 Filter: (ctid = '(1,1)'::tid)
1432 TID Cond: (ctid = '(1,1)'::tid)
1435 /*+SeqScan(t1) NoBitmapScan(t2)*/
1436 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1446 -----------------------------------------
1448 Join Filter: (t1.id = t2.id)
1450 Filter: (ctid = '(1,1)'::tid)
1452 TID Cond: (ctid = '(1,1)'::tid)
1455 /*+SeqScan(t1) NoTidScan(t2)*/
1456 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1466 ---------------------------------------
1469 Filter: (ctid = '(1,1)'::tid)
1470 -> Index Scan using t2_pkey on t2
1471 Index Cond: (id = t1.id)
1472 Filter: (ctid = '(1,1)'::tid)
1476 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1485 -----------------------------------------
1488 TID Cond: (ctid = '(1,1)'::tid)
1489 -> Index Scan using t1_pkey on t1
1490 Index Cond: (id = t2.id)
1491 Filter: (ctid = '(1,1)'::tid)
1495 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1504 -----------------------------------------
1507 TID Cond: (ctid = '(1,1)'::tid)
1508 -> Index Scan using t2_pkey on t2
1509 Index Cond: (id = t1.id)
1510 Filter: (ctid = '(1,1)'::tid)
1513 /*+IndexScan(t1) SeqScan(t2)*/
1514 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1524 ---------------------------------------
1527 Filter: (ctid = '(1,1)'::tid)
1528 -> Index Scan using t1_pkey on t1
1529 Index Cond: (id = t2.id)
1530 Filter: (ctid = '(1,1)'::tid)
1533 /*+IndexScan(t1) IndexScan(t2)*/
1534 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1544 ---------------------------------------
1546 -> Index Scan using t2_pkey on t2
1547 Filter: (ctid = '(1,1)'::tid)
1548 -> Index Scan using t1_pkey on t1
1549 Index Cond: (id = t2.id)
1550 Filter: (ctid = '(1,1)'::tid)
1553 /*+IndexScan(t1) BitmapScan(t2)*/
1554 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1564 ------------------------------------------
1566 -> Index Scan using t1_pkey on t1
1567 Filter: (ctid = '(1,1)'::tid)
1568 -> Bitmap Heap Scan on t2
1569 Recheck Cond: (id = t1.id)
1570 Filter: (ctid = '(1,1)'::tid)
1571 -> Bitmap Index Scan on t2_pkey
1572 Index Cond: (id = t1.id)
1575 /*+IndexScan(t1) TidScan(t2)*/
1576 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1586 -----------------------------------------
1589 TID Cond: (ctid = '(1,1)'::tid)
1590 -> Index Scan using t1_pkey on t1
1591 Index Cond: (id = t2.id)
1592 Filter: (ctid = '(1,1)'::tid)
1595 /*+IndexScan(t1) NoSeqScan(t2)*/
1596 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1606 -----------------------------------------
1609 TID Cond: (ctid = '(1,1)'::tid)
1610 -> Index Scan using t1_pkey on t1
1611 Index Cond: (id = t2.id)
1612 Filter: (ctid = '(1,1)'::tid)
1615 /*+IndexScan(t1) NoIndexScan(t2)*/
1616 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1626 -----------------------------------------
1629 TID Cond: (ctid = '(1,1)'::tid)
1630 -> Index Scan using t1_pkey on t1
1631 Index Cond: (id = t2.id)
1632 Filter: (ctid = '(1,1)'::tid)
1635 /*+IndexScan(t1) NoBitmapScan(t2)*/
1636 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1646 -----------------------------------------
1649 TID Cond: (ctid = '(1,1)'::tid)
1650 -> Index Scan using t1_pkey on t1
1651 Index Cond: (id = t2.id)
1652 Filter: (ctid = '(1,1)'::tid)
1655 /*+IndexScan(t1) NoTidScan(t2)*/
1656 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1666 ---------------------------------------
1669 Filter: (ctid = '(1,1)'::tid)
1670 -> Index Scan using t1_pkey on t1
1671 Index Cond: (id = t2.id)
1672 Filter: (ctid = '(1,1)'::tid)
1676 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1685 ------------------------------------------
1688 TID Cond: (ctid = '(1,1)'::tid)
1689 -> Bitmap Heap Scan on t1
1690 Recheck Cond: (id = t2.id)
1691 Filter: (ctid = '(1,1)'::tid)
1692 -> Bitmap Index Scan on t1_pkey
1693 Index Cond: (id = t2.id)
1697 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1706 ------------------------------------------
1709 TID Cond: (ctid = '(1,1)'::tid)
1710 -> Bitmap Heap Scan on t2
1711 Recheck Cond: (id = t1.id)
1712 Filter: (ctid = '(1,1)'::tid)
1713 -> Bitmap Index Scan on t2_pkey
1714 Index Cond: (id = t1.id)
1718 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1727 ------------------------------------------
1730 TID Cond: (ctid = '(1,1)'::tid)
1731 -> Bitmap Heap Scan on t2
1732 Recheck Cond: (id = t1.id)
1733 Filter: (ctid = '(1,1)'::tid)
1734 -> Bitmap Index Scan on t2_pkey
1735 Index Cond: (id = t1.id)
1738 /*+BitmapScan(t1) SeqScan(t2)*/
1739 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1749 ------------------------------------------
1752 Filter: (ctid = '(1,1)'::tid)
1753 -> Bitmap Heap Scan on t1
1754 Recheck Cond: (id = t2.id)
1755 Filter: (ctid = '(1,1)'::tid)
1756 -> Bitmap Index Scan on t1_pkey
1757 Index Cond: (id = t2.id)
1760 /*+BitmapScan(t1) IndexScan(t2)*/
1761 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1771 ------------------------------------------
1773 -> Index Scan using t2_pkey on t2
1774 Filter: (ctid = '(1,1)'::tid)
1775 -> Bitmap Heap Scan on t1
1776 Recheck Cond: (id = t2.id)
1777 Filter: (ctid = '(1,1)'::tid)
1778 -> Bitmap Index Scan on t1_pkey
1779 Index Cond: (id = t2.id)
1782 /*+BitmapScan(t1) BitmapScan(t2)*/
1783 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1793 ------------------------------------------
1795 -> Index Scan using t2_pkey on t2
1796 Filter: (ctid = '(1,1)'::tid)
1797 -> Bitmap Heap Scan on t1
1798 Recheck Cond: (id = t2.id)
1799 Filter: (ctid = '(1,1)'::tid)
1800 -> Bitmap Index Scan on t1_pkey
1801 Index Cond: (id = t2.id)
1804 /*+BitmapScan(t1) TidScan(t2)*/
1805 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1815 ------------------------------------------
1818 TID Cond: (ctid = '(1,1)'::tid)
1819 -> Bitmap Heap Scan on t1
1820 Recheck Cond: (id = t2.id)
1821 Filter: (ctid = '(1,1)'::tid)
1822 -> Bitmap Index Scan on t1_pkey
1823 Index Cond: (id = t2.id)
1826 /*+BitmapScan(t1) NoSeqScan(t2)*/
1827 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1837 ------------------------------------------
1840 TID Cond: (ctid = '(1,1)'::tid)
1841 -> Bitmap Heap Scan on t1
1842 Recheck Cond: (id = t2.id)
1843 Filter: (ctid = '(1,1)'::tid)
1844 -> Bitmap Index Scan on t1_pkey
1845 Index Cond: (id = t2.id)
1848 /*+BitmapScan(t1) NoIndexScan(t2)*/
1849 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1859 ------------------------------------------
1862 TID Cond: (ctid = '(1,1)'::tid)
1863 -> Bitmap Heap Scan on t1
1864 Recheck Cond: (id = t2.id)
1865 Filter: (ctid = '(1,1)'::tid)
1866 -> Bitmap Index Scan on t1_pkey
1867 Index Cond: (id = t2.id)
1870 /*+BitmapScan(t1) NoBitmapScan(t2)*/
1871 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1881 ------------------------------------------
1884 TID Cond: (ctid = '(1,1)'::tid)
1885 -> Bitmap Heap Scan on t1
1886 Recheck Cond: (id = t2.id)
1887 Filter: (ctid = '(1,1)'::tid)
1888 -> Bitmap Index Scan on t1_pkey
1889 Index Cond: (id = t2.id)
1892 /*+BitmapScan(t1) NoTidScan(t2)*/
1893 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1903 ------------------------------------------
1906 Filter: (ctid = '(1,1)'::tid)
1907 -> Bitmap Heap Scan on t1
1908 Recheck Cond: (id = t2.id)
1909 Filter: (ctid = '(1,1)'::tid)
1910 -> Bitmap Index Scan on t1_pkey
1911 Index Cond: (id = t2.id)
1915 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1924 -----------------------------------------
1926 Join Filter: (t1.id = t2.id)
1928 TID Cond: (ctid = '(1,1)'::tid)
1930 TID Cond: (ctid = '(1,1)'::tid)
1934 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1943 -----------------------------------------
1945 Join Filter: (t1.id = t2.id)
1947 TID Cond: (ctid = '(1,1)'::tid)
1949 TID Cond: (ctid = '(1,1)'::tid)
1952 /*+TidScan(t1) SeqScan(t2)*/
1953 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1963 -----------------------------------------
1965 Join Filter: (t1.id = t2.id)
1967 TID Cond: (ctid = '(1,1)'::tid)
1969 Filter: (ctid = '(1,1)'::tid)
1972 /*+TidScan(t1) IndexScan(t2)*/
1973 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
1983 -----------------------------------------
1986 TID Cond: (ctid = '(1,1)'::tid)
1987 -> Index Scan using t2_pkey on t2
1988 Index Cond: (id = t1.id)
1989 Filter: (ctid = '(1,1)'::tid)
1992 /*+TidScan(t1) BitmapScan(t2)*/
1993 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2003 ------------------------------------------
2006 TID Cond: (ctid = '(1,1)'::tid)
2007 -> Bitmap Heap Scan on t2
2008 Recheck Cond: (id = t1.id)
2009 Filter: (ctid = '(1,1)'::tid)
2010 -> Bitmap Index Scan on t2_pkey
2011 Index Cond: (id = t1.id)
2014 /*+TidScan(t1) TidScan(t2)*/
2015 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2025 -----------------------------------------
2027 Join Filter: (t1.id = t2.id)
2029 TID Cond: (ctid = '(1,1)'::tid)
2031 TID Cond: (ctid = '(1,1)'::tid)
2034 /*+TidScan(t1) NoSeqScan(t2)*/
2035 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2045 -----------------------------------------
2047 Join Filter: (t1.id = t2.id)
2049 TID Cond: (ctid = '(1,1)'::tid)
2051 TID Cond: (ctid = '(1,1)'::tid)
2054 /*+TidScan(t1) NoIndexScan(t2)*/
2055 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2065 -----------------------------------------
2067 Join Filter: (t1.id = t2.id)
2069 TID Cond: (ctid = '(1,1)'::tid)
2071 TID Cond: (ctid = '(1,1)'::tid)
2074 /*+TidScan(t1) NoBitmapScan(t2)*/
2075 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2085 -----------------------------------------
2087 Join Filter: (t1.id = t2.id)
2089 TID Cond: (ctid = '(1,1)'::tid)
2091 TID Cond: (ctid = '(1,1)'::tid)
2094 /*+TidScan(t1) NoTidScan(t2)*/
2095 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2105 -----------------------------------------
2108 TID Cond: (ctid = '(1,1)'::tid)
2109 -> Index Scan using t2_pkey on t2
2110 Index Cond: (id = t1.id)
2111 Filter: (ctid = '(1,1)'::tid)
2115 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2124 -----------------------------------------
2126 Join Filter: (t1.id = t2.id)
2128 TID Cond: (ctid = '(1,1)'::tid)
2130 TID Cond: (ctid = '(1,1)'::tid)
2134 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2143 -----------------------------------------
2145 Join Filter: (t1.id = t2.id)
2147 TID Cond: (ctid = '(1,1)'::tid)
2149 TID Cond: (ctid = '(1,1)'::tid)
2152 /*+NoSeqScan(t1) SeqScan(t2)*/
2153 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2163 -----------------------------------------
2165 Join Filter: (t1.id = t2.id)
2167 TID Cond: (ctid = '(1,1)'::tid)
2169 Filter: (ctid = '(1,1)'::tid)
2172 /*+NoSeqScan(t1) IndexScan(t2)*/
2173 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2183 -----------------------------------------
2186 TID Cond: (ctid = '(1,1)'::tid)
2187 -> Index Scan using t2_pkey on t2
2188 Index Cond: (id = t1.id)
2189 Filter: (ctid = '(1,1)'::tid)
2192 /*+NoSeqScan(t1) BitmapScan(t2)*/
2193 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2203 ------------------------------------------
2206 TID Cond: (ctid = '(1,1)'::tid)
2207 -> Bitmap Heap Scan on t2
2208 Recheck Cond: (id = t1.id)
2209 Filter: (ctid = '(1,1)'::tid)
2210 -> Bitmap Index Scan on t2_pkey
2211 Index Cond: (id = t1.id)
2214 /*+NoSeqScan(t1) TidScan(t2)*/
2215 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2225 -----------------------------------------
2227 Join Filter: (t1.id = t2.id)
2229 TID Cond: (ctid = '(1,1)'::tid)
2231 TID Cond: (ctid = '(1,1)'::tid)
2234 /*+NoSeqScan(t1) NoSeqScan(t2)*/
2235 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2245 -----------------------------------------
2247 Join Filter: (t1.id = t2.id)
2249 TID Cond: (ctid = '(1,1)'::tid)
2251 TID Cond: (ctid = '(1,1)'::tid)
2254 /*+NoSeqScan(t1) NoIndexScan(t2)*/
2255 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2265 -----------------------------------------
2267 Join Filter: (t1.id = t2.id)
2269 TID Cond: (ctid = '(1,1)'::tid)
2271 TID Cond: (ctid = '(1,1)'::tid)
2274 /*+NoSeqScan(t1) NoBitmapScan(t2)*/
2275 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2285 -----------------------------------------
2287 Join Filter: (t1.id = t2.id)
2289 TID Cond: (ctid = '(1,1)'::tid)
2291 TID Cond: (ctid = '(1,1)'::tid)
2294 /*+NoSeqScan(t1) NoTidScan(t2)*/
2295 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2305 -----------------------------------------
2308 TID Cond: (ctid = '(1,1)'::tid)
2309 -> Index Scan using t2_pkey on t2
2310 Index Cond: (id = t1.id)
2311 Filter: (ctid = '(1,1)'::tid)
2314 /*+NoIndexScan(t1)*/
2315 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2324 -----------------------------------------
2326 Join Filter: (t1.id = t2.id)
2328 TID Cond: (ctid = '(1,1)'::tid)
2330 TID Cond: (ctid = '(1,1)'::tid)
2333 /*+NoIndexScan(t2)*/
2334 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2343 -----------------------------------------
2345 Join Filter: (t1.id = t2.id)
2347 TID Cond: (ctid = '(1,1)'::tid)
2349 TID Cond: (ctid = '(1,1)'::tid)
2352 /*+NoIndexScan(t1) SeqScan(t2)*/
2353 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2363 -----------------------------------------
2365 Join Filter: (t1.id = t2.id)
2367 TID Cond: (ctid = '(1,1)'::tid)
2369 Filter: (ctid = '(1,1)'::tid)
2372 /*+NoIndexScan(t1) IndexScan(t2)*/
2373 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2383 -----------------------------------------
2386 TID Cond: (ctid = '(1,1)'::tid)
2387 -> Index Scan using t2_pkey on t2
2388 Index Cond: (id = t1.id)
2389 Filter: (ctid = '(1,1)'::tid)
2392 /*+NoIndexScan(t1) BitmapScan(t2)*/
2393 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2403 ------------------------------------------
2406 TID Cond: (ctid = '(1,1)'::tid)
2407 -> Bitmap Heap Scan on t2
2408 Recheck Cond: (id = t1.id)
2409 Filter: (ctid = '(1,1)'::tid)
2410 -> Bitmap Index Scan on t2_pkey
2411 Index Cond: (id = t1.id)
2414 /*+NoIndexScan(t1) TidScan(t2)*/
2415 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2425 -----------------------------------------
2427 Join Filter: (t1.id = t2.id)
2429 TID Cond: (ctid = '(1,1)'::tid)
2431 TID Cond: (ctid = '(1,1)'::tid)
2434 /*+NoIndexScan(t1) NoSeqScan(t2)*/
2435 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2445 -----------------------------------------
2447 Join Filter: (t1.id = t2.id)
2449 TID Cond: (ctid = '(1,1)'::tid)
2451 TID Cond: (ctid = '(1,1)'::tid)
2454 /*+NoIndexScan(t1) NoIndexScan(t2)*/
2455 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2465 -----------------------------------------
2467 Join Filter: (t1.id = t2.id)
2469 TID Cond: (ctid = '(1,1)'::tid)
2471 TID Cond: (ctid = '(1,1)'::tid)
2474 /*+NoIndexScan(t1) NoBitmapScan(t2)*/
2475 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2485 -----------------------------------------
2487 Join Filter: (t1.id = t2.id)
2489 TID Cond: (ctid = '(1,1)'::tid)
2491 TID Cond: (ctid = '(1,1)'::tid)
2494 /*+NoIndexScan(t1) NoTidScan(t2)*/
2495 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2505 -----------------------------------------
2508 TID Cond: (ctid = '(1,1)'::tid)
2509 -> Index Scan using t2_pkey on t2
2510 Index Cond: (id = t1.id)
2511 Filter: (ctid = '(1,1)'::tid)
2514 /*+NoBitmapScan(t1)*/
2515 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2524 -----------------------------------------
2526 Join Filter: (t1.id = t2.id)
2528 TID Cond: (ctid = '(1,1)'::tid)
2530 TID Cond: (ctid = '(1,1)'::tid)
2533 /*+NoBitmapScan(t2)*/
2534 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2543 -----------------------------------------
2545 Join Filter: (t1.id = t2.id)
2547 TID Cond: (ctid = '(1,1)'::tid)
2549 TID Cond: (ctid = '(1,1)'::tid)
2552 /*+NoBitmapScan(t1) SeqScan(t2)*/
2553 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2563 -----------------------------------------
2565 Join Filter: (t1.id = t2.id)
2567 TID Cond: (ctid = '(1,1)'::tid)
2569 Filter: (ctid = '(1,1)'::tid)
2572 /*+NoBitmapScan(t1) IndexScan(t2)*/
2573 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2583 -----------------------------------------
2586 TID Cond: (ctid = '(1,1)'::tid)
2587 -> Index Scan using t2_pkey on t2
2588 Index Cond: (id = t1.id)
2589 Filter: (ctid = '(1,1)'::tid)
2592 /*+NoBitmapScan(t1) BitmapScan(t2)*/
2593 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2603 ------------------------------------------
2606 TID Cond: (ctid = '(1,1)'::tid)
2607 -> Bitmap Heap Scan on t2
2608 Recheck Cond: (id = t1.id)
2609 Filter: (ctid = '(1,1)'::tid)
2610 -> Bitmap Index Scan on t2_pkey
2611 Index Cond: (id = t1.id)
2614 /*+NoBitmapScan(t1) TidScan(t2)*/
2615 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2625 -----------------------------------------
2627 Join Filter: (t1.id = t2.id)
2629 TID Cond: (ctid = '(1,1)'::tid)
2631 TID Cond: (ctid = '(1,1)'::tid)
2634 /*+NoBitmapScan(t1) NoSeqScan(t2)*/
2635 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2645 -----------------------------------------
2647 Join Filter: (t1.id = t2.id)
2649 TID Cond: (ctid = '(1,1)'::tid)
2651 TID Cond: (ctid = '(1,1)'::tid)
2654 /*+NoBitmapScan(t1) NoIndexScan(t2)*/
2655 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2665 -----------------------------------------
2667 Join Filter: (t1.id = t2.id)
2669 TID Cond: (ctid = '(1,1)'::tid)
2671 TID Cond: (ctid = '(1,1)'::tid)
2674 /*+NoBitmapScan(t1) NoBitmapScan(t2)*/
2675 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2685 -----------------------------------------
2687 Join Filter: (t1.id = t2.id)
2689 TID Cond: (ctid = '(1,1)'::tid)
2691 TID Cond: (ctid = '(1,1)'::tid)
2694 /*+NoBitmapScan(t1) NoTidScan(t2)*/
2695 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2705 -----------------------------------------
2708 TID Cond: (ctid = '(1,1)'::tid)
2709 -> Index Scan using t2_pkey on t2
2710 Index Cond: (id = t1.id)
2711 Filter: (ctid = '(1,1)'::tid)
2715 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2724 -----------------------------------------
2727 TID Cond: (ctid = '(1,1)'::tid)
2728 -> Index Scan using t1_pkey on t1
2729 Index Cond: (id = t2.id)
2730 Filter: (ctid = '(1,1)'::tid)
2734 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2743 -----------------------------------------
2746 TID Cond: (ctid = '(1,1)'::tid)
2747 -> Index Scan using t2_pkey on t2
2748 Index Cond: (id = t1.id)
2749 Filter: (ctid = '(1,1)'::tid)
2752 /*+NoTidScan(t1) SeqScan(t2)*/
2753 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2763 ---------------------------------------
2766 Filter: (ctid = '(1,1)'::tid)
2767 -> Index Scan using t1_pkey on t1
2768 Index Cond: (id = t2.id)
2769 Filter: (ctid = '(1,1)'::tid)
2772 /*+NoTidScan(t1) IndexScan(t2)*/
2773 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2783 ---------------------------------------
2785 -> Index Scan using t2_pkey on t2
2786 Filter: (ctid = '(1,1)'::tid)
2787 -> Index Scan using t1_pkey on t1
2788 Index Cond: (id = t2.id)
2789 Filter: (ctid = '(1,1)'::tid)
2792 /*+NoTidScan(t1) BitmapScan(t2)*/
2793 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2803 ------------------------------------------
2806 Filter: (ctid = '(1,1)'::tid)
2807 -> Bitmap Heap Scan on t2
2808 Recheck Cond: (id = t1.id)
2809 Filter: (ctid = '(1,1)'::tid)
2810 -> Bitmap Index Scan on t2_pkey
2811 Index Cond: (id = t1.id)
2814 /*+NoTidScan(t1) TidScan(t2)*/
2815 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2825 -----------------------------------------
2828 TID Cond: (ctid = '(1,1)'::tid)
2829 -> Index Scan using t1_pkey on t1
2830 Index Cond: (id = t2.id)
2831 Filter: (ctid = '(1,1)'::tid)
2834 /*+NoTidScan(t1) NoSeqScan(t2)*/
2835 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2845 -----------------------------------------
2848 TID Cond: (ctid = '(1,1)'::tid)
2849 -> Index Scan using t1_pkey on t1
2850 Index Cond: (id = t2.id)
2851 Filter: (ctid = '(1,1)'::tid)
2854 /*+NoTidScan(t1) NoIndexScan(t2)*/
2855 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2865 -----------------------------------------
2868 TID Cond: (ctid = '(1,1)'::tid)
2869 -> Index Scan using t1_pkey on t1
2870 Index Cond: (id = t2.id)
2871 Filter: (ctid = '(1,1)'::tid)
2874 /*+NoTidScan(t1) NoBitmapScan(t2)*/
2875 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2885 -----------------------------------------
2888 TID Cond: (ctid = '(1,1)'::tid)
2889 -> Index Scan using t1_pkey on t1
2890 Index Cond: (id = t2.id)
2891 Filter: (ctid = '(1,1)'::tid)
2894 /*+NoTidScan(t1) NoTidScan(t2)*/
2895 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
2905 ---------------------------------------
2908 Filter: (ctid = '(1,1)'::tid)
2909 -> Index Scan using t1_pkey on t1
2910 Index Cond: (id = t2.id)
2911 Filter: (ctid = '(1,1)'::tid)
2915 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;
2917 -----------------------------------------
2919 Join Filter: (t1.id = t2.id)
2921 TID Cond: (ctid = '(1,1)'::tid)
2924 TID Cond: (ctid = '(1,1)'::tid)
2928 /*+BitmapScan(t1) BitmapScan(t2)*/
2929 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;
2939 --------------------------------------------------------
2941 -> Bitmap Heap Scan on t2
2942 Recheck Cond: (id < 10)
2943 Filter: (ctid = '(1,1)'::tid)
2944 -> Bitmap Index Scan on t2_pkey
2945 Index Cond: (id < 10)
2946 -> Bitmap Heap Scan on t1
2947 Recheck Cond: ((id < 10) AND (id = t2.id))
2948 Filter: (ctid = '(1,1)'::tid)
2949 -> Bitmap Index Scan on t1_pkey
2950 Index Cond: ((id < 10) AND (id = t2.id))
2954 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2956 ------------------------------
2958 Hash Cond: (t1.id = t2.id)
2964 /*+MergeJoin(t1 t2)*/
2965 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2974 --------------------------------------
2976 Merge Cond: (t1.id = t2.id)
2977 -> Index Scan using t1_pkey on t1
2978 -> Index Scan using t2_pkey on t2
2981 /*+NestLoop(t1 t2)*/
2982 EXPLAIN (COSTS false) SELECT * FROM t1 FULL OUTER JOIN t2 ON (t1.id = t2.id);
2991 ------------------------------
2993 Hash Cond: (t1.id = t2.id)
2999 -- inherite table test
3000 SET constraint_exclusion TO off;
3001 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3003 -----------------------------------------------------------------------------
3007 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3008 -> Seq Scan on p1_c1 p1
3009 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3010 -> Seq Scan on p1_c2 p1
3011 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3012 -> Seq Scan on p1_c3 p1
3013 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3014 -> Seq Scan on p1_c4 p1
3015 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3016 -> Seq Scan on p1_c1_c1 p1
3017 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3018 -> Seq Scan on p1_c1_c2 p1
3019 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3020 -> Seq Scan on p1_c3_c1 p1
3021 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3022 -> Seq Scan on p1_c3_c2 p1
3023 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3026 SET constraint_exclusion TO on;
3027 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3029 -----------------------------------------------------------------------------
3033 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3034 -> Seq Scan on p1_c1 p1
3035 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3036 -> Seq Scan on p1_c1_c1 p1
3037 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3038 -> Seq Scan on p1_c1_c2 p1
3039 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3042 SET constraint_exclusion TO off;
3044 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3053 -----------------------------------------------------------------------------
3057 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3058 -> Seq Scan on p1_c1 p1
3059 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3060 -> Seq Scan on p1_c2 p1
3061 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3062 -> Seq Scan on p1_c3 p1
3063 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3064 -> Seq Scan on p1_c4 p1
3065 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3066 -> Seq Scan on p1_c1_c1 p1
3067 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3068 -> Seq Scan on p1_c1_c2 p1
3069 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3070 -> Seq Scan on p1_c3_c1 p1
3071 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3072 -> Seq Scan on p1_c3_c2 p1
3073 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3077 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3086 -----------------------------------------------------------
3089 -> Index Scan using p1_pkey on p1
3090 Index Cond: ((id >= 50) AND (id <= 51))
3091 Filter: (ctid = '(1,1)'::tid)
3092 -> Index Scan using p1_c1_pkey on p1_c1 p1
3093 Index Cond: ((id >= 50) AND (id <= 51))
3094 Filter: (ctid = '(1,1)'::tid)
3095 -> Index Scan using p1_c2_pkey on p1_c2 p1
3096 Index Cond: ((id >= 50) AND (id <= 51))
3097 Filter: (ctid = '(1,1)'::tid)
3098 -> Index Scan using p1_c3_pkey on p1_c3 p1
3099 Index Cond: ((id >= 50) AND (id <= 51))
3100 Filter: (ctid = '(1,1)'::tid)
3101 -> Index Scan using p1_c4_pkey on p1_c4 p1
3102 Index Cond: ((id >= 50) AND (id <= 51))
3103 Filter: (ctid = '(1,1)'::tid)
3104 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
3105 Index Cond: ((id >= 50) AND (id <= 51))
3106 Filter: (ctid = '(1,1)'::tid)
3107 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
3108 Index Cond: ((id >= 50) AND (id <= 51))
3109 Filter: (ctid = '(1,1)'::tid)
3110 -> Index Scan using p1_c3_c1_pkey on p1_c3_c1 p1
3111 Index Cond: ((id >= 50) AND (id <= 51))
3112 Filter: (ctid = '(1,1)'::tid)
3113 -> Index Scan using p1_c3_c2_pkey on p1_c3_c2 p1
3114 Index Cond: ((id >= 50) AND (id <= 51))
3115 Filter: (ctid = '(1,1)'::tid)
3119 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3128 -------------------------------------------------------------
3131 -> Bitmap Heap Scan on p1
3132 Recheck Cond: ((id >= 50) AND (id <= 51))
3133 Filter: (ctid = '(1,1)'::tid)
3134 -> Bitmap Index Scan on p1_pkey
3135 Index Cond: ((id >= 50) AND (id <= 51))
3136 -> Bitmap Heap Scan on p1_c1 p1
3137 Recheck Cond: ((id >= 50) AND (id <= 51))
3138 Filter: (ctid = '(1,1)'::tid)
3139 -> Bitmap Index Scan on p1_c1_pkey
3140 Index Cond: ((id >= 50) AND (id <= 51))
3141 -> Bitmap Heap Scan on p1_c2 p1
3142 Recheck Cond: ((id >= 50) AND (id <= 51))
3143 Filter: (ctid = '(1,1)'::tid)
3144 -> Bitmap Index Scan on p1_c2_pkey
3145 Index Cond: ((id >= 50) AND (id <= 51))
3146 -> Bitmap Heap Scan on p1_c3 p1
3147 Recheck Cond: ((id >= 50) AND (id <= 51))
3148 Filter: (ctid = '(1,1)'::tid)
3149 -> Bitmap Index Scan on p1_c3_pkey
3150 Index Cond: ((id >= 50) AND (id <= 51))
3151 -> Bitmap Heap Scan on p1_c4 p1
3152 Recheck Cond: ((id >= 50) AND (id <= 51))
3153 Filter: (ctid = '(1,1)'::tid)
3154 -> Bitmap Index Scan on p1_c4_pkey
3155 Index Cond: ((id >= 50) AND (id <= 51))
3156 -> Bitmap Heap Scan on p1_c1_c1 p1
3157 Recheck Cond: ((id >= 50) AND (id <= 51))
3158 Filter: (ctid = '(1,1)'::tid)
3159 -> Bitmap Index Scan on p1_c1_c1_pkey
3160 Index Cond: ((id >= 50) AND (id <= 51))
3161 -> Bitmap Heap Scan on p1_c1_c2 p1
3162 Recheck Cond: ((id >= 50) AND (id <= 51))
3163 Filter: (ctid = '(1,1)'::tid)
3164 -> Bitmap Index Scan on p1_c1_c2_pkey
3165 Index Cond: ((id >= 50) AND (id <= 51))
3166 -> Bitmap Heap Scan on p1_c3_c1 p1
3167 Recheck Cond: ((id >= 50) AND (id <= 51))
3168 Filter: (ctid = '(1,1)'::tid)
3169 -> Bitmap Index Scan on p1_c3_c1_pkey
3170 Index Cond: ((id >= 50) AND (id <= 51))
3171 -> Bitmap Heap Scan on p1_c3_c2 p1
3172 Recheck Cond: ((id >= 50) AND (id <= 51))
3173 Filter: (ctid = '(1,1)'::tid)
3174 -> Bitmap Index Scan on p1_c3_c2_pkey
3175 Index Cond: ((id >= 50) AND (id <= 51))
3179 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3188 ---------------------------------------------------
3192 TID Cond: (ctid = '(1,1)'::tid)
3193 Filter: ((id >= 50) AND (id <= 51))
3194 -> Tid Scan on p1_c1 p1
3195 TID Cond: (ctid = '(1,1)'::tid)
3196 Filter: ((id >= 50) AND (id <= 51))
3197 -> Tid Scan on p1_c2 p1
3198 TID Cond: (ctid = '(1,1)'::tid)
3199 Filter: ((id >= 50) AND (id <= 51))
3200 -> Tid Scan on p1_c3 p1
3201 TID Cond: (ctid = '(1,1)'::tid)
3202 Filter: ((id >= 50) AND (id <= 51))
3203 -> Tid Scan on p1_c4 p1
3204 TID Cond: (ctid = '(1,1)'::tid)
3205 Filter: ((id >= 50) AND (id <= 51))
3206 -> Tid Scan on p1_c1_c1 p1
3207 TID Cond: (ctid = '(1,1)'::tid)
3208 Filter: ((id >= 50) AND (id <= 51))
3209 -> Tid Scan on p1_c1_c2 p1
3210 TID Cond: (ctid = '(1,1)'::tid)
3211 Filter: ((id >= 50) AND (id <= 51))
3212 -> Tid Scan on p1_c3_c1 p1
3213 TID Cond: (ctid = '(1,1)'::tid)
3214 Filter: ((id >= 50) AND (id <= 51))
3215 -> Tid Scan on p1_c3_c2 p1
3216 TID Cond: (ctid = '(1,1)'::tid)
3217 Filter: ((id >= 50) AND (id <= 51))
3220 SET constraint_exclusion TO on;
3222 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3231 -----------------------------------------------------------------------------
3235 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3236 -> Seq Scan on p1_c1 p1
3237 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3238 -> Seq Scan on p1_c1_c1 p1
3239 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3240 -> Seq Scan on p1_c1_c2 p1
3241 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3245 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3254 -----------------------------------------------------------
3257 -> Index Scan using p1_pkey on p1
3258 Index Cond: ((id >= 50) AND (id <= 51))
3259 Filter: (ctid = '(1,1)'::tid)
3260 -> Index Scan using p1_c1_pkey on p1_c1 p1
3261 Index Cond: ((id >= 50) AND (id <= 51))
3262 Filter: (ctid = '(1,1)'::tid)
3263 -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1
3264 Index Cond: ((id >= 50) AND (id <= 51))
3265 Filter: (ctid = '(1,1)'::tid)
3266 -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1
3267 Index Cond: ((id >= 50) AND (id <= 51))
3268 Filter: (ctid = '(1,1)'::tid)
3272 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3281 -------------------------------------------------------------
3284 -> Bitmap Heap Scan on p1
3285 Recheck Cond: ((id >= 50) AND (id <= 51))
3286 Filter: (ctid = '(1,1)'::tid)
3287 -> Bitmap Index Scan on p1_pkey
3288 Index Cond: ((id >= 50) AND (id <= 51))
3289 -> Bitmap Heap Scan on p1_c1 p1
3290 Recheck Cond: ((id >= 50) AND (id <= 51))
3291 Filter: (ctid = '(1,1)'::tid)
3292 -> Bitmap Index Scan on p1_c1_pkey
3293 Index Cond: ((id >= 50) AND (id <= 51))
3294 -> Bitmap Heap Scan on p1_c1_c1 p1
3295 Recheck Cond: ((id >= 50) AND (id <= 51))
3296 Filter: (ctid = '(1,1)'::tid)
3297 -> Bitmap Index Scan on p1_c1_c1_pkey
3298 Index Cond: ((id >= 50) AND (id <= 51))
3299 -> Bitmap Heap Scan on p1_c1_c2 p1
3300 Recheck Cond: ((id >= 50) AND (id <= 51))
3301 Filter: (ctid = '(1,1)'::tid)
3302 -> Bitmap Index Scan on p1_c1_c2_pkey
3303 Index Cond: ((id >= 50) AND (id <= 51))
3307 EXPLAIN (COSTS false) SELECT * FROM p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3316 ---------------------------------------------------
3320 TID Cond: (ctid = '(1,1)'::tid)
3321 Filter: ((id >= 50) AND (id <= 51))
3322 -> Tid Scan on p1_c1 p1
3323 TID Cond: (ctid = '(1,1)'::tid)
3324 Filter: ((id >= 50) AND (id <= 51))
3325 -> Tid Scan on p1_c1_c1 p1
3326 TID Cond: (ctid = '(1,1)'::tid)
3327 Filter: ((id >= 50) AND (id <= 51))
3328 -> Tid Scan on p1_c1_c2 p1
3329 TID Cond: (ctid = '(1,1)'::tid)
3330 Filter: ((id >= 50) AND (id <= 51))
3333 SET constraint_exclusion TO off;
3334 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;
3336 -----------------------------------------------------------------------------------
3338 Merge Cond: (public.p1.id = t1.id)
3340 Sort Key: public.p1.id
3343 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3344 -> Seq Scan on p1_c1 p1
3345 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3346 -> Seq Scan on p1_c2 p1
3347 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3348 -> Seq Scan on p1_c3 p1
3349 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3350 -> Seq Scan on p1_c4 p1
3351 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3352 -> Seq Scan on p1_c1_c1 p1
3353 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3354 -> Seq Scan on p1_c1_c2 p1
3355 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3356 -> Seq Scan on p1_c3_c1 p1
3357 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3358 -> Seq Scan on p1_c3_c2 p1
3359 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3360 -> Index Scan using t1_pkey on t1
3361 Index Cond: (id < 10)
3364 SET constraint_exclusion TO on;
3365 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;
3367 -----------------------------------------------------------------------------------
3369 Merge Cond: (public.p1.id = t1.id)
3371 Sort Key: public.p1.id
3374 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3375 -> Seq Scan on p1_c1 p1
3376 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3377 -> Seq Scan on p1_c1_c1 p1
3378 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3379 -> Seq Scan on p1_c1_c2 p1
3380 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3381 -> Index Scan using t1_pkey on t1
3382 Index Cond: (id < 10)
3385 SET constraint_exclusion TO off;
3387 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;
3396 -----------------------------------------------------------------------------------
3398 Merge Cond: (public.p1.id = t1.id)
3400 Sort Key: public.p1.id
3403 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3404 -> Seq Scan on p1_c1 p1
3405 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3406 -> Seq Scan on p1_c2 p1
3407 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3408 -> Seq Scan on p1_c3 p1
3409 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3410 -> Seq Scan on p1_c4 p1
3411 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3412 -> Seq Scan on p1_c1_c1 p1
3413 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3414 -> Seq Scan on p1_c1_c2 p1
3415 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3416 -> Seq Scan on p1_c3_c1 p1
3417 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3418 -> Seq Scan on p1_c3_c2 p1
3419 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3420 -> Index Scan using t1_pkey on t1
3421 Index Cond: (id < 10)
3425 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;
3434 -----------------------------------------------------------------------------------
3436 Merge Cond: (public.p1.id = t1.id)
3438 Sort Key: public.p1.id
3441 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3442 -> Seq Scan on p1_c1 p1
3443 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3444 -> Seq Scan on p1_c2 p1
3445 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3446 -> Seq Scan on p1_c3 p1
3447 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3448 -> Seq Scan on p1_c4 p1
3449 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3450 -> Seq Scan on p1_c1_c1 p1
3451 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3452 -> Seq Scan on p1_c1_c2 p1
3453 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3454 -> Seq Scan on p1_c3_c1 p1
3455 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3456 -> Seq Scan on p1_c3_c2 p1
3457 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3458 -> Index Scan using t1_pkey on t1
3459 Index Cond: (id < 10)
3463 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;
3472 -----------------------------------------------------------------------------------
3474 Merge Cond: (public.p1.id = t1.id)
3476 Sort Key: public.p1.id
3479 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3480 -> Seq Scan on p1_c1 p1
3481 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3482 -> Seq Scan on p1_c2 p1
3483 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3484 -> Seq Scan on p1_c3 p1
3485 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3486 -> Seq Scan on p1_c4 p1
3487 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3488 -> Seq Scan on p1_c1_c1 p1
3489 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3490 -> Seq Scan on p1_c1_c2 p1
3491 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3492 -> Seq Scan on p1_c3_c1 p1
3493 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3494 -> Seq Scan on p1_c3_c2 p1
3495 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3496 -> Index Scan using t1_pkey on t1
3497 Index Cond: (id < 10)
3501 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;
3510 -----------------------------------------------------------------------------------
3512 Merge Cond: (public.p1.id = t1.id)
3514 Sort Key: public.p1.id
3517 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3518 -> Seq Scan on p1_c1 p1
3519 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3520 -> Seq Scan on p1_c2 p1
3521 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3522 -> Seq Scan on p1_c3 p1
3523 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3524 -> Seq Scan on p1_c4 p1
3525 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3526 -> Seq Scan on p1_c1_c1 p1
3527 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3528 -> Seq Scan on p1_c1_c2 p1
3529 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3530 -> Seq Scan on p1_c3_c1 p1
3531 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3532 -> Seq Scan on p1_c3_c2 p1
3533 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3534 -> Index Scan using t1_pkey on t1
3535 Index Cond: (id < 10)
3538 /*+NestLoop(p1 t1)*/
3539 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;
3548 -----------------------------------------------------------------------------
3550 Join Filter: (public.p1.id = t1.id)
3553 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3554 -> Seq Scan on p1_c1 p1
3555 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3556 -> Seq Scan on p1_c2 p1
3557 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3558 -> Seq Scan on p1_c3 p1
3559 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3560 -> Seq Scan on p1_c4 p1
3561 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3562 -> Seq Scan on p1_c1_c1 p1
3563 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3564 -> Seq Scan on p1_c1_c2 p1
3565 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3566 -> Seq Scan on p1_c3_c1 p1
3567 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3568 -> Seq Scan on p1_c3_c2 p1
3569 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3571 -> Index Scan using t1_pkey on t1
3572 Index Cond: (id < 10)
3575 /*+MergeJoin(p1 t1)*/
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
3592 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3593 -> Seq Scan on p1_c1 p1
3594 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3595 -> Seq Scan on p1_c2 p1
3596 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3597 -> Seq Scan on p1_c3 p1
3598 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3599 -> Seq Scan on p1_c4 p1
3600 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3601 -> Seq Scan on p1_c1_c1 p1
3602 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3603 -> Seq Scan on p1_c1_c2 p1
3604 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3605 -> Seq Scan on p1_c3_c1 p1
3606 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3607 -> Seq Scan on p1_c3_c2 p1
3608 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3609 -> Index Scan using t1_pkey on t1
3610 Index Cond: (id < 10)
3613 /*+HashJoin(p1 t1)*/
3614 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;
3623 -----------------------------------------------------------------------------
3625 Hash Cond: (public.p1.id = t1.id)
3628 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3629 -> Seq Scan on p1_c1 p1
3630 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3631 -> Seq Scan on p1_c2 p1
3632 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3633 -> Seq Scan on p1_c3 p1
3634 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3635 -> Seq Scan on p1_c4 p1
3636 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3637 -> Seq Scan on p1_c1_c1 p1
3638 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3639 -> Seq Scan on p1_c1_c2 p1
3640 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3641 -> Seq Scan on p1_c3_c1 p1
3642 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3643 -> Seq Scan on p1_c3_c2 p1
3644 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3646 -> Index Scan using t1_pkey on t1
3647 Index Cond: (id < 10)
3650 SET constraint_exclusion TO on;
3652 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;
3661 -----------------------------------------------------------------------------------
3663 Merge Cond: (public.p1.id = t1.id)
3665 Sort Key: public.p1.id
3668 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3669 -> Seq Scan on p1_c1 p1
3670 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3671 -> Seq Scan on p1_c1_c1 p1
3672 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3673 -> Seq Scan on p1_c1_c2 p1
3674 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3675 -> Index Scan using t1_pkey on t1
3676 Index Cond: (id < 10)
3680 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;
3689 -----------------------------------------------------------------------------------
3691 Merge Cond: (public.p1.id = t1.id)
3693 Sort Key: public.p1.id
3696 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3697 -> Seq Scan on p1_c1 p1
3698 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3699 -> Seq Scan on p1_c1_c1 p1
3700 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3701 -> Seq Scan on p1_c1_c2 p1
3702 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3703 -> Index Scan using t1_pkey on t1
3704 Index Cond: (id < 10)
3708 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;
3717 -----------------------------------------------------------------------------------
3719 Merge Cond: (public.p1.id = t1.id)
3721 Sort Key: public.p1.id
3724 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3725 -> Seq Scan on p1_c1 p1
3726 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3727 -> Seq Scan on p1_c1_c1 p1
3728 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3729 -> Seq Scan on p1_c1_c2 p1
3730 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3731 -> Index Scan using t1_pkey on t1
3732 Index Cond: (id < 10)
3736 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;
3745 -----------------------------------------------------------------------------------
3747 Merge Cond: (public.p1.id = t1.id)
3749 Sort Key: public.p1.id
3752 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3753 -> Seq Scan on p1_c1 p1
3754 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3755 -> Seq Scan on p1_c1_c1 p1
3756 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3757 -> Seq Scan on p1_c1_c2 p1
3758 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3759 -> Index Scan using t1_pkey on t1
3760 Index Cond: (id < 10)
3763 /*+NestLoop(p1 t1)*/
3764 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;
3773 -----------------------------------------------------------------------------------
3775 Join Filter: (public.p1.id = t1.id)
3776 -> Index Scan using t1_pkey on t1
3777 Index Cond: (id < 10)
3781 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3782 -> Seq Scan on p1_c1 p1
3783 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3784 -> Seq Scan on p1_c1_c1 p1
3785 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3786 -> Seq Scan on p1_c1_c2 p1
3787 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3790 /*+MergeJoin(p1 t1)*/
3791 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;
3800 -----------------------------------------------------------------------------------
3802 Merge Cond: (public.p1.id = t1.id)
3804 Sort Key: public.p1.id
3807 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3808 -> Seq Scan on p1_c1 p1
3809 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3810 -> Seq Scan on p1_c1_c1 p1
3811 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3812 -> Seq Scan on p1_c1_c2 p1
3813 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3814 -> Index Scan using t1_pkey on t1
3815 Index Cond: (id < 10)
3818 /*+HashJoin(p1 t1)*/
3819 EXPLAIN (COSTS false) SELECT * FROM p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
3828 -----------------------------------------------------------------------------------
3830 Hash Cond: (t1.id = public.p1.id)
3831 -> Index Scan using t1_pkey on t1
3832 Index Cond: (id < 10)
3836 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3837 -> Seq Scan on p1_c1 p1
3838 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3839 -> Seq Scan on p1_c1_c1 p1
3840 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3841 -> Seq Scan on p1_c1_c2 p1
3842 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3845 SET constraint_exclusion TO off;
3846 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3848 -----------------------------------------------------------------
3850 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3853 SET constraint_exclusion TO on;
3854 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3856 -----------------------------------------------------------------
3858 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3861 SET constraint_exclusion TO off;
3863 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3872 -----------------------------------------------------------------
3874 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3878 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3887 -------------------------------------------
3888 Index Scan using p1_pkey on p1
3889 Index Cond: ((id >= 50) AND (id <= 51))
3890 Filter: (ctid = '(1,1)'::tid)
3894 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3903 -------------------------------------------------
3904 Bitmap Heap Scan on p1
3905 Recheck Cond: ((id >= 50) AND (id <= 51))
3906 Filter: (ctid = '(1,1)'::tid)
3907 -> Bitmap Index Scan on p1_pkey
3908 Index Cond: ((id >= 50) AND (id <= 51))
3912 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3921 ---------------------------------------
3923 TID Cond: (ctid = '(1,1)'::tid)
3924 Filter: ((id >= 50) AND (id <= 51))
3927 /*+NestLoop(p1 t1)*/
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))
3945 /*+MergeJoin(p1 t1)*/
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 Merge Cond: (p1.id = t1.id)
3961 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3962 -> Index Scan using t1_pkey on t1
3963 Index Cond: (id < 10)
3966 /*+HashJoin(p1 t1)*/
3967 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;
3976 -----------------------------------------------------------------------------
3978 Hash Cond: (t1.id = p1.id)
3979 -> Index Scan using t1_pkey on t1
3980 Index Cond: (id < 10)
3983 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
3986 SET constraint_exclusion TO on;
3988 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
3997 -----------------------------------------------------------------
3999 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4003 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4012 -------------------------------------------
4013 Index Scan using p1_pkey on p1
4014 Index Cond: ((id >= 50) AND (id <= 51))
4015 Filter: (ctid = '(1,1)'::tid)
4019 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4028 -------------------------------------------------
4029 Bitmap Heap Scan on p1
4030 Recheck Cond: ((id >= 50) AND (id <= 51))
4031 Filter: (ctid = '(1,1)'::tid)
4032 -> Bitmap Index Scan on p1_pkey
4033 Index Cond: ((id >= 50) AND (id <= 51))
4037 EXPLAIN (COSTS false) SELECT * FROM ONLY p1 WHERE id >= 50 AND id <= 51 AND p1.ctid = '(1,1)';
4046 ---------------------------------------
4048 TID Cond: (ctid = '(1,1)'::tid)
4049 Filter: ((id >= 50) AND (id <= 51))
4052 /*+NestLoop(p1 t1)*/
4053 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;
4062 -----------------------------------------------------------------------
4065 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4066 -> Index Scan using t1_pkey on t1
4067 Index Cond: ((id < 10) AND (id = p1.id))
4070 /*+MergeJoin(p1 t1)*/
4071 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;
4080 -----------------------------------------------------------------------------
4082 Merge Cond: (p1.id = t1.id)
4086 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4087 -> Index Scan using t1_pkey on t1
4088 Index Cond: (id < 10)
4091 /*+HashJoin(p1 t1)*/
4092 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;
4101 -----------------------------------------------------------------------------
4103 Hash Cond: (t1.id = p1.id)
4104 -> Index Scan using t1_pkey on t1
4105 Index Cond: (id < 10)
4108 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4111 SET constraint_exclusion TO off;
4112 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;
4114 -----------------------------------------------------------------------
4117 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4118 -> Index Scan using t1_pkey on t1
4119 Index Cond: ((id < 10) AND (id = p1.id))
4122 SET constraint_exclusion TO on;
4123 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;
4125 -----------------------------------------------------------------------
4128 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4129 -> Index Scan using t1_pkey on t1
4130 Index Cond: ((id < 10) AND (id = p1.id))
4133 SET constraint_exclusion TO off;
4135 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;
4144 -----------------------------------------------------------------------
4147 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4148 -> Index Scan using t1_pkey on t1
4149 Index Cond: ((id < 10) AND (id = p1.id))
4153 EXPLAIN (COSTS false) SELECT * FROM ONLY p1, t1 WHERE p1.id >= 50 AND p1.id <= 51 AND p1.ctid = '(1,1)' AND p1.id = t1.id AND t1.id < 10;
4162 --------------------------------------------------
4164 -> Index Scan using p1_pkey on p1
4165 Index Cond: ((id >= 50) AND (id <= 51))
4166 Filter: (ctid = '(1,1)'::tid)
4167 -> Index Scan using t1_pkey on t1
4168 Index Cond: ((id < 10) AND (id = p1.id))
4172 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;
4181 -------------------------------------------------------
4183 -> Bitmap Heap Scan on p1
4184 Recheck Cond: ((id >= 50) AND (id <= 51))
4185 Filter: (ctid = '(1,1)'::tid)
4186 -> Bitmap Index Scan on p1_pkey
4187 Index Cond: ((id >= 50) AND (id <= 51))
4188 -> Index Scan using t1_pkey on t1
4189 Index Cond: ((id < 10) AND (id = p1.id))
4193 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;
4202 --------------------------------------------------
4205 TID Cond: (ctid = '(1,1)'::tid)
4206 Filter: ((id >= 50) AND (id <= 51))
4207 -> Index Scan using t1_pkey on t1
4208 Index Cond: ((id < 10) AND (id = p1.id))
4211 SET constraint_exclusion TO on;
4213 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;
4222 -----------------------------------------------------------------------
4225 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
4226 -> Index Scan using t1_pkey on t1
4227 Index Cond: ((id < 10) AND (id = p1.id))
4231 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;
4240 --------------------------------------------------
4242 -> Index Scan using p1_pkey on p1
4243 Index Cond: ((id >= 50) AND (id <= 51))
4244 Filter: (ctid = '(1,1)'::tid)
4245 -> Index Scan using t1_pkey on t1
4246 Index Cond: ((id < 10) AND (id = p1.id))
4250 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;
4259 -------------------------------------------------------
4261 -> Bitmap Heap Scan on p1
4262 Recheck Cond: ((id >= 50) AND (id <= 51))
4263 Filter: (ctid = '(1,1)'::tid)
4264 -> Bitmap Index Scan on p1_pkey
4265 Index Cond: ((id >= 50) AND (id <= 51))
4266 -> Index Scan using t1_pkey on t1
4267 Index Cond: ((id < 10) AND (id = p1.id))
4271 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;
4280 --------------------------------------------------
4283 TID Cond: (ctid = '(1,1)'::tid)
4284 Filter: ((id >= 50) AND (id <= 51))
4285 -> Index Scan using t1_pkey on t1
4286 Index Cond: ((id < 10) AND (id = p1.id))
4290 /*+SeqScan("""t1 ) ")IndexScan("t 2 """)HashJoin("""t1 ) "T3"t 2 """)Leading("""t1 ) "T3"t 2 """)Set(application_name"a a a"" a A")*/
4291 EXPLAIN (COSTS false) SELECT * FROM t1 """t1 ) ", t2 "t 2 """, t3 "T3" WHERE """t1 ) ".id = "t 2 """.id AND """t1 ) ".id = "T3".id;
4296 HashJoin("""t1 ) " T3 "t 2 """)
4297 Leading("""t1 ) " T3 "t 2 """)
4298 Set(application_name "a a a"" a A")
4304 ---------------------------------------------------------
4306 Hash Cond: ("t 2 """.id = """t1 ) ".id)
4307 -> Index Scan using t2_pkey on t2 "t 2 """
4310 Hash Cond: ("""t1 ) ".id = "T3".id)
4311 -> Seq Scan on t1 """t1 ) "
4313 -> Seq Scan on t3 "T3"
4316 -- duplicate hint test
4317 /*+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)*/
4318 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.ctid = '(1,1)' AND t2.ctid = '(1,1)';
4319 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)"
4320 DETAIL: Conflict scan method hint.
4321 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)"
4322 DETAIL: Conflict scan method hint.
4323 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)"
4324 DETAIL: Conflict scan method hint.
4325 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)"
4326 DETAIL: Conflict scan method hint.
4327 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)"
4328 DETAIL: Conflict scan method hint.
4329 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)"
4330 DETAIL: Conflict scan method hint.
4331 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)"
4332 DETAIL: Conflict join method hint.
4333 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)"
4334 DETAIL: Conflict join method hint.
4335 INFO: hint syntax error at or near "Set(enable_seqscan off)Set(enable_mergejoin on)Set(enable_seqscan on)"
4336 DETAIL: Conflict set hint.
4337 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)"
4338 DETAIL: Conflict leading hint.
4345 Set(enable_mergejoin on)
4346 Set(enable_seqscan on)
4358 Set(enable_seqscan off)
4362 -----------------------------------------------
4364 Merge Cond: (t1.id = t2.id)
4368 TID Cond: (ctid = '(1,1)'::tid)
4372 TID Cond: (ctid = '(1,1)'::tid)
4375 -- sub query Leading hint test
4376 SET from_collapse_limit TO 100;
4377 SET geqo_threshold TO 100;
4378 EXPLAIN (COSTS false)
4380 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
4383 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
4384 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4385 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
4386 ) 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 = (
4387 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
4390 -------------------------------------------------------------------------
4395 Merge Cond: (t1_5.id = t3_5.id)
4397 Merge Cond: (t1_5.id = t2_5.id)
4398 -> Index Scan using t1_pkey on t1 t1_5
4399 -> Index Scan using t2_pkey on t2 t2_5
4402 -> Seq Scan on t3 t3_5
4403 InitPlan 2 (returns $1)
4406 Merge Cond: (t1_2.id = t3_2.id)
4408 Merge Cond: (t1_2.id = t2_2.id)
4409 -> Index Scan using t1_pkey on t1 t1_2
4410 -> Index Scan using t2_pkey on t2 t2_2
4413 -> Seq Scan on t3 t3_2
4414 InitPlan 3 (returns $2)
4417 Merge Cond: (t1_4.id = t3_4.id)
4419 Merge Cond: (t1_4.id = t2_4.id)
4420 -> Index Scan using t1_pkey on t1 t1_4
4421 -> Index Scan using t2_pkey on t2 t2_4
4424 -> Seq Scan on t3 t3_4
4430 -> Index Scan using t1_pkey on t1 t1_1
4431 Index Cond: (id = $2)
4432 -> Seq Scan on t3 t3_1
4434 -> Index Scan using t2_pkey on t2 t2_1
4435 Index Cond: (id = $2)
4436 -> Index Scan using t1_pkey on t1 t1_3
4437 Index Cond: (id = $2)
4438 -> Index Scan using t2_pkey on t2 t2_3
4439 Index Cond: (id = $2)
4440 -> Seq Scan on t3 t3_3
4446 /*+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)*/
4447 EXPLAIN (COSTS false)
4449 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
4452 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
4453 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4454 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
4455 ) 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 = (
4456 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
4462 MergeJoin(t1_3 t3_3)
4470 -------------------------------------------------------------------------
4475 Merge Cond: (t1_5.id = t3_5.id)
4477 -> Index Scan using t2_pkey on t2 t2_5
4478 -> Index Scan using t1_pkey on t1 t1_5
4479 Index Cond: (id = t2_5.id)
4482 -> Seq Scan on t3 t3_5
4483 InitPlan 2 (returns $2)
4486 Merge Cond: (t1_2.id = t3_2.id)
4488 -> Index Scan using t2_pkey on t2 t2_2
4489 -> Index Scan using t1_pkey on t1 t1_2
4490 Index Cond: (id = t2_2.id)
4493 -> Seq Scan on t3 t3_2
4494 InitPlan 3 (returns $3)
4497 Merge Cond: (t1_4.id = t3_4.id)
4499 -> Index Scan using t2_pkey on t2 t2_4
4500 -> Index Scan using t1_pkey on t1 t1_4
4501 Index Cond: (id = t2_4.id)
4504 -> Seq Scan on t3 t3_4
4510 -> Index Scan using t2_pkey on t2 t2_1
4511 Index Cond: (id = $3)
4512 -> Seq Scan on t3 t3_1
4514 -> Index Scan using t1_pkey on t1 t1_1
4515 Index Cond: (id = $3)
4516 -> Index Scan using t1_pkey on t1 t1_3
4517 Index Cond: (id = $3)
4518 -> Index Scan using t2_pkey on t2 t2_3
4519 Index Cond: (id = $3)
4520 -> Seq Scan on t3 t3_3
4526 /*+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)*/
4527 EXPLAIN (COSTS false)
4529 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
4532 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
4533 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4534 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
4535 ) 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 = (
4536 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
4542 MergeJoin(t1_3 t3_3)
4546 Leading(a t1_1 t1_2 t1_4 t1_5)
4551 -------------------------------------------------------------------------
4556 Merge Cond: (t1_5.id = t3_5.id)
4558 -> Index Scan using t2_pkey on t2 t2_5
4559 -> Index Scan using t1_pkey on t1 t1_5
4560 Index Cond: (id = t2_5.id)
4563 -> Seq Scan on t3 t3_5
4564 InitPlan 2 (returns $2)
4567 Merge Cond: (t1_2.id = t3_2.id)
4569 -> Index Scan using t2_pkey on t2 t2_2
4570 -> Index Scan using t1_pkey on t1 t1_2
4571 Index Cond: (id = t2_2.id)
4574 -> Seq Scan on t3 t3_2
4575 InitPlan 3 (returns $3)
4578 Merge Cond: (t1_4.id = t3_4.id)
4580 -> Index Scan using t2_pkey on t2 t2_4
4581 -> Index Scan using t1_pkey on t1 t1_4
4582 Index Cond: (id = t2_4.id)
4585 -> Seq Scan on t3 t3_4
4591 -> Index Scan using t2_pkey on t2 t2_1
4592 Index Cond: (id = $3)
4593 -> Seq Scan on t3 t3_1
4595 -> Index Scan using t1_pkey on t1 t1_1
4596 Index Cond: (id = $3)
4597 -> Index Scan using t1_pkey on t1 t1_3
4598 Index Cond: (id = $3)
4599 -> Index Scan using t2_pkey on t2 t2_3
4600 Index Cond: (id = $3)
4601 -> Seq Scan on t3 t3_3
4607 /*+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)*/
4608 EXPLAIN (COSTS false)
4610 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
4613 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
4614 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4615 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
4616 ) 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 = (
4617 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
4623 MergeJoin(t1_3 t3_3)
4627 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)
4632 -------------------------------------------------------------------------
4637 Merge Cond: (t1_5.id = t3_5.id)
4639 -> Index Scan using t2_pkey on t2 t2_5
4640 -> Index Scan using t1_pkey on t1 t1_5
4641 Index Cond: (id = t2_5.id)
4644 -> Seq Scan on t3 t3_5
4645 InitPlan 2 (returns $2)
4648 Merge Cond: (t1_2.id = t3_2.id)
4650 -> Index Scan using t2_pkey on t2 t2_2
4651 -> Index Scan using t1_pkey on t1 t1_2
4652 Index Cond: (id = t2_2.id)
4655 -> Seq Scan on t3 t3_2
4656 InitPlan 3 (returns $3)
4659 Merge Cond: (t1_4.id = t3_4.id)
4661 -> Index Scan using t2_pkey on t2 t2_4
4662 -> Index Scan using t1_pkey on t1 t1_4
4663 Index Cond: (id = t2_4.id)
4666 -> Seq Scan on t3 t3_4
4672 -> Index Scan using t2_pkey on t2 t2_1
4673 Index Cond: (id = $3)
4674 -> Seq Scan on t3 t3_1
4676 -> Index Scan using t1_pkey on t1 t1_1
4677 Index Cond: (id = $3)
4678 -> Index Scan using t1_pkey on t1 t1_3
4679 Index Cond: (id = $3)
4680 -> Index Scan using t2_pkey on t2 t2_3
4681 Index Cond: (id = $3)
4682 -> Seq Scan on t3 t3_3
4688 /*+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(t3_5 t2_5 t1_5)Leading(t3_2 t2_2 t1_2)Leading(t3_4 t2_4 t1_4)Leading(c1_1 t3_3 t2_3 t1_3 t3_1 t2_1 t1_1)*/
4689 EXPLAIN (COSTS false)
4691 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
4694 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
4695 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4696 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
4697 ) 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 = (
4698 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
4702 Leading(t3_5 t2_5 t1_5)
4703 Leading(t3_2 t2_2 t1_2)
4704 Leading(t3_4 t2_4 t1_4)
4705 Leading(c1_1 t3_3 t2_3 t1_3 t3_1 t2_1 t1_1)
4709 MergeJoin(t1_3 t3_3)
4716 -------------------------------------------------------------------
4721 Merge Cond: (t2_5.id = t1_5.id)
4723 Merge Cond: (t2_5.id = t3_5.id)
4724 -> Index Scan using t2_pkey on t2 t2_5
4727 -> Seq Scan on t3 t3_5
4728 -> Index Scan using t1_pkey on t1 t1_5
4729 InitPlan 2 (returns $1)
4732 Merge Cond: (t2_2.id = t1_2.id)
4734 Merge Cond: (t2_2.id = t3_2.id)
4735 -> Index Scan using t2_pkey on t2 t2_2
4738 -> Seq Scan on t3 t3_2
4739 -> Index Scan using t1_pkey on t1 t1_2
4740 InitPlan 3 (returns $2)
4743 Merge Cond: (t2_4.id = t1_4.id)
4745 Merge Cond: (t2_4.id = t3_4.id)
4746 -> Index Scan using t2_pkey on t2 t2_4
4749 -> Seq Scan on t3 t3_4
4750 -> Index Scan using t1_pkey on t1 t1_4
4756 -> Seq Scan on t3 t3_3
4760 -> Index Scan using t2_pkey on t2 t2_3
4761 Index Cond: (id = $2)
4762 -> Index Scan using t1_pkey on t1 t1_3
4763 Index Cond: (id = $2)
4764 -> Seq Scan on t3 t3_1
4766 -> Index Scan using t2_pkey on t2 t2_1
4767 Index Cond: (id = $2)
4768 -> Index Scan using t1_pkey on t1 t1_1
4769 Index Cond: (id = $2)
4772 SET from_collapse_limit TO 1;
4773 EXPLAIN (COSTS false)
4775 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
4778 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
4779 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4780 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
4781 ) 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 = (
4782 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
4785 ---------------------------------------------------------------
4790 Merge Cond: (t1_5.id = t3_5.id)
4792 Merge Cond: (t1_5.id = t2_5.id)
4793 -> Index Scan using t1_pkey on t1 t1_5
4794 -> Index Scan using t2_pkey on t2 t2_5
4797 -> Seq Scan on t3 t3_5
4798 InitPlan 2 (returns $1)
4801 Merge Cond: (t1_2.id = t3_2.id)
4803 Merge Cond: (t1_2.id = t2_2.id)
4804 -> Index Scan using t1_pkey on t1 t1_2
4805 -> Index Scan using t2_pkey on t2 t2_2
4808 -> Seq Scan on t3 t3_2
4809 InitPlan 3 (returns $2)
4812 Merge Cond: (t1_4.id = t3_4.id)
4814 Merge Cond: (t1_4.id = t2_4.id)
4815 -> Index Scan using t1_pkey on t1 t1_4
4816 -> Index Scan using t2_pkey on t2 t2_4
4819 -> Seq Scan on t3 t3_4
4823 -> Index Scan using t1_pkey on t1 t1_1
4824 Index Cond: (id = $2)
4825 -> Seq Scan on t3 t3_1
4827 -> Index Scan using t2_pkey on t2 t2_1
4828 Index Cond: (id = $2)
4831 -> Index Scan using t1_pkey on t1 t1_3
4832 Index Cond: (id = $2)
4833 -> Seq Scan on t3 t3_3
4835 -> Index Scan using t2_pkey on t2 t2_3
4836 Index Cond: (id = $2)
4841 /*+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)*/
4842 EXPLAIN (COSTS false)
4844 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
4847 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
4848 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4849 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
4850 ) 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 = (
4851 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
4857 MergeJoin(t1_3 t3_3)
4865 ---------------------------------------------------------------
4870 Merge Cond: (t1_5.id = t3_5.id)
4872 -> Index Scan using t2_pkey on t2 t2_5
4873 -> Index Scan using t1_pkey on t1 t1_5
4874 Index Cond: (id = t2_5.id)
4877 -> Seq Scan on t3 t3_5
4878 InitPlan 2 (returns $2)
4881 Merge Cond: (t1_2.id = t3_2.id)
4883 -> Index Scan using t2_pkey on t2 t2_2
4884 -> Index Scan using t1_pkey on t1 t1_2
4885 Index Cond: (id = t2_2.id)
4888 -> Seq Scan on t3 t3_2
4889 InitPlan 3 (returns $3)
4892 Merge Cond: (t1_4.id = t3_4.id)
4894 -> Index Scan using t2_pkey on t2 t2_4
4895 -> Index Scan using t1_pkey on t1 t1_4
4896 Index Cond: (id = t2_4.id)
4899 -> Seq Scan on t3 t3_4
4903 -> Index Scan using t2_pkey on t2 t2_1
4904 Index Cond: (id = $3)
4905 -> Seq Scan on t3 t3_1
4907 -> Index Scan using t1_pkey on t1 t1_1
4908 Index Cond: (id = $3)
4911 -> Index Scan using t2_pkey on t2 t2_3
4912 Index Cond: (id = $3)
4913 -> Seq Scan on t3 t3_3
4915 -> Index Scan using t1_pkey on t1 t1_3
4916 Index Cond: (id = $3)
4921 /*+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)*/
4922 EXPLAIN (COSTS false)
4924 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
4927 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
4928 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
4929 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
4930 ) 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 = (
4931 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
4937 MergeJoin(t1_3 t3_3)
4941 Leading(a t1_1 t1_2 t1_4 t1_5)
4946 ---------------------------------------------------------------
4951 Merge Cond: (t1_5.id = t3_5.id)
4953 -> Index Scan using t2_pkey on t2 t2_5
4954 -> Index Scan using t1_pkey on t1 t1_5
4955 Index Cond: (id = t2_5.id)
4958 -> Seq Scan on t3 t3_5
4959 InitPlan 2 (returns $2)
4962 Merge Cond: (t1_2.id = t3_2.id)
4964 -> Index Scan using t2_pkey on t2 t2_2
4965 -> Index Scan using t1_pkey on t1 t1_2
4966 Index Cond: (id = t2_2.id)
4969 -> Seq Scan on t3 t3_2
4970 InitPlan 3 (returns $3)
4973 Merge Cond: (t1_4.id = t3_4.id)
4975 -> Index Scan using t2_pkey on t2 t2_4
4976 -> Index Scan using t1_pkey on t1 t1_4
4977 Index Cond: (id = t2_4.id)
4980 -> Seq Scan on t3 t3_4
4984 -> Index Scan using t2_pkey on t2 t2_1
4985 Index Cond: (id = $3)
4986 -> Seq Scan on t3 t3_1
4988 -> Index Scan using t1_pkey on t1 t1_1
4989 Index Cond: (id = $3)
4992 -> Index Scan using t2_pkey on t2 t2_3
4993 Index Cond: (id = $3)
4994 -> Seq Scan on t3 t3_3
4996 -> Index Scan using t1_pkey on t1 t1_3
4997 Index Cond: (id = $3)
5002 /*+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)*/
5003 EXPLAIN (COSTS false)
5005 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
5008 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
5009 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
5010 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
5011 ) 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 = (
5012 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
5018 MergeJoin(t1_3 t3_3)
5022 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)
5027 ---------------------------------------------------------------
5032 Merge Cond: (t1_5.id = t3_5.id)
5034 -> Index Scan using t2_pkey on t2 t2_5
5035 -> Index Scan using t1_pkey on t1 t1_5
5036 Index Cond: (id = t2_5.id)
5039 -> Seq Scan on t3 t3_5
5040 InitPlan 2 (returns $2)
5043 Merge Cond: (t1_2.id = t3_2.id)
5045 -> Index Scan using t2_pkey on t2 t2_2
5046 -> Index Scan using t1_pkey on t1 t1_2
5047 Index Cond: (id = t2_2.id)
5050 -> Seq Scan on t3 t3_2
5051 InitPlan 3 (returns $3)
5054 Merge Cond: (t1_4.id = t3_4.id)
5056 -> Index Scan using t2_pkey on t2 t2_4
5057 -> Index Scan using t1_pkey on t1 t1_4
5058 Index Cond: (id = t2_4.id)
5061 -> Seq Scan on t3 t3_4
5065 -> Index Scan using t2_pkey on t2 t2_1
5066 Index Cond: (id = $3)
5067 -> Seq Scan on t3 t3_1
5069 -> Index Scan using t1_pkey on t1 t1_1
5070 Index Cond: (id = $3)
5073 -> Index Scan using t2_pkey on t2 t2_3
5074 Index Cond: (id = $3)
5075 -> Seq Scan on t3 t3_3
5077 -> Index Scan using t1_pkey on t1 t1_3
5078 Index Cond: (id = $3)
5083 /*+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(t3_5 t2_5 t1_5)Leading(t3_2 t2_2 t1_2)Leading(t3_4 t2_4 t1_4)Leading(c1_1 t3_3 t2_3 t1_3 t3_1 t2_1 t1_1)*/
5084 EXPLAIN (COSTS false)
5086 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
5089 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
5090 ) FROM t1 t1_1, t2 t2_1, t3 t3_1, (
5091 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
5092 ) 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 = (
5093 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
5097 MergeJoin(t1_3 t3_3)
5098 Leading(t3_5 t2_5 t1_5)
5099 Leading(t3_2 t2_2 t1_2)
5100 Leading(t3_4 t2_4 t1_4)
5101 Leading(c1_1 t3_3 t2_3 t1_3 t3_1 t2_1 t1_1)
5111 -------------------------------------------------------------------------
5116 Merge Cond: (t2_5.id = t1_5.id)
5118 Merge Cond: (t2_5.id = t3_5.id)
5119 -> Index Scan using t2_pkey on t2 t2_5
5122 -> Seq Scan on t3 t3_5
5123 -> Index Scan using t1_pkey on t1 t1_5
5124 InitPlan 2 (returns $1)
5127 Merge Cond: (t2_2.id = t1_2.id)
5129 Merge Cond: (t2_2.id = t3_2.id)
5130 -> Index Scan using t2_pkey on t2 t2_2
5133 -> Seq Scan on t3 t3_2
5134 -> Index Scan using t1_pkey on t1 t1_2
5135 InitPlan 3 (returns $2)
5138 Merge Cond: (t2_4.id = t1_4.id)
5140 Merge Cond: (t2_4.id = t3_4.id)
5141 -> Index Scan using t2_pkey on t2 t2_4
5144 -> Seq Scan on t3 t3_4
5145 -> Index Scan using t1_pkey on t1 t1_4
5151 -> Index Scan using t2_pkey on t2 t2_3
5152 Index Cond: (id = $2)
5153 -> Seq Scan on t3 t3_3
5155 -> Index Scan using t1_pkey on t1 t1_3
5156 Index Cond: (id = $2)
5159 -> Seq Scan on t3 t3_1
5161 -> Index Scan using t2_pkey on t2 t2_1
5162 Index Cond: (id = $2)
5163 -> Index Scan using t1_pkey on t1 t1_1
5164 Index Cond: (id = $2)
5168 EXPLAIN (COSTS false) SELECT * FROM t1, s0.t1, t2 WHERE public.t1.id = s0.t1.id AND public.t1.id = t2.id;
5170 -----------------------------------------------
5172 Merge Cond: (public.t1.id = t2.id)
5174 Merge Cond: (public.t1.id = s0.t1.id)
5175 -> Index Scan using t1_pkey on t1
5176 -> Index Scan using t1_pkey on t1
5177 -> Index Scan using t2_pkey on t2
5180 /*+NestLoop(t1 t2)*/
5181 EXPLAIN (COSTS false) SELECT * FROM t1, s0.t1, t2 WHERE public.t1.id = s0.t1.id AND public.t1.id = t2.id;
5182 INFO: hint syntax error at or near "NestLoop(t1 t2)"
5183 DETAIL: Relation name "t1" is ambiguous.
5192 -----------------------------------------------
5194 Merge Cond: (public.t1.id = t2.id)
5196 Merge Cond: (public.t1.id = s0.t1.id)
5197 -> Index Scan using t1_pkey on t1
5198 -> Index Scan using t1_pkey on t1
5199 -> Index Scan using t2_pkey on t2
5202 /*+Leading(t1 t2 t1)*/
5203 EXPLAIN (COSTS false) SELECT * FROM t1, s0.t1, t2 WHERE public.t1.id = s0.t1.id AND public.t1.id = t2.id;
5204 INFO: hint syntax error at or near "Leading(t1 t2 t1)"
5205 DETAIL: Relation name "t1" is ambiguous.
5214 -----------------------------------------------
5216 Merge Cond: (public.t1.id = t2.id)
5218 Merge Cond: (public.t1.id = s0.t1.id)
5219 -> Index Scan using t1_pkey on t1
5220 -> Index Scan using t1_pkey on t1
5221 -> Index Scan using t2_pkey on t2
5224 -- identifier length test
5225 EXPLAIN (COSTS false) SELECT * FROM t1 "123456789012345678901234567890123456789012345678901234567890123" JOIN t2 ON ("123456789012345678901234567890123456789012345678901234567890123".id = t2.id) JOIN t3 ON (t2.id = t3.id);
5227 --------------------------------------------------------------------------------------------------------------
5229 Merge Cond: ("123456789012345678901234567890123456789012345678901234567890123".id = t3.id)
5231 Merge Cond: ("123456789012345678901234567890123456789012345678901234567890123".id = t2.id)
5232 -> Index Scan using t1_pkey on t1 "123456789012345678901234567890123456789012345678901234567890123"
5233 -> Index Scan using t2_pkey on t2
5240 Leading(123456789012345678901234567890123456789012345678901234567890123 t2 t3)
5241 SeqScan(123456789012345678901234567890123456789012345678901234567890123)
5242 MergeJoin(123456789012345678901234567890123456789012345678901234567890123 t2)
5243 Set(123456789012345678901234567890123456789012345678901234567890123 1)
5245 EXPLAIN (COSTS false) SELECT * FROM t1 "123456789012345678901234567890123456789012345678901234567890123" JOIN t2 ON ("123456789012345678901234567890123456789012345678901234567890123".id = t2.id) JOIN t3 ON (t2.id = t3.id);
5246 INFO: unrecognized configuration parameter "123456789012345678901234567890123456789012345678901234567890123"
5249 SeqScan(123456789012345678901234567890123456789012345678901234567890123)
5250 MergeJoin(123456789012345678901234567890123456789012345678901234567890123 t2)
5251 Leading(123456789012345678901234567890123456789012345678901234567890123 t2 t3)
5255 Set(123456789012345678901234567890123456789012345678901234567890123 1)
5258 ----------------------------------------------------------------------------------------------------
5260 Merge Cond: ("123456789012345678901234567890123456789012345678901234567890123".id = t3.id)
5262 Merge Cond: (t2.id = "123456789012345678901234567890123456789012345678901234567890123".id)
5263 -> Index Scan using t2_pkey on t2
5265 Sort Key: "123456789012345678901234567890123456789012345678901234567890123".id
5266 -> Seq Scan on t1 "123456789012345678901234567890123456789012345678901234567890123"
5273 Leading(1234567890123456789012345678901234567890123456789012345678901234 t2 t3)
5274 SeqScan(1234567890123456789012345678901234567890123456789012345678901234)
5275 MergeJoin(1234567890123456789012345678901234567890123456789012345678901234 t2)
5276 Set(1234567890123456789012345678901234567890123456789012345678901234 1)
5277 Set(cursor_tuple_fraction 0.1234567890123456789012345678901234567890123456789012345678901234)
5279 EXPLAIN (COSTS false) SELECT * FROM t1 "1234567890123456789012345678901234567890123456789012345678901234" JOIN t2 ON ("1234567890123456789012345678901234567890123456789012345678901234".id = t2.id) JOIN t3 ON (t2.id = t3.id);
5280 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5281 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5282 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5283 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5284 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5285 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5286 INFO: unrecognized configuration parameter "123456789012345678901234567890123456789012345678901234567890123"
5289 SeqScan(123456789012345678901234567890123456789012345678901234567890123)
5290 MergeJoin(123456789012345678901234567890123456789012345678901234567890123 t2)
5291 Leading(123456789012345678901234567890123456789012345678901234567890123 t2 t3)
5292 Set(cursor_tuple_fraction 0.1234567890123456789012345678901234567890123456789012345678901234)
5296 Set(123456789012345678901234567890123456789012345678901234567890123 1)
5299 ----------------------------------------------------------------------------------------------------
5301 Merge Cond: ("123456789012345678901234567890123456789012345678901234567890123".id = t3.id)
5303 Merge Cond: (t2.id = "123456789012345678901234567890123456789012345678901234567890123".id)
5304 -> Index Scan using t2_pkey on t2
5306 Sort Key: "123456789012345678901234567890123456789012345678901234567890123".id
5307 -> Seq Scan on t1 "123456789012345678901234567890123456789012345678901234567890123"
5313 SET "123456789012345678901234567890123456789012345678901234567890123" TO 1;
5314 ERROR: unrecognized configuration parameter "123456789012345678901234567890123456789012345678901234567890123"
5315 SET "1234567890123456789012345678901234567890123456789012345678901234" TO 1;
5316 NOTICE: identifier "1234567890123456789012345678901234567890123456789012345678901234" will be truncated to "123456789012345678901234567890123456789012345678901234567890123"
5317 ERROR: unrecognized configuration parameter "123456789012345678901234567890123456789012345678901234567890123"
5318 SET cursor_tuple_fraction TO 1234567890123456789012345678901234567890123456789012345678901234;
5319 ERROR: 1.23457e+63 is outside the valid range for parameter "cursor_tuple_fraction" (0 .. 1)
5321 /*+ Set(enable_seqscan 100)Set(seq_page_cost on)*/
5322 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
5323 INFO: parameter "enable_seqscan" requires a Boolean value
5324 INFO: parameter "seq_page_cost" requires a numeric value
5330 Set(enable_seqscan 100)
5331 Set(seq_page_cost on)
5334 --------------------------------------
5336 Merge Cond: (t1.id = t2.id)
5337 -> Index Scan using t1_pkey on t1
5338 -> Index Scan using t2_pkey on t2
5341 -- debug log of candidate index to use IndexScan
5342 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5344 ----------------------------------------------------------------------------------------
5345 Index Scan using t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa on t5
5346 Index Cond: (id = 1)
5349 /*+IndexScan(t5 t5_id2)*/
5350 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5351 LOG: available indexes for IndexScan(t5): t5_id2
5354 IndexScan(t5 t5_id2)
5360 -------------------------------
5361 Index Scan using t5_id2 on t5
5362 Index Cond: (id = 1)
5365 /*+IndexScan(t5 no_exist)*/
5366 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5367 LOG: available indexes for IndexScan(t5):
5370 IndexScan(t5 no_exist)
5376 --------------------
5381 /*+IndexScan(t5 t5_id1 t5_id2)*/
5382 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5383 LOG: available indexes for IndexScan(t5): t5_id2 t5_id1
5386 IndexScan(t5 t5_id1 t5_id2)
5392 -------------------------------
5393 Index Scan using t5_id2 on t5
5394 Index Cond: (id = 1)
5397 /*+IndexScan(t5 no_exist t5_id2)*/
5398 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5399 LOG: available indexes for IndexScan(t5): t5_id2
5402 IndexScan(t5 no_exist t5_id2)
5408 -------------------------------
5409 Index Scan using t5_id2 on t5
5410 Index Cond: (id = 1)
5413 /*+IndexScan(t5 no_exist5 no_exist2)*/
5414 EXPLAIN (COSTS false) SELECT * FROM t5 WHERE t5.id = 1;
5415 LOG: available indexes for IndexScan(t5):
5418 IndexScan(t5 no_exist5 no_exist2)
5424 --------------------
5430 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5432 --------------------------------------------------------
5434 Hash Cond: (t3.val = t2.val)
5438 Hash Cond: (t2.id = t1.id)
5441 -> Index Scan using t1_pkey on t1
5442 Index Cond: (id < 10)
5446 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5447 INFO: hint syntax error at or near "Leading((t1))"
5448 DETAIL: Leading hint requires two sets of relations when parentheses nests.
5457 --------------------------------------------------------
5459 Hash Cond: (t3.val = t2.val)
5463 Hash Cond: (t2.id = t1.id)
5466 -> Index Scan using t1_pkey on t1
5467 Index Cond: (id < 10)
5470 /*+Leading((t1 t2))*/
5471 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5480 --------------------------------------------
5482 Join Filter: (t2.val = t3.val)
5484 Hash Cond: (t1.id = t2.id)
5485 -> Index Scan using t1_pkey on t1
5486 Index Cond: (id < 10)
5492 /*+Leading((t1 t2 t3))*/
5493 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5494 INFO: hint syntax error at or near "Leading((t1 t2 t3))"
5495 DETAIL: Leading hint requires two sets of relations when parentheses nests.
5504 --------------------------------------------------------
5506 Hash Cond: (t3.val = t2.val)
5510 Hash Cond: (t2.id = t1.id)
5513 -> Index Scan using t1_pkey on t1
5514 Index Cond: (id < 10)
5517 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.id < 10;
5519 --------------------------------------------
5521 Hash Cond: (t2.id = t1.id)
5524 -> Index Scan using t1_pkey on t1
5525 Index Cond: (id < 10)
5528 /*+Leading((t1 t2))*/
5529 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.id < 10;
5538 --------------------------------------
5540 Hash Cond: (t1.id = t2.id)
5541 -> Index Scan using t1_pkey on t1
5542 Index Cond: (id < 10)
5547 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5549 --------------------------------------------------------
5551 Hash Cond: (t3.val = t2.val)
5555 Hash Cond: (t2.id = t1.id)
5558 -> Index Scan using t1_pkey on t1
5559 Index Cond: (id < 10)
5562 /*+Leading(((t1 t2) t3))*/
5563 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5566 Leading(((t1 t2) t3))
5572 --------------------------------------------
5574 Join Filter: (t2.val = t3.val)
5576 Hash Cond: (t1.id = t2.id)
5577 -> Index Scan using t1_pkey on t1
5578 Index Cond: (id < 10)
5584 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t3.id = t4.id AND t1.val = t3.val AND t1.id < 10;
5586 --------------------------------------------------------
5589 Merge Cond: (t3.id = t4.id)
5591 Join Filter: (t1.val = t3.val)
5592 -> Index Scan using t3_pkey on t3
5594 -> Index Scan using t1_pkey on t1
5595 Index Cond: (id < 10)
5599 -> Index Scan using t2_pkey on t2
5600 Index Cond: (id = t1.id)
5603 /*+Leading((((t1 t2) t3) t4))*/
5604 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t3.id = t4.id AND t1.val = t3.val AND t1.id < 10;
5607 Leading((((t1 t2) t3) t4))
5613 --------------------------------------------------
5616 Join Filter: (t1.val = t3.val)
5618 Hash Cond: (t1.id = t2.id)
5619 -> Index Scan using t1_pkey on t1
5620 Index Cond: (id < 10)
5624 -> Index Scan using t4_pkey on t4
5625 Index Cond: (id = t3.id)
5628 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5630 --------------------------------------------------------
5632 Hash Cond: (t3.val = t2.val)
5636 Hash Cond: (t2.id = t1.id)
5639 -> Index Scan using t1_pkey on t1
5640 Index Cond: (id < 10)
5643 /*+Leading(((t1 t2) t3))*/
5644 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5647 Leading(((t1 t2) t3))
5653 --------------------------------------------
5655 Join Filter: (t2.val = t3.val)
5657 Hash Cond: (t1.id = t2.id)
5658 -> Index Scan using t1_pkey on t1
5659 Index Cond: (id < 10)
5665 /*+Leading((t1 (t2 t3)))*/
5666 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5669 Leading((t1 (t2 t3)))
5675 --------------------------------------------
5677 Hash Cond: (t1.id = t2.id)
5678 -> Index Scan using t1_pkey on t1
5679 Index Cond: (id < 10)
5682 Hash Cond: (t2.val = t3.val)
5688 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t3.id = t4.id AND t1.val = t3.val AND t1.id < 10;
5690 --------------------------------------------------------
5693 Merge Cond: (t3.id = t4.id)
5695 Join Filter: (t1.val = t3.val)
5696 -> Index Scan using t3_pkey on t3
5698 -> Index Scan using t1_pkey on t1
5699 Index Cond: (id < 10)
5703 -> Index Scan using t2_pkey on t2
5704 Index Cond: (id = t1.id)
5707 /*+Leading(((t1 t2) (t3 t4)))*/
5708 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t3.id = t4.id AND t1.val = t3.val AND t1.id < 10;
5711 Leading(((t1 t2) (t3 t4)))
5717 --------------------------------------------
5719 Join Filter: (t1.val = t3.val)
5721 Hash Cond: (t1.id = t2.id)
5722 -> Index Scan using t1_pkey on t1
5723 Index Cond: (id < 10)
5727 Merge Cond: (t3.id = t4.id)
5728 -> Index Scan using t3_pkey on t3
5734 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < ( SELECT t1_2.id FROM t1 t1_2, t2 t2_2 WHERE t1_2.id = t2_2.id AND t2_2.val > 100 ORDER BY t1_2.id LIMIT 1);
5736 ---------------------------------------------------------------
5738 Hash Cond: (t2.val = t3.val)
5739 InitPlan 1 (returns $1)
5744 -> Index Scan using t2_val on t2 t2_2
5745 Index Cond: (val > 100)
5746 -> Index Scan using t1_pkey on t1 t1_2
5747 Index Cond: (id = t2_2.id)
5749 Merge Cond: (t1.id = t2.id)
5750 -> Index Scan using t1_pkey on t1
5751 Index Cond: (id < $1)
5752 -> Index Scan using t2_pkey on t2
5757 /*+Leading(((t1 t2) t3)) Leading(((t3 t1) t2))*/
5758 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t1.val = t3.val AND t1.id < ( SELECT t1_2.id FROM t1 t1_2, t2 t2_2 WHERE t1_2.id = t2_2.id AND t2_2.val > 100 ORDER BY t1_2.id LIMIT 1);
5759 INFO: hint syntax error at or near "Leading(((t1 t2) t3)) Leading(((t3 t1) t2))"
5760 DETAIL: Conflict leading hint.
5763 Leading(((t3 t1) t2))
5766 Leading(((t1 t2) t3))
5770 ---------------------------------------------------------------
5772 Hash Cond: (t1.id = t2.id)
5773 InitPlan 1 (returns $1)
5778 -> Index Scan using t2_val on t2 t2_2
5779 Index Cond: (val > 100)
5780 -> Index Scan using t1_pkey on t1 t1_2
5781 Index Cond: (id = t2_2.id)
5783 Hash Cond: (t3.val = t1.val)
5786 -> Index Scan using t1_pkey on t1
5787 Index Cond: (id < $1)
5792 /*+Leading(((t1 t2) t3)) Leading((t1_2 t2_2))*/
5793 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < ( SELECT t1_2.id FROM t1 t1_2, t2 t2_2 WHERE t1_2.id = t2_2.id AND t2_2.val > 100 ORDER BY t1_2.id LIMIT 1);
5796 Leading(((t1 t2) t3))
5797 Leading((t1_2 t2_2))
5803 --------------------------------------------------------------
5805 Hash Cond: (t2.val = t3.val)
5806 InitPlan 1 (returns $0)
5809 Merge Cond: (t1_2.id = t2_2.id)
5810 -> Index Scan using t1_pkey on t1 t1_2
5813 -> Index Scan using t2_val on t2 t2_2
5814 Index Cond: (val > 100)
5816 Merge Cond: (t1.id = t2.id)
5817 -> Index Scan using t1_pkey on t1
5818 Index Cond: (id < $0)
5819 -> Index Scan using t2_pkey on t2
5824 /*+Leading(((((t1 t2) t3) t1_2) t2_2))*/
5825 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < ( SELECT t1_2.id FROM t1 t1_2, t2 t2_2 WHERE t1_2.id = t2_2.id AND t2_2.val > 100 ORDER BY t1_2.id LIMIT 1);
5829 Leading(((((t1 t2) t3) t1_2) t2_2))
5834 ---------------------------------------------------------------
5836 Hash Cond: (t2.val = t3.val)
5837 InitPlan 1 (returns $1)
5842 -> Index Scan using t2_val on t2 t2_2
5843 Index Cond: (val > 100)
5844 -> Index Scan using t1_pkey on t1 t1_2
5845 Index Cond: (id = t2_2.id)
5847 Merge Cond: (t1.id = t2.id)
5848 -> Index Scan using t1_pkey on t1
5849 Index Cond: (id < $1)
5850 -> Index Scan using t2_pkey on t2
5855 -- Specified outer/inner leading hint and join method hint at the same time
5856 /*+Leading(((t1 t2) t3))*/
5857 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5860 Leading(((t1 t2) t3))
5866 --------------------------------------------
5868 Join Filter: (t2.val = t3.val)
5870 Hash Cond: (t1.id = t2.id)
5871 -> Index Scan using t1_pkey on t1
5872 Index Cond: (id < 10)
5878 /*+Leading(((t1 t2) t3)) MergeJoin(t1 t2)*/
5879 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5883 Leading(((t1 t2) t3))
5889 --------------------------------------------
5891 Join Filter: (t2.val = t3.val)
5893 Merge Cond: (t1.id = t2.id)
5894 -> Index Scan using t1_pkey on t1
5895 Index Cond: (id < 10)
5896 -> Index Scan using t2_pkey on t2
5900 /*+Leading(((t1 t2) t3)) MergeJoin(t1 t2 t3)*/
5901 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5905 Leading(((t1 t2) t3))
5911 --------------------------------------------------
5913 Merge Cond: (t2.val = t3.val)
5917 Hash Cond: (t1.id = t2.id)
5918 -> Index Scan using t1_pkey on t1
5919 Index Cond: (id < 10)
5927 /*+Leading(((t1 t2) t3)) MergeJoin(t1 t3)*/
5928 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
5931 Leading(((t1 t2) t3))
5938 --------------------------------------------
5940 Join Filter: (t2.val = t3.val)
5942 Hash Cond: (t1.id = t2.id)
5943 -> Index Scan using t1_pkey on t1
5944 Index Cond: (id < 10)
5950 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t3.id = t4.id AND t1.val = t3.val AND t1.id < 10;
5952 --------------------------------------------------------
5955 Merge Cond: (t3.id = t4.id)
5957 Join Filter: (t1.val = t3.val)
5958 -> Index Scan using t3_pkey on t3
5960 -> Index Scan using t1_pkey on t1
5961 Index Cond: (id < 10)
5965 -> Index Scan using t2_pkey on t2
5966 Index Cond: (id = t1.id)
5969 /*+Leading(((t1 t2) t3)) MergeJoin(t3 t4)*/
5970 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t3.id = t4.id AND t1.val = t3.val AND t1.id < 10;
5973 Leading(((t1 t2) t3))
5980 --------------------------------------------------
5983 Join Filter: (t1.val = t3.val)
5985 Hash Cond: (t1.id = t2.id)
5986 -> Index Scan using t1_pkey on t1
5987 Index Cond: (id < 10)
5991 -> Index Scan using t4_pkey on t4
5992 Index Cond: (id = t3.id)
5995 /*+Leading(((t1 t2) t3)) MergeJoin(t1 t2 t3 t4)*/
5996 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t3.id = t4.id AND t1.val = t3.val AND t1.id < 10;
5999 MergeJoin(t1 t2 t3 t4)
6000 Leading(((t1 t2) t3))
6006 --------------------------------------------------------
6008 Merge Cond: (t3.id = t4.id)
6012 Join Filter: (t1.val = t3.val)
6014 Hash Cond: (t1.id = t2.id)
6015 -> Index Scan using t1_pkey on t1
6016 Index Cond: (id < 10)
6025 /*+ Leading ( ( t1 ( t2 t3 ) ) ) */
6026 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
6029 Leading((t1 (t2 t3)))
6035 --------------------------------------------
6037 Hash Cond: (t1.id = t2.id)
6038 -> Index Scan using t1_pkey on t1
6039 Index Cond: (id < 10)
6042 Hash Cond: (t2.val = t3.val)
6048 /*+Leading((t1(t2 t3)))*/
6049 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
6052 Leading((t1 (t2 t3)))
6058 --------------------------------------------
6060 Hash Cond: (t1.id = t2.id)
6061 -> Index Scan using t1_pkey on t1
6062 Index Cond: (id < 10)
6065 Hash Cond: (t2.val = t3.val)
6071 /*+Leading(("t1(t2" "t3)"))*/
6072 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
6076 Leading(("t1(t2" "t3)"))
6081 --------------------------------------------------------
6083 Hash Cond: (t3.val = t2.val)
6087 Hash Cond: (t2.id = t1.id)
6090 -> Index Scan using t1_pkey on t1
6091 Index Cond: (id < 10)
6094 /*+ Leading ( ( ( t1 t2 ) t3 ) ) */
6095 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
6098 Leading(((t1 t2) t3))
6104 --------------------------------------------
6106 Join Filter: (t2.val = t3.val)
6108 Hash Cond: (t1.id = t2.id)
6109 -> Index Scan using t1_pkey on t1
6110 Index Cond: (id < 10)
6116 /*+Leading(((t1 t2)t3))*/
6117 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
6120 Leading(((t1 t2) t3))
6126 --------------------------------------------
6128 Join Filter: (t2.val = t3.val)
6130 Hash Cond: (t1.id = t2.id)
6131 -> Index Scan using t1_pkey on t1
6132 Index Cond: (id < 10)
6138 /*+Leading(("(t1" "t2)t3"))*/
6139 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3 WHERE t1.id = t2.id AND t2.val = t3.val AND t1.id < 10;
6143 Leading(("(t1" "t2)t3"))
6148 --------------------------------------------------------
6150 Hash Cond: (t3.val = t2.val)
6154 Hash Cond: (t2.id = t1.id)
6157 -> Index Scan using t1_pkey on t1
6158 Index Cond: (id < 10)
6161 /*+Leading((t1(t2(t3(t4 t5)))))*/
6162 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id;
6165 Leading((t1 (t2 (t3 (t4 t5)))))
6171 ----------------------------------------------------------------------------------------------------------------------------------
6173 Merge Cond: (t1.id = t2.id)
6174 -> Index Scan using t1_pkey on t1
6177 Merge Cond: (t2.id = t3.id)
6178 -> Index Scan using t2_pkey on t2
6181 Merge Cond: (t3.id = t4.id)
6182 -> Index Scan using t3_pkey on t3
6185 Merge Cond: (t4.id = t5.id)
6186 -> Index Scan using t4_pkey on t4
6187 -> Index Scan using t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa on t5
6190 /*+Leading((t5(t4(t3(t2 t1)))))*/
6191 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id;
6194 Leading((t5 (t4 (t3 (t2 t1)))))
6200 --------------------------------------------------------------------------
6202 Hash Cond: (t5.id = t1.id)
6206 Merge Cond: (t4.id = t1.id)
6212 Merge Cond: (t3.id = t1.id)
6218 Merge Cond: (t2.id = t1.id)
6219 -> Index Scan using t2_pkey on t2
6220 -> Index Scan using t1_pkey on t1
6223 /*+Leading(((((t1 t2)t3)t4)t5))*/
6224 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id;
6227 Leading(((((t1 t2) t3) t4) t5))
6233 ----------------------------------------------------------------------------------------------
6236 Merge Cond: (t1.id = t4.id)
6238 Merge Cond: (t1.id = t3.id)
6240 Merge Cond: (t1.id = t2.id)
6241 -> Index Scan using t1_pkey on t1
6242 -> Index Scan using t2_pkey on t2
6243 -> Index Scan using t3_pkey on t3
6247 -> Index Scan using t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa on t5
6248 Index Cond: (id = t1.id)
6251 /*+Leading(((((t5 t4)t3)t2)t1))*/
6252 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id;
6255 Leading(((((t5 t4) t3) t2) t1))
6261 ----------------------------------------------------------------------------------------------------------------
6264 Merge Cond: (t3.id = t2.id)
6266 Merge Cond: (t4.id = t3.id)
6268 Merge Cond: (t5.id = t4.id)
6269 -> Index Scan using t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa on t5
6273 -> Index Scan using t3_pkey on t3
6274 -> Index Scan using t2_pkey on t2
6275 -> Index Scan using t1_pkey on t1
6276 Index Cond: (id = t2.id)
6279 /*+Leading(((t1 t2)(t3(t4 t5))))*/
6280 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id;
6283 Leading(((t1 t2) (t3 (t4 t5))))
6289 ----------------------------------------------------------------------------------------------------------------------
6291 Merge Cond: (t1.id = t3.id)
6293 Merge Cond: (t1.id = t2.id)
6294 -> Index Scan using t1_pkey on t1
6295 -> Index Scan using t2_pkey on t2
6298 Merge Cond: (t3.id = t4.id)
6299 -> Index Scan using t3_pkey on t3
6302 Merge Cond: (t4.id = t5.id)
6303 -> Index Scan using t4_pkey on t4
6304 -> Index Scan using t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa on t5
6307 /*+Leading(((t5 t4)(t3(t2 t1))))*/
6308 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id;
6311 Leading(((t5 t4) (t3 (t2 t1))))
6317 ----------------------------------------------------------------------------------------------------
6319 Merge Cond: (t4.id = t1.id)
6321 Merge Cond: (t5.id = t4.id)
6322 -> Index Scan using t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa on t5
6328 Merge Cond: (t3.id = t1.id)
6329 -> Index Scan using t3_pkey on t3
6332 Merge Cond: (t2.id = t1.id)
6333 -> Index Scan using t2_pkey on t2
6334 -> Index Scan using t1_pkey on t1
6337 /*+Leading((((t1 t2)t3)(t4 t5)))*/
6338 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id;
6341 Leading((((t1 t2) t3) (t4 t5)))
6347 ----------------------------------------------------------------------------------------------------------
6349 Merge Cond: (t1.id = t4.id)
6351 Merge Cond: (t1.id = t3.id)
6353 Merge Cond: (t1.id = t2.id)
6354 -> Index Scan using t1_pkey on t1
6355 -> Index Scan using t2_pkey on t2
6356 -> Index Scan using t3_pkey on t3
6359 Merge Cond: (t4.id = t5.id)
6360 -> Index Scan using t4_pkey on t4
6361 -> Index Scan using t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa on t5
6364 /*+Leading((((t5 t4)t3)(t2 t1)))*/
6365 EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id;
6368 Leading((((t5 t4) t3) (t2 t1)))
6374 ----------------------------------------------------------------------------------------------------------
6376 Merge Cond: (t3.id = t1.id)
6378 Merge Cond: (t4.id = t3.id)
6380 Merge Cond: (t5.id = t4.id)
6381 -> Index Scan using t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa on t5
6385 -> Index Scan using t3_pkey on t3
6388 Merge Cond: (t2.id = t1.id)
6389 -> Index Scan using t2_pkey on t2
6390 -> Index Scan using t1_pkey on t1
6393 -- inherite table test to specify the index's name
6394 EXPLAIN (COSTS false) SELECT * FROM p2 WHERE id >= 50 AND id <= 51 AND p2.ctid = '(1,1)';
6396 -----------------------------------------------------------------------------
6400 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
6401 -> Seq Scan on p2_c1 p2
6402 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
6403 -> Tid Scan on p2_c1_c1 p2
6404 TID Cond: (ctid = '(1,1)'::tid)
6405 Filter: ((id >= 50) AND (id <= 51))
6406 -> Tid Scan on p2_c1_c2 p2
6407 TID Cond: (ctid = '(1,1)'::tid)
6408 Filter: ((id >= 50) AND (id <= 51))
6411 /*+IndexScan(p2 p2_pkey)*/
6412 EXPLAIN (COSTS false) SELECT * FROM p2 WHERE id >= 50 AND id <= 51 AND p2.ctid = '(1,1)';
6413 LOG: available indexes for IndexScan(p2): p2_pkey
6414 LOG: available indexes for IndexScan(p2_c1): p2_c1_pkey
6415 LOG: available indexes for IndexScan(p2_c2): p2_c2_pkey
6416 LOG: available indexes for IndexScan(p2_c3): p2_c3_pkey
6417 LOG: available indexes for IndexScan(p2_c4): p2_c4_pkey
6418 LOG: available indexes for IndexScan(p2_c1_c1): p2_c1_c1_pkey
6419 LOG: available indexes for IndexScan(p2_c1_c2): p2_c1_c2_pkey
6420 LOG: available indexes for IndexScan(p2_c3_c1): p2_c3_c1_pkey
6421 LOG: available indexes for IndexScan(p2_c3_c2): p2_c3_c2_pkey
6424 IndexScan(p2 p2_pkey)
6430 -----------------------------------------------------------
6433 -> Index Scan using p2_pkey on p2
6434 Index Cond: ((id >= 50) AND (id <= 51))
6435 Filter: (ctid = '(1,1)'::tid)
6436 -> Index Scan using p2_c1_pkey on p2_c1 p2
6437 Index Cond: ((id >= 50) AND (id <= 51))
6438 Filter: (ctid = '(1,1)'::tid)
6439 -> Index Scan using p2_c1_c1_pkey on p2_c1_c1 p2
6440 Index Cond: ((id >= 50) AND (id <= 51))
6441 Filter: (ctid = '(1,1)'::tid)
6442 -> Index Scan using p2_c1_c2_pkey on p2_c1_c2 p2
6443 Index Cond: ((id >= 50) AND (id <= 51))
6444 Filter: (ctid = '(1,1)'::tid)
6447 /*+IndexScan(p2 p2_id_val_idx)*/
6448 EXPLAIN (COSTS false) SELECT * FROM p2 WHERE id >= 50 AND id <= 51 AND p2.ctid = '(1,1)';
6449 LOG: available indexes for IndexScan(p2): p2_id_val_idx
6450 LOG: available indexes for IndexScan(p2_c1): p2_c1_id_val_idx
6451 LOG: available indexes for IndexScan(p2_c2): p2_c2_id_val_idx
6452 LOG: available indexes for IndexScan(p2_c3): p2_c3_id_val_idx
6453 LOG: available indexes for IndexScan(p2_c4): p2_c4_id_val_idx
6454 LOG: available indexes for IndexScan(p2_c1_c1): p2_c1_c1_id_val_idx
6455 LOG: available indexes for IndexScan(p2_c1_c2): p2_c1_c2_id_val_idx
6456 LOG: available indexes for IndexScan(p2_c3_c1): p2_c3_c1_id_val_idx
6457 LOG: available indexes for IndexScan(p2_c3_c2): p2_c3_c2_id_val_idx
6460 IndexScan(p2 p2_id_val_idx)
6466 -----------------------------------------------------------------
6469 -> Index Scan using p2_id_val_idx on p2
6470 Index Cond: ((id >= 50) AND (id <= 51))
6471 Filter: (ctid = '(1,1)'::tid)
6472 -> Index Scan using p2_c1_id_val_idx on p2_c1 p2
6473 Index Cond: ((id >= 50) AND (id <= 51))
6474 Filter: (ctid = '(1,1)'::tid)
6475 -> Index Scan using p2_c1_c1_id_val_idx on p2_c1_c1 p2
6476 Index Cond: ((id >= 50) AND (id <= 51))
6477 Filter: (ctid = '(1,1)'::tid)
6478 -> Index Scan using p2_c1_c2_id_val_idx on p2_c1_c2 p2
6479 Index Cond: ((id >= 50) AND (id <= 51))
6480 Filter: (ctid = '(1,1)'::tid)
6483 /*+IndexScan(p2 p2_val_id_idx)*/
6484 EXPLAIN (COSTS false) SELECT * FROM p2 WHERE id >= 50 AND id <= 51 AND p2.ctid = '(1,1)';
6485 LOG: available indexes for IndexScan(p2): p2_val_id_idx
6486 LOG: available indexes for IndexScan(p2_c1): p2_c1_val_id_idx
6487 LOG: available indexes for IndexScan(p2_c2): p2_c2_val_id_idx
6488 LOG: available indexes for IndexScan(p2_c3): p2_c3_val_id_idx
6489 LOG: available indexes for IndexScan(p2_c4):
6490 LOG: available indexes for IndexScan(p2_c1_c1): p2_c1_c1_val_id_idx
6491 LOG: available indexes for IndexScan(p2_c1_c2): p2_c1_c2_val_id_idx
6492 LOG: available indexes for IndexScan(p2_c3_c1): p2_c3_c1_val_id_idx
6493 LOG: available indexes for IndexScan(p2_c3_c2): p2_c3_c2_val_id_idx
6496 IndexScan(p2 p2_val_id_idx)
6502 -----------------------------------------------------------------
6505 -> Index Scan using p2_val_id_idx on p2
6506 Index Cond: ((id >= 50) AND (id <= 51))
6507 Filter: (ctid = '(1,1)'::tid)
6508 -> Index Scan using p2_c1_val_id_idx on p2_c1 p2
6509 Index Cond: ((id >= 50) AND (id <= 51))
6510 Filter: (ctid = '(1,1)'::tid)
6511 -> Index Scan using p2_c1_c1_val_id_idx on p2_c1_c1 p2
6512 Index Cond: ((id >= 50) AND (id <= 51))
6513 Filter: (ctid = '(1,1)'::tid)
6514 -> Index Scan using p2_c1_c2_val_id_idx on p2_c1_c2 p2
6515 Index Cond: ((id >= 50) AND (id <= 51))
6516 Filter: (ctid = '(1,1)'::tid)
6519 EXPLAIN (COSTS false) SELECT val FROM p2 WHERE val >= '50' AND val <= '51' AND p2.ctid = '(1,1)';
6521 -----------------------------------------------------------------------------------------------
6525 Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
6526 -> Seq Scan on p2_c1 p2
6527 Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
6528 -> Seq Scan on p2_c2 p2
6529 Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
6530 -> Seq Scan on p2_c3 p2
6531 Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
6532 -> Tid Scan on p2_c4 p2
6533 TID Cond: (ctid = '(1,1)'::tid)
6534 Filter: ((val >= '50'::text) AND (val <= '51'::text))
6535 -> Tid Scan on p2_c1_c1 p2
6536 TID Cond: (ctid = '(1,1)'::tid)
6537 Filter: ((val >= '50'::text) AND (val <= '51'::text))
6538 -> Tid Scan on p2_c1_c2 p2
6539 TID Cond: (ctid = '(1,1)'::tid)
6540 Filter: ((val >= '50'::text) AND (val <= '51'::text))
6541 -> Tid Scan on p2_c3_c1 p2
6542 TID Cond: (ctid = '(1,1)'::tid)
6543 Filter: ((val >= '50'::text) AND (val <= '51'::text))
6544 -> Tid Scan on p2_c3_c2 p2
6545 TID Cond: (ctid = '(1,1)'::tid)
6546 Filter: ((val >= '50'::text) AND (val <= '51'::text))
6549 /*+IndexScan(p2 p2_val)*/
6550 EXPLAIN (COSTS false) SELECT val FROM p2 WHERE val >= '50' AND val <= '51' AND p2.ctid = '(1,1)';
6551 LOG: available indexes for IndexScan(p2):
6552 LOG: available indexes for IndexScan(p2_c1):
6553 LOG: available indexes for IndexScan(p2_c2):
6554 LOG: available indexes for IndexScan(p2_c3):
6555 LOG: available indexes for IndexScan(p2_c4):
6556 LOG: available indexes for IndexScan(p2_c1_c1):
6557 LOG: available indexes for IndexScan(p2_c1_c2):
6558 LOG: available indexes for IndexScan(p2_c3_c1):
6559 LOG: available indexes for IndexScan(p2_c3_c2):
6562 IndexScan(p2 p2_val)
6568 -----------------------------------------------------------------------------------------------
6572 Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
6573 -> Seq Scan on p2_c1 p2
6574 Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
6575 -> Seq Scan on p2_c2 p2
6576 Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
6577 -> Seq Scan on p2_c3 p2
6578 Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
6579 -> Tid Scan on p2_c4 p2
6580 TID Cond: (ctid = '(1,1)'::tid)
6581 Filter: ((val >= '50'::text) AND (val <= '51'::text))
6582 -> Tid Scan on p2_c1_c1 p2
6583 TID Cond: (ctid = '(1,1)'::tid)
6584 Filter: ((val >= '50'::text) AND (val <= '51'::text))
6585 -> Tid Scan on p2_c1_c2 p2
6586 TID Cond: (ctid = '(1,1)'::tid)
6587 Filter: ((val >= '50'::text) AND (val <= '51'::text))
6588 -> Tid Scan on p2_c3_c1 p2
6589 TID Cond: (ctid = '(1,1)'::tid)
6590 Filter: ((val >= '50'::text) AND (val <= '51'::text))
6591 -> Tid Scan on p2_c3_c2 p2
6592 TID Cond: (ctid = '(1,1)'::tid)
6593 Filter: ((val >= '50'::text) AND (val <= '51'::text))
6596 /*+IndexScan(p2 p2_pkey)*/
6597 EXPLAIN (COSTS false) SELECT * FROM p2 WHERE id >= 50 AND id <= 51 AND p2.ctid = '(1,1)';
6598 LOG: available indexes for IndexScan(p2): p2_pkey
6599 LOG: available indexes for IndexScan(p2_c1): p2_c1_pkey
6600 LOG: available indexes for IndexScan(p2_c2): p2_c2_pkey
6601 LOG: available indexes for IndexScan(p2_c3): p2_c3_pkey
6602 LOG: available indexes for IndexScan(p2_c4): p2_c4_pkey
6603 LOG: available indexes for IndexScan(p2_c1_c1): p2_c1_c1_pkey
6604 LOG: available indexes for IndexScan(p2_c1_c2): p2_c1_c2_pkey
6605 LOG: available indexes for IndexScan(p2_c3_c1): p2_c3_c1_pkey
6606 LOG: available indexes for IndexScan(p2_c3_c2): p2_c3_c2_pkey
6609 IndexScan(p2 p2_pkey)
6615 -----------------------------------------------------------
6618 -> Index Scan using p2_pkey on p2
6619 Index Cond: ((id >= 50) AND (id <= 51))
6620 Filter: (ctid = '(1,1)'::tid)
6621 -> Index Scan using p2_c1_pkey on p2_c1 p2
6622 Index Cond: ((id >= 50) AND (id <= 51))
6623 Filter: (ctid = '(1,1)'::tid)
6624 -> Index Scan using p2_c1_c1_pkey on p2_c1_c1 p2
6625 Index Cond: ((id >= 50) AND (id <= 51))
6626 Filter: (ctid = '(1,1)'::tid)
6627 -> Index Scan using p2_c1_c2_pkey on p2_c1_c2 p2
6628 Index Cond: ((id >= 50) AND (id <= 51))
6629 Filter: (ctid = '(1,1)'::tid)
6632 /*+IndexScan(p2 p2_id2_val)*/
6633 EXPLAIN (COSTS false) SELECT * FROM p2 WHERE id >= 50 AND id <= 51 AND p2.ctid = '(1,1)';
6634 LOG: available indexes for IndexScan(p2): p2_id2_val
6635 LOG: available indexes for IndexScan(p2_c1): p2_c1_id2_val
6636 LOG: available indexes for IndexScan(p2_c2): p2_c2_id2_val
6637 LOG: available indexes for IndexScan(p2_c3):
6638 LOG: available indexes for IndexScan(p2_c4):
6639 LOG: available indexes for IndexScan(p2_c1_c1):
6640 LOG: available indexes for IndexScan(p2_c1_c2):
6641 LOG: available indexes for IndexScan(p2_c3_c1):
6642 LOG: available indexes for IndexScan(p2_c3_c2):
6645 IndexScan(p2 p2_id2_val)
6651 -------------------------------------------------------------------------------------
6654 -> Index Scan using p2_id2_val on p2
6655 Index Cond: ((id >= 50) AND (id <= 51) AND (id >= 50) AND (id <= 51))
6656 Filter: (ctid = '(1,1)'::tid)
6657 -> Index Scan using p2_c1_id2_val on p2_c1 p2
6658 Index Cond: ((id >= 50) AND (id <= 51) AND (id >= 50) AND (id <= 51))
6659 Filter: (ctid = '(1,1)'::tid)
6660 -> Tid Scan on p2_c1_c1 p2
6661 TID Cond: (ctid = '(1,1)'::tid)
6662 Filter: ((id >= 50) AND (id <= 51))
6663 -> Tid Scan on p2_c1_c2 p2
6664 TID Cond: (ctid = '(1,1)'::tid)
6665 Filter: ((id >= 50) AND (id <= 51))
6668 /*+IndexScan(p2 p2_val2_id)*/
6669 EXPLAIN (COSTS false) SELECT * FROM p2 WHERE id >= 50 AND id <= 51 AND p2.ctid = '(1,1)';
6670 LOG: available indexes for IndexScan(p2): p2_val2_id
6671 LOG: available indexes for IndexScan(p2_c1):
6672 LOG: available indexes for IndexScan(p2_c2):
6673 LOG: available indexes for IndexScan(p2_c3):
6674 LOG: available indexes for IndexScan(p2_c4):
6675 LOG: available indexes for IndexScan(p2_c1_c1):
6676 LOG: available indexes for IndexScan(p2_c1_c2):
6677 LOG: available indexes for IndexScan(p2_c3_c1):
6678 LOG: available indexes for IndexScan(p2_c3_c2):
6681 IndexScan(p2 p2_val2_id)
6687 -----------------------------------------------------------------------------
6690 -> Index Scan using p2_val2_id on p2
6691 Index Cond: ((id >= 50) AND (id <= 51))
6692 Filter: (ctid = '(1,1)'::tid)
6693 -> Seq Scan on p2_c1 p2
6694 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
6695 -> Tid Scan on p2_c1_c1 p2
6696 TID Cond: (ctid = '(1,1)'::tid)
6697 Filter: ((id >= 50) AND (id <= 51))
6698 -> Tid Scan on p2_c1_c2 p2
6699 TID Cond: (ctid = '(1,1)'::tid)
6700 Filter: ((id >= 50) AND (id <= 51))
6703 /*+IndexScan(p2 p2_pkey)*/
6704 EXPLAIN (COSTS false) SELECT * FROM p2 WHERE id >= 50 AND id <= 51 AND p2.ctid = '(1,1)';
6705 LOG: available indexes for IndexScan(p2): p2_pkey
6706 LOG: available indexes for IndexScan(p2_c1): p2_c1_pkey
6707 LOG: available indexes for IndexScan(p2_c2): p2_c2_pkey
6708 LOG: available indexes for IndexScan(p2_c3): p2_c3_pkey
6709 LOG: available indexes for IndexScan(p2_c4): p2_c4_pkey
6710 LOG: available indexes for IndexScan(p2_c1_c1): p2_c1_c1_pkey
6711 LOG: available indexes for IndexScan(p2_c1_c2): p2_c1_c2_pkey
6712 LOG: available indexes for IndexScan(p2_c3_c1): p2_c3_c1_pkey
6713 LOG: available indexes for IndexScan(p2_c3_c2): p2_c3_c2_pkey
6716 IndexScan(p2 p2_pkey)
6722 -----------------------------------------------------------
6725 -> Index Scan using p2_pkey on p2
6726 Index Cond: ((id >= 50) AND (id <= 51))
6727 Filter: (ctid = '(1,1)'::tid)
6728 -> Index Scan using p2_c1_pkey on p2_c1 p2
6729 Index Cond: ((id >= 50) AND (id <= 51))
6730 Filter: (ctid = '(1,1)'::tid)
6731 -> Index Scan using p2_c1_c1_pkey on p2_c1_c1 p2
6732 Index Cond: ((id >= 50) AND (id <= 51))
6733 Filter: (ctid = '(1,1)'::tid)
6734 -> Index Scan using p2_c1_c2_pkey on p2_c1_c2 p2
6735 Index Cond: ((id >= 50) AND (id <= 51))
6736 Filter: (ctid = '(1,1)'::tid)
6739 /*+IndexScan(p2 p2_c1_id_val_idx)*/
6740 EXPLAIN (COSTS false) SELECT * FROM p2 WHERE id >= 50 AND id <= 51 AND p2.ctid = '(1,1)';
6741 LOG: available indexes for IndexScan(p2):
6742 LOG: available indexes for IndexScan(p2_c1): p2_c1_id_val_idx
6743 LOG: available indexes for IndexScan(p2_c2):
6744 LOG: available indexes for IndexScan(p2_c3):
6745 LOG: available indexes for IndexScan(p2_c4):
6746 LOG: available indexes for IndexScan(p2_c1_c1):
6747 LOG: available indexes for IndexScan(p2_c1_c2):
6748 LOG: available indexes for IndexScan(p2_c3_c1):
6749 LOG: available indexes for IndexScan(p2_c3_c2):
6752 IndexScan(p2 p2_c1_id_val_idx)
6758 -----------------------------------------------------------------------------
6762 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
6763 -> Index Scan using p2_c1_id_val_idx on p2_c1 p2
6764 Index Cond: ((id >= 50) AND (id <= 51))
6765 Filter: (ctid = '(1,1)'::tid)
6766 -> Tid Scan on p2_c1_c1 p2
6767 TID Cond: (ctid = '(1,1)'::tid)
6768 Filter: ((id >= 50) AND (id <= 51))
6769 -> Tid Scan on p2_c1_c2 p2
6770 TID Cond: (ctid = '(1,1)'::tid)
6771 Filter: ((id >= 50) AND (id <= 51))
6774 /*+IndexScan(p2 no_exist)*/
6775 EXPLAIN (COSTS false) SELECT * FROM p2 WHERE id >= 50 AND id <= 51 AND p2.ctid = '(1,1)';
6776 LOG: available indexes for IndexScan(p2):
6777 LOG: available indexes for IndexScan(p2_c1):
6778 LOG: available indexes for IndexScan(p2_c2):
6779 LOG: available indexes for IndexScan(p2_c3):
6780 LOG: available indexes for IndexScan(p2_c4):
6781 LOG: available indexes for IndexScan(p2_c1_c1):
6782 LOG: available indexes for IndexScan(p2_c1_c2):
6783 LOG: available indexes for IndexScan(p2_c3_c1):
6784 LOG: available indexes for IndexScan(p2_c3_c2):
6787 IndexScan(p2 no_exist)
6793 -----------------------------------------------------------------------------
6797 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
6798 -> Seq Scan on p2_c1 p2
6799 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
6800 -> Tid Scan on p2_c1_c1 p2
6801 TID Cond: (ctid = '(1,1)'::tid)
6802 Filter: ((id >= 50) AND (id <= 51))
6803 -> Tid Scan on p2_c1_c2 p2
6804 TID Cond: (ctid = '(1,1)'::tid)
6805 Filter: ((id >= 50) AND (id <= 51))
6808 /*+IndexScan(p2 p2_pkey p2_c1_id_val_idx)*/
6809 EXPLAIN (COSTS false) SELECT * FROM p2 WHERE id >= 50 AND id <= 51 AND p2.ctid = '(1,1)';
6810 LOG: available indexes for IndexScan(p2): p2_pkey
6811 LOG: available indexes for IndexScan(p2_c1): p2_c1_id_val_idx p2_c1_pkey
6812 LOG: available indexes for IndexScan(p2_c2): p2_c2_pkey
6813 LOG: available indexes for IndexScan(p2_c3): p2_c3_pkey
6814 LOG: available indexes for IndexScan(p2_c4): p2_c4_pkey
6815 LOG: available indexes for IndexScan(p2_c1_c1): p2_c1_c1_pkey
6816 LOG: available indexes for IndexScan(p2_c1_c2): p2_c1_c2_pkey
6817 LOG: available indexes for IndexScan(p2_c3_c1): p2_c3_c1_pkey
6818 LOG: available indexes for IndexScan(p2_c3_c2): p2_c3_c2_pkey
6821 IndexScan(p2 p2_pkey p2_c1_id_val_idx)
6827 -----------------------------------------------------------
6830 -> Index Scan using p2_pkey on p2
6831 Index Cond: ((id >= 50) AND (id <= 51))
6832 Filter: (ctid = '(1,1)'::tid)
6833 -> Index Scan using p2_c1_id_val_idx on p2_c1 p2
6834 Index Cond: ((id >= 50) AND (id <= 51))
6835 Filter: (ctid = '(1,1)'::tid)
6836 -> Index Scan using p2_c1_c1_pkey on p2_c1_c1 p2
6837 Index Cond: ((id >= 50) AND (id <= 51))
6838 Filter: (ctid = '(1,1)'::tid)
6839 -> Index Scan using p2_c1_c2_pkey on p2_c1_c2 p2
6840 Index Cond: ((id >= 50) AND (id <= 51))
6841 Filter: (ctid = '(1,1)'::tid)
6844 /*+IndexScan(p2 p2_pkey no_exist)*/
6845 EXPLAIN (COSTS false) SELECT * FROM p2 WHERE id >= 50 AND id <= 51 AND p2.ctid = '(1,1)';
6846 LOG: available indexes for IndexScan(p2): p2_pkey
6847 LOG: available indexes for IndexScan(p2_c1): p2_c1_pkey
6848 LOG: available indexes for IndexScan(p2_c2): p2_c2_pkey
6849 LOG: available indexes for IndexScan(p2_c3): p2_c3_pkey
6850 LOG: available indexes for IndexScan(p2_c4): p2_c4_pkey
6851 LOG: available indexes for IndexScan(p2_c1_c1): p2_c1_c1_pkey
6852 LOG: available indexes for IndexScan(p2_c1_c2): p2_c1_c2_pkey
6853 LOG: available indexes for IndexScan(p2_c3_c1): p2_c3_c1_pkey
6854 LOG: available indexes for IndexScan(p2_c3_c2): p2_c3_c2_pkey
6857 IndexScan(p2 p2_pkey no_exist)
6863 -----------------------------------------------------------
6866 -> Index Scan using p2_pkey on p2
6867 Index Cond: ((id >= 50) AND (id <= 51))
6868 Filter: (ctid = '(1,1)'::tid)
6869 -> Index Scan using p2_c1_pkey on p2_c1 p2
6870 Index Cond: ((id >= 50) AND (id <= 51))
6871 Filter: (ctid = '(1,1)'::tid)
6872 -> Index Scan using p2_c1_c1_pkey on p2_c1_c1 p2
6873 Index Cond: ((id >= 50) AND (id <= 51))
6874 Filter: (ctid = '(1,1)'::tid)
6875 -> Index Scan using p2_c1_c2_pkey on p2_c1_c2 p2
6876 Index Cond: ((id >= 50) AND (id <= 51))
6877 Filter: (ctid = '(1,1)'::tid)
6880 /*+IndexScan(p2 p2_c1_id_val_idx no_exist)*/
6881 EXPLAIN (COSTS false) SELECT * FROM p2 WHERE id >= 50 AND id <= 51 AND p2.ctid = '(1,1)';
6882 LOG: available indexes for IndexScan(p2):
6883 LOG: available indexes for IndexScan(p2_c1): p2_c1_id_val_idx
6884 LOG: available indexes for IndexScan(p2_c2):
6885 LOG: available indexes for IndexScan(p2_c3):
6886 LOG: available indexes for IndexScan(p2_c4):
6887 LOG: available indexes for IndexScan(p2_c1_c1):
6888 LOG: available indexes for IndexScan(p2_c1_c2):
6889 LOG: available indexes for IndexScan(p2_c3_c1):
6890 LOG: available indexes for IndexScan(p2_c3_c2):
6893 IndexScan(p2 p2_c1_id_val_idx no_exist)
6899 -----------------------------------------------------------------------------
6903 Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
6904 -> Index Scan using p2_c1_id_val_idx on p2_c1 p2
6905 Index Cond: ((id >= 50) AND (id <= 51))
6906 Filter: (ctid = '(1,1)'::tid)
6907 -> Tid Scan on p2_c1_c1 p2
6908 TID Cond: (ctid = '(1,1)'::tid)
6909 Filter: ((id >= 50) AND (id <= 51))
6910 -> Tid Scan on p2_c1_c2 p2
6911 TID Cond: (ctid = '(1,1)'::tid)
6912 Filter: ((id >= 50) AND (id <= 51))
6915 /*+IndexScan(p2 p2_pkey p2_c1_id_val_idx no_exist)*/
6916 EXPLAIN (COSTS false) SELECT * FROM p2 WHERE id >= 50 AND id <= 51 AND p2.ctid = '(1,1)';
6917 LOG: available indexes for IndexScan(p2): p2_pkey
6918 LOG: available indexes for IndexScan(p2_c1): p2_c1_id_val_idx p2_c1_pkey
6919 LOG: available indexes for IndexScan(p2_c2): p2_c2_pkey
6920 LOG: available indexes for IndexScan(p2_c3): p2_c3_pkey
6921 LOG: available indexes for IndexScan(p2_c4): p2_c4_pkey
6922 LOG: available indexes for IndexScan(p2_c1_c1): p2_c1_c1_pkey
6923 LOG: available indexes for IndexScan(p2_c1_c2): p2_c1_c2_pkey
6924 LOG: available indexes for IndexScan(p2_c3_c1): p2_c3_c1_pkey
6925 LOG: available indexes for IndexScan(p2_c3_c2): p2_c3_c2_pkey
6928 IndexScan(p2 p2_pkey p2_c1_id_val_idx no_exist)
6934 -----------------------------------------------------------
6937 -> Index Scan using p2_pkey on p2
6938 Index Cond: ((id >= 50) AND (id <= 51))
6939 Filter: (ctid = '(1,1)'::tid)
6940 -> Index Scan using p2_c1_id_val_idx on p2_c1 p2
6941 Index Cond: ((id >= 50) AND (id <= 51))
6942 Filter: (ctid = '(1,1)'::tid)
6943 -> Index Scan using p2_c1_c1_pkey on p2_c1_c1 p2
6944 Index Cond: ((id >= 50) AND (id <= 51))
6945 Filter: (ctid = '(1,1)'::tid)
6946 -> Index Scan using p2_c1_c2_pkey on p2_c1_c2 p2
6947 Index Cond: ((id >= 50) AND (id <= 51))
6948 Filter: (ctid = '(1,1)'::tid)
6951 /*+IndexScan(p2 p2_val_idx)*/
6952 EXPLAIN (COSTS false) SELECT val FROM p2 WHERE val >= '50' AND val <= '51' AND p2.ctid = '(1,1)';
6953 LOG: available indexes for IndexScan(p2): p2_val_idx
6954 LOG: available indexes for IndexScan(p2_c1): p2_c1_val_idx
6955 LOG: available indexes for IndexScan(p2_c2): p2_c2_val_idx
6956 LOG: available indexes for IndexScan(p2_c3): p2_c3_val_idx
6957 LOG: available indexes for IndexScan(p2_c4): p2_c4_val_idx
6958 LOG: available indexes for IndexScan(p2_c1_c1): p2_c1_c1_val_idx
6959 LOG: available indexes for IndexScan(p2_c1_c2): p2_c1_c2_val_idx
6960 LOG: available indexes for IndexScan(p2_c3_c1): p2_c3_c1_val_idx
6961 LOG: available indexes for IndexScan(p2_c3_c2): p2_c3_c2_val_idx
6964 IndexScan(p2 p2_val_idx)
6970 -------------------------------------------------------------------------
6973 -> Index Scan using p2_val_idx on p2
6974 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
6975 Filter: (ctid = '(1,1)'::tid)
6976 -> Index Scan using p2_c1_val_idx on p2_c1 p2
6977 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
6978 Filter: (ctid = '(1,1)'::tid)
6979 -> Index Scan using p2_c2_val_idx on p2_c2 p2
6980 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
6981 Filter: (ctid = '(1,1)'::tid)
6982 -> Index Scan using p2_c3_val_idx on p2_c3 p2
6983 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
6984 Filter: (ctid = '(1,1)'::tid)
6985 -> Index Scan using p2_c4_val_idx on p2_c4 p2
6986 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
6987 Filter: (ctid = '(1,1)'::tid)
6988 -> Index Scan using p2_c1_c1_val_idx on p2_c1_c1 p2
6989 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
6990 Filter: (ctid = '(1,1)'::tid)
6991 -> Index Scan using p2_c1_c2_val_idx on p2_c1_c2 p2
6992 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
6993 Filter: (ctid = '(1,1)'::tid)
6994 -> Index Scan using p2_c3_c1_val_idx on p2_c3_c1 p2
6995 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
6996 Filter: (ctid = '(1,1)'::tid)
6997 -> Index Scan using p2_c3_c2_val_idx on p2_c3_c2 p2
6998 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
6999 Filter: (ctid = '(1,1)'::tid)
7002 /*+IndexScan(p2 p2_expr)*/
7003 EXPLAIN (COSTS false) SELECT val FROM p2 WHERE val >= '50' AND val <= '51' AND p2.ctid = '(1,1)';
7004 LOG: available indexes for IndexScan(p2): p2_expr
7005 LOG: available indexes for IndexScan(p2_c1): p2_c1_expr_idx
7006 LOG: available indexes for IndexScan(p2_c2): p2_c2_expr_idx
7007 LOG: available indexes for IndexScan(p2_c3): p2_c3_expr_idx
7008 LOG: available indexes for IndexScan(p2_c4): p2_c4_expr_idx
7009 LOG: available indexes for IndexScan(p2_c1_c1): p2_c1_c1_expr_idx
7010 LOG: available indexes for IndexScan(p2_c1_c2): p2_c1_c2_expr_idx
7011 LOG: available indexes for IndexScan(p2_c3_c1): p2_c3_c1_expr_idx
7012 LOG: available indexes for IndexScan(p2_c3_c2): p2_c3_c2_expr_idx
7015 IndexScan(p2 p2_expr)
7021 -----------------------------------------------------------------------------------------------
7025 Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
7026 -> Seq Scan on p2_c1 p2
7027 Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
7028 -> Seq Scan on p2_c2 p2
7029 Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
7030 -> Seq Scan on p2_c3 p2
7031 Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
7032 -> Tid Scan on p2_c4 p2
7033 TID Cond: (ctid = '(1,1)'::tid)
7034 Filter: ((val >= '50'::text) AND (val <= '51'::text))
7035 -> Tid Scan on p2_c1_c1 p2
7036 TID Cond: (ctid = '(1,1)'::tid)
7037 Filter: ((val >= '50'::text) AND (val <= '51'::text))
7038 -> Tid Scan on p2_c1_c2 p2
7039 TID Cond: (ctid = '(1,1)'::tid)
7040 Filter: ((val >= '50'::text) AND (val <= '51'::text))
7041 -> Tid Scan on p2_c3_c1 p2
7042 TID Cond: (ctid = '(1,1)'::tid)
7043 Filter: ((val >= '50'::text) AND (val <= '51'::text))
7044 -> Tid Scan on p2_c3_c2 p2
7045 TID Cond: (ctid = '(1,1)'::tid)
7046 Filter: ((val >= '50'::text) AND (val <= '51'::text))
7049 /*+IndexScan(p2 p2_val_idx6)*/
7050 EXPLAIN (COSTS false) SELECT val FROM p2 WHERE val >= '50' AND val <= '51' AND p2.ctid = '(1,1)';
7051 LOG: available indexes for IndexScan(p2): p2_val_idx6
7052 LOG: available indexes for IndexScan(p2_c1): p2_c1_val_idx6
7053 LOG: available indexes for IndexScan(p2_c2): p2_c2_val_idx6
7054 LOG: available indexes for IndexScan(p2_c3): p2_c3_val_idx6
7055 LOG: available indexes for IndexScan(p2_c4): p2_c4_val_idx6
7056 LOG: available indexes for IndexScan(p2_c1_c1): p2_c1_c1_val_idx6
7057 LOG: available indexes for IndexScan(p2_c1_c2): p2_c1_c2_val_idx6
7058 LOG: available indexes for IndexScan(p2_c3_c1): p2_c3_c1_val_idx6
7059 LOG: available indexes for IndexScan(p2_c3_c2): p2_c3_c2_val_idx6
7062 IndexScan(p2 p2_val_idx6)
7068 -----------------------------------------------------------------------------------------------
7072 Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
7073 -> Seq Scan on p2_c1 p2
7074 Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
7075 -> Seq Scan on p2_c2 p2
7076 Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
7077 -> Seq Scan on p2_c3 p2
7078 Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
7079 -> Tid Scan on p2_c4 p2
7080 TID Cond: (ctid = '(1,1)'::tid)
7081 Filter: ((val >= '50'::text) AND (val <= '51'::text))
7082 -> Tid Scan on p2_c1_c1 p2
7083 TID Cond: (ctid = '(1,1)'::tid)
7084 Filter: ((val >= '50'::text) AND (val <= '51'::text))
7085 -> Tid Scan on p2_c1_c2 p2
7086 TID Cond: (ctid = '(1,1)'::tid)
7087 Filter: ((val >= '50'::text) AND (val <= '51'::text))
7088 -> Tid Scan on p2_c3_c1 p2
7089 TID Cond: (ctid = '(1,1)'::tid)
7090 Filter: ((val >= '50'::text) AND (val <= '51'::text))
7091 -> Tid Scan on p2_c3_c2 p2
7092 TID Cond: (ctid = '(1,1)'::tid)
7093 Filter: ((val >= '50'::text) AND (val <= '51'::text))
7096 /*+IndexScan(p2 p2_val_idx p2_val_idx6)*/
7097 EXPLAIN (COSTS false) SELECT val FROM p2 WHERE val >= '50' AND val <= '51' AND p2.ctid = '(1,1)';
7098 LOG: available indexes for IndexScan(p2): p2_val_idx6 p2_val_idx
7099 LOG: available indexes for IndexScan(p2_c1): p2_c1_val_idx6 p2_c1_val_idx
7100 LOG: available indexes for IndexScan(p2_c2): p2_c2_val_idx6 p2_c2_val_idx
7101 LOG: available indexes for IndexScan(p2_c3): p2_c3_val_idx6 p2_c3_val_idx
7102 LOG: available indexes for IndexScan(p2_c4): p2_c4_val_idx6 p2_c4_val_idx
7103 LOG: available indexes for IndexScan(p2_c1_c1): p2_c1_c1_val_idx6 p2_c1_c1_val_idx
7104 LOG: available indexes for IndexScan(p2_c1_c2): p2_c1_c2_val_idx6 p2_c1_c2_val_idx
7105 LOG: available indexes for IndexScan(p2_c3_c1): p2_c3_c1_val_idx6 p2_c3_c1_val_idx
7106 LOG: available indexes for IndexScan(p2_c3_c2): p2_c3_c2_val_idx6 p2_c3_c2_val_idx
7109 IndexScan(p2 p2_val_idx p2_val_idx6)
7115 -------------------------------------------------------------------------
7118 -> Index Scan using p2_val_idx on p2
7119 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
7120 Filter: (ctid = '(1,1)'::tid)
7121 -> Index Scan using p2_c1_val_idx on p2_c1 p2
7122 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
7123 Filter: (ctid = '(1,1)'::tid)
7124 -> Index Scan using p2_c2_val_idx on p2_c2 p2
7125 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
7126 Filter: (ctid = '(1,1)'::tid)
7127 -> Index Scan using p2_c3_val_idx on p2_c3 p2
7128 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
7129 Filter: (ctid = '(1,1)'::tid)
7130 -> Index Scan using p2_c4_val_idx on p2_c4 p2
7131 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
7132 Filter: (ctid = '(1,1)'::tid)
7133 -> Index Scan using p2_c1_c1_val_idx on p2_c1_c1 p2
7134 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
7135 Filter: (ctid = '(1,1)'::tid)
7136 -> Index Scan using p2_c1_c2_val_idx on p2_c1_c2 p2
7137 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
7138 Filter: (ctid = '(1,1)'::tid)
7139 -> Index Scan using p2_c3_c1_val_idx on p2_c3_c1 p2
7140 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
7141 Filter: (ctid = '(1,1)'::tid)
7142 -> Index Scan using p2_c3_c2_val_idx on p2_c3_c2 p2
7143 Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
7144 Filter: (ctid = '(1,1)'::tid)
7147 -- regular expression
7149 EXPLAIN (COSTS false) SELECT id FROM t5 WHERE id = 1;
7151 ----------------------------------------------------------------------------------------
7152 Index Scan using t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa on t5
7153 Index Cond: (id = 1)
7156 /*+ IndexScanRegexp(t5 t5_[^i].*)*/
7157 EXPLAIN (COSTS false) SELECT id FROM t5 WHERE id = 1;
7158 LOG: available indexes for IndexScanRegexp(t5): t5_val t5_pkey
7161 IndexScanRegexp(t5 t5_[^i].*)
7167 --------------------------------
7168 Index Scan using t5_pkey on t5
7169 Index Cond: (id = 1)
7172 /*+ IndexScanRegexp(t5 t5_id[0-9].*)*/
7173 EXPLAIN (COSTS false) SELECT id FROM t5 WHERE id = 1;
7174 LOG: available indexes for IndexScanRegexp(t5): t5_id3 t5_id2 t5_id1
7177 IndexScanRegexp(t5 t5_id[0-9].*)
7183 -------------------------------
7184 Index Scan using t5_id3 on t5
7185 Index Cond: (id = 1)
7188 /*+ IndexScanRegexp(t5 t5[^_].*)*/
7189 EXPLAIN (COSTS false) SELECT id FROM t5 WHERE id = 1;
7190 LOG: available indexes for IndexScanRegexp(t5):
7193 IndexScanRegexp(t5 t5[^_].*)
7199 --------------------
7204 /*+ IndexScanRegexp(t5 ^.*t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab)*/
7205 EXPLAIN (COSTS false) SELECT id FROM t5 WHERE id = 1;
7206 LOG: available indexes for IndexScanRegexp(t5):
7209 IndexScanRegexp(t5 ^.*t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab)
7215 --------------------
7220 /*+ IndexScan(t5 t5_id[0-9].*)*/
7221 EXPLAIN (COSTS false) SELECT id FROM t5 WHERE id = 1;
7222 LOG: available indexes for IndexScan(t5):
7225 IndexScan(t5 t5_id[0-9].*)
7231 --------------------
7236 /*+ IndexOnlyScanRegexp(t5 t5_[^i].*)*/
7237 EXPLAIN (COSTS false) SELECT id FROM t5 WHERE id = 1;
7238 INFO: hint syntax error at or near "IndexOnlyScanRegexp(t5 t5_[^i].*)"
7239 DETAIL: Unrecognized hint keyword "IndexOnlyScanRegexp".
7241 ----------------------------------------------------------------------------------------
7242 Index Scan using t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa on t5
7243 Index Cond: (id = 1)
7246 /*+ IndexOnlyScanRegexp(t5 t5_id[0-9].*)*/
7247 EXPLAIN (COSTS false) SELECT id FROM t5 WHERE id = 1;
7248 INFO: hint syntax error at or near "IndexOnlyScanRegexp(t5 t5_id[0-9].*)"
7249 DETAIL: Unrecognized hint keyword "IndexOnlyScanRegexp".
7251 ----------------------------------------------------------------------------------------
7252 Index Scan using t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa on t5
7253 Index Cond: (id = 1)
7256 /*+ IndexOnlyScanRegexp(t5 t5[^_].*)*/
7257 EXPLAIN (COSTS false) SELECT id FROM t5 WHERE id = 1;
7258 INFO: hint syntax error at or near "IndexOnlyScanRegexp(t5 t5[^_].*)"
7259 DETAIL: Unrecognized hint keyword "IndexOnlyScanRegexp".
7261 ----------------------------------------------------------------------------------------
7262 Index Scan using t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa on t5
7263 Index Cond: (id = 1)
7266 /*+ IndexOnlyScanRegexp(t5 ^.*t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab)*/
7267 EXPLAIN (COSTS false) SELECT id FROM t5 WHERE id = 1;
7268 INFO: hint syntax error at or near "IndexOnlyScanRegexp(t5 ^.*t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab)"
7269 DETAIL: Unrecognized hint keyword "IndexOnlyScanRegexp".
7271 ----------------------------------------------------------------------------------------
7272 Index Scan using t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa on t5
7273 Index Cond: (id = 1)
7276 /*+ IndexOnlyScan(t5 t5_id[0-9].*)*/
7277 EXPLAIN (COSTS false) SELECT id FROM t5 WHERE id = 1;
7278 INFO: hint syntax error at or near "IndexOnlyScan(t5 t5_id[0-9].*)"
7279 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
7281 ----------------------------------------------------------------------------------------
7282 Index Scan using t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa on t5
7283 Index Cond: (id = 1)
7286 /*+ BitmapScanRegexp(t5 t5_[^i].*)*/
7287 EXPLAIN (COSTS false) SELECT id FROM t5 WHERE id = 1;
7288 LOG: available indexes for BitmapScanRegexp(t5): t5_val t5_pkey
7291 BitmapScanRegexp(t5 t5_[^i].*)
7297 ------------------------------------
7298 Bitmap Heap Scan on t5
7299 Recheck Cond: (id = 1)
7300 -> Bitmap Index Scan on t5_pkey
7301 Index Cond: (id = 1)
7304 /*+ BitmapScanRegexp(t5 t5_id[0-9].*)*/
7305 EXPLAIN (COSTS false) SELECT id FROM t5 WHERE id = 1;
7306 LOG: available indexes for BitmapScanRegexp(t5): t5_id3 t5_id2 t5_id1
7309 BitmapScanRegexp(t5 t5_id[0-9].*)
7315 -----------------------------------
7316 Bitmap Heap Scan on t5
7317 Recheck Cond: (id = 1)
7318 -> Bitmap Index Scan on t5_id3
7319 Index Cond: (id = 1)
7322 /*+ BitmapScanRegexp(t5 t5[^_].*)*/
7323 EXPLAIN (COSTS false) SELECT id FROM t5 WHERE id = 1;
7324 LOG: available indexes for BitmapScanRegexp(t5):
7327 BitmapScanRegexp(t5 t5[^_].*)
7333 --------------------
7338 /*+ BitmapScanRegexp(t5 ^.*t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab)*/
7339 EXPLAIN (COSTS false) SELECT id FROM t5 WHERE id = 1;
7340 LOG: available indexes for BitmapScanRegexp(t5):
7343 BitmapScanRegexp(t5 ^.*t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab)
7349 --------------------
7354 /*+ BitmapScan(t5 t5_id[0-9].*)*/
7355 EXPLAIN (COSTS false) SELECT id FROM t5 WHERE id = 1;
7356 LOG: available indexes for BitmapScan(t5):
7359 BitmapScan(t5 t5_id[0-9].*)
7365 --------------------
7371 EXPLAIN (COSTS false) SELECT val FROM p1 WHERE val = 1;
7373 -------------------------------------
7378 -> Seq Scan on p1_c1 p1
7380 -> Seq Scan on p1_c2 p1
7382 -> Seq Scan on p1_c3 p1
7384 -> Seq Scan on p1_c4 p1
7386 -> Seq Scan on p1_c1_c1 p1
7388 -> Seq Scan on p1_c1_c2 p1
7390 -> Seq Scan on p1_c3_c1 p1
7392 -> Seq Scan on p1_c3_c2 p1
7396 /*+ IndexScanRegexp(p1 p1_.*[^0-9]$)*/
7397 EXPLAIN (COSTS false) SELECT val FROM p1 WHERE val = 1;
7398 LOG: available indexes for IndexScanRegexp(p1): p1_pkey
7399 LOG: available indexes for IndexScanRegexp(p1_c1): p1_c1_pkey
7400 LOG: available indexes for IndexScanRegexp(p1_c2): p1_c2_pkey
7401 LOG: available indexes for IndexScanRegexp(p1_c3): p1_c3_pkey
7402 LOG: available indexes for IndexScanRegexp(p1_c4): p1_c4_pkey
7403 LOG: available indexes for IndexScanRegexp(p1_c1_c1): p1_c1_c1_pkey
7404 LOG: available indexes for IndexScanRegexp(p1_c1_c2): p1_c1_c2_pkey
7405 LOG: available indexes for IndexScanRegexp(p1_c3_c1): p1_c3_c1_pkey
7406 LOG: available indexes for IndexScanRegexp(p1_c3_c2): p1_c3_c2_pkey
7409 IndexScanRegexp(p1 p1_.*[^0-9]$)
7415 -------------------------------------
7420 -> Seq Scan on p1_c1 p1
7422 -> Seq Scan on p1_c2 p1
7424 -> Seq Scan on p1_c3 p1
7426 -> Seq Scan on p1_c4 p1
7428 -> Seq Scan on p1_c1_c1 p1
7430 -> Seq Scan on p1_c1_c2 p1
7432 -> Seq Scan on p1_c3_c1 p1
7434 -> Seq Scan on p1_c3_c2 p1
7438 /*+ IndexScanRegexp(p1 p1_.*val2.*)*/
7439 EXPLAIN (COSTS false) SELECT val FROM p1 WHERE val = 1;
7440 LOG: available indexes for IndexScanRegexp(p1): p1_val2
7441 LOG: available indexes for IndexScanRegexp(p1_c1): p1_c1_val2
7442 LOG: available indexes for IndexScanRegexp(p1_c2): p1_c2_val2
7443 LOG: available indexes for IndexScanRegexp(p1_c3): p1_c3_val2
7444 LOG: available indexes for IndexScanRegexp(p1_c4): p1_c4_val2
7445 LOG: available indexes for IndexScanRegexp(p1_c1_c1): p1_c1_c1_val2
7446 LOG: available indexes for IndexScanRegexp(p1_c1_c2): p1_c1_c2_val2
7447 LOG: available indexes for IndexScanRegexp(p1_c3_c1): p1_c3_c1_val2
7448 LOG: available indexes for IndexScanRegexp(p1_c3_c2): p1_c3_c2_val2
7451 IndexScanRegexp(p1 p1_.*val2.*)
7457 -----------------------------------------------------------
7460 -> Index Scan using p1_val2 on p1
7461 Index Cond: (val = 1)
7462 -> Index Scan using p1_c1_val2 on p1_c1 p1
7463 Index Cond: (val = 1)
7464 -> Index Scan using p1_c2_val2 on p1_c2 p1
7465 Index Cond: (val = 1)
7466 -> Index Scan using p1_c3_val2 on p1_c3 p1
7467 Index Cond: (val = 1)
7468 -> Index Scan using p1_c4_val2 on p1_c4 p1
7469 Index Cond: (val = 1)
7470 -> Index Scan using p1_c1_c1_val2 on p1_c1_c1 p1
7471 Index Cond: (val = 1)
7472 -> Index Scan using p1_c1_c2_val2 on p1_c1_c2 p1
7473 Index Cond: (val = 1)
7474 -> Index Scan using p1_c3_c1_val2 on p1_c3_c1 p1
7475 Index Cond: (val = 1)
7476 -> Index Scan using p1_c3_c2_val2 on p1_c3_c2 p1
7477 Index Cond: (val = 1)
7480 /*+ IndexScanRegexp(p1 p1[^_].*)*/
7481 EXPLAIN (COSTS false) SELECT val FROM p1 WHERE val = 1;
7482 LOG: available indexes for IndexScanRegexp(p1):
7483 LOG: available indexes for IndexScanRegexp(p1_c1):
7484 LOG: available indexes for IndexScanRegexp(p1_c2):
7485 LOG: available indexes for IndexScanRegexp(p1_c3):
7486 LOG: available indexes for IndexScanRegexp(p1_c4):
7487 LOG: available indexes for IndexScanRegexp(p1_c1_c1):
7488 LOG: available indexes for IndexScanRegexp(p1_c1_c2):
7489 LOG: available indexes for IndexScanRegexp(p1_c3_c1):
7490 LOG: available indexes for IndexScanRegexp(p1_c3_c2):
7493 IndexScanRegexp(p1 p1[^_].*)
7499 -------------------------------------
7504 -> Seq Scan on p1_c1 p1
7506 -> Seq Scan on p1_c2 p1
7508 -> Seq Scan on p1_c3 p1
7510 -> Seq Scan on p1_c4 p1
7512 -> Seq Scan on p1_c1_c1 p1
7514 -> Seq Scan on p1_c1_c2 p1
7516 -> Seq Scan on p1_c3_c1 p1
7518 -> Seq Scan on p1_c3_c2 p1
7522 /*+ IndexScan(p1 p1_.*val2.*)*/
7523 EXPLAIN (COSTS false) SELECT val FROM p1 WHERE val = 1;
7524 LOG: available indexes for IndexScan(p1):
7525 LOG: available indexes for IndexScan(p1_c1):
7526 LOG: available indexes for IndexScan(p1_c2):
7527 LOG: available indexes for IndexScan(p1_c3):
7528 LOG: available indexes for IndexScan(p1_c4):
7529 LOG: available indexes for IndexScan(p1_c1_c1):
7530 LOG: available indexes for IndexScan(p1_c1_c2):
7531 LOG: available indexes for IndexScan(p1_c3_c1):
7532 LOG: available indexes for IndexScan(p1_c3_c2):
7535 IndexScan(p1 p1_.*val2.*)
7541 -------------------------------------
7546 -> Seq Scan on p1_c1 p1
7548 -> Seq Scan on p1_c2 p1
7550 -> Seq Scan on p1_c3 p1
7552 -> Seq Scan on p1_c4 p1
7554 -> Seq Scan on p1_c1_c1 p1
7556 -> Seq Scan on p1_c1_c2 p1
7558 -> Seq Scan on p1_c3_c1 p1
7560 -> Seq Scan on p1_c3_c2 p1
7564 /*+ IndexOnlyScanRegexp(p1 p1_.*[^0-9]$)*/
7565 EXPLAIN (COSTS false) SELECT val FROM p1 WHERE val = 1;
7566 INFO: hint syntax error at or near "IndexOnlyScanRegexp(p1 p1_.*[^0-9]$)"
7567 DETAIL: Unrecognized hint keyword "IndexOnlyScanRegexp".
7569 -------------------------------------
7574 -> Seq Scan on p1_c1 p1
7576 -> Seq Scan on p1_c2 p1
7578 -> Seq Scan on p1_c3 p1
7580 -> Seq Scan on p1_c4 p1
7582 -> Seq Scan on p1_c1_c1 p1
7584 -> Seq Scan on p1_c1_c2 p1
7586 -> Seq Scan on p1_c3_c1 p1
7588 -> Seq Scan on p1_c3_c2 p1
7592 /*+ IndexOnlyScanRegexp(p1 p1_.*val2.*)*/
7593 EXPLAIN (COSTS false) SELECT val FROM p1 WHERE val = 1;
7594 INFO: hint syntax error at or near "IndexOnlyScanRegexp(p1 p1_.*val2.*)"
7595 DETAIL: Unrecognized hint keyword "IndexOnlyScanRegexp".
7597 -------------------------------------
7602 -> Seq Scan on p1_c1 p1
7604 -> Seq Scan on p1_c2 p1
7606 -> Seq Scan on p1_c3 p1
7608 -> Seq Scan on p1_c4 p1
7610 -> Seq Scan on p1_c1_c1 p1
7612 -> Seq Scan on p1_c1_c2 p1
7614 -> Seq Scan on p1_c3_c1 p1
7616 -> Seq Scan on p1_c3_c2 p1
7620 /*+ IndexOnlyScanRegexp(p1 p1[^_].*)*/
7621 EXPLAIN (COSTS false) SELECT val FROM p1 WHERE val = 1;
7622 INFO: hint syntax error at or near "IndexOnlyScanRegexp(p1 p1[^_].*)"
7623 DETAIL: Unrecognized hint keyword "IndexOnlyScanRegexp".
7625 -------------------------------------
7630 -> Seq Scan on p1_c1 p1
7632 -> Seq Scan on p1_c2 p1
7634 -> Seq Scan on p1_c3 p1
7636 -> Seq Scan on p1_c4 p1
7638 -> Seq Scan on p1_c1_c1 p1
7640 -> Seq Scan on p1_c1_c2 p1
7642 -> Seq Scan on p1_c3_c1 p1
7644 -> Seq Scan on p1_c3_c2 p1
7648 /*+ IndexOnlyScan(p1 p1_.*val2.*)*/
7649 EXPLAIN (COSTS false) SELECT val FROM p1 WHERE val = 1;
7650 INFO: hint syntax error at or near "IndexOnlyScan(p1 p1_.*val2.*)"
7651 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
7653 -------------------------------------
7658 -> Seq Scan on p1_c1 p1
7660 -> Seq Scan on p1_c2 p1
7662 -> Seq Scan on p1_c3 p1
7664 -> Seq Scan on p1_c4 p1
7666 -> Seq Scan on p1_c1_c1 p1
7668 -> Seq Scan on p1_c1_c2 p1
7670 -> Seq Scan on p1_c3_c1 p1
7672 -> Seq Scan on p1_c3_c2 p1
7676 /*+ BitmapScanRegexp(p1 p1_.*[^0-9]$)*/
7677 EXPLAIN (COSTS false) SELECT val FROM p1 WHERE val = 1;
7678 LOG: available indexes for BitmapScanRegexp(p1): p1_pkey
7679 LOG: available indexes for BitmapScanRegexp(p1_c1): p1_c1_pkey
7680 LOG: available indexes for BitmapScanRegexp(p1_c2): p1_c2_pkey
7681 LOG: available indexes for BitmapScanRegexp(p1_c3): p1_c3_pkey
7682 LOG: available indexes for BitmapScanRegexp(p1_c4): p1_c4_pkey
7683 LOG: available indexes for BitmapScanRegexp(p1_c1_c1): p1_c1_c1_pkey
7684 LOG: available indexes for BitmapScanRegexp(p1_c1_c2): p1_c1_c2_pkey
7685 LOG: available indexes for BitmapScanRegexp(p1_c3_c1): p1_c3_c1_pkey
7686 LOG: available indexes for BitmapScanRegexp(p1_c3_c2): p1_c3_c2_pkey
7689 BitmapScanRegexp(p1 p1_.*[^0-9]$)
7695 -------------------------------------
7700 -> Seq Scan on p1_c1 p1
7702 -> Seq Scan on p1_c2 p1
7704 -> Seq Scan on p1_c3 p1
7706 -> Seq Scan on p1_c4 p1
7708 -> Seq Scan on p1_c1_c1 p1
7710 -> Seq Scan on p1_c1_c2 p1
7712 -> Seq Scan on p1_c3_c1 p1
7714 -> Seq Scan on p1_c3_c2 p1
7718 /*+ BitmapScanRegexp(p1 p1_.*val2.*)*/
7719 EXPLAIN (COSTS false) SELECT val FROM p1 WHERE val = 1;
7720 LOG: available indexes for BitmapScanRegexp(p1): p1_val2
7721 LOG: available indexes for BitmapScanRegexp(p1_c1): p1_c1_val2
7722 LOG: available indexes for BitmapScanRegexp(p1_c2): p1_c2_val2
7723 LOG: available indexes for BitmapScanRegexp(p1_c3): p1_c3_val2
7724 LOG: available indexes for BitmapScanRegexp(p1_c4): p1_c4_val2
7725 LOG: available indexes for BitmapScanRegexp(p1_c1_c1): p1_c1_c1_val2
7726 LOG: available indexes for BitmapScanRegexp(p1_c1_c2): p1_c1_c2_val2
7727 LOG: available indexes for BitmapScanRegexp(p1_c3_c1): p1_c3_c1_val2
7728 LOG: available indexes for BitmapScanRegexp(p1_c3_c2): p1_c3_c2_val2
7731 BitmapScanRegexp(p1 p1_.*val2.*)
7737 ------------------------------------------------------
7740 -> Bitmap Heap Scan on p1
7741 Recheck Cond: (val = 1)
7742 -> Bitmap Index Scan on p1_val2
7743 Index Cond: (val = 1)
7744 -> Bitmap Heap Scan on p1_c1 p1
7745 Recheck Cond: (val = 1)
7746 -> Bitmap Index Scan on p1_c1_val2
7747 Index Cond: (val = 1)
7748 -> Bitmap Heap Scan on p1_c2 p1
7749 Recheck Cond: (val = 1)
7750 -> Bitmap Index Scan on p1_c2_val2
7751 Index Cond: (val = 1)
7752 -> Bitmap Heap Scan on p1_c3 p1
7753 Recheck Cond: (val = 1)
7754 -> Bitmap Index Scan on p1_c3_val2
7755 Index Cond: (val = 1)
7756 -> Bitmap Heap Scan on p1_c4 p1
7757 Recheck Cond: (val = 1)
7758 -> Bitmap Index Scan on p1_c4_val2
7759 Index Cond: (val = 1)
7760 -> Bitmap Heap Scan on p1_c1_c1 p1
7761 Recheck Cond: (val = 1)
7762 -> Bitmap Index Scan on p1_c1_c1_val2
7763 Index Cond: (val = 1)
7764 -> Bitmap Heap Scan on p1_c1_c2 p1
7765 Recheck Cond: (val = 1)
7766 -> Bitmap Index Scan on p1_c1_c2_val2
7767 Index Cond: (val = 1)
7768 -> Bitmap Heap Scan on p1_c3_c1 p1
7769 Recheck Cond: (val = 1)
7770 -> Bitmap Index Scan on p1_c3_c1_val2
7771 Index Cond: (val = 1)
7772 -> Bitmap Heap Scan on p1_c3_c2 p1
7773 Recheck Cond: (val = 1)
7774 -> Bitmap Index Scan on p1_c3_c2_val2
7775 Index Cond: (val = 1)
7778 /*+ BitmapScanRegexp(p1 p1[^_].*)*/
7779 EXPLAIN (COSTS false) SELECT val FROM p1 WHERE val = 1;
7780 LOG: available indexes for BitmapScanRegexp(p1):
7781 LOG: available indexes for BitmapScanRegexp(p1_c1):
7782 LOG: available indexes for BitmapScanRegexp(p1_c2):
7783 LOG: available indexes for BitmapScanRegexp(p1_c3):
7784 LOG: available indexes for BitmapScanRegexp(p1_c4):
7785 LOG: available indexes for BitmapScanRegexp(p1_c1_c1):
7786 LOG: available indexes for BitmapScanRegexp(p1_c1_c2):
7787 LOG: available indexes for BitmapScanRegexp(p1_c3_c1):
7788 LOG: available indexes for BitmapScanRegexp(p1_c3_c2):
7791 BitmapScanRegexp(p1 p1[^_].*)
7797 -------------------------------------
7802 -> Seq Scan on p1_c1 p1
7804 -> Seq Scan on p1_c2 p1
7806 -> Seq Scan on p1_c3 p1
7808 -> Seq Scan on p1_c4 p1
7810 -> Seq Scan on p1_c1_c1 p1
7812 -> Seq Scan on p1_c1_c2 p1
7814 -> Seq Scan on p1_c3_c1 p1
7816 -> Seq Scan on p1_c3_c2 p1
7820 /*+ BitmapScan(p1 p1_.*val2.*)*/
7821 EXPLAIN (COSTS false) SELECT val FROM p1 WHERE val = 1;
7822 LOG: available indexes for BitmapScan(p1):
7823 LOG: available indexes for BitmapScan(p1_c1):
7824 LOG: available indexes for BitmapScan(p1_c2):
7825 LOG: available indexes for BitmapScan(p1_c3):
7826 LOG: available indexes for BitmapScan(p1_c4):
7827 LOG: available indexes for BitmapScan(p1_c1_c1):
7828 LOG: available indexes for BitmapScan(p1_c1_c2):
7829 LOG: available indexes for BitmapScan(p1_c3_c1):
7830 LOG: available indexes for BitmapScan(p1_c3_c2):
7833 BitmapScan(p1 p1_.*val2.*)
7839 -------------------------------------
7844 -> Seq Scan on p1_c1 p1
7846 -> Seq Scan on p1_c2 p1
7848 -> Seq Scan on p1_c3 p1
7850 -> Seq Scan on p1_c4 p1
7852 -> Seq Scan on p1_c1_c1 p1
7854 -> Seq Scan on p1_c1_c2 p1
7856 -> Seq Scan on p1_c3_c1 p1
7858 -> Seq Scan on p1_c3_c2 p1