2 SET pg_hint_plan.enable_hint TO on;
3 SET pg_hint_plan.debug_print TO on;
4 SET client_min_messages TO LOG;
5 SET search_path TO public;
6 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
13 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
15 ------------------------------
16 Index Scan using t1_i1 on t1
20 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
22 ---------------------------------
23 Bitmap Heap Scan on t1
24 Recheck Cond: (c3 < 10)
25 -> Bitmap Index Scan on t1_i
29 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
31 -----------------------------------
33 TID Cond: (ctid = '(1,1)'::tid)
38 ---- No. S-1-1 specified pattern of the object name
42 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
58 EXPLAIN (COSTS false) SELECT * FROM s1.t1 t_1 WHERE t_1.c1 = 1;
67 ----------------------------------
68 Index Scan using t1_i1 on t1 t_1
74 EXPLAIN (COSTS false) SELECT * FROM s1.t1 t_1 WHERE t_1.c1 = 1;
89 ---- No. S-1-2 specified schema name in the hint option
93 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
109 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
118 ------------------------------
119 Index Scan using t1_i1 on t1
124 ---- No. S-1-3 table doesn't exist in the hint option
128 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
144 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
153 ------------------------------
154 Index Scan using t1_i1 on t1
159 ---- No. S-1-4 conflict table name
162 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = 1 AND t1.c1 = t2.c1;
164 ------------------------------------
166 -> Index Scan using t1_i1 on t1
173 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = 1 AND t1.c1 = t2.c1;
182 --------------------------
191 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 WHERE s1.t1.c1 = 1 AND s1.t1.c1 = s2.t1.c1;
193 ------------------------------------
195 -> Index Scan using t1_i1 on t1
202 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 WHERE s1.t1.c1 = 1 AND s1.t1.c1 = s2.t1.c1;
211 ------------------------------------------
213 -> Bitmap Heap Scan on t1
214 Recheck Cond: (c1 = 1)
215 -> Bitmap Index Scan on t1_i1
217 -> Bitmap Heap Scan on t1
218 Recheck Cond: (c1 = 1)
219 -> Bitmap Index Scan on t1_pkey
224 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 s2t1 WHERE s1.t1.c1 = 1 AND s1.t1.c1 = s2t1.c1;
233 ----------------------------------------
235 -> Bitmap Heap Scan on t1
236 Recheck Cond: (c1 = 1)
237 -> Bitmap Index Scan on t1_i1
239 -> Seq Scan on t1 s2t1
243 /*+BitmapScan(s2t1)*/
244 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 s2t1 WHERE s1.t1.c1 = 1 AND s1.t1.c1 = s2t1.c1;
253 ------------------------------------------
255 -> Index Scan using t1_i1 on t1
257 -> Bitmap Heap Scan on t1 s2t1
258 Recheck Cond: (c1 = 1)
259 -> Bitmap Index Scan on t1_pkey
264 EXPLAIN (COSTS false) SELECT (SELECT max(c1) FROM s1.t1 WHERE s1.t1.c1 = 1) FROM s1.t1 WHERE s1.t1.c1 = 1;
266 ---------------------------------------------------------------------
267 Index Only Scan using t1_i1 on t1
269 InitPlan 2 (returns $1)
271 InitPlan 1 (returns $0)
273 -> Index Only Scan using t1_i1 on t1
274 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
278 EXPLAIN (COSTS false) SELECT (SELECT max(c1) FROM s1.t1 WHERE s1.t1.c1 = 1) FROM s1.t1 WHERE s1.t1.c1 = 1;
287 ---------------------------------------------------------------------------
288 Bitmap Heap Scan on t1
289 Recheck Cond: (c1 = 1)
290 InitPlan 2 (returns $1)
292 InitPlan 1 (returns $0)
294 -> Bitmap Heap Scan on t1
295 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
296 -> Bitmap Index Scan on t1_i1
297 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
298 -> Bitmap Index Scan on t1_i1
303 EXPLAIN (COSTS false) SELECT (SELECT max(c1) FROM s1.t1 t11 WHERE t11.c1 = 1) FROM s1.t1 t12 WHERE t12.c1 = 1;
312 ---------------------------------------------------------------------------
313 Index Only Scan using t1_i1 on t1 t12
315 InitPlan 2 (returns $1)
317 InitPlan 1 (returns $0)
319 -> Bitmap Heap Scan on t1 t11
320 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
321 -> Bitmap Index Scan on t1_i1
322 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
326 EXPLAIN (COSTS false) SELECT (SELECT max(c1) FROM s1.t1 t11 WHERE t11.c1 = 1) FROM s1.t1 t12 WHERE t12.c1 = 1;
335 ---------------------------------------------------------------------
336 Bitmap Heap Scan on t1 t12
337 Recheck Cond: (c1 = 1)
338 InitPlan 2 (returns $1)
340 InitPlan 1 (returns $0)
342 -> Index Only Scan using t1_i1 on t1 t11
343 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
344 -> Bitmap Index Scan on t1_i1
349 ---- No. S-1-5 object type for the hint
353 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
368 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE p1.c1 = 1;
370 --------------------------
379 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE p1.c1 = 1;
388 ---------------------------------------
390 -> Index Scan using p1_i on p1
392 -> Index Scan using p1c1_i on p1c1
397 EXPLAIN (COSTS false) SELECT * FROM s1.ul1 WHERE ul1.c1 = 1;
399 ----------------------------------
400 Index Scan using ul1_pkey on ul1
405 EXPLAIN (COSTS false) SELECT * FROM s1.ul1 WHERE ul1.c1 = 1;
420 CREATE TEMP TABLE tm1 (LIKE s1.t1 INCLUDING ALL);
421 EXPLAIN (COSTS false) SELECT * FROM tm1 WHERE tm1.c1 = 1;
423 ----------------------------------
424 Index Scan using tm1_pkey on tm1
429 EXPLAIN (COSTS false) SELECT * FROM tm1 WHERE tm1.c1 = 1;
444 EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class WHERE oid = 1;
446 -------------------------------------------------
447 Index Scan using pg_class_oid_index on pg_class
448 Index Cond: (oid = 1::oid)
451 /*+SeqScan(pg_class)*/
452 EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class WHERE oid = 1;
461 --------------------------
463 Filter: (oid = 1::oid)
469 EXPLAIN (COSTS false) SELECT * FROM s1.f1() AS ft1 WHERE ft1.c1 = 1;
471 -------------------------
472 Function Scan on f1 ft1
477 EXPLAIN (COSTS false) SELECT * FROM s1.f1() AS ft1 WHERE ft1.c1 = 1;
486 -------------------------
487 Function Scan on f1 ft1
492 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;
494 ---------------------------
495 Values Scan on "*VALUES*"
496 Filter: (column1 = 1)
500 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;
509 ---------------------------
510 Values Scan on "*VALUES*"
511 Filter: (column1 = 1)
514 /*+SeqScan(*VALUES*)*/
515 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;
524 ---------------------------
525 Values Scan on "*VALUES*"
526 Filter: (column1 = 1)
530 EXPLAIN (COSTS false) WITH c1(c1) AS (SELECT max(c1) FROM s1.t1 WHERE t1.c1 = 1)
531 SELECT * FROM s1.t1, c1 WHERE t1.c1 = 1 AND t1.c1 = c1.c1;
533 ---------------------------------------------------------------------
537 InitPlan 1 (returns $0)
539 -> Index Only Scan using t1_i1 on t1
540 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
541 -> Index Scan using t1_i1 on t1
548 EXPLAIN (COSTS false) WITH c1(c1) AS (SELECT max(c1) FROM s1.t1 WHERE t1.c1 = 1)
549 SELECT * FROM s1.t1, c1 WHERE t1.c1 = 1 AND t1.c1 = c1.c1;
558 ---------------------------------------------------------------------
562 InitPlan 1 (returns $0)
564 -> Index Only Scan using t1_i1 on t1
565 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
566 -> Index Scan using t1_i1 on t1
573 EXPLAIN (COSTS false) SELECT * FROM s1.v1 WHERE v1.c1 = 1;
575 -----------------------------------
576 Index Scan using t1_i1 on t1 v1t1
581 EXPLAIN (COSTS false) SELECT * FROM s1.v1 WHERE v1.c1 = 1;
590 -----------------------------------
591 Index Scan using t1_i1 on t1 v1t1
596 EXPLAIN (COSTS false) SELECT * FROM (SELECT * FROM s1.t1 WHERE t1.c1 = 1) AS s1 WHERE s1.c1 = 1;
598 ------------------------------
599 Index Scan using t1_i1 on t1
604 EXPLAIN (COSTS false) SELECT * FROM (SELECT * FROM s1.t1 WHERE t1.c1 = 1) AS s1 WHERE s1.c1 = 1;
613 ------------------------------
614 Index Scan using t1_i1 on t1
619 ---- No. S-2-1 some complexity query blocks
622 EXPLAIN (COSTS false)
623 SELECT max(bmt1.c1), (
624 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
626 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
629 ------------------------------------------------------------------------
631 InitPlan 1 (returns $0)
634 Merge Cond: (b1t1.c1 = b1t2.c1)
636 Merge Cond: (b1t1.c1 = b1t4.c1)
638 Merge Cond: (b1t1.c1 = b1t3.c1)
639 -> Index Only Scan using t1_i1 on t1 b1t1
640 -> Index Only Scan using t3_i1 on t3 b1t3
641 -> Index Only Scan using t4_i1 on t4 b1t4
644 -> Seq Scan on t2 b1t2
646 Merge Cond: (bmt1.c1 = bmt2.c1)
648 Merge Cond: (bmt1.c1 = bmt4.c1)
650 Merge Cond: (bmt1.c1 = bmt3.c1)
651 -> Index Only Scan using t1_i1 on t1 bmt1
652 -> Index Only Scan using t3_i1 on t3 bmt3
653 -> Index Only Scan using t4_i1 on t4 bmt4
656 -> Seq Scan on t2 bmt2
659 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
660 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
662 EXPLAIN (COSTS false)
663 SELECT max(bmt1.c1), (
664 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
666 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
668 LOG: available indexes for IndexScan(b1t3): t3_pkey
669 LOG: available indexes for BitmapScan(b1t4): t4_pkey
670 LOG: available indexes for IndexScan(bmt2): t2_pkey
671 LOG: available indexes for BitmapScan(bmt3): t3_pkey
676 IndexScan(b1t3 t3_pkey)
677 BitmapScan(b1t4 t4_pkey)
679 IndexScan(bmt2 t2_pkey)
680 BitmapScan(bmt3 t3_pkey)
687 --------------------------------------------------------------------
689 InitPlan 1 (returns $2)
692 Hash Cond: (b1t2.c1 = b1t1.c1)
694 Join Filter: (b1t2.c1 = b1t3.c1)
696 -> Seq Scan on t2 b1t2
697 -> Bitmap Heap Scan on t4 b1t4
698 Recheck Cond: (c1 = b1t2.c1)
699 -> Bitmap Index Scan on t4_pkey
700 Index Cond: (c1 = b1t2.c1)
701 -> Index Scan using t3_pkey on t3 b1t3
702 Index Cond: (c1 = b1t4.c1)
704 -> Seq Scan on t1 b1t1
706 Hash Cond: (bmt1.c1 = bmt4.c1)
709 Hash Cond: (bmt1.c1 = bmt2.c1)
710 -> Seq Scan on t1 bmt1
712 -> Index Scan using t2_pkey on t2 bmt2
713 -> Bitmap Heap Scan on t3 bmt3
714 Recheck Cond: (c1 = bmt1.c1)
715 -> Bitmap Index Scan on t3_pkey
716 Index Cond: (c1 = bmt1.c1)
718 -> Seq Scan on t4 bmt4
722 EXPLAIN (COSTS false)
723 SELECT max(bmt1.c1), (
724 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
726 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
728 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
731 ------------------------------------------------------------------------
733 InitPlan 1 (returns $0)
736 Merge Cond: (b1t1.c1 = b1t2.c1)
738 Merge Cond: (b1t1.c1 = b1t4.c1)
740 Merge Cond: (b1t1.c1 = b1t3.c1)
741 -> Index Only Scan using t1_i1 on t1 b1t1
742 -> Index Only Scan using t3_i1 on t3 b1t3
743 -> Index Only Scan using t4_i1 on t4 b1t4
746 -> Seq Scan on t2 b1t2
747 InitPlan 2 (returns $1)
750 Merge Cond: (b2t1.c1 = b2t2.c1)
752 Merge Cond: (b2t1.c1 = b2t4.c1)
754 Merge Cond: (b2t1.c1 = b2t3.c1)
755 -> Index Only Scan using t1_i1 on t1 b2t1
756 -> Index Only Scan using t3_i1 on t3 b2t3
757 -> Index Only Scan using t4_i1 on t4 b2t4
760 -> Seq Scan on t2 b2t2
762 Merge Cond: (bmt1.c1 = bmt2.c1)
764 Merge Cond: (bmt1.c1 = bmt4.c1)
766 Merge Cond: (bmt1.c1 = bmt3.c1)
767 -> Index Only Scan using t1_i1 on t1 bmt1
768 -> Index Only Scan using t3_i1 on t3 bmt3
769 -> Index Only Scan using t4_i1 on t4 bmt4
772 -> Seq Scan on t2 bmt2
775 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
776 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
777 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
779 EXPLAIN (COSTS false)
780 SELECT max(bmt1.c1), (
781 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
783 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
785 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
787 LOG: available indexes for IndexScan(b1t3): t3_pkey
788 LOG: available indexes for BitmapScan(b1t4): t4_pkey
789 LOG: available indexes for BitmapScan(b2t1): t1_pkey
790 LOG: available indexes for IndexScan(b2t4): t4_pkey
791 LOG: available indexes for IndexScan(bmt2): t2_pkey
792 LOG: available indexes for BitmapScan(bmt3): t3_pkey
797 IndexScan(b1t3 t3_pkey)
798 BitmapScan(b1t4 t4_pkey)
799 BitmapScan(b2t1 t1_pkey)
802 IndexScan(b2t4 t4_pkey)
804 IndexScan(bmt2 t2_pkey)
805 BitmapScan(bmt3 t3_pkey)
812 ---------------------------------------------------------------------
814 InitPlan 1 (returns $2)
817 Hash Cond: (b1t2.c1 = b1t1.c1)
819 Join Filter: (b1t2.c1 = b1t3.c1)
821 -> Seq Scan on t2 b1t2
822 -> Bitmap Heap Scan on t4 b1t4
823 Recheck Cond: (c1 = b1t2.c1)
824 -> Bitmap Index Scan on t4_pkey
825 Index Cond: (c1 = b1t2.c1)
826 -> Index Scan using t3_pkey on t3 b1t3
827 Index Cond: (c1 = b1t4.c1)
829 -> Seq Scan on t1 b1t1
830 InitPlan 2 (returns $4)
833 Hash Cond: (b2t1.c1 = b2t3.c1)
835 Merge Cond: (b2t1.c1 = b2t2.c1)
837 -> Index Scan using t4_pkey on t4 b2t4
838 -> Bitmap Heap Scan on t1 b2t1
839 Recheck Cond: (c1 = b2t4.c1)
840 -> Bitmap Index Scan on t1_pkey
841 Index Cond: (c1 = b2t4.c1)
844 -> Seq Scan on t2 b2t2
846 -> Seq Scan on t3 b2t3
848 Hash Cond: (bmt1.c1 = bmt4.c1)
851 Hash Cond: (bmt1.c1 = bmt2.c1)
852 -> Seq Scan on t1 bmt1
854 -> Index Scan using t2_pkey on t2 bmt2
855 -> Bitmap Heap Scan on t3 bmt3
856 Recheck Cond: (c1 = bmt1.c1)
857 -> Bitmap Index Scan on t3_pkey
858 Index Cond: (c1 = bmt1.c1)
860 -> Seq Scan on t4 bmt4
864 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;
866 ----------------------------------------------------------------
869 Merge Cond: (bmt1.c1 = bmt2.c1)
871 Merge Cond: (bmt1.c1 = bmt4.c1)
873 Merge Cond: (bmt1.c1 = bmt3.c1)
874 -> Index Only Scan using t1_i1 on t1 bmt1
875 -> Index Only Scan using t3_i1 on t3 bmt3
876 -> Index Only Scan using t4_i1 on t4 bmt4
879 -> Seq Scan on t2 bmt2
882 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
884 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;
885 LOG: available indexes for IndexScan(bmt2): t2_pkey
886 LOG: available indexes for BitmapScan(bmt3): t3_pkey
890 IndexScan(bmt2 t2_pkey)
891 BitmapScan(bmt3 t3_pkey)
898 -------------------------------------------------------------------
901 Hash Cond: (bmt1.c1 = bmt4.c1)
904 Hash Cond: (bmt1.c1 = bmt2.c1)
905 -> Seq Scan on t1 bmt1
907 -> Index Scan using t2_pkey on t2 bmt2
908 -> Bitmap Heap Scan on t3 bmt3
909 Recheck Cond: (c1 = bmt1.c1)
910 -> Bitmap Index Scan on t3_pkey
911 Index Cond: (c1 = bmt1.c1)
913 -> Seq Scan on t4 bmt4
917 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;
919 ----------------------------------------------------------------
922 Merge Cond: (bmt1.c1 = bmt2.c1)
924 Merge Cond: (bmt1.c1 = bmt4.c1)
926 Merge Cond: (bmt1.c1 = bmt3.c1)
927 -> Index Only Scan using t1_i1 on t1 bmt1
928 -> Index Only Scan using t3_i1 on t3 bmt3
929 -> Index Only Scan using t4_i1 on t4 bmt4
932 -> Seq Scan on t2 bmt2
935 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
937 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;
938 LOG: available indexes for IndexScan(bmt2): t2_pkey
939 LOG: available indexes for BitmapScan(bmt3): t3_pkey
943 IndexScan(bmt2 t2_pkey)
944 BitmapScan(bmt3 t3_pkey)
951 -------------------------------------------------------------------
954 Hash Cond: (bmt1.c1 = bmt4.c1)
957 Hash Cond: (bmt1.c1 = bmt2.c1)
958 -> Seq Scan on t1 bmt1
960 -> Index Scan using t2_pkey on t2 bmt2
961 -> Bitmap Heap Scan on t3 bmt3
962 Recheck Cond: (c1 = bmt1.c1)
963 -> Bitmap Index Scan on t3_pkey
964 Index Cond: (c1 = bmt1.c1)
966 -> Seq Scan on t4 bmt4
970 EXPLAIN (COSTS false)
971 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
973 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
977 ------------------------------------------------------------------------
979 InitPlan 1 (returns $0)
982 Merge Cond: (b1t1.c1 = b1t2.c1)
984 Merge Cond: (b1t1.c1 = b1t4.c1)
986 Merge Cond: (b1t1.c1 = b1t3.c1)
987 -> Index Only Scan using t1_i1 on t1 b1t1
988 -> Index Only Scan using t3_i1 on t3 b1t3
989 -> Index Only Scan using t4_i1 on t4 b1t4
992 -> Seq Scan on t2 b1t2
994 Merge Cond: (bmt1.c1 = bmt2.c1)
996 Merge Cond: (bmt1.c1 = bmt4.c1)
998 Merge Cond: (bmt1.c1 = bmt3.c1)
999 -> Index Only Scan using t1_i1 on t1 bmt1
1001 -> Index Only Scan using t3_i1 on t3 bmt3
1002 -> Index Only Scan using t4_i1 on t4 bmt4
1005 -> Seq Scan on t2 bmt2
1008 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1009 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1011 EXPLAIN (COSTS false)
1012 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
1014 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
1017 LOG: available indexes for IndexScan(b1t3): t3_pkey
1018 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1019 LOG: available indexes for IndexScan(bmt2): t2_pkey
1020 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1025 IndexScan(b1t3 t3_pkey)
1026 BitmapScan(b1t4 t4_pkey)
1028 IndexScan(bmt2 t2_pkey)
1029 BitmapScan(bmt3 t3_pkey)
1036 --------------------------------------------------------------------
1038 InitPlan 1 (returns $2)
1041 Hash Cond: (b1t2.c1 = b1t1.c1)
1043 Join Filter: (b1t2.c1 = b1t3.c1)
1045 -> Seq Scan on t2 b1t2
1046 -> Bitmap Heap Scan on t4 b1t4
1047 Recheck Cond: (c1 = b1t2.c1)
1048 -> Bitmap Index Scan on t4_pkey
1049 Index Cond: (c1 = b1t2.c1)
1050 -> Index Scan using t3_pkey on t3 b1t3
1051 Index Cond: (c1 = b1t4.c1)
1053 -> Seq Scan on t1 b1t1
1055 Hash Cond: (bmt1.c1 = bmt4.c1)
1058 Hash Cond: (bmt1.c1 = bmt2.c1)
1059 -> Seq Scan on t1 bmt1
1062 -> Index Scan using t2_pkey on t2 bmt2
1063 -> Bitmap Heap Scan on t3 bmt3
1064 Recheck Cond: (c1 = bmt1.c1)
1065 -> Bitmap Index Scan on t3_pkey
1066 Index Cond: (c1 = bmt1.c1)
1068 -> Seq Scan on t4 bmt4
1072 EXPLAIN (COSTS false)
1073 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
1075 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
1077 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
1081 ------------------------------------------------------------------------
1083 InitPlan 1 (returns $0)
1086 Merge Cond: (b1t1.c1 = b1t2.c1)
1088 Merge Cond: (b1t1.c1 = b1t4.c1)
1090 Merge Cond: (b1t1.c1 = b1t3.c1)
1091 -> Index Only Scan using t1_i1 on t1 b1t1
1092 -> Index Only Scan using t3_i1 on t3 b1t3
1093 -> Index Only Scan using t4_i1 on t4 b1t4
1096 -> Seq Scan on t2 b1t2
1097 InitPlan 2 (returns $1)
1100 Merge Cond: (b2t1.c1 = b2t2.c1)
1102 Merge Cond: (b2t1.c1 = b2t4.c1)
1104 Merge Cond: (b2t1.c1 = b2t3.c1)
1105 -> Index Only Scan using t1_i1 on t1 b2t1
1106 -> Index Only Scan using t3_i1 on t3 b2t3
1107 -> Index Only Scan using t4_i1 on t4 b2t4
1110 -> Seq Scan on t2 b2t2
1112 Merge Cond: (bmt1.c1 = bmt2.c1)
1114 Merge Cond: (bmt1.c1 = bmt4.c1)
1116 Merge Cond: (bmt1.c1 = bmt3.c1)
1117 -> Index Only Scan using t1_i1 on t1 bmt1
1118 Filter: ((c1 <> $0) AND (c1 <> $1))
1119 -> Index Only Scan using t3_i1 on t3 bmt3
1120 -> Index Only Scan using t4_i1 on t4 bmt4
1123 -> Seq Scan on t2 bmt2
1126 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1127 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1128 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1130 EXPLAIN (COSTS false)
1131 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
1133 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
1135 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
1138 LOG: available indexes for IndexScan(b1t3): t3_pkey
1139 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1140 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1141 LOG: available indexes for IndexScan(b2t4): t4_pkey
1142 LOG: available indexes for IndexScan(bmt2): t2_pkey
1143 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1148 IndexScan(b1t3 t3_pkey)
1149 BitmapScan(b1t4 t4_pkey)
1150 BitmapScan(b2t1 t1_pkey)
1153 IndexScan(b2t4 t4_pkey)
1155 IndexScan(bmt2 t2_pkey)
1156 BitmapScan(bmt3 t3_pkey)
1163 ---------------------------------------------------------------------
1165 InitPlan 1 (returns $2)
1168 Hash Cond: (b1t2.c1 = b1t1.c1)
1170 Join Filter: (b1t2.c1 = b1t3.c1)
1172 -> Seq Scan on t2 b1t2
1173 -> Bitmap Heap Scan on t4 b1t4
1174 Recheck Cond: (c1 = b1t2.c1)
1175 -> Bitmap Index Scan on t4_pkey
1176 Index Cond: (c1 = b1t2.c1)
1177 -> Index Scan using t3_pkey on t3 b1t3
1178 Index Cond: (c1 = b1t4.c1)
1180 -> Seq Scan on t1 b1t1
1181 InitPlan 2 (returns $4)
1184 Hash Cond: (b2t1.c1 = b2t3.c1)
1186 Merge Cond: (b2t1.c1 = b2t2.c1)
1188 -> Index Scan using t4_pkey on t4 b2t4
1189 -> Bitmap Heap Scan on t1 b2t1
1190 Recheck Cond: (c1 = b2t4.c1)
1191 -> Bitmap Index Scan on t1_pkey
1192 Index Cond: (c1 = b2t4.c1)
1195 -> Seq Scan on t2 b2t2
1197 -> Seq Scan on t3 b2t3
1199 Hash Cond: (bmt1.c1 = bmt4.c1)
1202 Hash Cond: (bmt1.c1 = bmt2.c1)
1203 -> Seq Scan on t1 bmt1
1204 Filter: ((c1 <> $2) AND (c1 <> $4))
1206 -> Index Scan using t2_pkey on t2 bmt2
1207 -> Bitmap Heap Scan on t3 bmt3
1208 Recheck Cond: (c1 = bmt1.c1)
1209 -> Bitmap Index Scan on t3_pkey
1210 Index Cond: (c1 = bmt1.c1)
1212 -> Seq Scan on t4 bmt4
1216 EXPLAIN (COSTS false)
1218 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
1220 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1222 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1226 ------------------------------------------------------------------------
1231 Merge Cond: (b1t1.c1 = b1t2.c1)
1233 Merge Cond: (b1t1.c1 = b1t4.c1)
1235 Merge Cond: (b1t1.c1 = b1t3.c1)
1236 -> Index Only Scan using t1_i1 on t1 b1t1
1237 -> Index Only Scan using t3_i1 on t3 b1t3
1238 -> Index Only Scan using t4_i1 on t4 b1t4
1241 -> Seq Scan on t2 b1t2
1243 Join Filter: (bmt1.c1 = bmt4.c1)
1245 Join Filter: (bmt2.c1 = bmt1.c1)
1248 Hash Cond: (bmt2.c1 = c1.c1)
1249 -> Seq Scan on t2 bmt2
1252 -> Index Only Scan using t3_i1 on t3 bmt3
1253 Index Cond: (c1 = bmt2.c1)
1254 -> Index Only Scan using t1_i1 on t1 bmt1
1255 Index Cond: (c1 = bmt3.c1)
1256 -> Index Only Scan using t4_i1 on t4 bmt4
1257 Index Cond: (c1 = bmt3.c1)
1260 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1261 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1263 EXPLAIN (COSTS false)
1265 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
1267 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1269 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1272 LOG: available indexes for IndexScan(b1t3): t3_pkey
1273 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1274 LOG: available indexes for IndexScan(bmt2): t2_pkey
1275 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1280 IndexScan(b1t3 t3_pkey)
1281 BitmapScan(b1t4 t4_pkey)
1283 IndexScan(bmt2 t2_pkey)
1284 BitmapScan(bmt3 t3_pkey)
1291 --------------------------------------------------------------------
1296 Hash Cond: (b1t2.c1 = b1t1.c1)
1298 Join Filter: (b1t2.c1 = b1t3.c1)
1300 -> Seq Scan on t2 b1t2
1301 -> Bitmap Heap Scan on t4 b1t4
1302 Recheck Cond: (c1 = b1t2.c1)
1303 -> Bitmap Index Scan on t4_pkey
1304 Index Cond: (c1 = b1t2.c1)
1305 -> Index Scan using t3_pkey on t3 b1t3
1306 Index Cond: (c1 = b1t4.c1)
1308 -> Seq Scan on t1 b1t1
1310 Join Filter: (bmt1.c1 = bmt4.c1)
1314 Hash Cond: (bmt1.c1 = c1.c1)
1315 -> Seq Scan on t1 bmt1
1318 -> Index Scan using t2_pkey on t2 bmt2
1319 Index Cond: (c1 = bmt1.c1)
1320 -> Bitmap Heap Scan on t3 bmt3
1321 Recheck Cond: (c1 = bmt1.c1)
1322 -> Bitmap Index Scan on t3_pkey
1323 Index Cond: (c1 = bmt1.c1)
1324 -> Seq Scan on t4 bmt4
1328 EXPLAIN (COSTS false)
1330 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
1333 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
1335 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1337 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1342 ------------------------------------------------------------------------
1347 Merge Cond: (b1t1.c1 = b1t2.c1)
1349 Merge Cond: (b1t1.c1 = b1t4.c1)
1351 Merge Cond: (b1t1.c1 = b1t3.c1)
1352 -> Index Only Scan using t1_i1 on t1 b1t1
1353 -> Index Only Scan using t3_i1 on t3 b1t3
1354 -> Index Only Scan using t4_i1 on t4 b1t4
1357 -> Seq Scan on t2 b1t2
1361 Merge Cond: (b2t1.c1 = b2t2.c1)
1363 Merge Cond: (b2t1.c1 = b2t4.c1)
1365 Merge Cond: (b2t1.c1 = b2t3.c1)
1366 -> Index Only Scan using t1_i1 on t1 b2t1
1367 -> Index Only Scan using t3_i1 on t3 b2t3
1368 -> Index Only Scan using t4_i1 on t4 b2t4
1371 -> Seq Scan on t2 b2t2
1373 Join Filter: (bmt1.c1 = c2.c1)
1375 Join Filter: (bmt1.c1 = bmt4.c1)
1377 Join Filter: (bmt2.c1 = bmt1.c1)
1380 Hash Cond: (bmt2.c1 = c1.c1)
1381 -> Seq Scan on t2 bmt2
1384 -> Index Only Scan using t3_i1 on t3 bmt3
1385 Index Cond: (c1 = bmt2.c1)
1386 -> Index Only Scan using t1_i1 on t1 bmt1
1387 Index Cond: (c1 = bmt3.c1)
1388 -> Index Only Scan using t4_i1 on t4 bmt4
1389 Index Cond: (c1 = bmt3.c1)
1393 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1394 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1395 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1397 EXPLAIN (COSTS false)
1399 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
1402 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
1404 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1406 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1410 LOG: available indexes for IndexScan(b1t3): t3_pkey
1411 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1412 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1413 LOG: available indexes for IndexScan(b2t4): t4_pkey
1414 LOG: available indexes for IndexScan(bmt2): t2_pkey
1415 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1420 IndexScan(b1t3 t3_pkey)
1421 BitmapScan(b1t4 t4_pkey)
1422 BitmapScan(b2t1 t1_pkey)
1425 IndexScan(b2t4 t4_pkey)
1427 IndexScan(bmt2 t2_pkey)
1428 BitmapScan(bmt3 t3_pkey)
1435 ---------------------------------------------------------------------
1440 Hash Cond: (b1t2.c1 = b1t1.c1)
1442 Join Filter: (b1t2.c1 = b1t3.c1)
1444 -> Seq Scan on t2 b1t2
1445 -> Bitmap Heap Scan on t4 b1t4
1446 Recheck Cond: (c1 = b1t2.c1)
1447 -> Bitmap Index Scan on t4_pkey
1448 Index Cond: (c1 = b1t2.c1)
1449 -> Index Scan using t3_pkey on t3 b1t3
1450 Index Cond: (c1 = b1t4.c1)
1452 -> Seq Scan on t1 b1t1
1456 Hash Cond: (b2t1.c1 = b2t3.c1)
1458 Merge Cond: (b2t1.c1 = b2t2.c1)
1460 -> Index Scan using t4_pkey on t4 b2t4
1461 -> Bitmap Heap Scan on t1 b2t1
1462 Recheck Cond: (c1 = b2t4.c1)
1463 -> Bitmap Index Scan on t1_pkey
1464 Index Cond: (c1 = b2t4.c1)
1467 -> Seq Scan on t2 b2t2
1469 -> Seq Scan on t3 b2t3
1471 Join Filter: (bmt1.c1 = bmt4.c1)
1473 Join Filter: (bmt1.c1 = c2.c1)
1477 Hash Cond: (bmt1.c1 = c1.c1)
1478 -> Seq Scan on t1 bmt1
1481 -> Index Scan using t2_pkey on t2 bmt2
1482 Index Cond: (c1 = bmt1.c1)
1483 -> Bitmap Heap Scan on t3 bmt3
1484 Recheck Cond: (c1 = bmt1.c1)
1485 -> Bitmap Index Scan on t3_pkey
1486 Index Cond: (c1 = bmt1.c1)
1488 -> Seq Scan on t4 bmt4
1492 ---- No. S-2-2 the number of the tables per quiry block
1495 EXPLAIN (COSTS false)
1497 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1499 SELECT max(bmt1.c1), (
1500 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1502 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1504 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1508 -----------------------------------------------------------------
1512 InitPlan 1 (returns $0)
1514 -> Tid Scan on t1 b1t1
1515 TID Cond: (ctid = '(1,1)'::tid)
1516 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1517 InitPlan 4 (returns $3)
1519 InitPlan 3 (returns $2)
1521 -> Tid Scan on t1 b2t1
1522 TID Cond: (ctid = '(1,1)'::tid)
1523 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1524 InitPlan 6 (returns $5)
1526 InitPlan 5 (returns $4)
1528 -> Tid Scan on t1 b3t1
1529 TID Cond: (ctid = '(1,1)'::tid)
1530 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1532 -> Tid Scan on t1 bmt1
1533 TID Cond: (ctid = '(1,1)'::tid)
1534 Filter: ((c1 <> $5) AND (c1 = 1))
1540 BitmapScan(b2t1 t1_pkey)
1541 IndexScan(b3t1 t1_pkey)
1543 EXPLAIN (COSTS false)
1545 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1547 SELECT max(bmt1.c1), (
1548 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1550 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1552 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1555 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1556 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1557 LOG: available indexes for IndexScan(b3t1): t1_pkey
1558 LOG: available indexes for IndexScan(b3t1): t1_pkey
1562 BitmapScan(b2t1 t1_pkey)
1563 IndexScan(b3t1 t1_pkey)
1570 ---------------------------------------------------------------------------
1574 InitPlan 1 (returns $0)
1576 -> Tid Scan on t1 b1t1
1577 TID Cond: (ctid = '(1,1)'::tid)
1578 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1579 InitPlan 4 (returns $3)
1581 InitPlan 3 (returns $2)
1583 -> Bitmap Heap Scan on t1 b2t1
1584 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1585 Filter: (ctid = '(1,1)'::tid)
1586 -> Bitmap Index Scan on t1_pkey
1587 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1588 InitPlan 6 (returns $5)
1590 InitPlan 5 (returns $4)
1592 -> Index Scan using t1_pkey on t1 b3t1
1593 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1594 Filter: (ctid = '(1,1)'::tid)
1596 -> Seq Scan on t1 bmt1
1597 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid) AND (c1 = 1))
1602 EXPLAIN (COSTS false)
1604 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)'
1606 SELECT max(bmt1.c1), (
1607 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)'
1609 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1611 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)'
1615 -------------------------------------------------------
1620 Join Filter: (b1t1.c1 = b1t2.c1)
1621 -> Tid Scan on t1 b1t1
1622 TID Cond: (ctid = '(1,1)'::tid)
1623 -> Seq Scan on t2 b1t2
1624 Filter: (ctid = '(1,1)'::tid)
1625 InitPlan 2 (returns $1)
1628 Join Filter: (b2t1.c1 = b2t2.c1)
1629 -> Tid Scan on t1 b2t1
1630 TID Cond: (ctid = '(1,1)'::tid)
1631 -> Seq Scan on t2 b2t2
1632 Filter: (ctid = '(1,1)'::tid)
1633 InitPlan 3 (returns $2)
1636 Join Filter: (b3t1.c1 = b3t2.c1)
1637 -> Tid Scan on t1 b3t1
1638 TID Cond: (ctid = '(1,1)'::tid)
1639 -> Seq Scan on t2 b3t2
1640 Filter: (ctid = '(1,1)'::tid)
1643 Join Filter: (bmt1.c1 = bmt2.c1)
1644 -> Tid Scan on t1 bmt1
1645 TID Cond: (ctid = '(1,1)'::tid)
1647 -> Seq Scan on t2 bmt2
1648 Filter: (ctid = '(1,1)'::tid)
1652 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)
1653 TidScan(b1t1)SeqScan(b1t2)
1654 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)
1655 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)
1657 EXPLAIN (COSTS false)
1659 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)'
1661 SELECT max(bmt1.c1), (
1662 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)'
1664 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1666 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)'
1669 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1670 LOG: available indexes for IndexScan(b3t1): t1_pkey
1671 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1672 LOG: available indexes for IndexScan(bmt2): t2_pkey
1677 BitmapScan(b2t1 t1_pkey)
1679 IndexScan(b3t1 t1_pkey)
1680 BitmapScan(b3t2 t2_pkey)
1682 IndexScan(bmt2 t2_pkey)
1688 --------------------------------------------------------------------
1693 Join Filter: (b1t1.c1 = b1t2.c1)
1694 -> Tid Scan on t1 b1t1
1695 TID Cond: (ctid = '(1,1)'::tid)
1696 -> Seq Scan on t2 b1t2
1697 Filter: (ctid = '(1,1)'::tid)
1698 InitPlan 2 (returns $2)
1701 -> Tid Scan on t2 b2t2
1702 TID Cond: (ctid = '(1,1)'::tid)
1703 -> Bitmap Heap Scan on t1 b2t1
1704 Recheck Cond: (c1 = b2t2.c1)
1705 Filter: (ctid = '(1,1)'::tid)
1706 -> Bitmap Index Scan on t1_pkey
1707 Index Cond: (c1 = b2t2.c1)
1708 InitPlan 3 (returns $4)
1711 -> Index Scan using t1_pkey on t1 b3t1
1712 Filter: (ctid = '(1,1)'::tid)
1713 -> Bitmap Heap Scan on t2 b3t2
1714 Recheck Cond: (c1 = b3t1.c1)
1715 Filter: (ctid = '(1,1)'::tid)
1716 -> Bitmap Index Scan on t2_pkey
1717 Index Cond: (c1 = b3t1.c1)
1720 -> Seq Scan on t1 bmt1
1721 Filter: ((c1 <> $4) AND (ctid = '(1,1)'::tid))
1722 -> Index Scan using t2_pkey on t2 bmt2
1723 Index Cond: (c1 = bmt1.c1)
1724 Filter: (ctid = '(1,1)'::tid)
1729 EXPLAIN (COSTS false)
1731 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)'
1733 SELECT max(bmt1.c1), (
1734 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)'
1736 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
1738 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)'
1742 -------------------------------------------------------------------
1747 Join Filter: (b1t1.c1 = b1t4.c1)
1749 Join Filter: (b1t1.c1 = b1t3.c1)
1751 Join Filter: (b1t1.c1 = b1t2.c1)
1752 -> Tid Scan on t1 b1t1
1753 TID Cond: (ctid = '(1,1)'::tid)
1754 -> Seq Scan on t2 b1t2
1755 Filter: (ctid = '(1,1)'::tid)
1756 -> Tid Scan on t3 b1t3
1757 TID Cond: (ctid = '(1,1)'::tid)
1758 -> Tid Scan on t4 b1t4
1759 TID Cond: (ctid = '(1,1)'::tid)
1760 InitPlan 2 (returns $1)
1763 Join Filter: (b2t1.c1 = b2t4.c1)
1765 Join Filter: (b2t1.c1 = b2t3.c1)
1767 Join Filter: (b2t1.c1 = b2t2.c1)
1768 -> Tid Scan on t1 b2t1
1769 TID Cond: (ctid = '(1,1)'::tid)
1770 -> Seq Scan on t2 b2t2
1771 Filter: (ctid = '(1,1)'::tid)
1772 -> Tid Scan on t3 b2t3
1773 TID Cond: (ctid = '(1,1)'::tid)
1774 -> Tid Scan on t4 b2t4
1775 TID Cond: (ctid = '(1,1)'::tid)
1776 InitPlan 3 (returns $2)
1779 Join Filter: (b3t1.c1 = b3t4.c1)
1781 Join Filter: (b3t1.c1 = b3t3.c1)
1783 Join Filter: (b3t1.c1 = b3t2.c1)
1784 -> Tid Scan on t1 b3t1
1785 TID Cond: (ctid = '(1,1)'::tid)
1786 -> Seq Scan on t2 b3t2
1787 Filter: (ctid = '(1,1)'::tid)
1788 -> Tid Scan on t3 b3t3
1789 TID Cond: (ctid = '(1,1)'::tid)
1790 -> Tid Scan on t4 b3t4
1791 TID Cond: (ctid = '(1,1)'::tid)
1793 Join Filter: (bmt1.c1 = c1.c1)
1795 Join Filter: (bmt1.c1 = bmt4.c1)
1797 Join Filter: (bmt1.c1 = bmt3.c1)
1799 Join Filter: (bmt1.c1 = bmt2.c1)
1800 -> Tid Scan on t1 bmt1
1801 TID Cond: (ctid = '(1,1)'::tid)
1803 -> Seq Scan on t2 bmt2
1804 Filter: (ctid = '(1,1)'::tid)
1805 -> Tid Scan on t3 bmt3
1806 TID Cond: (ctid = '(1,1)'::tid)
1807 -> Tid Scan on t4 bmt4
1808 TID Cond: (ctid = '(1,1)'::tid)
1812 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1813 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1814 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1815 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
1817 EXPLAIN (COSTS false)
1819 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)'
1821 SELECT max(bmt1.c1), (
1822 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)'
1824 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
1826 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)'
1829 LOG: available indexes for IndexScan(b1t3): t3_pkey
1830 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1831 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1832 LOG: available indexes for IndexScan(b2t4): t4_pkey
1833 LOG: available indexes for IndexScan(b3t1): t1_pkey
1834 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1835 LOG: available indexes for IndexScan(bmt2): t2_pkey
1836 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1841 IndexScan(b1t3 t3_pkey)
1842 BitmapScan(b1t4 t4_pkey)
1843 BitmapScan(b2t1 t1_pkey)
1846 IndexScan(b2t4 t4_pkey)
1847 IndexScan(b3t1 t1_pkey)
1848 BitmapScan(b3t2 t2_pkey)
1852 IndexScan(bmt2 t2_pkey)
1853 BitmapScan(bmt3 t3_pkey)
1860 --------------------------------------------------------------------------------
1867 Join Filter: (b1t1.c1 = b1t2.c1)
1868 -> Tid Scan on t1 b1t1
1869 TID Cond: (ctid = '(1,1)'::tid)
1870 -> Seq Scan on t2 b1t2
1871 Filter: (ctid = '(1,1)'::tid)
1872 -> Index Scan using t3_pkey on t3 b1t3
1873 Index Cond: (c1 = b1t1.c1)
1874 Filter: (ctid = '(1,1)'::tid)
1875 -> Bitmap Heap Scan on t4 b1t4
1876 Recheck Cond: (c1 = b1t1.c1)
1877 Filter: (ctid = '(1,1)'::tid)
1878 -> Bitmap Index Scan on t4_pkey
1879 Index Cond: (c1 = b1t1.c1)
1880 InitPlan 2 (returns $4)
1884 Join Filter: (b2t1.c1 = b2t3.c1)
1886 -> Tid Scan on t2 b2t2
1887 TID Cond: (ctid = '(1,1)'::tid)
1888 -> Bitmap Heap Scan on t1 b2t1
1889 Recheck Cond: (c1 = b2t2.c1)
1890 Filter: (ctid = '(1,1)'::tid)
1891 -> Bitmap Index Scan on t1_pkey
1892 Index Cond: (c1 = b2t2.c1)
1893 -> Seq Scan on t3 b2t3
1894 Filter: (ctid = '(1,1)'::tid)
1895 -> Index Scan using t4_pkey on t4 b2t4
1896 Index Cond: (c1 = b2t1.c1)
1897 Filter: (ctid = '(1,1)'::tid)
1898 InitPlan 3 (returns $7)
1901 Join Filter: (b3t1.c1 = b3t4.c1)
1904 -> Tid Scan on t3 b3t3
1905 TID Cond: (ctid = '(1,1)'::tid)
1906 -> Index Scan using t1_pkey on t1 b3t1
1907 Index Cond: (c1 = b3t3.c1)
1908 Filter: (ctid = '(1,1)'::tid)
1909 -> Bitmap Heap Scan on t2 b3t2
1910 Recheck Cond: (c1 = b3t1.c1)
1911 Filter: (ctid = '(1,1)'::tid)
1912 -> Bitmap Index Scan on t2_pkey
1913 Index Cond: (c1 = b3t1.c1)
1914 -> Seq Scan on t4 b3t4
1915 Filter: (ctid = '(1,1)'::tid)
1917 Join Filter: (bmt1.c1 = c1.c1)
1919 Join Filter: (bmt1.c1 = bmt4.c1)
1922 -> Seq Scan on t1 bmt1
1923 Filter: ((c1 <> $7) AND (ctid = '(1,1)'::tid))
1924 -> Index Scan using t2_pkey on t2 bmt2
1925 Index Cond: (c1 = bmt1.c1)
1926 Filter: (ctid = '(1,1)'::tid)
1927 -> Bitmap Heap Scan on t3 bmt3
1928 Recheck Cond: (c1 = bmt1.c1)
1929 Filter: (ctid = '(1,1)'::tid)
1930 -> Bitmap Index Scan on t3_pkey
1931 Index Cond: (c1 = bmt1.c1)
1932 -> Tid Scan on t4 bmt4
1933 TID Cond: (ctid = '(1,1)'::tid)
1938 EXPLAIN (COSTS false)
1940 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)'
1942 SELECT max(bmt1.c1), (
1943 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1945 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
1947 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
1951 -------------------------------------------------------------------
1956 Join Filter: (b1t1.c1 = b1t4.c1)
1958 Join Filter: (b1t1.c1 = b1t3.c1)
1960 Join Filter: (b1t1.c1 = b1t2.c1)
1961 -> Tid Scan on t1 b1t1
1962 TID Cond: (ctid = '(1,1)'::tid)
1963 -> Seq Scan on t2 b1t2
1964 Filter: (ctid = '(1,1)'::tid)
1965 -> Tid Scan on t3 b1t3
1966 TID Cond: (ctid = '(1,1)'::tid)
1967 -> Tid Scan on t4 b1t4
1968 TID Cond: (ctid = '(1,1)'::tid)
1969 InitPlan 3 (returns $2)
1971 InitPlan 2 (returns $1)
1973 -> Tid Scan on t1 b2t1
1974 TID Cond: (ctid = '(1,1)'::tid)
1975 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1976 InitPlan 4 (returns $3)
1978 -> Tid Scan on t1 b3t1
1979 TID Cond: (ctid = '(1,1)'::tid)
1981 Join Filter: (bmt1.c1 = c1.c1)
1983 Join Filter: (bmt1.c1 = bmt4.c1)
1985 Join Filter: (bmt1.c1 = bmt3.c1)
1987 Join Filter: (bmt1.c1 = bmt2.c1)
1988 -> Tid Scan on t1 bmt1
1989 TID Cond: (ctid = '(1,1)'::tid)
1991 -> Seq Scan on t2 bmt2
1992 Filter: (ctid = '(1,1)'::tid)
1993 -> Tid Scan on t3 bmt3
1994 TID Cond: (ctid = '(1,1)'::tid)
1995 -> Tid Scan on t4 bmt4
1996 TID Cond: (ctid = '(1,1)'::tid)
2000 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
2001 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2002 BitmapScan(b2t1 t1_pkey)
2003 IndexScan(b3t1 t1_pkey)
2005 EXPLAIN (COSTS false)
2007 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)'
2009 SELECT max(bmt1.c1), (
2010 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2012 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
2014 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2017 LOG: available indexes for IndexScan(b1t3): t3_pkey
2018 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2019 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2020 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2021 LOG: available indexes for IndexScan(b3t1): t1_pkey
2022 LOG: available indexes for IndexScan(b3t1): t1_pkey
2023 LOG: available indexes for IndexScan(bmt2): t2_pkey
2024 LOG: available indexes for BitmapScan(bmt3): t3_pkey
2029 IndexScan(b1t3 t3_pkey)
2030 BitmapScan(b1t4 t4_pkey)
2031 BitmapScan(b2t1 t1_pkey)
2032 IndexScan(b3t1 t1_pkey)
2034 IndexScan(bmt2 t2_pkey)
2035 BitmapScan(bmt3 t3_pkey)
2042 --------------------------------------------------------------------------------
2049 Join Filter: (b1t1.c1 = b1t2.c1)
2050 -> Tid Scan on t1 b1t1
2051 TID Cond: (ctid = '(1,1)'::tid)
2052 -> Seq Scan on t2 b1t2
2053 Filter: (ctid = '(1,1)'::tid)
2054 -> Index Scan using t3_pkey on t3 b1t3
2055 Index Cond: (c1 = b1t1.c1)
2056 Filter: (ctid = '(1,1)'::tid)
2057 -> Bitmap Heap Scan on t4 b1t4
2058 Recheck Cond: (c1 = b1t1.c1)
2059 Filter: (ctid = '(1,1)'::tid)
2060 -> Bitmap Index Scan on t4_pkey
2061 Index Cond: (c1 = b1t1.c1)
2062 InitPlan 3 (returns $3)
2064 InitPlan 2 (returns $2)
2066 -> Bitmap Heap Scan on t1 b2t1
2067 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2068 Filter: (ctid = '(1,1)'::tid)
2069 -> Bitmap Index Scan on t1_pkey
2070 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2071 InitPlan 5 (returns $5)
2073 InitPlan 4 (returns $4)
2075 -> Index Scan Backward using t1_pkey on t1 b3t1
2076 Index Cond: (c1 IS NOT NULL)
2077 Filter: (ctid = '(1,1)'::tid)
2079 Join Filter: (bmt1.c1 = c1.c1)
2081 Join Filter: (bmt1.c1 = bmt4.c1)
2084 -> Seq Scan on t1 bmt1
2085 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid))
2086 -> Index Scan using t2_pkey on t2 bmt2
2087 Index Cond: (c1 = bmt1.c1)
2088 Filter: (ctid = '(1,1)'::tid)
2089 -> Bitmap Heap Scan on t3 bmt3
2090 Recheck Cond: (c1 = bmt1.c1)
2091 Filter: (ctid = '(1,1)'::tid)
2092 -> Bitmap Index Scan on t3_pkey
2093 Index Cond: (c1 = bmt1.c1)
2094 -> Tid Scan on t4 bmt4
2095 TID Cond: (ctid = '(1,1)'::tid)
2100 ---- No. S-2-3 RULE or VIEW
2103 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2105 -----------------------------------------------------------------
2108 Join Filter: (t1.c1 = t4.c1)
2110 Join Filter: (t1.c1 = t3.c1)
2112 Join Filter: (t1.c1 = t2.c1)
2115 TID Cond: (ctid = '(1,1)'::tid)
2118 TID Cond: (ctid = '(1,1)'::tid)
2120 Filter: (ctid = '(1,1)'::tid)
2122 TID Cond: (ctid = '(1,1)'::tid)
2124 TID Cond: (ctid = '(1,1)'::tid)
2127 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2129 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2130 LOG: available indexes for IndexScan(t3): t3_pkey
2131 LOG: available indexes for BitmapScan(t4): t4_pkey
2137 IndexScan(t3 t3_pkey)
2138 BitmapScan(t4 t4_pkey)
2144 ------------------------------------------------------------------------------
2149 Join Filter: (t1.c1 = t2.c1)
2152 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2154 TID Cond: (ctid = '(1,1)'::tid)
2156 Filter: (ctid = '(1,1)'::tid)
2157 -> Index Scan using t3_pkey on t3
2158 Index Cond: (c1 = t1.c1)
2159 Filter: (ctid = '(1,1)'::tid)
2160 -> Bitmap Heap Scan on t4
2161 Recheck Cond: (c1 = t1.c1)
2162 Filter: (ctid = '(1,1)'::tid)
2163 -> Bitmap Index Scan on t4_pkey
2164 Index Cond: (c1 = t1.c1)
2167 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2169 -----------------------------------------------------------------
2172 Join Filter: (b1t1.c1 = b1t4.c1)
2174 Join Filter: (b1t1.c1 = b1t3.c1)
2176 Join Filter: (b1t1.c1 = b1t2.c1)
2179 TID Cond: (ctid = '(1,1)'::tid)
2181 -> Tid Scan on t1 b1t1
2182 TID Cond: (ctid = '(1,1)'::tid)
2183 -> Seq Scan on t2 b1t2
2184 Filter: (ctid = '(1,1)'::tid)
2185 -> Tid Scan on t3 b1t3
2186 TID Cond: (ctid = '(1,1)'::tid)
2187 -> Tid Scan on t4 b1t4
2188 TID Cond: (ctid = '(1,1)'::tid)
2191 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2193 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2194 LOG: available indexes for IndexScan(b1t3): t3_pkey
2195 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2200 IndexScan(b1t3 t3_pkey)
2201 BitmapScan(b1t4 t4_pkey)
2208 ------------------------------------------------------------------------------
2213 Join Filter: (b1t1.c1 = b1t2.c1)
2216 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2217 -> Tid Scan on t1 b1t1
2218 TID Cond: (ctid = '(1,1)'::tid)
2219 -> Seq Scan on t2 b1t2
2220 Filter: (ctid = '(1,1)'::tid)
2221 -> Index Scan using t3_pkey on t3 b1t3
2222 Index Cond: (c1 = b1t1.c1)
2223 Filter: (ctid = '(1,1)'::tid)
2224 -> Bitmap Heap Scan on t4 b1t4
2225 Recheck Cond: (c1 = b1t1.c1)
2226 Filter: (ctid = '(1,1)'::tid)
2227 -> Bitmap Index Scan on t4_pkey
2228 Index Cond: (c1 = b1t1.c1)
2232 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2234 -----------------------------------------------------------------
2237 Join Filter: (t1.c1 = t4.c1)
2239 Join Filter: (t1.c1 = t3.c1)
2241 Join Filter: (t1.c1 = t2.c1)
2244 TID Cond: (ctid = '(1,1)'::tid)
2247 TID Cond: (ctid = '(1,1)'::tid)
2249 Filter: (ctid = '(1,1)'::tid)
2251 TID Cond: (ctid = '(1,1)'::tid)
2253 TID Cond: (ctid = '(1,1)'::tid)
2257 Join Filter: (t1.c1 = t4.c1)
2259 Join Filter: (t1.c1 = t3.c1)
2261 Join Filter: (t1.c1 = t2.c1)
2264 TID Cond: (ctid = '(1,1)'::tid)
2267 TID Cond: (ctid = '(1,1)'::tid)
2269 Filter: (ctid = '(1,1)'::tid)
2271 TID Cond: (ctid = '(1,1)'::tid)
2273 TID Cond: (ctid = '(1,1)'::tid)
2276 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2278 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2279 LOG: available indexes for IndexScan(t3): t3_pkey
2280 LOG: available indexes for BitmapScan(t4): t4_pkey
2286 IndexScan(t3 t3_pkey)
2287 BitmapScan(t4 t4_pkey)
2292 LOG: available indexes for IndexScan(t3): t3_pkey
2293 LOG: available indexes for BitmapScan(t4): t4_pkey
2299 IndexScan(t3 t3_pkey)
2300 BitmapScan(t4 t4_pkey)
2306 ------------------------------------------------------------------------------
2311 Join Filter: (t1.c1 = t2.c1)
2314 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2316 TID Cond: (ctid = '(1,1)'::tid)
2318 Filter: (ctid = '(1,1)'::tid)
2319 -> Index Scan using t3_pkey on t3
2320 Index Cond: (c1 = t1.c1)
2321 Filter: (ctid = '(1,1)'::tid)
2322 -> Bitmap Heap Scan on t4
2323 Recheck Cond: (c1 = t1.c1)
2324 Filter: (ctid = '(1,1)'::tid)
2325 -> Bitmap Index Scan on t4_pkey
2326 Index Cond: (c1 = t1.c1)
2332 Join Filter: (t1.c1 = t2.c1)
2335 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2337 TID Cond: (ctid = '(1,1)'::tid)
2339 Filter: (ctid = '(1,1)'::tid)
2340 -> Index Scan using t3_pkey on t3
2341 Index Cond: (c1 = t1.c1)
2342 Filter: (ctid = '(1,1)'::tid)
2343 -> Bitmap Heap Scan on t4
2344 Recheck Cond: (c1 = t1.c1)
2345 Filter: (ctid = '(1,1)'::tid)
2346 -> Bitmap Index Scan on t4_pkey
2347 Index Cond: (c1 = t1.c1)
2350 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2352 -----------------------------------------------------------------
2355 Join Filter: (b1t1.c1 = b1t4.c1)
2357 Join Filter: (b1t1.c1 = b1t3.c1)
2359 Join Filter: (b1t1.c1 = b1t2.c1)
2362 TID Cond: (ctid = '(1,1)'::tid)
2364 -> Tid Scan on t1 b1t1
2365 TID Cond: (ctid = '(1,1)'::tid)
2366 -> Seq Scan on t2 b1t2
2367 Filter: (ctid = '(1,1)'::tid)
2368 -> Tid Scan on t3 b1t3
2369 TID Cond: (ctid = '(1,1)'::tid)
2370 -> Tid Scan on t4 b1t4
2371 TID Cond: (ctid = '(1,1)'::tid)
2375 Join Filter: (b2t1.c1 = b2t4.c1)
2377 Join Filter: (b2t1.c1 = b2t3.c1)
2379 Join Filter: (b2t1.c1 = b2t2.c1)
2382 TID Cond: (ctid = '(1,1)'::tid)
2384 -> Tid Scan on t1 b2t1
2385 TID Cond: (ctid = '(1,1)'::tid)
2386 -> Seq Scan on t2 b2t2
2387 Filter: (ctid = '(1,1)'::tid)
2388 -> Tid Scan on t3 b2t3
2389 TID Cond: (ctid = '(1,1)'::tid)
2390 -> Tid Scan on t4 b2t4
2391 TID Cond: (ctid = '(1,1)'::tid)
2394 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2395 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2397 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2398 LOG: available indexes for IndexScan(b1t3): t3_pkey
2399 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2404 IndexScan(b1t3 t3_pkey)
2405 BitmapScan(b1t4 t4_pkey)
2408 BitmapScan(b2t1 t1_pkey)
2411 IndexScan(b2t4 t4_pkey)
2415 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2416 LOG: available indexes for IndexScan(b2t4): t4_pkey
2419 BitmapScan(b2t1 t1_pkey)
2422 IndexScan(b2t4 t4_pkey)
2427 IndexScan(b1t3 t3_pkey)
2428 BitmapScan(b1t4 t4_pkey)
2433 ------------------------------------------------------------------------------
2438 Join Filter: (b1t1.c1 = b1t2.c1)
2441 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2442 -> Tid Scan on t1 b1t1
2443 TID Cond: (ctid = '(1,1)'::tid)
2444 -> Seq Scan on t2 b1t2
2445 Filter: (ctid = '(1,1)'::tid)
2446 -> Index Scan using t3_pkey on t3 b1t3
2447 Index Cond: (c1 = b1t1.c1)
2448 Filter: (ctid = '(1,1)'::tid)
2449 -> Bitmap Heap Scan on t4 b1t4
2450 Recheck Cond: (c1 = b1t1.c1)
2451 Filter: (ctid = '(1,1)'::tid)
2452 -> Bitmap Index Scan on t4_pkey
2453 Index Cond: (c1 = b1t1.c1)
2458 Join Filter: (b2t1.c1 = b2t3.c1)
2462 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2463 -> Tid Scan on t2 b2t2
2464 TID Cond: (ctid = '(1,1)'::tid)
2465 -> Bitmap Heap Scan on t1 b2t1
2466 Recheck Cond: (c1 = b2t2.c1)
2467 Filter: (ctid = '(1,1)'::tid)
2468 -> Bitmap Index Scan on t1_pkey
2469 Index Cond: (c1 = b2t2.c1)
2470 -> Seq Scan on t3 b2t3
2471 Filter: (ctid = '(1,1)'::tid)
2472 -> Index Scan using t4_pkey on t4 b2t4
2473 Index Cond: (c1 = b2t1.c1)
2474 Filter: (ctid = '(1,1)'::tid)
2478 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2480 -----------------------------------------------------------------
2483 Join Filter: (t1.c1 = t4.c1)
2485 Join Filter: (t1.c1 = t3.c1)
2487 Join Filter: (t1.c1 = t2.c1)
2490 TID Cond: (ctid = '(1,1)'::tid)
2493 TID Cond: (ctid = '(1,1)'::tid)
2495 Filter: (ctid = '(1,1)'::tid)
2497 TID Cond: (ctid = '(1,1)'::tid)
2499 TID Cond: (ctid = '(1,1)'::tid)
2503 Join Filter: (t1.c1 = t4.c1)
2505 Join Filter: (t1.c1 = t3.c1)
2507 Join Filter: (t1.c1 = t2.c1)
2510 TID Cond: (ctid = '(1,1)'::tid)
2513 TID Cond: (ctid = '(1,1)'::tid)
2515 Filter: (ctid = '(1,1)'::tid)
2517 TID Cond: (ctid = '(1,1)'::tid)
2519 TID Cond: (ctid = '(1,1)'::tid)
2523 Join Filter: (t1.c1 = t4.c1)
2525 Join Filter: (t1.c1 = t3.c1)
2527 Join Filter: (t1.c1 = t2.c1)
2530 TID Cond: (ctid = '(1,1)'::tid)
2533 TID Cond: (ctid = '(1,1)'::tid)
2535 Filter: (ctid = '(1,1)'::tid)
2537 TID Cond: (ctid = '(1,1)'::tid)
2539 TID Cond: (ctid = '(1,1)'::tid)
2542 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2544 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2545 LOG: available indexes for IndexScan(t3): t3_pkey
2546 LOG: available indexes for BitmapScan(t4): t4_pkey
2552 IndexScan(t3 t3_pkey)
2553 BitmapScan(t4 t4_pkey)
2558 LOG: available indexes for IndexScan(t3): t3_pkey
2559 LOG: available indexes for BitmapScan(t4): t4_pkey
2565 IndexScan(t3 t3_pkey)
2566 BitmapScan(t4 t4_pkey)
2571 LOG: available indexes for IndexScan(t3): t3_pkey
2572 LOG: available indexes for BitmapScan(t4): t4_pkey
2578 IndexScan(t3 t3_pkey)
2579 BitmapScan(t4 t4_pkey)
2585 ------------------------------------------------------------------------------
2590 Join Filter: (t1.c1 = t2.c1)
2593 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2595 TID Cond: (ctid = '(1,1)'::tid)
2597 Filter: (ctid = '(1,1)'::tid)
2598 -> Index Scan using t3_pkey on t3
2599 Index Cond: (c1 = t1.c1)
2600 Filter: (ctid = '(1,1)'::tid)
2601 -> Bitmap Heap Scan on t4
2602 Recheck Cond: (c1 = t1.c1)
2603 Filter: (ctid = '(1,1)'::tid)
2604 -> Bitmap Index Scan on t4_pkey
2605 Index Cond: (c1 = t1.c1)
2611 Join Filter: (t1.c1 = t2.c1)
2614 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2616 TID Cond: (ctid = '(1,1)'::tid)
2618 Filter: (ctid = '(1,1)'::tid)
2619 -> Index Scan using t3_pkey on t3
2620 Index Cond: (c1 = t1.c1)
2621 Filter: (ctid = '(1,1)'::tid)
2622 -> Bitmap Heap Scan on t4
2623 Recheck Cond: (c1 = t1.c1)
2624 Filter: (ctid = '(1,1)'::tid)
2625 -> Bitmap Index Scan on t4_pkey
2626 Index Cond: (c1 = t1.c1)
2632 Join Filter: (t1.c1 = t2.c1)
2635 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2637 TID Cond: (ctid = '(1,1)'::tid)
2639 Filter: (ctid = '(1,1)'::tid)
2640 -> Index Scan using t3_pkey on t3
2641 Index Cond: (c1 = t1.c1)
2642 Filter: (ctid = '(1,1)'::tid)
2643 -> Bitmap Heap Scan on t4
2644 Recheck Cond: (c1 = t1.c1)
2645 Filter: (ctid = '(1,1)'::tid)
2646 -> Bitmap Index Scan on t4_pkey
2647 Index Cond: (c1 = t1.c1)
2650 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2652 -----------------------------------------------------------------
2655 Join Filter: (b1t1.c1 = b1t4.c1)
2657 Join Filter: (b1t1.c1 = b1t3.c1)
2659 Join Filter: (b1t1.c1 = b1t2.c1)
2662 TID Cond: (ctid = '(1,1)'::tid)
2664 -> Tid Scan on t1 b1t1
2665 TID Cond: (ctid = '(1,1)'::tid)
2666 -> Seq Scan on t2 b1t2
2667 Filter: (ctid = '(1,1)'::tid)
2668 -> Tid Scan on t3 b1t3
2669 TID Cond: (ctid = '(1,1)'::tid)
2670 -> Tid Scan on t4 b1t4
2671 TID Cond: (ctid = '(1,1)'::tid)
2675 Join Filter: (b2t1.c1 = b2t4.c1)
2677 Join Filter: (b2t1.c1 = b2t3.c1)
2679 Join Filter: (b2t1.c1 = b2t2.c1)
2682 TID Cond: (ctid = '(1,1)'::tid)
2684 -> Tid Scan on t1 b2t1
2685 TID Cond: (ctid = '(1,1)'::tid)
2686 -> Seq Scan on t2 b2t2
2687 Filter: (ctid = '(1,1)'::tid)
2688 -> Tid Scan on t3 b2t3
2689 TID Cond: (ctid = '(1,1)'::tid)
2690 -> Tid Scan on t4 b2t4
2691 TID Cond: (ctid = '(1,1)'::tid)
2695 Join Filter: (b3t1.c1 = b3t4.c1)
2697 Join Filter: (b3t1.c1 = b3t3.c1)
2699 Join Filter: (b3t1.c1 = b3t2.c1)
2702 TID Cond: (ctid = '(1,1)'::tid)
2704 -> Tid Scan on t1 b3t1
2705 TID Cond: (ctid = '(1,1)'::tid)
2706 -> Seq Scan on t2 b3t2
2707 Filter: (ctid = '(1,1)'::tid)
2708 -> Tid Scan on t3 b3t3
2709 TID Cond: (ctid = '(1,1)'::tid)
2710 -> Tid Scan on t4 b3t4
2711 TID Cond: (ctid = '(1,1)'::tid)
2714 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2715 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2716 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
2718 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2719 LOG: available indexes for IndexScan(b1t3): t3_pkey
2720 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2725 IndexScan(b1t3 t3_pkey)
2726 BitmapScan(b1t4 t4_pkey)
2729 BitmapScan(b2t1 t1_pkey)
2732 IndexScan(b2t4 t4_pkey)
2733 IndexScan(b3t1 t1_pkey)
2734 BitmapScan(b3t2 t2_pkey)
2740 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2741 LOG: available indexes for IndexScan(b2t4): t4_pkey
2744 BitmapScan(b2t1 t1_pkey)
2747 IndexScan(b2t4 t4_pkey)
2752 IndexScan(b1t3 t3_pkey)
2753 BitmapScan(b1t4 t4_pkey)
2754 IndexScan(b3t1 t1_pkey)
2755 BitmapScan(b3t2 t2_pkey)
2761 LOG: available indexes for IndexScan(b3t1): t1_pkey
2762 LOG: available indexes for BitmapScan(b3t2): t2_pkey
2765 IndexScan(b3t1 t1_pkey)
2766 BitmapScan(b3t2 t2_pkey)
2773 IndexScan(b1t3 t3_pkey)
2774 BitmapScan(b1t4 t4_pkey)
2775 BitmapScan(b2t1 t1_pkey)
2778 IndexScan(b2t4 t4_pkey)
2783 ------------------------------------------------------------------------------
2788 Join Filter: (b1t1.c1 = b1t2.c1)
2791 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2792 -> Tid Scan on t1 b1t1
2793 TID Cond: (ctid = '(1,1)'::tid)
2794 -> Seq Scan on t2 b1t2
2795 Filter: (ctid = '(1,1)'::tid)
2796 -> Index Scan using t3_pkey on t3 b1t3
2797 Index Cond: (c1 = b1t1.c1)
2798 Filter: (ctid = '(1,1)'::tid)
2799 -> Bitmap Heap Scan on t4 b1t4
2800 Recheck Cond: (c1 = b1t1.c1)
2801 Filter: (ctid = '(1,1)'::tid)
2802 -> Bitmap Index Scan on t4_pkey
2803 Index Cond: (c1 = b1t1.c1)
2808 Join Filter: (b2t1.c1 = b2t3.c1)
2812 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2813 -> Tid Scan on t2 b2t2
2814 TID Cond: (ctid = '(1,1)'::tid)
2815 -> Bitmap Heap Scan on t1 b2t1
2816 Recheck Cond: (c1 = b2t2.c1)
2817 Filter: (ctid = '(1,1)'::tid)
2818 -> Bitmap Index Scan on t1_pkey
2819 Index Cond: (c1 = b2t2.c1)
2820 -> Seq Scan on t3 b2t3
2821 Filter: (ctid = '(1,1)'::tid)
2822 -> Index Scan using t4_pkey on t4 b2t4
2823 Index Cond: (c1 = b2t1.c1)
2824 Filter: (ctid = '(1,1)'::tid)
2828 Join Filter: (b3t1.c1 = b3t4.c1)
2833 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2834 -> Tid Scan on t3 b3t3
2835 TID Cond: (ctid = '(1,1)'::tid)
2836 -> Index Scan using t1_pkey on t1 b3t1
2837 Index Cond: (c1 = b3t3.c1)
2838 Filter: (ctid = '(1,1)'::tid)
2839 -> Bitmap Heap Scan on t2 b3t2
2840 Recheck Cond: (c1 = b3t1.c1)
2841 Filter: (ctid = '(1,1)'::tid)
2842 -> Bitmap Index Scan on t2_pkey
2843 Index Cond: (c1 = b3t1.c1)
2844 -> Seq Scan on t4 b3t4
2845 Filter: (ctid = '(1,1)'::tid)
2849 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2851 ----------------------------------
2853 Hash Cond: (v1t1.c1 = v1t1.c1)
2854 -> Seq Scan on t1 v1t1
2856 -> Seq Scan on t1 v1t1
2859 /*+BitmapScan(v1t1)*/
2860 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2869 ------------------------------------------
2871 -> Index Scan using t1_i1 on t1 v1t1
2872 -> Bitmap Heap Scan on t1 v1t1
2873 Recheck Cond: (c1 = v1t1.c1)
2874 -> Bitmap Index Scan on t1_i1
2875 Index Cond: (c1 = v1t1.c1)
2879 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2881 -----------------------------------
2883 Hash Cond: (v1t1.c1 = v1t1_.c1)
2884 -> Seq Scan on t1 v1t1
2886 -> Seq Scan on t1 v1t1_
2889 /*+SeqScan(v1t1)BitmapScan(v1t1_)*/
2890 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2900 ------------------------------------------
2902 -> Seq Scan on t1 v1t1
2903 -> Bitmap Heap Scan on t1 v1t1_
2904 Recheck Cond: (c1 = v1t1.c1)
2905 -> Bitmap Index Scan on t1_i1
2906 Index Cond: (c1 = v1t1.c1)
2910 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2912 ----------------------------------
2914 Hash Cond: (r4t1.c1 = r4t1.c1)
2915 -> Seq Scan on t1 r4t1
2917 -> Seq Scan on t1 r4t1
2920 /*+BitmapScan(r4t1)*/
2921 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2930 ------------------------------------------
2932 -> Index Scan using t1_i1 on t1 r4t1
2933 -> Bitmap Heap Scan on t1 r4t1
2934 Recheck Cond: (c1 = r4t1.c1)
2935 -> Bitmap Index Scan on t1_i1
2936 Index Cond: (c1 = r4t1.c1)
2940 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2942 ----------------------------------
2944 Hash Cond: (r4t1.c1 = r5t1.c1)
2945 -> Seq Scan on t1 r4t1
2947 -> Seq Scan on t1 r5t1
2950 /*+SeqScan(r4t1)BitmapScan(r5t1)*/
2951 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2961 ------------------------------------------
2963 -> Seq Scan on t1 r4t1
2964 -> Bitmap Heap Scan on t1 r5t1
2965 Recheck Cond: (c1 = r4t1.c1)
2966 -> Bitmap Index Scan on t1_i1
2967 Index Cond: (c1 = r4t1.c1)
2971 ---- No. S-2-4 VALUES clause
2974 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
2976 ---------------------------
2977 Values Scan on "*VALUES*"
2978 Filter: (column1 = 1)
2982 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
2991 ---------------------------
2992 Values Scan on "*VALUES*"
2993 Filter: (column1 = 1)
2996 /*+SeqScan(*VALUES*)*/
2997 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3006 ---------------------------
3007 Values Scan on "*VALUES*"
3008 Filter: (column1 = 1)
3012 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;
3014 ----------------------------------------------------------
3016 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
3017 -> Values Scan on "*VALUES*"
3018 -> Values Scan on "*VALUES*"
3022 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;
3023 INFO: hint syntax error at or near ""
3024 DETAIL: SeqScan hint accepts only one relation.
3033 ----------------------------------------------------------
3035 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
3036 -> Values Scan on "*VALUES*"
3037 -> Values Scan on "*VALUES*"
3040 /*+SeqScan(*VALUES*)*/
3041 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;
3050 ----------------------------------------------------------
3052 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
3053 -> Values Scan on "*VALUES*"
3054 -> Values Scan on "*VALUES*"
3058 ---- No. S-3-1 scan method hint
3061 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3063 ---------------------
3069 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3078 ---------------------
3084 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3086 ------------------------------
3087 Index Scan using t1_i1 on t1
3088 Index Cond: (c1 = 1)
3092 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3101 --------------------
3107 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3109 ------------------------------
3110 Index Scan using t1_i1 on t1
3111 Index Cond: (c1 = 1)
3115 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3124 ------------------------------
3125 Index Scan using t1_i1 on t1
3126 Index Cond: (c1 = 1)
3130 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3132 ---------------------
3138 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3147 ------------------------------
3148 Index Scan using t1_i1 on t1
3149 Index Cond: (c1 >= 1)
3153 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3155 ---------------------------------
3156 Bitmap Heap Scan on t1
3157 Recheck Cond: (c3 < 10)
3158 -> Bitmap Index Scan on t1_i
3159 Index Cond: (c3 < 10)
3163 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.c1 = 1;
3182 ------------------------------
3183 Index Scan using t1_i1 on t1
3184 Index Cond: (c1 = 1)
3188 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3197 ----------------------------------
3198 Bitmap Heap Scan on t1
3199 Recheck Cond: (c1 = 1)
3200 -> Bitmap Index Scan on t1_i1
3201 Index Cond: (c1 = 1)
3205 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3207 -----------------------------------
3209 TID Cond: (ctid = '(1,1)'::tid)
3214 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3223 -----------------------------------
3225 TID Cond: (ctid = '(1,1)'::tid)
3230 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3232 -------------------------------------------------------------
3233 Index Scan using t1_i1 on t1
3234 Index Cond: (c1 = 1)
3235 Filter: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3239 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3248 ---------------------------------------------------------------
3250 TID Cond: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3255 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3257 ---------------------
3263 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3272 ------------------------------
3273 Index Scan using t1_i1 on t1
3274 Index Cond: (c1 >= 1)
3278 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3280 ------------------------------
3281 Index Scan using t1_i1 on t1
3282 Index Cond: (c1 = 1)
3286 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3295 ------------------------------
3296 Index Scan using t1_i1 on t1
3297 Index Cond: (c1 = 1)
3301 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3303 ------------------------------
3304 Index Scan using t1_i1 on t1
3305 Index Cond: (c1 = 1)
3308 /*+NoIndexScan(t1)*/
3309 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3318 ----------------------------------
3319 Bitmap Heap Scan on t1
3320 Recheck Cond: (c1 = 1)
3321 -> Bitmap Index Scan on t1_i1
3322 Index Cond: (c1 = 1)
3326 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3328 ---------------------
3333 /*+NoIndexScan(t1)*/
3334 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3343 ---------------------
3349 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3351 ---------------------------------
3352 Bitmap Heap Scan on t1
3353 Recheck Cond: (c3 < 10)
3354 -> Bitmap Index Scan on t1_i
3355 Index Cond: (c3 < 10)
3358 /*+NoBitmapScan(t1)*/
3359 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3368 ---------------------
3374 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3376 ------------------------------
3377 Index Scan using t1_i1 on t1
3378 Index Cond: (c1 = 1)
3381 /*+NoBitmapScan(t1)*/
3382 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3391 ------------------------------
3392 Index Scan using t1_i1 on t1
3393 Index Cond: (c1 = 1)
3397 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3399 -----------------------------------
3401 TID Cond: (ctid = '(1,1)'::tid)
3406 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3415 ---------------------------------
3416 Index Scan using t1_i1 on t1
3417 Index Cond: (c1 = 1)
3418 Filter: (ctid = '(1,1)'::tid)
3422 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3424 ------------------------------
3425 Index Scan using t1_i1 on t1
3426 Index Cond: (c1 = 1)
3430 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3439 ------------------------------
3440 Index Scan using t1_i1 on t1
3441 Index Cond: (c1 = 1)
3445 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3447 -----------------------------------
3448 Index Only Scan using t1_i1 on t1
3449 Index Cond: (c1 = 1)
3452 /*+IndexOnlyScan(t1)*/
3453 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3462 -----------------------------------
3463 Index Only Scan using t1_i1 on t1
3464 Index Cond: (c1 = 1)
3468 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3470 ---------------------
3475 /*+IndexOnlyScan(t1)*/
3476 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3485 -----------------------------------
3486 Index Only Scan using t1_i1 on t1
3487 Index Cond: (c1 >= 1)
3491 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3493 -----------------------------------
3494 Index Only Scan using t1_i1 on t1
3495 Index Cond: (c1 = 1)
3498 /*+NoIndexOnlyScan(t1)*/
3499 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3508 ------------------------------
3509 Index Scan using t1_i1 on t1
3510 Index Cond: (c1 = 1)
3514 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3516 ---------------------
3521 /*+NoIndexOnlyScan(t1)*/
3522 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3531 ---------------------
3537 ---- No. S-3-3 index name specified
3539 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3541 -----------------------------------
3543 TID Cond: (ctid = '(1,1)'::tid)
3547 SET enable_tidscan TO off;
3548 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3550 ---------------------------------
3551 Index Scan using ti1_i2 on ti1
3552 Index Cond: (c2 = 1)
3553 Filter: (ctid = '(1,1)'::tid)
3556 SET enable_indexscan TO off;
3557 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3559 -----------------------------------
3560 Bitmap Heap Scan on ti1
3561 Recheck Cond: (c2 = 1)
3562 Filter: (ctid = '(1,1)'::tid)
3563 -> Bitmap Index Scan on ti1_i2
3564 Index Cond: (c2 = 1)
3567 RESET enable_tidscan;
3568 RESET enable_indexscan;
3569 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3571 ---------------------
3577 /*+IndexScan(ti1 ti1_i3)*/
3578 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3579 LOG: available indexes for IndexScan(ti1): ti1_i3
3582 IndexScan(ti1 ti1_i3)
3588 ---------------------------------
3589 Index Scan using ti1_i3 on ti1
3590 Index Cond: (c2 = 1)
3591 Filter: (ctid = '(1,1)'::tid)
3595 /*+IndexScan(ti1 ti1_i3 ti1_i2)*/
3596 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3597 LOG: available indexes for IndexScan(ti1): ti1_i3 ti1_i2
3600 IndexScan(ti1 ti1_i3 ti1_i2)
3606 ---------------------------------
3607 Index Scan using ti1_i2 on ti1
3608 Index Cond: (c2 = 1)
3609 Filter: (ctid = '(1,1)'::tid)
3613 /*+IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3614 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3615 LOG: available indexes for IndexScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3618 IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3624 ---------------------------------
3625 Index Scan using ti1_i2 on ti1
3626 Index Cond: (c2 = 1)
3627 Filter: (ctid = '(1,1)'::tid)
3631 /*+BitmapScan(ti1 ti1_i3)*/
3632 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3633 LOG: available indexes for BitmapScan(ti1): ti1_i3
3636 BitmapScan(ti1 ti1_i3)
3642 -----------------------------------
3643 Bitmap Heap Scan on ti1
3644 Recheck Cond: (c2 = 1)
3645 Filter: (ctid = '(1,1)'::tid)
3646 -> Bitmap Index Scan on ti1_i3
3647 Index Cond: (c2 = 1)
3651 /*+BitmapScan(ti1 ti1_i3 ti1_i2)*/
3652 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3653 LOG: available indexes for BitmapScan(ti1): ti1_i3 ti1_i2
3656 BitmapScan(ti1 ti1_i3 ti1_i2)
3662 -----------------------------------
3663 Bitmap Heap Scan on ti1
3664 Recheck Cond: (c2 = 1)
3665 Filter: (ctid = '(1,1)'::tid)
3666 -> Bitmap Index Scan on ti1_i2
3667 Index Cond: (c2 = 1)
3671 /*+BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3672 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3673 LOG: available indexes for BitmapScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3676 BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3682 -----------------------------------
3683 Bitmap Heap Scan on ti1
3684 Recheck Cond: (c2 = 1)
3685 Filter: (ctid = '(1,1)'::tid)
3686 -> Bitmap Index Scan on ti1_i2
3687 Index Cond: (c2 = 1)
3691 /*+IndexOnlyScan(ti1 ti1_i3)*/
3692 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3693 LOG: available indexes for IndexOnlyScan(ti1): ti1_i3
3696 IndexOnlyScan(ti1 ti1_i3)
3702 -------------------------------------
3703 Index Only Scan using ti1_i3 on ti1
3704 Index Cond: (c2 >= 1)
3708 /*+IndexOnlyScan(ti1 ti1_i3 ti1_i2)*/
3709 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3710 LOG: available indexes for IndexOnlyScan(ti1): ti1_i3 ti1_i2
3713 IndexOnlyScan(ti1 ti1_i3 ti1_i2)
3719 -------------------------------------
3720 Index Only Scan using ti1_i2 on ti1
3721 Index Cond: (c2 >= 1)
3725 /*+IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3726 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3727 LOG: available indexes for IndexOnlyScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3730 IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3736 -------------------------------------
3737 Index Only Scan using ti1_i1 on ti1
3738 Index Cond: (c2 >= 1)
3742 ---- No. S-3-4 index type
3746 Column | Type | Modifiers
3747 --------+---------+-----------
3748 c1 | integer | not null
3753 "ti1_pkey" PRIMARY KEY, btree (c1)
3754 "ti1_c2_key" UNIQUE CONSTRAINT, btree (c2)
3755 "ti1_uniq" UNIQUE, btree (c1)
3756 "ti1_btree" btree (c1)
3757 "ti1_expr" btree ((c1 < 100))
3759 "ti1_gist" gist (c1)
3760 "ti1_hash" hash (c1)
3762 "ti1_i2" btree (c2, c4)
3763 "ti1_i3" btree (c2, c4, c4)
3764 "ti1_i4" btree (c2, c4, c4, c4)
3765 "ti1_multi" btree (c1, c2, c3, c4)
3766 "ti1_pred" btree (lower(c4))
3767 "ti1_ts" gin (to_tsvector('english'::regconfig, c4))
3769 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)';
3771 -----------------------------------------------------------------------------------------------------------------------------------------
3773 TID Cond: (ctid = '(1,1)'::tid)
3774 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3778 /*+IndexScan(ti1 ti1_btree)*/
3779 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)';
3780 LOG: available indexes for IndexScan(ti1): ti1_btree
3783 IndexScan(ti1 ti1_btree)
3789 ----------------------------------------------------------------------------------------------------------------------------------------------------
3790 Index Scan using ti1_btree on ti1
3791 Index Cond: (c1 < 100)
3792 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3796 /*+IndexScan(ti1 ti1_hash)*/
3797 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)';
3798 LOG: available indexes for IndexScan(ti1): ti1_hash
3801 IndexScan(ti1 ti1_hash)
3807 ----------------------------------------------------------------------------------------------------------------------------------------------------
3808 Index Scan using ti1_hash on ti1
3809 Index Cond: (c1 = 100)
3810 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3814 /*+IndexScan(ti1 ti1_gist)*/
3815 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)';
3816 LOG: available indexes for IndexScan(ti1): ti1_gist
3819 IndexScan(ti1 ti1_gist)
3825 ----------------------------------------------------------------------------------------------------------------------------------------------------
3826 Index Scan using ti1_gist on ti1
3827 Index Cond: (c1 < 100)
3828 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3832 /*+IndexScan(ti1 ti1_gin)*/
3833 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)';
3834 LOG: available indexes for IndexScan(ti1): ti1_gin
3837 IndexScan(ti1 ti1_gin)
3843 -----------------------------------------------------------------------------------------------------------------------------------------
3845 TID Cond: (ctid = '(1,1)'::tid)
3846 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3850 /*+IndexScan(ti1 ti1_expr)*/
3851 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)';
3852 LOG: available indexes for IndexScan(ti1): ti1_expr
3855 IndexScan(ti1 ti1_expr)
3861 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
3862 Index Scan using ti1_expr on ti1
3863 Index Cond: ((c1 < 100) = true)
3864 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))
3868 /*+IndexScan(ti1 ti1_pred)*/
3869 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)';
3870 LOG: available indexes for IndexScan(ti1): ti1_pred
3873 IndexScan(ti1 ti1_pred)
3879 ---------------------------------------------------------------------------------------------------------------------------------------
3880 Index Scan using ti1_pred on ti1
3881 Index Cond: (lower(c4) = '1'::text)
3882 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3886 /*+IndexScan(ti1 ti1_uniq)*/
3887 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)';
3888 LOG: available indexes for IndexScan(ti1): ti1_uniq
3891 IndexScan(ti1 ti1_uniq)
3897 ----------------------------------------------------------------------------------------------------------------------------------------------------
3898 Index Scan using ti1_uniq on ti1
3899 Index Cond: (c1 < 100)
3900 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3904 /*+IndexScan(ti1 ti1_multi)*/
3905 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)';
3906 LOG: available indexes for IndexScan(ti1): ti1_multi
3909 IndexScan(ti1 ti1_multi)
3915 ---------------------------------------------------------------------------------------------------------------------------------------
3916 Index Scan using ti1_multi on ti1
3917 Index Cond: ((c1 < 100) AND (c2 = 1))
3918 Filter: ((ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3922 /*+IndexScan(ti1 ti1_ts)*/
3923 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)';
3924 LOG: available indexes for IndexScan(ti1): ti1_ts
3927 IndexScan(ti1 ti1_ts)
3933 -----------------------------------------------------------------------------------------------------------------------------------------
3935 TID Cond: (ctid = '(1,1)'::tid)
3936 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3940 /*+IndexScan(ti1 ti1_pkey)*/
3941 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)';
3942 LOG: available indexes for IndexScan(ti1): ti1_pkey
3945 IndexScan(ti1 ti1_pkey)
3951 ----------------------------------------------------------------------------------------------------------------------------------------------------
3952 Index Scan using ti1_pkey on ti1
3953 Index Cond: (c1 < 100)
3954 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3958 /*+IndexScan(ti1 ti1_c2_key)*/
3959 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)';
3960 LOG: available indexes for IndexScan(ti1): ti1_c2_key
3963 IndexScan(ti1 ti1_c2_key)
3969 ------------------------------------------------------------------------------------------------------------------------------------------------------
3970 Index Scan using ti1_c2_key on ti1
3971 Index Cond: (c2 = 1)
3972 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3976 /*+BitmapScan(ti1 ti1_btree)*/
3977 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)';
3978 LOG: available indexes for BitmapScan(ti1): ti1_btree
3981 BitmapScan(ti1 ti1_btree)
3987 ----------------------------------------------------------------------------------------------------------------------------------------------------
3988 Bitmap Heap Scan on ti1
3989 Recheck Cond: (c1 < 100)
3990 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3991 -> Bitmap Index Scan on ti1_btree
3992 Index Cond: (c1 < 100)
3996 /*+BitmapScan(ti1 ti1_hash)*/
3997 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)';
3998 LOG: available indexes for BitmapScan(ti1): ti1_hash
4001 BitmapScan(ti1 ti1_hash)
4007 ----------------------------------------------------------------------------------------------------------------------------------------------------
4008 Bitmap Heap Scan on ti1
4009 Recheck Cond: (c1 = 100)
4010 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4011 -> Bitmap Index Scan on ti1_hash
4012 Index Cond: (c1 = 100)
4016 /*+BitmapScan(ti1 ti1_gist)*/
4017 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)';
4018 LOG: available indexes for BitmapScan(ti1): ti1_gist
4021 BitmapScan(ti1 ti1_gist)
4027 ----------------------------------------------------------------------------------------------------------------------------------------------------
4028 Bitmap Heap Scan on ti1
4029 Recheck Cond: (c1 < 100)
4030 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4031 -> Bitmap Index Scan on ti1_gist
4032 Index Cond: (c1 < 100)
4036 /*+BitmapScan(ti1 ti1_gin)*/
4037 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)';
4038 LOG: available indexes for BitmapScan(ti1): ti1_gin
4041 BitmapScan(ti1 ti1_gin)
4047 ----------------------------------------------------------------------------------------------------------------------------------------------------
4048 Bitmap Heap Scan on ti1
4049 Recheck Cond: (c1 < 100)
4050 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4051 -> Bitmap Index Scan on ti1_gin
4052 Index Cond: (c1 < 100)
4056 /*+BitmapScan(ti1 ti1_expr)*/
4057 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)';
4058 LOG: available indexes for BitmapScan(ti1): ti1_expr
4061 BitmapScan(ti1 ti1_expr)
4067 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
4068 Bitmap Heap Scan on ti1
4069 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))
4070 -> Bitmap Index Scan on ti1_expr
4071 Index Cond: ((c1 < 100) = true)
4075 /*+BitmapScan(ti1 ti1_pred)*/
4076 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)';
4077 LOG: available indexes for BitmapScan(ti1): ti1_pred
4080 BitmapScan(ti1 ti1_pred)
4086 ---------------------------------------------------------------------------------------------------------------------------------------
4087 Bitmap Heap Scan on ti1
4088 Recheck Cond: (lower(c4) = '1'::text)
4089 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4090 -> Bitmap Index Scan on ti1_pred
4091 Index Cond: (lower(c4) = '1'::text)
4095 /*+BitmapScan(ti1 ti1_uniq)*/
4096 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)';
4097 LOG: available indexes for BitmapScan(ti1): ti1_uniq
4100 BitmapScan(ti1 ti1_uniq)
4106 ----------------------------------------------------------------------------------------------------------------------------------------------------
4107 Bitmap Heap Scan on ti1
4108 Recheck Cond: (c1 < 100)
4109 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4110 -> Bitmap Index Scan on ti1_uniq
4111 Index Cond: (c1 < 100)
4115 /*+BitmapScan(ti1 ti1_multi)*/
4116 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)';
4117 LOG: available indexes for BitmapScan(ti1): ti1_multi
4120 BitmapScan(ti1 ti1_multi)
4126 ---------------------------------------------------------------------------------------------------------------------------------------
4127 Bitmap Heap Scan on ti1
4128 Recheck Cond: ((c1 < 100) AND (c2 = 1))
4129 Filter: ((ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4130 -> Bitmap Index Scan on ti1_multi
4131 Index Cond: ((c1 < 100) AND (c2 = 1))
4135 /*+BitmapScan(ti1 ti1_ts)*/
4136 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)';
4137 LOG: available indexes for BitmapScan(ti1): ti1_ts
4140 BitmapScan(ti1 ti1_ts)
4146 -------------------------------------------------------------------------------------------
4147 Bitmap Heap Scan on ti1
4148 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4149 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text))
4150 -> Bitmap Index Scan on ti1_ts
4151 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4155 /*+BitmapScan(ti1 ti1_pkey)*/
4156 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)';
4157 LOG: available indexes for BitmapScan(ti1): ti1_pkey
4160 BitmapScan(ti1 ti1_pkey)
4166 ----------------------------------------------------------------------------------------------------------------------------------------------------
4167 Bitmap Heap Scan on ti1
4168 Recheck Cond: (c1 < 100)
4169 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4170 -> Bitmap Index Scan on ti1_pkey
4171 Index Cond: (c1 < 100)
4175 /*+BitmapScan(ti1 ti1_c2_key)*/
4176 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)';
4177 LOG: available indexes for BitmapScan(ti1): ti1_c2_key
4180 BitmapScan(ti1 ti1_c2_key)
4186 ------------------------------------------------------------------------------------------------------------------------------------------------------
4187 Bitmap Heap Scan on ti1
4188 Recheck Cond: (c2 = 1)
4189 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4190 -> Bitmap Index Scan on ti1_c2_key
4191 Index Cond: (c2 = 1)
4195 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4197 ---------------------
4202 /*+IndexOnlyScan(ti1 ti1_btree)*/
4203 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4204 LOG: available indexes for IndexOnlyScan(ti1): ti1_btree
4207 IndexOnlyScan(ti1 ti1_btree)
4213 ----------------------------------------
4214 Index Only Scan using ti1_btree on ti1
4215 Index Cond: (c1 >= 1)
4219 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4221 ---------------------------------------
4222 Index Only Scan using ti1_uniq on ti1
4223 Index Cond: (c1 = 1)
4226 /*+IndexOnlyScan(ti1 ti1_hash)*/
4227 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4228 LOG: available indexes for IndexOnlyScan(ti1): ti1_hash
4231 IndexOnlyScan(ti1 ti1_hash)
4237 ----------------------------------
4238 Index Scan using ti1_hash on ti1
4239 Index Cond: (c1 = 1)
4243 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4245 ---------------------------------------
4246 Index Only Scan using ti1_uniq on ti1
4247 Index Cond: (c1 < 1)
4250 /*+IndexOnlyScan(ti1 ti1_gist)*/
4251 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4252 LOG: available indexes for IndexOnlyScan(ti1): ti1_gist
4255 IndexOnlyScan(ti1 ti1_gist)
4261 ----------------------------------
4262 Index Scan using ti1_gist on ti1
4263 Index Cond: (c1 < 1)
4267 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4269 ---------------------------------------
4270 Index Only Scan using ti1_uniq on ti1
4271 Index Cond: (c1 = 1)
4274 /*+IndexOnlyScan(ti1 ti1_gin)*/
4275 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4276 LOG: available indexes for IndexOnlyScan(ti1): ti1_gin
4279 IndexOnlyScan(ti1 ti1_gin)
4285 --------------------
4291 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4293 ---------------------------------------
4294 Index Only Scan using ti1_uniq on ti1
4295 Index Cond: (c1 < 100)
4298 /*+IndexOnlyScan(ti1 ti1_expr)*/
4299 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4300 LOG: available indexes for IndexOnlyScan(ti1): ti1_expr
4303 IndexOnlyScan(ti1 ti1_expr)
4309 -----------------------------------
4310 Index Scan using ti1_expr on ti1
4311 Index Cond: ((c1 < 100) = true)
4316 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4318 ------------------------------------
4320 Filter: (lower(c4) >= '1'::text)
4323 /*+IndexOnlyScan(ti1 ti1_pred)*/
4324 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4325 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
4328 IndexOnlyScan(ti1 ti1_pred)
4334 ----------------------------------------
4335 Index Scan using ti1_pred on ti1
4336 Index Cond: (lower(c4) >= '1'::text)
4340 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4342 ---------------------
4347 /*+IndexOnlyScan(ti1 ti1_uniq)*/
4348 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4349 LOG: available indexes for IndexOnlyScan(ti1): ti1_uniq
4352 IndexOnlyScan(ti1 ti1_uniq)
4358 ---------------------------------------
4359 Index Only Scan using ti1_uniq on ti1
4360 Index Cond: (c1 >= 1)
4364 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4366 ---------------------
4371 /*+IndexOnlyScan(ti1 ti1_multi)*/
4372 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4373 LOG: available indexes for IndexOnlyScan(ti1): ti1_multi
4376 IndexOnlyScan(ti1 ti1_multi)
4382 ----------------------------------------
4383 Index Only Scan using ti1_multi on ti1
4384 Index Cond: (c1 >= 1)
4388 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4390 -----------------------------------------------------------------------------------------
4391 Bitmap Heap Scan on ti1
4392 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4393 -> Bitmap Index Scan on ti1_ts
4394 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4397 /*+IndexOnlyScan(ti1 ti1_ts)*/
4398 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4399 LOG: available indexes for IndexOnlyScan(ti1): ti1_ts
4402 IndexOnlyScan(ti1 ti1_ts)
4408 -------------------------------------------------------------------------------
4410 Filter: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4414 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4416 ---------------------
4421 /*+IndexOnlyScan(ti1 ti1_pkey)*/
4422 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4423 LOG: available indexes for IndexOnlyScan(ti1): ti1_pkey
4426 IndexOnlyScan(ti1 ti1_pkey)
4432 ---------------------------------------
4433 Index Only Scan using ti1_pkey on ti1
4434 Index Cond: (c1 >= 1)
4438 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4440 ---------------------
4445 /*+IndexOnlyScan(ti1 ti1_c2_key)*/
4446 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4447 LOG: available indexes for IndexOnlyScan(ti1): ti1_c2_key
4450 IndexOnlyScan(ti1 ti1_c2_key)
4456 -----------------------------------------
4457 Index Only Scan using ti1_c2_key on ti1
4458 Index Cond: (c2 >= 1)
4462 ---- No. S-3-5 not used index
4465 /*+IndexScan(ti1 ti1_pred)*/
4466 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4467 LOG: available indexes for IndexScan(ti1): ti1_pred
4470 IndexScan(ti1 ti1_pred)
4476 ------------------------------------------------------------------------
4477 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4482 /*+BitmapScan(ti1 ti1_pred)*/
4483 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4484 LOG: available indexes for BitmapScan(ti1): ti1_pred
4487 BitmapScan(ti1 ti1_pred)
4493 ------------------------------------------------------------------------
4494 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4499 /*+IndexOnlyScan(ti1 ti1_pred)*/
4500 EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
4501 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
4504 IndexOnlyScan(ti1 ti1_pred)
4510 -----------------------------------------------------------------------
4511 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=4)
4516 /*+IndexScan(ti1 not_exist)*/
4517 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4518 LOG: available indexes for IndexScan(ti1):
4521 IndexScan(ti1 not_exist)
4527 ------------------------------------------------------------------------
4528 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4533 /*+BitmapScan(ti1 not_exist)*/
4534 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4535 LOG: available indexes for BitmapScan(ti1):
4538 BitmapScan(ti1 not_exist)
4544 ------------------------------------------------------------------------
4545 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4550 /*+IndexOnlyScan(ti1 not_exist)*/
4551 EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
4552 LOG: available indexes for IndexOnlyScan(ti1):
4555 IndexOnlyScan(ti1 not_exist)
4561 -----------------------------------------------------------------------
4562 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=4)
4567 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
4569 ------------------------------
4570 Index Scan using t1_i1 on t1
4571 Index Cond: (c1 = 1)
4575 EXPLAIN (COSTS true) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
4584 -----------------------------------------------------------------------
4585 Seq Scan on t1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4590 ---- No. S-3-6 query structure
4592 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4594 -----------------------------------------------
4596 Hash Cond: (t2.c1 = t1.c1)
4600 TID Cond: (ctid = '(1,1)'::tid)
4605 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE c1 = 100;
4614 ----------------------
4620 /*+SeqScan(t1)BitmapScan(t2)*/
4621 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4631 ----------------------------------------
4634 Filter: (ctid = '(1,1)'::tid)
4635 -> Bitmap Heap Scan on t2
4636 Recheck Cond: (c1 = t1.c1)
4637 -> Bitmap Index Scan on t2_i1
4638 Index Cond: (c1 = t1.c1)
4643 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4652 ---------------------------------------------
4654 Hash Cond: (t2.c1 = t1.c1)
4658 Filter: (ctid = '(1,1)'::tid)
4662 ---- No. S-3-7 query structure
4665 EXPLAIN (COSTS false)
4667 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4668 SELECT max(b3t1.c1), (
4669 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4670 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4671 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4673 ---------------------------------------------------------------------
4675 InitPlan 2 (returns $1)
4677 InitPlan 1 (returns $0)
4679 -> Index Only Scan using t1_i1 on t1 b2t1
4680 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4681 InitPlan 4 (returns $3)
4683 InitPlan 3 (returns $2)
4685 -> Index Only Scan using t1_i1 on t1 b4t1
4686 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4687 InitPlan 5 (returns $4)
4689 -> Index Only Scan using t1_i1 on t1 b3t1
4690 Index Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4693 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4695 EXPLAIN (COSTS false)
4697 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4698 SELECT max(b3t1.c1), (
4699 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4700 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4701 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4702 LOG: available indexes for IndexScan(b2t1): t1_pkey
4703 LOG: available indexes for IndexScan(b2t1): t1_pkey
4704 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4705 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4708 IndexScan(b2t1 t1_pkey)
4709 BitmapScan(b3t1 t1_pkey)
4717 ---------------------------------------------------------------------
4719 InitPlan 2 (returns $1)
4721 InitPlan 1 (returns $0)
4723 -> Index Scan using t1_pkey on t1 b2t1
4724 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4725 InitPlan 4 (returns $3)
4727 InitPlan 3 (returns $2)
4729 -> Seq Scan on t1 b4t1
4730 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4731 InitPlan 5 (returns $4)
4733 -> Bitmap Heap Scan on t1 b3t1
4734 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4735 -> Bitmap Index Scan on t1_pkey
4736 Index Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4740 EXPLAIN (COSTS false)
4742 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4743 SELECT max(b3t1.c1), (
4744 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4745 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4746 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4748 ------------------------------------------------------------
4753 -> Index Only Scan using t1_i1 on t1 b1t1
4754 Index Cond: (c1 = 1)
4755 -> Seq Scan on t2 b1t2
4757 InitPlan 2 (returns $1)
4760 -> Index Only Scan using t1_i1 on t1 b2t1
4761 Index Cond: (c1 = 1)
4762 -> Seq Scan on t2 b2t2
4764 InitPlan 3 (returns $2)
4767 -> Index Only Scan using t1_i1 on t1 b4t1
4768 Index Cond: (c1 = 1)
4769 -> Seq Scan on t2 b4t2
4773 -> Index Only Scan using t1_i1 on t1 b3t1
4774 Index Cond: (c1 = $2)
4775 -> Seq Scan on t2 b3t2
4781 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4782 TidScan(b1t2)SeqScan(b2t2)IndexScan(b3t2 t2_pkey)BitmapScan(b4t2 t2_pkey)
4784 EXPLAIN (COSTS false)
4786 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4787 SELECT max(b3t1.c1), (
4788 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4789 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4790 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4791 LOG: available indexes for IndexScan(b2t1): t1_pkey
4792 LOG: available indexes for BitmapScan(b4t2): t2_pkey
4793 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4794 LOG: available indexes for IndexScan(b3t2): t2_pkey
4799 IndexScan(b2t1 t1_pkey)
4801 BitmapScan(b3t1 t1_pkey)
4802 IndexScan(b3t2 t2_pkey)
4804 BitmapScan(b4t2 t2_pkey)
4810 ---------------------------------------------------------
4815 -> Seq Scan on t1 b1t1
4817 -> Seq Scan on t2 b1t2
4819 InitPlan 2 (returns $1)
4822 -> Index Scan using t1_pkey on t1 b2t1
4823 Index Cond: (c1 = 1)
4824 -> Seq Scan on t2 b2t2
4826 InitPlan 3 (returns $2)
4829 -> Seq Scan on t1 b4t1
4831 -> Bitmap Heap Scan on t2 b4t2
4832 Recheck Cond: (c1 = 1)
4833 -> Bitmap Index Scan on t2_pkey
4834 Index Cond: (c1 = 1)
4837 -> Bitmap Heap Scan on t1 b3t1
4838 Recheck Cond: (c1 = $2)
4839 -> Bitmap Index Scan on t1_pkey
4840 Index Cond: (c1 = $2)
4841 -> Index Scan using t2_pkey on t2 b3t2
4842 Index Cond: (c1 = $2)
4848 EXPLAIN (COSTS false)
4850 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4851 SELECT max(b3t1.c1), (
4852 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4853 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4854 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4856 ---------------------------------------------------------------------
4861 -> Index Only Scan using t1_i1 on t1 b1t1
4862 Index Cond: (c1 = 1)
4863 -> Seq Scan on t2 b1t2
4865 InitPlan 3 (returns $2)
4867 InitPlan 2 (returns $1)
4869 -> Index Only Scan using t1_i1 on t1 b2t1
4870 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4871 InitPlan 5 (returns $4)
4873 InitPlan 4 (returns $3)
4875 -> Index Only Scan using t1_i1 on t1 b4t1
4876 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4879 -> Index Only Scan using t1_i1 on t1 b3t1
4880 Index Cond: (c1 = $4)
4881 -> Seq Scan on t2 b3t2
4887 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4888 TidScan(b1t2)IndexScan(b3t2 t2_pkey)
4890 EXPLAIN (COSTS false)
4892 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4893 SELECT max(b3t1.c1), (
4894 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4895 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4896 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4897 LOG: available indexes for IndexScan(b2t1): t1_pkey
4898 LOG: available indexes for IndexScan(b2t1): t1_pkey
4899 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4900 LOG: available indexes for IndexScan(b3t2): t2_pkey
4905 IndexScan(b2t1 t1_pkey)
4906 BitmapScan(b3t1 t1_pkey)
4907 IndexScan(b3t2 t2_pkey)
4914 ---------------------------------------------------------------------
4919 -> Seq Scan on t1 b1t1
4921 -> Seq Scan on t2 b1t2
4923 InitPlan 3 (returns $2)
4925 InitPlan 2 (returns $1)
4927 -> Index Scan using t1_pkey on t1 b2t1
4928 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4929 InitPlan 5 (returns $4)
4931 InitPlan 4 (returns $3)
4933 -> Seq Scan on t1 b4t1
4934 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4937 -> Bitmap Heap Scan on t1 b3t1
4938 Recheck Cond: (c1 = $4)
4939 -> Bitmap Index Scan on t1_pkey
4940 Index Cond: (c1 = $4)
4941 -> Index Scan using t2_pkey on t2 b3t2
4942 Index Cond: (c1 = $4)
4948 ---- No. S-3-8 inheritance table select type
4951 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4953 --------------------
4959 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4968 -----------------------------
4969 Index Scan using p1_i on p1
4970 Index Cond: (c1 = 1)
4974 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4976 --------------------------
4985 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4994 ---------------------------------------
4996 -> Index Scan using p1_i on p1
4997 Index Cond: (c1 = 1)
4998 -> Index Scan using p1c1_i on p1c1
4999 Index Cond: (c1 = 1)
5003 ---- No. S-3-9 inheritance table number
5006 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5008 --------------------------
5017 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5026 ---------------------------------------
5028 -> Index Scan using p1_i on p1
5029 Index Cond: (c1 = 1)
5030 -> Index Scan using p1c1_i on p1c1
5031 Index Cond: (c1 = 1)
5035 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5037 --------------------------
5043 -> Seq Scan on p2c1c1
5048 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5057 -------------------------------------------
5059 -> Index Scan using p2_i on p2
5060 Index Cond: (c1 = 1)
5061 -> Index Scan using p2c1_i on p2c1
5062 Index Cond: (c1 = 1)
5063 -> Index Scan using p2c1c1_i on p2c1c1
5064 Index Cond: (c1 = 1)
5068 ---- No. S-3-10 inheritance table specified table
5070 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5072 --------------------------
5078 -> Seq Scan on p2c1c1
5084 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5093 -------------------------------------------
5095 -> Index Scan using p2_i on p2
5096 Index Cond: (c1 = 1)
5097 -> Index Scan using p2c1_i on p2c1
5098 Index Cond: (c1 = 1)
5099 -> Index Scan using p2c1c1_i on p2c1c1
5100 Index Cond: (c1 = 1)
5104 /*+IndexScan(p2c1)*/
5105 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5114 --------------------------
5120 -> Seq Scan on p2c1c1
5125 EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5127 ----------------------------------------------------------
5128 Append (cost=0.00..2.75 rows=4 width=10)
5129 -> Seq Scan on p1 (cost=0.00..0.00 rows=1 width=32)
5130 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5131 -> Seq Scan on p1c1 p1 (cost=0.00..2.75 rows=3 width=2)
5132 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5135 /*+IndexScan(p1 p1_parent)*/
5136 EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5137 LOG: available indexes for IndexScan(p1): p1_parent
5138 LOG: available indexes for IndexScan(p1c1): p1c1_c4_expr_idx
5139 LOG: available indexes for IndexScan(p1c2): p1c2_c4_expr_idx
5140 LOG: available indexes for IndexScan(p1c3): p1c3_c4_expr_idx
5143 IndexScan(p1 p1_parent)
5149 ------------------------------------------------------------------------------------
5150 Append (cost=0.12..20.48 rows=4 width=10)
5151 -> Index Scan using p1_parent on p1 (cost=0.12..8.15 rows=1 width=32)
5152 Filter: ((c2 * 2) < 100)
5153 -> Index Scan using p1c1_c4_expr_idx on p1c1 p1 (cost=0.14..12.34 rows=3 width=2)
5154 Filter: ((c2 * 2) < 100)
5158 /*+IndexScan(p1 p1_i2)*/
5159 EXPLAIN SELECT c2 FROM s1.p1 WHERE c2 = 1;
5160 LOG: available indexes for IndexScan(p1): p1_i2
5161 LOG: available indexes for IndexScan(p1c1):
5162 LOG: available indexes for IndexScan(p1c2):
5163 LOG: available indexes for IndexScan(p1c3):
5172 ------------------------------------------------------------------------------
5173 Append (cost=0.12..30000000014.89 rows=4 width=4)
5174 -> Index Scan using p1_i2 on p1 (cost=0.12..8.14 rows=1 width=4)
5175 Index Cond: (c2 = 1)
5176 -> Seq Scan on p1c1 (cost=10000000000.00..10000000002.25 rows=1 width=4)
5178 -> Seq Scan on p1c2 p1 (cost=10000000000.00..10000000002.25 rows=1 width=4)
5180 -> Seq Scan on p1c3 p1 (cost=10000000000.00..10000000002.25 rows=1 width=4)
5185 /*+IndexScan(p2 p2c1_pkey)*/
5186 EXPLAIN (COSTS true) SELECT * FROM s1.p2 WHERE c1 = 1;
5187 LOG: available indexes for IndexScan(p2):
5188 LOG: available indexes for IndexScan(p2c1): p2c1_pkey
5189 LOG: available indexes for IndexScan(p2c2):
5190 LOG: available indexes for IndexScan(p2c3):
5191 LOG: available indexes for IndexScan(p2c1c1):
5192 LOG: available indexes for IndexScan(p2c1c2):
5193 LOG: available indexes for IndexScan(p2c2c1):
5194 LOG: available indexes for IndexScan(p2c2c2):
5195 LOG: available indexes for IndexScan(p2c3c1):
5196 LOG: available indexes for IndexScan(p2c3c2):
5199 IndexScan(p2 p2c1_pkey)
5205 ---------------------------------------------------------------------------------
5206 Append (cost=10000000000.00..20000000009.77 rows=3 width=34)
5207 -> Seq Scan on p2 (cost=10000000000.00..10000000000.00 rows=1 width=44)
5209 -> Index Scan using p2c1_pkey on p2c1 p2 (cost=0.12..8.14 rows=1 width=44)
5210 Index Cond: (c1 = 1)
5211 -> Seq Scan on p2c1c1 p2 (cost=10000000000.00..10000000001.62 rows=1 width=14)
5216 ---- No. S-3-11 specified same table
5219 /*+IndexScan(ti1) BitmapScan(ti1)*/
5220 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5221 INFO: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5222 DETAIL: Conflict scan method hint.
5232 -------------------------------------
5233 Bitmap Heap Scan on ti1
5234 Recheck Cond: (c1 = 1)
5235 Filter: (ctid = '(1,1)'::tid)
5236 -> Bitmap Index Scan on ti1_uniq
5237 Index Cond: (c1 = 1)
5241 /*+IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5242 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5243 INFO: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5244 DETAIL: Conflict scan method hint.
5245 LOG: available indexes for BitmapScan(ti1): ti1_btree
5248 BitmapScan(ti1 ti1_btree)
5251 IndexScan(ti1 ti1_pkey)
5255 --------------------------------------
5256 Bitmap Heap Scan on ti1
5257 Recheck Cond: (c1 = 1)
5258 Filter: (ctid = '(1,1)'::tid)
5259 -> Bitmap Index Scan on ti1_btree
5260 Index Cond: (c1 = 1)
5264 /*+BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)*/
5265 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5266 INFO: hint syntax error at or near "BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)"
5267 DETAIL: Conflict scan method hint.
5268 INFO: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5269 DETAIL: Conflict scan method hint.
5280 -------------------------------------
5281 Bitmap Heap Scan on ti1
5282 Recheck Cond: (c1 = 1)
5283 Filter: (ctid = '(1,1)'::tid)
5284 -> Bitmap Index Scan on ti1_uniq
5285 Index Cond: (c1 = 1)
5289 /*+BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5290 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5291 INFO: hint syntax error at or near "BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5292 DETAIL: Conflict scan method hint.
5293 INFO: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5294 DETAIL: Conflict scan method hint.
5295 LOG: available indexes for BitmapScan(ti1): ti1_btree
5298 BitmapScan(ti1 ti1_btree)
5301 BitmapScan(ti1 ti1_hash)
5302 IndexScan(ti1 ti1_pkey)
5306 --------------------------------------
5307 Bitmap Heap Scan on ti1
5308 Recheck Cond: (c1 = 1)
5309 Filter: (ctid = '(1,1)'::tid)
5310 -> Bitmap Index Scan on ti1_btree
5311 Index Cond: (c1 = 1)
5315 ---- No. S-3-12 message output
5319 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5328 ------------------------------------------------
5330 Filter: ((c1 = 1) AND (ctid = '(1,1)'::tid))
5334 /*+SeqScan(ti1 ti1_pkey)*/
5335 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5336 INFO: hint syntax error at or near ""
5337 DETAIL: SeqScan hint accepts only one relation.
5343 SeqScan(ti1 ti1_pkey)
5346 -----------------------------------
5348 TID Cond: (ctid = '(1,1)'::tid)
5353 /*+SeqScan(ti1 ti1_pkey ti1_btree)*/
5354 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5355 INFO: hint syntax error at or near ""
5356 DETAIL: SeqScan hint accepts only one relation.
5362 SeqScan(ti1 ti1_pkey ti1_btree)
5365 -----------------------------------
5367 TID Cond: (ctid = '(1,1)'::tid)
5373 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5382 ----------------------------------
5383 Index Scan using ti1_uniq on ti1
5384 Index Cond: (c1 = 1)
5385 Filter: (ctid = '(1,1)'::tid)
5389 /*+IndexScan(ti1 ti1_pkey)*/
5390 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5391 LOG: available indexes for IndexScan(ti1): ti1_pkey
5394 IndexScan(ti1 ti1_pkey)
5400 ----------------------------------
5401 Index Scan using ti1_pkey on ti1
5402 Index Cond: (c1 = 1)
5403 Filter: (ctid = '(1,1)'::tid)
5407 /*+IndexScan(ti1 ti1_pkey ti1_btree)*/
5408 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5409 LOG: available indexes for IndexScan(ti1): ti1_btree ti1_pkey
5412 IndexScan(ti1 ti1_pkey ti1_btree)
5418 -----------------------------------
5419 Index Scan using ti1_btree on ti1
5420 Index Cond: (c1 = 1)
5421 Filter: (ctid = '(1,1)'::tid)
5425 /*+BitmapScan(ti1)*/
5426 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5435 -------------------------------------
5436 Bitmap Heap Scan on ti1
5437 Recheck Cond: (c1 = 1)
5438 Filter: (ctid = '(1,1)'::tid)
5439 -> Bitmap Index Scan on ti1_uniq
5440 Index Cond: (c1 = 1)
5444 /*+BitmapScan(ti1 ti1_pkey)*/
5445 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5446 LOG: available indexes for BitmapScan(ti1): ti1_pkey
5449 BitmapScan(ti1 ti1_pkey)
5455 -------------------------------------
5456 Bitmap Heap Scan on ti1
5457 Recheck Cond: (c1 = 1)
5458 Filter: (ctid = '(1,1)'::tid)
5459 -> Bitmap Index Scan on ti1_pkey
5460 Index Cond: (c1 = 1)
5464 /*+BitmapScan(ti1 ti1_pkey ti1_btree)*/
5465 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5466 LOG: available indexes for BitmapScan(ti1): ti1_btree ti1_pkey
5469 BitmapScan(ti1 ti1_pkey ti1_btree)
5475 --------------------------------------
5476 Bitmap Heap Scan on ti1
5477 Recheck Cond: (c1 = 1)
5478 Filter: (ctid = '(1,1)'::tid)
5479 -> Bitmap Index Scan on ti1_btree
5480 Index Cond: (c1 = 1)
5485 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5494 -----------------------------------
5496 TID Cond: (ctid = '(1,1)'::tid)
5501 /*+TidScan(ti1 ti1_pkey)*/
5502 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5503 INFO: hint syntax error at or near ""
5504 DETAIL: TidScan hint accepts only one relation.
5510 TidScan(ti1 ti1_pkey)
5513 -----------------------------------
5515 TID Cond: (ctid = '(1,1)'::tid)
5520 /*+TidScan(ti1 ti1_pkey ti1_btree)*/
5521 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5522 INFO: hint syntax error at or near ""
5523 DETAIL: TidScan hint accepts only one relation.
5529 TidScan(ti1 ti1_pkey ti1_btree)
5532 -----------------------------------
5534 TID Cond: (ctid = '(1,1)'::tid)
5540 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5549 -----------------------------------
5551 TID Cond: (ctid = '(1,1)'::tid)
5556 /*+NoSeqScan(ti1 ti1_pkey)*/
5557 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5558 INFO: hint syntax error at or near ""
5559 DETAIL: NoSeqScan hint accepts only one relation.
5565 NoSeqScan(ti1 ti1_pkey)
5568 -----------------------------------
5570 TID Cond: (ctid = '(1,1)'::tid)
5575 /*+NoSeqScan(ti1 ti1_pkey ti1_btree)*/
5576 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5577 INFO: hint syntax error at or near ""
5578 DETAIL: NoSeqScan hint accepts only one relation.
5584 NoSeqScan(ti1 ti1_pkey ti1_btree)
5587 -----------------------------------
5589 TID Cond: (ctid = '(1,1)'::tid)
5594 /*+NoIndexScan(ti1)*/
5595 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5604 -----------------------------------
5606 TID Cond: (ctid = '(1,1)'::tid)
5611 /*+NoIndexScan(ti1 ti1_pkey)*/
5612 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5613 INFO: hint syntax error at or near ""
5614 DETAIL: NoIndexScan hint accepts only one relation.
5620 NoIndexScan(ti1 ti1_pkey)
5623 -----------------------------------
5625 TID Cond: (ctid = '(1,1)'::tid)
5630 /*+NoIndexScan(ti1 ti1_pkey ti1_btree)*/
5631 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5632 INFO: hint syntax error at or near ""
5633 DETAIL: NoIndexScan hint accepts only one relation.
5639 NoIndexScan(ti1 ti1_pkey ti1_btree)
5642 -----------------------------------
5644 TID Cond: (ctid = '(1,1)'::tid)
5649 /*+NoBitmapScan(ti1)*/
5650 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5659 -----------------------------------
5661 TID Cond: (ctid = '(1,1)'::tid)
5666 /*+NoBitmapScan(ti1 ti1_pkey)*/
5667 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5668 INFO: hint syntax error at or near ""
5669 DETAIL: NoBitmapScan hint accepts only one relation.
5675 NoBitmapScan(ti1 ti1_pkey)
5678 -----------------------------------
5680 TID Cond: (ctid = '(1,1)'::tid)
5685 /*+NoBitmapScan(ti1 ti1_pkey ti1_btree)*/
5686 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5687 INFO: hint syntax error at or near ""
5688 DETAIL: NoBitmapScan hint accepts only one relation.
5694 NoBitmapScan(ti1 ti1_pkey ti1_btree)
5697 -----------------------------------
5699 TID Cond: (ctid = '(1,1)'::tid)
5705 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5714 ----------------------------------
5715 Index Scan using ti1_uniq on ti1
5716 Index Cond: (c1 = 1)
5717 Filter: (ctid = '(1,1)'::tid)
5721 /*+NoTidScan(ti1 ti1_pkey)*/
5722 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5723 INFO: hint syntax error at or near ""
5724 DETAIL: NoTidScan hint accepts only one relation.
5730 NoTidScan(ti1 ti1_pkey)
5733 -----------------------------------
5735 TID Cond: (ctid = '(1,1)'::tid)
5740 /*+NoTidScan(ti1 ti1_pkey ti1_btree)*/
5741 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5742 INFO: hint syntax error at or near ""
5743 DETAIL: NoTidScan hint accepts only one relation.
5749 NoTidScan(ti1 ti1_pkey ti1_btree)
5752 -----------------------------------
5754 TID Cond: (ctid = '(1,1)'::tid)
5759 /*+IndexOnlyScan(ti1)*/
5760 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5769 ---------------------------------------
5770 Index Only Scan using ti1_uniq on ti1
5771 Index Cond: (c1 >= 1)
5775 /*+IndexOnlyScan(ti1 ti1_pkey)*/
5776 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5777 LOG: available indexes for IndexOnlyScan(ti1): ti1_pkey
5780 IndexOnlyScan(ti1 ti1_pkey)
5786 ---------------------------------------
5787 Index Only Scan using ti1_pkey on ti1
5788 Index Cond: (c1 >= 1)
5792 /*+IndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5793 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5794 LOG: available indexes for IndexOnlyScan(ti1): ti1_btree ti1_pkey
5797 IndexOnlyScan(ti1 ti1_pkey ti1_btree)
5803 ----------------------------------------
5804 Index Only Scan using ti1_btree on ti1
5805 Index Cond: (c1 >= 1)
5809 /*+NoIndexOnlyScan(ti1)*/
5810 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5813 NoIndexOnlyScan(ti1)
5819 ----------------------------------
5820 Index Scan using ti1_uniq on ti1
5821 Index Cond: (c1 = 1)
5825 /*+NoIndexOnlyScan(ti1 ti1_pkey)*/
5826 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5827 INFO: hint syntax error at or near ""
5828 DETAIL: NoIndexOnlyScan hint accepts only one relation.
5834 NoIndexOnlyScan(ti1 ti1_pkey)
5837 ---------------------------------------
5838 Index Only Scan using ti1_uniq on ti1
5839 Index Cond: (c1 = 1)
5843 /*+NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5844 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5845 INFO: hint syntax error at or near ""
5846 DETAIL: NoIndexOnlyScan hint accepts only one relation.
5852 NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)
5855 ---------------------------------------
5856 Index Only Scan using ti1_uniq on ti1
5857 Index Cond: (c1 = 1)
5861 ---- No. S-3-13 message output
5863 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5865 --------------------------------
5866 Index Scan using ti1_i2 on ti1
5867 Index Cond: (c2 = 1)
5871 /*+IndexScanRegexp(ti1 ti1_.*_key)*/
5872 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5873 LOG: available indexes for IndexScanRegexp(ti1): ti1_c2_key
5876 IndexScanRegexp(ti1 ti1_.*_key)
5882 ------------------------------------
5883 Index Scan using ti1_c2_key on ti1
5884 Index Cond: (c2 = 1)
5888 /*+IndexScanRegexp(ti1 ti1_i.)*/
5889 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5890 LOG: available indexes for IndexScanRegexp(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
5893 IndexScanRegexp(ti1 ti1_i.)
5899 --------------------------------
5900 Index Scan using ti1_i2 on ti1
5901 Index Cond: (c2 = 1)
5905 /*+IndexScanRegexp(ti1 no.*_exist)*/
5906 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5907 LOG: available indexes for IndexScanRegexp(ti1):
5910 IndexScanRegexp(ti1 no.*_exist)
5916 --------------------
5922 /*+IndexScanRegexp(p1 .*pkey)*/
5923 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5924 LOG: available indexes for IndexScanRegexp(p1): p1_pkey
5925 LOG: available indexes for IndexScanRegexp(p1c1): p1c1_pkey
5926 LOG: available indexes for IndexScanRegexp(p1c2): p1c2_pkey
5927 LOG: available indexes for IndexScanRegexp(p1c3): p1c3_pkey
5930 IndexScanRegexp(p1 .*pkey)
5936 ------------------------------------------
5938 -> Index Scan using p1_pkey on p1
5939 Index Cond: (c1 = 1)
5940 -> Index Scan using p1c1_pkey on p1c1
5941 Index Cond: (c1 = 1)
5945 /*+IndexScanRegexp(p1 p1.*i)*/
5946 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5947 LOG: available indexes for IndexScanRegexp(p1): p1_i2 p1_i
5948 LOG: available indexes for IndexScanRegexp(p1c1): p1c1_i p1c1_c4_expr_idx
5949 LOG: available indexes for IndexScanRegexp(p1c2): p1c2_i p1c2_c4_expr_idx
5950 LOG: available indexes for IndexScanRegexp(p1c3): p1c3_i p1c3_c4_expr_idx
5953 IndexScanRegexp(p1 p1.*i)
5959 ---------------------------------------
5961 -> Index Scan using p1_i on p1
5962 Index Cond: (c1 = 1)
5963 -> Index Scan using p1c1_i on p1c1
5964 Index Cond: (c1 = 1)
5968 /*+IndexScanRegexp(p1 no.*_exist)*/
5969 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5970 LOG: available indexes for IndexScanRegexp(p1):
5971 LOG: available indexes for IndexScanRegexp(p1c1):
5972 LOG: available indexes for IndexScanRegexp(p1c2):
5973 LOG: available indexes for IndexScanRegexp(p1c3):
5976 IndexScanRegexp(p1 no.*_exist)
5982 --------------------------
5991 ---- No. S-3-14 message output
5994 /*+IndexScan(ti1 ti1_i1)*/
5995 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5996 LOG: available indexes for IndexScan(ti1): ti1_i1
5999 IndexScan(ti1 ti1_i1)
6005 --------------------------------
6006 Index Scan using ti1_i1 on ti1
6007 Index Cond: (c2 = 1)
6011 /*+IndexScan(ti1 not_exist)*/
6012 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6013 LOG: available indexes for IndexScan(ti1):
6016 IndexScan(ti1 not_exist)
6022 --------------------
6028 /*+IndexScan(ti1 ti1_i1 ti1_i2)*/
6029 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6030 LOG: available indexes for IndexScan(ti1): ti1_i2 ti1_i1
6033 IndexScan(ti1 ti1_i1 ti1_i2)
6039 --------------------------------
6040 Index Scan using ti1_i2 on ti1
6041 Index Cond: (c2 = 1)
6045 /*+IndexScan(ti1 ti1_i1 not_exist)*/
6046 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6047 LOG: available indexes for IndexScan(ti1): ti1_i1
6050 IndexScan(ti1 ti1_i1 not_exist)
6056 --------------------------------
6057 Index Scan using ti1_i1 on ti1
6058 Index Cond: (c2 = 1)
6062 /*+IndexScan(ti1 not_exist1 not_exist2)*/
6063 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6064 LOG: available indexes for IndexScan(ti1):
6067 IndexScan(ti1 not_exist1 not_exist2)
6073 --------------------