2 SET pg_hint_plan.enable_hint TO on;
3 SET pg_hint_plan.debug_print TO on;
4 SET client_min_messages TO LOG;
5 SET search_path TO public;
6 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
13 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
15 ------------------------------
16 Index Scan using t1_i1 on t1
20 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
22 ---------------------------------
23 Bitmap Heap Scan on t1
24 Recheck Cond: (c3 < 10)
25 -> Bitmap Index Scan on t1_i
29 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
31 -----------------------------------
33 TID Cond: (ctid = '(1,1)'::tid)
38 ---- No. S-1-1 specified pattern of the object name
42 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
58 EXPLAIN (COSTS false) SELECT * FROM s1.t1 t_1 WHERE t_1.c1 = 1;
67 ----------------------------------
68 Index Scan using t1_i1 on t1 t_1
74 EXPLAIN (COSTS false) SELECT * FROM s1.t1 t_1 WHERE t_1.c1 = 1;
89 ---- No. S-1-2 specified schema name in the hint option
93 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
109 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
118 ------------------------------
119 Index Scan using t1_i1 on t1
124 ---- No. S-1-3 table doesn't exist in the hint option
128 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
144 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
153 ------------------------------
154 Index Scan using t1_i1 on t1
159 ---- No. S-1-4 conflict table name
162 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = 1 AND t1.c1 = t2.c1;
164 ------------------------------------
166 -> Index Scan using t1_i1 on t1
173 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = 1 AND t1.c1 = t2.c1;
182 --------------------------
191 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 WHERE s1.t1.c1 = 1 AND s1.t1.c1 = s2.t1.c1;
193 ------------------------------------
195 -> Index Scan using t1_i1 on t1
202 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 WHERE s1.t1.c1 = 1 AND s1.t1.c1 = s2.t1.c1;
211 ------------------------------------------
213 -> Bitmap Heap Scan on t1
214 Recheck Cond: (c1 = 1)
215 -> Bitmap Index Scan on t1_i1
217 -> Bitmap Heap Scan on t1
218 Recheck Cond: (c1 = 1)
219 -> Bitmap Index Scan on t1_pkey
224 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 s2t1 WHERE s1.t1.c1 = 1 AND s1.t1.c1 = s2t1.c1;
233 ----------------------------------------
235 -> Bitmap Heap Scan on t1
236 Recheck Cond: (c1 = 1)
237 -> Bitmap Index Scan on t1_i1
239 -> Seq Scan on t1 s2t1
243 /*+BitmapScan(s2t1)*/
244 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 s2t1 WHERE s1.t1.c1 = 1 AND s1.t1.c1 = s2t1.c1;
253 ------------------------------------------
255 -> Index Scan using t1_i1 on t1
257 -> Bitmap Heap Scan on t1 s2t1
258 Recheck Cond: (c1 = 1)
259 -> Bitmap Index Scan on t1_pkey
264 EXPLAIN (COSTS false) SELECT (SELECT max(c1) FROM s1.t1 WHERE s1.t1.c1 = 1) FROM s1.t1 WHERE s1.t1.c1 = 1;
266 ---------------------------------------------------------------------
267 Index Only Scan using t1_i1 on t1
269 InitPlan 2 (returns $1)
271 InitPlan 1 (returns $0)
273 -> Index Only Scan using t1_i1 on t1
274 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
278 EXPLAIN (COSTS false) SELECT (SELECT max(c1) FROM s1.t1 WHERE s1.t1.c1 = 1) FROM s1.t1 WHERE s1.t1.c1 = 1;
287 ---------------------------------------------------------------------------
288 Bitmap Heap Scan on t1
289 Recheck Cond: (c1 = 1)
290 InitPlan 2 (returns $1)
292 InitPlan 1 (returns $0)
294 -> Bitmap Heap Scan on t1
295 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
296 -> Bitmap Index Scan on t1_i1
297 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
298 -> Bitmap Index Scan on t1_i1
303 EXPLAIN (COSTS false) SELECT (SELECT max(c1) FROM s1.t1 t11 WHERE t11.c1 = 1) FROM s1.t1 t12 WHERE t12.c1 = 1;
312 ---------------------------------------------------------------------------
313 Index Only Scan using t1_i1 on t1 t12
315 InitPlan 2 (returns $1)
317 InitPlan 1 (returns $0)
319 -> Bitmap Heap Scan on t1 t11
320 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
321 -> Bitmap Index Scan on t1_i1
322 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
326 EXPLAIN (COSTS false) SELECT (SELECT max(c1) FROM s1.t1 t11 WHERE t11.c1 = 1) FROM s1.t1 t12 WHERE t12.c1 = 1;
335 ---------------------------------------------------------------------
336 Bitmap Heap Scan on t1 t12
337 Recheck Cond: (c1 = 1)
338 InitPlan 2 (returns $1)
340 InitPlan 1 (returns $0)
342 -> Index Only Scan using t1_i1 on t1 t11
343 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
344 -> Bitmap Index Scan on t1_i1
349 ---- No. S-1-5 object type for the hint
353 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
368 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE p1.c1 = 1;
370 ---------------------------------
375 -> Seq Scan on p1c1 p1
380 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE p1.c1 = 1;
389 ------------------------------------------------
392 -> Index Scan using p1_i on p1
394 -> Index Scan using p1c1_i on p1c1 p1
399 EXPLAIN (COSTS false) SELECT * FROM s1.ul1 WHERE ul1.c1 = 1;
401 ----------------------------------
402 Index Scan using ul1_pkey on ul1
407 EXPLAIN (COSTS false) SELECT * FROM s1.ul1 WHERE ul1.c1 = 1;
422 CREATE TEMP TABLE tm1 (LIKE s1.t1 INCLUDING ALL);
423 EXPLAIN (COSTS false) SELECT * FROM tm1 WHERE tm1.c1 = 1;
425 ----------------------------------
426 Index Scan using tm1_pkey on tm1
431 EXPLAIN (COSTS false) SELECT * FROM tm1 WHERE tm1.c1 = 1;
446 EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class WHERE oid = 1;
448 -------------------------------------------------
449 Index Scan using pg_class_oid_index on pg_class
450 Index Cond: (oid = 1::oid)
453 /*+SeqScan(pg_class)*/
454 EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class WHERE oid = 1;
463 --------------------------
465 Filter: (oid = 1::oid)
471 EXPLAIN (COSTS false) SELECT * FROM s1.f1() AS ft1 WHERE ft1.c1 = 1;
473 -------------------------
474 Function Scan on f1 ft1
479 EXPLAIN (COSTS false) SELECT * FROM s1.f1() AS ft1 WHERE ft1.c1 = 1;
488 -------------------------
489 Function Scan on f1 ft1
494 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3')) AS val1 (c1, c2, c3, c4) WHERE val1.c1 = 1;
496 ---------------------------
497 Values Scan on "*VALUES*"
498 Filter: (column1 = 1)
502 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3')) AS val1 (c1, c2, c3, c4) WHERE val1.c1 = 1;
511 ---------------------------
512 Values Scan on "*VALUES*"
513 Filter: (column1 = 1)
516 /*+SeqScan(*VALUES*)*/
517 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3')) AS val1 (c1, c2, c3, c4) WHERE val1.c1 = 1;
526 ---------------------------
527 Values Scan on "*VALUES*"
528 Filter: (column1 = 1)
532 EXPLAIN (COSTS false) WITH c1(c1) AS (SELECT max(c1) FROM s1.t1 WHERE t1.c1 = 1)
533 SELECT * FROM s1.t1, c1 WHERE t1.c1 = 1 AND t1.c1 = c1.c1;
535 ---------------------------------------------------------------------
539 InitPlan 1 (returns $0)
541 -> Index Only Scan using t1_i1 on t1
542 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
543 -> Index Scan using t1_i1 on t1
550 EXPLAIN (COSTS false) WITH c1(c1) AS (SELECT max(c1) FROM s1.t1 WHERE t1.c1 = 1)
551 SELECT * FROM s1.t1, c1 WHERE t1.c1 = 1 AND t1.c1 = c1.c1;
560 ---------------------------------------------------------------------
564 InitPlan 1 (returns $0)
566 -> Index Only Scan using t1_i1 on t1
567 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
568 -> Index Scan using t1_i1 on t1
575 EXPLAIN (COSTS false) SELECT * FROM s1.v1 WHERE v1.c1 = 1;
577 -----------------------------------
578 Index Scan using t1_i1 on t1 v1t1
583 EXPLAIN (COSTS false) SELECT * FROM s1.v1 WHERE v1.c1 = 1;
592 -----------------------------------
593 Index Scan using t1_i1 on t1 v1t1
598 EXPLAIN (COSTS false) SELECT * FROM (SELECT * FROM s1.t1 WHERE t1.c1 = 1) AS s1 WHERE s1.c1 = 1;
600 ------------------------------
601 Index Scan using t1_i1 on t1
606 EXPLAIN (COSTS false) SELECT * FROM (SELECT * FROM s1.t1 WHERE t1.c1 = 1) AS s1 WHERE s1.c1 = 1;
615 ------------------------------
616 Index Scan using t1_i1 on t1
621 ---- No. S-2-1 some complexity query blocks
624 EXPLAIN (COSTS false)
625 SELECT max(bmt1.c1), (
626 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
628 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
631 ------------------------------------------------------------------------
633 InitPlan 1 (returns $0)
636 Merge Cond: (b1t1.c1 = b1t2.c1)
638 Merge Cond: (b1t1.c1 = b1t4.c1)
640 Merge Cond: (b1t1.c1 = b1t3.c1)
641 -> Index Only Scan using t1_i1 on t1 b1t1
642 -> Index Only Scan using t3_i1 on t3 b1t3
643 -> Index Only Scan using t4_i1 on t4 b1t4
646 -> Seq Scan on t2 b1t2
648 Merge Cond: (bmt1.c1 = bmt2.c1)
650 Merge Cond: (bmt1.c1 = bmt4.c1)
652 Merge Cond: (bmt1.c1 = bmt3.c1)
653 -> Index Only Scan using t1_i1 on t1 bmt1
654 -> Index Only Scan using t3_i1 on t3 bmt3
655 -> Index Only Scan using t4_i1 on t4 bmt4
658 -> Seq Scan on t2 bmt2
661 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
662 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
664 EXPLAIN (COSTS false)
665 SELECT max(bmt1.c1), (
666 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
668 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
670 LOG: available indexes for IndexScan(b1t3): t3_pkey
671 LOG: available indexes for BitmapScan(b1t4): t4_pkey
672 LOG: available indexes for IndexScan(bmt2): t2_pkey
673 LOG: available indexes for BitmapScan(bmt3): t3_pkey
678 IndexScan(b1t3 t3_pkey)
679 BitmapScan(b1t4 t4_pkey)
681 IndexScan(bmt2 t2_pkey)
682 BitmapScan(bmt3 t3_pkey)
689 --------------------------------------------------------------------
691 InitPlan 1 (returns $2)
694 Hash Cond: (b1t2.c1 = b1t1.c1)
696 Join Filter: (b1t2.c1 = b1t3.c1)
698 -> Seq Scan on t2 b1t2
699 -> Bitmap Heap Scan on t4 b1t4
700 Recheck Cond: (c1 = b1t2.c1)
701 -> Bitmap Index Scan on t4_pkey
702 Index Cond: (c1 = b1t2.c1)
703 -> Index Scan using t3_pkey on t3 b1t3
704 Index Cond: (c1 = b1t4.c1)
706 -> Seq Scan on t1 b1t1
708 Hash Cond: (bmt1.c1 = bmt4.c1)
711 Hash Cond: (bmt1.c1 = bmt2.c1)
712 -> Seq Scan on t1 bmt1
714 -> Index Scan using t2_pkey on t2 bmt2
715 -> Bitmap Heap Scan on t3 bmt3
716 Recheck Cond: (c1 = bmt1.c1)
717 -> Bitmap Index Scan on t3_pkey
718 Index Cond: (c1 = bmt1.c1)
720 -> Seq Scan on t4 bmt4
724 EXPLAIN (COSTS false)
725 SELECT max(bmt1.c1), (
726 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
728 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.c1 = b2t2.c1 AND b2t1.c1 = b2t3.c1 AND b2t1.c1 = b2t4.c1
730 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
733 ------------------------------------------------------------------------
735 InitPlan 1 (returns $0)
738 Merge Cond: (b1t1.c1 = b1t2.c1)
740 Merge Cond: (b1t1.c1 = b1t4.c1)
742 Merge Cond: (b1t1.c1 = b1t3.c1)
743 -> Index Only Scan using t1_i1 on t1 b1t1
744 -> Index Only Scan using t3_i1 on t3 b1t3
745 -> Index Only Scan using t4_i1 on t4 b1t4
748 -> Seq Scan on t2 b1t2
749 InitPlan 2 (returns $1)
752 Merge Cond: (b2t1.c1 = b2t2.c1)
754 Merge Cond: (b2t1.c1 = b2t4.c1)
756 Merge Cond: (b2t1.c1 = b2t3.c1)
757 -> Index Only Scan using t1_i1 on t1 b2t1
758 -> Index Only Scan using t3_i1 on t3 b2t3
759 -> Index Only Scan using t4_i1 on t4 b2t4
762 -> Seq Scan on t2 b2t2
764 Merge Cond: (bmt1.c1 = bmt2.c1)
766 Merge Cond: (bmt1.c1 = bmt4.c1)
768 Merge Cond: (bmt1.c1 = bmt3.c1)
769 -> Index Only Scan using t1_i1 on t1 bmt1
770 -> Index Only Scan using t3_i1 on t3 bmt3
771 -> Index Only Scan using t4_i1 on t4 bmt4
774 -> Seq Scan on t2 bmt2
777 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
778 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
779 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
781 EXPLAIN (COSTS false)
782 SELECT max(bmt1.c1), (
783 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
785 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.c1 = b2t2.c1 AND b2t1.c1 = b2t3.c1 AND b2t1.c1 = b2t4.c1
787 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
789 LOG: available indexes for IndexScan(b1t3): t3_pkey
790 LOG: available indexes for BitmapScan(b1t4): t4_pkey
791 LOG: available indexes for BitmapScan(b2t1): t1_pkey
792 LOG: available indexes for IndexScan(b2t4): t4_pkey
793 LOG: available indexes for IndexScan(bmt2): t2_pkey
794 LOG: available indexes for BitmapScan(bmt3): t3_pkey
799 IndexScan(b1t3 t3_pkey)
800 BitmapScan(b1t4 t4_pkey)
801 BitmapScan(b2t1 t1_pkey)
804 IndexScan(b2t4 t4_pkey)
806 IndexScan(bmt2 t2_pkey)
807 BitmapScan(bmt3 t3_pkey)
814 ---------------------------------------------------------------------
816 InitPlan 1 (returns $2)
819 Hash Cond: (b1t2.c1 = b1t1.c1)
821 Join Filter: (b1t2.c1 = b1t3.c1)
823 -> Seq Scan on t2 b1t2
824 -> Bitmap Heap Scan on t4 b1t4
825 Recheck Cond: (c1 = b1t2.c1)
826 -> Bitmap Index Scan on t4_pkey
827 Index Cond: (c1 = b1t2.c1)
828 -> Index Scan using t3_pkey on t3 b1t3
829 Index Cond: (c1 = b1t4.c1)
831 -> Seq Scan on t1 b1t1
832 InitPlan 2 (returns $4)
835 Hash Cond: (b2t1.c1 = b2t3.c1)
837 Merge Cond: (b2t1.c1 = b2t2.c1)
839 -> Index Scan using t4_pkey on t4 b2t4
840 -> Bitmap Heap Scan on t1 b2t1
841 Recheck Cond: (c1 = b2t4.c1)
842 -> Bitmap Index Scan on t1_pkey
843 Index Cond: (c1 = b2t4.c1)
846 -> Seq Scan on t2 b2t2
848 -> Seq Scan on t3 b2t3
850 Hash Cond: (bmt1.c1 = bmt4.c1)
853 Hash Cond: (bmt1.c1 = bmt2.c1)
854 -> Seq Scan on t1 bmt1
856 -> Index Scan using t2_pkey on t2 bmt2
857 -> Bitmap Heap Scan on t3 bmt3
858 Recheck Cond: (c1 = bmt1.c1)
859 -> Bitmap Index Scan on t3_pkey
860 Index Cond: (c1 = bmt1.c1)
862 -> Seq Scan on t4 bmt4
866 EXPLAIN (COSTS false) SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, (SELECT * FROM s1.t4 bmt4) sbmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = sbmt4.c1;
868 ----------------------------------------------------------------
871 Merge Cond: (bmt1.c1 = bmt2.c1)
873 Merge Cond: (bmt1.c1 = bmt4.c1)
875 Merge Cond: (bmt1.c1 = bmt3.c1)
876 -> Index Only Scan using t1_i1 on t1 bmt1
877 -> Index Only Scan using t3_i1 on t3 bmt3
878 -> Index Only Scan using t4_i1 on t4 bmt4
881 -> Seq Scan on t2 bmt2
884 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
886 EXPLAIN (COSTS false) SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, (SELECT * FROM s1.t4 bmt4) sbmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = sbmt4.c1;
887 LOG: available indexes for IndexScan(bmt2): t2_pkey
888 LOG: available indexes for BitmapScan(bmt3): t3_pkey
892 IndexScan(bmt2 t2_pkey)
893 BitmapScan(bmt3 t3_pkey)
900 -------------------------------------------------------------------
903 Hash Cond: (bmt1.c1 = bmt4.c1)
906 Hash Cond: (bmt1.c1 = bmt2.c1)
907 -> Seq Scan on t1 bmt1
909 -> Index Scan using t2_pkey on t2 bmt2
910 -> Bitmap Heap Scan on t3 bmt3
911 Recheck Cond: (c1 = bmt1.c1)
912 -> Bitmap Index Scan on t3_pkey
913 Index Cond: (c1 = bmt1.c1)
915 -> Seq Scan on t4 bmt4
919 EXPLAIN (COSTS false) SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, (SELECT * FROM s1.t3 bmt3) sbmt3, (SELECT * FROM s1.t4 bmt4) sbmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = sbmt3.c1 AND bmt1.c1 = sbmt4.c1;
921 ----------------------------------------------------------------
924 Merge Cond: (bmt1.c1 = bmt2.c1)
926 Merge Cond: (bmt1.c1 = bmt4.c1)
928 Merge Cond: (bmt1.c1 = bmt3.c1)
929 -> Index Only Scan using t1_i1 on t1 bmt1
930 -> Index Only Scan using t3_i1 on t3 bmt3
931 -> Index Only Scan using t4_i1 on t4 bmt4
934 -> Seq Scan on t2 bmt2
937 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
939 EXPLAIN (COSTS false) SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, (SELECT * FROM s1.t3 bmt3) sbmt3, (SELECT * FROM s1.t4 bmt4) sbmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = sbmt3.c1 AND bmt1.c1 = sbmt4.c1;
940 LOG: available indexes for IndexScan(bmt2): t2_pkey
941 LOG: available indexes for BitmapScan(bmt3): t3_pkey
945 IndexScan(bmt2 t2_pkey)
946 BitmapScan(bmt3 t3_pkey)
953 -------------------------------------------------------------------
956 Hash Cond: (bmt1.c1 = bmt4.c1)
959 Hash Cond: (bmt1.c1 = bmt2.c1)
960 -> Seq Scan on t1 bmt1
962 -> Index Scan using t2_pkey on t2 bmt2
963 -> Bitmap Heap Scan on t3 bmt3
964 Recheck Cond: (c1 = bmt1.c1)
965 -> Bitmap Index Scan on t3_pkey
966 Index Cond: (c1 = bmt1.c1)
968 -> Seq Scan on t4 bmt4
972 EXPLAIN (COSTS false)
973 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
975 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
979 ------------------------------------------------------------------------
981 InitPlan 1 (returns $0)
984 Merge Cond: (b1t1.c1 = b1t2.c1)
986 Merge Cond: (b1t1.c1 = b1t4.c1)
988 Merge Cond: (b1t1.c1 = b1t3.c1)
989 -> Index Only Scan using t1_i1 on t1 b1t1
990 -> Index Only Scan using t3_i1 on t3 b1t3
991 -> Index Only Scan using t4_i1 on t4 b1t4
994 -> Seq Scan on t2 b1t2
996 Merge Cond: (bmt1.c1 = bmt2.c1)
998 Merge Cond: (bmt1.c1 = bmt4.c1)
1000 Merge Cond: (bmt1.c1 = bmt3.c1)
1001 -> Index Only Scan using t1_i1 on t1 bmt1
1003 -> Index Only Scan using t3_i1 on t3 bmt3
1004 -> Index Only Scan using t4_i1 on t4 bmt4
1007 -> Seq Scan on t2 bmt2
1010 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1011 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1013 EXPLAIN (COSTS false)
1014 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1016 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
1019 LOG: available indexes for IndexScan(b1t3): t3_pkey
1020 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1021 LOG: available indexes for IndexScan(bmt2): t2_pkey
1022 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1027 IndexScan(b1t3 t3_pkey)
1028 BitmapScan(b1t4 t4_pkey)
1030 IndexScan(bmt2 t2_pkey)
1031 BitmapScan(bmt3 t3_pkey)
1038 --------------------------------------------------------------------
1040 InitPlan 1 (returns $2)
1043 Hash Cond: (b1t2.c1 = b1t1.c1)
1045 Join Filter: (b1t2.c1 = b1t3.c1)
1047 -> Seq Scan on t2 b1t2
1048 -> Bitmap Heap Scan on t4 b1t4
1049 Recheck Cond: (c1 = b1t2.c1)
1050 -> Bitmap Index Scan on t4_pkey
1051 Index Cond: (c1 = b1t2.c1)
1052 -> Index Scan using t3_pkey on t3 b1t3
1053 Index Cond: (c1 = b1t4.c1)
1055 -> Seq Scan on t1 b1t1
1057 Hash Cond: (bmt1.c1 = bmt4.c1)
1060 Hash Cond: (bmt1.c1 = bmt2.c1)
1061 -> Seq Scan on t1 bmt1
1064 -> Index Scan using t2_pkey on t2 bmt2
1065 -> Bitmap Heap Scan on t3 bmt3
1066 Recheck Cond: (c1 = bmt1.c1)
1067 -> Bitmap Index Scan on t3_pkey
1068 Index Cond: (c1 = bmt1.c1)
1070 -> Seq Scan on t4 bmt4
1074 EXPLAIN (COSTS false)
1075 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1077 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
1079 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.c1 = b2t2.c1 AND b2t1.c1 = b2t3.c1 AND b2t1.c1 = b2t4.c1
1083 ------------------------------------------------------------------------
1085 InitPlan 1 (returns $0)
1088 Merge Cond: (b1t1.c1 = b1t2.c1)
1090 Merge Cond: (b1t1.c1 = b1t4.c1)
1092 Merge Cond: (b1t1.c1 = b1t3.c1)
1093 -> Index Only Scan using t1_i1 on t1 b1t1
1094 -> Index Only Scan using t3_i1 on t3 b1t3
1095 -> Index Only Scan using t4_i1 on t4 b1t4
1098 -> Seq Scan on t2 b1t2
1099 InitPlan 2 (returns $1)
1102 Merge Cond: (b2t1.c1 = b2t2.c1)
1104 Merge Cond: (b2t1.c1 = b2t4.c1)
1106 Merge Cond: (b2t1.c1 = b2t3.c1)
1107 -> Index Only Scan using t1_i1 on t1 b2t1
1108 -> Index Only Scan using t3_i1 on t3 b2t3
1109 -> Index Only Scan using t4_i1 on t4 b2t4
1112 -> Seq Scan on t2 b2t2
1114 Merge Cond: (bmt1.c1 = bmt2.c1)
1116 Merge Cond: (bmt1.c1 = bmt4.c1)
1118 Merge Cond: (bmt1.c1 = bmt3.c1)
1119 -> Index Only Scan using t1_i1 on t1 bmt1
1120 Filter: ((c1 <> $0) AND (c1 <> $1))
1121 -> Index Only Scan using t3_i1 on t3 bmt3
1122 -> Index Only Scan using t4_i1 on t4 bmt4
1125 -> Seq Scan on t2 bmt2
1128 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1129 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1130 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1132 EXPLAIN (COSTS false)
1133 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1135 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
1137 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.c1 = b2t2.c1 AND b2t1.c1 = b2t3.c1 AND b2t1.c1 = b2t4.c1
1140 LOG: available indexes for IndexScan(b1t3): t3_pkey
1141 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1142 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1143 LOG: available indexes for IndexScan(b2t4): t4_pkey
1144 LOG: available indexes for IndexScan(bmt2): t2_pkey
1145 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1150 IndexScan(b1t3 t3_pkey)
1151 BitmapScan(b1t4 t4_pkey)
1152 BitmapScan(b2t1 t1_pkey)
1155 IndexScan(b2t4 t4_pkey)
1157 IndexScan(bmt2 t2_pkey)
1158 BitmapScan(bmt3 t3_pkey)
1165 ---------------------------------------------------------------------
1167 InitPlan 1 (returns $2)
1170 Hash Cond: (b1t2.c1 = b1t1.c1)
1172 Join Filter: (b1t2.c1 = b1t3.c1)
1174 -> Seq Scan on t2 b1t2
1175 -> Bitmap Heap Scan on t4 b1t4
1176 Recheck Cond: (c1 = b1t2.c1)
1177 -> Bitmap Index Scan on t4_pkey
1178 Index Cond: (c1 = b1t2.c1)
1179 -> Index Scan using t3_pkey on t3 b1t3
1180 Index Cond: (c1 = b1t4.c1)
1182 -> Seq Scan on t1 b1t1
1183 InitPlan 2 (returns $4)
1186 Hash Cond: (b2t1.c1 = b2t3.c1)
1188 Merge Cond: (b2t1.c1 = b2t2.c1)
1190 -> Index Scan using t4_pkey on t4 b2t4
1191 -> Bitmap Heap Scan on t1 b2t1
1192 Recheck Cond: (c1 = b2t4.c1)
1193 -> Bitmap Index Scan on t1_pkey
1194 Index Cond: (c1 = b2t4.c1)
1197 -> Seq Scan on t2 b2t2
1199 -> Seq Scan on t3 b2t3
1201 Hash Cond: (bmt1.c1 = bmt4.c1)
1204 Hash Cond: (bmt1.c1 = bmt2.c1)
1205 -> Seq Scan on t1 bmt1
1206 Filter: ((c1 <> $2) AND (c1 <> $4))
1208 -> Index Scan using t2_pkey on t2 bmt2
1209 -> Bitmap Heap Scan on t3 bmt3
1210 Recheck Cond: (c1 = bmt1.c1)
1211 -> Bitmap Index Scan on t3_pkey
1212 Index Cond: (c1 = bmt1.c1)
1214 -> Seq Scan on t4 bmt4
1218 EXPLAIN (COSTS false)
1220 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
1222 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1224 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1228 ------------------------------------------------------------------------
1233 Merge Cond: (b1t1.c1 = b1t2.c1)
1235 Merge Cond: (b1t1.c1 = b1t4.c1)
1237 Merge Cond: (b1t1.c1 = b1t3.c1)
1238 -> Index Only Scan using t1_i1 on t1 b1t1
1239 -> Index Only Scan using t3_i1 on t3 b1t3
1240 -> Index Only Scan using t4_i1 on t4 b1t4
1243 -> Seq Scan on t2 b1t2
1245 Join Filter: (bmt1.c1 = bmt4.c1)
1247 Join Filter: (bmt2.c1 = bmt1.c1)
1250 Hash Cond: (bmt2.c1 = c1.c1)
1251 -> Seq Scan on t2 bmt2
1254 -> Index Only Scan using t3_i1 on t3 bmt3
1255 Index Cond: (c1 = bmt2.c1)
1256 -> Index Only Scan using t1_i1 on t1 bmt1
1257 Index Cond: (c1 = bmt3.c1)
1258 -> Index Only Scan using t4_i1 on t4 bmt4
1259 Index Cond: (c1 = bmt3.c1)
1262 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1263 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1265 EXPLAIN (COSTS false)
1267 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
1269 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1271 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1274 LOG: available indexes for IndexScan(b1t3): t3_pkey
1275 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1276 LOG: available indexes for IndexScan(bmt2): t2_pkey
1277 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1282 IndexScan(b1t3 t3_pkey)
1283 BitmapScan(b1t4 t4_pkey)
1285 IndexScan(bmt2 t2_pkey)
1286 BitmapScan(bmt3 t3_pkey)
1293 --------------------------------------------------------------------
1298 Hash Cond: (b1t2.c1 = b1t1.c1)
1300 Join Filter: (b1t2.c1 = b1t3.c1)
1302 -> Seq Scan on t2 b1t2
1303 -> Bitmap Heap Scan on t4 b1t4
1304 Recheck Cond: (c1 = b1t2.c1)
1305 -> Bitmap Index Scan on t4_pkey
1306 Index Cond: (c1 = b1t2.c1)
1307 -> Index Scan using t3_pkey on t3 b1t3
1308 Index Cond: (c1 = b1t4.c1)
1310 -> Seq Scan on t1 b1t1
1312 Join Filter: (bmt1.c1 = bmt4.c1)
1316 Hash Cond: (bmt1.c1 = c1.c1)
1317 -> Seq Scan on t1 bmt1
1320 -> Index Scan using t2_pkey on t2 bmt2
1321 Index Cond: (c1 = bmt1.c1)
1322 -> Bitmap Heap Scan on t3 bmt3
1323 Recheck Cond: (c1 = bmt1.c1)
1324 -> Bitmap Index Scan on t3_pkey
1325 Index Cond: (c1 = bmt1.c1)
1326 -> Seq Scan on t4 bmt4
1330 EXPLAIN (COSTS false)
1332 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
1335 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.c1 = b2t2.c1 AND b2t1.c1 = b2t3.c1 AND b2t1.c1 = b2t4.c1
1337 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1339 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1344 ------------------------------------------------------------------------
1349 Merge Cond: (b1t1.c1 = b1t2.c1)
1351 Merge Cond: (b1t1.c1 = b1t4.c1)
1353 Merge Cond: (b1t1.c1 = b1t3.c1)
1354 -> Index Only Scan using t1_i1 on t1 b1t1
1355 -> Index Only Scan using t3_i1 on t3 b1t3
1356 -> Index Only Scan using t4_i1 on t4 b1t4
1359 -> Seq Scan on t2 b1t2
1363 Merge Cond: (b2t1.c1 = b2t2.c1)
1365 Merge Cond: (b2t1.c1 = b2t4.c1)
1367 Merge Cond: (b2t1.c1 = b2t3.c1)
1368 -> Index Only Scan using t1_i1 on t1 b2t1
1369 -> Index Only Scan using t3_i1 on t3 b2t3
1370 -> Index Only Scan using t4_i1 on t4 b2t4
1373 -> Seq Scan on t2 b2t2
1375 Join Filter: (bmt1.c1 = c2.c1)
1377 Join Filter: (bmt1.c1 = bmt4.c1)
1379 Join Filter: (bmt2.c1 = bmt1.c1)
1382 Hash Cond: (bmt2.c1 = c1.c1)
1383 -> Seq Scan on t2 bmt2
1386 -> Index Only Scan using t3_i1 on t3 bmt3
1387 Index Cond: (c1 = bmt2.c1)
1388 -> Index Only Scan using t1_i1 on t1 bmt1
1389 Index Cond: (c1 = bmt3.c1)
1390 -> Index Only Scan using t4_i1 on t4 bmt4
1391 Index Cond: (c1 = bmt3.c1)
1395 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1396 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1397 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1399 EXPLAIN (COSTS false)
1401 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
1404 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.c1 = b2t2.c1 AND b2t1.c1 = b2t3.c1 AND b2t1.c1 = b2t4.c1
1406 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1408 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1412 LOG: available indexes for IndexScan(b1t3): t3_pkey
1413 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1414 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1415 LOG: available indexes for IndexScan(b2t4): t4_pkey
1416 LOG: available indexes for IndexScan(bmt2): t2_pkey
1417 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1422 IndexScan(b1t3 t3_pkey)
1423 BitmapScan(b1t4 t4_pkey)
1424 BitmapScan(b2t1 t1_pkey)
1427 IndexScan(b2t4 t4_pkey)
1429 IndexScan(bmt2 t2_pkey)
1430 BitmapScan(bmt3 t3_pkey)
1437 ---------------------------------------------------------------------
1442 Hash Cond: (b1t2.c1 = b1t1.c1)
1444 Join Filter: (b1t2.c1 = b1t3.c1)
1446 -> Seq Scan on t2 b1t2
1447 -> Bitmap Heap Scan on t4 b1t4
1448 Recheck Cond: (c1 = b1t2.c1)
1449 -> Bitmap Index Scan on t4_pkey
1450 Index Cond: (c1 = b1t2.c1)
1451 -> Index Scan using t3_pkey on t3 b1t3
1452 Index Cond: (c1 = b1t4.c1)
1454 -> Seq Scan on t1 b1t1
1458 Hash Cond: (b2t1.c1 = b2t3.c1)
1460 Merge Cond: (b2t1.c1 = b2t2.c1)
1462 -> Index Scan using t4_pkey on t4 b2t4
1463 -> Bitmap Heap Scan on t1 b2t1
1464 Recheck Cond: (c1 = b2t4.c1)
1465 -> Bitmap Index Scan on t1_pkey
1466 Index Cond: (c1 = b2t4.c1)
1469 -> Seq Scan on t2 b2t2
1471 -> Seq Scan on t3 b2t3
1473 Join Filter: (bmt1.c1 = bmt4.c1)
1475 Join Filter: (bmt1.c1 = c2.c1)
1479 Hash Cond: (bmt1.c1 = c1.c1)
1480 -> Seq Scan on t1 bmt1
1483 -> Index Scan using t2_pkey on t2 bmt2
1484 Index Cond: (c1 = bmt1.c1)
1485 -> Bitmap Heap Scan on t3 bmt3
1486 Recheck Cond: (c1 = bmt1.c1)
1487 -> Bitmap Index Scan on t3_pkey
1488 Index Cond: (c1 = bmt1.c1)
1490 -> Seq Scan on t4 bmt4
1494 ---- No. S-2-2 the number of the tables per quiry block
1497 EXPLAIN (COSTS false)
1499 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1501 SELECT max(bmt1.c1), (
1502 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1504 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1506 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1510 -----------------------------------------------------------------
1514 InitPlan 1 (returns $0)
1516 -> Tid Scan on t1 b1t1
1517 TID Cond: (ctid = '(1,1)'::tid)
1518 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1519 InitPlan 4 (returns $3)
1521 InitPlan 3 (returns $2)
1523 -> Tid Scan on t1 b2t1
1524 TID Cond: (ctid = '(1,1)'::tid)
1525 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1526 InitPlan 6 (returns $5)
1528 InitPlan 5 (returns $4)
1530 -> Tid Scan on t1 b3t1
1531 TID Cond: (ctid = '(1,1)'::tid)
1532 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1534 -> Tid Scan on t1 bmt1
1535 TID Cond: (ctid = '(1,1)'::tid)
1536 Filter: ((c1 <> $5) AND (c1 = 1))
1542 BitmapScan(b2t1 t1_pkey)
1543 IndexScan(b3t1 t1_pkey)
1545 EXPLAIN (COSTS false)
1547 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1549 SELECT max(bmt1.c1), (
1550 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1552 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1554 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1557 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1558 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1559 LOG: available indexes for IndexScan(b3t1): t1_pkey
1560 LOG: available indexes for IndexScan(b3t1): t1_pkey
1564 BitmapScan(b2t1 t1_pkey)
1565 IndexScan(b3t1 t1_pkey)
1572 ---------------------------------------------------------------------------
1576 InitPlan 1 (returns $0)
1578 -> Tid Scan on t1 b1t1
1579 TID Cond: (ctid = '(1,1)'::tid)
1580 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1581 InitPlan 4 (returns $3)
1583 InitPlan 3 (returns $2)
1585 -> Bitmap Heap Scan on t1 b2t1
1586 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1587 Filter: (ctid = '(1,1)'::tid)
1588 -> Bitmap Index Scan on t1_pkey
1589 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1590 InitPlan 6 (returns $5)
1592 InitPlan 5 (returns $4)
1594 -> Index Scan using t1_pkey on t1 b3t1
1595 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1596 Filter: (ctid = '(1,1)'::tid)
1598 -> Seq Scan on t1 bmt1
1599 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid) AND (c1 = 1))
1604 EXPLAIN (COSTS false)
1606 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)'
1608 SELECT max(bmt1.c1), (
1609 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)'
1611 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1613 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)'
1617 -------------------------------------------------------
1622 Join Filter: (b1t1.c1 = b1t2.c1)
1623 -> Tid Scan on t1 b1t1
1624 TID Cond: (ctid = '(1,1)'::tid)
1625 -> Seq Scan on t2 b1t2
1626 Filter: (ctid = '(1,1)'::tid)
1627 InitPlan 2 (returns $1)
1630 Join Filter: (b2t1.c1 = b2t2.c1)
1631 -> Tid Scan on t1 b2t1
1632 TID Cond: (ctid = '(1,1)'::tid)
1633 -> Seq Scan on t2 b2t2
1634 Filter: (ctid = '(1,1)'::tid)
1635 InitPlan 3 (returns $2)
1638 Join Filter: (b3t1.c1 = b3t2.c1)
1639 -> Tid Scan on t1 b3t1
1640 TID Cond: (ctid = '(1,1)'::tid)
1641 -> Seq Scan on t2 b3t2
1642 Filter: (ctid = '(1,1)'::tid)
1645 Join Filter: (bmt1.c1 = bmt2.c1)
1646 -> Tid Scan on t1 bmt1
1647 TID Cond: (ctid = '(1,1)'::tid)
1649 -> Seq Scan on t2 bmt2
1650 Filter: (ctid = '(1,1)'::tid)
1654 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)
1655 TidScan(b1t1)SeqScan(b1t2)
1656 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)
1657 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)
1659 EXPLAIN (COSTS false)
1661 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)'
1663 SELECT max(bmt1.c1), (
1664 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)'
1666 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1668 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)'
1671 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1672 LOG: available indexes for IndexScan(b3t1): t1_pkey
1673 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1674 LOG: available indexes for IndexScan(bmt2): t2_pkey
1679 BitmapScan(b2t1 t1_pkey)
1681 IndexScan(b3t1 t1_pkey)
1682 BitmapScan(b3t2 t2_pkey)
1684 IndexScan(bmt2 t2_pkey)
1690 --------------------------------------------------------------------
1695 Join Filter: (b1t1.c1 = b1t2.c1)
1696 -> Tid Scan on t1 b1t1
1697 TID Cond: (ctid = '(1,1)'::tid)
1698 -> Seq Scan on t2 b1t2
1699 Filter: (ctid = '(1,1)'::tid)
1700 InitPlan 2 (returns $2)
1703 -> Tid Scan on t2 b2t2
1704 TID Cond: (ctid = '(1,1)'::tid)
1705 -> Bitmap Heap Scan on t1 b2t1
1706 Recheck Cond: (c1 = b2t2.c1)
1707 Filter: (ctid = '(1,1)'::tid)
1708 -> Bitmap Index Scan on t1_pkey
1709 Index Cond: (c1 = b2t2.c1)
1710 InitPlan 3 (returns $4)
1713 -> Index Scan using t1_pkey on t1 b3t1
1714 Filter: (ctid = '(1,1)'::tid)
1715 -> Bitmap Heap Scan on t2 b3t2
1716 Recheck Cond: (c1 = b3t1.c1)
1717 Filter: (ctid = '(1,1)'::tid)
1718 -> Bitmap Index Scan on t2_pkey
1719 Index Cond: (c1 = b3t1.c1)
1722 -> Seq Scan on t1 bmt1
1723 Filter: ((c1 <> $4) AND (ctid = '(1,1)'::tid))
1724 -> Index Scan using t2_pkey on t2 bmt2
1725 Index Cond: (c1 = bmt1.c1)
1726 Filter: (ctid = '(1,1)'::tid)
1731 EXPLAIN (COSTS false)
1733 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1735 SELECT max(bmt1.c1), (
1736 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
1738 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)' AND bmt1.c1 = c1.c1
1740 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2, s1.t3 b3t3, s1.t4 b3t4 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)' AND b3t1.c1 = b3t3.c1 AND b3t3.ctid = '(1,1)' AND b3t1.c1 = b3t4.c1 AND b3t4.ctid = '(1,1)'
1744 -------------------------------------------------------------------
1749 Join Filter: (b1t1.c1 = b1t4.c1)
1751 Join Filter: (b1t1.c1 = b1t3.c1)
1753 Join Filter: (b1t1.c1 = b1t2.c1)
1754 -> Tid Scan on t1 b1t1
1755 TID Cond: (ctid = '(1,1)'::tid)
1756 -> Seq Scan on t2 b1t2
1757 Filter: (ctid = '(1,1)'::tid)
1758 -> Tid Scan on t3 b1t3
1759 TID Cond: (ctid = '(1,1)'::tid)
1760 -> Tid Scan on t4 b1t4
1761 TID Cond: (ctid = '(1,1)'::tid)
1762 InitPlan 2 (returns $1)
1765 Join Filter: (b2t1.c1 = b2t4.c1)
1767 Join Filter: (b2t1.c1 = b2t3.c1)
1769 Join Filter: (b2t1.c1 = b2t2.c1)
1770 -> Tid Scan on t1 b2t1
1771 TID Cond: (ctid = '(1,1)'::tid)
1772 -> Seq Scan on t2 b2t2
1773 Filter: (ctid = '(1,1)'::tid)
1774 -> Tid Scan on t3 b2t3
1775 TID Cond: (ctid = '(1,1)'::tid)
1776 -> Tid Scan on t4 b2t4
1777 TID Cond: (ctid = '(1,1)'::tid)
1778 InitPlan 3 (returns $2)
1781 Join Filter: (b3t1.c1 = b3t4.c1)
1783 Join Filter: (b3t1.c1 = b3t3.c1)
1785 Join Filter: (b3t1.c1 = b3t2.c1)
1786 -> Tid Scan on t1 b3t1
1787 TID Cond: (ctid = '(1,1)'::tid)
1788 -> Seq Scan on t2 b3t2
1789 Filter: (ctid = '(1,1)'::tid)
1790 -> Tid Scan on t3 b3t3
1791 TID Cond: (ctid = '(1,1)'::tid)
1792 -> Tid Scan on t4 b3t4
1793 TID Cond: (ctid = '(1,1)'::tid)
1795 Join Filter: (bmt1.c1 = c1.c1)
1797 Join Filter: (bmt1.c1 = bmt4.c1)
1799 Join Filter: (bmt1.c1 = bmt3.c1)
1801 Join Filter: (bmt1.c1 = bmt2.c1)
1802 -> Tid Scan on t1 bmt1
1803 TID Cond: (ctid = '(1,1)'::tid)
1805 -> Seq Scan on t2 bmt2
1806 Filter: (ctid = '(1,1)'::tid)
1807 -> Tid Scan on t3 bmt3
1808 TID Cond: (ctid = '(1,1)'::tid)
1809 -> Tid Scan on t4 bmt4
1810 TID Cond: (ctid = '(1,1)'::tid)
1814 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1815 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1816 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1817 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
1819 EXPLAIN (COSTS false)
1821 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1823 SELECT max(bmt1.c1), (
1824 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
1826 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)' AND bmt1.c1 = c1.c1
1828 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2, s1.t3 b3t3, s1.t4 b3t4 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)' AND b3t1.c1 = b3t3.c1 AND b3t3.ctid = '(1,1)' AND b3t1.c1 = b3t4.c1 AND b3t4.ctid = '(1,1)'
1831 LOG: available indexes for IndexScan(b1t3): t3_pkey
1832 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1833 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1834 LOG: available indexes for IndexScan(b2t4): t4_pkey
1835 LOG: available indexes for IndexScan(b3t1): t1_pkey
1836 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1837 LOG: available indexes for IndexScan(bmt2): t2_pkey
1838 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1843 IndexScan(b1t3 t3_pkey)
1844 BitmapScan(b1t4 t4_pkey)
1845 BitmapScan(b2t1 t1_pkey)
1848 IndexScan(b2t4 t4_pkey)
1849 IndexScan(b3t1 t1_pkey)
1850 BitmapScan(b3t2 t2_pkey)
1854 IndexScan(bmt2 t2_pkey)
1855 BitmapScan(bmt3 t3_pkey)
1862 --------------------------------------------------------------------------------
1869 Join Filter: (b1t1.c1 = b1t2.c1)
1870 -> Tid Scan on t1 b1t1
1871 TID Cond: (ctid = '(1,1)'::tid)
1872 -> Seq Scan on t2 b1t2
1873 Filter: (ctid = '(1,1)'::tid)
1874 -> Index Scan using t3_pkey on t3 b1t3
1875 Index Cond: (c1 = b1t1.c1)
1876 Filter: (ctid = '(1,1)'::tid)
1877 -> Bitmap Heap Scan on t4 b1t4
1878 Recheck Cond: (c1 = b1t1.c1)
1879 Filter: (ctid = '(1,1)'::tid)
1880 -> Bitmap Index Scan on t4_pkey
1881 Index Cond: (c1 = b1t1.c1)
1882 InitPlan 2 (returns $4)
1886 Join Filter: (b2t1.c1 = b2t3.c1)
1888 -> Tid Scan on t2 b2t2
1889 TID Cond: (ctid = '(1,1)'::tid)
1890 -> Bitmap Heap Scan on t1 b2t1
1891 Recheck Cond: (c1 = b2t2.c1)
1892 Filter: (ctid = '(1,1)'::tid)
1893 -> Bitmap Index Scan on t1_pkey
1894 Index Cond: (c1 = b2t2.c1)
1895 -> Seq Scan on t3 b2t3
1896 Filter: (ctid = '(1,1)'::tid)
1897 -> Index Scan using t4_pkey on t4 b2t4
1898 Index Cond: (c1 = b2t1.c1)
1899 Filter: (ctid = '(1,1)'::tid)
1900 InitPlan 3 (returns $7)
1903 Join Filter: (b3t1.c1 = b3t4.c1)
1906 -> Tid Scan on t3 b3t3
1907 TID Cond: (ctid = '(1,1)'::tid)
1908 -> Index Scan using t1_pkey on t1 b3t1
1909 Index Cond: (c1 = b3t3.c1)
1910 Filter: (ctid = '(1,1)'::tid)
1911 -> Bitmap Heap Scan on t2 b3t2
1912 Recheck Cond: (c1 = b3t1.c1)
1913 Filter: (ctid = '(1,1)'::tid)
1914 -> Bitmap Index Scan on t2_pkey
1915 Index Cond: (c1 = b3t1.c1)
1916 -> Seq Scan on t4 b3t4
1917 Filter: (ctid = '(1,1)'::tid)
1919 Join Filter: (bmt1.c1 = c1.c1)
1921 Join Filter: (bmt1.c1 = bmt4.c1)
1924 -> Seq Scan on t1 bmt1
1925 Filter: ((c1 <> $7) AND (ctid = '(1,1)'::tid))
1926 -> Index Scan using t2_pkey on t2 bmt2
1927 Index Cond: (c1 = bmt1.c1)
1928 Filter: (ctid = '(1,1)'::tid)
1929 -> Bitmap Heap Scan on t3 bmt3
1930 Recheck Cond: (c1 = bmt1.c1)
1931 Filter: (ctid = '(1,1)'::tid)
1932 -> Bitmap Index Scan on t3_pkey
1933 Index Cond: (c1 = bmt1.c1)
1934 -> Tid Scan on t4 bmt4
1935 TID Cond: (ctid = '(1,1)'::tid)
1940 EXPLAIN (COSTS false)
1942 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1944 SELECT max(bmt1.c1), (
1945 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1947 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)' AND bmt1.c1 = c1.c1
1949 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
1953 -------------------------------------------------------------------
1958 Join Filter: (b1t1.c1 = b1t4.c1)
1960 Join Filter: (b1t1.c1 = b1t3.c1)
1962 Join Filter: (b1t1.c1 = b1t2.c1)
1963 -> Tid Scan on t1 b1t1
1964 TID Cond: (ctid = '(1,1)'::tid)
1965 -> Seq Scan on t2 b1t2
1966 Filter: (ctid = '(1,1)'::tid)
1967 -> Tid Scan on t3 b1t3
1968 TID Cond: (ctid = '(1,1)'::tid)
1969 -> Tid Scan on t4 b1t4
1970 TID Cond: (ctid = '(1,1)'::tid)
1971 InitPlan 3 (returns $2)
1973 InitPlan 2 (returns $1)
1975 -> Tid Scan on t1 b2t1
1976 TID Cond: (ctid = '(1,1)'::tid)
1977 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1978 InitPlan 4 (returns $3)
1980 -> Tid Scan on t1 b3t1
1981 TID Cond: (ctid = '(1,1)'::tid)
1983 Join Filter: (bmt1.c1 = c1.c1)
1985 Join Filter: (bmt1.c1 = bmt4.c1)
1987 Join Filter: (bmt1.c1 = bmt3.c1)
1989 Join Filter: (bmt1.c1 = bmt2.c1)
1990 -> Tid Scan on t1 bmt1
1991 TID Cond: (ctid = '(1,1)'::tid)
1993 -> Seq Scan on t2 bmt2
1994 Filter: (ctid = '(1,1)'::tid)
1995 -> Tid Scan on t3 bmt3
1996 TID Cond: (ctid = '(1,1)'::tid)
1997 -> Tid Scan on t4 bmt4
1998 TID Cond: (ctid = '(1,1)'::tid)
2002 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
2003 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2004 BitmapScan(b2t1 t1_pkey)
2005 IndexScan(b3t1 t1_pkey)
2007 EXPLAIN (COSTS false)
2009 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
2011 SELECT max(bmt1.c1), (
2012 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2014 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)' AND bmt1.c1 = c1.c1
2016 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2019 LOG: available indexes for IndexScan(b1t3): t3_pkey
2020 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2021 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2022 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2023 LOG: available indexes for IndexScan(b3t1): t1_pkey
2024 LOG: available indexes for IndexScan(b3t1): t1_pkey
2025 LOG: available indexes for IndexScan(bmt2): t2_pkey
2026 LOG: available indexes for BitmapScan(bmt3): t3_pkey
2031 IndexScan(b1t3 t3_pkey)
2032 BitmapScan(b1t4 t4_pkey)
2033 BitmapScan(b2t1 t1_pkey)
2034 IndexScan(b3t1 t1_pkey)
2036 IndexScan(bmt2 t2_pkey)
2037 BitmapScan(bmt3 t3_pkey)
2044 --------------------------------------------------------------------------------
2051 Join Filter: (b1t1.c1 = b1t2.c1)
2052 -> Tid Scan on t1 b1t1
2053 TID Cond: (ctid = '(1,1)'::tid)
2054 -> Seq Scan on t2 b1t2
2055 Filter: (ctid = '(1,1)'::tid)
2056 -> Index Scan using t3_pkey on t3 b1t3
2057 Index Cond: (c1 = b1t1.c1)
2058 Filter: (ctid = '(1,1)'::tid)
2059 -> Bitmap Heap Scan on t4 b1t4
2060 Recheck Cond: (c1 = b1t1.c1)
2061 Filter: (ctid = '(1,1)'::tid)
2062 -> Bitmap Index Scan on t4_pkey
2063 Index Cond: (c1 = b1t1.c1)
2064 InitPlan 3 (returns $3)
2066 InitPlan 2 (returns $2)
2068 -> Bitmap Heap Scan on t1 b2t1
2069 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2070 Filter: (ctid = '(1,1)'::tid)
2071 -> Bitmap Index Scan on t1_pkey
2072 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2073 InitPlan 5 (returns $5)
2075 InitPlan 4 (returns $4)
2077 -> Index Scan Backward using t1_pkey on t1 b3t1
2078 Index Cond: (c1 IS NOT NULL)
2079 Filter: (ctid = '(1,1)'::tid)
2081 Join Filter: (bmt1.c1 = c1.c1)
2083 Join Filter: (bmt1.c1 = bmt4.c1)
2086 -> Seq Scan on t1 bmt1
2087 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid))
2088 -> Index Scan using t2_pkey on t2 bmt2
2089 Index Cond: (c1 = bmt1.c1)
2090 Filter: (ctid = '(1,1)'::tid)
2091 -> Bitmap Heap Scan on t3 bmt3
2092 Recheck Cond: (c1 = bmt1.c1)
2093 Filter: (ctid = '(1,1)'::tid)
2094 -> Bitmap Index Scan on t3_pkey
2095 Index Cond: (c1 = bmt1.c1)
2096 -> Tid Scan on t4 bmt4
2097 TID Cond: (ctid = '(1,1)'::tid)
2102 ---- No. S-2-3 RULE or VIEW
2105 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2107 -----------------------------------------------------------------
2110 Join Filter: (t1.c1 = t4.c1)
2112 Join Filter: (t1.c1 = t3.c1)
2114 Join Filter: (t1.c1 = t2.c1)
2117 TID Cond: (ctid = '(1,1)'::tid)
2120 TID Cond: (ctid = '(1,1)'::tid)
2122 Filter: (ctid = '(1,1)'::tid)
2124 TID Cond: (ctid = '(1,1)'::tid)
2126 TID Cond: (ctid = '(1,1)'::tid)
2129 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2131 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2132 LOG: available indexes for IndexScan(t3): t3_pkey
2133 LOG: available indexes for BitmapScan(t4): t4_pkey
2139 IndexScan(t3 t3_pkey)
2140 BitmapScan(t4 t4_pkey)
2146 ------------------------------------------------------------------------------
2151 Join Filter: (t1.c1 = t2.c1)
2154 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2156 TID Cond: (ctid = '(1,1)'::tid)
2158 Filter: (ctid = '(1,1)'::tid)
2159 -> Index Scan using t3_pkey on t3
2160 Index Cond: (c1 = t1.c1)
2161 Filter: (ctid = '(1,1)'::tid)
2162 -> Bitmap Heap Scan on t4
2163 Recheck Cond: (c1 = t1.c1)
2164 Filter: (ctid = '(1,1)'::tid)
2165 -> Bitmap Index Scan on t4_pkey
2166 Index Cond: (c1 = t1.c1)
2169 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2171 -----------------------------------------------------------------
2174 Join Filter: (b1t1.c1 = b1t4.c1)
2176 Join Filter: (b1t1.c1 = b1t3.c1)
2178 Join Filter: (b1t1.c1 = b1t2.c1)
2181 TID Cond: (ctid = '(1,1)'::tid)
2183 -> Tid Scan on t1 b1t1
2184 TID Cond: (ctid = '(1,1)'::tid)
2185 -> Seq Scan on t2 b1t2
2186 Filter: (ctid = '(1,1)'::tid)
2187 -> Tid Scan on t3 b1t3
2188 TID Cond: (ctid = '(1,1)'::tid)
2189 -> Tid Scan on t4 b1t4
2190 TID Cond: (ctid = '(1,1)'::tid)
2193 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2195 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2196 LOG: available indexes for IndexScan(b1t3): t3_pkey
2197 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2202 IndexScan(b1t3 t3_pkey)
2203 BitmapScan(b1t4 t4_pkey)
2210 ------------------------------------------------------------------------------
2215 Join Filter: (b1t1.c1 = b1t2.c1)
2218 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2219 -> Tid Scan on t1 b1t1
2220 TID Cond: (ctid = '(1,1)'::tid)
2221 -> Seq Scan on t2 b1t2
2222 Filter: (ctid = '(1,1)'::tid)
2223 -> Index Scan using t3_pkey on t3 b1t3
2224 Index Cond: (c1 = b1t1.c1)
2225 Filter: (ctid = '(1,1)'::tid)
2226 -> Bitmap Heap Scan on t4 b1t4
2227 Recheck Cond: (c1 = b1t1.c1)
2228 Filter: (ctid = '(1,1)'::tid)
2229 -> Bitmap Index Scan on t4_pkey
2230 Index Cond: (c1 = b1t1.c1)
2234 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2236 -----------------------------------------------------------------
2239 Join Filter: (t1.c1 = t4.c1)
2241 Join Filter: (t1.c1 = t3.c1)
2243 Join Filter: (t1.c1 = t2.c1)
2246 TID Cond: (ctid = '(1,1)'::tid)
2249 TID Cond: (ctid = '(1,1)'::tid)
2251 Filter: (ctid = '(1,1)'::tid)
2253 TID Cond: (ctid = '(1,1)'::tid)
2255 TID Cond: (ctid = '(1,1)'::tid)
2259 Join Filter: (t1.c1 = t4.c1)
2261 Join Filter: (t1.c1 = t3.c1)
2263 Join Filter: (t1.c1 = t2.c1)
2266 TID Cond: (ctid = '(1,1)'::tid)
2269 TID Cond: (ctid = '(1,1)'::tid)
2271 Filter: (ctid = '(1,1)'::tid)
2273 TID Cond: (ctid = '(1,1)'::tid)
2275 TID Cond: (ctid = '(1,1)'::tid)
2278 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2280 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2281 LOG: available indexes for IndexScan(t3): t3_pkey
2282 LOG: available indexes for BitmapScan(t4): t4_pkey
2288 IndexScan(t3 t3_pkey)
2289 BitmapScan(t4 t4_pkey)
2294 LOG: available indexes for IndexScan(t3): t3_pkey
2295 LOG: available indexes for BitmapScan(t4): t4_pkey
2301 IndexScan(t3 t3_pkey)
2302 BitmapScan(t4 t4_pkey)
2308 ------------------------------------------------------------------------------
2313 Join Filter: (t1.c1 = t2.c1)
2316 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2318 TID Cond: (ctid = '(1,1)'::tid)
2320 Filter: (ctid = '(1,1)'::tid)
2321 -> Index Scan using t3_pkey on t3
2322 Index Cond: (c1 = t1.c1)
2323 Filter: (ctid = '(1,1)'::tid)
2324 -> Bitmap Heap Scan on t4
2325 Recheck Cond: (c1 = t1.c1)
2326 Filter: (ctid = '(1,1)'::tid)
2327 -> Bitmap Index Scan on t4_pkey
2328 Index Cond: (c1 = t1.c1)
2334 Join Filter: (t1.c1 = t2.c1)
2337 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2339 TID Cond: (ctid = '(1,1)'::tid)
2341 Filter: (ctid = '(1,1)'::tid)
2342 -> Index Scan using t3_pkey on t3
2343 Index Cond: (c1 = t1.c1)
2344 Filter: (ctid = '(1,1)'::tid)
2345 -> Bitmap Heap Scan on t4
2346 Recheck Cond: (c1 = t1.c1)
2347 Filter: (ctid = '(1,1)'::tid)
2348 -> Bitmap Index Scan on t4_pkey
2349 Index Cond: (c1 = t1.c1)
2352 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2354 -----------------------------------------------------------------
2357 Join Filter: (b1t1.c1 = b1t4.c1)
2359 Join Filter: (b1t1.c1 = b1t3.c1)
2361 Join Filter: (b1t1.c1 = b1t2.c1)
2364 TID Cond: (ctid = '(1,1)'::tid)
2366 -> Tid Scan on t1 b1t1
2367 TID Cond: (ctid = '(1,1)'::tid)
2368 -> Seq Scan on t2 b1t2
2369 Filter: (ctid = '(1,1)'::tid)
2370 -> Tid Scan on t3 b1t3
2371 TID Cond: (ctid = '(1,1)'::tid)
2372 -> Tid Scan on t4 b1t4
2373 TID Cond: (ctid = '(1,1)'::tid)
2377 Join Filter: (b2t1.c1 = b2t4.c1)
2379 Join Filter: (b2t1.c1 = b2t3.c1)
2381 Join Filter: (b2t1.c1 = b2t2.c1)
2384 TID Cond: (ctid = '(1,1)'::tid)
2386 -> Tid Scan on t1 b2t1
2387 TID Cond: (ctid = '(1,1)'::tid)
2388 -> Seq Scan on t2 b2t2
2389 Filter: (ctid = '(1,1)'::tid)
2390 -> Tid Scan on t3 b2t3
2391 TID Cond: (ctid = '(1,1)'::tid)
2392 -> Tid Scan on t4 b2t4
2393 TID Cond: (ctid = '(1,1)'::tid)
2396 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2397 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2399 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2400 LOG: available indexes for IndexScan(b1t3): t3_pkey
2401 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2406 IndexScan(b1t3 t3_pkey)
2407 BitmapScan(b1t4 t4_pkey)
2410 BitmapScan(b2t1 t1_pkey)
2413 IndexScan(b2t4 t4_pkey)
2417 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2418 LOG: available indexes for IndexScan(b2t4): t4_pkey
2421 BitmapScan(b2t1 t1_pkey)
2424 IndexScan(b2t4 t4_pkey)
2429 IndexScan(b1t3 t3_pkey)
2430 BitmapScan(b1t4 t4_pkey)
2435 ------------------------------------------------------------------------------
2440 Join Filter: (b1t1.c1 = b1t2.c1)
2443 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2444 -> Tid Scan on t1 b1t1
2445 TID Cond: (ctid = '(1,1)'::tid)
2446 -> Seq Scan on t2 b1t2
2447 Filter: (ctid = '(1,1)'::tid)
2448 -> Index Scan using t3_pkey on t3 b1t3
2449 Index Cond: (c1 = b1t1.c1)
2450 Filter: (ctid = '(1,1)'::tid)
2451 -> Bitmap Heap Scan on t4 b1t4
2452 Recheck Cond: (c1 = b1t1.c1)
2453 Filter: (ctid = '(1,1)'::tid)
2454 -> Bitmap Index Scan on t4_pkey
2455 Index Cond: (c1 = b1t1.c1)
2460 Join Filter: (b2t1.c1 = b2t3.c1)
2464 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2465 -> Tid Scan on t2 b2t2
2466 TID Cond: (ctid = '(1,1)'::tid)
2467 -> Bitmap Heap Scan on t1 b2t1
2468 Recheck Cond: (c1 = b2t2.c1)
2469 Filter: (ctid = '(1,1)'::tid)
2470 -> Bitmap Index Scan on t1_pkey
2471 Index Cond: (c1 = b2t2.c1)
2472 -> Seq Scan on t3 b2t3
2473 Filter: (ctid = '(1,1)'::tid)
2474 -> Index Scan using t4_pkey on t4 b2t4
2475 Index Cond: (c1 = b2t1.c1)
2476 Filter: (ctid = '(1,1)'::tid)
2480 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2482 -----------------------------------------------------------------
2485 Join Filter: (t1.c1 = t4.c1)
2487 Join Filter: (t1.c1 = t3.c1)
2489 Join Filter: (t1.c1 = t2.c1)
2492 TID Cond: (ctid = '(1,1)'::tid)
2495 TID Cond: (ctid = '(1,1)'::tid)
2497 Filter: (ctid = '(1,1)'::tid)
2499 TID Cond: (ctid = '(1,1)'::tid)
2501 TID Cond: (ctid = '(1,1)'::tid)
2505 Join Filter: (t1.c1 = t4.c1)
2507 Join Filter: (t1.c1 = t3.c1)
2509 Join Filter: (t1.c1 = t2.c1)
2512 TID Cond: (ctid = '(1,1)'::tid)
2515 TID Cond: (ctid = '(1,1)'::tid)
2517 Filter: (ctid = '(1,1)'::tid)
2519 TID Cond: (ctid = '(1,1)'::tid)
2521 TID Cond: (ctid = '(1,1)'::tid)
2525 Join Filter: (t1.c1 = t4.c1)
2527 Join Filter: (t1.c1 = t3.c1)
2529 Join Filter: (t1.c1 = t2.c1)
2532 TID Cond: (ctid = '(1,1)'::tid)
2535 TID Cond: (ctid = '(1,1)'::tid)
2537 Filter: (ctid = '(1,1)'::tid)
2539 TID Cond: (ctid = '(1,1)'::tid)
2541 TID Cond: (ctid = '(1,1)'::tid)
2544 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2546 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2547 LOG: available indexes for IndexScan(t3): t3_pkey
2548 LOG: available indexes for BitmapScan(t4): t4_pkey
2554 IndexScan(t3 t3_pkey)
2555 BitmapScan(t4 t4_pkey)
2560 LOG: available indexes for IndexScan(t3): t3_pkey
2561 LOG: available indexes for BitmapScan(t4): t4_pkey
2567 IndexScan(t3 t3_pkey)
2568 BitmapScan(t4 t4_pkey)
2573 LOG: available indexes for IndexScan(t3): t3_pkey
2574 LOG: available indexes for BitmapScan(t4): t4_pkey
2580 IndexScan(t3 t3_pkey)
2581 BitmapScan(t4 t4_pkey)
2587 ------------------------------------------------------------------------------
2592 Join Filter: (t1.c1 = t2.c1)
2595 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2597 TID Cond: (ctid = '(1,1)'::tid)
2599 Filter: (ctid = '(1,1)'::tid)
2600 -> Index Scan using t3_pkey on t3
2601 Index Cond: (c1 = t1.c1)
2602 Filter: (ctid = '(1,1)'::tid)
2603 -> Bitmap Heap Scan on t4
2604 Recheck Cond: (c1 = t1.c1)
2605 Filter: (ctid = '(1,1)'::tid)
2606 -> Bitmap Index Scan on t4_pkey
2607 Index Cond: (c1 = t1.c1)
2613 Join Filter: (t1.c1 = t2.c1)
2616 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2618 TID Cond: (ctid = '(1,1)'::tid)
2620 Filter: (ctid = '(1,1)'::tid)
2621 -> Index Scan using t3_pkey on t3
2622 Index Cond: (c1 = t1.c1)
2623 Filter: (ctid = '(1,1)'::tid)
2624 -> Bitmap Heap Scan on t4
2625 Recheck Cond: (c1 = t1.c1)
2626 Filter: (ctid = '(1,1)'::tid)
2627 -> Bitmap Index Scan on t4_pkey
2628 Index Cond: (c1 = t1.c1)
2634 Join Filter: (t1.c1 = t2.c1)
2637 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2639 TID Cond: (ctid = '(1,1)'::tid)
2641 Filter: (ctid = '(1,1)'::tid)
2642 -> Index Scan using t3_pkey on t3
2643 Index Cond: (c1 = t1.c1)
2644 Filter: (ctid = '(1,1)'::tid)
2645 -> Bitmap Heap Scan on t4
2646 Recheck Cond: (c1 = t1.c1)
2647 Filter: (ctid = '(1,1)'::tid)
2648 -> Bitmap Index Scan on t4_pkey
2649 Index Cond: (c1 = t1.c1)
2652 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2654 -----------------------------------------------------------------
2657 Join Filter: (b1t1.c1 = b1t4.c1)
2659 Join Filter: (b1t1.c1 = b1t3.c1)
2661 Join Filter: (b1t1.c1 = b1t2.c1)
2664 TID Cond: (ctid = '(1,1)'::tid)
2666 -> Tid Scan on t1 b1t1
2667 TID Cond: (ctid = '(1,1)'::tid)
2668 -> Seq Scan on t2 b1t2
2669 Filter: (ctid = '(1,1)'::tid)
2670 -> Tid Scan on t3 b1t3
2671 TID Cond: (ctid = '(1,1)'::tid)
2672 -> Tid Scan on t4 b1t4
2673 TID Cond: (ctid = '(1,1)'::tid)
2677 Join Filter: (b2t1.c1 = b2t4.c1)
2679 Join Filter: (b2t1.c1 = b2t3.c1)
2681 Join Filter: (b2t1.c1 = b2t2.c1)
2684 TID Cond: (ctid = '(1,1)'::tid)
2686 -> Tid Scan on t1 b2t1
2687 TID Cond: (ctid = '(1,1)'::tid)
2688 -> Seq Scan on t2 b2t2
2689 Filter: (ctid = '(1,1)'::tid)
2690 -> Tid Scan on t3 b2t3
2691 TID Cond: (ctid = '(1,1)'::tid)
2692 -> Tid Scan on t4 b2t4
2693 TID Cond: (ctid = '(1,1)'::tid)
2697 Join Filter: (b3t1.c1 = b3t4.c1)
2699 Join Filter: (b3t1.c1 = b3t3.c1)
2701 Join Filter: (b3t1.c1 = b3t2.c1)
2704 TID Cond: (ctid = '(1,1)'::tid)
2706 -> Tid Scan on t1 b3t1
2707 TID Cond: (ctid = '(1,1)'::tid)
2708 -> Seq Scan on t2 b3t2
2709 Filter: (ctid = '(1,1)'::tid)
2710 -> Tid Scan on t3 b3t3
2711 TID Cond: (ctid = '(1,1)'::tid)
2712 -> Tid Scan on t4 b3t4
2713 TID Cond: (ctid = '(1,1)'::tid)
2716 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2717 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2718 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
2720 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2721 LOG: available indexes for IndexScan(b1t3): t3_pkey
2722 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2727 IndexScan(b1t3 t3_pkey)
2728 BitmapScan(b1t4 t4_pkey)
2731 BitmapScan(b2t1 t1_pkey)
2734 IndexScan(b2t4 t4_pkey)
2735 IndexScan(b3t1 t1_pkey)
2736 BitmapScan(b3t2 t2_pkey)
2742 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2743 LOG: available indexes for IndexScan(b2t4): t4_pkey
2746 BitmapScan(b2t1 t1_pkey)
2749 IndexScan(b2t4 t4_pkey)
2754 IndexScan(b1t3 t3_pkey)
2755 BitmapScan(b1t4 t4_pkey)
2756 IndexScan(b3t1 t1_pkey)
2757 BitmapScan(b3t2 t2_pkey)
2763 LOG: available indexes for IndexScan(b3t1): t1_pkey
2764 LOG: available indexes for BitmapScan(b3t2): t2_pkey
2767 IndexScan(b3t1 t1_pkey)
2768 BitmapScan(b3t2 t2_pkey)
2775 IndexScan(b1t3 t3_pkey)
2776 BitmapScan(b1t4 t4_pkey)
2777 BitmapScan(b2t1 t1_pkey)
2780 IndexScan(b2t4 t4_pkey)
2785 ------------------------------------------------------------------------------
2790 Join Filter: (b1t1.c1 = b1t2.c1)
2793 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2794 -> Tid Scan on t1 b1t1
2795 TID Cond: (ctid = '(1,1)'::tid)
2796 -> Seq Scan on t2 b1t2
2797 Filter: (ctid = '(1,1)'::tid)
2798 -> Index Scan using t3_pkey on t3 b1t3
2799 Index Cond: (c1 = b1t1.c1)
2800 Filter: (ctid = '(1,1)'::tid)
2801 -> Bitmap Heap Scan on t4 b1t4
2802 Recheck Cond: (c1 = b1t1.c1)
2803 Filter: (ctid = '(1,1)'::tid)
2804 -> Bitmap Index Scan on t4_pkey
2805 Index Cond: (c1 = b1t1.c1)
2810 Join Filter: (b2t1.c1 = b2t3.c1)
2814 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2815 -> Tid Scan on t2 b2t2
2816 TID Cond: (ctid = '(1,1)'::tid)
2817 -> Bitmap Heap Scan on t1 b2t1
2818 Recheck Cond: (c1 = b2t2.c1)
2819 Filter: (ctid = '(1,1)'::tid)
2820 -> Bitmap Index Scan on t1_pkey
2821 Index Cond: (c1 = b2t2.c1)
2822 -> Seq Scan on t3 b2t3
2823 Filter: (ctid = '(1,1)'::tid)
2824 -> Index Scan using t4_pkey on t4 b2t4
2825 Index Cond: (c1 = b2t1.c1)
2826 Filter: (ctid = '(1,1)'::tid)
2830 Join Filter: (b3t1.c1 = b3t4.c1)
2835 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2836 -> Tid Scan on t3 b3t3
2837 TID Cond: (ctid = '(1,1)'::tid)
2838 -> Index Scan using t1_pkey on t1 b3t1
2839 Index Cond: (c1 = b3t3.c1)
2840 Filter: (ctid = '(1,1)'::tid)
2841 -> Bitmap Heap Scan on t2 b3t2
2842 Recheck Cond: (c1 = b3t1.c1)
2843 Filter: (ctid = '(1,1)'::tid)
2844 -> Bitmap Index Scan on t2_pkey
2845 Index Cond: (c1 = b3t1.c1)
2846 -> Seq Scan on t4 b3t4
2847 Filter: (ctid = '(1,1)'::tid)
2851 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2853 ----------------------------------
2855 Hash Cond: (v1t1.c1 = v1t1.c1)
2856 -> Seq Scan on t1 v1t1
2858 -> Seq Scan on t1 v1t1
2861 /*+BitmapScan(v1t1)*/
2862 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2871 ------------------------------------------
2873 -> Index Scan using t1_i1 on t1 v1t1
2874 -> Bitmap Heap Scan on t1 v1t1
2875 Recheck Cond: (c1 = v1t1.c1)
2876 -> Bitmap Index Scan on t1_i1
2877 Index Cond: (c1 = v1t1.c1)
2881 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2883 -----------------------------------
2885 Hash Cond: (v1t1.c1 = v1t1_.c1)
2886 -> Seq Scan on t1 v1t1
2888 -> Seq Scan on t1 v1t1_
2891 /*+SeqScan(v1t1)BitmapScan(v1t1_)*/
2892 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2902 ------------------------------------------
2904 -> Seq Scan on t1 v1t1
2905 -> Bitmap Heap Scan on t1 v1t1_
2906 Recheck Cond: (c1 = v1t1.c1)
2907 -> Bitmap Index Scan on t1_i1
2908 Index Cond: (c1 = v1t1.c1)
2912 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2914 ----------------------------------
2916 Hash Cond: (r4t1.c1 = r4t1.c1)
2917 -> Seq Scan on t1 r4t1
2919 -> Seq Scan on t1 r4t1
2922 /*+BitmapScan(r4t1)*/
2923 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2932 ------------------------------------------
2934 -> Index Scan using t1_i1 on t1 r4t1
2935 -> Bitmap Heap Scan on t1 r4t1
2936 Recheck Cond: (c1 = r4t1.c1)
2937 -> Bitmap Index Scan on t1_i1
2938 Index Cond: (c1 = r4t1.c1)
2942 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2944 ----------------------------------
2946 Hash Cond: (r4t1.c1 = r5t1.c1)
2947 -> Seq Scan on t1 r4t1
2949 -> Seq Scan on t1 r5t1
2952 /*+SeqScan(r4t1)BitmapScan(r5t1)*/
2953 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2963 ------------------------------------------
2965 -> Seq Scan on t1 r4t1
2966 -> Bitmap Heap Scan on t1 r5t1
2967 Recheck Cond: (c1 = r4t1.c1)
2968 -> Bitmap Index Scan on t1_i1
2969 Index Cond: (c1 = r4t1.c1)
2973 ---- No. S-2-4 VALUES clause
2976 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
2978 ---------------------------
2979 Values Scan on "*VALUES*"
2980 Filter: (column1 = 1)
2984 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
2993 ---------------------------
2994 Values Scan on "*VALUES*"
2995 Filter: (column1 = 1)
2998 /*+SeqScan(*VALUES*)*/
2999 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3008 ---------------------------
3009 Values Scan on "*VALUES*"
3010 Filter: (column1 = 1)
3014 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
3016 ----------------------------------------------------------
3018 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
3019 -> Values Scan on "*VALUES*"
3020 -> Values Scan on "*VALUES*"
3024 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
3025 INFO: hint syntax error at or near ""
3026 DETAIL: SeqScan hint accepts only one relation.
3035 ----------------------------------------------------------
3037 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
3038 -> Values Scan on "*VALUES*"
3039 -> Values Scan on "*VALUES*"
3042 /*+SeqScan(*VALUES*)*/
3043 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
3052 ----------------------------------------------------------
3054 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
3055 -> Values Scan on "*VALUES*"
3056 -> Values Scan on "*VALUES*"
3060 ---- No. S-3-1 scan method hint
3063 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3065 ---------------------
3071 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3080 ---------------------
3086 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3088 ------------------------------
3089 Index Scan using t1_i1 on t1
3090 Index Cond: (c1 = 1)
3094 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3103 --------------------
3109 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3111 ------------------------------
3112 Index Scan using t1_i1 on t1
3113 Index Cond: (c1 = 1)
3117 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3126 ------------------------------
3127 Index Scan using t1_i1 on t1
3128 Index Cond: (c1 = 1)
3132 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3134 ---------------------
3140 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3149 ------------------------------
3150 Index Scan using t1_i1 on t1
3151 Index Cond: (c1 >= 1)
3155 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3157 ---------------------------------
3158 Bitmap Heap Scan on t1
3159 Recheck Cond: (c3 < 10)
3160 -> Bitmap Index Scan on t1_i
3161 Index Cond: (c3 < 10)
3165 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3174 ---------------------------------
3175 Bitmap Heap Scan on t1
3176 Recheck Cond: (c3 < 10)
3177 -> Bitmap Index Scan on t1_i
3178 Index Cond: (c3 < 10)
3182 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3184 ------------------------------
3185 Index Scan using t1_i1 on t1
3186 Index Cond: (c1 = 1)
3190 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3199 ----------------------------------
3200 Bitmap Heap Scan on t1
3201 Recheck Cond: (c1 = 1)
3202 -> Bitmap Index Scan on t1_i1
3203 Index Cond: (c1 = 1)
3207 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3209 -----------------------------------
3211 TID Cond: (ctid = '(1,1)'::tid)
3216 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3225 -----------------------------------
3227 TID Cond: (ctid = '(1,1)'::tid)
3232 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3234 -------------------------------------------------------------
3235 Index Scan using t1_i1 on t1
3236 Index Cond: (c1 = 1)
3237 Filter: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3241 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3250 ---------------------------------------------------------------
3252 TID Cond: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3257 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3259 ---------------------
3265 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3274 ------------------------------
3275 Index Scan using t1_i1 on t1
3276 Index Cond: (c1 >= 1)
3280 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3282 ------------------------------
3283 Index Scan using t1_i1 on t1
3284 Index Cond: (c1 = 1)
3288 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3297 ------------------------------
3298 Index Scan using t1_i1 on t1
3299 Index Cond: (c1 = 1)
3303 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3305 ------------------------------
3306 Index Scan using t1_i1 on t1
3307 Index Cond: (c1 = 1)
3310 /*+NoIndexScan(t1)*/
3311 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3320 ----------------------------------
3321 Bitmap Heap Scan on t1
3322 Recheck Cond: (c1 = 1)
3323 -> Bitmap Index Scan on t1_i1
3324 Index Cond: (c1 = 1)
3328 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3330 ---------------------
3335 /*+NoIndexScan(t1)*/
3336 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3345 ---------------------
3351 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3353 ---------------------------------
3354 Bitmap Heap Scan on t1
3355 Recheck Cond: (c3 < 10)
3356 -> Bitmap Index Scan on t1_i
3357 Index Cond: (c3 < 10)
3360 /*+NoBitmapScan(t1)*/
3361 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3370 ---------------------
3376 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3378 ------------------------------
3379 Index Scan using t1_i1 on t1
3380 Index Cond: (c1 = 1)
3383 /*+NoBitmapScan(t1)*/
3384 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3393 ------------------------------
3394 Index Scan using t1_i1 on t1
3395 Index Cond: (c1 = 1)
3399 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3401 -----------------------------------
3403 TID Cond: (ctid = '(1,1)'::tid)
3408 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3417 ---------------------------------
3418 Index Scan using t1_i1 on t1
3419 Index Cond: (c1 = 1)
3420 Filter: (ctid = '(1,1)'::tid)
3424 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3426 ------------------------------
3427 Index Scan using t1_i1 on t1
3428 Index Cond: (c1 = 1)
3432 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3441 ------------------------------
3442 Index Scan using t1_i1 on t1
3443 Index Cond: (c1 = 1)
3447 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3449 -----------------------------------
3450 Index Only Scan using t1_i1 on t1
3451 Index Cond: (c1 = 1)
3454 /*+IndexOnlyScan(t1)*/
3455 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3464 -----------------------------------
3465 Index Only Scan using t1_i1 on t1
3466 Index Cond: (c1 = 1)
3470 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3472 ---------------------
3477 /*+IndexOnlyScan(t1)*/
3478 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3487 -----------------------------------
3488 Index Only Scan using t1_i1 on t1
3489 Index Cond: (c1 >= 1)
3493 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3495 -----------------------------------
3496 Index Only Scan using t1_i1 on t1
3497 Index Cond: (c1 = 1)
3500 /*+NoIndexOnlyScan(t1)*/
3501 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3510 ------------------------------
3511 Index Scan using t1_i1 on t1
3512 Index Cond: (c1 = 1)
3516 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3518 ---------------------
3523 /*+NoIndexOnlyScan(t1)*/
3524 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3533 ---------------------
3539 ---- No. S-3-3 index name specified
3541 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3543 -----------------------------------
3545 TID Cond: (ctid = '(1,1)'::tid)
3549 SET enable_tidscan TO off;
3550 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3552 ---------------------------------
3553 Index Scan using ti1_i2 on ti1
3554 Index Cond: (c2 = 1)
3555 Filter: (ctid = '(1,1)'::tid)
3558 SET enable_indexscan TO off;
3559 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3561 -----------------------------------
3562 Bitmap Heap Scan on ti1
3563 Recheck Cond: (c2 = 1)
3564 Filter: (ctid = '(1,1)'::tid)
3565 -> Bitmap Index Scan on ti1_i2
3566 Index Cond: (c2 = 1)
3569 RESET enable_tidscan;
3570 RESET enable_indexscan;
3571 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3573 ---------------------
3579 /*+IndexScan(ti1 ti1_i3)*/
3580 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3581 LOG: available indexes for IndexScan(ti1): ti1_i3
3584 IndexScan(ti1 ti1_i3)
3590 ---------------------------------
3591 Index Scan using ti1_i3 on ti1
3592 Index Cond: (c2 = 1)
3593 Filter: (ctid = '(1,1)'::tid)
3597 /*+IndexScan(ti1 ti1_i3 ti1_i2)*/
3598 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3599 LOG: available indexes for IndexScan(ti1): ti1_i3 ti1_i2
3602 IndexScan(ti1 ti1_i3 ti1_i2)
3608 ---------------------------------
3609 Index Scan using ti1_i2 on ti1
3610 Index Cond: (c2 = 1)
3611 Filter: (ctid = '(1,1)'::tid)
3615 /*+IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3616 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3617 LOG: available indexes for IndexScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3620 IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3626 ---------------------------------
3627 Index Scan using ti1_i2 on ti1
3628 Index Cond: (c2 = 1)
3629 Filter: (ctid = '(1,1)'::tid)
3633 /*+BitmapScan(ti1 ti1_i3)*/
3634 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3635 LOG: available indexes for BitmapScan(ti1): ti1_i3
3638 BitmapScan(ti1 ti1_i3)
3644 -----------------------------------
3645 Bitmap Heap Scan on ti1
3646 Recheck Cond: (c2 = 1)
3647 Filter: (ctid = '(1,1)'::tid)
3648 -> Bitmap Index Scan on ti1_i3
3649 Index Cond: (c2 = 1)
3653 /*+BitmapScan(ti1 ti1_i3 ti1_i2)*/
3654 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3655 LOG: available indexes for BitmapScan(ti1): ti1_i3 ti1_i2
3658 BitmapScan(ti1 ti1_i3 ti1_i2)
3664 -----------------------------------
3665 Bitmap Heap Scan on ti1
3666 Recheck Cond: (c2 = 1)
3667 Filter: (ctid = '(1,1)'::tid)
3668 -> Bitmap Index Scan on ti1_i2
3669 Index Cond: (c2 = 1)
3673 /*+BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3674 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3675 LOG: available indexes for BitmapScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3678 BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3684 -----------------------------------
3685 Bitmap Heap Scan on ti1
3686 Recheck Cond: (c2 = 1)
3687 Filter: (ctid = '(1,1)'::tid)
3688 -> Bitmap Index Scan on ti1_i2
3689 Index Cond: (c2 = 1)
3693 /*+IndexOnlyScan(ti1 ti1_i3)*/
3694 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3695 LOG: available indexes for IndexOnlyScan(ti1): ti1_i3
3698 IndexOnlyScan(ti1 ti1_i3)
3704 -------------------------------------
3705 Index Only Scan using ti1_i3 on ti1
3706 Index Cond: (c2 >= 1)
3710 /*+IndexOnlyScan(ti1 ti1_i3 ti1_i2)*/
3711 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3712 LOG: available indexes for IndexOnlyScan(ti1): ti1_i3 ti1_i2
3715 IndexOnlyScan(ti1 ti1_i3 ti1_i2)
3721 -------------------------------------
3722 Index Only Scan using ti1_i2 on ti1
3723 Index Cond: (c2 >= 1)
3727 /*+IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3728 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3729 LOG: available indexes for IndexOnlyScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3732 IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3738 -------------------------------------
3739 Index Only Scan using ti1_i1 on ti1
3740 Index Cond: (c2 >= 1)
3744 ---- No. S-3-4 index type
3748 Column | Type | Modifiers
3749 --------+---------+-----------
3750 c1 | integer | not null
3755 "ti1_pkey" PRIMARY KEY, btree (c1)
3756 "ti1_c2_key" UNIQUE CONSTRAINT, btree (c2)
3757 "ti1_uniq" UNIQUE, btree (c1)
3758 "ti1_btree" btree (c1)
3759 "ti1_expr" btree ((c1 < 100))
3761 "ti1_gist" gist (c1)
3762 "ti1_hash" hash (c1)
3764 "ti1_i2" btree (c2, c4)
3765 "ti1_i3" btree (c2, c4, c4)
3766 "ti1_i4" btree (c2, c4, c4, c4)
3767 "ti1_multi" btree (c1, c2, c3, c4)
3768 "ti1_pred" btree (lower(c4))
3769 "ti1_ts" gin (to_tsvector('english'::regconfig, c4))
3771 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3773 -----------------------------------------------------------------------------------------------------------------------------------------
3775 TID Cond: (ctid = '(1,1)'::tid)
3776 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3780 /*+IndexScan(ti1 ti1_btree)*/
3781 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3782 LOG: available indexes for IndexScan(ti1): ti1_btree
3785 IndexScan(ti1 ti1_btree)
3791 ----------------------------------------------------------------------------------------------------------------------------------------------------
3792 Index Scan using ti1_btree on ti1
3793 Index Cond: (c1 < 100)
3794 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3798 /*+IndexScan(ti1 ti1_hash)*/
3799 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3800 LOG: available indexes for IndexScan(ti1): ti1_hash
3803 IndexScan(ti1 ti1_hash)
3809 ----------------------------------------------------------------------------------------------------------------------------------------------------
3810 Index Scan using ti1_hash on ti1
3811 Index Cond: (c1 = 100)
3812 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3816 /*+IndexScan(ti1 ti1_gist)*/
3817 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3818 LOG: available indexes for IndexScan(ti1): ti1_gist
3821 IndexScan(ti1 ti1_gist)
3827 ----------------------------------------------------------------------------------------------------------------------------------------------------
3828 Index Scan using ti1_gist on ti1
3829 Index Cond: (c1 < 100)
3830 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3834 /*+IndexScan(ti1 ti1_gin)*/
3835 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3836 LOG: available indexes for IndexScan(ti1): ti1_gin
3839 IndexScan(ti1 ti1_gin)
3845 -----------------------------------------------------------------------------------------------------------------------------------------
3847 TID Cond: (ctid = '(1,1)'::tid)
3848 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3852 /*+IndexScan(ti1 ti1_expr)*/
3853 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3854 LOG: available indexes for IndexScan(ti1): ti1_expr
3857 IndexScan(ti1 ti1_expr)
3863 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
3864 Index Scan using ti1_expr on ti1
3865 Index Cond: ((c1 < 100) = true)
3866 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3870 /*+IndexScan(ti1 ti1_pred)*/
3871 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3872 LOG: available indexes for IndexScan(ti1): ti1_pred
3875 IndexScan(ti1 ti1_pred)
3881 ---------------------------------------------------------------------------------------------------------------------------------------
3882 Index Scan using ti1_pred on ti1
3883 Index Cond: (lower(c4) = '1'::text)
3884 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3888 /*+IndexScan(ti1 ti1_uniq)*/
3889 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3890 LOG: available indexes for IndexScan(ti1): ti1_uniq
3893 IndexScan(ti1 ti1_uniq)
3899 ----------------------------------------------------------------------------------------------------------------------------------------------------
3900 Index Scan using ti1_uniq on ti1
3901 Index Cond: (c1 < 100)
3902 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3906 /*+IndexScan(ti1 ti1_multi)*/
3907 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3908 LOG: available indexes for IndexScan(ti1): ti1_multi
3911 IndexScan(ti1 ti1_multi)
3917 ---------------------------------------------------------------------------------------------------------------------------------------
3918 Index Scan using ti1_multi on ti1
3919 Index Cond: ((c1 < 100) AND (c2 = 1))
3920 Filter: ((ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3924 /*+IndexScan(ti1 ti1_ts)*/
3925 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3926 LOG: available indexes for IndexScan(ti1): ti1_ts
3929 IndexScan(ti1 ti1_ts)
3935 -----------------------------------------------------------------------------------------------------------------------------------------
3937 TID Cond: (ctid = '(1,1)'::tid)
3938 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3942 /*+IndexScan(ti1 ti1_pkey)*/
3943 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3944 LOG: available indexes for IndexScan(ti1): ti1_pkey
3947 IndexScan(ti1 ti1_pkey)
3953 ----------------------------------------------------------------------------------------------------------------------------------------------------
3954 Index Scan using ti1_pkey on ti1
3955 Index Cond: (c1 < 100)
3956 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3960 /*+IndexScan(ti1 ti1_c2_key)*/
3961 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3962 LOG: available indexes for IndexScan(ti1): ti1_c2_key
3965 IndexScan(ti1 ti1_c2_key)
3971 ------------------------------------------------------------------------------------------------------------------------------------------------------
3972 Index Scan using ti1_c2_key on ti1
3973 Index Cond: (c2 = 1)
3974 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3978 /*+BitmapScan(ti1 ti1_btree)*/
3979 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3980 LOG: available indexes for BitmapScan(ti1): ti1_btree
3983 BitmapScan(ti1 ti1_btree)
3989 ----------------------------------------------------------------------------------------------------------------------------------------------------
3990 Bitmap Heap Scan on ti1
3991 Recheck Cond: (c1 < 100)
3992 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3993 -> Bitmap Index Scan on ti1_btree
3994 Index Cond: (c1 < 100)
3998 /*+BitmapScan(ti1 ti1_hash)*/
3999 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
4000 LOG: available indexes for BitmapScan(ti1): ti1_hash
4003 BitmapScan(ti1 ti1_hash)
4009 ----------------------------------------------------------------------------------------------------------------------------------------------------
4010 Bitmap Heap Scan on ti1
4011 Recheck Cond: (c1 = 100)
4012 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4013 -> Bitmap Index Scan on ti1_hash
4014 Index Cond: (c1 = 100)
4018 /*+BitmapScan(ti1 ti1_gist)*/
4019 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
4020 LOG: available indexes for BitmapScan(ti1): ti1_gist
4023 BitmapScan(ti1 ti1_gist)
4029 ----------------------------------------------------------------------------------------------------------------------------------------------------
4030 Bitmap Heap Scan on ti1
4031 Recheck Cond: (c1 < 100)
4032 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4033 -> Bitmap Index Scan on ti1_gist
4034 Index Cond: (c1 < 100)
4038 /*+BitmapScan(ti1 ti1_gin)*/
4039 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
4040 LOG: available indexes for BitmapScan(ti1): ti1_gin
4043 BitmapScan(ti1 ti1_gin)
4049 ----------------------------------------------------------------------------------------------------------------------------------------------------
4050 Bitmap Heap Scan on ti1
4051 Recheck Cond: (c1 < 100)
4052 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4053 -> Bitmap Index Scan on ti1_gin
4054 Index Cond: (c1 < 100)
4058 /*+BitmapScan(ti1 ti1_expr)*/
4059 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
4060 LOG: available indexes for BitmapScan(ti1): ti1_expr
4063 BitmapScan(ti1 ti1_expr)
4069 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
4070 Bitmap Heap Scan on ti1
4071 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4072 -> Bitmap Index Scan on ti1_expr
4073 Index Cond: ((c1 < 100) = true)
4077 /*+BitmapScan(ti1 ti1_pred)*/
4078 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
4079 LOG: available indexes for BitmapScan(ti1): ti1_pred
4082 BitmapScan(ti1 ti1_pred)
4088 ---------------------------------------------------------------------------------------------------------------------------------------
4089 Bitmap Heap Scan on ti1
4090 Recheck Cond: (lower(c4) = '1'::text)
4091 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4092 -> Bitmap Index Scan on ti1_pred
4093 Index Cond: (lower(c4) = '1'::text)
4097 /*+BitmapScan(ti1 ti1_uniq)*/
4098 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
4099 LOG: available indexes for BitmapScan(ti1): ti1_uniq
4102 BitmapScan(ti1 ti1_uniq)
4108 ----------------------------------------------------------------------------------------------------------------------------------------------------
4109 Bitmap Heap Scan on ti1
4110 Recheck Cond: (c1 < 100)
4111 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4112 -> Bitmap Index Scan on ti1_uniq
4113 Index Cond: (c1 < 100)
4117 /*+BitmapScan(ti1 ti1_multi)*/
4118 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
4119 LOG: available indexes for BitmapScan(ti1): ti1_multi
4122 BitmapScan(ti1 ti1_multi)
4128 ---------------------------------------------------------------------------------------------------------------------------------------
4129 Bitmap Heap Scan on ti1
4130 Recheck Cond: ((c1 < 100) AND (c2 = 1))
4131 Filter: ((ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4132 -> Bitmap Index Scan on ti1_multi
4133 Index Cond: ((c1 < 100) AND (c2 = 1))
4137 /*+BitmapScan(ti1 ti1_ts)*/
4138 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
4139 LOG: available indexes for BitmapScan(ti1): ti1_ts
4142 BitmapScan(ti1 ti1_ts)
4148 -------------------------------------------------------------------------------------------
4149 Bitmap Heap Scan on ti1
4150 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4151 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text))
4152 -> Bitmap Index Scan on ti1_ts
4153 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4157 /*+BitmapScan(ti1 ti1_pkey)*/
4158 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
4159 LOG: available indexes for BitmapScan(ti1): ti1_pkey
4162 BitmapScan(ti1 ti1_pkey)
4168 ----------------------------------------------------------------------------------------------------------------------------------------------------
4169 Bitmap Heap Scan on ti1
4170 Recheck Cond: (c1 < 100)
4171 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4172 -> Bitmap Index Scan on ti1_pkey
4173 Index Cond: (c1 < 100)
4177 /*+BitmapScan(ti1 ti1_c2_key)*/
4178 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
4179 LOG: available indexes for BitmapScan(ti1): ti1_c2_key
4182 BitmapScan(ti1 ti1_c2_key)
4188 ------------------------------------------------------------------------------------------------------------------------------------------------------
4189 Bitmap Heap Scan on ti1
4190 Recheck Cond: (c2 = 1)
4191 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4192 -> Bitmap Index Scan on ti1_c2_key
4193 Index Cond: (c2 = 1)
4197 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4199 ---------------------
4204 /*+IndexOnlyScan(ti1 ti1_btree)*/
4205 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4206 LOG: available indexes for IndexOnlyScan(ti1): ti1_btree
4209 IndexOnlyScan(ti1 ti1_btree)
4215 ----------------------------------------
4216 Index Only Scan using ti1_btree on ti1
4217 Index Cond: (c1 >= 1)
4221 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4223 ---------------------------------------
4224 Index Only Scan using ti1_uniq on ti1
4225 Index Cond: (c1 = 1)
4228 /*+IndexOnlyScan(ti1 ti1_hash)*/
4229 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4230 LOG: available indexes for IndexOnlyScan(ti1): ti1_hash
4233 IndexOnlyScan(ti1 ti1_hash)
4239 ----------------------------------
4240 Index Scan using ti1_hash on ti1
4241 Index Cond: (c1 = 1)
4245 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4247 ---------------------------------------
4248 Index Only Scan using ti1_uniq on ti1
4249 Index Cond: (c1 < 1)
4252 /*+IndexOnlyScan(ti1 ti1_gist)*/
4253 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4254 LOG: available indexes for IndexOnlyScan(ti1): ti1_gist
4257 IndexOnlyScan(ti1 ti1_gist)
4263 ----------------------------------
4264 Index Scan using ti1_gist on ti1
4265 Index Cond: (c1 < 1)
4269 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4271 ---------------------------------------
4272 Index Only Scan using ti1_uniq on ti1
4273 Index Cond: (c1 = 1)
4276 /*+IndexOnlyScan(ti1 ti1_gin)*/
4277 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4278 LOG: available indexes for IndexOnlyScan(ti1): ti1_gin
4281 IndexOnlyScan(ti1 ti1_gin)
4287 --------------------
4293 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4295 ---------------------------------------
4296 Index Only Scan using ti1_uniq on ti1
4297 Index Cond: (c1 < 100)
4300 /*+IndexOnlyScan(ti1 ti1_expr)*/
4301 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4302 LOG: available indexes for IndexOnlyScan(ti1): ti1_expr
4305 IndexOnlyScan(ti1 ti1_expr)
4311 -----------------------------------
4312 Index Scan using ti1_expr on ti1
4313 Index Cond: ((c1 < 100) = true)
4318 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4320 ------------------------------------
4322 Filter: (lower(c4) >= '1'::text)
4325 /*+IndexOnlyScan(ti1 ti1_pred)*/
4326 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4327 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
4330 IndexOnlyScan(ti1 ti1_pred)
4336 ----------------------------------------
4337 Index Scan using ti1_pred on ti1
4338 Index Cond: (lower(c4) >= '1'::text)
4342 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4344 ---------------------
4349 /*+IndexOnlyScan(ti1 ti1_uniq)*/
4350 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4351 LOG: available indexes for IndexOnlyScan(ti1): ti1_uniq
4354 IndexOnlyScan(ti1 ti1_uniq)
4360 ---------------------------------------
4361 Index Only Scan using ti1_uniq on ti1
4362 Index Cond: (c1 >= 1)
4366 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4368 ---------------------
4373 /*+IndexOnlyScan(ti1 ti1_multi)*/
4374 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4375 LOG: available indexes for IndexOnlyScan(ti1): ti1_multi
4378 IndexOnlyScan(ti1 ti1_multi)
4384 ----------------------------------------
4385 Index Only Scan using ti1_multi on ti1
4386 Index Cond: (c1 >= 1)
4390 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4392 -----------------------------------------------------------------------------------------
4393 Bitmap Heap Scan on ti1
4394 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4395 -> Bitmap Index Scan on ti1_ts
4396 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4399 /*+IndexOnlyScan(ti1 ti1_ts)*/
4400 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4401 LOG: available indexes for IndexOnlyScan(ti1): ti1_ts
4404 IndexOnlyScan(ti1 ti1_ts)
4410 -------------------------------------------------------------------------------
4412 Filter: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4416 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4418 ---------------------
4423 /*+IndexOnlyScan(ti1 ti1_pkey)*/
4424 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4425 LOG: available indexes for IndexOnlyScan(ti1): ti1_pkey
4428 IndexOnlyScan(ti1 ti1_pkey)
4434 ---------------------------------------
4435 Index Only Scan using ti1_pkey on ti1
4436 Index Cond: (c1 >= 1)
4440 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4442 ---------------------
4447 /*+IndexOnlyScan(ti1 ti1_c2_key)*/
4448 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4449 LOG: available indexes for IndexOnlyScan(ti1): ti1_c2_key
4452 IndexOnlyScan(ti1 ti1_c2_key)
4458 -----------------------------------------
4459 Index Only Scan using ti1_c2_key on ti1
4460 Index Cond: (c2 >= 1)
4464 ---- No. S-3-5 not used index
4467 /*+IndexScan(ti1 ti1_pred)*/
4468 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4469 LOG: available indexes for IndexScan(ti1): ti1_pred
4472 IndexScan(ti1 ti1_pred)
4478 ------------------------------------------------------------------------
4479 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4484 /*+BitmapScan(ti1 ti1_pred)*/
4485 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4486 LOG: available indexes for BitmapScan(ti1): ti1_pred
4489 BitmapScan(ti1 ti1_pred)
4495 ------------------------------------------------------------------------
4496 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4501 /*+IndexOnlyScan(ti1 ti1_pred)*/
4502 EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
4503 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
4506 IndexOnlyScan(ti1 ti1_pred)
4512 -----------------------------------------------------------------------
4513 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=4)
4518 /*+IndexScan(ti1 not_exist)*/
4519 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4520 LOG: available indexes for IndexScan(ti1):
4523 IndexScan(ti1 not_exist)
4529 ------------------------------------------------------------------------
4530 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4535 /*+BitmapScan(ti1 not_exist)*/
4536 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4537 LOG: available indexes for BitmapScan(ti1):
4540 BitmapScan(ti1 not_exist)
4546 ------------------------------------------------------------------------
4547 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4552 /*+IndexOnlyScan(ti1 not_exist)*/
4553 EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
4554 LOG: available indexes for IndexOnlyScan(ti1):
4557 IndexOnlyScan(ti1 not_exist)
4563 -----------------------------------------------------------------------
4564 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=4)
4569 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
4571 ------------------------------
4572 Index Scan using t1_i1 on t1
4573 Index Cond: (c1 = 1)
4577 EXPLAIN (COSTS true) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
4586 -----------------------------------------------------------------------
4587 Seq Scan on t1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4592 ---- No. S-3-6 query structure
4594 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4596 -----------------------------------------------
4598 Hash Cond: (t2.c1 = t1.c1)
4602 TID Cond: (ctid = '(1,1)'::tid)
4607 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE c1 = 100;
4616 ----------------------
4622 /*+SeqScan(t1)BitmapScan(t2)*/
4623 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4633 ----------------------------------------
4636 Filter: (ctid = '(1,1)'::tid)
4637 -> Bitmap Heap Scan on t2
4638 Recheck Cond: (c1 = t1.c1)
4639 -> Bitmap Index Scan on t2_i1
4640 Index Cond: (c1 = t1.c1)
4645 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4654 ---------------------------------------------
4656 Hash Cond: (t2.c1 = t1.c1)
4660 Filter: (ctid = '(1,1)'::tid)
4664 ---- No. S-3-7 query structure
4667 EXPLAIN (COSTS false)
4669 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4670 SELECT max(b3t1.c1), (
4671 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4672 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4673 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4675 ---------------------------------------------------------------------
4677 InitPlan 2 (returns $1)
4679 InitPlan 1 (returns $0)
4681 -> Index Only Scan using t1_i1 on t1 b2t1
4682 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4683 InitPlan 4 (returns $3)
4685 InitPlan 3 (returns $2)
4687 -> Index Only Scan using t1_i1 on t1 b4t1
4688 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4689 InitPlan 5 (returns $4)
4691 -> Index Only Scan using t1_i1 on t1 b3t1
4692 Index Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4695 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4697 EXPLAIN (COSTS false)
4699 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4700 SELECT max(b3t1.c1), (
4701 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4702 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4703 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4704 LOG: available indexes for IndexScan(b2t1): t1_pkey
4705 LOG: available indexes for IndexScan(b2t1): t1_pkey
4706 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4707 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4710 IndexScan(b2t1 t1_pkey)
4711 BitmapScan(b3t1 t1_pkey)
4719 ---------------------------------------------------------------------
4721 InitPlan 2 (returns $1)
4723 InitPlan 1 (returns $0)
4725 -> Index Scan using t1_pkey on t1 b2t1
4726 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4727 InitPlan 4 (returns $3)
4729 InitPlan 3 (returns $2)
4731 -> Seq Scan on t1 b4t1
4732 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4733 InitPlan 5 (returns $4)
4735 -> Bitmap Heap Scan on t1 b3t1
4736 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4737 -> Bitmap Index Scan on t1_pkey
4738 Index Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4742 EXPLAIN (COSTS false)
4744 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4745 SELECT max(b3t1.c1), (
4746 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4747 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4748 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4750 ------------------------------------------------------------
4755 -> Index Only Scan using t1_i1 on t1 b1t1
4756 Index Cond: (c1 = 1)
4757 -> Seq Scan on t2 b1t2
4759 InitPlan 2 (returns $1)
4762 -> Index Only Scan using t1_i1 on t1 b2t1
4763 Index Cond: (c1 = 1)
4764 -> Seq Scan on t2 b2t2
4766 InitPlan 3 (returns $2)
4769 -> Index Only Scan using t1_i1 on t1 b4t1
4770 Index Cond: (c1 = 1)
4771 -> Seq Scan on t2 b4t2
4775 -> Index Only Scan using t1_i1 on t1 b3t1
4776 Index Cond: (c1 = $2)
4777 -> Seq Scan on t2 b3t2
4783 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4784 TidScan(b1t2)SeqScan(b2t2)IndexScan(b3t2 t2_pkey)BitmapScan(b4t2 t2_pkey)
4786 EXPLAIN (COSTS false)
4788 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4789 SELECT max(b3t1.c1), (
4790 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4791 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4792 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4793 LOG: available indexes for IndexScan(b2t1): t1_pkey
4794 LOG: available indexes for BitmapScan(b4t2): t2_pkey
4795 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4796 LOG: available indexes for IndexScan(b3t2): t2_pkey
4801 IndexScan(b2t1 t1_pkey)
4803 BitmapScan(b3t1 t1_pkey)
4804 IndexScan(b3t2 t2_pkey)
4806 BitmapScan(b4t2 t2_pkey)
4812 ---------------------------------------------------------
4817 -> Seq Scan on t1 b1t1
4819 -> Seq Scan on t2 b1t2
4821 InitPlan 2 (returns $1)
4824 -> Index Scan using t1_pkey on t1 b2t1
4825 Index Cond: (c1 = 1)
4826 -> Seq Scan on t2 b2t2
4828 InitPlan 3 (returns $2)
4831 -> Seq Scan on t1 b4t1
4833 -> Bitmap Heap Scan on t2 b4t2
4834 Recheck Cond: (c1 = 1)
4835 -> Bitmap Index Scan on t2_pkey
4836 Index Cond: (c1 = 1)
4839 -> Bitmap Heap Scan on t1 b3t1
4840 Recheck Cond: (c1 = $2)
4841 -> Bitmap Index Scan on t1_pkey
4842 Index Cond: (c1 = $2)
4843 -> Index Scan using t2_pkey on t2 b3t2
4844 Index Cond: (c1 = $2)
4850 EXPLAIN (COSTS false)
4852 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4853 SELECT max(b3t1.c1), (
4854 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4855 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4856 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4858 ---------------------------------------------------------------------
4863 -> Index Only Scan using t1_i1 on t1 b1t1
4864 Index Cond: (c1 = 1)
4865 -> Seq Scan on t2 b1t2
4867 InitPlan 3 (returns $2)
4869 InitPlan 2 (returns $1)
4871 -> Index Only Scan using t1_i1 on t1 b2t1
4872 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4873 InitPlan 5 (returns $4)
4875 InitPlan 4 (returns $3)
4877 -> Index Only Scan using t1_i1 on t1 b4t1
4878 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4881 -> Index Only Scan using t1_i1 on t1 b3t1
4882 Index Cond: (c1 = $4)
4883 -> Seq Scan on t2 b3t2
4889 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4890 TidScan(b1t2)IndexScan(b3t2 t2_pkey)
4892 EXPLAIN (COSTS false)
4894 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4895 SELECT max(b3t1.c1), (
4896 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4897 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4898 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4899 LOG: available indexes for IndexScan(b2t1): t1_pkey
4900 LOG: available indexes for IndexScan(b2t1): t1_pkey
4901 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4902 LOG: available indexes for IndexScan(b3t2): t2_pkey
4907 IndexScan(b2t1 t1_pkey)
4908 BitmapScan(b3t1 t1_pkey)
4909 IndexScan(b3t2 t2_pkey)
4916 ---------------------------------------------------------------------
4921 -> Seq Scan on t1 b1t1
4923 -> Seq Scan on t2 b1t2
4925 InitPlan 3 (returns $2)
4927 InitPlan 2 (returns $1)
4929 -> Index Scan using t1_pkey on t1 b2t1
4930 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4931 InitPlan 5 (returns $4)
4933 InitPlan 4 (returns $3)
4935 -> Seq Scan on t1 b4t1
4936 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4939 -> Bitmap Heap Scan on t1 b3t1
4940 Recheck Cond: (c1 = $4)
4941 -> Bitmap Index Scan on t1_pkey
4942 Index Cond: (c1 = $4)
4943 -> Index Scan using t2_pkey on t2 b3t2
4944 Index Cond: (c1 = $4)
4950 ---- No. S-3-8 inheritance table select type
4953 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4955 --------------------
4961 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4970 -----------------------------
4971 Index Scan using p1_i on p1
4972 Index Cond: (c1 = 1)
4976 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4978 ---------------------------------
4983 -> Seq Scan on p1c1 p1
4988 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4997 ------------------------------------------------
5000 -> Index Scan using p1_i on p1
5001 Index Cond: (c1 = 1)
5002 -> Index Scan using p1c1_i on p1c1 p1
5003 Index Cond: (c1 = 1)
5007 ---- No. S-3-9 inheritance table number
5010 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5012 ---------------------------------
5017 -> Seq Scan on p1c1 p1
5022 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5031 ------------------------------------------------
5034 -> Index Scan using p1_i on p1
5035 Index Cond: (c1 = 1)
5036 -> Index Scan using p1c1_i on p1c1 p1
5037 Index Cond: (c1 = 1)
5041 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5043 -----------------------------------
5048 -> Seq Scan on p2c1 p2
5050 -> Seq Scan on p2c1c1 p2
5055 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5064 ----------------------------------------------------
5067 -> Index Scan using p2_i on p2
5068 Index Cond: (c1 = 1)
5069 -> Index Scan using p2c1_i on p2c1 p2
5070 Index Cond: (c1 = 1)
5071 -> Index Scan using p2c1c1_i on p2c1c1 p2
5072 Index Cond: (c1 = 1)
5076 ---- No. S-3-10 inheritance table specified table
5078 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5080 -----------------------------------
5085 -> Seq Scan on p2c1 p2
5087 -> Seq Scan on p2c1c1 p2
5093 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5102 ----------------------------------------------------
5105 -> Index Scan using p2_i on p2
5106 Index Cond: (c1 = 1)
5107 -> Index Scan using p2c1_i on p2c1 p2
5108 Index Cond: (c1 = 1)
5109 -> Index Scan using p2c1c1_i on p2c1c1 p2
5110 Index Cond: (c1 = 1)
5114 /*+IndexScan(p2c1)*/
5115 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5124 -----------------------------------
5129 -> Seq Scan on p2c1 p2
5131 -> Seq Scan on p2c1c1 p2
5136 EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5138 -------------------------------------------------------------------
5139 Result (cost=0.00..2.75 rows=4 width=10)
5140 -> Append (cost=0.00..2.75 rows=4 width=10)
5141 -> Seq Scan on p1 (cost=0.00..0.00 rows=1 width=32)
5142 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5143 -> Seq Scan on p1c1 p1 (cost=0.00..2.75 rows=3 width=2)
5144 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5147 /*+IndexScan(p1 p1_parent)*/
5148 EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5149 LOG: available indexes for IndexScan(p1): p1_parent
5150 LOG: available indexes for IndexScan(p1c1): p1c1_c4_expr_idx
5151 LOG: available indexes for IndexScan(p1c2): p1c2_c4_expr_idx
5152 LOG: available indexes for IndexScan(p1c3): p1c3_c4_expr_idx
5155 IndexScan(p1 p1_parent)
5161 ---------------------------------------------------------------------------------------------
5162 Result (cost=0.00..20.73 rows=4 width=10)
5163 -> Append (cost=0.00..20.73 rows=4 width=10)
5164 -> Index Scan using p1_parent on p1 (cost=0.00..8.27 rows=1 width=32)
5165 Filter: ((c2 * 2) < 100)
5166 -> Index Scan using p1c1_c4_expr_idx on p1c1 p1 (cost=0.00..12.45 rows=3 width=2)
5167 Filter: ((c2 * 2) < 100)
5171 /*+IndexScan(p1 p1_i2)*/
5172 EXPLAIN SELECT c2 FROM s1.p1 WHERE c2 = 1;
5173 LOG: available indexes for IndexScan(p1): p1_i2
5174 LOG: available indexes for IndexScan(p1c1):
5175 LOG: available indexes for IndexScan(p1c2):
5176 LOG: available indexes for IndexScan(p1c3):
5185 ---------------------------------------------------------------------------------------
5186 Result (cost=0.00..30000000015.02 rows=4 width=4)
5187 -> Append (cost=0.00..30000000015.02 rows=4 width=4)
5188 -> Index Scan using p1_i2 on p1 (cost=0.00..8.27 rows=1 width=4)
5189 Index Cond: (c2 = 1)
5190 -> Seq Scan on p1c1 p1 (cost=10000000000.00..10000000002.25 rows=1 width=4)
5192 -> Seq Scan on p1c2 p1 (cost=10000000000.00..10000000002.25 rows=1 width=4)
5194 -> Seq Scan on p1c3 p1 (cost=10000000000.00..10000000002.25 rows=1 width=4)
5199 /*+IndexScan(p2 p2c1_pkey)*/
5200 EXPLAIN (COSTS true) SELECT * FROM s1.p2 WHERE c1 = 1;
5201 LOG: available indexes for IndexScan(p2):
5202 LOG: available indexes for IndexScan(p2c1): p2c1_pkey
5203 LOG: available indexes for IndexScan(p2c2):
5204 LOG: available indexes for IndexScan(p2c3):
5205 LOG: available indexes for IndexScan(p2c1c1):
5206 LOG: available indexes for IndexScan(p2c1c2):
5207 LOG: available indexes for IndexScan(p2c2c1):
5208 LOG: available indexes for IndexScan(p2c2c2):
5209 LOG: available indexes for IndexScan(p2c3c1):
5210 LOG: available indexes for IndexScan(p2c3c2):
5213 IndexScan(p2 p2c1_pkey)
5219 ------------------------------------------------------------------------------------------
5220 Result (cost=10000000000.00..20000000009.89 rows=3 width=34)
5221 -> Append (cost=10000000000.00..20000000009.89 rows=3 width=34)
5222 -> Seq Scan on p2 (cost=10000000000.00..10000000000.00 rows=1 width=44)
5224 -> Index Scan using p2c1_pkey on p2c1 p2 (cost=0.00..8.27 rows=1 width=44)
5225 Index Cond: (c1 = 1)
5226 -> Seq Scan on p2c1c1 p2 (cost=10000000000.00..10000000001.62 rows=1 width=14)
5231 ---- No. S-3-11 specified same table
5234 /*+IndexScan(ti1) BitmapScan(ti1)*/
5235 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5236 INFO: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5237 DETAIL: Conflict scan method hint.
5247 -------------------------------------
5248 Bitmap Heap Scan on ti1
5249 Recheck Cond: (c1 = 1)
5250 Filter: (ctid = '(1,1)'::tid)
5251 -> Bitmap Index Scan on ti1_uniq
5252 Index Cond: (c1 = 1)
5256 /*+IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5257 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5258 INFO: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5259 DETAIL: Conflict scan method hint.
5260 LOG: available indexes for BitmapScan(ti1): ti1_btree
5263 BitmapScan(ti1 ti1_btree)
5266 IndexScan(ti1 ti1_pkey)
5270 --------------------------------------
5271 Bitmap Heap Scan on ti1
5272 Recheck Cond: (c1 = 1)
5273 Filter: (ctid = '(1,1)'::tid)
5274 -> Bitmap Index Scan on ti1_btree
5275 Index Cond: (c1 = 1)
5279 /*+BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)*/
5280 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5281 INFO: hint syntax error at or near "BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)"
5282 DETAIL: Conflict scan method hint.
5283 INFO: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5284 DETAIL: Conflict scan method hint.
5295 -------------------------------------
5296 Bitmap Heap Scan on ti1
5297 Recheck Cond: (c1 = 1)
5298 Filter: (ctid = '(1,1)'::tid)
5299 -> Bitmap Index Scan on ti1_uniq
5300 Index Cond: (c1 = 1)
5304 /*+BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5305 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5306 INFO: hint syntax error at or near "BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5307 DETAIL: Conflict scan method hint.
5308 INFO: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5309 DETAIL: Conflict scan method hint.
5310 LOG: available indexes for BitmapScan(ti1): ti1_btree
5313 BitmapScan(ti1 ti1_btree)
5316 BitmapScan(ti1 ti1_hash)
5317 IndexScan(ti1 ti1_pkey)
5321 --------------------------------------
5322 Bitmap Heap Scan on ti1
5323 Recheck Cond: (c1 = 1)
5324 Filter: (ctid = '(1,1)'::tid)
5325 -> Bitmap Index Scan on ti1_btree
5326 Index Cond: (c1 = 1)
5330 ---- No. S-3-12 message output
5334 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5343 ------------------------------------------------
5345 Filter: ((c1 = 1) AND (ctid = '(1,1)'::tid))
5349 /*+SeqScan(ti1 ti1_pkey)*/
5350 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5351 INFO: hint syntax error at or near ""
5352 DETAIL: SeqScan hint accepts only one relation.
5358 SeqScan(ti1 ti1_pkey)
5361 -----------------------------------
5363 TID Cond: (ctid = '(1,1)'::tid)
5368 /*+SeqScan(ti1 ti1_pkey ti1_btree)*/
5369 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5370 INFO: hint syntax error at or near ""
5371 DETAIL: SeqScan hint accepts only one relation.
5377 SeqScan(ti1 ti1_pkey ti1_btree)
5380 -----------------------------------
5382 TID Cond: (ctid = '(1,1)'::tid)
5388 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5397 ----------------------------------
5398 Index Scan using ti1_uniq on ti1
5399 Index Cond: (c1 = 1)
5400 Filter: (ctid = '(1,1)'::tid)
5404 /*+IndexScan(ti1 ti1_pkey)*/
5405 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5406 LOG: available indexes for IndexScan(ti1): ti1_pkey
5409 IndexScan(ti1 ti1_pkey)
5415 ----------------------------------
5416 Index Scan using ti1_pkey on ti1
5417 Index Cond: (c1 = 1)
5418 Filter: (ctid = '(1,1)'::tid)
5422 /*+IndexScan(ti1 ti1_pkey ti1_btree)*/
5423 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5424 LOG: available indexes for IndexScan(ti1): ti1_btree ti1_pkey
5427 IndexScan(ti1 ti1_pkey ti1_btree)
5433 -----------------------------------
5434 Index Scan using ti1_btree on ti1
5435 Index Cond: (c1 = 1)
5436 Filter: (ctid = '(1,1)'::tid)
5440 /*+BitmapScan(ti1)*/
5441 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5450 -------------------------------------
5451 Bitmap Heap Scan on ti1
5452 Recheck Cond: (c1 = 1)
5453 Filter: (ctid = '(1,1)'::tid)
5454 -> Bitmap Index Scan on ti1_uniq
5455 Index Cond: (c1 = 1)
5459 /*+BitmapScan(ti1 ti1_pkey)*/
5460 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5461 LOG: available indexes for BitmapScan(ti1): ti1_pkey
5464 BitmapScan(ti1 ti1_pkey)
5470 -------------------------------------
5471 Bitmap Heap Scan on ti1
5472 Recheck Cond: (c1 = 1)
5473 Filter: (ctid = '(1,1)'::tid)
5474 -> Bitmap Index Scan on ti1_pkey
5475 Index Cond: (c1 = 1)
5479 /*+BitmapScan(ti1 ti1_pkey ti1_btree)*/
5480 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5481 LOG: available indexes for BitmapScan(ti1): ti1_btree ti1_pkey
5484 BitmapScan(ti1 ti1_pkey ti1_btree)
5490 --------------------------------------
5491 Bitmap Heap Scan on ti1
5492 Recheck Cond: (c1 = 1)
5493 Filter: (ctid = '(1,1)'::tid)
5494 -> Bitmap Index Scan on ti1_btree
5495 Index Cond: (c1 = 1)
5500 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5509 -----------------------------------
5511 TID Cond: (ctid = '(1,1)'::tid)
5516 /*+TidScan(ti1 ti1_pkey)*/
5517 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5518 INFO: hint syntax error at or near ""
5519 DETAIL: TidScan hint accepts only one relation.
5525 TidScan(ti1 ti1_pkey)
5528 -----------------------------------
5530 TID Cond: (ctid = '(1,1)'::tid)
5535 /*+TidScan(ti1 ti1_pkey ti1_btree)*/
5536 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5537 INFO: hint syntax error at or near ""
5538 DETAIL: TidScan hint accepts only one relation.
5544 TidScan(ti1 ti1_pkey ti1_btree)
5547 -----------------------------------
5549 TID Cond: (ctid = '(1,1)'::tid)
5555 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5564 -----------------------------------
5566 TID Cond: (ctid = '(1,1)'::tid)
5571 /*+NoSeqScan(ti1 ti1_pkey)*/
5572 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5573 INFO: hint syntax error at or near ""
5574 DETAIL: NoSeqScan hint accepts only one relation.
5580 NoSeqScan(ti1 ti1_pkey)
5583 -----------------------------------
5585 TID Cond: (ctid = '(1,1)'::tid)
5590 /*+NoSeqScan(ti1 ti1_pkey ti1_btree)*/
5591 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5592 INFO: hint syntax error at or near ""
5593 DETAIL: NoSeqScan hint accepts only one relation.
5599 NoSeqScan(ti1 ti1_pkey ti1_btree)
5602 -----------------------------------
5604 TID Cond: (ctid = '(1,1)'::tid)
5609 /*+NoIndexScan(ti1)*/
5610 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5619 -----------------------------------
5621 TID Cond: (ctid = '(1,1)'::tid)
5626 /*+NoIndexScan(ti1 ti1_pkey)*/
5627 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5628 INFO: hint syntax error at or near ""
5629 DETAIL: NoIndexScan hint accepts only one relation.
5635 NoIndexScan(ti1 ti1_pkey)
5638 -----------------------------------
5640 TID Cond: (ctid = '(1,1)'::tid)
5645 /*+NoIndexScan(ti1 ti1_pkey ti1_btree)*/
5646 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5647 INFO: hint syntax error at or near ""
5648 DETAIL: NoIndexScan hint accepts only one relation.
5654 NoIndexScan(ti1 ti1_pkey ti1_btree)
5657 -----------------------------------
5659 TID Cond: (ctid = '(1,1)'::tid)
5664 /*+NoBitmapScan(ti1)*/
5665 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5674 -----------------------------------
5676 TID Cond: (ctid = '(1,1)'::tid)
5681 /*+NoBitmapScan(ti1 ti1_pkey)*/
5682 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5683 INFO: hint syntax error at or near ""
5684 DETAIL: NoBitmapScan hint accepts only one relation.
5690 NoBitmapScan(ti1 ti1_pkey)
5693 -----------------------------------
5695 TID Cond: (ctid = '(1,1)'::tid)
5700 /*+NoBitmapScan(ti1 ti1_pkey ti1_btree)*/
5701 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5702 INFO: hint syntax error at or near ""
5703 DETAIL: NoBitmapScan hint accepts only one relation.
5709 NoBitmapScan(ti1 ti1_pkey ti1_btree)
5712 -----------------------------------
5714 TID Cond: (ctid = '(1,1)'::tid)
5720 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5729 ----------------------------------
5730 Index Scan using ti1_uniq on ti1
5731 Index Cond: (c1 = 1)
5732 Filter: (ctid = '(1,1)'::tid)
5736 /*+NoTidScan(ti1 ti1_pkey)*/
5737 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5738 INFO: hint syntax error at or near ""
5739 DETAIL: NoTidScan hint accepts only one relation.
5745 NoTidScan(ti1 ti1_pkey)
5748 -----------------------------------
5750 TID Cond: (ctid = '(1,1)'::tid)
5755 /*+NoTidScan(ti1 ti1_pkey ti1_btree)*/
5756 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5757 INFO: hint syntax error at or near ""
5758 DETAIL: NoTidScan hint accepts only one relation.
5764 NoTidScan(ti1 ti1_pkey ti1_btree)
5767 -----------------------------------
5769 TID Cond: (ctid = '(1,1)'::tid)
5774 /*+IndexOnlyScan(ti1)*/
5775 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5784 ---------------------------------------
5785 Index Only Scan using ti1_uniq on ti1
5786 Index Cond: (c1 >= 1)
5790 /*+IndexOnlyScan(ti1 ti1_pkey)*/
5791 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5792 LOG: available indexes for IndexOnlyScan(ti1): ti1_pkey
5795 IndexOnlyScan(ti1 ti1_pkey)
5801 ---------------------------------------
5802 Index Only Scan using ti1_pkey on ti1
5803 Index Cond: (c1 >= 1)
5807 /*+IndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5808 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5809 LOG: available indexes for IndexOnlyScan(ti1): ti1_btree ti1_pkey
5812 IndexOnlyScan(ti1 ti1_pkey ti1_btree)
5818 ----------------------------------------
5819 Index Only Scan using ti1_btree on ti1
5820 Index Cond: (c1 >= 1)
5824 /*+NoIndexOnlyScan(ti1)*/
5825 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5828 NoIndexOnlyScan(ti1)
5834 ----------------------------------
5835 Index Scan using ti1_uniq on ti1
5836 Index Cond: (c1 = 1)
5840 /*+NoIndexOnlyScan(ti1 ti1_pkey)*/
5841 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5842 INFO: hint syntax error at or near ""
5843 DETAIL: NoIndexOnlyScan hint accepts only one relation.
5849 NoIndexOnlyScan(ti1 ti1_pkey)
5852 ---------------------------------------
5853 Index Only Scan using ti1_uniq on ti1
5854 Index Cond: (c1 = 1)
5858 /*+NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5859 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5860 INFO: hint syntax error at or near ""
5861 DETAIL: NoIndexOnlyScan hint accepts only one relation.
5867 NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)
5870 ---------------------------------------
5871 Index Only Scan using ti1_uniq on ti1
5872 Index Cond: (c1 = 1)
5876 ---- No. S-3-13 message output
5878 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5880 --------------------------------
5881 Index Scan using ti1_i2 on ti1
5882 Index Cond: (c2 = 1)
5886 /*+IndexScanRegexp(ti1 ti1_.*_key)*/
5887 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5888 LOG: available indexes for IndexScanRegexp(ti1): ti1_c2_key
5891 IndexScanRegexp(ti1 ti1_.*_key)
5897 ------------------------------------
5898 Index Scan using ti1_c2_key on ti1
5899 Index Cond: (c2 = 1)
5903 /*+IndexScanRegexp(ti1 ti1_i.)*/
5904 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5905 LOG: available indexes for IndexScanRegexp(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
5908 IndexScanRegexp(ti1 ti1_i.)
5914 --------------------------------
5915 Index Scan using ti1_i2 on ti1
5916 Index Cond: (c2 = 1)
5920 /*+IndexScanRegexp(ti1 no.*_exist)*/
5921 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5922 LOG: available indexes for IndexScanRegexp(ti1):
5925 IndexScanRegexp(ti1 no.*_exist)
5931 --------------------
5937 /*+IndexScanRegexp(p1 .*pkey)*/
5938 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5939 LOG: available indexes for IndexScanRegexp(p1): p1_pkey
5940 LOG: available indexes for IndexScanRegexp(p1c1): p1c1_pkey
5941 LOG: available indexes for IndexScanRegexp(p1c2): p1c2_pkey
5942 LOG: available indexes for IndexScanRegexp(p1c3): p1c3_pkey
5945 IndexScanRegexp(p1 .*pkey)
5951 ---------------------------------------------------
5954 -> Index Scan using p1_pkey on p1
5955 Index Cond: (c1 = 1)
5956 -> Index Scan using p1c1_pkey on p1c1 p1
5957 Index Cond: (c1 = 1)
5961 /*+IndexScanRegexp(p1 p1.*i)*/
5962 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5963 LOG: available indexes for IndexScanRegexp(p1): p1_i2 p1_i
5964 LOG: available indexes for IndexScanRegexp(p1c1): p1c1_i p1c1_c4_expr_idx
5965 LOG: available indexes for IndexScanRegexp(p1c2): p1c2_i p1c2_c4_expr_idx
5966 LOG: available indexes for IndexScanRegexp(p1c3): p1c3_i p1c3_c4_expr_idx
5969 IndexScanRegexp(p1 p1.*i)
5975 ------------------------------------------------
5978 -> Index Scan using p1_i on p1
5979 Index Cond: (c1 = 1)
5980 -> Index Scan using p1c1_i on p1c1 p1
5981 Index Cond: (c1 = 1)
5985 /*+IndexScanRegexp(p1 no.*_exist)*/
5986 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5987 LOG: available indexes for IndexScanRegexp(p1):
5988 LOG: available indexes for IndexScanRegexp(p1c1):
5989 LOG: available indexes for IndexScanRegexp(p1c2):
5990 LOG: available indexes for IndexScanRegexp(p1c3):
5993 IndexScanRegexp(p1 no.*_exist)
5999 ---------------------------------
6004 -> Seq Scan on p1c1 p1
6009 ---- No. S-3-14 message output
6012 /*+IndexScan(ti1 ti1_i1)*/
6013 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6014 LOG: available indexes for IndexScan(ti1): ti1_i1
6017 IndexScan(ti1 ti1_i1)
6023 --------------------------------
6024 Index Scan using ti1_i1 on ti1
6025 Index Cond: (c2 = 1)
6029 /*+IndexScan(ti1 not_exist)*/
6030 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6031 LOG: available indexes for IndexScan(ti1):
6034 IndexScan(ti1 not_exist)
6040 --------------------
6046 /*+IndexScan(ti1 ti1_i1 ti1_i2)*/
6047 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6048 LOG: available indexes for IndexScan(ti1): ti1_i2 ti1_i1
6051 IndexScan(ti1 ti1_i1 ti1_i2)
6057 --------------------------------
6058 Index Scan using ti1_i2 on ti1
6059 Index Cond: (c2 = 1)
6063 /*+IndexScan(ti1 ti1_i1 not_exist)*/
6064 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6065 LOG: available indexes for IndexScan(ti1): ti1_i1
6068 IndexScan(ti1 ti1_i1 not_exist)
6074 --------------------------------
6075 Index Scan using ti1_i1 on ti1
6076 Index Cond: (c2 = 1)
6080 /*+IndexScan(ti1 not_exist1 not_exist2)*/
6081 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6082 LOG: available indexes for IndexScan(ti1):
6085 IndexScan(ti1 not_exist1 not_exist2)
6091 --------------------