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 Scan using t1_i1 on t1
269 InitPlan 2 (returns $1)
271 InitPlan 1 (returns $0)
273 -> Index 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 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 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 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 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 Scan using t1_i1 on t1 b1t1
643 -> Index Scan using t3_i1 on t3 b1t3
644 -> Index 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 Scan using t1_i1 on t1 bmt1
655 -> Index Scan using t3_i1 on t3 bmt3
656 -> Index 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 $1)
695 Merge Cond: (b1t1.c1 = b1t2.c1)
698 Merge Cond: (b1t1.c1 = b1t3.c1)
701 -> Seq Scan on t1 b1t1
702 -> Index Scan using t3_pkey on t3 b1t3
703 -> Bitmap Heap Scan on t4 b1t4
704 Recheck Cond: (c1 = b1t1.c1)
705 -> Bitmap Index Scan on t4_pkey
706 Index Cond: (c1 = b1t1.c1)
709 -> Seq Scan on t2 b1t2
711 Hash Cond: (bmt4.c1 = bmt1.c1)
712 -> Seq Scan on t4 bmt4
716 Hash Cond: (bmt1.c1 = bmt2.c1)
717 -> Seq Scan on t1 bmt1
719 -> Index Scan using t2_pkey on t2 bmt2
720 -> Bitmap Heap Scan on t3 bmt3
721 Recheck Cond: (c1 = bmt1.c1)
722 -> Bitmap Index Scan on t3_pkey
723 Index Cond: (c1 = bmt1.c1)
727 EXPLAIN (COSTS false)
728 SELECT max(bmt1.c1), (
729 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
731 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
733 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
736 -------------------------------------------------------------------
738 InitPlan 1 (returns $0)
741 Merge Cond: (b1t1.c1 = b1t2.c1)
743 Merge Cond: (b1t1.c1 = b1t4.c1)
745 Merge Cond: (b1t1.c1 = b1t3.c1)
746 -> Index Scan using t1_i1 on t1 b1t1
747 -> Index Scan using t3_i1 on t3 b1t3
748 -> Index Scan using t4_i1 on t4 b1t4
751 -> Seq Scan on t2 b1t2
752 InitPlan 2 (returns $1)
755 Merge Cond: (b2t1.c1 = b2t2.c1)
757 Merge Cond: (b2t1.c1 = b2t4.c1)
759 Merge Cond: (b2t1.c1 = b2t3.c1)
760 -> Index Scan using t1_i1 on t1 b2t1
761 -> Index Scan using t3_i1 on t3 b2t3
762 -> Index Scan using t4_i1 on t4 b2t4
765 -> Seq Scan on t2 b2t2
767 Merge Cond: (bmt1.c1 = bmt2.c1)
769 Merge Cond: (bmt1.c1 = bmt4.c1)
771 Merge Cond: (bmt1.c1 = bmt3.c1)
772 -> Index Scan using t1_i1 on t1 bmt1
773 -> Index Scan using t3_i1 on t3 bmt3
774 -> Index Scan using t4_i1 on t4 bmt4
777 -> Seq Scan on t2 bmt2
780 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
781 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
782 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
784 EXPLAIN (COSTS false)
785 SELECT max(bmt1.c1), (
786 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
788 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
790 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
792 LOG: available indexes for IndexScan(b1t3): t3_pkey
793 LOG: available indexes for BitmapScan(b1t4): t4_pkey
794 LOG: available indexes for BitmapScan(b2t1): t1_pkey
795 LOG: available indexes for IndexScan(b2t4): t4_pkey
796 LOG: available indexes for IndexScan(bmt2): t2_pkey
797 LOG: available indexes for BitmapScan(bmt3): t3_pkey
802 IndexScan(b1t3 t3_pkey)
803 BitmapScan(b1t4 t4_pkey)
804 BitmapScan(b2t1 t1_pkey)
807 IndexScan(b2t4 t4_pkey)
809 IndexScan(bmt2 t2_pkey)
810 BitmapScan(bmt3 t3_pkey)
817 ---------------------------------------------------------------------------
819 InitPlan 1 (returns $1)
822 Merge Cond: (b1t1.c1 = b1t2.c1)
825 Merge Cond: (b1t1.c1 = b1t3.c1)
828 -> Seq Scan on t1 b1t1
829 -> Index Scan using t3_pkey on t3 b1t3
830 -> Bitmap Heap Scan on t4 b1t4
831 Recheck Cond: (c1 = b1t1.c1)
832 -> Bitmap Index Scan on t4_pkey
833 Index Cond: (c1 = b1t1.c1)
836 -> Seq Scan on t2 b1t2
837 InitPlan 2 (returns $3)
840 Hash Cond: (b2t3.c1 = b2t1.c1)
841 -> Seq Scan on t3 b2t3
844 Merge Cond: (b2t1.c1 = b2t2.c1)
846 -> Index Scan using t4_pkey on t4 b2t4
847 -> Bitmap Heap Scan on t1 b2t1
848 Recheck Cond: (c1 = b2t4.c1)
849 -> Bitmap Index Scan on t1_pkey
850 Index Cond: (c1 = b2t4.c1)
853 -> Seq Scan on t2 b2t2
855 Hash Cond: (bmt4.c1 = bmt1.c1)
856 -> Seq Scan on t4 bmt4
860 Hash Cond: (bmt1.c1 = bmt2.c1)
861 -> Seq Scan on t1 bmt1
863 -> Index Scan using t2_pkey on t2 bmt2
864 -> Bitmap Heap Scan on t3 bmt3
865 Recheck Cond: (c1 = bmt1.c1)
866 -> Bitmap Index Scan on t3_pkey
867 Index Cond: (c1 = bmt1.c1)
871 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;
873 -----------------------------------------------------------
876 Merge Cond: (bmt1.c1 = bmt2.c1)
878 Merge Cond: (bmt1.c1 = bmt4.c1)
880 Merge Cond: (bmt1.c1 = bmt3.c1)
881 -> Index Scan using t1_i1 on t1 bmt1
882 -> Index Scan using t3_i1 on t3 bmt3
883 -> Index Scan using t4_i1 on t4 bmt4
886 -> Seq Scan on t2 bmt2
889 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
891 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;
892 LOG: available indexes for IndexScan(bmt2): t2_pkey
893 LOG: available indexes for BitmapScan(bmt3): t3_pkey
897 IndexScan(bmt2 t2_pkey)
898 BitmapScan(bmt3 t3_pkey)
905 -------------------------------------------------------------------------
908 Hash Cond: (bmt4.c1 = bmt1.c1)
909 -> Seq Scan on t4 bmt4
913 Hash Cond: (bmt1.c1 = bmt2.c1)
914 -> Seq Scan on t1 bmt1
916 -> Index Scan using t2_pkey on t2 bmt2
917 -> Bitmap Heap Scan on t3 bmt3
918 Recheck Cond: (c1 = bmt1.c1)
919 -> Bitmap Index Scan on t3_pkey
920 Index Cond: (c1 = bmt1.c1)
924 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;
926 -----------------------------------------------------------
929 Merge Cond: (bmt1.c1 = bmt2.c1)
931 Merge Cond: (bmt1.c1 = bmt4.c1)
933 Merge Cond: (bmt1.c1 = bmt3.c1)
934 -> Index Scan using t1_i1 on t1 bmt1
935 -> Index Scan using t3_i1 on t3 bmt3
936 -> Index Scan using t4_i1 on t4 bmt4
939 -> Seq Scan on t2 bmt2
942 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
944 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;
945 LOG: available indexes for IndexScan(bmt2): t2_pkey
946 LOG: available indexes for BitmapScan(bmt3): t3_pkey
950 IndexScan(bmt2 t2_pkey)
951 BitmapScan(bmt3 t3_pkey)
958 -------------------------------------------------------------------------
961 Hash Cond: (bmt4.c1 = bmt1.c1)
962 -> Seq Scan on t4 bmt4
966 Hash Cond: (bmt1.c1 = bmt2.c1)
967 -> Seq Scan on t1 bmt1
969 -> Index Scan using t2_pkey on t2 bmt2
970 -> Bitmap Heap Scan on t3 bmt3
971 Recheck Cond: (c1 = bmt1.c1)
972 -> Bitmap Index Scan on t3_pkey
973 Index Cond: (c1 = bmt1.c1)
977 EXPLAIN (COSTS false)
978 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
980 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
984 -------------------------------------------------------------------
986 InitPlan 1 (returns $0)
989 Merge Cond: (b1t1.c1 = b1t2.c1)
991 Merge Cond: (b1t1.c1 = b1t4.c1)
993 Merge Cond: (b1t1.c1 = b1t3.c1)
994 -> Index Scan using t1_i1 on t1 b1t1
995 -> Index Scan using t3_i1 on t3 b1t3
996 -> Index Scan using t4_i1 on t4 b1t4
999 -> Seq Scan on t2 b1t2
1001 Merge Cond: (bmt1.c1 = bmt2.c1)
1003 Merge Cond: (bmt1.c1 = bmt4.c1)
1005 Merge Cond: (bmt1.c1 = bmt3.c1)
1006 -> Index Scan using t1_i1 on t1 bmt1
1008 -> Index Scan using t3_i1 on t3 bmt3
1009 -> Index Scan using t4_i1 on t4 bmt4
1012 -> Seq Scan on t2 bmt2
1015 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1016 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1018 EXPLAIN (COSTS false)
1019 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
1021 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
1024 LOG: available indexes for IndexScan(b1t3): t3_pkey
1025 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1026 LOG: available indexes for IndexScan(bmt2): t2_pkey
1027 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1032 IndexScan(b1t3 t3_pkey)
1033 BitmapScan(b1t4 t4_pkey)
1035 IndexScan(bmt2 t2_pkey)
1036 BitmapScan(bmt3 t3_pkey)
1043 -------------------------------------------------------------------------
1045 InitPlan 1 (returns $1)
1048 Merge Cond: (b1t1.c1 = b1t2.c1)
1051 Merge Cond: (b1t1.c1 = b1t3.c1)
1054 -> Seq Scan on t1 b1t1
1055 -> Index Scan using t3_pkey on t3 b1t3
1056 -> Bitmap Heap Scan on t4 b1t4
1057 Recheck Cond: (c1 = b1t1.c1)
1058 -> Bitmap Index Scan on t4_pkey
1059 Index Cond: (c1 = b1t1.c1)
1062 -> Seq Scan on t2 b1t2
1064 Hash Cond: (bmt4.c1 = bmt1.c1)
1065 -> Seq Scan on t4 bmt4
1069 Hash Cond: (bmt1.c1 = bmt2.c1)
1070 -> Seq Scan on t1 bmt1
1073 -> Index Scan using t2_pkey on t2 bmt2
1074 -> Bitmap Heap Scan on t3 bmt3
1075 Recheck Cond: (c1 = bmt1.c1)
1076 -> Bitmap Index Scan on t3_pkey
1077 Index Cond: (c1 = bmt1.c1)
1081 EXPLAIN (COSTS false)
1082 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
1084 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
1086 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
1090 -------------------------------------------------------------------
1092 InitPlan 1 (returns $0)
1095 Merge Cond: (b1t1.c1 = b1t2.c1)
1097 Merge Cond: (b1t1.c1 = b1t4.c1)
1099 Merge Cond: (b1t1.c1 = b1t3.c1)
1100 -> Index Scan using t1_i1 on t1 b1t1
1101 -> Index Scan using t3_i1 on t3 b1t3
1102 -> Index Scan using t4_i1 on t4 b1t4
1105 -> Seq Scan on t2 b1t2
1106 InitPlan 2 (returns $1)
1109 Merge Cond: (b2t1.c1 = b2t2.c1)
1111 Merge Cond: (b2t1.c1 = b2t4.c1)
1113 Merge Cond: (b2t1.c1 = b2t3.c1)
1114 -> Index Scan using t1_i1 on t1 b2t1
1115 -> Index Scan using t3_i1 on t3 b2t3
1116 -> Index Scan using t4_i1 on t4 b2t4
1119 -> Seq Scan on t2 b2t2
1121 Merge Cond: (bmt1.c1 = bmt2.c1)
1123 Merge Cond: (bmt1.c1 = bmt4.c1)
1125 Merge Cond: (bmt1.c1 = bmt3.c1)
1126 -> Index Scan using t1_i1 on t1 bmt1
1127 Filter: ((c1 <> $0) AND (c1 <> $1))
1128 -> Index Scan using t3_i1 on t3 bmt3
1129 -> Index Scan using t4_i1 on t4 bmt4
1132 -> Seq Scan on t2 bmt2
1135 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1136 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1137 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1139 EXPLAIN (COSTS false)
1140 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
1142 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
1144 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
1147 LOG: available indexes for IndexScan(b1t3): t3_pkey
1148 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1149 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1150 LOG: available indexes for IndexScan(b2t4): t4_pkey
1151 LOG: available indexes for IndexScan(bmt2): t2_pkey
1152 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1157 IndexScan(b1t3 t3_pkey)
1158 BitmapScan(b1t4 t4_pkey)
1159 BitmapScan(b2t1 t1_pkey)
1162 IndexScan(b2t4 t4_pkey)
1164 IndexScan(bmt2 t2_pkey)
1165 BitmapScan(bmt3 t3_pkey)
1172 ---------------------------------------------------------------------------
1174 InitPlan 1 (returns $1)
1177 Merge Cond: (b1t1.c1 = b1t2.c1)
1180 Merge Cond: (b1t1.c1 = b1t3.c1)
1183 -> Seq Scan on t1 b1t1
1184 -> Index Scan using t3_pkey on t3 b1t3
1185 -> Bitmap Heap Scan on t4 b1t4
1186 Recheck Cond: (c1 = b1t1.c1)
1187 -> Bitmap Index Scan on t4_pkey
1188 Index Cond: (c1 = b1t1.c1)
1191 -> Seq Scan on t2 b1t2
1192 InitPlan 2 (returns $3)
1195 Hash Cond: (b2t3.c1 = b2t1.c1)
1196 -> Seq Scan on t3 b2t3
1199 Merge Cond: (b2t1.c1 = b2t2.c1)
1201 -> Index Scan using t4_pkey on t4 b2t4
1202 -> Bitmap Heap Scan on t1 b2t1
1203 Recheck Cond: (c1 = b2t4.c1)
1204 -> Bitmap Index Scan on t1_pkey
1205 Index Cond: (c1 = b2t4.c1)
1208 -> Seq Scan on t2 b2t2
1210 Hash Cond: (bmt4.c1 = bmt1.c1)
1211 -> Seq Scan on t4 bmt4
1215 Hash Cond: (bmt1.c1 = bmt2.c1)
1216 -> Seq Scan on t1 bmt1
1217 Filter: ((c1 <> $1) AND (c1 <> $3))
1219 -> Index Scan using t2_pkey on t2 bmt2
1220 -> Bitmap Heap Scan on t3 bmt3
1221 Recheck Cond: (c1 = bmt1.c1)
1222 -> Bitmap Index Scan on t3_pkey
1223 Index Cond: (c1 = bmt1.c1)
1227 EXPLAIN (COSTS false)
1229 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
1231 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1233 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1237 -------------------------------------------------------------------
1242 Merge Cond: (b1t1.c1 = b1t2.c1)
1244 Merge Cond: (b1t1.c1 = b1t4.c1)
1246 Merge Cond: (b1t1.c1 = b1t3.c1)
1247 -> Index Scan using t1_i1 on t1 b1t1
1248 -> Index Scan using t3_i1 on t3 b1t3
1249 -> Index Scan using t4_i1 on t4 b1t4
1252 -> Seq Scan on t2 b1t2
1254 Merge Cond: (bmt1.c1 = bmt2.c1)
1256 Merge Cond: (bmt1.c1 = bmt4.c1)
1258 Merge Cond: (bmt1.c1 = bmt3.c1)
1259 -> Index Scan using t1_i1 on t1 bmt1
1260 -> Index Scan using t3_i1 on t3 bmt3
1261 -> Index Scan using t4_i1 on t4 bmt4
1265 Hash Cond: (bmt2.c1 = c1.c1)
1266 -> Seq Scan on t2 bmt2
1271 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1272 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1274 EXPLAIN (COSTS false)
1276 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
1278 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1280 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1283 LOG: available indexes for IndexScan(b1t3): t3_pkey
1284 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1285 LOG: available indexes for IndexScan(bmt2): t2_pkey
1286 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1291 IndexScan(b1t3 t3_pkey)
1292 BitmapScan(b1t4 t4_pkey)
1294 IndexScan(bmt2 t2_pkey)
1295 BitmapScan(bmt3 t3_pkey)
1302 ---------------------------------------------------------------------
1307 Merge Cond: (b1t1.c1 = b1t2.c1)
1310 Merge Cond: (b1t1.c1 = b1t3.c1)
1313 -> Seq Scan on t1 b1t1
1314 -> Index Scan using t3_pkey on t3 b1t3
1315 -> Bitmap Heap Scan on t4 b1t4
1316 Recheck Cond: (c1 = b1t1.c1)
1317 -> Bitmap Index Scan on t4_pkey
1318 Index Cond: (c1 = b1t1.c1)
1321 -> Seq Scan on t2 b1t2
1323 Hash Cond: (bmt4.c1 = bmt1.c1)
1324 -> Seq Scan on t4 bmt4
1329 Hash Cond: (bmt1.c1 = c1.c1)
1330 -> Seq Scan on t1 bmt1
1333 -> Index Scan using t2_pkey on t2 bmt2
1334 Index Cond: (c1 = bmt1.c1)
1335 -> Bitmap Heap Scan on t3 bmt3
1336 Recheck Cond: (c1 = bmt1.c1)
1337 -> Bitmap Index Scan on t3_pkey
1338 Index Cond: (c1 = bmt1.c1)
1342 EXPLAIN (COSTS false)
1344 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
1347 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
1349 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1351 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1356 -------------------------------------------------------------------
1361 Merge Cond: (b1t1.c1 = b1t2.c1)
1363 Merge Cond: (b1t1.c1 = b1t4.c1)
1365 Merge Cond: (b1t1.c1 = b1t3.c1)
1366 -> Index Scan using t1_i1 on t1 b1t1
1367 -> Index Scan using t3_i1 on t3 b1t3
1368 -> Index Scan using t4_i1 on t4 b1t4
1371 -> Seq Scan on t2 b1t2
1375 Merge Cond: (b2t1.c1 = b2t2.c1)
1377 Merge Cond: (b2t1.c1 = b2t4.c1)
1379 Merge Cond: (b2t1.c1 = b2t3.c1)
1380 -> Index Scan using t1_i1 on t1 b2t1
1381 -> Index Scan using t3_i1 on t3 b2t3
1382 -> Index Scan using t4_i1 on t4 b2t4
1385 -> Seq Scan on t2 b2t2
1387 Join Filter: (bmt1.c1 = c2.c1)
1389 Merge Cond: (bmt1.c1 = bmt2.c1)
1391 Merge Cond: (bmt1.c1 = bmt4.c1)
1393 Merge Cond: (bmt1.c1 = bmt3.c1)
1394 -> Index Scan using t1_i1 on t1 bmt1
1395 -> Index Scan using t3_i1 on t3 bmt3
1396 -> Index Scan using t4_i1 on t4 bmt4
1400 Hash Cond: (bmt2.c1 = c1.c1)
1401 -> Seq Scan on t2 bmt2
1407 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1408 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1409 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1411 EXPLAIN (COSTS false)
1413 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
1416 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
1418 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1420 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1424 LOG: available indexes for IndexScan(b1t3): t3_pkey
1425 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1426 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1427 LOG: available indexes for IndexScan(b2t4): t4_pkey
1428 LOG: available indexes for IndexScan(bmt2): t2_pkey
1429 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1434 IndexScan(b1t3 t3_pkey)
1435 BitmapScan(b1t4 t4_pkey)
1436 BitmapScan(b2t1 t1_pkey)
1439 IndexScan(b2t4 t4_pkey)
1441 IndexScan(bmt2 t2_pkey)
1442 BitmapScan(bmt3 t3_pkey)
1449 ---------------------------------------------------------------------------
1454 Merge Cond: (b1t1.c1 = b1t2.c1)
1457 Merge Cond: (b1t1.c1 = b1t3.c1)
1460 -> Seq Scan on t1 b1t1
1461 -> Index Scan using t3_pkey on t3 b1t3
1462 -> Bitmap Heap Scan on t4 b1t4
1463 Recheck Cond: (c1 = b1t1.c1)
1464 -> Bitmap Index Scan on t4_pkey
1465 Index Cond: (c1 = b1t1.c1)
1468 -> Seq Scan on t2 b1t2
1472 Hash Cond: (b2t3.c1 = b2t1.c1)
1473 -> Seq Scan on t3 b2t3
1476 Merge Cond: (b2t1.c1 = b2t2.c1)
1478 -> Index Scan using t4_pkey on t4 b2t4
1479 -> Bitmap Heap Scan on t1 b2t1
1480 Recheck Cond: (c1 = b2t4.c1)
1481 -> Bitmap Index Scan on t1_pkey
1482 Index Cond: (c1 = b2t4.c1)
1485 -> Seq Scan on t2 b2t2
1487 Hash Cond: (bmt4.c1 = bmt1.c1)
1488 -> Seq Scan on t4 bmt4
1492 Join Filter: (bmt1.c1 = c2.c1)
1495 Hash Cond: (bmt1.c1 = c1.c1)
1496 -> Seq Scan on t1 bmt1
1499 -> Index Scan using t2_pkey on t2 bmt2
1500 Index Cond: (c1 = bmt1.c1)
1502 -> Bitmap Heap Scan on t3 bmt3
1503 Recheck Cond: (c1 = bmt1.c1)
1504 -> Bitmap Index Scan on t3_pkey
1505 Index Cond: (c1 = bmt1.c1)
1509 ---- No. S-2-2 the number of the tables per quiry block
1512 EXPLAIN (COSTS false)
1514 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1516 SELECT max(bmt1.c1), (
1517 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1519 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1521 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1525 -----------------------------------------------------------------
1529 InitPlan 1 (returns $0)
1531 -> Tid Scan on t1 b1t1
1532 TID Cond: (ctid = '(1,1)'::tid)
1533 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1534 InitPlan 4 (returns $3)
1536 InitPlan 3 (returns $2)
1538 -> Tid Scan on t1 b2t1
1539 TID Cond: (ctid = '(1,1)'::tid)
1540 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1541 InitPlan 6 (returns $5)
1543 InitPlan 5 (returns $4)
1545 -> Tid Scan on t1 b3t1
1546 TID Cond: (ctid = '(1,1)'::tid)
1547 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1549 -> Tid Scan on t1 bmt1
1550 TID Cond: (ctid = '(1,1)'::tid)
1551 Filter: ((c1 <> $5) AND (c1 = 1))
1557 BitmapScan(b2t1 t1_pkey)
1558 IndexScan(b3t1 t1_pkey)
1560 EXPLAIN (COSTS false)
1562 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1564 SELECT max(bmt1.c1), (
1565 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1567 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1569 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1572 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1573 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1574 LOG: available indexes for IndexScan(b3t1): t1_pkey
1575 LOG: available indexes for IndexScan(b3t1): t1_pkey
1579 BitmapScan(b2t1 t1_pkey)
1580 IndexScan(b3t1 t1_pkey)
1587 ---------------------------------------------------------------------------
1591 InitPlan 1 (returns $0)
1593 -> Tid Scan on t1 b1t1
1594 TID Cond: (ctid = '(1,1)'::tid)
1595 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1596 InitPlan 4 (returns $3)
1598 InitPlan 3 (returns $2)
1600 -> Bitmap Heap Scan on t1 b2t1
1601 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1602 Filter: (ctid = '(1,1)'::tid)
1603 -> Bitmap Index Scan on t1_pkey
1604 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1605 InitPlan 6 (returns $5)
1607 InitPlan 5 (returns $4)
1609 -> Index Scan using t1_pkey on t1 b3t1
1610 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1611 Filter: (ctid = '(1,1)'::tid)
1613 -> Seq Scan on t1 bmt1
1614 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid) AND (c1 = 1))
1619 EXPLAIN (COSTS false)
1621 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)'
1623 SELECT max(bmt1.c1), (
1624 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)'
1626 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1628 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)'
1632 -------------------------------------------------------
1637 Join Filter: (b1t1.c1 = b1t2.c1)
1638 -> Tid Scan on t1 b1t1
1639 TID Cond: (ctid = '(1,1)'::tid)
1640 -> Seq Scan on t2 b1t2
1641 Filter: (ctid = '(1,1)'::tid)
1642 InitPlan 2 (returns $1)
1645 Join Filter: (b2t1.c1 = b2t2.c1)
1646 -> Tid Scan on t1 b2t1
1647 TID Cond: (ctid = '(1,1)'::tid)
1648 -> Seq Scan on t2 b2t2
1649 Filter: (ctid = '(1,1)'::tid)
1650 InitPlan 3 (returns $2)
1653 Join Filter: (b3t1.c1 = b3t2.c1)
1654 -> Tid Scan on t1 b3t1
1655 TID Cond: (ctid = '(1,1)'::tid)
1656 -> Seq Scan on t2 b3t2
1657 Filter: (ctid = '(1,1)'::tid)
1660 Join Filter: (bmt1.c1 = bmt2.c1)
1661 -> Tid Scan on t1 bmt1
1662 TID Cond: (ctid = '(1,1)'::tid)
1664 -> Seq Scan on t2 bmt2
1665 Filter: (ctid = '(1,1)'::tid)
1669 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)
1670 TidScan(b1t1)SeqScan(b1t2)
1671 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)
1672 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)
1674 EXPLAIN (COSTS false)
1676 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)'
1678 SELECT max(bmt1.c1), (
1679 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)'
1681 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1683 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)'
1686 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1687 LOG: available indexes for IndexScan(b3t1): t1_pkey
1688 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1689 LOG: available indexes for IndexScan(bmt2): t2_pkey
1694 BitmapScan(b2t1 t1_pkey)
1696 IndexScan(b3t1 t1_pkey)
1697 BitmapScan(b3t2 t2_pkey)
1699 IndexScan(bmt2 t2_pkey)
1705 --------------------------------------------------------------------
1710 Join Filter: (b1t1.c1 = b1t2.c1)
1711 -> Tid Scan on t1 b1t1
1712 TID Cond: (ctid = '(1,1)'::tid)
1713 -> Seq Scan on t2 b1t2
1714 Filter: (ctid = '(1,1)'::tid)
1715 InitPlan 2 (returns $2)
1718 -> Tid Scan on t2 b2t2
1719 TID Cond: (ctid = '(1,1)'::tid)
1720 -> Bitmap Heap Scan on t1 b2t1
1721 Recheck Cond: (c1 = b2t2.c1)
1722 Filter: (ctid = '(1,1)'::tid)
1723 -> Bitmap Index Scan on t1_pkey
1724 Index Cond: (c1 = b2t2.c1)
1725 InitPlan 3 (returns $4)
1728 -> Index Scan using t1_pkey on t1 b3t1
1729 Filter: (ctid = '(1,1)'::tid)
1730 -> Bitmap Heap Scan on t2 b3t2
1731 Recheck Cond: (c1 = b3t1.c1)
1732 Filter: (ctid = '(1,1)'::tid)
1733 -> Bitmap Index Scan on t2_pkey
1734 Index Cond: (c1 = b3t1.c1)
1737 -> Seq Scan on t1 bmt1
1738 Filter: ((c1 <> $4) AND (ctid = '(1,1)'::tid))
1739 -> Index Scan using t2_pkey on t2 bmt2
1740 Index Cond: (c1 = bmt1.c1)
1741 Filter: (ctid = '(1,1)'::tid)
1746 EXPLAIN (COSTS false)
1748 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)'
1750 SELECT max(bmt1.c1), (
1751 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)'
1753 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
1755 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)'
1759 -------------------------------------------------------------------
1764 Join Filter: (b1t1.c1 = b1t4.c1)
1766 Join Filter: (b1t1.c1 = b1t3.c1)
1768 Join Filter: (b1t1.c1 = b1t2.c1)
1769 -> Tid Scan on t1 b1t1
1770 TID Cond: (ctid = '(1,1)'::tid)
1771 -> Seq Scan on t2 b1t2
1772 Filter: (ctid = '(1,1)'::tid)
1773 -> Tid Scan on t3 b1t3
1774 TID Cond: (ctid = '(1,1)'::tid)
1775 -> Tid Scan on t4 b1t4
1776 TID Cond: (ctid = '(1,1)'::tid)
1777 InitPlan 2 (returns $1)
1780 Join Filter: (b2t1.c1 = b2t4.c1)
1782 Join Filter: (b2t1.c1 = b2t3.c1)
1784 Join Filter: (b2t1.c1 = b2t2.c1)
1785 -> Tid Scan on t1 b2t1
1786 TID Cond: (ctid = '(1,1)'::tid)
1787 -> Seq Scan on t2 b2t2
1788 Filter: (ctid = '(1,1)'::tid)
1789 -> Tid Scan on t3 b2t3
1790 TID Cond: (ctid = '(1,1)'::tid)
1791 -> Tid Scan on t4 b2t4
1792 TID Cond: (ctid = '(1,1)'::tid)
1793 InitPlan 3 (returns $2)
1796 Join Filter: (b3t1.c1 = b3t4.c1)
1798 Join Filter: (b3t1.c1 = b3t3.c1)
1800 Join Filter: (b3t1.c1 = b3t2.c1)
1801 -> Tid Scan on t1 b3t1
1802 TID Cond: (ctid = '(1,1)'::tid)
1803 -> Seq Scan on t2 b3t2
1804 Filter: (ctid = '(1,1)'::tid)
1805 -> Tid Scan on t3 b3t3
1806 TID Cond: (ctid = '(1,1)'::tid)
1807 -> Tid Scan on t4 b3t4
1808 TID Cond: (ctid = '(1,1)'::tid)
1810 Join Filter: (bmt1.c1 = c1.c1)
1812 Join Filter: (bmt1.c1 = bmt2.c1)
1814 Join Filter: (bmt3.c1 = bmt1.c1)
1816 Join Filter: (bmt3.c1 = bmt4.c1)
1817 -> Tid Scan on t3 bmt3
1818 TID Cond: (ctid = '(1,1)'::tid)
1819 -> Tid Scan on t4 bmt4
1820 TID Cond: (ctid = '(1,1)'::tid)
1821 -> Tid Scan on t1 bmt1
1822 TID Cond: (ctid = '(1,1)'::tid)
1824 -> Seq Scan on t2 bmt2
1825 Filter: (ctid = '(1,1)'::tid)
1829 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1830 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1831 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1832 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
1834 EXPLAIN (COSTS false)
1836 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)'
1838 SELECT max(bmt1.c1), (
1839 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)'
1841 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
1843 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)'
1846 LOG: available indexes for IndexScan(b1t3): t3_pkey
1847 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1848 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1849 LOG: available indexes for IndexScan(b2t4): t4_pkey
1850 LOG: available indexes for IndexScan(b3t1): t1_pkey
1851 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1852 LOG: available indexes for IndexScan(bmt2): t2_pkey
1853 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1858 IndexScan(b1t3 t3_pkey)
1859 BitmapScan(b1t4 t4_pkey)
1860 BitmapScan(b2t1 t1_pkey)
1863 IndexScan(b2t4 t4_pkey)
1864 IndexScan(b3t1 t1_pkey)
1865 BitmapScan(b3t2 t2_pkey)
1869 IndexScan(bmt2 t2_pkey)
1870 BitmapScan(bmt3 t3_pkey)
1877 --------------------------------------------------------------------------------
1884 Join Filter: (b1t1.c1 = b1t2.c1)
1885 -> Tid Scan on t1 b1t1
1886 TID Cond: (ctid = '(1,1)'::tid)
1887 -> Seq Scan on t2 b1t2
1888 Filter: (ctid = '(1,1)'::tid)
1889 -> Index Scan using t3_pkey on t3 b1t3
1890 Index Cond: (c1 = b1t1.c1)
1891 Filter: (ctid = '(1,1)'::tid)
1892 -> Bitmap Heap Scan on t4 b1t4
1893 Recheck Cond: (c1 = b1t1.c1)
1894 Filter: (ctid = '(1,1)'::tid)
1895 -> Bitmap Index Scan on t4_pkey
1896 Index Cond: (c1 = b1t1.c1)
1897 InitPlan 2 (returns $3)
1901 Join Filter: (b2t1.c1 = b2t3.c1)
1903 -> Tid Scan on t2 b2t2
1904 TID Cond: (ctid = '(1,1)'::tid)
1905 -> Bitmap Heap Scan on t1 b2t1
1906 Recheck Cond: (c1 = b2t2.c1)
1907 Filter: (ctid = '(1,1)'::tid)
1908 -> Bitmap Index Scan on t1_pkey
1909 Index Cond: (c1 = b2t2.c1)
1910 -> Seq Scan on t3 b2t3
1911 Filter: (ctid = '(1,1)'::tid)
1912 -> Index Scan using t4_pkey on t4 b2t4
1913 Index Cond: (c1 = b2t1.c1)
1914 Filter: (ctid = '(1,1)'::tid)
1915 InitPlan 3 (returns $5)
1920 Join Filter: (b3t3.c1 = b3t4.c1)
1921 -> Tid Scan on t3 b3t3
1922 TID Cond: (ctid = '(1,1)'::tid)
1923 -> Seq Scan on t4 b3t4
1924 Filter: (ctid = '(1,1)'::tid)
1925 -> Bitmap Heap Scan on t2 b3t2
1926 Recheck Cond: (c1 = b3t3.c1)
1927 Filter: (ctid = '(1,1)'::tid)
1928 -> Bitmap Index Scan on t2_pkey
1929 Index Cond: (c1 = b3t3.c1)
1930 -> Index Scan using t1_pkey on t1 b3t1
1931 Index Cond: (c1 = b3t2.c1)
1932 Filter: (ctid = '(1,1)'::tid)
1935 Join Filter: (bmt1.c1 = c1.c1)
1937 Join Filter: (bmt1.c1 = bmt4.c1)
1939 -> Seq Scan on t1 bmt1
1940 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid))
1941 -> Bitmap Heap Scan on t3 bmt3
1942 Recheck Cond: (c1 = bmt1.c1)
1943 Filter: (ctid = '(1,1)'::tid)
1944 -> Bitmap Index Scan on t3_pkey
1945 Index Cond: (c1 = bmt1.c1)
1946 -> Tid Scan on t4 bmt4
1947 TID Cond: (ctid = '(1,1)'::tid)
1949 -> Index Scan using t2_pkey on t2 bmt2
1950 Index Cond: (c1 = bmt1.c1)
1951 Filter: (ctid = '(1,1)'::tid)
1955 EXPLAIN (COSTS false)
1957 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)'
1959 SELECT max(bmt1.c1), (
1960 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1962 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
1964 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
1968 -------------------------------------------------------------------
1973 Join Filter: (b1t1.c1 = b1t4.c1)
1975 Join Filter: (b1t1.c1 = b1t3.c1)
1977 Join Filter: (b1t1.c1 = b1t2.c1)
1978 -> Tid Scan on t1 b1t1
1979 TID Cond: (ctid = '(1,1)'::tid)
1980 -> Seq Scan on t2 b1t2
1981 Filter: (ctid = '(1,1)'::tid)
1982 -> Tid Scan on t3 b1t3
1983 TID Cond: (ctid = '(1,1)'::tid)
1984 -> Tid Scan on t4 b1t4
1985 TID Cond: (ctid = '(1,1)'::tid)
1986 InitPlan 3 (returns $2)
1988 InitPlan 2 (returns $1)
1990 -> Tid Scan on t1 b2t1
1991 TID Cond: (ctid = '(1,1)'::tid)
1992 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1993 InitPlan 4 (returns $3)
1995 -> Tid Scan on t1 b3t1
1996 TID Cond: (ctid = '(1,1)'::tid)
1998 Join Filter: (bmt1.c1 = c1.c1)
2000 Join Filter: (bmt1.c1 = bmt2.c1)
2002 Join Filter: (bmt3.c1 = bmt1.c1)
2004 Join Filter: (bmt3.c1 = bmt4.c1)
2005 -> Tid Scan on t3 bmt3
2006 TID Cond: (ctid = '(1,1)'::tid)
2007 -> Tid Scan on t4 bmt4
2008 TID Cond: (ctid = '(1,1)'::tid)
2009 -> Tid Scan on t1 bmt1
2010 TID Cond: (ctid = '(1,1)'::tid)
2012 -> Seq Scan on t2 bmt2
2013 Filter: (ctid = '(1,1)'::tid)
2017 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
2018 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2019 BitmapScan(b2t1 t1_pkey)
2020 IndexScan(b3t1 t1_pkey)
2022 EXPLAIN (COSTS false)
2024 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)'
2026 SELECT max(bmt1.c1), (
2027 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2029 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
2031 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2034 LOG: available indexes for IndexScan(b1t3): t3_pkey
2035 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2036 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2037 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2038 LOG: available indexes for IndexScan(b3t1): t1_pkey
2039 LOG: available indexes for IndexScan(b3t1): t1_pkey
2040 LOG: available indexes for IndexScan(bmt2): t2_pkey
2041 LOG: available indexes for BitmapScan(bmt3): t3_pkey
2046 IndexScan(b1t3 t3_pkey)
2047 BitmapScan(b1t4 t4_pkey)
2048 BitmapScan(b2t1 t1_pkey)
2049 IndexScan(b3t1 t1_pkey)
2051 IndexScan(bmt2 t2_pkey)
2052 BitmapScan(bmt3 t3_pkey)
2059 --------------------------------------------------------------------------------
2066 Join Filter: (b1t1.c1 = b1t2.c1)
2067 -> Tid Scan on t1 b1t1
2068 TID Cond: (ctid = '(1,1)'::tid)
2069 -> Seq Scan on t2 b1t2
2070 Filter: (ctid = '(1,1)'::tid)
2071 -> Index Scan using t3_pkey on t3 b1t3
2072 Index Cond: (c1 = b1t1.c1)
2073 Filter: (ctid = '(1,1)'::tid)
2074 -> Bitmap Heap Scan on t4 b1t4
2075 Recheck Cond: (c1 = b1t1.c1)
2076 Filter: (ctid = '(1,1)'::tid)
2077 -> Bitmap Index Scan on t4_pkey
2078 Index Cond: (c1 = b1t1.c1)
2079 InitPlan 3 (returns $3)
2081 InitPlan 2 (returns $2)
2083 -> Bitmap Heap Scan on t1 b2t1
2084 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2085 Filter: (ctid = '(1,1)'::tid)
2086 -> Bitmap Index Scan on t1_pkey
2087 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2088 InitPlan 5 (returns $5)
2090 InitPlan 4 (returns $4)
2092 -> Index Scan Backward using t1_pkey on t1 b3t1
2093 Index Cond: (c1 IS NOT NULL)
2094 Filter: (ctid = '(1,1)'::tid)
2097 Join Filter: (bmt1.c1 = c1.c1)
2099 Join Filter: (bmt1.c1 = bmt4.c1)
2101 -> Seq Scan on t1 bmt1
2102 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid))
2103 -> Bitmap Heap Scan on t3 bmt3
2104 Recheck Cond: (c1 = bmt1.c1)
2105 Filter: (ctid = '(1,1)'::tid)
2106 -> Bitmap Index Scan on t3_pkey
2107 Index Cond: (c1 = bmt1.c1)
2108 -> Tid Scan on t4 bmt4
2109 TID Cond: (ctid = '(1,1)'::tid)
2111 -> Index Scan using t2_pkey on t2 bmt2
2112 Index Cond: (c1 = bmt1.c1)
2113 Filter: (ctid = '(1,1)'::tid)
2117 ---- No. S-2-3 RULE or VIEW
2120 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2122 -----------------------------------------------------------------
2125 Join Filter: (t1.c1 = t4.c1)
2127 Join Filter: (t1.c1 = t3.c1)
2129 Join Filter: (t2.c1 = t1.c1)
2132 TID Cond: (ctid = '(1,1)'::tid)
2135 Filter: (ctid = '(1,1)'::tid)
2137 TID Cond: (ctid = '(1,1)'::tid)
2139 TID Cond: (ctid = '(1,1)'::tid)
2141 TID Cond: (ctid = '(1,1)'::tid)
2144 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2146 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2147 LOG: available indexes for IndexScan(t3): t3_pkey
2148 LOG: available indexes for BitmapScan(t4): t4_pkey
2154 IndexScan(t3 t3_pkey)
2155 BitmapScan(t4 t4_pkey)
2161 ------------------------------------------------------------------------
2165 Join Filter: (t2.c1 = t1.c1)
2169 Filter: (ctid = '(1,1)'::tid)
2170 -> Index Scan using t3_pkey on t3
2171 Index Cond: (c1 = t2.c1)
2172 Filter: (ctid = '(1,1)'::tid)
2174 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2176 TID Cond: (ctid = '(1,1)'::tid)
2177 -> Bitmap Heap Scan on t4
2178 Recheck Cond: (c1 = t1.c1)
2179 Filter: (ctid = '(1,1)'::tid)
2180 -> Bitmap Index Scan on t4_pkey
2181 Index Cond: (c1 = t1.c1)
2184 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2186 -----------------------------------------------------------------
2189 Join Filter: (b1t1.c1 = b1t4.c1)
2191 Join Filter: (b1t1.c1 = b1t3.c1)
2193 Join Filter: (b1t2.c1 = b1t1.c1)
2196 TID Cond: (ctid = '(1,1)'::tid)
2198 -> Seq Scan on t2 b1t2
2199 Filter: (ctid = '(1,1)'::tid)
2200 -> Tid Scan on t1 b1t1
2201 TID Cond: (ctid = '(1,1)'::tid)
2202 -> Tid Scan on t3 b1t3
2203 TID Cond: (ctid = '(1,1)'::tid)
2204 -> Tid Scan on t4 b1t4
2205 TID Cond: (ctid = '(1,1)'::tid)
2208 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2210 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2211 LOG: available indexes for IndexScan(b1t3): t3_pkey
2212 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2217 IndexScan(b1t3 t3_pkey)
2218 BitmapScan(b1t4 t4_pkey)
2225 ------------------------------------------------------------------------
2229 Join Filter: (b1t2.c1 = b1t1.c1)
2232 -> Seq Scan on t2 b1t2
2233 Filter: (ctid = '(1,1)'::tid)
2234 -> Index Scan using t3_pkey on t3 b1t3
2235 Index Cond: (c1 = b1t2.c1)
2236 Filter: (ctid = '(1,1)'::tid)
2238 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2239 -> Tid Scan on t1 b1t1
2240 TID Cond: (ctid = '(1,1)'::tid)
2241 -> Bitmap Heap Scan on t4 b1t4
2242 Recheck Cond: (c1 = b1t1.c1)
2243 Filter: (ctid = '(1,1)'::tid)
2244 -> Bitmap Index Scan on t4_pkey
2245 Index Cond: (c1 = b1t1.c1)
2249 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2251 -----------------------------------------------------------------
2254 Join Filter: (t1.c1 = t4.c1)
2256 Join Filter: (t1.c1 = t3.c1)
2258 Join Filter: (t2.c1 = t1.c1)
2261 TID Cond: (ctid = '(1,1)'::tid)
2264 Filter: (ctid = '(1,1)'::tid)
2266 TID Cond: (ctid = '(1,1)'::tid)
2268 TID Cond: (ctid = '(1,1)'::tid)
2270 TID Cond: (ctid = '(1,1)'::tid)
2274 Join Filter: (t1.c1 = t4.c1)
2276 Join Filter: (t1.c1 = t3.c1)
2278 Join Filter: (t2.c1 = t1.c1)
2281 TID Cond: (ctid = '(1,1)'::tid)
2284 Filter: (ctid = '(1,1)'::tid)
2286 TID Cond: (ctid = '(1,1)'::tid)
2288 TID Cond: (ctid = '(1,1)'::tid)
2290 TID Cond: (ctid = '(1,1)'::tid)
2293 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2295 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2296 LOG: available indexes for IndexScan(t3): t3_pkey
2297 LOG: available indexes for BitmapScan(t4): t4_pkey
2303 IndexScan(t3 t3_pkey)
2304 BitmapScan(t4 t4_pkey)
2309 LOG: available indexes for IndexScan(t3): t3_pkey
2310 LOG: available indexes for BitmapScan(t4): t4_pkey
2316 IndexScan(t3 t3_pkey)
2317 BitmapScan(t4 t4_pkey)
2323 ------------------------------------------------------------------------
2327 Join Filter: (t2.c1 = t1.c1)
2331 Filter: (ctid = '(1,1)'::tid)
2332 -> Index Scan using t3_pkey on t3
2333 Index Cond: (c1 = t2.c1)
2334 Filter: (ctid = '(1,1)'::tid)
2336 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2338 TID Cond: (ctid = '(1,1)'::tid)
2339 -> Bitmap Heap Scan on t4
2340 Recheck Cond: (c1 = t1.c1)
2341 Filter: (ctid = '(1,1)'::tid)
2342 -> Bitmap Index Scan on t4_pkey
2343 Index Cond: (c1 = t1.c1)
2348 Join Filter: (t2.c1 = t1.c1)
2352 Filter: (ctid = '(1,1)'::tid)
2353 -> Index Scan using t3_pkey on t3
2354 Index Cond: (c1 = t2.c1)
2355 Filter: (ctid = '(1,1)'::tid)
2357 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2359 TID Cond: (ctid = '(1,1)'::tid)
2360 -> Bitmap Heap Scan on t4
2361 Recheck Cond: (c1 = t1.c1)
2362 Filter: (ctid = '(1,1)'::tid)
2363 -> Bitmap Index Scan on t4_pkey
2364 Index Cond: (c1 = t1.c1)
2367 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2369 -----------------------------------------------------------------
2372 Join Filter: (b1t1.c1 = b1t4.c1)
2374 Join Filter: (b1t1.c1 = b1t3.c1)
2376 Join Filter: (b1t2.c1 = b1t1.c1)
2379 TID Cond: (ctid = '(1,1)'::tid)
2381 -> Seq Scan on t2 b1t2
2382 Filter: (ctid = '(1,1)'::tid)
2383 -> Tid Scan on t1 b1t1
2384 TID Cond: (ctid = '(1,1)'::tid)
2385 -> Tid Scan on t3 b1t3
2386 TID Cond: (ctid = '(1,1)'::tid)
2387 -> Tid Scan on t4 b1t4
2388 TID Cond: (ctid = '(1,1)'::tid)
2392 Join Filter: (b2t1.c1 = b2t4.c1)
2394 Join Filter: (b2t1.c1 = b2t3.c1)
2396 Join Filter: (b2t2.c1 = b2t1.c1)
2399 TID Cond: (ctid = '(1,1)'::tid)
2401 -> Seq Scan on t2 b2t2
2402 Filter: (ctid = '(1,1)'::tid)
2403 -> Tid Scan on t1 b2t1
2404 TID Cond: (ctid = '(1,1)'::tid)
2405 -> Tid Scan on t3 b2t3
2406 TID Cond: (ctid = '(1,1)'::tid)
2407 -> Tid Scan on t4 b2t4
2408 TID Cond: (ctid = '(1,1)'::tid)
2411 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2412 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2414 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2415 LOG: available indexes for IndexScan(b1t3): t3_pkey
2416 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2421 IndexScan(b1t3 t3_pkey)
2422 BitmapScan(b1t4 t4_pkey)
2425 BitmapScan(b2t1 t1_pkey)
2428 IndexScan(b2t4 t4_pkey)
2432 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2433 LOG: available indexes for IndexScan(b2t4): t4_pkey
2436 BitmapScan(b2t1 t1_pkey)
2439 IndexScan(b2t4 t4_pkey)
2444 IndexScan(b1t3 t3_pkey)
2445 BitmapScan(b1t4 t4_pkey)
2450 ------------------------------------------------------------------------
2454 Join Filter: (b1t2.c1 = b1t1.c1)
2457 -> Seq Scan on t2 b1t2
2458 Filter: (ctid = '(1,1)'::tid)
2459 -> Index Scan using t3_pkey on t3 b1t3
2460 Index Cond: (c1 = b1t2.c1)
2461 Filter: (ctid = '(1,1)'::tid)
2463 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2464 -> Tid Scan on t1 b1t1
2465 TID Cond: (ctid = '(1,1)'::tid)
2466 -> Bitmap Heap Scan on t4 b1t4
2467 Recheck Cond: (c1 = b1t1.c1)
2468 Filter: (ctid = '(1,1)'::tid)
2469 -> Bitmap Index Scan on t4_pkey
2470 Index Cond: (c1 = b1t1.c1)
2477 Join Filter: (b2t2.c1 = b2t3.c1)
2478 -> Tid Scan on t2 b2t2
2479 TID Cond: (ctid = '(1,1)'::tid)
2480 -> Seq Scan on t3 b2t3
2481 Filter: (ctid = '(1,1)'::tid)
2483 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2484 -> Bitmap Heap Scan on t1 b2t1
2485 Recheck Cond: (c1 = b2t2.c1)
2486 Filter: (ctid = '(1,1)'::tid)
2487 -> Bitmap Index Scan on t1_pkey
2488 Index Cond: (c1 = b2t2.c1)
2489 -> Index Scan using t4_pkey on t4 b2t4
2490 Index Cond: (c1 = b2t1.c1)
2491 Filter: (ctid = '(1,1)'::tid)
2495 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2497 -----------------------------------------------------------------
2500 Join Filter: (t1.c1 = t4.c1)
2502 Join Filter: (t1.c1 = t3.c1)
2504 Join Filter: (t2.c1 = t1.c1)
2507 TID Cond: (ctid = '(1,1)'::tid)
2510 Filter: (ctid = '(1,1)'::tid)
2512 TID Cond: (ctid = '(1,1)'::tid)
2514 TID Cond: (ctid = '(1,1)'::tid)
2516 TID Cond: (ctid = '(1,1)'::tid)
2520 Join Filter: (t1.c1 = t4.c1)
2522 Join Filter: (t1.c1 = t3.c1)
2524 Join Filter: (t2.c1 = t1.c1)
2527 TID Cond: (ctid = '(1,1)'::tid)
2530 Filter: (ctid = '(1,1)'::tid)
2532 TID Cond: (ctid = '(1,1)'::tid)
2534 TID Cond: (ctid = '(1,1)'::tid)
2536 TID Cond: (ctid = '(1,1)'::tid)
2540 Join Filter: (t1.c1 = t4.c1)
2542 Join Filter: (t1.c1 = t3.c1)
2544 Join Filter: (t2.c1 = t1.c1)
2547 TID Cond: (ctid = '(1,1)'::tid)
2550 Filter: (ctid = '(1,1)'::tid)
2552 TID Cond: (ctid = '(1,1)'::tid)
2554 TID Cond: (ctid = '(1,1)'::tid)
2556 TID Cond: (ctid = '(1,1)'::tid)
2559 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2561 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2562 LOG: available indexes for IndexScan(t3): t3_pkey
2563 LOG: available indexes for BitmapScan(t4): t4_pkey
2569 IndexScan(t3 t3_pkey)
2570 BitmapScan(t4 t4_pkey)
2575 LOG: available indexes for IndexScan(t3): t3_pkey
2576 LOG: available indexes for BitmapScan(t4): t4_pkey
2582 IndexScan(t3 t3_pkey)
2583 BitmapScan(t4 t4_pkey)
2588 LOG: available indexes for IndexScan(t3): t3_pkey
2589 LOG: available indexes for BitmapScan(t4): t4_pkey
2595 IndexScan(t3 t3_pkey)
2596 BitmapScan(t4 t4_pkey)
2602 ------------------------------------------------------------------------
2606 Join Filter: (t2.c1 = t1.c1)
2610 Filter: (ctid = '(1,1)'::tid)
2611 -> Index Scan using t3_pkey on t3
2612 Index Cond: (c1 = t2.c1)
2613 Filter: (ctid = '(1,1)'::tid)
2615 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2617 TID Cond: (ctid = '(1,1)'::tid)
2618 -> Bitmap Heap Scan on t4
2619 Recheck Cond: (c1 = t1.c1)
2620 Filter: (ctid = '(1,1)'::tid)
2621 -> Bitmap Index Scan on t4_pkey
2622 Index Cond: (c1 = t1.c1)
2627 Join Filter: (t2.c1 = t1.c1)
2631 Filter: (ctid = '(1,1)'::tid)
2632 -> Index Scan using t3_pkey on t3
2633 Index Cond: (c1 = t2.c1)
2634 Filter: (ctid = '(1,1)'::tid)
2636 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2638 TID Cond: (ctid = '(1,1)'::tid)
2639 -> Bitmap Heap Scan on t4
2640 Recheck Cond: (c1 = t1.c1)
2641 Filter: (ctid = '(1,1)'::tid)
2642 -> Bitmap Index Scan on t4_pkey
2643 Index Cond: (c1 = t1.c1)
2648 Join Filter: (t2.c1 = t1.c1)
2652 Filter: (ctid = '(1,1)'::tid)
2653 -> Index Scan using t3_pkey on t3
2654 Index Cond: (c1 = t2.c1)
2655 Filter: (ctid = '(1,1)'::tid)
2657 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2659 TID Cond: (ctid = '(1,1)'::tid)
2660 -> Bitmap Heap Scan on t4
2661 Recheck Cond: (c1 = t1.c1)
2662 Filter: (ctid = '(1,1)'::tid)
2663 -> Bitmap Index Scan on t4_pkey
2664 Index Cond: (c1 = t1.c1)
2667 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2669 -----------------------------------------------------------------
2672 Join Filter: (b1t1.c1 = b1t4.c1)
2674 Join Filter: (b1t1.c1 = b1t3.c1)
2676 Join Filter: (b1t2.c1 = b1t1.c1)
2679 TID Cond: (ctid = '(1,1)'::tid)
2681 -> Seq Scan on t2 b1t2
2682 Filter: (ctid = '(1,1)'::tid)
2683 -> Tid Scan on t1 b1t1
2684 TID Cond: (ctid = '(1,1)'::tid)
2685 -> Tid Scan on t3 b1t3
2686 TID Cond: (ctid = '(1,1)'::tid)
2687 -> Tid Scan on t4 b1t4
2688 TID Cond: (ctid = '(1,1)'::tid)
2692 Join Filter: (b2t1.c1 = b2t4.c1)
2694 Join Filter: (b2t1.c1 = b2t3.c1)
2696 Join Filter: (b2t2.c1 = b2t1.c1)
2699 TID Cond: (ctid = '(1,1)'::tid)
2701 -> Seq Scan on t2 b2t2
2702 Filter: (ctid = '(1,1)'::tid)
2703 -> Tid Scan on t1 b2t1
2704 TID Cond: (ctid = '(1,1)'::tid)
2705 -> Tid Scan on t3 b2t3
2706 TID Cond: (ctid = '(1,1)'::tid)
2707 -> Tid Scan on t4 b2t4
2708 TID Cond: (ctid = '(1,1)'::tid)
2712 Join Filter: (b3t1.c1 = b3t4.c1)
2714 Join Filter: (b3t1.c1 = b3t3.c1)
2716 Join Filter: (b3t2.c1 = b3t1.c1)
2719 TID Cond: (ctid = '(1,1)'::tid)
2721 -> Seq Scan on t2 b3t2
2722 Filter: (ctid = '(1,1)'::tid)
2723 -> Tid Scan on t1 b3t1
2724 TID Cond: (ctid = '(1,1)'::tid)
2725 -> Tid Scan on t3 b3t3
2726 TID Cond: (ctid = '(1,1)'::tid)
2727 -> Tid Scan on t4 b3t4
2728 TID Cond: (ctid = '(1,1)'::tid)
2731 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2732 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2733 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
2735 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2736 LOG: available indexes for IndexScan(b1t3): t3_pkey
2737 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2742 IndexScan(b1t3 t3_pkey)
2743 BitmapScan(b1t4 t4_pkey)
2746 BitmapScan(b2t1 t1_pkey)
2749 IndexScan(b2t4 t4_pkey)
2750 IndexScan(b3t1 t1_pkey)
2751 BitmapScan(b3t2 t2_pkey)
2757 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2758 LOG: available indexes for IndexScan(b2t4): t4_pkey
2761 BitmapScan(b2t1 t1_pkey)
2764 IndexScan(b2t4 t4_pkey)
2769 IndexScan(b1t3 t3_pkey)
2770 BitmapScan(b1t4 t4_pkey)
2771 IndexScan(b3t1 t1_pkey)
2772 BitmapScan(b3t2 t2_pkey)
2778 LOG: available indexes for IndexScan(b3t1): t1_pkey
2779 LOG: available indexes for BitmapScan(b3t2): t2_pkey
2782 IndexScan(b3t1 t1_pkey)
2783 BitmapScan(b3t2 t2_pkey)
2790 IndexScan(b1t3 t3_pkey)
2791 BitmapScan(b1t4 t4_pkey)
2792 BitmapScan(b2t1 t1_pkey)
2795 IndexScan(b2t4 t4_pkey)
2800 ------------------------------------------------------------------------
2804 Join Filter: (b1t2.c1 = b1t1.c1)
2807 -> Seq Scan on t2 b1t2
2808 Filter: (ctid = '(1,1)'::tid)
2809 -> Index Scan using t3_pkey on t3 b1t3
2810 Index Cond: (c1 = b1t2.c1)
2811 Filter: (ctid = '(1,1)'::tid)
2813 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2814 -> Tid Scan on t1 b1t1
2815 TID Cond: (ctid = '(1,1)'::tid)
2816 -> Bitmap Heap Scan on t4 b1t4
2817 Recheck Cond: (c1 = b1t1.c1)
2818 Filter: (ctid = '(1,1)'::tid)
2819 -> Bitmap Index Scan on t4_pkey
2820 Index Cond: (c1 = b1t1.c1)
2827 Join Filter: (b2t2.c1 = b2t3.c1)
2828 -> Tid Scan on t2 b2t2
2829 TID Cond: (ctid = '(1,1)'::tid)
2830 -> Seq Scan on t3 b2t3
2831 Filter: (ctid = '(1,1)'::tid)
2833 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2834 -> Bitmap Heap Scan on t1 b2t1
2835 Recheck Cond: (c1 = b2t2.c1)
2836 Filter: (ctid = '(1,1)'::tid)
2837 -> Bitmap Index Scan on t1_pkey
2838 Index Cond: (c1 = b2t2.c1)
2839 -> Index Scan using t4_pkey on t4 b2t4
2840 Index Cond: (c1 = b2t1.c1)
2841 Filter: (ctid = '(1,1)'::tid)
2845 Join Filter: (b3t1.c1 = b3t4.c1)
2849 -> Tid Scan on t3 b3t3
2850 TID Cond: (ctid = '(1,1)'::tid)
2851 -> Bitmap Heap Scan on t2 b3t2
2852 Recheck Cond: (c1 = b3t3.c1)
2853 Filter: (ctid = '(1,1)'::tid)
2854 -> Bitmap Index Scan on t2_pkey
2855 Index Cond: (c1 = b3t3.c1)
2857 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2858 -> Index Scan using t1_pkey on t1 b3t1
2859 Index Cond: (c1 = b3t2.c1)
2860 Filter: (ctid = '(1,1)'::tid)
2861 -> Seq Scan on t4 b3t4
2862 Filter: (ctid = '(1,1)'::tid)
2866 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2868 ----------------------------------
2870 Hash Cond: (v1t1.c1 = v1t1.c1)
2871 -> Seq Scan on t1 v1t1
2873 -> Seq Scan on t1 v1t1
2876 /*+BitmapScan(v1t1)*/
2877 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2886 ------------------------------------------
2888 -> Index Scan using t1_i1 on t1 v1t1
2889 -> Bitmap Heap Scan on t1 v1t1
2890 Recheck Cond: (c1 = v1t1.c1)
2891 -> Bitmap Index Scan on t1_i1
2892 Index Cond: (c1 = v1t1.c1)
2896 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2898 -----------------------------------
2900 Hash Cond: (v1t1.c1 = v1t1_.c1)
2901 -> Seq Scan on t1 v1t1
2903 -> Seq Scan on t1 v1t1_
2906 /*+SeqScan(v1t1)BitmapScan(v1t1_)*/
2907 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2917 ------------------------------------------
2919 -> Seq Scan on t1 v1t1
2920 -> Bitmap Heap Scan on t1 v1t1_
2921 Recheck Cond: (c1 = v1t1.c1)
2922 -> Bitmap Index Scan on t1_i1
2923 Index Cond: (c1 = v1t1.c1)
2927 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2929 ----------------------------------
2931 Hash Cond: (r4t1.c1 = r4t1.c1)
2932 -> Seq Scan on t1 r4t1
2934 -> Seq Scan on t1 r4t1
2937 /*+BitmapScan(r4t1)*/
2938 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2947 ------------------------------------------
2949 -> Index Scan using t1_i1 on t1 r4t1
2950 -> Bitmap Heap Scan on t1 r4t1
2951 Recheck Cond: (c1 = r4t1.c1)
2952 -> Bitmap Index Scan on t1_i1
2953 Index Cond: (c1 = r4t1.c1)
2957 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2959 ----------------------------------
2961 Hash Cond: (r4t1.c1 = r5t1.c1)
2962 -> Seq Scan on t1 r4t1
2964 -> Seq Scan on t1 r5t1
2967 /*+SeqScan(r4t1)BitmapScan(r5t1)*/
2968 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2978 ------------------------------------------
2980 -> Seq Scan on t1 r4t1
2981 -> Bitmap Heap Scan on t1 r5t1
2982 Recheck Cond: (c1 = r4t1.c1)
2983 -> Bitmap Index Scan on t1_i1
2984 Index Cond: (c1 = r4t1.c1)
2988 ---- No. S-2-4 VALUES clause
2991 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
2993 ---------------------------
2994 Values Scan on "*VALUES*"
2995 Filter: (column1 = 1)
2999 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3008 ---------------------------
3009 Values Scan on "*VALUES*"
3010 Filter: (column1 = 1)
3013 /*+SeqScan(*VALUES*)*/
3014 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3023 ---------------------------
3024 Values Scan on "*VALUES*"
3025 Filter: (column1 = 1)
3029 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;
3031 ----------------------------------------------------------
3033 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
3034 -> Values Scan on "*VALUES*"
3035 -> Values Scan on "*VALUES*"
3039 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;
3040 INFO: hint syntax error at or near ""
3041 DETAIL: SeqScan hint accepts only one relation.
3050 ----------------------------------------------------------
3052 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
3053 -> Values Scan on "*VALUES*"
3054 -> Values Scan on "*VALUES*"
3057 /*+SeqScan(*VALUES*)*/
3058 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;
3067 ----------------------------------------------------------
3069 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
3070 -> Values Scan on "*VALUES*"
3071 -> Values Scan on "*VALUES*"
3075 ---- No. S-3-1 scan method hint
3078 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3080 ---------------------
3086 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3095 ---------------------
3101 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3103 ------------------------------
3104 Index Scan using t1_i1 on t1
3105 Index Cond: (c1 = 1)
3109 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3118 --------------------
3124 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3126 ------------------------------
3127 Index Scan using t1_i1 on t1
3128 Index Cond: (c1 = 1)
3132 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3141 ------------------------------
3142 Index Scan using t1_i1 on t1
3143 Index Cond: (c1 = 1)
3147 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3149 ---------------------
3155 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3164 ------------------------------
3165 Index Scan using t1_i1 on t1
3166 Index Cond: (c1 >= 1)
3170 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3172 ---------------------------------
3173 Bitmap Heap Scan on t1
3174 Recheck Cond: (c3 < 10)
3175 -> Bitmap Index Scan on t1_i
3176 Index Cond: (c3 < 10)
3180 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3189 ---------------------------------
3190 Bitmap Heap Scan on t1
3191 Recheck Cond: (c3 < 10)
3192 -> Bitmap Index Scan on t1_i
3193 Index Cond: (c3 < 10)
3197 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3199 ------------------------------
3200 Index Scan using t1_i1 on t1
3201 Index Cond: (c1 = 1)
3205 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3214 ----------------------------------
3215 Bitmap Heap Scan on t1
3216 Recheck Cond: (c1 = 1)
3217 -> Bitmap Index Scan on t1_i1
3218 Index Cond: (c1 = 1)
3222 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3224 -----------------------------------
3226 TID Cond: (ctid = '(1,1)'::tid)
3231 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3240 -----------------------------------
3242 TID Cond: (ctid = '(1,1)'::tid)
3247 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3249 -------------------------------------------------------------
3250 Index Scan using t1_i1 on t1
3251 Index Cond: (c1 = 1)
3252 Filter: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3256 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3265 ---------------------------------------------------------------
3267 TID Cond: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3272 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3274 ---------------------
3280 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3289 ------------------------------
3290 Index Scan using t1_i1 on t1
3291 Index Cond: (c1 >= 1)
3295 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3297 ------------------------------
3298 Index Scan using t1_i1 on t1
3299 Index Cond: (c1 = 1)
3303 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3312 ------------------------------
3313 Index Scan using t1_i1 on t1
3314 Index Cond: (c1 = 1)
3318 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3320 ------------------------------
3321 Index Scan using t1_i1 on t1
3322 Index Cond: (c1 = 1)
3325 /*+NoIndexScan(t1)*/
3326 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3335 ----------------------------------
3336 Bitmap Heap Scan on t1
3337 Recheck Cond: (c1 = 1)
3338 -> Bitmap Index Scan on t1_i1
3339 Index Cond: (c1 = 1)
3343 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3345 ---------------------
3350 /*+NoIndexScan(t1)*/
3351 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3360 ---------------------
3366 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3368 ---------------------------------
3369 Bitmap Heap Scan on t1
3370 Recheck Cond: (c3 < 10)
3371 -> Bitmap Index Scan on t1_i
3372 Index Cond: (c3 < 10)
3375 /*+NoBitmapScan(t1)*/
3376 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3385 ---------------------
3391 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3393 ------------------------------
3394 Index Scan using t1_i1 on t1
3395 Index Cond: (c1 = 1)
3398 /*+NoBitmapScan(t1)*/
3399 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3408 ------------------------------
3409 Index Scan using t1_i1 on t1
3410 Index Cond: (c1 = 1)
3414 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3416 -----------------------------------
3418 TID Cond: (ctid = '(1,1)'::tid)
3423 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3432 ---------------------------------
3433 Index Scan using t1_i1 on t1
3434 Index Cond: (c1 = 1)
3435 Filter: (ctid = '(1,1)'::tid)
3439 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3441 ------------------------------
3442 Index Scan using t1_i1 on t1
3443 Index Cond: (c1 = 1)
3447 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3456 ------------------------------
3457 Index Scan using t1_i1 on t1
3458 Index Cond: (c1 = 1)
3462 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3464 ------------------------------
3465 Index Scan using t1_i1 on t1
3466 Index Cond: (c1 = 1)
3469 /*+IndexOnlyScan(t1)*/
3470 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3471 INFO: hint syntax error at or near "IndexOnlyScan(t1)"
3472 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
3474 ------------------------------
3475 Index Scan using t1_i1 on t1
3476 Index Cond: (c1 = 1)
3480 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3482 ---------------------
3487 /*+IndexOnlyScan(t1)*/
3488 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3489 INFO: hint syntax error at or near "IndexOnlyScan(t1)"
3490 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
3492 ---------------------
3498 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3500 ------------------------------
3501 Index Scan using t1_i1 on t1
3502 Index Cond: (c1 = 1)
3505 /*+NoIndexOnlyScan(t1)*/
3506 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3507 INFO: hint syntax error at or near "NoIndexOnlyScan(t1)"
3508 DETAIL: Unrecognized hint keyword "NoIndexOnlyScan".
3510 ------------------------------
3511 Index Scan using t1_i1 on t1
3512 Index Cond: (c1 = 1)
3516 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3518 ---------------------
3523 /*+NoIndexOnlyScan(t1)*/
3524 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3525 INFO: hint syntax error at or near "NoIndexOnlyScan(t1)"
3526 DETAIL: Unrecognized hint keyword "NoIndexOnlyScan".
3528 ---------------------
3534 ---- No. S-3-3 index name specified
3536 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3538 -----------------------------------
3540 TID Cond: (ctid = '(1,1)'::tid)
3544 SET enable_tidscan TO off;
3545 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3547 ---------------------------------
3548 Index Scan using ti1_i2 on ti1
3549 Index Cond: (c2 = 1)
3550 Filter: (ctid = '(1,1)'::tid)
3553 SET enable_indexscan TO off;
3554 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3556 -----------------------------------
3557 Bitmap Heap Scan on ti1
3558 Recheck Cond: (c2 = 1)
3559 Filter: (ctid = '(1,1)'::tid)
3560 -> Bitmap Index Scan on ti1_i2
3561 Index Cond: (c2 = 1)
3564 RESET enable_tidscan;
3565 RESET enable_indexscan;
3566 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3568 ---------------------
3574 /*+IndexScan(ti1 ti1_i3)*/
3575 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3576 LOG: available indexes for IndexScan(ti1): ti1_i3
3579 IndexScan(ti1 ti1_i3)
3585 ---------------------------------
3586 Index Scan using ti1_i3 on ti1
3587 Index Cond: (c2 = 1)
3588 Filter: (ctid = '(1,1)'::tid)
3592 /*+IndexScan(ti1 ti1_i3 ti1_i2)*/
3593 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3594 LOG: available indexes for IndexScan(ti1): ti1_i3 ti1_i2
3597 IndexScan(ti1 ti1_i3 ti1_i2)
3603 ---------------------------------
3604 Index Scan using ti1_i2 on ti1
3605 Index Cond: (c2 = 1)
3606 Filter: (ctid = '(1,1)'::tid)
3610 /*+IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3611 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3612 LOG: available indexes for IndexScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3615 IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3621 ---------------------------------
3622 Index Scan using ti1_i2 on ti1
3623 Index Cond: (c2 = 1)
3624 Filter: (ctid = '(1,1)'::tid)
3628 /*+BitmapScan(ti1 ti1_i3)*/
3629 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3630 LOG: available indexes for BitmapScan(ti1): ti1_i3
3633 BitmapScan(ti1 ti1_i3)
3639 -----------------------------------
3640 Bitmap Heap Scan on ti1
3641 Recheck Cond: (c2 = 1)
3642 Filter: (ctid = '(1,1)'::tid)
3643 -> Bitmap Index Scan on ti1_i3
3644 Index Cond: (c2 = 1)
3648 /*+BitmapScan(ti1 ti1_i3 ti1_i2)*/
3649 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3650 LOG: available indexes for BitmapScan(ti1): ti1_i3 ti1_i2
3653 BitmapScan(ti1 ti1_i3 ti1_i2)
3659 -----------------------------------
3660 Bitmap Heap Scan on ti1
3661 Recheck Cond: (c2 = 1)
3662 Filter: (ctid = '(1,1)'::tid)
3663 -> Bitmap Index Scan on ti1_i2
3664 Index Cond: (c2 = 1)
3668 /*+BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3669 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3670 LOG: available indexes for BitmapScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3673 BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3679 -----------------------------------
3680 Bitmap Heap Scan on ti1
3681 Recheck Cond: (c2 = 1)
3682 Filter: (ctid = '(1,1)'::tid)
3683 -> Bitmap Index Scan on ti1_i2
3684 Index Cond: (c2 = 1)
3688 /*+IndexOnlyScan(ti1 ti1_i3)*/
3689 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3690 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_i3)"
3691 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
3693 ---------------------
3699 /*+IndexOnlyScan(ti1 ti1_i3 ti1_i2)*/
3700 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3701 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_i3 ti1_i2)"
3702 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
3704 ---------------------
3710 /*+IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3711 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3712 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)"
3713 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
3715 ---------------------
3721 ---- No. S-3-4 index type
3725 Column | Type | Modifiers
3726 --------+---------+-----------
3727 c1 | integer | not null
3732 "ti1_pkey" PRIMARY KEY, btree (c1)
3733 "ti1_c2_key" UNIQUE CONSTRAINT, btree (c2)
3734 "ti1_uniq" UNIQUE, btree (c1)
3735 "ti1_btree" btree (c1)
3736 "ti1_expr" btree ((c1 < 100))
3738 "ti1_gist" gist (c1)
3739 "ti1_hash" hash (c1)
3741 "ti1_i2" btree (c2, c4)
3742 "ti1_i3" btree (c2, c4, c4)
3743 "ti1_i4" btree (c2, c4, c4, c4)
3744 "ti1_multi" btree (c1, c2, c3, c4)
3745 "ti1_pred" btree (lower(c4))
3746 "ti1_ts" gin (to_tsvector('english'::regconfig, c4))
3748 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)';
3750 -----------------------------------------------------------------------------------------------------------------------------------------
3752 TID Cond: (ctid = '(1,1)'::tid)
3753 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3757 /*+IndexScan(ti1 ti1_btree)*/
3758 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)';
3759 LOG: available indexes for IndexScan(ti1): ti1_btree
3762 IndexScan(ti1 ti1_btree)
3768 ----------------------------------------------------------------------------------------------------------------------------------------------------
3769 Index Scan using ti1_btree on ti1
3770 Index Cond: (c1 < 100)
3771 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3775 /*+IndexScan(ti1 ti1_hash)*/
3776 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)';
3777 LOG: available indexes for IndexScan(ti1): ti1_hash
3780 IndexScan(ti1 ti1_hash)
3786 ----------------------------------------------------------------------------------------------------------------------------------------------------
3787 Index Scan using ti1_hash on ti1
3788 Index Cond: (c1 = 100)
3789 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3793 /*+IndexScan(ti1 ti1_gist)*/
3794 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)';
3795 LOG: available indexes for IndexScan(ti1): ti1_gist
3798 IndexScan(ti1 ti1_gist)
3804 ----------------------------------------------------------------------------------------------------------------------------------------------------
3805 Index Scan using ti1_gist on ti1
3806 Index Cond: (c1 < 100)
3807 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3811 /*+IndexScan(ti1 ti1_gin)*/
3812 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)';
3813 LOG: available indexes for IndexScan(ti1): ti1_gin
3816 IndexScan(ti1 ti1_gin)
3822 -----------------------------------------------------------------------------------------------------------------------------------------
3824 TID Cond: (ctid = '(1,1)'::tid)
3825 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3829 /*+IndexScan(ti1 ti1_expr)*/
3830 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)';
3831 LOG: available indexes for IndexScan(ti1): ti1_expr
3834 IndexScan(ti1 ti1_expr)
3840 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
3841 Index Scan using ti1_expr on ti1
3842 Index Cond: ((c1 < 100) = true)
3843 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))
3847 /*+IndexScan(ti1 ti1_pred)*/
3848 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)';
3849 LOG: available indexes for IndexScan(ti1): ti1_pred
3852 IndexScan(ti1 ti1_pred)
3858 ---------------------------------------------------------------------------------------------------------------------------------------
3859 Index Scan using ti1_pred on ti1
3860 Index Cond: (lower(c4) = '1'::text)
3861 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3865 /*+IndexScan(ti1 ti1_uniq)*/
3866 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)';
3867 LOG: available indexes for IndexScan(ti1): ti1_uniq
3870 IndexScan(ti1 ti1_uniq)
3876 ----------------------------------------------------------------------------------------------------------------------------------------------------
3877 Index Scan using ti1_uniq on ti1
3878 Index Cond: (c1 < 100)
3879 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3883 /*+IndexScan(ti1 ti1_multi)*/
3884 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)';
3885 LOG: available indexes for IndexScan(ti1): ti1_multi
3888 IndexScan(ti1 ti1_multi)
3894 ---------------------------------------------------------------------------------------------------------------------------------------
3895 Index Scan using ti1_multi on ti1
3896 Index Cond: ((c1 < 100) AND (c2 = 1))
3897 Filter: ((ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3901 /*+IndexScan(ti1 ti1_ts)*/
3902 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)';
3903 LOG: available indexes for IndexScan(ti1): ti1_ts
3906 IndexScan(ti1 ti1_ts)
3912 -----------------------------------------------------------------------------------------------------------------------------------------
3914 TID Cond: (ctid = '(1,1)'::tid)
3915 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3919 /*+IndexScan(ti1 ti1_pkey)*/
3920 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)';
3921 LOG: available indexes for IndexScan(ti1): ti1_pkey
3924 IndexScan(ti1 ti1_pkey)
3930 ----------------------------------------------------------------------------------------------------------------------------------------------------
3931 Index Scan using ti1_pkey on ti1
3932 Index Cond: (c1 < 100)
3933 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3937 /*+IndexScan(ti1 ti1_c2_key)*/
3938 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)';
3939 LOG: available indexes for IndexScan(ti1): ti1_c2_key
3942 IndexScan(ti1 ti1_c2_key)
3948 ------------------------------------------------------------------------------------------------------------------------------------------------------
3949 Index Scan using ti1_c2_key on ti1
3950 Index Cond: (c2 = 1)
3951 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3955 /*+BitmapScan(ti1 ti1_btree)*/
3956 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)';
3957 LOG: available indexes for BitmapScan(ti1): ti1_btree
3960 BitmapScan(ti1 ti1_btree)
3966 ----------------------------------------------------------------------------------------------------------------------------------------------------
3967 Bitmap Heap Scan on ti1
3968 Recheck Cond: (c1 < 100)
3969 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3970 -> Bitmap Index Scan on ti1_btree
3971 Index Cond: (c1 < 100)
3975 /*+BitmapScan(ti1 ti1_hash)*/
3976 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)';
3977 LOG: available indexes for BitmapScan(ti1): ti1_hash
3980 BitmapScan(ti1 ti1_hash)
3986 ----------------------------------------------------------------------------------------------------------------------------------------------------
3987 Bitmap Heap Scan on ti1
3988 Recheck Cond: (c1 = 100)
3989 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3990 -> Bitmap Index Scan on ti1_hash
3991 Index Cond: (c1 = 100)
3995 /*+BitmapScan(ti1 ti1_gist)*/
3996 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)';
3997 LOG: available indexes for BitmapScan(ti1): ti1_gist
4000 BitmapScan(ti1 ti1_gist)
4006 ----------------------------------------------------------------------------------------------------------------------------------------------------
4007 Bitmap Heap Scan on ti1
4008 Recheck Cond: (c1 < 100)
4009 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4010 -> Bitmap Index Scan on ti1_gist
4011 Index Cond: (c1 < 100)
4015 /*+BitmapScan(ti1 ti1_gin)*/
4016 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)';
4017 LOG: available indexes for BitmapScan(ti1): ti1_gin
4020 BitmapScan(ti1 ti1_gin)
4026 ----------------------------------------------------------------------------------------------------------------------------------------------------
4027 Bitmap Heap Scan on ti1
4028 Recheck Cond: (c1 < 100)
4029 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4030 -> Bitmap Index Scan on ti1_gin
4031 Index Cond: (c1 < 100)
4035 /*+BitmapScan(ti1 ti1_expr)*/
4036 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)';
4037 LOG: available indexes for BitmapScan(ti1): ti1_expr
4040 BitmapScan(ti1 ti1_expr)
4046 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
4047 Bitmap Heap Scan on ti1
4048 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))
4049 -> Bitmap Index Scan on ti1_expr
4050 Index Cond: ((c1 < 100) = true)
4054 /*+BitmapScan(ti1 ti1_pred)*/
4055 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)';
4056 LOG: available indexes for BitmapScan(ti1): ti1_pred
4059 BitmapScan(ti1 ti1_pred)
4065 ---------------------------------------------------------------------------------------------------------------------------------------
4066 Bitmap Heap Scan on ti1
4067 Recheck Cond: (lower(c4) = '1'::text)
4068 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4069 -> Bitmap Index Scan on ti1_pred
4070 Index Cond: (lower(c4) = '1'::text)
4074 /*+BitmapScan(ti1 ti1_uniq)*/
4075 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)';
4076 LOG: available indexes for BitmapScan(ti1): ti1_uniq
4079 BitmapScan(ti1 ti1_uniq)
4085 ----------------------------------------------------------------------------------------------------------------------------------------------------
4086 Bitmap Heap Scan on ti1
4087 Recheck Cond: (c1 < 100)
4088 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4089 -> Bitmap Index Scan on ti1_uniq
4090 Index Cond: (c1 < 100)
4094 /*+BitmapScan(ti1 ti1_multi)*/
4095 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)';
4096 LOG: available indexes for BitmapScan(ti1): ti1_multi
4099 BitmapScan(ti1 ti1_multi)
4105 ---------------------------------------------------------------------------------------------------------------------------------------
4106 Bitmap Heap Scan on ti1
4107 Recheck Cond: ((c1 < 100) AND (c2 = 1))
4108 Filter: ((ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4109 -> Bitmap Index Scan on ti1_multi
4110 Index Cond: ((c1 < 100) AND (c2 = 1))
4114 /*+BitmapScan(ti1 ti1_ts)*/
4115 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)';
4116 LOG: available indexes for BitmapScan(ti1): ti1_ts
4119 BitmapScan(ti1 ti1_ts)
4125 -------------------------------------------------------------------------------------------
4126 Bitmap Heap Scan on ti1
4127 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4128 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text))
4129 -> Bitmap Index Scan on ti1_ts
4130 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4134 /*+BitmapScan(ti1 ti1_pkey)*/
4135 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)';
4136 LOG: available indexes for BitmapScan(ti1): ti1_pkey
4139 BitmapScan(ti1 ti1_pkey)
4145 ----------------------------------------------------------------------------------------------------------------------------------------------------
4146 Bitmap Heap Scan on ti1
4147 Recheck Cond: (c1 < 100)
4148 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4149 -> Bitmap Index Scan on ti1_pkey
4150 Index Cond: (c1 < 100)
4154 /*+BitmapScan(ti1 ti1_c2_key)*/
4155 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)';
4156 LOG: available indexes for BitmapScan(ti1): ti1_c2_key
4159 BitmapScan(ti1 ti1_c2_key)
4165 ------------------------------------------------------------------------------------------------------------------------------------------------------
4166 Bitmap Heap Scan on ti1
4167 Recheck Cond: (c2 = 1)
4168 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4169 -> Bitmap Index Scan on ti1_c2_key
4170 Index Cond: (c2 = 1)
4174 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4176 ---------------------
4181 /*+IndexOnlyScan(ti1 ti1_btree)*/
4182 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4183 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_btree)"
4184 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
4186 ---------------------
4192 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4194 ----------------------------------
4195 Index Scan using ti1_uniq on ti1
4196 Index Cond: (c1 = 1)
4199 /*+IndexOnlyScan(ti1 ti1_hash)*/
4200 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4201 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_hash)"
4202 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
4204 ----------------------------------
4205 Index Scan using ti1_uniq on ti1
4206 Index Cond: (c1 = 1)
4210 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4212 ----------------------------------
4213 Index Scan using ti1_uniq on ti1
4214 Index Cond: (c1 < 1)
4217 /*+IndexOnlyScan(ti1 ti1_gist)*/
4218 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4219 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_gist)"
4220 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
4222 ----------------------------------
4223 Index Scan using ti1_uniq on ti1
4224 Index Cond: (c1 < 1)
4228 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4230 ----------------------------------
4231 Index Scan using ti1_uniq on ti1
4232 Index Cond: (c1 = 1)
4235 /*+IndexOnlyScan(ti1 ti1_gin)*/
4236 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4237 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_gin)"
4238 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
4240 ----------------------------------
4241 Index Scan using ti1_uniq on ti1
4242 Index Cond: (c1 = 1)
4246 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4248 ----------------------------------
4249 Index Scan using ti1_uniq on ti1
4250 Index Cond: (c1 < 100)
4253 /*+IndexOnlyScan(ti1 ti1_expr)*/
4254 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4255 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_expr)"
4256 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
4258 ----------------------------------
4259 Index Scan using ti1_uniq on ti1
4260 Index Cond: (c1 < 100)
4264 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4266 ------------------------------------
4268 Filter: (lower(c4) >= '1'::text)
4271 /*+IndexOnlyScan(ti1 ti1_pred)*/
4272 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4273 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_pred)"
4274 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
4276 ------------------------------------
4278 Filter: (lower(c4) >= '1'::text)
4282 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4284 ---------------------
4289 /*+IndexOnlyScan(ti1 ti1_uniq)*/
4290 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4291 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_uniq)"
4292 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
4294 ---------------------
4300 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4302 ---------------------
4307 /*+IndexOnlyScan(ti1 ti1_multi)*/
4308 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4309 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_multi)"
4310 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
4312 ---------------------
4318 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4320 -----------------------------------------------------------------------------------------
4321 Bitmap Heap Scan on ti1
4322 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4323 -> Bitmap Index Scan on ti1_ts
4324 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4327 /*+IndexOnlyScan(ti1 ti1_ts)*/
4328 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4329 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_ts)"
4330 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
4332 -----------------------------------------------------------------------------------------
4333 Bitmap Heap Scan on ti1
4334 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4335 -> Bitmap Index Scan on ti1_ts
4336 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4340 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4342 ---------------------
4347 /*+IndexOnlyScan(ti1 ti1_pkey)*/
4348 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4349 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_pkey)"
4350 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
4352 ---------------------
4358 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4360 ---------------------
4365 /*+IndexOnlyScan(ti1 ti1_c2_key)*/
4366 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4367 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_c2_key)"
4368 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
4370 ---------------------
4376 ---- No. S-3-5 not used index
4379 /*+IndexScan(ti1 ti1_pred)*/
4380 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4381 LOG: available indexes for IndexScan(ti1): ti1_pred
4384 IndexScan(ti1 ti1_pred)
4390 ------------------------------------------------------------------------
4391 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4396 /*+BitmapScan(ti1 ti1_pred)*/
4397 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4398 LOG: available indexes for BitmapScan(ti1): ti1_pred
4401 BitmapScan(ti1 ti1_pred)
4407 ------------------------------------------------------------------------
4408 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4413 /*+IndexOnlyScan(ti1 ti1_pred)*/
4414 EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
4415 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_pred)"
4416 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
4418 --------------------------------------------------------------------
4419 Index Scan using ti1_uniq on ti1 (cost=0.00..8.27 rows=1 width=4)
4420 Index Cond: (c1 = 100)
4424 /*+IndexScan(ti1 not_exist)*/
4425 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4426 LOG: available indexes for IndexScan(ti1):
4429 IndexScan(ti1 not_exist)
4435 ------------------------------------------------------------------------
4436 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4441 /*+BitmapScan(ti1 not_exist)*/
4442 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4443 LOG: available indexes for BitmapScan(ti1):
4446 BitmapScan(ti1 not_exist)
4452 ------------------------------------------------------------------------
4453 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4458 /*+IndexOnlyScan(ti1 not_exist)*/
4459 EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
4460 INFO: hint syntax error at or near "IndexOnlyScan(ti1 not_exist)"
4461 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
4463 --------------------------------------------------------------------
4464 Index Scan using ti1_uniq on ti1 (cost=0.00..8.27 rows=1 width=4)
4465 Index Cond: (c1 = 100)
4469 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
4471 ------------------------------
4472 Index Scan using t1_i1 on t1
4473 Index Cond: (c1 = 1)
4477 EXPLAIN (COSTS true) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
4486 -----------------------------------------------------------------------
4487 Seq Scan on t1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4492 ---- No. S-3-6 query structure
4494 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4496 -----------------------------------------------
4498 Hash Cond: (t2.c1 = t1.c1)
4502 TID Cond: (ctid = '(1,1)'::tid)
4507 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE c1 = 100;
4516 ----------------------
4522 /*+SeqScan(t1)BitmapScan(t2)*/
4523 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4533 ----------------------------------------
4536 Filter: (ctid = '(1,1)'::tid)
4537 -> Bitmap Heap Scan on t2
4538 Recheck Cond: (c1 = t1.c1)
4539 -> Bitmap Index Scan on t2_i1
4540 Index Cond: (c1 = t1.c1)
4545 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4554 ---------------------------------------------
4556 Hash Cond: (t2.c1 = t1.c1)
4560 Filter: (ctid = '(1,1)'::tid)
4564 ---- No. S-3-7 query structure
4567 EXPLAIN (COSTS false)
4569 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4570 SELECT max(b3t1.c1), (
4571 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4572 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4573 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4575 ---------------------------------------------------------------------
4577 InitPlan 2 (returns $1)
4579 InitPlan 1 (returns $0)
4581 -> Index Scan using t1_i1 on t1 b2t1
4582 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4583 InitPlan 4 (returns $3)
4585 InitPlan 3 (returns $2)
4587 -> Index Scan using t1_i1 on t1 b4t1
4588 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4589 InitPlan 5 (returns $4)
4591 -> Index Scan using t1_i1 on t1 b3t1
4592 Index Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4595 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4597 EXPLAIN (COSTS false)
4599 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4600 SELECT max(b3t1.c1), (
4601 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4602 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4603 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4604 LOG: available indexes for IndexScan(b2t1): t1_pkey
4605 LOG: available indexes for IndexScan(b2t1): t1_pkey
4606 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4607 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4610 IndexScan(b2t1 t1_pkey)
4611 BitmapScan(b3t1 t1_pkey)
4619 ---------------------------------------------------------------------
4621 InitPlan 2 (returns $1)
4623 InitPlan 1 (returns $0)
4625 -> Index Scan using t1_pkey on t1 b2t1
4626 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4627 InitPlan 4 (returns $3)
4629 InitPlan 3 (returns $2)
4631 -> Seq Scan on t1 b4t1
4632 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4633 InitPlan 5 (returns $4)
4635 -> Bitmap Heap Scan on t1 b3t1
4636 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4637 -> Bitmap Index Scan on t1_pkey
4638 Index Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4642 EXPLAIN (COSTS false)
4644 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4645 SELECT max(b3t1.c1), (
4646 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4647 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4648 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4650 -------------------------------------------------------
4655 -> Index Scan using t1_i1 on t1 b1t1
4656 Index Cond: (c1 = 1)
4657 -> Seq Scan on t2 b1t2
4659 InitPlan 2 (returns $1)
4662 -> Index Scan using t1_i1 on t1 b2t1
4663 Index Cond: (c1 = 1)
4664 -> Seq Scan on t2 b2t2
4666 InitPlan 3 (returns $2)
4669 -> Index Scan using t1_i1 on t1 b4t1
4670 Index Cond: (c1 = 1)
4671 -> Seq Scan on t2 b4t2
4675 -> Index Scan using t1_i1 on t1 b3t1
4676 Index Cond: (c1 = $2)
4677 -> Seq Scan on t2 b3t2
4683 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4684 TidScan(b1t2)SeqScan(b2t2)IndexScan(b3t2 t2_pkey)BitmapScan(b4t2 t2_pkey)
4686 EXPLAIN (COSTS false)
4688 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4689 SELECT max(b3t1.c1), (
4690 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4691 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4692 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4693 LOG: available indexes for IndexScan(b2t1): t1_pkey
4694 LOG: available indexes for BitmapScan(b4t2): t2_pkey
4695 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4696 LOG: available indexes for IndexScan(b3t2): t2_pkey
4701 IndexScan(b2t1 t1_pkey)
4703 BitmapScan(b3t1 t1_pkey)
4704 IndexScan(b3t2 t2_pkey)
4706 BitmapScan(b4t2 t2_pkey)
4712 ---------------------------------------------------------
4717 -> Seq Scan on t1 b1t1
4719 -> Seq Scan on t2 b1t2
4721 InitPlan 2 (returns $1)
4724 -> Index Scan using t1_pkey on t1 b2t1
4725 Index Cond: (c1 = 1)
4726 -> Seq Scan on t2 b2t2
4728 InitPlan 3 (returns $2)
4731 -> Seq Scan on t1 b4t1
4733 -> Bitmap Heap Scan on t2 b4t2
4734 Recheck Cond: (c1 = 1)
4735 -> Bitmap Index Scan on t2_pkey
4736 Index Cond: (c1 = 1)
4739 -> Bitmap Heap Scan on t1 b3t1
4740 Recheck Cond: (c1 = $2)
4741 -> Bitmap Index Scan on t1_pkey
4742 Index Cond: (c1 = $2)
4745 -> Index Scan using t2_pkey on t2 b3t2
4746 Index Cond: (c1 = $2)
4750 EXPLAIN (COSTS false)
4752 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4753 SELECT max(b3t1.c1), (
4754 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4755 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4756 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4758 ---------------------------------------------------------------------
4763 -> Index Scan using t1_i1 on t1 b1t1
4764 Index Cond: (c1 = 1)
4765 -> Seq Scan on t2 b1t2
4767 InitPlan 3 (returns $2)
4769 InitPlan 2 (returns $1)
4771 -> Index Scan using t1_i1 on t1 b2t1
4772 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4773 InitPlan 5 (returns $4)
4775 InitPlan 4 (returns $3)
4777 -> Index Scan using t1_i1 on t1 b4t1
4778 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4781 -> Index Scan using t1_i1 on t1 b3t1
4782 Index Cond: (c1 = $4)
4783 -> Seq Scan on t2 b3t2
4789 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4790 TidScan(b1t2)IndexScan(b3t2 t2_pkey)
4792 EXPLAIN (COSTS false)
4794 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4795 SELECT max(b3t1.c1), (
4796 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4797 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4798 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4799 LOG: available indexes for IndexScan(b2t1): t1_pkey
4800 LOG: available indexes for IndexScan(b2t1): t1_pkey
4801 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4802 LOG: available indexes for IndexScan(b3t2): t2_pkey
4807 IndexScan(b2t1 t1_pkey)
4808 BitmapScan(b3t1 t1_pkey)
4809 IndexScan(b3t2 t2_pkey)
4816 ---------------------------------------------------------------------
4821 -> Seq Scan on t1 b1t1
4823 -> Seq Scan on t2 b1t2
4825 InitPlan 3 (returns $2)
4827 InitPlan 2 (returns $1)
4829 -> Index Scan using t1_pkey on t1 b2t1
4830 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4831 InitPlan 5 (returns $4)
4833 InitPlan 4 (returns $3)
4835 -> Seq Scan on t1 b4t1
4836 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4839 -> Bitmap Heap Scan on t1 b3t1
4840 Recheck Cond: (c1 = $4)
4841 -> Bitmap Index Scan on t1_pkey
4842 Index Cond: (c1 = $4)
4845 -> Index Scan using t2_pkey on t2 b3t2
4846 Index Cond: (c1 = $4)
4850 ---- No. S-3-8 inheritance table select type
4853 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4855 --------------------
4861 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4870 -----------------------------
4871 Index Scan using p1_i on p1
4872 Index Cond: (c1 = 1)
4876 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4878 ---------------------------------
4883 -> Seq Scan on p1c1 p1
4888 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4897 ------------------------------------------------
4900 -> Index Scan using p1_i on p1
4901 Index Cond: (c1 = 1)
4902 -> Index Scan using p1c1_i on p1c1 p1
4903 Index Cond: (c1 = 1)
4907 ---- No. S-3-9 inheritance table number
4910 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4912 ---------------------------------
4917 -> Seq Scan on p1c1 p1
4922 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4931 ------------------------------------------------
4934 -> Index Scan using p1_i on p1
4935 Index Cond: (c1 = 1)
4936 -> Index Scan using p1c1_i on p1c1 p1
4937 Index Cond: (c1 = 1)
4941 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
4943 -----------------------------------
4948 -> Seq Scan on p2c1 p2
4950 -> Seq Scan on p2c1c1 p2
4955 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
4964 ----------------------------------------------------
4967 -> Index Scan using p2_i on p2
4968 Index Cond: (c1 = 1)
4969 -> Index Scan using p2c1_i on p2c1 p2
4970 Index Cond: (c1 = 1)
4971 -> Index Scan using p2c1c1_i on p2c1c1 p2
4972 Index Cond: (c1 = 1)
4976 ---- No. S-3-10 inheritance table specified table
4978 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
4980 -----------------------------------
4985 -> Seq Scan on p2c1 p2
4987 -> Seq Scan on p2c1c1 p2
4993 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5002 ----------------------------------------------------
5005 -> Index Scan using p2_i on p2
5006 Index Cond: (c1 = 1)
5007 -> Index Scan using p2c1_i on p2c1 p2
5008 Index Cond: (c1 = 1)
5009 -> Index Scan using p2c1c1_i on p2c1c1 p2
5010 Index Cond: (c1 = 1)
5014 /*+IndexScan(p2c1)*/
5015 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5024 -----------------------------------
5029 -> Seq Scan on p2c1 p2
5031 -> Seq Scan on p2c1c1 p2
5036 EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5038 -------------------------------------------------------------------
5039 Result (cost=0.00..2.75 rows=4 width=10)
5040 -> Append (cost=0.00..2.75 rows=4 width=10)
5041 -> Seq Scan on p1 (cost=0.00..0.00 rows=1 width=32)
5042 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5043 -> Seq Scan on p1c1 p1 (cost=0.00..2.75 rows=3 width=2)
5044 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5047 /*+IndexScan(p1 p1_parent)*/
5048 EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5049 LOG: available indexes for IndexScan(p1): p1_parent
5050 LOG: available indexes for IndexScan(p1c1): p1c1_c4_expr_idx
5051 LOG: available indexes for IndexScan(p1c2): p1c2_c4_expr_idx
5052 LOG: available indexes for IndexScan(p1c3): p1c3_c4_expr_idx
5055 IndexScan(p1 p1_parent)
5061 ---------------------------------------------------------------------------------------------
5062 Result (cost=0.00..20.73 rows=4 width=10)
5063 -> Append (cost=0.00..20.73 rows=4 width=10)
5064 -> Index Scan using p1_parent on p1 (cost=0.00..8.27 rows=1 width=32)
5065 Filter: ((c2 * 2) < 100)
5066 -> Index Scan using p1c1_c4_expr_idx on p1c1 p1 (cost=0.00..12.45 rows=3 width=2)
5067 Filter: ((c2 * 2) < 100)
5071 /*+IndexScan(p1 p1_i2)*/
5072 EXPLAIN SELECT c2 FROM s1.p1 WHERE c2 = 1;
5073 LOG: available indexes for IndexScan(p1): p1_i2
5074 LOG: available indexes for IndexScan(p1c1):
5075 LOG: available indexes for IndexScan(p1c2):
5076 LOG: available indexes for IndexScan(p1c3):
5085 ---------------------------------------------------------------------------------------
5086 Result (cost=0.00..30000000015.02 rows=4 width=4)
5087 -> Append (cost=0.00..30000000015.02 rows=4 width=4)
5088 -> Index Scan using p1_i2 on p1 (cost=0.00..8.27 rows=1 width=4)
5089 Index Cond: (c2 = 1)
5090 -> Seq Scan on p1c1 p1 (cost=10000000000.00..10000000002.25 rows=1 width=4)
5092 -> Seq Scan on p1c2 p1 (cost=10000000000.00..10000000002.25 rows=1 width=4)
5094 -> Seq Scan on p1c3 p1 (cost=10000000000.00..10000000002.25 rows=1 width=4)
5099 /*+IndexScan(p2 p2c1_pkey)*/
5100 EXPLAIN (COSTS true) SELECT * FROM s1.p2 WHERE c1 = 1;
5101 LOG: available indexes for IndexScan(p2):
5102 LOG: available indexes for IndexScan(p2c1): p2c1_pkey
5103 LOG: available indexes for IndexScan(p2c2):
5104 LOG: available indexes for IndexScan(p2c3):
5105 LOG: available indexes for IndexScan(p2c1c1):
5106 LOG: available indexes for IndexScan(p2c1c2):
5107 LOG: available indexes for IndexScan(p2c2c1):
5108 LOG: available indexes for IndexScan(p2c2c2):
5109 LOG: available indexes for IndexScan(p2c3c1):
5110 LOG: available indexes for IndexScan(p2c3c2):
5113 IndexScan(p2 p2c1_pkey)
5119 ------------------------------------------------------------------------------------------
5120 Result (cost=10000000000.00..20000000009.89 rows=3 width=34)
5121 -> Append (cost=10000000000.00..20000000009.89 rows=3 width=34)
5122 -> Seq Scan on p2 (cost=10000000000.00..10000000000.00 rows=1 width=44)
5124 -> Index Scan using p2c1_pkey on p2c1 p2 (cost=0.00..8.27 rows=1 width=44)
5125 Index Cond: (c1 = 1)
5126 -> Seq Scan on p2c1c1 p2 (cost=10000000000.00..10000000001.62 rows=1 width=14)
5131 ---- No. S-3-11 specified same table
5134 /*+IndexScan(ti1) BitmapScan(ti1)*/
5135 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5136 INFO: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5137 DETAIL: Conflict scan method hint.
5147 -------------------------------------
5148 Bitmap Heap Scan on ti1
5149 Recheck Cond: (c1 = 1)
5150 Filter: (ctid = '(1,1)'::tid)
5151 -> Bitmap Index Scan on ti1_uniq
5152 Index Cond: (c1 = 1)
5156 /*+IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5157 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5158 INFO: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5159 DETAIL: Conflict scan method hint.
5160 LOG: available indexes for BitmapScan(ti1): ti1_btree
5163 BitmapScan(ti1 ti1_btree)
5166 IndexScan(ti1 ti1_pkey)
5170 --------------------------------------
5171 Bitmap Heap Scan on ti1
5172 Recheck Cond: (c1 = 1)
5173 Filter: (ctid = '(1,1)'::tid)
5174 -> Bitmap Index Scan on ti1_btree
5175 Index Cond: (c1 = 1)
5179 /*+BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)*/
5180 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5181 INFO: hint syntax error at or near "BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)"
5182 DETAIL: Conflict scan method hint.
5183 INFO: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5184 DETAIL: Conflict scan method hint.
5195 -------------------------------------
5196 Bitmap Heap Scan on ti1
5197 Recheck Cond: (c1 = 1)
5198 Filter: (ctid = '(1,1)'::tid)
5199 -> Bitmap Index Scan on ti1_uniq
5200 Index Cond: (c1 = 1)
5204 /*+BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5205 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5206 INFO: hint syntax error at or near "BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5207 DETAIL: Conflict scan method hint.
5208 INFO: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5209 DETAIL: Conflict scan method hint.
5210 LOG: available indexes for BitmapScan(ti1): ti1_btree
5213 BitmapScan(ti1 ti1_btree)
5216 BitmapScan(ti1 ti1_hash)
5217 IndexScan(ti1 ti1_pkey)
5221 --------------------------------------
5222 Bitmap Heap Scan on ti1
5223 Recheck Cond: (c1 = 1)
5224 Filter: (ctid = '(1,1)'::tid)
5225 -> Bitmap Index Scan on ti1_btree
5226 Index Cond: (c1 = 1)
5230 ---- No. S-3-12 message output
5234 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5243 ------------------------------------------------
5245 Filter: ((c1 = 1) AND (ctid = '(1,1)'::tid))
5249 /*+SeqScan(ti1 ti1_pkey)*/
5250 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5251 INFO: hint syntax error at or near ""
5252 DETAIL: SeqScan hint accepts only one relation.
5258 SeqScan(ti1 ti1_pkey)
5261 -----------------------------------
5263 TID Cond: (ctid = '(1,1)'::tid)
5268 /*+SeqScan(ti1 ti1_pkey ti1_btree)*/
5269 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5270 INFO: hint syntax error at or near ""
5271 DETAIL: SeqScan hint accepts only one relation.
5277 SeqScan(ti1 ti1_pkey ti1_btree)
5280 -----------------------------------
5282 TID Cond: (ctid = '(1,1)'::tid)
5288 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5297 ----------------------------------
5298 Index Scan using ti1_uniq on ti1
5299 Index Cond: (c1 = 1)
5300 Filter: (ctid = '(1,1)'::tid)
5304 /*+IndexScan(ti1 ti1_pkey)*/
5305 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5306 LOG: available indexes for IndexScan(ti1): ti1_pkey
5309 IndexScan(ti1 ti1_pkey)
5315 ----------------------------------
5316 Index Scan using ti1_pkey on ti1
5317 Index Cond: (c1 = 1)
5318 Filter: (ctid = '(1,1)'::tid)
5322 /*+IndexScan(ti1 ti1_pkey ti1_btree)*/
5323 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5324 LOG: available indexes for IndexScan(ti1): ti1_btree ti1_pkey
5327 IndexScan(ti1 ti1_pkey ti1_btree)
5333 -----------------------------------
5334 Index Scan using ti1_btree on ti1
5335 Index Cond: (c1 = 1)
5336 Filter: (ctid = '(1,1)'::tid)
5340 /*+BitmapScan(ti1)*/
5341 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5350 -------------------------------------
5351 Bitmap Heap Scan on ti1
5352 Recheck Cond: (c1 = 1)
5353 Filter: (ctid = '(1,1)'::tid)
5354 -> Bitmap Index Scan on ti1_uniq
5355 Index Cond: (c1 = 1)
5359 /*+BitmapScan(ti1 ti1_pkey)*/
5360 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5361 LOG: available indexes for BitmapScan(ti1): ti1_pkey
5364 BitmapScan(ti1 ti1_pkey)
5370 -------------------------------------
5371 Bitmap Heap Scan on ti1
5372 Recheck Cond: (c1 = 1)
5373 Filter: (ctid = '(1,1)'::tid)
5374 -> Bitmap Index Scan on ti1_pkey
5375 Index Cond: (c1 = 1)
5379 /*+BitmapScan(ti1 ti1_pkey ti1_btree)*/
5380 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5381 LOG: available indexes for BitmapScan(ti1): ti1_btree ti1_pkey
5384 BitmapScan(ti1 ti1_pkey ti1_btree)
5390 --------------------------------------
5391 Bitmap Heap Scan on ti1
5392 Recheck Cond: (c1 = 1)
5393 Filter: (ctid = '(1,1)'::tid)
5394 -> Bitmap Index Scan on ti1_btree
5395 Index Cond: (c1 = 1)
5400 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5409 -----------------------------------
5411 TID Cond: (ctid = '(1,1)'::tid)
5416 /*+TidScan(ti1 ti1_pkey)*/
5417 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5418 INFO: hint syntax error at or near ""
5419 DETAIL: TidScan hint accepts only one relation.
5425 TidScan(ti1 ti1_pkey)
5428 -----------------------------------
5430 TID Cond: (ctid = '(1,1)'::tid)
5435 /*+TidScan(ti1 ti1_pkey ti1_btree)*/
5436 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5437 INFO: hint syntax error at or near ""
5438 DETAIL: TidScan hint accepts only one relation.
5444 TidScan(ti1 ti1_pkey ti1_btree)
5447 -----------------------------------
5449 TID Cond: (ctid = '(1,1)'::tid)
5455 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5464 -----------------------------------
5466 TID Cond: (ctid = '(1,1)'::tid)
5471 /*+NoSeqScan(ti1 ti1_pkey)*/
5472 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5473 INFO: hint syntax error at or near ""
5474 DETAIL: NoSeqScan hint accepts only one relation.
5480 NoSeqScan(ti1 ti1_pkey)
5483 -----------------------------------
5485 TID Cond: (ctid = '(1,1)'::tid)
5490 /*+NoSeqScan(ti1 ti1_pkey ti1_btree)*/
5491 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5492 INFO: hint syntax error at or near ""
5493 DETAIL: NoSeqScan hint accepts only one relation.
5499 NoSeqScan(ti1 ti1_pkey ti1_btree)
5502 -----------------------------------
5504 TID Cond: (ctid = '(1,1)'::tid)
5509 /*+NoIndexScan(ti1)*/
5510 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5519 -----------------------------------
5521 TID Cond: (ctid = '(1,1)'::tid)
5526 /*+NoIndexScan(ti1 ti1_pkey)*/
5527 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5528 INFO: hint syntax error at or near ""
5529 DETAIL: NoIndexScan hint accepts only one relation.
5535 NoIndexScan(ti1 ti1_pkey)
5538 -----------------------------------
5540 TID Cond: (ctid = '(1,1)'::tid)
5545 /*+NoIndexScan(ti1 ti1_pkey ti1_btree)*/
5546 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5547 INFO: hint syntax error at or near ""
5548 DETAIL: NoIndexScan hint accepts only one relation.
5554 NoIndexScan(ti1 ti1_pkey ti1_btree)
5557 -----------------------------------
5559 TID Cond: (ctid = '(1,1)'::tid)
5564 /*+NoBitmapScan(ti1)*/
5565 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5574 -----------------------------------
5576 TID Cond: (ctid = '(1,1)'::tid)
5581 /*+NoBitmapScan(ti1 ti1_pkey)*/
5582 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5583 INFO: hint syntax error at or near ""
5584 DETAIL: NoBitmapScan hint accepts only one relation.
5590 NoBitmapScan(ti1 ti1_pkey)
5593 -----------------------------------
5595 TID Cond: (ctid = '(1,1)'::tid)
5600 /*+NoBitmapScan(ti1 ti1_pkey ti1_btree)*/
5601 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5602 INFO: hint syntax error at or near ""
5603 DETAIL: NoBitmapScan hint accepts only one relation.
5609 NoBitmapScan(ti1 ti1_pkey ti1_btree)
5612 -----------------------------------
5614 TID Cond: (ctid = '(1,1)'::tid)
5620 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5629 ----------------------------------
5630 Index Scan using ti1_uniq on ti1
5631 Index Cond: (c1 = 1)
5632 Filter: (ctid = '(1,1)'::tid)
5636 /*+NoTidScan(ti1 ti1_pkey)*/
5637 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5638 INFO: hint syntax error at or near ""
5639 DETAIL: NoTidScan hint accepts only one relation.
5645 NoTidScan(ti1 ti1_pkey)
5648 -----------------------------------
5650 TID Cond: (ctid = '(1,1)'::tid)
5655 /*+NoTidScan(ti1 ti1_pkey ti1_btree)*/
5656 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5657 INFO: hint syntax error at or near ""
5658 DETAIL: NoTidScan hint accepts only one relation.
5664 NoTidScan(ti1 ti1_pkey ti1_btree)
5667 -----------------------------------
5669 TID Cond: (ctid = '(1,1)'::tid)
5674 /*+IndexOnlyScan(ti1)*/
5675 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5676 INFO: hint syntax error at or near "IndexOnlyScan(ti1)"
5677 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
5679 ---------------------
5685 /*+IndexOnlyScan(ti1 ti1_pkey)*/
5686 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5687 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_pkey)"
5688 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
5690 ---------------------
5696 /*+IndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5697 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5698 INFO: hint syntax error at or near "IndexOnlyScan(ti1 ti1_pkey ti1_btree)"
5699 DETAIL: Unrecognized hint keyword "IndexOnlyScan".
5701 ---------------------
5707 /*+NoIndexOnlyScan(ti1)*/
5708 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5709 INFO: hint syntax error at or near "NoIndexOnlyScan(ti1)"
5710 DETAIL: Unrecognized hint keyword "NoIndexOnlyScan".
5712 ----------------------------------
5713 Index Scan using ti1_uniq on ti1
5714 Index Cond: (c1 = 1)
5718 /*+NoIndexOnlyScan(ti1 ti1_pkey)*/
5719 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5720 INFO: hint syntax error at or near "NoIndexOnlyScan(ti1 ti1_pkey)"
5721 DETAIL: Unrecognized hint keyword "NoIndexOnlyScan".
5723 ----------------------------------
5724 Index Scan using ti1_uniq on ti1
5725 Index Cond: (c1 = 1)
5729 /*+NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5730 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5731 INFO: hint syntax error at or near "NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)"
5732 DETAIL: Unrecognized hint keyword "NoIndexOnlyScan".
5734 ----------------------------------
5735 Index Scan using ti1_uniq on ti1
5736 Index Cond: (c1 = 1)