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 NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "tm1_pkey" for table "tm1"
424 EXPLAIN (COSTS false) SELECT * FROM tm1 WHERE tm1.c1 = 1;
426 ----------------------------------
427 Index Scan using tm1_pkey on tm1
432 EXPLAIN (COSTS false) SELECT * FROM tm1 WHERE tm1.c1 = 1;
447 EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class WHERE oid = 1;
449 -------------------------------------------------
450 Index Scan using pg_class_oid_index on pg_class
451 Index Cond: (oid = 1::oid)
454 /*+SeqScan(pg_class)*/
455 EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class WHERE oid = 1;
464 --------------------------
466 Filter: (oid = 1::oid)
472 EXPLAIN (COSTS false) SELECT * FROM s1.f1() AS ft1 WHERE ft1.c1 = 1;
474 -------------------------
475 Function Scan on f1 ft1
480 EXPLAIN (COSTS false) SELECT * FROM s1.f1() AS ft1 WHERE ft1.c1 = 1;
489 -------------------------
490 Function Scan on f1 ft1
495 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;
497 ---------------------------
498 Values Scan on "*VALUES*"
499 Filter: (column1 = 1)
503 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;
512 ---------------------------
513 Values Scan on "*VALUES*"
514 Filter: (column1 = 1)
517 /*+SeqScan(*VALUES*)*/
518 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;
527 ---------------------------
528 Values Scan on "*VALUES*"
529 Filter: (column1 = 1)
533 EXPLAIN (COSTS false) WITH c1(c1) AS (SELECT max(c1) FROM s1.t1 WHERE t1.c1 = 1)
534 SELECT * FROM s1.t1, c1 WHERE t1.c1 = 1 AND t1.c1 = c1.c1;
536 ---------------------------------------------------------------------
540 InitPlan 1 (returns $0)
542 -> Index Only Scan using t1_i1 on t1
543 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
544 -> Index Scan using t1_i1 on t1
551 EXPLAIN (COSTS false) WITH c1(c1) AS (SELECT max(c1) FROM s1.t1 WHERE t1.c1 = 1)
552 SELECT * FROM s1.t1, c1 WHERE t1.c1 = 1 AND t1.c1 = c1.c1;
561 ---------------------------------------------------------------------
565 InitPlan 1 (returns $0)
567 -> Index Only Scan using t1_i1 on t1
568 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
569 -> Index Scan using t1_i1 on t1
576 EXPLAIN (COSTS false) SELECT * FROM s1.v1 WHERE v1.c1 = 1;
578 -----------------------------------
579 Index Scan using t1_i1 on t1 v1t1
584 EXPLAIN (COSTS false) SELECT * FROM s1.v1 WHERE v1.c1 = 1;
593 -----------------------------------
594 Index Scan using t1_i1 on t1 v1t1
599 EXPLAIN (COSTS false) SELECT * FROM (SELECT * FROM s1.t1 WHERE t1.c1 = 1) AS s1 WHERE s1.c1 = 1;
601 ------------------------------
602 Index Scan using t1_i1 on t1
607 EXPLAIN (COSTS false) SELECT * FROM (SELECT * FROM s1.t1 WHERE t1.c1 = 1) AS s1 WHERE s1.c1 = 1;
616 ------------------------------
617 Index Scan using t1_i1 on t1
622 ---- No. S-2-1 some complexity query blocks
625 EXPLAIN (COSTS false)
626 SELECT max(bmt1.c1), (
627 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
629 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
632 ------------------------------------------------------------------------
634 InitPlan 1 (returns $0)
637 Merge Cond: (b1t1.c1 = b1t2.c1)
639 Merge Cond: (b1t1.c1 = b1t4.c1)
641 Merge Cond: (b1t1.c1 = b1t3.c1)
642 -> Index Only Scan using t1_i1 on t1 b1t1
643 -> Index Only Scan using t3_i1 on t3 b1t3
644 -> Index Only Scan using t4_i1 on t4 b1t4
647 -> Seq Scan on t2 b1t2
649 Merge Cond: (bmt1.c1 = bmt2.c1)
651 Merge Cond: (bmt1.c1 = bmt4.c1)
653 Merge Cond: (bmt1.c1 = bmt3.c1)
654 -> Index Only Scan using t1_i1 on t1 bmt1
655 -> Index Only Scan using t3_i1 on t3 bmt3
656 -> Index Only Scan using t4_i1 on t4 bmt4
659 -> Seq Scan on t2 bmt2
662 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
663 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
665 EXPLAIN (COSTS false)
666 SELECT max(bmt1.c1), (
667 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
669 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
671 LOG: available indexes for IndexScan(b1t3): t3_pkey
672 LOG: available indexes for BitmapScan(b1t4): t4_pkey
673 LOG: available indexes for IndexScan(bmt2): t2_pkey
674 LOG: available indexes for BitmapScan(bmt3): t3_pkey
679 IndexScan(b1t3 t3_pkey)
680 BitmapScan(b1t4 t4_pkey)
682 IndexScan(bmt2 t2_pkey)
683 BitmapScan(bmt3 t3_pkey)
690 --------------------------------------------------------------------
692 InitPlan 1 (returns $2)
695 Hash Cond: (b1t2.c1 = b1t1.c1)
697 Join Filter: (b1t2.c1 = b1t3.c1)
699 -> Seq Scan on t2 b1t2
700 -> Bitmap Heap Scan on t4 b1t4
701 Recheck Cond: (c1 = b1t2.c1)
702 -> Bitmap Index Scan on t4_pkey
703 Index Cond: (c1 = b1t2.c1)
704 -> Index Scan using t3_pkey on t3 b1t3
705 Index Cond: (c1 = b1t4.c1)
707 -> Seq Scan on t1 b1t1
709 Hash Cond: (bmt1.c1 = bmt4.c1)
712 Hash Cond: (bmt1.c1 = bmt2.c1)
713 -> Seq Scan on t1 bmt1
715 -> Index Scan using t2_pkey on t2 bmt2
716 -> Bitmap Heap Scan on t3 bmt3
717 Recheck Cond: (c1 = bmt1.c1)
718 -> Bitmap Index Scan on t3_pkey
719 Index Cond: (c1 = bmt1.c1)
721 -> Seq Scan on t4 bmt4
725 EXPLAIN (COSTS false)
726 SELECT max(bmt1.c1), (
727 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
729 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
731 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
734 ------------------------------------------------------------------------
736 InitPlan 1 (returns $0)
739 Merge Cond: (b1t1.c1 = b1t2.c1)
741 Merge Cond: (b1t1.c1 = b1t4.c1)
743 Merge Cond: (b1t1.c1 = b1t3.c1)
744 -> Index Only Scan using t1_i1 on t1 b1t1
745 -> Index Only Scan using t3_i1 on t3 b1t3
746 -> Index Only Scan using t4_i1 on t4 b1t4
749 -> Seq Scan on t2 b1t2
750 InitPlan 2 (returns $1)
753 Merge Cond: (b2t1.c1 = b2t2.c1)
755 Merge Cond: (b2t1.c1 = b2t4.c1)
757 Merge Cond: (b2t1.c1 = b2t3.c1)
758 -> Index Only Scan using t1_i1 on t1 b2t1
759 -> Index Only Scan using t3_i1 on t3 b2t3
760 -> Index Only Scan using t4_i1 on t4 b2t4
763 -> Seq Scan on t2 b2t2
765 Merge Cond: (bmt1.c1 = bmt2.c1)
767 Merge Cond: (bmt1.c1 = bmt4.c1)
769 Merge Cond: (bmt1.c1 = bmt3.c1)
770 -> Index Only Scan using t1_i1 on t1 bmt1
771 -> Index Only Scan using t3_i1 on t3 bmt3
772 -> Index Only Scan using t4_i1 on t4 bmt4
775 -> Seq Scan on t2 bmt2
778 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
779 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
780 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
782 EXPLAIN (COSTS false)
783 SELECT max(bmt1.c1), (
784 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
786 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
788 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
790 LOG: available indexes for IndexScan(b1t3): t3_pkey
791 LOG: available indexes for BitmapScan(b1t4): t4_pkey
792 LOG: available indexes for BitmapScan(b2t1): t1_pkey
793 LOG: available indexes for IndexScan(b2t4): t4_pkey
794 LOG: available indexes for IndexScan(bmt2): t2_pkey
795 LOG: available indexes for BitmapScan(bmt3): t3_pkey
800 IndexScan(b1t3 t3_pkey)
801 BitmapScan(b1t4 t4_pkey)
802 BitmapScan(b2t1 t1_pkey)
805 IndexScan(b2t4 t4_pkey)
807 IndexScan(bmt2 t2_pkey)
808 BitmapScan(bmt3 t3_pkey)
815 ---------------------------------------------------------------------
817 InitPlan 1 (returns $2)
820 Hash Cond: (b1t2.c1 = b1t1.c1)
822 Join Filter: (b1t2.c1 = b1t3.c1)
824 -> Seq Scan on t2 b1t2
825 -> Bitmap Heap Scan on t4 b1t4
826 Recheck Cond: (c1 = b1t2.c1)
827 -> Bitmap Index Scan on t4_pkey
828 Index Cond: (c1 = b1t2.c1)
829 -> Index Scan using t3_pkey on t3 b1t3
830 Index Cond: (c1 = b1t4.c1)
832 -> Seq Scan on t1 b1t1
833 InitPlan 2 (returns $4)
836 Hash Cond: (b2t1.c1 = b2t3.c1)
838 Merge Cond: (b2t1.c1 = b2t2.c1)
840 -> Index Scan using t4_pkey on t4 b2t4
841 -> Bitmap Heap Scan on t1 b2t1
842 Recheck Cond: (c1 = b2t4.c1)
843 -> Bitmap Index Scan on t1_pkey
844 Index Cond: (c1 = b2t4.c1)
847 -> Seq Scan on t2 b2t2
849 -> Seq Scan on t3 b2t3
851 Hash Cond: (bmt1.c1 = bmt4.c1)
854 Hash Cond: (bmt1.c1 = bmt2.c1)
855 -> Seq Scan on t1 bmt1
857 -> Index Scan using t2_pkey on t2 bmt2
858 -> Bitmap Heap Scan on t3 bmt3
859 Recheck Cond: (c1 = bmt1.c1)
860 -> Bitmap Index Scan on t3_pkey
861 Index Cond: (c1 = bmt1.c1)
863 -> Seq Scan on t4 bmt4
867 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;
869 ----------------------------------------------------------------
872 Merge Cond: (bmt1.c1 = bmt2.c1)
874 Merge Cond: (bmt1.c1 = bmt4.c1)
876 Merge Cond: (bmt1.c1 = bmt3.c1)
877 -> Index Only Scan using t1_i1 on t1 bmt1
878 -> Index Only Scan using t3_i1 on t3 bmt3
879 -> Index Only Scan using t4_i1 on t4 bmt4
882 -> Seq Scan on t2 bmt2
885 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
887 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;
888 LOG: available indexes for IndexScan(bmt2): t2_pkey
889 LOG: available indexes for BitmapScan(bmt3): t3_pkey
893 IndexScan(bmt2 t2_pkey)
894 BitmapScan(bmt3 t3_pkey)
901 -------------------------------------------------------------------
904 Hash Cond: (bmt1.c1 = bmt4.c1)
907 Hash Cond: (bmt1.c1 = bmt2.c1)
908 -> Seq Scan on t1 bmt1
910 -> Index Scan using t2_pkey on t2 bmt2
911 -> Bitmap Heap Scan on t3 bmt3
912 Recheck Cond: (c1 = bmt1.c1)
913 -> Bitmap Index Scan on t3_pkey
914 Index Cond: (c1 = bmt1.c1)
916 -> Seq Scan on t4 bmt4
920 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;
922 ----------------------------------------------------------------
925 Merge Cond: (bmt1.c1 = bmt2.c1)
927 Merge Cond: (bmt1.c1 = bmt4.c1)
929 Merge Cond: (bmt1.c1 = bmt3.c1)
930 -> Index Only Scan using t1_i1 on t1 bmt1
931 -> Index Only Scan using t3_i1 on t3 bmt3
932 -> Index Only Scan using t4_i1 on t4 bmt4
935 -> Seq Scan on t2 bmt2
938 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
940 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;
941 LOG: available indexes for IndexScan(bmt2): t2_pkey
942 LOG: available indexes for BitmapScan(bmt3): t3_pkey
946 IndexScan(bmt2 t2_pkey)
947 BitmapScan(bmt3 t3_pkey)
954 -------------------------------------------------------------------
957 Hash Cond: (bmt1.c1 = bmt4.c1)
960 Hash Cond: (bmt1.c1 = bmt2.c1)
961 -> Seq Scan on t1 bmt1
963 -> Index Scan using t2_pkey on t2 bmt2
964 -> Bitmap Heap Scan on t3 bmt3
965 Recheck Cond: (c1 = bmt1.c1)
966 -> Bitmap Index Scan on t3_pkey
967 Index Cond: (c1 = bmt1.c1)
969 -> Seq Scan on t4 bmt4
973 EXPLAIN (COSTS false)
974 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
976 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
980 ------------------------------------------------------------------------
982 InitPlan 1 (returns $0)
985 Merge Cond: (b1t1.c1 = b1t2.c1)
987 Merge Cond: (b1t1.c1 = b1t4.c1)
989 Merge Cond: (b1t1.c1 = b1t3.c1)
990 -> Index Only Scan using t1_i1 on t1 b1t1
991 -> Index Only Scan using t3_i1 on t3 b1t3
992 -> Index Only Scan using t4_i1 on t4 b1t4
995 -> Seq Scan on t2 b1t2
997 Merge Cond: (bmt1.c1 = bmt2.c1)
999 Merge Cond: (bmt1.c1 = bmt4.c1)
1001 Merge Cond: (bmt1.c1 = bmt3.c1)
1002 -> Index Only Scan using t1_i1 on t1 bmt1
1004 -> Index Only Scan using t3_i1 on t3 bmt3
1005 -> Index Only Scan using t4_i1 on t4 bmt4
1008 -> Seq Scan on t2 bmt2
1011 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1012 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1014 EXPLAIN (COSTS false)
1015 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
1017 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
1020 LOG: available indexes for IndexScan(b1t3): t3_pkey
1021 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1022 LOG: available indexes for IndexScan(bmt2): t2_pkey
1023 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1028 IndexScan(b1t3 t3_pkey)
1029 BitmapScan(b1t4 t4_pkey)
1031 IndexScan(bmt2 t2_pkey)
1032 BitmapScan(bmt3 t3_pkey)
1039 --------------------------------------------------------------------
1041 InitPlan 1 (returns $2)
1044 Hash Cond: (b1t2.c1 = b1t1.c1)
1046 Join Filter: (b1t2.c1 = b1t3.c1)
1048 -> Seq Scan on t2 b1t2
1049 -> Bitmap Heap Scan on t4 b1t4
1050 Recheck Cond: (c1 = b1t2.c1)
1051 -> Bitmap Index Scan on t4_pkey
1052 Index Cond: (c1 = b1t2.c1)
1053 -> Index Scan using t3_pkey on t3 b1t3
1054 Index Cond: (c1 = b1t4.c1)
1056 -> Seq Scan on t1 b1t1
1058 Hash Cond: (bmt1.c1 = bmt4.c1)
1061 Hash Cond: (bmt1.c1 = bmt2.c1)
1062 -> Seq Scan on t1 bmt1
1065 -> Index Scan using t2_pkey on t2 bmt2
1066 -> Bitmap Heap Scan on t3 bmt3
1067 Recheck Cond: (c1 = bmt1.c1)
1068 -> Bitmap Index Scan on t3_pkey
1069 Index Cond: (c1 = bmt1.c1)
1071 -> Seq Scan on t4 bmt4
1075 EXPLAIN (COSTS false)
1076 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
1078 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
1080 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
1084 ------------------------------------------------------------------------
1086 InitPlan 1 (returns $0)
1089 Merge Cond: (b1t1.c1 = b1t2.c1)
1091 Merge Cond: (b1t1.c1 = b1t4.c1)
1093 Merge Cond: (b1t1.c1 = b1t3.c1)
1094 -> Index Only Scan using t1_i1 on t1 b1t1
1095 -> Index Only Scan using t3_i1 on t3 b1t3
1096 -> Index Only Scan using t4_i1 on t4 b1t4
1099 -> Seq Scan on t2 b1t2
1100 InitPlan 2 (returns $1)
1103 Merge Cond: (b2t1.c1 = b2t2.c1)
1105 Merge Cond: (b2t1.c1 = b2t4.c1)
1107 Merge Cond: (b2t1.c1 = b2t3.c1)
1108 -> Index Only Scan using t1_i1 on t1 b2t1
1109 -> Index Only Scan using t3_i1 on t3 b2t3
1110 -> Index Only Scan using t4_i1 on t4 b2t4
1113 -> Seq Scan on t2 b2t2
1115 Merge Cond: (bmt1.c1 = bmt2.c1)
1117 Merge Cond: (bmt1.c1 = bmt4.c1)
1119 Merge Cond: (bmt1.c1 = bmt3.c1)
1120 -> Index Only Scan using t1_i1 on t1 bmt1
1121 Filter: ((c1 <> $0) AND (c1 <> $1))
1122 -> Index Only Scan using t3_i1 on t3 bmt3
1123 -> Index Only Scan using t4_i1 on t4 bmt4
1126 -> Seq Scan on t2 bmt2
1129 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1130 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1131 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1133 EXPLAIN (COSTS false)
1134 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
1136 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
1138 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
1141 LOG: available indexes for IndexScan(b1t3): t3_pkey
1142 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1143 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1144 LOG: available indexes for IndexScan(b2t4): t4_pkey
1145 LOG: available indexes for IndexScan(bmt2): t2_pkey
1146 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1151 IndexScan(b1t3 t3_pkey)
1152 BitmapScan(b1t4 t4_pkey)
1153 BitmapScan(b2t1 t1_pkey)
1156 IndexScan(b2t4 t4_pkey)
1158 IndexScan(bmt2 t2_pkey)
1159 BitmapScan(bmt3 t3_pkey)
1166 ---------------------------------------------------------------------
1168 InitPlan 1 (returns $2)
1171 Hash Cond: (b1t2.c1 = b1t1.c1)
1173 Join Filter: (b1t2.c1 = b1t3.c1)
1175 -> Seq Scan on t2 b1t2
1176 -> Bitmap Heap Scan on t4 b1t4
1177 Recheck Cond: (c1 = b1t2.c1)
1178 -> Bitmap Index Scan on t4_pkey
1179 Index Cond: (c1 = b1t2.c1)
1180 -> Index Scan using t3_pkey on t3 b1t3
1181 Index Cond: (c1 = b1t4.c1)
1183 -> Seq Scan on t1 b1t1
1184 InitPlan 2 (returns $4)
1187 Hash Cond: (b2t1.c1 = b2t3.c1)
1189 Merge Cond: (b2t1.c1 = b2t2.c1)
1191 -> Index Scan using t4_pkey on t4 b2t4
1192 -> Bitmap Heap Scan on t1 b2t1
1193 Recheck Cond: (c1 = b2t4.c1)
1194 -> Bitmap Index Scan on t1_pkey
1195 Index Cond: (c1 = b2t4.c1)
1198 -> Seq Scan on t2 b2t2
1200 -> Seq Scan on t3 b2t3
1202 Hash Cond: (bmt1.c1 = bmt4.c1)
1205 Hash Cond: (bmt1.c1 = bmt2.c1)
1206 -> Seq Scan on t1 bmt1
1207 Filter: ((c1 <> $2) AND (c1 <> $4))
1209 -> Index Scan using t2_pkey on t2 bmt2
1210 -> Bitmap Heap Scan on t3 bmt3
1211 Recheck Cond: (c1 = bmt1.c1)
1212 -> Bitmap Index Scan on t3_pkey
1213 Index Cond: (c1 = bmt1.c1)
1215 -> Seq Scan on t4 bmt4
1219 EXPLAIN (COSTS false)
1221 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
1223 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1225 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1229 ------------------------------------------------------------------------
1234 Merge Cond: (b1t1.c1 = b1t2.c1)
1236 Merge Cond: (b1t1.c1 = b1t4.c1)
1238 Merge Cond: (b1t1.c1 = b1t3.c1)
1239 -> Index Only Scan using t1_i1 on t1 b1t1
1240 -> Index Only Scan using t3_i1 on t3 b1t3
1241 -> Index Only Scan using t4_i1 on t4 b1t4
1244 -> Seq Scan on t2 b1t2
1246 Join Filter: (bmt1.c1 = bmt4.c1)
1248 Join Filter: (bmt2.c1 = bmt1.c1)
1251 Hash Cond: (bmt2.c1 = c1.c1)
1252 -> Seq Scan on t2 bmt2
1255 -> Index Only Scan using t3_i1 on t3 bmt3
1256 Index Cond: (c1 = bmt2.c1)
1257 -> Index Only Scan using t1_i1 on t1 bmt1
1258 Index Cond: (c1 = bmt3.c1)
1259 -> Index Only Scan using t4_i1 on t4 bmt4
1260 Index Cond: (c1 = bmt3.c1)
1263 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1264 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1266 EXPLAIN (COSTS false)
1268 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
1270 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1272 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1275 LOG: available indexes for IndexScan(b1t3): t3_pkey
1276 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1277 LOG: available indexes for IndexScan(bmt2): t2_pkey
1278 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1283 IndexScan(b1t3 t3_pkey)
1284 BitmapScan(b1t4 t4_pkey)
1286 IndexScan(bmt2 t2_pkey)
1287 BitmapScan(bmt3 t3_pkey)
1294 --------------------------------------------------------------------
1299 Hash Cond: (b1t2.c1 = b1t1.c1)
1301 Join Filter: (b1t2.c1 = b1t3.c1)
1303 -> Seq Scan on t2 b1t2
1304 -> Bitmap Heap Scan on t4 b1t4
1305 Recheck Cond: (c1 = b1t2.c1)
1306 -> Bitmap Index Scan on t4_pkey
1307 Index Cond: (c1 = b1t2.c1)
1308 -> Index Scan using t3_pkey on t3 b1t3
1309 Index Cond: (c1 = b1t4.c1)
1311 -> Seq Scan on t1 b1t1
1313 Join Filter: (bmt1.c1 = bmt4.c1)
1317 Hash Cond: (bmt1.c1 = c1.c1)
1318 -> Seq Scan on t1 bmt1
1321 -> Index Scan using t2_pkey on t2 bmt2
1322 Index Cond: (c1 = bmt1.c1)
1323 -> Bitmap Heap Scan on t3 bmt3
1324 Recheck Cond: (c1 = bmt1.c1)
1325 -> Bitmap Index Scan on t3_pkey
1326 Index Cond: (c1 = bmt1.c1)
1327 -> Seq Scan on t4 bmt4
1331 EXPLAIN (COSTS false)
1333 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
1336 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
1338 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1340 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1345 ------------------------------------------------------------------------
1350 Merge Cond: (b1t1.c1 = b1t2.c1)
1352 Merge Cond: (b1t1.c1 = b1t4.c1)
1354 Merge Cond: (b1t1.c1 = b1t3.c1)
1355 -> Index Only Scan using t1_i1 on t1 b1t1
1356 -> Index Only Scan using t3_i1 on t3 b1t3
1357 -> Index Only Scan using t4_i1 on t4 b1t4
1360 -> Seq Scan on t2 b1t2
1364 Merge Cond: (b2t1.c1 = b2t2.c1)
1366 Merge Cond: (b2t1.c1 = b2t4.c1)
1368 Merge Cond: (b2t1.c1 = b2t3.c1)
1369 -> Index Only Scan using t1_i1 on t1 b2t1
1370 -> Index Only Scan using t3_i1 on t3 b2t3
1371 -> Index Only Scan using t4_i1 on t4 b2t4
1374 -> Seq Scan on t2 b2t2
1376 Join Filter: (bmt1.c1 = c2.c1)
1378 Join Filter: (bmt1.c1 = bmt4.c1)
1380 Join Filter: (bmt2.c1 = bmt1.c1)
1383 Hash Cond: (bmt2.c1 = c1.c1)
1384 -> Seq Scan on t2 bmt2
1387 -> Index Only Scan using t3_i1 on t3 bmt3
1388 Index Cond: (c1 = bmt2.c1)
1389 -> Index Only Scan using t1_i1 on t1 bmt1
1390 Index Cond: (c1 = bmt3.c1)
1391 -> Index Only Scan using t4_i1 on t4 bmt4
1392 Index Cond: (c1 = bmt3.c1)
1396 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1397 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1398 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1400 EXPLAIN (COSTS false)
1402 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
1405 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
1407 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1409 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1413 LOG: available indexes for IndexScan(b1t3): t3_pkey
1414 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1415 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1416 LOG: available indexes for IndexScan(b2t4): t4_pkey
1417 LOG: available indexes for IndexScan(bmt2): t2_pkey
1418 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1423 IndexScan(b1t3 t3_pkey)
1424 BitmapScan(b1t4 t4_pkey)
1425 BitmapScan(b2t1 t1_pkey)
1428 IndexScan(b2t4 t4_pkey)
1430 IndexScan(bmt2 t2_pkey)
1431 BitmapScan(bmt3 t3_pkey)
1438 ---------------------------------------------------------------------
1443 Hash Cond: (b1t2.c1 = b1t1.c1)
1445 Join Filter: (b1t2.c1 = b1t3.c1)
1447 -> Seq Scan on t2 b1t2
1448 -> Bitmap Heap Scan on t4 b1t4
1449 Recheck Cond: (c1 = b1t2.c1)
1450 -> Bitmap Index Scan on t4_pkey
1451 Index Cond: (c1 = b1t2.c1)
1452 -> Index Scan using t3_pkey on t3 b1t3
1453 Index Cond: (c1 = b1t4.c1)
1455 -> Seq Scan on t1 b1t1
1459 Hash Cond: (b2t1.c1 = b2t3.c1)
1461 Merge Cond: (b2t1.c1 = b2t2.c1)
1463 -> Index Scan using t4_pkey on t4 b2t4
1464 -> Bitmap Heap Scan on t1 b2t1
1465 Recheck Cond: (c1 = b2t4.c1)
1466 -> Bitmap Index Scan on t1_pkey
1467 Index Cond: (c1 = b2t4.c1)
1470 -> Seq Scan on t2 b2t2
1472 -> Seq Scan on t3 b2t3
1474 Join Filter: (bmt1.c1 = bmt4.c1)
1476 Join Filter: (bmt1.c1 = c2.c1)
1480 Hash Cond: (bmt1.c1 = c1.c1)
1481 -> Seq Scan on t1 bmt1
1484 -> Index Scan using t2_pkey on t2 bmt2
1485 Index Cond: (c1 = bmt1.c1)
1486 -> Bitmap Heap Scan on t3 bmt3
1487 Recheck Cond: (c1 = bmt1.c1)
1488 -> Bitmap Index Scan on t3_pkey
1489 Index Cond: (c1 = bmt1.c1)
1491 -> Seq Scan on t4 bmt4
1495 ---- No. S-2-2 the number of the tables per quiry block
1498 EXPLAIN (COSTS false)
1500 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1502 SELECT max(bmt1.c1), (
1503 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1505 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1507 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1511 -----------------------------------------------------------------
1515 InitPlan 1 (returns $0)
1517 -> Tid Scan on t1 b1t1
1518 TID Cond: (ctid = '(1,1)'::tid)
1519 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1520 InitPlan 4 (returns $3)
1522 InitPlan 3 (returns $2)
1524 -> Tid Scan on t1 b2t1
1525 TID Cond: (ctid = '(1,1)'::tid)
1526 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1527 InitPlan 6 (returns $5)
1529 InitPlan 5 (returns $4)
1531 -> Tid Scan on t1 b3t1
1532 TID Cond: (ctid = '(1,1)'::tid)
1533 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1535 -> Tid Scan on t1 bmt1
1536 TID Cond: (ctid = '(1,1)'::tid)
1537 Filter: ((c1 <> $5) AND (c1 = 1))
1543 BitmapScan(b2t1 t1_pkey)
1544 IndexScan(b3t1 t1_pkey)
1546 EXPLAIN (COSTS false)
1548 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1550 SELECT max(bmt1.c1), (
1551 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1553 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1555 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1558 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1559 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1560 LOG: available indexes for IndexScan(b3t1): t1_pkey
1561 LOG: available indexes for IndexScan(b3t1): t1_pkey
1565 BitmapScan(b2t1 t1_pkey)
1566 IndexScan(b3t1 t1_pkey)
1573 ---------------------------------------------------------------------------
1577 InitPlan 1 (returns $0)
1579 -> Tid Scan on t1 b1t1
1580 TID Cond: (ctid = '(1,1)'::tid)
1581 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1582 InitPlan 4 (returns $3)
1584 InitPlan 3 (returns $2)
1586 -> Bitmap Heap Scan on t1 b2t1
1587 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1588 Filter: (ctid = '(1,1)'::tid)
1589 -> Bitmap Index Scan on t1_pkey
1590 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1591 InitPlan 6 (returns $5)
1593 InitPlan 5 (returns $4)
1595 -> Index Scan using t1_pkey on t1 b3t1
1596 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1597 Filter: (ctid = '(1,1)'::tid)
1599 -> Seq Scan on t1 bmt1
1600 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid) AND (c1 = 1))
1605 EXPLAIN (COSTS false)
1607 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)'
1609 SELECT max(bmt1.c1), (
1610 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)'
1612 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1614 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)'
1618 -------------------------------------------------------
1623 Join Filter: (b1t1.c1 = b1t2.c1)
1624 -> Tid Scan on t1 b1t1
1625 TID Cond: (ctid = '(1,1)'::tid)
1626 -> Seq Scan on t2 b1t2
1627 Filter: (ctid = '(1,1)'::tid)
1628 InitPlan 2 (returns $1)
1631 Join Filter: (b2t1.c1 = b2t2.c1)
1632 -> Tid Scan on t1 b2t1
1633 TID Cond: (ctid = '(1,1)'::tid)
1634 -> Seq Scan on t2 b2t2
1635 Filter: (ctid = '(1,1)'::tid)
1636 InitPlan 3 (returns $2)
1639 Join Filter: (b3t1.c1 = b3t2.c1)
1640 -> Tid Scan on t1 b3t1
1641 TID Cond: (ctid = '(1,1)'::tid)
1642 -> Seq Scan on t2 b3t2
1643 Filter: (ctid = '(1,1)'::tid)
1646 Join Filter: (bmt1.c1 = bmt2.c1)
1647 -> Tid Scan on t1 bmt1
1648 TID Cond: (ctid = '(1,1)'::tid)
1650 -> Seq Scan on t2 bmt2
1651 Filter: (ctid = '(1,1)'::tid)
1655 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)
1656 TidScan(b1t1)SeqScan(b1t2)
1657 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)
1658 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)
1660 EXPLAIN (COSTS false)
1662 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)'
1664 SELECT max(bmt1.c1), (
1665 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)'
1667 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1669 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)'
1672 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1673 LOG: available indexes for IndexScan(b3t1): t1_pkey
1674 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1675 LOG: available indexes for IndexScan(bmt2): t2_pkey
1680 BitmapScan(b2t1 t1_pkey)
1682 IndexScan(b3t1 t1_pkey)
1683 BitmapScan(b3t2 t2_pkey)
1685 IndexScan(bmt2 t2_pkey)
1691 --------------------------------------------------------------------
1696 Join Filter: (b1t1.c1 = b1t2.c1)
1697 -> Tid Scan on t1 b1t1
1698 TID Cond: (ctid = '(1,1)'::tid)
1699 -> Seq Scan on t2 b1t2
1700 Filter: (ctid = '(1,1)'::tid)
1701 InitPlan 2 (returns $2)
1704 -> Tid Scan on t2 b2t2
1705 TID Cond: (ctid = '(1,1)'::tid)
1706 -> Bitmap Heap Scan on t1 b2t1
1707 Recheck Cond: (c1 = b2t2.c1)
1708 Filter: (ctid = '(1,1)'::tid)
1709 -> Bitmap Index Scan on t1_pkey
1710 Index Cond: (c1 = b2t2.c1)
1711 InitPlan 3 (returns $4)
1714 -> Index Scan using t1_pkey on t1 b3t1
1715 Filter: (ctid = '(1,1)'::tid)
1716 -> Bitmap Heap Scan on t2 b3t2
1717 Recheck Cond: (c1 = b3t1.c1)
1718 Filter: (ctid = '(1,1)'::tid)
1719 -> Bitmap Index Scan on t2_pkey
1720 Index Cond: (c1 = b3t1.c1)
1723 -> Seq Scan on t1 bmt1
1724 Filter: ((c1 <> $4) AND (ctid = '(1,1)'::tid))
1725 -> Index Scan using t2_pkey on t2 bmt2
1726 Index Cond: (c1 = bmt1.c1)
1727 Filter: (ctid = '(1,1)'::tid)
1732 EXPLAIN (COSTS false)
1734 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)'
1736 SELECT max(bmt1.c1), (
1737 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)'
1739 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
1741 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)'
1745 -------------------------------------------------------------------
1750 Join Filter: (b1t1.c1 = b1t4.c1)
1752 Join Filter: (b1t1.c1 = b1t3.c1)
1754 Join Filter: (b1t1.c1 = b1t2.c1)
1755 -> Tid Scan on t1 b1t1
1756 TID Cond: (ctid = '(1,1)'::tid)
1757 -> Seq Scan on t2 b1t2
1758 Filter: (ctid = '(1,1)'::tid)
1759 -> Tid Scan on t3 b1t3
1760 TID Cond: (ctid = '(1,1)'::tid)
1761 -> Tid Scan on t4 b1t4
1762 TID Cond: (ctid = '(1,1)'::tid)
1763 InitPlan 2 (returns $1)
1766 Join Filter: (b2t1.c1 = b2t4.c1)
1768 Join Filter: (b2t1.c1 = b2t3.c1)
1770 Join Filter: (b2t1.c1 = b2t2.c1)
1771 -> Tid Scan on t1 b2t1
1772 TID Cond: (ctid = '(1,1)'::tid)
1773 -> Seq Scan on t2 b2t2
1774 Filter: (ctid = '(1,1)'::tid)
1775 -> Tid Scan on t3 b2t3
1776 TID Cond: (ctid = '(1,1)'::tid)
1777 -> Tid Scan on t4 b2t4
1778 TID Cond: (ctid = '(1,1)'::tid)
1779 InitPlan 3 (returns $2)
1782 Join Filter: (b3t1.c1 = b3t4.c1)
1784 Join Filter: (b3t1.c1 = b3t3.c1)
1786 Join Filter: (b3t1.c1 = b3t2.c1)
1787 -> Tid Scan on t1 b3t1
1788 TID Cond: (ctid = '(1,1)'::tid)
1789 -> Seq Scan on t2 b3t2
1790 Filter: (ctid = '(1,1)'::tid)
1791 -> Tid Scan on t3 b3t3
1792 TID Cond: (ctid = '(1,1)'::tid)
1793 -> Tid Scan on t4 b3t4
1794 TID Cond: (ctid = '(1,1)'::tid)
1796 Join Filter: (bmt1.c1 = c1.c1)
1798 Join Filter: (bmt1.c1 = bmt4.c1)
1800 Join Filter: (bmt1.c1 = bmt3.c1)
1802 Join Filter: (bmt1.c1 = bmt2.c1)
1803 -> Tid Scan on t1 bmt1
1804 TID Cond: (ctid = '(1,1)'::tid)
1806 -> Seq Scan on t2 bmt2
1807 Filter: (ctid = '(1,1)'::tid)
1808 -> Tid Scan on t3 bmt3
1809 TID Cond: (ctid = '(1,1)'::tid)
1810 -> Tid Scan on t4 bmt4
1811 TID Cond: (ctid = '(1,1)'::tid)
1815 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1816 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1817 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1818 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
1820 EXPLAIN (COSTS false)
1822 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)'
1824 SELECT max(bmt1.c1), (
1825 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)'
1827 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
1829 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)'
1832 LOG: available indexes for IndexScan(b1t3): t3_pkey
1833 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1834 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1835 LOG: available indexes for IndexScan(b2t4): t4_pkey
1836 LOG: available indexes for IndexScan(b3t1): t1_pkey
1837 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1838 LOG: available indexes for IndexScan(bmt2): t2_pkey
1839 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1844 IndexScan(b1t3 t3_pkey)
1845 BitmapScan(b1t4 t4_pkey)
1846 BitmapScan(b2t1 t1_pkey)
1849 IndexScan(b2t4 t4_pkey)
1850 IndexScan(b3t1 t1_pkey)
1851 BitmapScan(b3t2 t2_pkey)
1855 IndexScan(bmt2 t2_pkey)
1856 BitmapScan(bmt3 t3_pkey)
1863 --------------------------------------------------------------------------------
1870 Join Filter: (b1t1.c1 = b1t2.c1)
1871 -> Tid Scan on t1 b1t1
1872 TID Cond: (ctid = '(1,1)'::tid)
1873 -> Seq Scan on t2 b1t2
1874 Filter: (ctid = '(1,1)'::tid)
1875 -> Index Scan using t3_pkey on t3 b1t3
1876 Index Cond: (c1 = b1t1.c1)
1877 Filter: (ctid = '(1,1)'::tid)
1878 -> Bitmap Heap Scan on t4 b1t4
1879 Recheck Cond: (c1 = b1t1.c1)
1880 Filter: (ctid = '(1,1)'::tid)
1881 -> Bitmap Index Scan on t4_pkey
1882 Index Cond: (c1 = b1t1.c1)
1883 InitPlan 2 (returns $4)
1887 Join Filter: (b2t1.c1 = b2t3.c1)
1889 -> Tid Scan on t2 b2t2
1890 TID Cond: (ctid = '(1,1)'::tid)
1891 -> Bitmap Heap Scan on t1 b2t1
1892 Recheck Cond: (c1 = b2t2.c1)
1893 Filter: (ctid = '(1,1)'::tid)
1894 -> Bitmap Index Scan on t1_pkey
1895 Index Cond: (c1 = b2t2.c1)
1896 -> Seq Scan on t3 b2t3
1897 Filter: (ctid = '(1,1)'::tid)
1898 -> Index Scan using t4_pkey on t4 b2t4
1899 Index Cond: (c1 = b2t1.c1)
1900 Filter: (ctid = '(1,1)'::tid)
1901 InitPlan 3 (returns $7)
1904 Join Filter: (b3t1.c1 = b3t4.c1)
1907 -> Tid Scan on t3 b3t3
1908 TID Cond: (ctid = '(1,1)'::tid)
1909 -> Index Scan using t1_pkey on t1 b3t1
1910 Index Cond: (c1 = b3t3.c1)
1911 Filter: (ctid = '(1,1)'::tid)
1912 -> Bitmap Heap Scan on t2 b3t2
1913 Recheck Cond: (c1 = b3t1.c1)
1914 Filter: (ctid = '(1,1)'::tid)
1915 -> Bitmap Index Scan on t2_pkey
1916 Index Cond: (c1 = b3t1.c1)
1917 -> Seq Scan on t4 b3t4
1918 Filter: (ctid = '(1,1)'::tid)
1920 Join Filter: (bmt1.c1 = c1.c1)
1922 Join Filter: (bmt1.c1 = bmt4.c1)
1925 -> Seq Scan on t1 bmt1
1926 Filter: ((c1 <> $7) AND (ctid = '(1,1)'::tid))
1927 -> Index Scan using t2_pkey on t2 bmt2
1928 Index Cond: (c1 = bmt1.c1)
1929 Filter: (ctid = '(1,1)'::tid)
1930 -> Bitmap Heap Scan on t3 bmt3
1931 Recheck Cond: (c1 = bmt1.c1)
1932 Filter: (ctid = '(1,1)'::tid)
1933 -> Bitmap Index Scan on t3_pkey
1934 Index Cond: (c1 = bmt1.c1)
1935 -> Tid Scan on t4 bmt4
1936 TID Cond: (ctid = '(1,1)'::tid)
1941 EXPLAIN (COSTS false)
1943 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)'
1945 SELECT max(bmt1.c1), (
1946 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1948 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
1950 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
1954 -------------------------------------------------------------------
1959 Join Filter: (b1t1.c1 = b1t4.c1)
1961 Join Filter: (b1t1.c1 = b1t3.c1)
1963 Join Filter: (b1t1.c1 = b1t2.c1)
1964 -> Tid Scan on t1 b1t1
1965 TID Cond: (ctid = '(1,1)'::tid)
1966 -> Seq Scan on t2 b1t2
1967 Filter: (ctid = '(1,1)'::tid)
1968 -> Tid Scan on t3 b1t3
1969 TID Cond: (ctid = '(1,1)'::tid)
1970 -> Tid Scan on t4 b1t4
1971 TID Cond: (ctid = '(1,1)'::tid)
1972 InitPlan 3 (returns $2)
1974 InitPlan 2 (returns $1)
1976 -> Tid Scan on t1 b2t1
1977 TID Cond: (ctid = '(1,1)'::tid)
1978 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1979 InitPlan 4 (returns $3)
1981 -> Tid Scan on t1 b3t1
1982 TID Cond: (ctid = '(1,1)'::tid)
1984 Join Filter: (bmt1.c1 = c1.c1)
1986 Join Filter: (bmt1.c1 = bmt4.c1)
1988 Join Filter: (bmt1.c1 = bmt3.c1)
1990 Join Filter: (bmt1.c1 = bmt2.c1)
1991 -> Tid Scan on t1 bmt1
1992 TID Cond: (ctid = '(1,1)'::tid)
1994 -> Seq Scan on t2 bmt2
1995 Filter: (ctid = '(1,1)'::tid)
1996 -> Tid Scan on t3 bmt3
1997 TID Cond: (ctid = '(1,1)'::tid)
1998 -> Tid Scan on t4 bmt4
1999 TID Cond: (ctid = '(1,1)'::tid)
2003 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
2004 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2005 BitmapScan(b2t1 t1_pkey)
2006 IndexScan(b3t1 t1_pkey)
2008 EXPLAIN (COSTS false)
2010 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)'
2012 SELECT max(bmt1.c1), (
2013 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2015 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
2017 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2020 LOG: available indexes for IndexScan(b1t3): t3_pkey
2021 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2022 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2023 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2024 LOG: available indexes for IndexScan(b3t1): t1_pkey
2025 LOG: available indexes for IndexScan(b3t1): t1_pkey
2026 LOG: available indexes for IndexScan(bmt2): t2_pkey
2027 LOG: available indexes for BitmapScan(bmt3): t3_pkey
2032 IndexScan(b1t3 t3_pkey)
2033 BitmapScan(b1t4 t4_pkey)
2034 BitmapScan(b2t1 t1_pkey)
2035 IndexScan(b3t1 t1_pkey)
2037 IndexScan(bmt2 t2_pkey)
2038 BitmapScan(bmt3 t3_pkey)
2045 --------------------------------------------------------------------------------
2052 Join Filter: (b1t1.c1 = b1t2.c1)
2053 -> Tid Scan on t1 b1t1
2054 TID Cond: (ctid = '(1,1)'::tid)
2055 -> Seq Scan on t2 b1t2
2056 Filter: (ctid = '(1,1)'::tid)
2057 -> Index Scan using t3_pkey on t3 b1t3
2058 Index Cond: (c1 = b1t1.c1)
2059 Filter: (ctid = '(1,1)'::tid)
2060 -> Bitmap Heap Scan on t4 b1t4
2061 Recheck Cond: (c1 = b1t1.c1)
2062 Filter: (ctid = '(1,1)'::tid)
2063 -> Bitmap Index Scan on t4_pkey
2064 Index Cond: (c1 = b1t1.c1)
2065 InitPlan 3 (returns $3)
2067 InitPlan 2 (returns $2)
2069 -> Bitmap Heap Scan on t1 b2t1
2070 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2071 Filter: (ctid = '(1,1)'::tid)
2072 -> Bitmap Index Scan on t1_pkey
2073 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2074 InitPlan 5 (returns $5)
2076 InitPlan 4 (returns $4)
2078 -> Index Scan Backward using t1_pkey on t1 b3t1
2079 Index Cond: (c1 IS NOT NULL)
2080 Filter: (ctid = '(1,1)'::tid)
2082 Join Filter: (bmt1.c1 = c1.c1)
2084 Join Filter: (bmt1.c1 = bmt4.c1)
2087 -> Seq Scan on t1 bmt1
2088 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid))
2089 -> Index Scan using t2_pkey on t2 bmt2
2090 Index Cond: (c1 = bmt1.c1)
2091 Filter: (ctid = '(1,1)'::tid)
2092 -> Bitmap Heap Scan on t3 bmt3
2093 Recheck Cond: (c1 = bmt1.c1)
2094 Filter: (ctid = '(1,1)'::tid)
2095 -> Bitmap Index Scan on t3_pkey
2096 Index Cond: (c1 = bmt1.c1)
2097 -> Tid Scan on t4 bmt4
2098 TID Cond: (ctid = '(1,1)'::tid)
2103 ---- No. S-2-3 RULE or VIEW
2106 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2108 -----------------------------------------------------------------
2111 Join Filter: (t1.c1 = t4.c1)
2113 Join Filter: (t1.c1 = t3.c1)
2115 Join Filter: (t1.c1 = t2.c1)
2118 TID Cond: (ctid = '(1,1)'::tid)
2121 TID Cond: (ctid = '(1,1)'::tid)
2123 Filter: (ctid = '(1,1)'::tid)
2125 TID Cond: (ctid = '(1,1)'::tid)
2127 TID Cond: (ctid = '(1,1)'::tid)
2130 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2132 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2133 LOG: available indexes for IndexScan(t3): t3_pkey
2134 LOG: available indexes for BitmapScan(t4): t4_pkey
2140 IndexScan(t3 t3_pkey)
2141 BitmapScan(t4 t4_pkey)
2147 ------------------------------------------------------------------------------
2152 Join Filter: (t1.c1 = t2.c1)
2155 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2157 TID Cond: (ctid = '(1,1)'::tid)
2159 Filter: (ctid = '(1,1)'::tid)
2160 -> Index Scan using t3_pkey on t3
2161 Index Cond: (c1 = t1.c1)
2162 Filter: (ctid = '(1,1)'::tid)
2163 -> Bitmap Heap Scan on t4
2164 Recheck Cond: (c1 = t1.c1)
2165 Filter: (ctid = '(1,1)'::tid)
2166 -> Bitmap Index Scan on t4_pkey
2167 Index Cond: (c1 = t1.c1)
2170 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2172 -----------------------------------------------------------------
2175 Join Filter: (b1t1.c1 = b1t4.c1)
2177 Join Filter: (b1t1.c1 = b1t3.c1)
2179 Join Filter: (b1t1.c1 = b1t2.c1)
2182 TID Cond: (ctid = '(1,1)'::tid)
2184 -> Tid Scan on t1 b1t1
2185 TID Cond: (ctid = '(1,1)'::tid)
2186 -> Seq Scan on t2 b1t2
2187 Filter: (ctid = '(1,1)'::tid)
2188 -> Tid Scan on t3 b1t3
2189 TID Cond: (ctid = '(1,1)'::tid)
2190 -> Tid Scan on t4 b1t4
2191 TID Cond: (ctid = '(1,1)'::tid)
2194 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2196 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2197 LOG: available indexes for IndexScan(b1t3): t3_pkey
2198 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2203 IndexScan(b1t3 t3_pkey)
2204 BitmapScan(b1t4 t4_pkey)
2211 ------------------------------------------------------------------------------
2216 Join Filter: (b1t1.c1 = b1t2.c1)
2219 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2220 -> Tid Scan on t1 b1t1
2221 TID Cond: (ctid = '(1,1)'::tid)
2222 -> Seq Scan on t2 b1t2
2223 Filter: (ctid = '(1,1)'::tid)
2224 -> Index Scan using t3_pkey on t3 b1t3
2225 Index Cond: (c1 = b1t1.c1)
2226 Filter: (ctid = '(1,1)'::tid)
2227 -> Bitmap Heap Scan on t4 b1t4
2228 Recheck Cond: (c1 = b1t1.c1)
2229 Filter: (ctid = '(1,1)'::tid)
2230 -> Bitmap Index Scan on t4_pkey
2231 Index Cond: (c1 = b1t1.c1)
2235 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2237 -----------------------------------------------------------------
2240 Join Filter: (t1.c1 = t4.c1)
2242 Join Filter: (t1.c1 = t3.c1)
2244 Join Filter: (t1.c1 = t2.c1)
2247 TID Cond: (ctid = '(1,1)'::tid)
2250 TID Cond: (ctid = '(1,1)'::tid)
2252 Filter: (ctid = '(1,1)'::tid)
2254 TID Cond: (ctid = '(1,1)'::tid)
2256 TID Cond: (ctid = '(1,1)'::tid)
2260 Join Filter: (t1.c1 = t4.c1)
2262 Join Filter: (t1.c1 = t3.c1)
2264 Join Filter: (t1.c1 = t2.c1)
2267 TID Cond: (ctid = '(1,1)'::tid)
2270 TID Cond: (ctid = '(1,1)'::tid)
2272 Filter: (ctid = '(1,1)'::tid)
2274 TID Cond: (ctid = '(1,1)'::tid)
2276 TID Cond: (ctid = '(1,1)'::tid)
2279 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2281 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2282 LOG: available indexes for IndexScan(t3): t3_pkey
2283 LOG: available indexes for BitmapScan(t4): t4_pkey
2289 IndexScan(t3 t3_pkey)
2290 BitmapScan(t4 t4_pkey)
2295 LOG: available indexes for IndexScan(t3): t3_pkey
2296 LOG: available indexes for BitmapScan(t4): t4_pkey
2302 IndexScan(t3 t3_pkey)
2303 BitmapScan(t4 t4_pkey)
2309 ------------------------------------------------------------------------------
2314 Join Filter: (t1.c1 = t2.c1)
2317 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2319 TID Cond: (ctid = '(1,1)'::tid)
2321 Filter: (ctid = '(1,1)'::tid)
2322 -> Index Scan using t3_pkey on t3
2323 Index Cond: (c1 = t1.c1)
2324 Filter: (ctid = '(1,1)'::tid)
2325 -> Bitmap Heap Scan on t4
2326 Recheck Cond: (c1 = t1.c1)
2327 Filter: (ctid = '(1,1)'::tid)
2328 -> Bitmap Index Scan on t4_pkey
2329 Index Cond: (c1 = t1.c1)
2335 Join Filter: (t1.c1 = t2.c1)
2338 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2340 TID Cond: (ctid = '(1,1)'::tid)
2342 Filter: (ctid = '(1,1)'::tid)
2343 -> Index Scan using t3_pkey on t3
2344 Index Cond: (c1 = t1.c1)
2345 Filter: (ctid = '(1,1)'::tid)
2346 -> Bitmap Heap Scan on t4
2347 Recheck Cond: (c1 = t1.c1)
2348 Filter: (ctid = '(1,1)'::tid)
2349 -> Bitmap Index Scan on t4_pkey
2350 Index Cond: (c1 = t1.c1)
2353 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2355 -----------------------------------------------------------------
2358 Join Filter: (b1t1.c1 = b1t4.c1)
2360 Join Filter: (b1t1.c1 = b1t3.c1)
2362 Join Filter: (b1t1.c1 = b1t2.c1)
2365 TID Cond: (ctid = '(1,1)'::tid)
2367 -> Tid Scan on t1 b1t1
2368 TID Cond: (ctid = '(1,1)'::tid)
2369 -> Seq Scan on t2 b1t2
2370 Filter: (ctid = '(1,1)'::tid)
2371 -> Tid Scan on t3 b1t3
2372 TID Cond: (ctid = '(1,1)'::tid)
2373 -> Tid Scan on t4 b1t4
2374 TID Cond: (ctid = '(1,1)'::tid)
2378 Join Filter: (b2t1.c1 = b2t4.c1)
2380 Join Filter: (b2t1.c1 = b2t3.c1)
2382 Join Filter: (b2t1.c1 = b2t2.c1)
2385 TID Cond: (ctid = '(1,1)'::tid)
2387 -> Tid Scan on t1 b2t1
2388 TID Cond: (ctid = '(1,1)'::tid)
2389 -> Seq Scan on t2 b2t2
2390 Filter: (ctid = '(1,1)'::tid)
2391 -> Tid Scan on t3 b2t3
2392 TID Cond: (ctid = '(1,1)'::tid)
2393 -> Tid Scan on t4 b2t4
2394 TID Cond: (ctid = '(1,1)'::tid)
2397 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2398 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2400 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2401 LOG: available indexes for IndexScan(b1t3): t3_pkey
2402 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2407 IndexScan(b1t3 t3_pkey)
2408 BitmapScan(b1t4 t4_pkey)
2411 BitmapScan(b2t1 t1_pkey)
2414 IndexScan(b2t4 t4_pkey)
2418 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2419 LOG: available indexes for IndexScan(b2t4): t4_pkey
2422 BitmapScan(b2t1 t1_pkey)
2425 IndexScan(b2t4 t4_pkey)
2430 IndexScan(b1t3 t3_pkey)
2431 BitmapScan(b1t4 t4_pkey)
2436 ------------------------------------------------------------------------------
2441 Join Filter: (b1t1.c1 = b1t2.c1)
2444 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2445 -> Tid Scan on t1 b1t1
2446 TID Cond: (ctid = '(1,1)'::tid)
2447 -> Seq Scan on t2 b1t2
2448 Filter: (ctid = '(1,1)'::tid)
2449 -> Index Scan using t3_pkey on t3 b1t3
2450 Index Cond: (c1 = b1t1.c1)
2451 Filter: (ctid = '(1,1)'::tid)
2452 -> Bitmap Heap Scan on t4 b1t4
2453 Recheck Cond: (c1 = b1t1.c1)
2454 Filter: (ctid = '(1,1)'::tid)
2455 -> Bitmap Index Scan on t4_pkey
2456 Index Cond: (c1 = b1t1.c1)
2461 Join Filter: (b2t1.c1 = b2t3.c1)
2465 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2466 -> Tid Scan on t2 b2t2
2467 TID Cond: (ctid = '(1,1)'::tid)
2468 -> Bitmap Heap Scan on t1 b2t1
2469 Recheck Cond: (c1 = b2t2.c1)
2470 Filter: (ctid = '(1,1)'::tid)
2471 -> Bitmap Index Scan on t1_pkey
2472 Index Cond: (c1 = b2t2.c1)
2473 -> Seq Scan on t3 b2t3
2474 Filter: (ctid = '(1,1)'::tid)
2475 -> Index Scan using t4_pkey on t4 b2t4
2476 Index Cond: (c1 = b2t1.c1)
2477 Filter: (ctid = '(1,1)'::tid)
2481 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2483 -----------------------------------------------------------------
2486 Join Filter: (t1.c1 = t4.c1)
2488 Join Filter: (t1.c1 = t3.c1)
2490 Join Filter: (t1.c1 = t2.c1)
2493 TID Cond: (ctid = '(1,1)'::tid)
2496 TID Cond: (ctid = '(1,1)'::tid)
2498 Filter: (ctid = '(1,1)'::tid)
2500 TID Cond: (ctid = '(1,1)'::tid)
2502 TID Cond: (ctid = '(1,1)'::tid)
2506 Join Filter: (t1.c1 = t4.c1)
2508 Join Filter: (t1.c1 = t3.c1)
2510 Join Filter: (t1.c1 = t2.c1)
2513 TID Cond: (ctid = '(1,1)'::tid)
2516 TID Cond: (ctid = '(1,1)'::tid)
2518 Filter: (ctid = '(1,1)'::tid)
2520 TID Cond: (ctid = '(1,1)'::tid)
2522 TID Cond: (ctid = '(1,1)'::tid)
2526 Join Filter: (t1.c1 = t4.c1)
2528 Join Filter: (t1.c1 = t3.c1)
2530 Join Filter: (t1.c1 = t2.c1)
2533 TID Cond: (ctid = '(1,1)'::tid)
2536 TID Cond: (ctid = '(1,1)'::tid)
2538 Filter: (ctid = '(1,1)'::tid)
2540 TID Cond: (ctid = '(1,1)'::tid)
2542 TID Cond: (ctid = '(1,1)'::tid)
2545 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2547 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2548 LOG: available indexes for IndexScan(t3): t3_pkey
2549 LOG: available indexes for BitmapScan(t4): t4_pkey
2555 IndexScan(t3 t3_pkey)
2556 BitmapScan(t4 t4_pkey)
2561 LOG: available indexes for IndexScan(t3): t3_pkey
2562 LOG: available indexes for BitmapScan(t4): t4_pkey
2568 IndexScan(t3 t3_pkey)
2569 BitmapScan(t4 t4_pkey)
2574 LOG: available indexes for IndexScan(t3): t3_pkey
2575 LOG: available indexes for BitmapScan(t4): t4_pkey
2581 IndexScan(t3 t3_pkey)
2582 BitmapScan(t4 t4_pkey)
2588 ------------------------------------------------------------------------------
2593 Join Filter: (t1.c1 = t2.c1)
2596 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2598 TID Cond: (ctid = '(1,1)'::tid)
2600 Filter: (ctid = '(1,1)'::tid)
2601 -> Index Scan using t3_pkey on t3
2602 Index Cond: (c1 = t1.c1)
2603 Filter: (ctid = '(1,1)'::tid)
2604 -> Bitmap Heap Scan on t4
2605 Recheck Cond: (c1 = t1.c1)
2606 Filter: (ctid = '(1,1)'::tid)
2607 -> Bitmap Index Scan on t4_pkey
2608 Index Cond: (c1 = t1.c1)
2614 Join Filter: (t1.c1 = t2.c1)
2617 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2619 TID Cond: (ctid = '(1,1)'::tid)
2621 Filter: (ctid = '(1,1)'::tid)
2622 -> Index Scan using t3_pkey on t3
2623 Index Cond: (c1 = t1.c1)
2624 Filter: (ctid = '(1,1)'::tid)
2625 -> Bitmap Heap Scan on t4
2626 Recheck Cond: (c1 = t1.c1)
2627 Filter: (ctid = '(1,1)'::tid)
2628 -> Bitmap Index Scan on t4_pkey
2629 Index Cond: (c1 = t1.c1)
2635 Join Filter: (t1.c1 = t2.c1)
2638 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2640 TID Cond: (ctid = '(1,1)'::tid)
2642 Filter: (ctid = '(1,1)'::tid)
2643 -> Index Scan using t3_pkey on t3
2644 Index Cond: (c1 = t1.c1)
2645 Filter: (ctid = '(1,1)'::tid)
2646 -> Bitmap Heap Scan on t4
2647 Recheck Cond: (c1 = t1.c1)
2648 Filter: (ctid = '(1,1)'::tid)
2649 -> Bitmap Index Scan on t4_pkey
2650 Index Cond: (c1 = t1.c1)
2653 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2655 -----------------------------------------------------------------
2658 Join Filter: (b1t1.c1 = b1t4.c1)
2660 Join Filter: (b1t1.c1 = b1t3.c1)
2662 Join Filter: (b1t1.c1 = b1t2.c1)
2665 TID Cond: (ctid = '(1,1)'::tid)
2667 -> Tid Scan on t1 b1t1
2668 TID Cond: (ctid = '(1,1)'::tid)
2669 -> Seq Scan on t2 b1t2
2670 Filter: (ctid = '(1,1)'::tid)
2671 -> Tid Scan on t3 b1t3
2672 TID Cond: (ctid = '(1,1)'::tid)
2673 -> Tid Scan on t4 b1t4
2674 TID Cond: (ctid = '(1,1)'::tid)
2678 Join Filter: (b2t1.c1 = b2t4.c1)
2680 Join Filter: (b2t1.c1 = b2t3.c1)
2682 Join Filter: (b2t1.c1 = b2t2.c1)
2685 TID Cond: (ctid = '(1,1)'::tid)
2687 -> Tid Scan on t1 b2t1
2688 TID Cond: (ctid = '(1,1)'::tid)
2689 -> Seq Scan on t2 b2t2
2690 Filter: (ctid = '(1,1)'::tid)
2691 -> Tid Scan on t3 b2t3
2692 TID Cond: (ctid = '(1,1)'::tid)
2693 -> Tid Scan on t4 b2t4
2694 TID Cond: (ctid = '(1,1)'::tid)
2698 Join Filter: (b3t1.c1 = b3t4.c1)
2700 Join Filter: (b3t1.c1 = b3t3.c1)
2702 Join Filter: (b3t1.c1 = b3t2.c1)
2705 TID Cond: (ctid = '(1,1)'::tid)
2707 -> Tid Scan on t1 b3t1
2708 TID Cond: (ctid = '(1,1)'::tid)
2709 -> Seq Scan on t2 b3t2
2710 Filter: (ctid = '(1,1)'::tid)
2711 -> Tid Scan on t3 b3t3
2712 TID Cond: (ctid = '(1,1)'::tid)
2713 -> Tid Scan on t4 b3t4
2714 TID Cond: (ctid = '(1,1)'::tid)
2717 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2718 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2719 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
2721 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2722 LOG: available indexes for IndexScan(b1t3): t3_pkey
2723 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2728 IndexScan(b1t3 t3_pkey)
2729 BitmapScan(b1t4 t4_pkey)
2732 BitmapScan(b2t1 t1_pkey)
2735 IndexScan(b2t4 t4_pkey)
2736 IndexScan(b3t1 t1_pkey)
2737 BitmapScan(b3t2 t2_pkey)
2743 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2744 LOG: available indexes for IndexScan(b2t4): t4_pkey
2747 BitmapScan(b2t1 t1_pkey)
2750 IndexScan(b2t4 t4_pkey)
2755 IndexScan(b1t3 t3_pkey)
2756 BitmapScan(b1t4 t4_pkey)
2757 IndexScan(b3t1 t1_pkey)
2758 BitmapScan(b3t2 t2_pkey)
2764 LOG: available indexes for IndexScan(b3t1): t1_pkey
2765 LOG: available indexes for BitmapScan(b3t2): t2_pkey
2768 IndexScan(b3t1 t1_pkey)
2769 BitmapScan(b3t2 t2_pkey)
2776 IndexScan(b1t3 t3_pkey)
2777 BitmapScan(b1t4 t4_pkey)
2778 BitmapScan(b2t1 t1_pkey)
2781 IndexScan(b2t4 t4_pkey)
2786 ------------------------------------------------------------------------------
2791 Join Filter: (b1t1.c1 = b1t2.c1)
2794 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2795 -> Tid Scan on t1 b1t1
2796 TID Cond: (ctid = '(1,1)'::tid)
2797 -> Seq Scan on t2 b1t2
2798 Filter: (ctid = '(1,1)'::tid)
2799 -> Index Scan using t3_pkey on t3 b1t3
2800 Index Cond: (c1 = b1t1.c1)
2801 Filter: (ctid = '(1,1)'::tid)
2802 -> Bitmap Heap Scan on t4 b1t4
2803 Recheck Cond: (c1 = b1t1.c1)
2804 Filter: (ctid = '(1,1)'::tid)
2805 -> Bitmap Index Scan on t4_pkey
2806 Index Cond: (c1 = b1t1.c1)
2811 Join Filter: (b2t1.c1 = b2t3.c1)
2815 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2816 -> Tid Scan on t2 b2t2
2817 TID Cond: (ctid = '(1,1)'::tid)
2818 -> Bitmap Heap Scan on t1 b2t1
2819 Recheck Cond: (c1 = b2t2.c1)
2820 Filter: (ctid = '(1,1)'::tid)
2821 -> Bitmap Index Scan on t1_pkey
2822 Index Cond: (c1 = b2t2.c1)
2823 -> Seq Scan on t3 b2t3
2824 Filter: (ctid = '(1,1)'::tid)
2825 -> Index Scan using t4_pkey on t4 b2t4
2826 Index Cond: (c1 = b2t1.c1)
2827 Filter: (ctid = '(1,1)'::tid)
2831 Join Filter: (b3t1.c1 = b3t4.c1)
2836 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2837 -> Tid Scan on t3 b3t3
2838 TID Cond: (ctid = '(1,1)'::tid)
2839 -> Index Scan using t1_pkey on t1 b3t1
2840 Index Cond: (c1 = b3t3.c1)
2841 Filter: (ctid = '(1,1)'::tid)
2842 -> Bitmap Heap Scan on t2 b3t2
2843 Recheck Cond: (c1 = b3t1.c1)
2844 Filter: (ctid = '(1,1)'::tid)
2845 -> Bitmap Index Scan on t2_pkey
2846 Index Cond: (c1 = b3t1.c1)
2847 -> Seq Scan on t4 b3t4
2848 Filter: (ctid = '(1,1)'::tid)
2852 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2854 ----------------------------------
2856 Hash Cond: (v1t1.c1 = v1t1.c1)
2857 -> Seq Scan on t1 v1t1
2859 -> Seq Scan on t1 v1t1
2862 /*+BitmapScan(v1t1)*/
2863 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2872 ------------------------------------------
2874 -> Index Scan using t1_i1 on t1 v1t1
2875 -> Bitmap Heap Scan on t1 v1t1
2876 Recheck Cond: (c1 = v1t1.c1)
2877 -> Bitmap Index Scan on t1_i1
2878 Index Cond: (c1 = v1t1.c1)
2882 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2884 -----------------------------------
2886 Hash Cond: (v1t1.c1 = v1t1_.c1)
2887 -> Seq Scan on t1 v1t1
2889 -> Seq Scan on t1 v1t1_
2892 /*+SeqScan(v1t1)BitmapScan(v1t1_)*/
2893 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2903 ------------------------------------------
2905 -> Seq Scan on t1 v1t1
2906 -> Bitmap Heap Scan on t1 v1t1_
2907 Recheck Cond: (c1 = v1t1.c1)
2908 -> Bitmap Index Scan on t1_i1
2909 Index Cond: (c1 = v1t1.c1)
2913 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2915 ----------------------------------
2917 Hash Cond: (r4t1.c1 = r4t1.c1)
2918 -> Seq Scan on t1 r4t1
2920 -> Seq Scan on t1 r4t1
2923 /*+BitmapScan(r4t1)*/
2924 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2933 ------------------------------------------
2935 -> Index Scan using t1_i1 on t1 r4t1
2936 -> Bitmap Heap Scan on t1 r4t1
2937 Recheck Cond: (c1 = r4t1.c1)
2938 -> Bitmap Index Scan on t1_i1
2939 Index Cond: (c1 = r4t1.c1)
2943 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2945 ----------------------------------
2947 Hash Cond: (r4t1.c1 = r5t1.c1)
2948 -> Seq Scan on t1 r4t1
2950 -> Seq Scan on t1 r5t1
2953 /*+SeqScan(r4t1)BitmapScan(r5t1)*/
2954 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2964 ------------------------------------------
2966 -> Seq Scan on t1 r4t1
2967 -> Bitmap Heap Scan on t1 r5t1
2968 Recheck Cond: (c1 = r4t1.c1)
2969 -> Bitmap Index Scan on t1_i1
2970 Index Cond: (c1 = r4t1.c1)
2974 ---- No. S-2-4 VALUES clause
2977 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
2979 ---------------------------
2980 Values Scan on "*VALUES*"
2981 Filter: (column1 = 1)
2985 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
2994 ---------------------------
2995 Values Scan on "*VALUES*"
2996 Filter: (column1 = 1)
2999 /*+SeqScan(*VALUES*)*/
3000 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3009 ---------------------------
3010 Values Scan on "*VALUES*"
3011 Filter: (column1 = 1)
3015 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;
3017 ----------------------------------------------------------
3019 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
3020 -> Values Scan on "*VALUES*"
3021 -> Values Scan on "*VALUES*"
3025 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;
3026 INFO: hint syntax error at or near ""
3027 DETAIL: SeqScan hint accepts only one relation.
3036 ----------------------------------------------------------
3038 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
3039 -> Values Scan on "*VALUES*"
3040 -> Values Scan on "*VALUES*"
3043 /*+SeqScan(*VALUES*)*/
3044 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;
3053 ----------------------------------------------------------
3055 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
3056 -> Values Scan on "*VALUES*"
3057 -> Values Scan on "*VALUES*"
3061 ---- No. S-3-1 scan method hint
3064 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3066 ---------------------
3072 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3081 ---------------------
3087 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3089 ------------------------------
3090 Index Scan using t1_i1 on t1
3091 Index Cond: (c1 = 1)
3095 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3104 --------------------
3110 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3112 ------------------------------
3113 Index Scan using t1_i1 on t1
3114 Index Cond: (c1 = 1)
3118 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3127 ------------------------------
3128 Index Scan using t1_i1 on t1
3129 Index Cond: (c1 = 1)
3133 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3135 ---------------------
3141 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3150 ------------------------------
3151 Index Scan using t1_i1 on t1
3152 Index Cond: (c1 >= 1)
3156 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3158 ---------------------------------
3159 Bitmap Heap Scan on t1
3160 Recheck Cond: (c3 < 10)
3161 -> Bitmap Index Scan on t1_i
3162 Index Cond: (c3 < 10)
3166 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3175 ---------------------------------
3176 Bitmap Heap Scan on t1
3177 Recheck Cond: (c3 < 10)
3178 -> Bitmap Index Scan on t1_i
3179 Index Cond: (c3 < 10)
3183 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3185 ------------------------------
3186 Index Scan using t1_i1 on t1
3187 Index Cond: (c1 = 1)
3191 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3200 ----------------------------------
3201 Bitmap Heap Scan on t1
3202 Recheck Cond: (c1 = 1)
3203 -> Bitmap Index Scan on t1_i1
3204 Index Cond: (c1 = 1)
3208 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3210 -----------------------------------
3212 TID Cond: (ctid = '(1,1)'::tid)
3217 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3226 -----------------------------------
3228 TID Cond: (ctid = '(1,1)'::tid)
3233 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3235 -------------------------------------------------------------
3236 Index Scan using t1_i1 on t1
3237 Index Cond: (c1 = 1)
3238 Filter: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3242 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3251 ---------------------------------------------------------------
3253 TID Cond: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3258 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3260 ---------------------
3266 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3275 ------------------------------
3276 Index Scan using t1_i1 on t1
3277 Index Cond: (c1 >= 1)
3281 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3283 ------------------------------
3284 Index Scan using t1_i1 on t1
3285 Index Cond: (c1 = 1)
3289 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3298 ------------------------------
3299 Index Scan using t1_i1 on t1
3300 Index Cond: (c1 = 1)
3304 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3306 ------------------------------
3307 Index Scan using t1_i1 on t1
3308 Index Cond: (c1 = 1)
3311 /*+NoIndexScan(t1)*/
3312 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3321 ----------------------------------
3322 Bitmap Heap Scan on t1
3323 Recheck Cond: (c1 = 1)
3324 -> Bitmap Index Scan on t1_i1
3325 Index Cond: (c1 = 1)
3329 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3331 ---------------------
3336 /*+NoIndexScan(t1)*/
3337 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3346 ---------------------
3352 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3354 ---------------------------------
3355 Bitmap Heap Scan on t1
3356 Recheck Cond: (c3 < 10)
3357 -> Bitmap Index Scan on t1_i
3358 Index Cond: (c3 < 10)
3361 /*+NoBitmapScan(t1)*/
3362 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3371 ---------------------
3377 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3379 ------------------------------
3380 Index Scan using t1_i1 on t1
3381 Index Cond: (c1 = 1)
3384 /*+NoBitmapScan(t1)*/
3385 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3394 ------------------------------
3395 Index Scan using t1_i1 on t1
3396 Index Cond: (c1 = 1)
3400 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3402 -----------------------------------
3404 TID Cond: (ctid = '(1,1)'::tid)
3409 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3418 ---------------------------------
3419 Index Scan using t1_i1 on t1
3420 Index Cond: (c1 = 1)
3421 Filter: (ctid = '(1,1)'::tid)
3425 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3427 ------------------------------
3428 Index Scan using t1_i1 on t1
3429 Index Cond: (c1 = 1)
3433 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3442 ------------------------------
3443 Index Scan using t1_i1 on t1
3444 Index Cond: (c1 = 1)
3448 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3450 -----------------------------------
3451 Index Only Scan using t1_i1 on t1
3452 Index Cond: (c1 = 1)
3455 /*+IndexOnlyScan(t1)*/
3456 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3465 -----------------------------------
3466 Index Only Scan using t1_i1 on t1
3467 Index Cond: (c1 = 1)
3471 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3473 ---------------------
3478 /*+IndexOnlyScan(t1)*/
3479 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3488 -----------------------------------
3489 Index Only Scan using t1_i1 on t1
3490 Index Cond: (c1 >= 1)
3494 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3496 -----------------------------------
3497 Index Only Scan using t1_i1 on t1
3498 Index Cond: (c1 = 1)
3501 /*+NoIndexOnlyScan(t1)*/
3502 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3511 ------------------------------
3512 Index Scan using t1_i1 on t1
3513 Index Cond: (c1 = 1)
3517 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3519 ---------------------
3524 /*+NoIndexOnlyScan(t1)*/
3525 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3534 ---------------------
3540 ---- No. S-3-3 index name specified
3542 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3544 -----------------------------------
3546 TID Cond: (ctid = '(1,1)'::tid)
3550 SET enable_tidscan TO off;
3551 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3553 ---------------------------------
3554 Index Scan using ti1_i2 on ti1
3555 Index Cond: (c2 = 1)
3556 Filter: (ctid = '(1,1)'::tid)
3559 SET enable_indexscan TO off;
3560 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3562 -----------------------------------
3563 Bitmap Heap Scan on ti1
3564 Recheck Cond: (c2 = 1)
3565 Filter: (ctid = '(1,1)'::tid)
3566 -> Bitmap Index Scan on ti1_i2
3567 Index Cond: (c2 = 1)
3570 RESET enable_tidscan;
3571 RESET enable_indexscan;
3572 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3574 ---------------------
3580 /*+IndexScan(ti1 ti1_i3)*/
3581 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3582 LOG: available indexes for IndexScan(ti1): ti1_i3
3585 IndexScan(ti1 ti1_i3)
3591 ---------------------------------
3592 Index Scan using ti1_i3 on ti1
3593 Index Cond: (c2 = 1)
3594 Filter: (ctid = '(1,1)'::tid)
3598 /*+IndexScan(ti1 ti1_i3 ti1_i2)*/
3599 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3600 LOG: available indexes for IndexScan(ti1): ti1_i3 ti1_i2
3603 IndexScan(ti1 ti1_i3 ti1_i2)
3609 ---------------------------------
3610 Index Scan using ti1_i2 on ti1
3611 Index Cond: (c2 = 1)
3612 Filter: (ctid = '(1,1)'::tid)
3616 /*+IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3617 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3618 LOG: available indexes for IndexScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3621 IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3627 ---------------------------------
3628 Index Scan using ti1_i2 on ti1
3629 Index Cond: (c2 = 1)
3630 Filter: (ctid = '(1,1)'::tid)
3634 /*+BitmapScan(ti1 ti1_i3)*/
3635 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3636 LOG: available indexes for BitmapScan(ti1): ti1_i3
3639 BitmapScan(ti1 ti1_i3)
3645 -----------------------------------
3646 Bitmap Heap Scan on ti1
3647 Recheck Cond: (c2 = 1)
3648 Filter: (ctid = '(1,1)'::tid)
3649 -> Bitmap Index Scan on ti1_i3
3650 Index Cond: (c2 = 1)
3654 /*+BitmapScan(ti1 ti1_i3 ti1_i2)*/
3655 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3656 LOG: available indexes for BitmapScan(ti1): ti1_i3 ti1_i2
3659 BitmapScan(ti1 ti1_i3 ti1_i2)
3665 -----------------------------------
3666 Bitmap Heap Scan on ti1
3667 Recheck Cond: (c2 = 1)
3668 Filter: (ctid = '(1,1)'::tid)
3669 -> Bitmap Index Scan on ti1_i2
3670 Index Cond: (c2 = 1)
3674 /*+BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3675 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3676 LOG: available indexes for BitmapScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3679 BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3685 -----------------------------------
3686 Bitmap Heap Scan on ti1
3687 Recheck Cond: (c2 = 1)
3688 Filter: (ctid = '(1,1)'::tid)
3689 -> Bitmap Index Scan on ti1_i2
3690 Index Cond: (c2 = 1)
3694 /*+IndexOnlyScan(ti1 ti1_i3)*/
3695 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3696 LOG: available indexes for IndexOnlyScan(ti1): ti1_i3
3699 IndexOnlyScan(ti1 ti1_i3)
3705 -------------------------------------
3706 Index Only Scan using ti1_i3 on ti1
3707 Index Cond: (c2 >= 1)
3711 /*+IndexOnlyScan(ti1 ti1_i3 ti1_i2)*/
3712 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3713 LOG: available indexes for IndexOnlyScan(ti1): ti1_i3 ti1_i2
3716 IndexOnlyScan(ti1 ti1_i3 ti1_i2)
3722 -------------------------------------
3723 Index Only Scan using ti1_i2 on ti1
3724 Index Cond: (c2 >= 1)
3728 /*+IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3729 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3730 LOG: available indexes for IndexOnlyScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3733 IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3739 -------------------------------------
3740 Index Only Scan using ti1_i1 on ti1
3741 Index Cond: (c2 >= 1)
3745 ---- No. S-3-4 index type
3749 Column | Type | Modifiers
3750 --------+---------+-----------
3751 c1 | integer | not null
3756 "ti1_pkey" PRIMARY KEY, btree (c1)
3757 "ti1_c2_key" UNIQUE CONSTRAINT, btree (c2)
3758 "ti1_uniq" UNIQUE, btree (c1)
3759 "ti1_btree" btree (c1)
3760 "ti1_expr" btree ((c1 < 100))
3762 "ti1_gist" gist (c1)
3763 "ti1_hash" hash (c1)
3765 "ti1_i2" btree (c2, c4)
3766 "ti1_i3" btree (c2, c4, c4)
3767 "ti1_i4" btree (c2, c4, c4, c4)
3768 "ti1_multi" btree (c1, c2, c3, c4)
3769 "ti1_pred" btree (lower(c4))
3770 "ti1_ts" gin (to_tsvector('english'::regconfig, c4))
3772 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)';
3774 -----------------------------------------------------------------------------------------------------------------------------------------
3776 TID Cond: (ctid = '(1,1)'::tid)
3777 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3781 /*+IndexScan(ti1 ti1_btree)*/
3782 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)';
3783 LOG: available indexes for IndexScan(ti1): ti1_btree
3786 IndexScan(ti1 ti1_btree)
3792 ----------------------------------------------------------------------------------------------------------------------------------------------------
3793 Index Scan using ti1_btree on ti1
3794 Index Cond: (c1 < 100)
3795 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3799 /*+IndexScan(ti1 ti1_hash)*/
3800 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)';
3801 LOG: available indexes for IndexScan(ti1): ti1_hash
3804 IndexScan(ti1 ti1_hash)
3810 ----------------------------------------------------------------------------------------------------------------------------------------------------
3811 Index Scan using ti1_hash on ti1
3812 Index Cond: (c1 = 100)
3813 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3817 /*+IndexScan(ti1 ti1_gist)*/
3818 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)';
3819 LOG: available indexes for IndexScan(ti1): ti1_gist
3822 IndexScan(ti1 ti1_gist)
3828 ----------------------------------------------------------------------------------------------------------------------------------------------------
3829 Index Scan using ti1_gist on ti1
3830 Index Cond: (c1 < 100)
3831 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3835 /*+IndexScan(ti1 ti1_gin)*/
3836 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)';
3837 LOG: available indexes for IndexScan(ti1): ti1_gin
3840 IndexScan(ti1 ti1_gin)
3846 -----------------------------------------------------------------------------------------------------------------------------------------
3848 TID Cond: (ctid = '(1,1)'::tid)
3849 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3853 /*+IndexScan(ti1 ti1_expr)*/
3854 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)';
3855 LOG: available indexes for IndexScan(ti1): ti1_expr
3858 IndexScan(ti1 ti1_expr)
3864 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
3865 Index Scan using ti1_expr on ti1
3866 Index Cond: ((c1 < 100) = true)
3867 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))
3871 /*+IndexScan(ti1 ti1_pred)*/
3872 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)';
3873 LOG: available indexes for IndexScan(ti1): ti1_pred
3876 IndexScan(ti1 ti1_pred)
3882 ---------------------------------------------------------------------------------------------------------------------------------------
3883 Index Scan using ti1_pred on ti1
3884 Index Cond: (lower(c4) = '1'::text)
3885 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3889 /*+IndexScan(ti1 ti1_uniq)*/
3890 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)';
3891 LOG: available indexes for IndexScan(ti1): ti1_uniq
3894 IndexScan(ti1 ti1_uniq)
3900 ----------------------------------------------------------------------------------------------------------------------------------------------------
3901 Index Scan using ti1_uniq on ti1
3902 Index Cond: (c1 < 100)
3903 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3907 /*+IndexScan(ti1 ti1_multi)*/
3908 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)';
3909 LOG: available indexes for IndexScan(ti1): ti1_multi
3912 IndexScan(ti1 ti1_multi)
3918 ---------------------------------------------------------------------------------------------------------------------------------------
3919 Index Scan using ti1_multi on ti1
3920 Index Cond: ((c1 < 100) AND (c2 = 1))
3921 Filter: ((ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3925 /*+IndexScan(ti1 ti1_ts)*/
3926 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)';
3927 LOG: available indexes for IndexScan(ti1): ti1_ts
3930 IndexScan(ti1 ti1_ts)
3936 -----------------------------------------------------------------------------------------------------------------------------------------
3938 TID Cond: (ctid = '(1,1)'::tid)
3939 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3943 /*+IndexScan(ti1 ti1_pkey)*/
3944 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)';
3945 LOG: available indexes for IndexScan(ti1): ti1_pkey
3948 IndexScan(ti1 ti1_pkey)
3954 ----------------------------------------------------------------------------------------------------------------------------------------------------
3955 Index Scan using ti1_pkey on ti1
3956 Index Cond: (c1 < 100)
3957 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3961 /*+IndexScan(ti1 ti1_c2_key)*/
3962 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)';
3963 LOG: available indexes for IndexScan(ti1): ti1_c2_key
3966 IndexScan(ti1 ti1_c2_key)
3972 ------------------------------------------------------------------------------------------------------------------------------------------------------
3973 Index Scan using ti1_c2_key on ti1
3974 Index Cond: (c2 = 1)
3975 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3979 /*+BitmapScan(ti1 ti1_btree)*/
3980 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)';
3981 LOG: available indexes for BitmapScan(ti1): ti1_btree
3984 BitmapScan(ti1 ti1_btree)
3990 ----------------------------------------------------------------------------------------------------------------------------------------------------
3991 Bitmap Heap Scan on ti1
3992 Recheck Cond: (c1 < 100)
3993 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3994 -> Bitmap Index Scan on ti1_btree
3995 Index Cond: (c1 < 100)
3999 /*+BitmapScan(ti1 ti1_hash)*/
4000 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)';
4001 LOG: available indexes for BitmapScan(ti1): ti1_hash
4004 BitmapScan(ti1 ti1_hash)
4010 ----------------------------------------------------------------------------------------------------------------------------------------------------
4011 Bitmap Heap Scan on ti1
4012 Recheck Cond: (c1 = 100)
4013 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4014 -> Bitmap Index Scan on ti1_hash
4015 Index Cond: (c1 = 100)
4019 /*+BitmapScan(ti1 ti1_gist)*/
4020 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)';
4021 LOG: available indexes for BitmapScan(ti1): ti1_gist
4024 BitmapScan(ti1 ti1_gist)
4030 ----------------------------------------------------------------------------------------------------------------------------------------------------
4031 Bitmap Heap Scan on ti1
4032 Recheck Cond: (c1 < 100)
4033 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4034 -> Bitmap Index Scan on ti1_gist
4035 Index Cond: (c1 < 100)
4039 /*+BitmapScan(ti1 ti1_gin)*/
4040 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)';
4041 LOG: available indexes for BitmapScan(ti1): ti1_gin
4044 BitmapScan(ti1 ti1_gin)
4050 ----------------------------------------------------------------------------------------------------------------------------------------------------
4051 Bitmap Heap Scan on ti1
4052 Recheck Cond: (c1 < 100)
4053 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4054 -> Bitmap Index Scan on ti1_gin
4055 Index Cond: (c1 < 100)
4059 /*+BitmapScan(ti1 ti1_expr)*/
4060 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)';
4061 LOG: available indexes for BitmapScan(ti1): ti1_expr
4064 BitmapScan(ti1 ti1_expr)
4070 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
4071 Bitmap Heap Scan on ti1
4072 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))
4073 -> Bitmap Index Scan on ti1_expr
4074 Index Cond: ((c1 < 100) = true)
4078 /*+BitmapScan(ti1 ti1_pred)*/
4079 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)';
4080 LOG: available indexes for BitmapScan(ti1): ti1_pred
4083 BitmapScan(ti1 ti1_pred)
4089 ---------------------------------------------------------------------------------------------------------------------------------------
4090 Bitmap Heap Scan on ti1
4091 Recheck Cond: (lower(c4) = '1'::text)
4092 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4093 -> Bitmap Index Scan on ti1_pred
4094 Index Cond: (lower(c4) = '1'::text)
4098 /*+BitmapScan(ti1 ti1_uniq)*/
4099 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)';
4100 LOG: available indexes for BitmapScan(ti1): ti1_uniq
4103 BitmapScan(ti1 ti1_uniq)
4109 ----------------------------------------------------------------------------------------------------------------------------------------------------
4110 Bitmap Heap Scan on ti1
4111 Recheck Cond: (c1 < 100)
4112 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4113 -> Bitmap Index Scan on ti1_uniq
4114 Index Cond: (c1 < 100)
4118 /*+BitmapScan(ti1 ti1_multi)*/
4119 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)';
4120 LOG: available indexes for BitmapScan(ti1): ti1_multi
4123 BitmapScan(ti1 ti1_multi)
4129 ---------------------------------------------------------------------------------------------------------------------------------------
4130 Bitmap Heap Scan on ti1
4131 Recheck Cond: ((c1 < 100) AND (c2 = 1))
4132 Filter: ((ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4133 -> Bitmap Index Scan on ti1_multi
4134 Index Cond: ((c1 < 100) AND (c2 = 1))
4138 /*+BitmapScan(ti1 ti1_ts)*/
4139 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)';
4140 LOG: available indexes for BitmapScan(ti1): ti1_ts
4143 BitmapScan(ti1 ti1_ts)
4149 -------------------------------------------------------------------------------------------
4150 Bitmap Heap Scan on ti1
4151 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4152 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text))
4153 -> Bitmap Index Scan on ti1_ts
4154 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4158 /*+BitmapScan(ti1 ti1_pkey)*/
4159 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)';
4160 LOG: available indexes for BitmapScan(ti1): ti1_pkey
4163 BitmapScan(ti1 ti1_pkey)
4169 ----------------------------------------------------------------------------------------------------------------------------------------------------
4170 Bitmap Heap Scan on ti1
4171 Recheck Cond: (c1 < 100)
4172 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4173 -> Bitmap Index Scan on ti1_pkey
4174 Index Cond: (c1 < 100)
4178 /*+BitmapScan(ti1 ti1_c2_key)*/
4179 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)';
4180 LOG: available indexes for BitmapScan(ti1): ti1_c2_key
4183 BitmapScan(ti1 ti1_c2_key)
4189 ------------------------------------------------------------------------------------------------------------------------------------------------------
4190 Bitmap Heap Scan on ti1
4191 Recheck Cond: (c2 = 1)
4192 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4193 -> Bitmap Index Scan on ti1_c2_key
4194 Index Cond: (c2 = 1)
4198 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4200 ---------------------
4205 /*+IndexOnlyScan(ti1 ti1_btree)*/
4206 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4207 LOG: available indexes for IndexOnlyScan(ti1): ti1_btree
4210 IndexOnlyScan(ti1 ti1_btree)
4216 ----------------------------------------
4217 Index Only Scan using ti1_btree on ti1
4218 Index Cond: (c1 >= 1)
4222 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4224 ---------------------------------------
4225 Index Only Scan using ti1_uniq on ti1
4226 Index Cond: (c1 = 1)
4229 /*+IndexOnlyScan(ti1 ti1_hash)*/
4230 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4231 LOG: available indexes for IndexOnlyScan(ti1): ti1_hash
4234 IndexOnlyScan(ti1 ti1_hash)
4240 ----------------------------------
4241 Index Scan using ti1_hash on ti1
4242 Index Cond: (c1 = 1)
4246 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4248 ---------------------------------------
4249 Index Only Scan using ti1_uniq on ti1
4250 Index Cond: (c1 < 1)
4253 /*+IndexOnlyScan(ti1 ti1_gist)*/
4254 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4255 LOG: available indexes for IndexOnlyScan(ti1): ti1_gist
4258 IndexOnlyScan(ti1 ti1_gist)
4264 ----------------------------------
4265 Index Scan using ti1_gist on ti1
4266 Index Cond: (c1 < 1)
4270 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4272 ---------------------------------------
4273 Index Only Scan using ti1_uniq on ti1
4274 Index Cond: (c1 = 1)
4277 /*+IndexOnlyScan(ti1 ti1_gin)*/
4278 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4279 LOG: available indexes for IndexOnlyScan(ti1): ti1_gin
4282 IndexOnlyScan(ti1 ti1_gin)
4288 --------------------
4294 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4296 ---------------------------------------
4297 Index Only Scan using ti1_uniq on ti1
4298 Index Cond: (c1 < 100)
4301 /*+IndexOnlyScan(ti1 ti1_expr)*/
4302 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4303 LOG: available indexes for IndexOnlyScan(ti1): ti1_expr
4306 IndexOnlyScan(ti1 ti1_expr)
4312 -----------------------------------
4313 Index Scan using ti1_expr on ti1
4314 Index Cond: ((c1 < 100) = true)
4319 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4321 ------------------------------------
4323 Filter: (lower(c4) >= '1'::text)
4326 /*+IndexOnlyScan(ti1 ti1_pred)*/
4327 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4328 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
4331 IndexOnlyScan(ti1 ti1_pred)
4337 ----------------------------------------
4338 Index Scan using ti1_pred on ti1
4339 Index Cond: (lower(c4) >= '1'::text)
4343 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4345 ---------------------
4350 /*+IndexOnlyScan(ti1 ti1_uniq)*/
4351 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4352 LOG: available indexes for IndexOnlyScan(ti1): ti1_uniq
4355 IndexOnlyScan(ti1 ti1_uniq)
4361 ---------------------------------------
4362 Index Only Scan using ti1_uniq on ti1
4363 Index Cond: (c1 >= 1)
4367 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4369 ---------------------
4374 /*+IndexOnlyScan(ti1 ti1_multi)*/
4375 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4376 LOG: available indexes for IndexOnlyScan(ti1): ti1_multi
4379 IndexOnlyScan(ti1 ti1_multi)
4385 ----------------------------------------
4386 Index Only Scan using ti1_multi on ti1
4387 Index Cond: (c1 >= 1)
4391 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4393 -----------------------------------------------------------------------------------------
4394 Bitmap Heap Scan on ti1
4395 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4396 -> Bitmap Index Scan on ti1_ts
4397 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4400 /*+IndexOnlyScan(ti1 ti1_ts)*/
4401 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4402 LOG: available indexes for IndexOnlyScan(ti1): ti1_ts
4405 IndexOnlyScan(ti1 ti1_ts)
4411 -------------------------------------------------------------------------------
4413 Filter: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4417 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4419 ---------------------
4424 /*+IndexOnlyScan(ti1 ti1_pkey)*/
4425 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4426 LOG: available indexes for IndexOnlyScan(ti1): ti1_pkey
4429 IndexOnlyScan(ti1 ti1_pkey)
4435 ---------------------------------------
4436 Index Only Scan using ti1_pkey on ti1
4437 Index Cond: (c1 >= 1)
4441 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4443 ---------------------
4448 /*+IndexOnlyScan(ti1 ti1_c2_key)*/
4449 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4450 LOG: available indexes for IndexOnlyScan(ti1): ti1_c2_key
4453 IndexOnlyScan(ti1 ti1_c2_key)
4459 -----------------------------------------
4460 Index Only Scan using ti1_c2_key on ti1
4461 Index Cond: (c2 >= 1)
4465 ---- No. S-3-5 not used index
4468 /*+IndexScan(ti1 ti1_pred)*/
4469 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4470 LOG: available indexes for IndexScan(ti1): ti1_pred
4473 IndexScan(ti1 ti1_pred)
4479 ------------------------------------------------------------------------
4480 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4485 /*+BitmapScan(ti1 ti1_pred)*/
4486 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4487 LOG: available indexes for BitmapScan(ti1): ti1_pred
4490 BitmapScan(ti1 ti1_pred)
4496 ------------------------------------------------------------------------
4497 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4502 /*+IndexOnlyScan(ti1 ti1_pred)*/
4503 EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
4504 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
4507 IndexOnlyScan(ti1 ti1_pred)
4513 -----------------------------------------------------------------------
4514 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=4)
4519 /*+IndexScan(ti1 not_exist)*/
4520 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4521 LOG: available indexes for IndexScan(ti1):
4524 IndexScan(ti1 not_exist)
4530 ------------------------------------------------------------------------
4531 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4536 /*+BitmapScan(ti1 not_exist)*/
4537 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4538 LOG: available indexes for BitmapScan(ti1):
4541 BitmapScan(ti1 not_exist)
4547 ------------------------------------------------------------------------
4548 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4553 /*+IndexOnlyScan(ti1 not_exist)*/
4554 EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
4555 LOG: available indexes for IndexOnlyScan(ti1):
4558 IndexOnlyScan(ti1 not_exist)
4564 -----------------------------------------------------------------------
4565 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=4)
4570 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
4572 ------------------------------
4573 Index Scan using t1_i1 on t1
4574 Index Cond: (c1 = 1)
4578 EXPLAIN (COSTS true) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
4587 -----------------------------------------------------------------------
4588 Seq Scan on t1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4593 ---- No. S-3-6 query structure
4595 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4597 -----------------------------------------------
4599 Hash Cond: (t2.c1 = t1.c1)
4603 TID Cond: (ctid = '(1,1)'::tid)
4608 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE c1 = 100;
4617 ----------------------
4623 /*+SeqScan(t1)BitmapScan(t2)*/
4624 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4634 ----------------------------------------
4637 Filter: (ctid = '(1,1)'::tid)
4638 -> Bitmap Heap Scan on t2
4639 Recheck Cond: (c1 = t1.c1)
4640 -> Bitmap Index Scan on t2_i1
4641 Index Cond: (c1 = t1.c1)
4646 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4655 ---------------------------------------------
4657 Hash Cond: (t2.c1 = t1.c1)
4661 Filter: (ctid = '(1,1)'::tid)
4665 ---- No. S-3-7 query structure
4668 EXPLAIN (COSTS false)
4670 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4671 SELECT max(b3t1.c1), (
4672 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4673 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4674 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4676 ---------------------------------------------------------------------
4678 InitPlan 2 (returns $1)
4680 InitPlan 1 (returns $0)
4682 -> Index Only Scan using t1_i1 on t1 b2t1
4683 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4684 InitPlan 4 (returns $3)
4686 InitPlan 3 (returns $2)
4688 -> Index Only Scan using t1_i1 on t1 b4t1
4689 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4690 InitPlan 5 (returns $4)
4692 -> Index Only Scan using t1_i1 on t1 b3t1
4693 Index Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4696 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4698 EXPLAIN (COSTS false)
4700 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4701 SELECT max(b3t1.c1), (
4702 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4703 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4704 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4705 LOG: available indexes for IndexScan(b2t1): t1_pkey
4706 LOG: available indexes for IndexScan(b2t1): t1_pkey
4707 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4708 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4711 IndexScan(b2t1 t1_pkey)
4712 BitmapScan(b3t1 t1_pkey)
4720 ---------------------------------------------------------------------
4722 InitPlan 2 (returns $1)
4724 InitPlan 1 (returns $0)
4726 -> Index Scan using t1_pkey on t1 b2t1
4727 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4728 InitPlan 4 (returns $3)
4730 InitPlan 3 (returns $2)
4732 -> Seq Scan on t1 b4t1
4733 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4734 InitPlan 5 (returns $4)
4736 -> Bitmap Heap Scan on t1 b3t1
4737 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4738 -> Bitmap Index Scan on t1_pkey
4739 Index Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4743 EXPLAIN (COSTS false)
4745 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4746 SELECT max(b3t1.c1), (
4747 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4748 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4749 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4751 ------------------------------------------------------------
4756 -> Index Only Scan using t1_i1 on t1 b1t1
4757 Index Cond: (c1 = 1)
4758 -> Seq Scan on t2 b1t2
4760 InitPlan 2 (returns $1)
4763 -> Index Only Scan using t1_i1 on t1 b2t1
4764 Index Cond: (c1 = 1)
4765 -> Seq Scan on t2 b2t2
4767 InitPlan 3 (returns $2)
4770 -> Index Only Scan using t1_i1 on t1 b4t1
4771 Index Cond: (c1 = 1)
4772 -> Seq Scan on t2 b4t2
4776 -> Index Only Scan using t1_i1 on t1 b3t1
4777 Index Cond: (c1 = $2)
4778 -> Seq Scan on t2 b3t2
4784 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4785 TidScan(b1t2)SeqScan(b2t2)IndexScan(b3t2 t2_pkey)BitmapScan(b4t2 t2_pkey)
4787 EXPLAIN (COSTS false)
4789 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4790 SELECT max(b3t1.c1), (
4791 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4792 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4793 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4794 LOG: available indexes for IndexScan(b2t1): t1_pkey
4795 LOG: available indexes for BitmapScan(b4t2): t2_pkey
4796 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4797 LOG: available indexes for IndexScan(b3t2): t2_pkey
4802 IndexScan(b2t1 t1_pkey)
4804 BitmapScan(b3t1 t1_pkey)
4805 IndexScan(b3t2 t2_pkey)
4807 BitmapScan(b4t2 t2_pkey)
4813 ---------------------------------------------------------
4818 -> Seq Scan on t1 b1t1
4820 -> Seq Scan on t2 b1t2
4822 InitPlan 2 (returns $1)
4825 -> Index Scan using t1_pkey on t1 b2t1
4826 Index Cond: (c1 = 1)
4827 -> Seq Scan on t2 b2t2
4829 InitPlan 3 (returns $2)
4832 -> Seq Scan on t1 b4t1
4834 -> Bitmap Heap Scan on t2 b4t2
4835 Recheck Cond: (c1 = 1)
4836 -> Bitmap Index Scan on t2_pkey
4837 Index Cond: (c1 = 1)
4840 -> Bitmap Heap Scan on t1 b3t1
4841 Recheck Cond: (c1 = $2)
4842 -> Bitmap Index Scan on t1_pkey
4843 Index Cond: (c1 = $2)
4844 -> Index Scan using t2_pkey on t2 b3t2
4845 Index Cond: (c1 = $2)
4851 EXPLAIN (COSTS false)
4853 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4854 SELECT max(b3t1.c1), (
4855 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4856 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4857 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4859 ---------------------------------------------------------------------
4864 -> Index Only Scan using t1_i1 on t1 b1t1
4865 Index Cond: (c1 = 1)
4866 -> Seq Scan on t2 b1t2
4868 InitPlan 3 (returns $2)
4870 InitPlan 2 (returns $1)
4872 -> Index Only Scan using t1_i1 on t1 b2t1
4873 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4874 InitPlan 5 (returns $4)
4876 InitPlan 4 (returns $3)
4878 -> Index Only Scan using t1_i1 on t1 b4t1
4879 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4882 -> Index Only Scan using t1_i1 on t1 b3t1
4883 Index Cond: (c1 = $4)
4884 -> Seq Scan on t2 b3t2
4890 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4891 TidScan(b1t2)IndexScan(b3t2 t2_pkey)
4893 EXPLAIN (COSTS false)
4895 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4896 SELECT max(b3t1.c1), (
4897 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4898 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4899 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4900 LOG: available indexes for IndexScan(b2t1): t1_pkey
4901 LOG: available indexes for IndexScan(b2t1): t1_pkey
4902 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4903 LOG: available indexes for IndexScan(b3t2): t2_pkey
4908 IndexScan(b2t1 t1_pkey)
4909 BitmapScan(b3t1 t1_pkey)
4910 IndexScan(b3t2 t2_pkey)
4917 ---------------------------------------------------------------------
4922 -> Seq Scan on t1 b1t1
4924 -> Seq Scan on t2 b1t2
4926 InitPlan 3 (returns $2)
4928 InitPlan 2 (returns $1)
4930 -> Index Scan using t1_pkey on t1 b2t1
4931 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4932 InitPlan 5 (returns $4)
4934 InitPlan 4 (returns $3)
4936 -> Seq Scan on t1 b4t1
4937 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4940 -> Bitmap Heap Scan on t1 b3t1
4941 Recheck Cond: (c1 = $4)
4942 -> Bitmap Index Scan on t1_pkey
4943 Index Cond: (c1 = $4)
4944 -> Index Scan using t2_pkey on t2 b3t2
4945 Index Cond: (c1 = $4)
4951 ---- No. S-3-8 inheritance table select type
4954 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4956 --------------------
4962 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4971 -----------------------------
4972 Index Scan using p1_i on p1
4973 Index Cond: (c1 = 1)
4977 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4979 ---------------------------------
4984 -> Seq Scan on p1c1 p1
4989 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4998 ------------------------------------------------
5001 -> Index Scan using p1_i on p1
5002 Index Cond: (c1 = 1)
5003 -> Index Scan using p1c1_i on p1c1 p1
5004 Index Cond: (c1 = 1)
5008 ---- No. S-3-9 inheritance table number
5011 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5013 ---------------------------------
5018 -> Seq Scan on p1c1 p1
5023 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5032 ------------------------------------------------
5035 -> Index Scan using p1_i on p1
5036 Index Cond: (c1 = 1)
5037 -> Index Scan using p1c1_i on p1c1 p1
5038 Index Cond: (c1 = 1)
5042 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5044 -----------------------------------
5049 -> Seq Scan on p2c1 p2
5051 -> Seq Scan on p2c1c1 p2
5056 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5065 ----------------------------------------------------
5068 -> Index Scan using p2_i on p2
5069 Index Cond: (c1 = 1)
5070 -> Index Scan using p2c1_i on p2c1 p2
5071 Index Cond: (c1 = 1)
5072 -> Index Scan using p2c1c1_i on p2c1c1 p2
5073 Index Cond: (c1 = 1)
5077 ---- No. S-3-10 inheritance table specified table
5079 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5081 -----------------------------------
5086 -> Seq Scan on p2c1 p2
5088 -> Seq Scan on p2c1c1 p2
5094 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5103 ----------------------------------------------------
5106 -> Index Scan using p2_i on p2
5107 Index Cond: (c1 = 1)
5108 -> Index Scan using p2c1_i on p2c1 p2
5109 Index Cond: (c1 = 1)
5110 -> Index Scan using p2c1c1_i on p2c1c1 p2
5111 Index Cond: (c1 = 1)
5115 /*+IndexScan(p2c1)*/
5116 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5125 -----------------------------------
5130 -> Seq Scan on p2c1 p2
5132 -> Seq Scan on p2c1c1 p2
5137 EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5139 -------------------------------------------------------------------
5140 Result (cost=0.00..2.75 rows=4 width=10)
5141 -> Append (cost=0.00..2.75 rows=4 width=10)
5142 -> Seq Scan on p1 (cost=0.00..0.00 rows=1 width=32)
5143 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5144 -> Seq Scan on p1c1 p1 (cost=0.00..2.75 rows=3 width=2)
5145 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5148 /*+IndexScan(p1 p1_parent)*/
5149 EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5150 LOG: available indexes for IndexScan(p1): p1_parent
5151 LOG: available indexes for IndexScan(p1c1): p1c1_c4_expr_idx
5152 LOG: available indexes for IndexScan(p1c2): p1c2_c4_expr_idx
5153 LOG: available indexes for IndexScan(p1c3): p1c3_c4_expr_idx
5156 IndexScan(p1 p1_parent)
5162 ---------------------------------------------------------------------------------------------
5163 Result (cost=0.00..20.73 rows=4 width=10)
5164 -> Append (cost=0.00..20.73 rows=4 width=10)
5165 -> Index Scan using p1_parent on p1 (cost=0.00..8.27 rows=1 width=32)
5166 Filter: ((c2 * 2) < 100)
5167 -> Index Scan using p1c1_c4_expr_idx on p1c1 p1 (cost=0.00..12.45 rows=3 width=2)
5168 Filter: ((c2 * 2) < 100)
5172 /*+IndexScan(p1 p1_i2)*/
5173 EXPLAIN SELECT c2 FROM s1.p1 WHERE c2 = 1;
5174 LOG: available indexes for IndexScan(p1): p1_i2
5175 LOG: available indexes for IndexScan(p1c1):
5176 LOG: available indexes for IndexScan(p1c2):
5177 LOG: available indexes for IndexScan(p1c3):
5186 ---------------------------------------------------------------------------------------
5187 Result (cost=0.00..30000000015.02 rows=4 width=4)
5188 -> Append (cost=0.00..30000000015.02 rows=4 width=4)
5189 -> Index Scan using p1_i2 on p1 (cost=0.00..8.27 rows=1 width=4)
5190 Index Cond: (c2 = 1)
5191 -> Seq Scan on p1c1 p1 (cost=10000000000.00..10000000002.25 rows=1 width=4)
5193 -> Seq Scan on p1c2 p1 (cost=10000000000.00..10000000002.25 rows=1 width=4)
5195 -> Seq Scan on p1c3 p1 (cost=10000000000.00..10000000002.25 rows=1 width=4)
5200 /*+IndexScan(p2 p2c1_pkey)*/
5201 EXPLAIN (COSTS true) SELECT * FROM s1.p2 WHERE c1 = 1;
5202 LOG: available indexes for IndexScan(p2):
5203 LOG: available indexes for IndexScan(p2c1): p2c1_pkey
5204 LOG: available indexes for IndexScan(p2c2):
5205 LOG: available indexes for IndexScan(p2c3):
5206 LOG: available indexes for IndexScan(p2c1c1):
5207 LOG: available indexes for IndexScan(p2c1c2):
5208 LOG: available indexes for IndexScan(p2c2c1):
5209 LOG: available indexes for IndexScan(p2c2c2):
5210 LOG: available indexes for IndexScan(p2c3c1):
5211 LOG: available indexes for IndexScan(p2c3c2):
5214 IndexScan(p2 p2c1_pkey)
5220 ------------------------------------------------------------------------------------------
5221 Result (cost=10000000000.00..20000000009.89 rows=3 width=34)
5222 -> Append (cost=10000000000.00..20000000009.89 rows=3 width=34)
5223 -> Seq Scan on p2 (cost=10000000000.00..10000000000.00 rows=1 width=44)
5225 -> Index Scan using p2c1_pkey on p2c1 p2 (cost=0.00..8.27 rows=1 width=44)
5226 Index Cond: (c1 = 1)
5227 -> Seq Scan on p2c1c1 p2 (cost=10000000000.00..10000000001.62 rows=1 width=14)
5232 ---- No. S-3-11 specified same table
5235 /*+IndexScan(ti1) BitmapScan(ti1)*/
5236 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5237 INFO: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5238 DETAIL: Conflict scan method hint.
5248 -------------------------------------
5249 Bitmap Heap Scan on ti1
5250 Recheck Cond: (c1 = 1)
5251 Filter: (ctid = '(1,1)'::tid)
5252 -> Bitmap Index Scan on ti1_uniq
5253 Index Cond: (c1 = 1)
5257 /*+IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5258 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5259 INFO: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5260 DETAIL: Conflict scan method hint.
5261 LOG: available indexes for BitmapScan(ti1): ti1_btree
5264 BitmapScan(ti1 ti1_btree)
5267 IndexScan(ti1 ti1_pkey)
5271 --------------------------------------
5272 Bitmap Heap Scan on ti1
5273 Recheck Cond: (c1 = 1)
5274 Filter: (ctid = '(1,1)'::tid)
5275 -> Bitmap Index Scan on ti1_btree
5276 Index Cond: (c1 = 1)
5280 /*+BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)*/
5281 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5282 INFO: hint syntax error at or near "BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)"
5283 DETAIL: Conflict scan method hint.
5284 INFO: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5285 DETAIL: Conflict scan method hint.
5296 -------------------------------------
5297 Bitmap Heap Scan on ti1
5298 Recheck Cond: (c1 = 1)
5299 Filter: (ctid = '(1,1)'::tid)
5300 -> Bitmap Index Scan on ti1_uniq
5301 Index Cond: (c1 = 1)
5305 /*+BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5306 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5307 INFO: hint syntax error at or near "BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5308 DETAIL: Conflict scan method hint.
5309 INFO: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5310 DETAIL: Conflict scan method hint.
5311 LOG: available indexes for BitmapScan(ti1): ti1_btree
5314 BitmapScan(ti1 ti1_btree)
5317 BitmapScan(ti1 ti1_hash)
5318 IndexScan(ti1 ti1_pkey)
5322 --------------------------------------
5323 Bitmap Heap Scan on ti1
5324 Recheck Cond: (c1 = 1)
5325 Filter: (ctid = '(1,1)'::tid)
5326 -> Bitmap Index Scan on ti1_btree
5327 Index Cond: (c1 = 1)
5331 ---- No. S-3-12 message output
5335 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5344 ------------------------------------------------
5346 Filter: ((c1 = 1) AND (ctid = '(1,1)'::tid))
5350 /*+SeqScan(ti1 ti1_pkey)*/
5351 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5352 INFO: hint syntax error at or near ""
5353 DETAIL: SeqScan hint accepts only one relation.
5359 SeqScan(ti1 ti1_pkey)
5362 -----------------------------------
5364 TID Cond: (ctid = '(1,1)'::tid)
5369 /*+SeqScan(ti1 ti1_pkey ti1_btree)*/
5370 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5371 INFO: hint syntax error at or near ""
5372 DETAIL: SeqScan hint accepts only one relation.
5378 SeqScan(ti1 ti1_pkey ti1_btree)
5381 -----------------------------------
5383 TID Cond: (ctid = '(1,1)'::tid)
5389 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5398 ----------------------------------
5399 Index Scan using ti1_uniq on ti1
5400 Index Cond: (c1 = 1)
5401 Filter: (ctid = '(1,1)'::tid)
5405 /*+IndexScan(ti1 ti1_pkey)*/
5406 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5407 LOG: available indexes for IndexScan(ti1): ti1_pkey
5410 IndexScan(ti1 ti1_pkey)
5416 ----------------------------------
5417 Index Scan using ti1_pkey on ti1
5418 Index Cond: (c1 = 1)
5419 Filter: (ctid = '(1,1)'::tid)
5423 /*+IndexScan(ti1 ti1_pkey ti1_btree)*/
5424 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5425 LOG: available indexes for IndexScan(ti1): ti1_btree ti1_pkey
5428 IndexScan(ti1 ti1_pkey ti1_btree)
5434 -----------------------------------
5435 Index Scan using ti1_btree on ti1
5436 Index Cond: (c1 = 1)
5437 Filter: (ctid = '(1,1)'::tid)
5441 /*+BitmapScan(ti1)*/
5442 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5451 -------------------------------------
5452 Bitmap Heap Scan on ti1
5453 Recheck Cond: (c1 = 1)
5454 Filter: (ctid = '(1,1)'::tid)
5455 -> Bitmap Index Scan on ti1_uniq
5456 Index Cond: (c1 = 1)
5460 /*+BitmapScan(ti1 ti1_pkey)*/
5461 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5462 LOG: available indexes for BitmapScan(ti1): ti1_pkey
5465 BitmapScan(ti1 ti1_pkey)
5471 -------------------------------------
5472 Bitmap Heap Scan on ti1
5473 Recheck Cond: (c1 = 1)
5474 Filter: (ctid = '(1,1)'::tid)
5475 -> Bitmap Index Scan on ti1_pkey
5476 Index Cond: (c1 = 1)
5480 /*+BitmapScan(ti1 ti1_pkey ti1_btree)*/
5481 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5482 LOG: available indexes for BitmapScan(ti1): ti1_btree ti1_pkey
5485 BitmapScan(ti1 ti1_pkey ti1_btree)
5491 --------------------------------------
5492 Bitmap Heap Scan on ti1
5493 Recheck Cond: (c1 = 1)
5494 Filter: (ctid = '(1,1)'::tid)
5495 -> Bitmap Index Scan on ti1_btree
5496 Index Cond: (c1 = 1)
5501 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5510 -----------------------------------
5512 TID Cond: (ctid = '(1,1)'::tid)
5517 /*+TidScan(ti1 ti1_pkey)*/
5518 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5519 INFO: hint syntax error at or near ""
5520 DETAIL: TidScan hint accepts only one relation.
5526 TidScan(ti1 ti1_pkey)
5529 -----------------------------------
5531 TID Cond: (ctid = '(1,1)'::tid)
5536 /*+TidScan(ti1 ti1_pkey ti1_btree)*/
5537 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5538 INFO: hint syntax error at or near ""
5539 DETAIL: TidScan hint accepts only one relation.
5545 TidScan(ti1 ti1_pkey ti1_btree)
5548 -----------------------------------
5550 TID Cond: (ctid = '(1,1)'::tid)
5556 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5565 -----------------------------------
5567 TID Cond: (ctid = '(1,1)'::tid)
5572 /*+NoSeqScan(ti1 ti1_pkey)*/
5573 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5574 INFO: hint syntax error at or near ""
5575 DETAIL: NoSeqScan hint accepts only one relation.
5581 NoSeqScan(ti1 ti1_pkey)
5584 -----------------------------------
5586 TID Cond: (ctid = '(1,1)'::tid)
5591 /*+NoSeqScan(ti1 ti1_pkey ti1_btree)*/
5592 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5593 INFO: hint syntax error at or near ""
5594 DETAIL: NoSeqScan hint accepts only one relation.
5600 NoSeqScan(ti1 ti1_pkey ti1_btree)
5603 -----------------------------------
5605 TID Cond: (ctid = '(1,1)'::tid)
5610 /*+NoIndexScan(ti1)*/
5611 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5620 -----------------------------------
5622 TID Cond: (ctid = '(1,1)'::tid)
5627 /*+NoIndexScan(ti1 ti1_pkey)*/
5628 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5629 INFO: hint syntax error at or near ""
5630 DETAIL: NoIndexScan hint accepts only one relation.
5636 NoIndexScan(ti1 ti1_pkey)
5639 -----------------------------------
5641 TID Cond: (ctid = '(1,1)'::tid)
5646 /*+NoIndexScan(ti1 ti1_pkey ti1_btree)*/
5647 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5648 INFO: hint syntax error at or near ""
5649 DETAIL: NoIndexScan hint accepts only one relation.
5655 NoIndexScan(ti1 ti1_pkey ti1_btree)
5658 -----------------------------------
5660 TID Cond: (ctid = '(1,1)'::tid)
5665 /*+NoBitmapScan(ti1)*/
5666 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5675 -----------------------------------
5677 TID Cond: (ctid = '(1,1)'::tid)
5682 /*+NoBitmapScan(ti1 ti1_pkey)*/
5683 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5684 INFO: hint syntax error at or near ""
5685 DETAIL: NoBitmapScan hint accepts only one relation.
5691 NoBitmapScan(ti1 ti1_pkey)
5694 -----------------------------------
5696 TID Cond: (ctid = '(1,1)'::tid)
5701 /*+NoBitmapScan(ti1 ti1_pkey ti1_btree)*/
5702 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5703 INFO: hint syntax error at or near ""
5704 DETAIL: NoBitmapScan hint accepts only one relation.
5710 NoBitmapScan(ti1 ti1_pkey ti1_btree)
5713 -----------------------------------
5715 TID Cond: (ctid = '(1,1)'::tid)
5721 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5730 ----------------------------------
5731 Index Scan using ti1_uniq on ti1
5732 Index Cond: (c1 = 1)
5733 Filter: (ctid = '(1,1)'::tid)
5737 /*+NoTidScan(ti1 ti1_pkey)*/
5738 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5739 INFO: hint syntax error at or near ""
5740 DETAIL: NoTidScan hint accepts only one relation.
5746 NoTidScan(ti1 ti1_pkey)
5749 -----------------------------------
5751 TID Cond: (ctid = '(1,1)'::tid)
5756 /*+NoTidScan(ti1 ti1_pkey ti1_btree)*/
5757 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5758 INFO: hint syntax error at or near ""
5759 DETAIL: NoTidScan hint accepts only one relation.
5765 NoTidScan(ti1 ti1_pkey ti1_btree)
5768 -----------------------------------
5770 TID Cond: (ctid = '(1,1)'::tid)
5775 /*+IndexOnlyScan(ti1)*/
5776 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5785 ---------------------------------------
5786 Index Only Scan using ti1_uniq on ti1
5787 Index Cond: (c1 >= 1)
5791 /*+IndexOnlyScan(ti1 ti1_pkey)*/
5792 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5793 LOG: available indexes for IndexOnlyScan(ti1): ti1_pkey
5796 IndexOnlyScan(ti1 ti1_pkey)
5802 ---------------------------------------
5803 Index Only Scan using ti1_pkey on ti1
5804 Index Cond: (c1 >= 1)
5808 /*+IndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5809 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5810 LOG: available indexes for IndexOnlyScan(ti1): ti1_btree ti1_pkey
5813 IndexOnlyScan(ti1 ti1_pkey ti1_btree)
5819 ----------------------------------------
5820 Index Only Scan using ti1_btree on ti1
5821 Index Cond: (c1 >= 1)
5825 /*+NoIndexOnlyScan(ti1)*/
5826 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5829 NoIndexOnlyScan(ti1)
5835 ----------------------------------
5836 Index Scan using ti1_uniq on ti1
5837 Index Cond: (c1 = 1)
5841 /*+NoIndexOnlyScan(ti1 ti1_pkey)*/
5842 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5843 INFO: hint syntax error at or near ""
5844 DETAIL: NoIndexOnlyScan hint accepts only one relation.
5850 NoIndexOnlyScan(ti1 ti1_pkey)
5853 ---------------------------------------
5854 Index Only Scan using ti1_uniq on ti1
5855 Index Cond: (c1 = 1)
5859 /*+NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5860 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5861 INFO: hint syntax error at or near ""
5862 DETAIL: NoIndexOnlyScan hint accepts only one relation.
5868 NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)
5871 ---------------------------------------
5872 Index Only Scan using ti1_uniq on ti1
5873 Index Cond: (c1 = 1)
5877 ---- No. S-3-13 message output
5879 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5881 --------------------------------
5882 Index Scan using ti1_i2 on ti1
5883 Index Cond: (c2 = 1)
5887 /*+IndexScanRegexp(ti1 ti1_.*_key)*/
5888 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5889 LOG: available indexes for IndexScanRegexp(ti1): ti1_c2_key
5892 IndexScanRegexp(ti1 ti1_.*_key)
5898 ------------------------------------
5899 Index Scan using ti1_c2_key on ti1
5900 Index Cond: (c2 = 1)
5904 /*+IndexScanRegexp(ti1 ti1_i.)*/
5905 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5906 LOG: available indexes for IndexScanRegexp(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
5909 IndexScanRegexp(ti1 ti1_i.)
5915 --------------------------------
5916 Index Scan using ti1_i2 on ti1
5917 Index Cond: (c2 = 1)
5921 /*+IndexScanRegexp(ti1 no.*_exist)*/
5922 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5923 LOG: available indexes for IndexScanRegexp(ti1):
5926 IndexScanRegexp(ti1 no.*_exist)
5932 --------------------
5938 /*+IndexScanRegexp(p1 .*pkey)*/
5939 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5940 LOG: available indexes for IndexScanRegexp(p1): p1_pkey
5941 LOG: available indexes for IndexScanRegexp(p1c1): p1c1_pkey
5942 LOG: available indexes for IndexScanRegexp(p1c2): p1c2_pkey
5943 LOG: available indexes for IndexScanRegexp(p1c3): p1c3_pkey
5946 IndexScanRegexp(p1 .*pkey)
5952 ---------------------------------------------------
5955 -> Index Scan using p1_pkey on p1
5956 Index Cond: (c1 = 1)
5957 -> Index Scan using p1c1_pkey on p1c1 p1
5958 Index Cond: (c1 = 1)
5962 /*+IndexScanRegexp(p1 p1.*i)*/
5963 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5964 LOG: available indexes for IndexScanRegexp(p1): p1_i2 p1_i
5965 LOG: available indexes for IndexScanRegexp(p1c1): p1c1_i p1c1_c4_expr_idx
5966 LOG: available indexes for IndexScanRegexp(p1c2): p1c2_i p1c2_c4_expr_idx
5967 LOG: available indexes for IndexScanRegexp(p1c3): p1c3_i p1c3_c4_expr_idx
5970 IndexScanRegexp(p1 p1.*i)
5976 ------------------------------------------------
5979 -> Index Scan using p1_i on p1
5980 Index Cond: (c1 = 1)
5981 -> Index Scan using p1c1_i on p1c1 p1
5982 Index Cond: (c1 = 1)
5986 /*+IndexScanRegexp(p1 no.*_exist)*/
5987 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5988 LOG: available indexes for IndexScanRegexp(p1):
5989 LOG: available indexes for IndexScanRegexp(p1c1):
5990 LOG: available indexes for IndexScanRegexp(p1c2):
5991 LOG: available indexes for IndexScanRegexp(p1c3):
5994 IndexScanRegexp(p1 no.*_exist)
6000 ---------------------------------
6005 -> Seq Scan on p1c1 p1
6010 ---- No. S-3-14 message output
6013 /*+IndexScan(ti1 ti1_i1)*/
6014 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6015 LOG: available indexes for IndexScan(ti1): ti1_i1
6018 IndexScan(ti1 ti1_i1)
6024 --------------------------------
6025 Index Scan using ti1_i1 on ti1
6026 Index Cond: (c2 = 1)
6030 /*+IndexScan(ti1 not_exist)*/
6031 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6032 LOG: available indexes for IndexScan(ti1):
6035 IndexScan(ti1 not_exist)
6041 --------------------
6047 /*+IndexScan(ti1 ti1_i1 ti1_i2)*/
6048 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6049 LOG: available indexes for IndexScan(ti1): ti1_i2 ti1_i1
6052 IndexScan(ti1 ti1_i1 ti1_i2)
6058 --------------------------------
6059 Index Scan using ti1_i2 on ti1
6060 Index Cond: (c2 = 1)
6064 /*+IndexScan(ti1 ti1_i1 not_exist)*/
6065 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6066 LOG: available indexes for IndexScan(ti1): ti1_i1
6069 IndexScan(ti1 ti1_i1 not_exist)
6075 --------------------------------
6076 Index Scan using ti1_i1 on ti1
6077 Index Cond: (c2 = 1)
6081 /*+IndexScan(ti1 not_exist1 not_exist2)*/
6082 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6083 LOG: available indexes for IndexScan(ti1):
6086 IndexScan(ti1 not_exist1 not_exist2)
6092 --------------------