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
197 -> Seq Scan on t1 t1_1
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 t1_1
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 t1_1
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 t1_1
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 t1_1
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 t1_1
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 $1)
634 Join Filter: (b1t1.c1 = b1t4.c1)
636 Merge Cond: (b1t1.c1 = b1t2.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
643 -> Seq Scan on t2 b1t2
644 -> Index Only Scan using t4_i1 on t4 b1t4
645 Index Cond: (c1 = b1t3.c1)
647 Join Filter: (bmt1.c1 = bmt4.c1)
649 Merge Cond: (bmt1.c1 = bmt2.c1)
651 Merge Cond: (bmt1.c1 = bmt3.c1)
652 -> Index Only Scan using t1_i1 on t1 bmt1
653 -> Index Only Scan using t3_i1 on t3 bmt3
656 -> Seq Scan on t2 bmt2
657 -> Index Only Scan using t4_i1 on t4 bmt4
658 Index Cond: (c1 = bmt3.c1)
661 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
662 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
664 EXPLAIN (COSTS false)
665 SELECT max(bmt1.c1), (
666 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
668 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
670 LOG: available indexes for IndexScan(b1t3): t3_pkey
671 LOG: available indexes for BitmapScan(b1t4): t4_pkey
672 LOG: available indexes for IndexScan(bmt2): t2_pkey
673 LOG: available indexes for BitmapScan(bmt3): t3_pkey
678 IndexScan(b1t3 t3_pkey)
679 BitmapScan(b1t4 t4_pkey)
681 IndexScan(bmt2 t2_pkey)
682 BitmapScan(bmt3 t3_pkey)
689 --------------------------------------------------------------------------
691 InitPlan 1 (returns $2)
694 Hash Cond: (b1t1.c1 = b1t2.c1)
695 -> Seq Scan on t1 b1t1
698 Join Filter: (b1t2.c1 = b1t3.c1)
700 -> Seq Scan on t2 b1t2
701 -> Bitmap Heap Scan on t4 b1t4
702 Recheck Cond: (c1 = b1t2.c1)
703 -> Bitmap Index Scan on t4_pkey
704 Index Cond: (c1 = b1t2.c1)
705 -> Index Scan using t3_pkey on t3 b1t3
706 Index Cond: (c1 = b1t4.c1)
708 Hash Cond: (bmt4.c1 = bmt1.c1)
709 -> Seq Scan on t4 bmt4
713 Hash Cond: (bmt1.c1 = bmt2.c1)
714 -> Seq Scan on t1 bmt1
716 -> Index Scan using t2_pkey on t2 bmt2
717 -> Bitmap Heap Scan on t3 bmt3
718 Recheck Cond: (c1 = bmt1.c1)
719 -> Bitmap Index Scan on t3_pkey
720 Index Cond: (c1 = bmt1.c1)
724 EXPLAIN (COSTS false)
725 SELECT max(bmt1.c1), (
726 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
728 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.c1 = b2t2.c1 AND b2t1.c1 = b2t3.c1 AND b2t1.c1 = b2t4.c1
730 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
733 ------------------------------------------------------------------------
735 InitPlan 1 (returns $1)
738 Join Filter: (b1t1.c1 = b1t4.c1)
740 Merge Cond: (b1t1.c1 = b1t2.c1)
742 Merge Cond: (b1t1.c1 = b1t3.c1)
743 -> Index Only Scan using t1_i1 on t1 b1t1
744 -> Index Only Scan using t3_i1 on t3 b1t3
747 -> Seq Scan on t2 b1t2
748 -> Index Only Scan using t4_i1 on t4 b1t4
749 Index Cond: (c1 = b1t3.c1)
750 InitPlan 2 (returns $3)
753 Join Filter: (b2t1.c1 = b2t4.c1)
755 Merge Cond: (b2t1.c1 = b2t2.c1)
757 Merge Cond: (b2t1.c1 = b2t3.c1)
758 -> Index Only Scan using t1_i1 on t1 b2t1
759 -> Index Only Scan using t3_i1 on t3 b2t3
762 -> Seq Scan on t2 b2t2
763 -> Index Only Scan using t4_i1 on t4 b2t4
764 Index Cond: (c1 = b2t3.c1)
766 Join Filter: (bmt1.c1 = bmt4.c1)
768 Merge Cond: (bmt1.c1 = bmt2.c1)
770 Merge Cond: (bmt1.c1 = bmt3.c1)
771 -> Index Only Scan using t1_i1 on t1 bmt1
772 -> Index Only Scan using t3_i1 on t3 bmt3
775 -> Seq Scan on t2 bmt2
776 -> Index Only Scan using t4_i1 on t4 bmt4
777 Index Cond: (c1 = bmt3.c1)
780 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
781 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
782 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
784 EXPLAIN (COSTS false)
785 SELECT max(bmt1.c1), (
786 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
788 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.c1 = b2t2.c1 AND b2t1.c1 = b2t3.c1 AND b2t1.c1 = b2t4.c1
790 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
792 LOG: available indexes for IndexScan(b1t3): t3_pkey
793 LOG: available indexes for BitmapScan(b1t4): t4_pkey
794 LOG: available indexes for BitmapScan(b2t1): t1_pkey
795 LOG: available indexes for IndexScan(b2t4): t4_pkey
796 LOG: available indexes for IndexScan(bmt2): t2_pkey
797 LOG: available indexes for BitmapScan(bmt3): t3_pkey
802 IndexScan(b1t3 t3_pkey)
803 BitmapScan(b1t4 t4_pkey)
804 BitmapScan(b2t1 t1_pkey)
807 IndexScan(b2t4 t4_pkey)
809 IndexScan(bmt2 t2_pkey)
810 BitmapScan(bmt3 t3_pkey)
817 ---------------------------------------------------------------------------
819 InitPlan 1 (returns $2)
822 Hash Cond: (b1t1.c1 = b1t2.c1)
823 -> Seq Scan on t1 b1t1
826 Join Filter: (b1t2.c1 = b1t3.c1)
828 -> Seq Scan on t2 b1t2
829 -> Bitmap Heap Scan on t4 b1t4
830 Recheck Cond: (c1 = b1t2.c1)
831 -> Bitmap Index Scan on t4_pkey
832 Index Cond: (c1 = b1t2.c1)
833 -> Index Scan using t3_pkey on t3 b1t3
834 Index Cond: (c1 = b1t4.c1)
835 InitPlan 2 (returns $4)
838 Hash Cond: (b2t3.c1 = b2t1.c1)
839 -> Seq Scan on t3 b2t3
842 Merge Cond: (b2t1.c1 = b2t2.c1)
844 -> Index Scan using t4_pkey on t4 b2t4
845 -> Bitmap Heap Scan on t1 b2t1
846 Recheck Cond: (c1 = b2t4.c1)
847 -> Bitmap Index Scan on t1_pkey
848 Index Cond: (c1 = b2t4.c1)
851 -> Seq Scan on t2 b2t2
853 Hash Cond: (bmt4.c1 = bmt1.c1)
854 -> Seq Scan on t4 bmt4
858 Hash Cond: (bmt1.c1 = bmt2.c1)
859 -> Seq Scan on t1 bmt1
861 -> Index Scan using t2_pkey on t2 bmt2
862 -> Bitmap Heap Scan on t3 bmt3
863 Recheck Cond: (c1 = bmt1.c1)
864 -> Bitmap Index Scan on t3_pkey
865 Index Cond: (c1 = bmt1.c1)
869 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;
871 ----------------------------------------------------------------
874 Join Filter: (bmt1.c1 = bmt4.c1)
876 Merge Cond: (bmt1.c1 = bmt2.c1)
878 Merge Cond: (bmt1.c1 = bmt3.c1)
879 -> Index Only Scan using t1_i1 on t1 bmt1
880 -> Index Only Scan using t3_i1 on t3 bmt3
883 -> Seq Scan on t2 bmt2
884 -> Index Only Scan using t4_i1 on t4 bmt4
885 Index Cond: (c1 = bmt3.c1)
888 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
890 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;
891 LOG: available indexes for IndexScan(bmt2): t2_pkey
892 LOG: available indexes for BitmapScan(bmt3): t3_pkey
896 IndexScan(bmt2 t2_pkey)
897 BitmapScan(bmt3 t3_pkey)
904 -------------------------------------------------------------------------
907 Hash Cond: (bmt4.c1 = bmt1.c1)
908 -> Seq Scan on t4 bmt4
912 Hash Cond: (bmt1.c1 = bmt2.c1)
913 -> Seq Scan on t1 bmt1
915 -> Index Scan using t2_pkey on t2 bmt2
916 -> Bitmap Heap Scan on t3 bmt3
917 Recheck Cond: (c1 = bmt1.c1)
918 -> Bitmap Index Scan on t3_pkey
919 Index Cond: (c1 = bmt1.c1)
923 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;
925 ----------------------------------------------------------------
928 Join Filter: (bmt1.c1 = bmt4.c1)
930 Merge Cond: (bmt1.c1 = bmt2.c1)
932 Merge Cond: (bmt1.c1 = bmt3.c1)
933 -> Index Only Scan using t1_i1 on t1 bmt1
934 -> Index Only Scan using t3_i1 on t3 bmt3
937 -> Seq Scan on t2 bmt2
938 -> Index Only Scan using t4_i1 on t4 bmt4
939 Index Cond: (c1 = bmt3.c1)
942 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
944 EXPLAIN (COSTS false) SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, (SELECT * FROM s1.t3 bmt3) sbmt3, (SELECT * FROM s1.t4 bmt4) sbmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = sbmt3.c1 AND bmt1.c1 = sbmt4.c1;
945 LOG: available indexes for IndexScan(bmt2): t2_pkey
946 LOG: available indexes for BitmapScan(bmt3): t3_pkey
950 IndexScan(bmt2 t2_pkey)
951 BitmapScan(bmt3 t3_pkey)
958 -------------------------------------------------------------------------
961 Hash Cond: (bmt4.c1 = bmt1.c1)
962 -> Seq Scan on t4 bmt4
966 Hash Cond: (bmt1.c1 = bmt2.c1)
967 -> Seq Scan on t1 bmt1
969 -> Index Scan using t2_pkey on t2 bmt2
970 -> Bitmap Heap Scan on t3 bmt3
971 Recheck Cond: (c1 = bmt1.c1)
972 -> Bitmap Index Scan on t3_pkey
973 Index Cond: (c1 = bmt1.c1)
977 EXPLAIN (COSTS false)
978 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
980 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
984 ------------------------------------------------------------------------
986 InitPlan 1 (returns $1)
989 Join Filter: (b1t1.c1 = b1t4.c1)
991 Merge Cond: (b1t1.c1 = b1t2.c1)
993 Merge Cond: (b1t1.c1 = b1t3.c1)
994 -> Index Only Scan using t1_i1 on t1 b1t1
995 -> Index Only Scan using t3_i1 on t3 b1t3
998 -> Seq Scan on t2 b1t2
999 -> Index Only Scan using t4_i1 on t4 b1t4
1000 Index Cond: (c1 = b1t3.c1)
1002 Join Filter: (bmt1.c1 = bmt4.c1)
1004 Merge Cond: (bmt1.c1 = bmt2.c1)
1006 Merge Cond: (bmt1.c1 = bmt3.c1)
1007 -> Index Only Scan using t1_i1 on t1 bmt1
1009 -> Index Only Scan using t3_i1 on t3 bmt3
1012 -> Seq Scan on t2 bmt2
1013 -> Index Only Scan using t4_i1 on t4 bmt4
1014 Index Cond: (c1 = bmt3.c1)
1017 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1018 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1020 EXPLAIN (COSTS false)
1021 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
1023 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
1026 LOG: available indexes for IndexScan(b1t3): t3_pkey
1027 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1028 LOG: available indexes for IndexScan(bmt2): t2_pkey
1029 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1034 IndexScan(b1t3 t3_pkey)
1035 BitmapScan(b1t4 t4_pkey)
1037 IndexScan(bmt2 t2_pkey)
1038 BitmapScan(bmt3 t3_pkey)
1045 --------------------------------------------------------------------------
1047 InitPlan 1 (returns $2)
1050 Hash Cond: (b1t1.c1 = b1t2.c1)
1051 -> Seq Scan on t1 b1t1
1054 Join Filter: (b1t2.c1 = b1t3.c1)
1056 -> Seq Scan on t2 b1t2
1057 -> Bitmap Heap Scan on t4 b1t4
1058 Recheck Cond: (c1 = b1t2.c1)
1059 -> Bitmap Index Scan on t4_pkey
1060 Index Cond: (c1 = b1t2.c1)
1061 -> Index Scan using t3_pkey on t3 b1t3
1062 Index Cond: (c1 = b1t4.c1)
1064 Hash Cond: (bmt4.c1 = bmt1.c1)
1065 -> Seq Scan on t4 bmt4
1069 Hash Cond: (bmt1.c1 = bmt2.c1)
1070 -> Seq Scan on t1 bmt1
1073 -> Index Scan using t2_pkey on t2 bmt2
1074 -> Bitmap Heap Scan on t3 bmt3
1075 Recheck Cond: (c1 = bmt1.c1)
1076 -> Bitmap Index Scan on t3_pkey
1077 Index Cond: (c1 = bmt1.c1)
1081 EXPLAIN (COSTS false)
1082 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1084 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
1086 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.c1 = b2t2.c1 AND b2t1.c1 = b2t3.c1 AND b2t1.c1 = b2t4.c1
1090 ------------------------------------------------------------------------
1092 InitPlan 1 (returns $1)
1095 Join Filter: (b1t1.c1 = b1t4.c1)
1097 Merge Cond: (b1t1.c1 = b1t2.c1)
1099 Merge Cond: (b1t1.c1 = b1t3.c1)
1100 -> Index Only Scan using t1_i1 on t1 b1t1
1101 -> Index Only Scan using t3_i1 on t3 b1t3
1104 -> Seq Scan on t2 b1t2
1105 -> Index Only Scan using t4_i1 on t4 b1t4
1106 Index Cond: (c1 = b1t3.c1)
1107 InitPlan 2 (returns $3)
1110 Join Filter: (b2t1.c1 = b2t4.c1)
1112 Merge Cond: (b2t1.c1 = b2t2.c1)
1114 Merge Cond: (b2t1.c1 = b2t3.c1)
1115 -> Index Only Scan using t1_i1 on t1 b2t1
1116 -> Index Only Scan using t3_i1 on t3 b2t3
1119 -> Seq Scan on t2 b2t2
1120 -> Index Only Scan using t4_i1 on t4 b2t4
1121 Index Cond: (c1 = b2t3.c1)
1123 Join Filter: (bmt1.c1 = bmt4.c1)
1125 Merge Cond: (bmt1.c1 = bmt2.c1)
1127 Merge Cond: (bmt1.c1 = bmt3.c1)
1128 -> Index Only Scan using t1_i1 on t1 bmt1
1129 Filter: ((c1 <> $1) AND (c1 <> $3))
1130 -> Index Only Scan using t3_i1 on t3 bmt3
1133 -> Seq Scan on t2 bmt2
1134 -> Index Only Scan using t4_i1 on t4 bmt4
1135 Index Cond: (c1 = bmt3.c1)
1138 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1139 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1140 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1142 EXPLAIN (COSTS false)
1143 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
1145 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
1147 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
1150 LOG: available indexes for IndexScan(b1t3): t3_pkey
1151 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1152 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1153 LOG: available indexes for IndexScan(b2t4): t4_pkey
1154 LOG: available indexes for IndexScan(bmt2): t2_pkey
1155 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1160 IndexScan(b1t3 t3_pkey)
1161 BitmapScan(b1t4 t4_pkey)
1162 BitmapScan(b2t1 t1_pkey)
1165 IndexScan(b2t4 t4_pkey)
1167 IndexScan(bmt2 t2_pkey)
1168 BitmapScan(bmt3 t3_pkey)
1175 ---------------------------------------------------------------------------
1177 InitPlan 1 (returns $2)
1180 Hash Cond: (b1t1.c1 = b1t2.c1)
1181 -> Seq Scan on t1 b1t1
1184 Join Filter: (b1t2.c1 = b1t3.c1)
1186 -> Seq Scan on t2 b1t2
1187 -> Bitmap Heap Scan on t4 b1t4
1188 Recheck Cond: (c1 = b1t2.c1)
1189 -> Bitmap Index Scan on t4_pkey
1190 Index Cond: (c1 = b1t2.c1)
1191 -> Index Scan using t3_pkey on t3 b1t3
1192 Index Cond: (c1 = b1t4.c1)
1193 InitPlan 2 (returns $4)
1196 Hash Cond: (b2t3.c1 = b2t1.c1)
1197 -> Seq Scan on t3 b2t3
1200 Merge Cond: (b2t1.c1 = b2t2.c1)
1202 -> Index Scan using t4_pkey on t4 b2t4
1203 -> Bitmap Heap Scan on t1 b2t1
1204 Recheck Cond: (c1 = b2t4.c1)
1205 -> Bitmap Index Scan on t1_pkey
1206 Index Cond: (c1 = b2t4.c1)
1209 -> Seq Scan on t2 b2t2
1211 Hash Cond: (bmt4.c1 = bmt1.c1)
1212 -> Seq Scan on t4 bmt4
1216 Hash Cond: (bmt1.c1 = bmt2.c1)
1217 -> Seq Scan on t1 bmt1
1218 Filter: ((c1 <> $2) AND (c1 <> $4))
1220 -> Index Scan using t2_pkey on t2 bmt2
1221 -> Bitmap Heap Scan on t3 bmt3
1222 Recheck Cond: (c1 = bmt1.c1)
1223 -> Bitmap Index Scan on t3_pkey
1224 Index Cond: (c1 = bmt1.c1)
1228 EXPLAIN (COSTS false)
1230 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
1232 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1234 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1238 ------------------------------------------------------------------------
1243 Join Filter: (b1t1.c1 = b1t4.c1)
1245 Merge Cond: (b1t1.c1 = b1t2.c1)
1247 Merge Cond: (b1t1.c1 = b1t3.c1)
1248 -> Index Only Scan using t1_i1 on t1 b1t1
1249 -> Index Only Scan using t3_i1 on t3 b1t3
1252 -> Seq Scan on t2 b1t2
1253 -> Index Only Scan using t4_i1 on t4 b1t4
1254 Index Cond: (c1 = b1t3.c1)
1256 Join Filter: (bmt1.c1 = bmt4.c1)
1258 Join Filter: (bmt2.c1 = bmt1.c1)
1261 Hash Cond: (bmt2.c1 = c1.c1)
1262 -> Seq Scan on t2 bmt2
1265 -> Index Only Scan using t3_i1 on t3 bmt3
1266 Index Cond: (c1 = bmt2.c1)
1267 -> Index Only Scan using t1_i1 on t1 bmt1
1268 Index Cond: (c1 = bmt3.c1)
1269 -> Index Only Scan using t4_i1 on t4 bmt4
1270 Index Cond: (c1 = bmt3.c1)
1273 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1274 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1276 EXPLAIN (COSTS false)
1278 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
1280 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1282 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1285 LOG: available indexes for IndexScan(b1t3): t3_pkey
1286 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1287 LOG: available indexes for IndexScan(bmt2): t2_pkey
1288 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1293 IndexScan(b1t3 t3_pkey)
1294 BitmapScan(b1t4 t4_pkey)
1296 IndexScan(bmt2 t2_pkey)
1297 BitmapScan(bmt3 t3_pkey)
1304 --------------------------------------------------------------------------
1309 Hash Cond: (b1t1.c1 = b1t2.c1)
1310 -> Seq Scan on t1 b1t1
1313 Join Filter: (b1t2.c1 = b1t3.c1)
1315 -> Seq Scan on t2 b1t2
1316 -> Bitmap Heap Scan on t4 b1t4
1317 Recheck Cond: (c1 = b1t2.c1)
1318 -> Bitmap Index Scan on t4_pkey
1319 Index Cond: (c1 = b1t2.c1)
1320 -> Index Scan using t3_pkey on t3 b1t3
1321 Index Cond: (c1 = b1t4.c1)
1323 Hash Cond: (bmt4.c1 = bmt1.c1)
1324 -> Seq Scan on t4 bmt4
1329 Hash Cond: (bmt1.c1 = c1.c1)
1330 -> Seq Scan on t1 bmt1
1333 -> Index Scan using t2_pkey on t2 bmt2
1334 Index Cond: (c1 = bmt1.c1)
1335 -> Bitmap Heap Scan on t3 bmt3
1336 Recheck Cond: (c1 = bmt1.c1)
1337 -> Bitmap Index Scan on t3_pkey
1338 Index Cond: (c1 = bmt1.c1)
1342 EXPLAIN (COSTS false)
1344 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
1347 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.c1 = b2t2.c1 AND b2t1.c1 = b2t3.c1 AND b2t1.c1 = b2t4.c1
1349 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1351 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1356 ------------------------------------------------------------------------
1361 Join Filter: (b1t1.c1 = b1t4.c1)
1363 Merge Cond: (b1t1.c1 = b1t2.c1)
1365 Merge Cond: (b1t1.c1 = b1t3.c1)
1366 -> Index Only Scan using t1_i1 on t1 b1t1
1367 -> Index Only Scan using t3_i1 on t3 b1t3
1370 -> Seq Scan on t2 b1t2
1371 -> Index Only Scan using t4_i1 on t4 b1t4
1372 Index Cond: (c1 = b1t3.c1)
1376 Join Filter: (b2t1.c1 = b2t4.c1)
1378 Merge Cond: (b2t1.c1 = b2t2.c1)
1380 Merge Cond: (b2t1.c1 = b2t3.c1)
1381 -> Index Only Scan using t1_i1 on t1 b2t1
1382 -> Index Only Scan using t3_i1 on t3 b2t3
1385 -> Seq Scan on t2 b2t2
1386 -> Index Only Scan using t4_i1 on t4 b2t4
1387 Index Cond: (c1 = b2t3.c1)
1389 Join Filter: (bmt1.c1 = c2.c1)
1391 Join Filter: (bmt1.c1 = bmt4.c1)
1393 Join Filter: (bmt2.c1 = bmt1.c1)
1396 Hash Cond: (bmt2.c1 = c1.c1)
1397 -> Seq Scan on t2 bmt2
1400 -> Index Only Scan using t3_i1 on t3 bmt3
1401 Index Cond: (c1 = bmt2.c1)
1402 -> Index Only Scan using t1_i1 on t1 bmt1
1403 Index Cond: (c1 = bmt3.c1)
1404 -> Index Only Scan using t4_i1 on t4 bmt4
1405 Index Cond: (c1 = bmt3.c1)
1409 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1410 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1411 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1413 EXPLAIN (COSTS false)
1415 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
1418 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
1420 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1422 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1426 LOG: available indexes for IndexScan(b1t3): t3_pkey
1427 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1428 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1429 LOG: available indexes for IndexScan(b2t4): t4_pkey
1430 LOG: available indexes for IndexScan(bmt2): t2_pkey
1431 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1436 IndexScan(b1t3 t3_pkey)
1437 BitmapScan(b1t4 t4_pkey)
1438 BitmapScan(b2t1 t1_pkey)
1441 IndexScan(b2t4 t4_pkey)
1443 IndexScan(bmt2 t2_pkey)
1444 BitmapScan(bmt3 t3_pkey)
1451 ---------------------------------------------------------------------------
1456 Hash Cond: (b1t1.c1 = b1t2.c1)
1457 -> Seq Scan on t1 b1t1
1460 Join Filter: (b1t2.c1 = b1t3.c1)
1462 -> Seq Scan on t2 b1t2
1463 -> Bitmap Heap Scan on t4 b1t4
1464 Recheck Cond: (c1 = b1t2.c1)
1465 -> Bitmap Index Scan on t4_pkey
1466 Index Cond: (c1 = b1t2.c1)
1467 -> Index Scan using t3_pkey on t3 b1t3
1468 Index Cond: (c1 = b1t4.c1)
1472 Hash Cond: (b2t3.c1 = b2t1.c1)
1473 -> Seq Scan on t3 b2t3
1476 Merge Cond: (b2t1.c1 = b2t2.c1)
1478 -> Index Scan using t4_pkey on t4 b2t4
1479 -> Bitmap Heap Scan on t1 b2t1
1480 Recheck Cond: (c1 = b2t4.c1)
1481 -> Bitmap Index Scan on t1_pkey
1482 Index Cond: (c1 = b2t4.c1)
1485 -> Seq Scan on t2 b2t2
1487 Hash Cond: (bmt4.c1 = bmt1.c1)
1488 -> Seq Scan on t4 bmt4
1491 Join Filter: (bmt1.c1 = c2.c1)
1495 Hash Cond: (bmt1.c1 = c1.c1)
1496 -> Seq Scan on t1 bmt1
1499 -> Index Scan using t2_pkey on t2 bmt2
1500 Index Cond: (c1 = bmt1.c1)
1501 -> Bitmap Heap Scan on t3 bmt3
1502 Recheck Cond: (c1 = bmt1.c1)
1503 -> Bitmap Index Scan on t3_pkey
1504 Index Cond: (c1 = bmt1.c1)
1509 ---- No. S-2-2 the number of the tables per quiry block
1512 EXPLAIN (COSTS false)
1514 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1516 SELECT max(bmt1.c1), (
1517 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1519 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1521 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1525 -----------------------------------------------------------------
1529 InitPlan 1 (returns $0)
1531 -> Tid Scan on t1 b1t1
1532 TID Cond: (ctid = '(1,1)'::tid)
1533 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1534 InitPlan 4 (returns $3)
1536 InitPlan 3 (returns $2)
1538 -> Tid Scan on t1 b2t1
1539 TID Cond: (ctid = '(1,1)'::tid)
1540 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1541 InitPlan 6 (returns $5)
1543 InitPlan 5 (returns $4)
1545 -> Tid Scan on t1 b3t1
1546 TID Cond: (ctid = '(1,1)'::tid)
1547 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1549 -> Tid Scan on t1 bmt1
1550 TID Cond: (ctid = '(1,1)'::tid)
1551 Filter: ((c1 <> $5) AND (c1 = 1))
1557 BitmapScan(b2t1 t1_pkey)
1558 IndexScan(b3t1 t1_pkey)
1560 EXPLAIN (COSTS false)
1562 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1564 SELECT max(bmt1.c1), (
1565 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1567 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1569 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1572 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1573 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1574 LOG: available indexes for IndexScan(b3t1): t1_pkey
1575 LOG: available indexes for IndexScan(b3t1): t1_pkey
1579 BitmapScan(b2t1 t1_pkey)
1580 IndexScan(b3t1 t1_pkey)
1587 ---------------------------------------------------------------------------
1591 InitPlan 1 (returns $0)
1593 -> Tid Scan on t1 b1t1
1594 TID Cond: (ctid = '(1,1)'::tid)
1595 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1596 InitPlan 4 (returns $3)
1598 InitPlan 3 (returns $2)
1600 -> Bitmap Heap Scan on t1 b2t1
1601 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1602 Filter: (ctid = '(1,1)'::tid)
1603 -> Bitmap Index Scan on t1_pkey
1604 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1605 InitPlan 6 (returns $5)
1607 InitPlan 5 (returns $4)
1609 -> Index Scan using t1_pkey on t1 b3t1
1610 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1611 Filter: (ctid = '(1,1)'::tid)
1613 -> Seq Scan on t1 bmt1
1614 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid) AND (c1 = 1))
1619 EXPLAIN (COSTS false)
1621 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)'
1623 SELECT max(bmt1.c1), (
1624 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)'
1626 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1628 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)'
1632 -------------------------------------------------------
1637 Join Filter: (b1t1.c1 = b1t2.c1)
1638 -> Tid Scan on t1 b1t1
1639 TID Cond: (ctid = '(1,1)'::tid)
1640 -> Seq Scan on t2 b1t2
1641 Filter: (ctid = '(1,1)'::tid)
1642 InitPlan 2 (returns $1)
1645 Join Filter: (b2t1.c1 = b2t2.c1)
1646 -> Tid Scan on t1 b2t1
1647 TID Cond: (ctid = '(1,1)'::tid)
1648 -> Seq Scan on t2 b2t2
1649 Filter: (ctid = '(1,1)'::tid)
1650 InitPlan 3 (returns $2)
1653 Join Filter: (b3t1.c1 = b3t2.c1)
1654 -> Tid Scan on t1 b3t1
1655 TID Cond: (ctid = '(1,1)'::tid)
1656 -> Seq Scan on t2 b3t2
1657 Filter: (ctid = '(1,1)'::tid)
1660 Join Filter: (bmt1.c1 = bmt2.c1)
1661 -> Tid Scan on t1 bmt1
1662 TID Cond: (ctid = '(1,1)'::tid)
1664 -> Seq Scan on t2 bmt2
1665 Filter: (ctid = '(1,1)'::tid)
1669 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)
1670 TidScan(b1t1)SeqScan(b1t2)
1671 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)
1672 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)
1674 EXPLAIN (COSTS false)
1676 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)'
1678 SELECT max(bmt1.c1), (
1679 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)'
1681 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1683 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)'
1686 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1687 LOG: available indexes for IndexScan(b3t1): t1_pkey
1688 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1689 LOG: available indexes for IndexScan(bmt2): t2_pkey
1694 BitmapScan(b2t1 t1_pkey)
1696 IndexScan(b3t1 t1_pkey)
1697 BitmapScan(b3t2 t2_pkey)
1699 IndexScan(bmt2 t2_pkey)
1705 --------------------------------------------------------------------
1710 Join Filter: (b1t1.c1 = b1t2.c1)
1711 -> Tid Scan on t1 b1t1
1712 TID Cond: (ctid = '(1,1)'::tid)
1713 -> Seq Scan on t2 b1t2
1714 Filter: (ctid = '(1,1)'::tid)
1715 InitPlan 2 (returns $2)
1718 -> Tid Scan on t2 b2t2
1719 TID Cond: (ctid = '(1,1)'::tid)
1720 -> Bitmap Heap Scan on t1 b2t1
1721 Recheck Cond: (c1 = b2t2.c1)
1722 Filter: (ctid = '(1,1)'::tid)
1723 -> Bitmap Index Scan on t1_pkey
1724 Index Cond: (c1 = b2t2.c1)
1725 InitPlan 3 (returns $4)
1728 -> Index Scan using t1_pkey on t1 b3t1
1729 Filter: (ctid = '(1,1)'::tid)
1730 -> Bitmap Heap Scan on t2 b3t2
1731 Recheck Cond: (c1 = b3t1.c1)
1732 Filter: (ctid = '(1,1)'::tid)
1733 -> Bitmap Index Scan on t2_pkey
1734 Index Cond: (c1 = b3t1.c1)
1737 -> Seq Scan on t1 bmt1
1738 Filter: ((c1 <> $4) AND (ctid = '(1,1)'::tid))
1739 -> Index Scan using t2_pkey on t2 bmt2
1740 Index Cond: (c1 = bmt1.c1)
1741 Filter: (ctid = '(1,1)'::tid)
1746 EXPLAIN (COSTS false)
1748 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1750 SELECT max(bmt1.c1), (
1751 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
1753 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)' AND bmt1.c1 = c1.c1
1755 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2, s1.t3 b3t3, s1.t4 b3t4 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)' AND b3t1.c1 = b3t3.c1 AND b3t3.ctid = '(1,1)' AND b3t1.c1 = b3t4.c1 AND b3t4.ctid = '(1,1)'
1759 -------------------------------------------------------------------
1764 Join Filter: (b1t1.c1 = b1t4.c1)
1766 Join Filter: (b1t1.c1 = b1t3.c1)
1768 Join Filter: (b1t1.c1 = b1t2.c1)
1769 -> Tid Scan on t1 b1t1
1770 TID Cond: (ctid = '(1,1)'::tid)
1771 -> Seq Scan on t2 b1t2
1772 Filter: (ctid = '(1,1)'::tid)
1773 -> Tid Scan on t3 b1t3
1774 TID Cond: (ctid = '(1,1)'::tid)
1775 -> Tid Scan on t4 b1t4
1776 TID Cond: (ctid = '(1,1)'::tid)
1777 InitPlan 2 (returns $1)
1780 Join Filter: (b2t1.c1 = b2t4.c1)
1782 Join Filter: (b2t1.c1 = b2t3.c1)
1784 Join Filter: (b2t1.c1 = b2t2.c1)
1785 -> Tid Scan on t1 b2t1
1786 TID Cond: (ctid = '(1,1)'::tid)
1787 -> Seq Scan on t2 b2t2
1788 Filter: (ctid = '(1,1)'::tid)
1789 -> Tid Scan on t3 b2t3
1790 TID Cond: (ctid = '(1,1)'::tid)
1791 -> Tid Scan on t4 b2t4
1792 TID Cond: (ctid = '(1,1)'::tid)
1793 InitPlan 3 (returns $2)
1796 Join Filter: (b3t1.c1 = b3t4.c1)
1798 Join Filter: (b3t1.c1 = b3t3.c1)
1800 Join Filter: (b3t1.c1 = b3t2.c1)
1801 -> Tid Scan on t1 b3t1
1802 TID Cond: (ctid = '(1,1)'::tid)
1803 -> Seq Scan on t2 b3t2
1804 Filter: (ctid = '(1,1)'::tid)
1805 -> Tid Scan on t3 b3t3
1806 TID Cond: (ctid = '(1,1)'::tid)
1807 -> Tid Scan on t4 b3t4
1808 TID Cond: (ctid = '(1,1)'::tid)
1810 Join Filter: (bmt1.c1 = c1.c1)
1812 Join Filter: (bmt1.c1 = bmt4.c1)
1814 Join Filter: (bmt1.c1 = bmt3.c1)
1816 Join Filter: (bmt1.c1 = bmt2.c1)
1817 -> Tid Scan on t1 bmt1
1818 TID Cond: (ctid = '(1,1)'::tid)
1820 -> Seq Scan on t2 bmt2
1821 Filter: (ctid = '(1,1)'::tid)
1822 -> Tid Scan on t3 bmt3
1823 TID Cond: (ctid = '(1,1)'::tid)
1824 -> Tid Scan on t4 bmt4
1825 TID Cond: (ctid = '(1,1)'::tid)
1829 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1830 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1831 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1832 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
1834 EXPLAIN (COSTS false)
1836 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1838 SELECT max(bmt1.c1), (
1839 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)'
1841 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)' AND bmt1.c1 = c1.c1
1843 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2, s1.t3 b3t3, s1.t4 b3t4 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)' AND b3t1.c1 = b3t3.c1 AND b3t3.ctid = '(1,1)' AND b3t1.c1 = b3t4.c1 AND b3t4.ctid = '(1,1)'
1846 LOG: available indexes for IndexScan(b1t3): t3_pkey
1847 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1848 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1849 LOG: available indexes for IndexScan(b2t4): t4_pkey
1850 LOG: available indexes for IndexScan(b3t1): t1_pkey
1851 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1852 LOG: available indexes for IndexScan(bmt2): t2_pkey
1853 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1858 IndexScan(b1t3 t3_pkey)
1859 BitmapScan(b1t4 t4_pkey)
1860 BitmapScan(b2t1 t1_pkey)
1863 IndexScan(b2t4 t4_pkey)
1864 IndexScan(b3t1 t1_pkey)
1865 BitmapScan(b3t2 t2_pkey)
1869 IndexScan(bmt2 t2_pkey)
1870 BitmapScan(bmt3 t3_pkey)
1877 --------------------------------------------------------------------------------
1884 Join Filter: (b1t1.c1 = b1t2.c1)
1885 -> Tid Scan on t1 b1t1
1886 TID Cond: (ctid = '(1,1)'::tid)
1887 -> Seq Scan on t2 b1t2
1888 Filter: (ctid = '(1,1)'::tid)
1889 -> Index Scan using t3_pkey on t3 b1t3
1890 Index Cond: (c1 = b1t1.c1)
1891 Filter: (ctid = '(1,1)'::tid)
1892 -> Bitmap Heap Scan on t4 b1t4
1893 Recheck Cond: (c1 = b1t1.c1)
1894 Filter: (ctid = '(1,1)'::tid)
1895 -> Bitmap Index Scan on t4_pkey
1896 Index Cond: (c1 = b1t1.c1)
1897 InitPlan 2 (returns $4)
1901 Join Filter: (b2t1.c1 = b2t3.c1)
1903 -> Tid Scan on t2 b2t2
1904 TID Cond: (ctid = '(1,1)'::tid)
1905 -> Bitmap Heap Scan on t1 b2t1
1906 Recheck Cond: (c1 = b2t2.c1)
1907 Filter: (ctid = '(1,1)'::tid)
1908 -> Bitmap Index Scan on t1_pkey
1909 Index Cond: (c1 = b2t2.c1)
1910 -> Seq Scan on t3 b2t3
1911 Filter: (ctid = '(1,1)'::tid)
1912 -> Index Scan using t4_pkey on t4 b2t4
1913 Index Cond: (c1 = b2t1.c1)
1914 Filter: (ctid = '(1,1)'::tid)
1915 InitPlan 3 (returns $7)
1918 Join Filter: (b3t1.c1 = b3t4.c1)
1921 -> Tid Scan on t3 b3t3
1922 TID Cond: (ctid = '(1,1)'::tid)
1923 -> Index Scan using t1_pkey on t1 b3t1
1924 Index Cond: (c1 = b3t3.c1)
1925 Filter: (ctid = '(1,1)'::tid)
1926 -> Bitmap Heap Scan on t2 b3t2
1927 Recheck Cond: (c1 = b3t1.c1)
1928 Filter: (ctid = '(1,1)'::tid)
1929 -> Bitmap Index Scan on t2_pkey
1930 Index Cond: (c1 = b3t1.c1)
1931 -> Seq Scan on t4 b3t4
1932 Filter: (ctid = '(1,1)'::tid)
1934 Join Filter: (bmt1.c1 = c1.c1)
1936 Join Filter: (bmt1.c1 = bmt4.c1)
1939 -> Seq Scan on t1 bmt1
1940 Filter: ((c1 <> $7) AND (ctid = '(1,1)'::tid))
1941 -> Index Scan using t2_pkey on t2 bmt2
1942 Index Cond: (c1 = bmt1.c1)
1943 Filter: (ctid = '(1,1)'::tid)
1944 -> Bitmap Heap Scan on t3 bmt3
1945 Recheck Cond: (c1 = bmt1.c1)
1946 Filter: (ctid = '(1,1)'::tid)
1947 -> Bitmap Index Scan on t3_pkey
1948 Index Cond: (c1 = bmt1.c1)
1949 -> Tid Scan on t4 bmt4
1950 TID Cond: (ctid = '(1,1)'::tid)
1955 EXPLAIN (COSTS false)
1957 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1959 SELECT max(bmt1.c1), (
1960 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1962 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)' AND bmt1.c1 = c1.c1
1964 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
1968 -------------------------------------------------------------------
1973 Join Filter: (b1t1.c1 = b1t4.c1)
1975 Join Filter: (b1t1.c1 = b1t3.c1)
1977 Join Filter: (b1t1.c1 = b1t2.c1)
1978 -> Tid Scan on t1 b1t1
1979 TID Cond: (ctid = '(1,1)'::tid)
1980 -> Seq Scan on t2 b1t2
1981 Filter: (ctid = '(1,1)'::tid)
1982 -> Tid Scan on t3 b1t3
1983 TID Cond: (ctid = '(1,1)'::tid)
1984 -> Tid Scan on t4 b1t4
1985 TID Cond: (ctid = '(1,1)'::tid)
1986 InitPlan 3 (returns $2)
1988 InitPlan 2 (returns $1)
1990 -> Tid Scan on t1 b2t1
1991 TID Cond: (ctid = '(1,1)'::tid)
1992 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1993 InitPlan 4 (returns $3)
1995 -> Tid Scan on t1 b3t1
1996 TID Cond: (ctid = '(1,1)'::tid)
1998 Join Filter: (bmt1.c1 = c1.c1)
2000 Join Filter: (bmt1.c1 = bmt4.c1)
2002 Join Filter: (bmt1.c1 = bmt3.c1)
2004 Join Filter: (bmt1.c1 = bmt2.c1)
2005 -> Tid Scan on t1 bmt1
2006 TID Cond: (ctid = '(1,1)'::tid)
2008 -> Seq Scan on t2 bmt2
2009 Filter: (ctid = '(1,1)'::tid)
2010 -> Tid Scan on t3 bmt3
2011 TID Cond: (ctid = '(1,1)'::tid)
2012 -> Tid Scan on t4 bmt4
2013 TID Cond: (ctid = '(1,1)'::tid)
2017 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
2018 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2019 BitmapScan(b2t1 t1_pkey)
2020 IndexScan(b3t1 t1_pkey)
2022 EXPLAIN (COSTS false)
2024 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
2026 SELECT max(bmt1.c1), (
2027 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2029 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)' AND bmt1.c1 = c1.c1
2031 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2034 LOG: available indexes for IndexScan(b1t3): t3_pkey
2035 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2036 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2037 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2038 LOG: available indexes for IndexScan(b3t1): t1_pkey
2039 LOG: available indexes for IndexScan(b3t1): t1_pkey
2040 LOG: available indexes for IndexScan(bmt2): t2_pkey
2041 LOG: available indexes for BitmapScan(bmt3): t3_pkey
2046 IndexScan(b1t3 t3_pkey)
2047 BitmapScan(b1t4 t4_pkey)
2048 BitmapScan(b2t1 t1_pkey)
2049 IndexScan(b3t1 t1_pkey)
2051 IndexScan(bmt2 t2_pkey)
2052 BitmapScan(bmt3 t3_pkey)
2059 --------------------------------------------------------------------------------
2066 Join Filter: (b1t1.c1 = b1t2.c1)
2067 -> Tid Scan on t1 b1t1
2068 TID Cond: (ctid = '(1,1)'::tid)
2069 -> Seq Scan on t2 b1t2
2070 Filter: (ctid = '(1,1)'::tid)
2071 -> Index Scan using t3_pkey on t3 b1t3
2072 Index Cond: (c1 = b1t1.c1)
2073 Filter: (ctid = '(1,1)'::tid)
2074 -> Bitmap Heap Scan on t4 b1t4
2075 Recheck Cond: (c1 = b1t1.c1)
2076 Filter: (ctid = '(1,1)'::tid)
2077 -> Bitmap Index Scan on t4_pkey
2078 Index Cond: (c1 = b1t1.c1)
2079 InitPlan 3 (returns $3)
2081 InitPlan 2 (returns $2)
2083 -> Bitmap Heap Scan on t1 b2t1
2084 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2085 Filter: (ctid = '(1,1)'::tid)
2086 -> Bitmap Index Scan on t1_pkey
2087 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2088 InitPlan 5 (returns $5)
2090 InitPlan 4 (returns $4)
2092 -> Index Scan Backward using t1_pkey on t1 b3t1
2093 Index Cond: (c1 IS NOT NULL)
2094 Filter: (ctid = '(1,1)'::tid)
2096 Join Filter: (bmt1.c1 = c1.c1)
2098 Join Filter: (bmt1.c1 = bmt4.c1)
2101 -> Seq Scan on t1 bmt1
2102 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid))
2103 -> Index Scan using t2_pkey on t2 bmt2
2104 Index Cond: (c1 = bmt1.c1)
2105 Filter: (ctid = '(1,1)'::tid)
2106 -> Bitmap Heap Scan on t3 bmt3
2107 Recheck Cond: (c1 = bmt1.c1)
2108 Filter: (ctid = '(1,1)'::tid)
2109 -> Bitmap Index Scan on t3_pkey
2110 Index Cond: (c1 = bmt1.c1)
2111 -> Tid Scan on t4 bmt4
2112 TID Cond: (ctid = '(1,1)'::tid)
2117 ---- No. S-2-3 RULE or VIEW
2120 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2122 -----------------------------------------------------------------
2125 Join Filter: (t1.c1 = t4.c1)
2127 Join Filter: (t1.c1 = t3.c1)
2129 Join Filter: (t1.c1 = t2.c1)
2132 TID Cond: (ctid = '(1,1)'::tid)
2135 TID Cond: (ctid = '(1,1)'::tid)
2137 Filter: (ctid = '(1,1)'::tid)
2139 TID Cond: (ctid = '(1,1)'::tid)
2141 TID Cond: (ctid = '(1,1)'::tid)
2144 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2146 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2147 LOG: available indexes for IndexScan(t3): t3_pkey
2148 LOG: available indexes for BitmapScan(t4): t4_pkey
2154 IndexScan(t3 t3_pkey)
2155 BitmapScan(t4 t4_pkey)
2161 ------------------------------------------------------------------------------
2166 Join Filter: (t1.c1 = t2.c1)
2169 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2171 TID Cond: (ctid = '(1,1)'::tid)
2173 Filter: (ctid = '(1,1)'::tid)
2174 -> Index Scan using t3_pkey on t3
2175 Index Cond: (c1 = t1.c1)
2176 Filter: (ctid = '(1,1)'::tid)
2177 -> Bitmap Heap Scan on t4
2178 Recheck Cond: (c1 = t1.c1)
2179 Filter: (ctid = '(1,1)'::tid)
2180 -> Bitmap Index Scan on t4_pkey
2181 Index Cond: (c1 = t1.c1)
2184 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2186 -----------------------------------------------------------------
2189 Join Filter: (b1t1.c1 = b1t4.c1)
2191 Join Filter: (b1t1.c1 = b1t3.c1)
2193 Join Filter: (b1t1.c1 = b1t2.c1)
2196 TID Cond: (ctid = '(1,1)'::tid)
2198 -> Tid Scan on t1 b1t1
2199 TID Cond: (ctid = '(1,1)'::tid)
2200 -> Seq Scan on t2 b1t2
2201 Filter: (ctid = '(1,1)'::tid)
2202 -> Tid Scan on t3 b1t3
2203 TID Cond: (ctid = '(1,1)'::tid)
2204 -> Tid Scan on t4 b1t4
2205 TID Cond: (ctid = '(1,1)'::tid)
2208 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2210 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2211 LOG: available indexes for IndexScan(b1t3): t3_pkey
2212 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2217 IndexScan(b1t3 t3_pkey)
2218 BitmapScan(b1t4 t4_pkey)
2225 ------------------------------------------------------------------------------
2230 Join Filter: (b1t1.c1 = b1t2.c1)
2233 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2234 -> Tid Scan on t1 b1t1
2235 TID Cond: (ctid = '(1,1)'::tid)
2236 -> Seq Scan on t2 b1t2
2237 Filter: (ctid = '(1,1)'::tid)
2238 -> Index Scan using t3_pkey on t3 b1t3
2239 Index Cond: (c1 = b1t1.c1)
2240 Filter: (ctid = '(1,1)'::tid)
2241 -> Bitmap Heap Scan on t4 b1t4
2242 Recheck Cond: (c1 = b1t1.c1)
2243 Filter: (ctid = '(1,1)'::tid)
2244 -> Bitmap Index Scan on t4_pkey
2245 Index Cond: (c1 = b1t1.c1)
2249 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2251 -----------------------------------------------------------------
2254 Join Filter: (t1.c1 = t4.c1)
2256 Join Filter: (t1.c1 = t3.c1)
2258 Join Filter: (t1.c1 = t2.c1)
2261 TID Cond: (ctid = '(1,1)'::tid)
2264 TID Cond: (ctid = '(1,1)'::tid)
2266 Filter: (ctid = '(1,1)'::tid)
2268 TID Cond: (ctid = '(1,1)'::tid)
2270 TID Cond: (ctid = '(1,1)'::tid)
2274 Join Filter: (t1.c1 = t4.c1)
2276 Join Filter: (t1.c1 = t3.c1)
2278 Join Filter: (t1.c1 = t2.c1)
2281 TID Cond: (ctid = '(1,1)'::tid)
2284 TID Cond: (ctid = '(1,1)'::tid)
2286 Filter: (ctid = '(1,1)'::tid)
2288 TID Cond: (ctid = '(1,1)'::tid)
2290 TID Cond: (ctid = '(1,1)'::tid)
2293 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2295 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2296 LOG: available indexes for IndexScan(t3): t3_pkey
2297 LOG: available indexes for BitmapScan(t4): t4_pkey
2303 IndexScan(t3 t3_pkey)
2304 BitmapScan(t4 t4_pkey)
2309 LOG: available indexes for IndexScan(t3): t3_pkey
2310 LOG: available indexes for BitmapScan(t4): t4_pkey
2316 IndexScan(t3 t3_pkey)
2317 BitmapScan(t4 t4_pkey)
2323 ------------------------------------------------------------------------------
2328 Join Filter: (t1.c1 = t2.c1)
2331 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2333 TID Cond: (ctid = '(1,1)'::tid)
2335 Filter: (ctid = '(1,1)'::tid)
2336 -> Index Scan using t3_pkey on t3
2337 Index Cond: (c1 = t1.c1)
2338 Filter: (ctid = '(1,1)'::tid)
2339 -> Bitmap Heap Scan on t4
2340 Recheck Cond: (c1 = t1.c1)
2341 Filter: (ctid = '(1,1)'::tid)
2342 -> Bitmap Index Scan on t4_pkey
2343 Index Cond: (c1 = t1.c1)
2349 Join Filter: (t1.c1 = t2.c1)
2352 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2354 TID Cond: (ctid = '(1,1)'::tid)
2356 Filter: (ctid = '(1,1)'::tid)
2357 -> Index Scan using t3_pkey on t3
2358 Index Cond: (c1 = t1.c1)
2359 Filter: (ctid = '(1,1)'::tid)
2360 -> Bitmap Heap Scan on t4
2361 Recheck Cond: (c1 = t1.c1)
2362 Filter: (ctid = '(1,1)'::tid)
2363 -> Bitmap Index Scan on t4_pkey
2364 Index Cond: (c1 = t1.c1)
2367 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2369 -----------------------------------------------------------------
2372 Join Filter: (b1t1.c1 = b1t4.c1)
2374 Join Filter: (b1t1.c1 = b1t3.c1)
2376 Join Filter: (b1t1.c1 = b1t2.c1)
2379 TID Cond: (ctid = '(1,1)'::tid)
2381 -> Tid Scan on t1 b1t1
2382 TID Cond: (ctid = '(1,1)'::tid)
2383 -> Seq Scan on t2 b1t2
2384 Filter: (ctid = '(1,1)'::tid)
2385 -> Tid Scan on t3 b1t3
2386 TID Cond: (ctid = '(1,1)'::tid)
2387 -> Tid Scan on t4 b1t4
2388 TID Cond: (ctid = '(1,1)'::tid)
2392 Join Filter: (b2t1.c1 = b2t4.c1)
2394 Join Filter: (b2t1.c1 = b2t3.c1)
2396 Join Filter: (b2t1.c1 = b2t2.c1)
2399 TID Cond: (ctid = '(1,1)'::tid)
2401 -> Tid Scan on t1 b2t1
2402 TID Cond: (ctid = '(1,1)'::tid)
2403 -> Seq Scan on t2 b2t2
2404 Filter: (ctid = '(1,1)'::tid)
2405 -> Tid Scan on t3 b2t3
2406 TID Cond: (ctid = '(1,1)'::tid)
2407 -> Tid Scan on t4 b2t4
2408 TID Cond: (ctid = '(1,1)'::tid)
2411 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2412 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2414 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2415 LOG: available indexes for IndexScan(b1t3): t3_pkey
2416 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2421 IndexScan(b1t3 t3_pkey)
2422 BitmapScan(b1t4 t4_pkey)
2425 BitmapScan(b2t1 t1_pkey)
2428 IndexScan(b2t4 t4_pkey)
2432 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2433 LOG: available indexes for IndexScan(b2t4): t4_pkey
2436 BitmapScan(b2t1 t1_pkey)
2439 IndexScan(b2t4 t4_pkey)
2444 IndexScan(b1t3 t3_pkey)
2445 BitmapScan(b1t4 t4_pkey)
2450 ------------------------------------------------------------------------------
2455 Join Filter: (b1t1.c1 = b1t2.c1)
2458 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2459 -> Tid Scan on t1 b1t1
2460 TID Cond: (ctid = '(1,1)'::tid)
2461 -> Seq Scan on t2 b1t2
2462 Filter: (ctid = '(1,1)'::tid)
2463 -> Index Scan using t3_pkey on t3 b1t3
2464 Index Cond: (c1 = b1t1.c1)
2465 Filter: (ctid = '(1,1)'::tid)
2466 -> Bitmap Heap Scan on t4 b1t4
2467 Recheck Cond: (c1 = b1t1.c1)
2468 Filter: (ctid = '(1,1)'::tid)
2469 -> Bitmap Index Scan on t4_pkey
2470 Index Cond: (c1 = b1t1.c1)
2475 Join Filter: (b2t1.c1 = b2t3.c1)
2479 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2480 -> Tid Scan on t2 b2t2
2481 TID Cond: (ctid = '(1,1)'::tid)
2482 -> Bitmap Heap Scan on t1 b2t1
2483 Recheck Cond: (c1 = b2t2.c1)
2484 Filter: (ctid = '(1,1)'::tid)
2485 -> Bitmap Index Scan on t1_pkey
2486 Index Cond: (c1 = b2t2.c1)
2487 -> Seq Scan on t3 b2t3
2488 Filter: (ctid = '(1,1)'::tid)
2489 -> Index Scan using t4_pkey on t4 b2t4
2490 Index Cond: (c1 = b2t1.c1)
2491 Filter: (ctid = '(1,1)'::tid)
2495 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2497 -----------------------------------------------------------------
2500 Join Filter: (t1.c1 = t4.c1)
2502 Join Filter: (t1.c1 = t3.c1)
2504 Join Filter: (t1.c1 = t2.c1)
2507 TID Cond: (ctid = '(1,1)'::tid)
2510 TID Cond: (ctid = '(1,1)'::tid)
2512 Filter: (ctid = '(1,1)'::tid)
2514 TID Cond: (ctid = '(1,1)'::tid)
2516 TID Cond: (ctid = '(1,1)'::tid)
2520 Join Filter: (t1.c1 = t4.c1)
2522 Join Filter: (t1.c1 = t3.c1)
2524 Join Filter: (t1.c1 = t2.c1)
2527 TID Cond: (ctid = '(1,1)'::tid)
2530 TID Cond: (ctid = '(1,1)'::tid)
2532 Filter: (ctid = '(1,1)'::tid)
2534 TID Cond: (ctid = '(1,1)'::tid)
2536 TID Cond: (ctid = '(1,1)'::tid)
2540 Join Filter: (t1.c1 = t4.c1)
2542 Join Filter: (t1.c1 = t3.c1)
2544 Join Filter: (t1.c1 = t2.c1)
2547 TID Cond: (ctid = '(1,1)'::tid)
2550 TID Cond: (ctid = '(1,1)'::tid)
2552 Filter: (ctid = '(1,1)'::tid)
2554 TID Cond: (ctid = '(1,1)'::tid)
2556 TID Cond: (ctid = '(1,1)'::tid)
2559 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2561 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2562 LOG: available indexes for IndexScan(t3): t3_pkey
2563 LOG: available indexes for BitmapScan(t4): t4_pkey
2569 IndexScan(t3 t3_pkey)
2570 BitmapScan(t4 t4_pkey)
2575 LOG: available indexes for IndexScan(t3): t3_pkey
2576 LOG: available indexes for BitmapScan(t4): t4_pkey
2582 IndexScan(t3 t3_pkey)
2583 BitmapScan(t4 t4_pkey)
2588 LOG: available indexes for IndexScan(t3): t3_pkey
2589 LOG: available indexes for BitmapScan(t4): t4_pkey
2595 IndexScan(t3 t3_pkey)
2596 BitmapScan(t4 t4_pkey)
2602 ------------------------------------------------------------------------------
2607 Join Filter: (t1.c1 = t2.c1)
2610 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2612 TID Cond: (ctid = '(1,1)'::tid)
2614 Filter: (ctid = '(1,1)'::tid)
2615 -> Index Scan using t3_pkey on t3
2616 Index Cond: (c1 = t1.c1)
2617 Filter: (ctid = '(1,1)'::tid)
2618 -> Bitmap Heap Scan on t4
2619 Recheck Cond: (c1 = t1.c1)
2620 Filter: (ctid = '(1,1)'::tid)
2621 -> Bitmap Index Scan on t4_pkey
2622 Index Cond: (c1 = t1.c1)
2628 Join Filter: (t1.c1 = t2.c1)
2631 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2633 TID Cond: (ctid = '(1,1)'::tid)
2635 Filter: (ctid = '(1,1)'::tid)
2636 -> Index Scan using t3_pkey on t3
2637 Index Cond: (c1 = t1.c1)
2638 Filter: (ctid = '(1,1)'::tid)
2639 -> Bitmap Heap Scan on t4
2640 Recheck Cond: (c1 = t1.c1)
2641 Filter: (ctid = '(1,1)'::tid)
2642 -> Bitmap Index Scan on t4_pkey
2643 Index Cond: (c1 = t1.c1)
2649 Join Filter: (t1.c1 = t2.c1)
2652 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2654 TID Cond: (ctid = '(1,1)'::tid)
2656 Filter: (ctid = '(1,1)'::tid)
2657 -> Index Scan using t3_pkey on t3
2658 Index Cond: (c1 = t1.c1)
2659 Filter: (ctid = '(1,1)'::tid)
2660 -> Bitmap Heap Scan on t4
2661 Recheck Cond: (c1 = t1.c1)
2662 Filter: (ctid = '(1,1)'::tid)
2663 -> Bitmap Index Scan on t4_pkey
2664 Index Cond: (c1 = t1.c1)
2667 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2669 -----------------------------------------------------------------
2672 Join Filter: (b1t1.c1 = b1t4.c1)
2674 Join Filter: (b1t1.c1 = b1t3.c1)
2676 Join Filter: (b1t1.c1 = b1t2.c1)
2679 TID Cond: (ctid = '(1,1)'::tid)
2681 -> Tid Scan on t1 b1t1
2682 TID Cond: (ctid = '(1,1)'::tid)
2683 -> Seq Scan on t2 b1t2
2684 Filter: (ctid = '(1,1)'::tid)
2685 -> Tid Scan on t3 b1t3
2686 TID Cond: (ctid = '(1,1)'::tid)
2687 -> Tid Scan on t4 b1t4
2688 TID Cond: (ctid = '(1,1)'::tid)
2692 Join Filter: (b2t1.c1 = b2t4.c1)
2694 Join Filter: (b2t1.c1 = b2t3.c1)
2696 Join Filter: (b2t1.c1 = b2t2.c1)
2699 TID Cond: (ctid = '(1,1)'::tid)
2701 -> Tid Scan on t1 b2t1
2702 TID Cond: (ctid = '(1,1)'::tid)
2703 -> Seq Scan on t2 b2t2
2704 Filter: (ctid = '(1,1)'::tid)
2705 -> Tid Scan on t3 b2t3
2706 TID Cond: (ctid = '(1,1)'::tid)
2707 -> Tid Scan on t4 b2t4
2708 TID Cond: (ctid = '(1,1)'::tid)
2712 Join Filter: (b3t1.c1 = b3t4.c1)
2714 Join Filter: (b3t1.c1 = b3t3.c1)
2716 Join Filter: (b3t1.c1 = b3t2.c1)
2719 TID Cond: (ctid = '(1,1)'::tid)
2721 -> Tid Scan on t1 b3t1
2722 TID Cond: (ctid = '(1,1)'::tid)
2723 -> Seq Scan on t2 b3t2
2724 Filter: (ctid = '(1,1)'::tid)
2725 -> Tid Scan on t3 b3t3
2726 TID Cond: (ctid = '(1,1)'::tid)
2727 -> Tid Scan on t4 b3t4
2728 TID Cond: (ctid = '(1,1)'::tid)
2731 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2732 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2733 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
2735 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2736 LOG: available indexes for IndexScan(b1t3): t3_pkey
2737 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2742 IndexScan(b1t3 t3_pkey)
2743 BitmapScan(b1t4 t4_pkey)
2746 BitmapScan(b2t1 t1_pkey)
2749 IndexScan(b2t4 t4_pkey)
2750 IndexScan(b3t1 t1_pkey)
2751 BitmapScan(b3t2 t2_pkey)
2757 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2758 LOG: available indexes for IndexScan(b2t4): t4_pkey
2761 BitmapScan(b2t1 t1_pkey)
2764 IndexScan(b2t4 t4_pkey)
2769 IndexScan(b1t3 t3_pkey)
2770 BitmapScan(b1t4 t4_pkey)
2771 IndexScan(b3t1 t1_pkey)
2772 BitmapScan(b3t2 t2_pkey)
2778 LOG: available indexes for IndexScan(b3t1): t1_pkey
2779 LOG: available indexes for BitmapScan(b3t2): t2_pkey
2782 IndexScan(b3t1 t1_pkey)
2783 BitmapScan(b3t2 t2_pkey)
2790 IndexScan(b1t3 t3_pkey)
2791 BitmapScan(b1t4 t4_pkey)
2792 BitmapScan(b2t1 t1_pkey)
2795 IndexScan(b2t4 t4_pkey)
2800 ------------------------------------------------------------------------------
2805 Join Filter: (b1t1.c1 = b1t2.c1)
2808 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2809 -> Tid Scan on t1 b1t1
2810 TID Cond: (ctid = '(1,1)'::tid)
2811 -> Seq Scan on t2 b1t2
2812 Filter: (ctid = '(1,1)'::tid)
2813 -> Index Scan using t3_pkey on t3 b1t3
2814 Index Cond: (c1 = b1t1.c1)
2815 Filter: (ctid = '(1,1)'::tid)
2816 -> Bitmap Heap Scan on t4 b1t4
2817 Recheck Cond: (c1 = b1t1.c1)
2818 Filter: (ctid = '(1,1)'::tid)
2819 -> Bitmap Index Scan on t4_pkey
2820 Index Cond: (c1 = b1t1.c1)
2825 Join Filter: (b2t1.c1 = b2t3.c1)
2829 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2830 -> Tid Scan on t2 b2t2
2831 TID Cond: (ctid = '(1,1)'::tid)
2832 -> Bitmap Heap Scan on t1 b2t1
2833 Recheck Cond: (c1 = b2t2.c1)
2834 Filter: (ctid = '(1,1)'::tid)
2835 -> Bitmap Index Scan on t1_pkey
2836 Index Cond: (c1 = b2t2.c1)
2837 -> Seq Scan on t3 b2t3
2838 Filter: (ctid = '(1,1)'::tid)
2839 -> Index Scan using t4_pkey on t4 b2t4
2840 Index Cond: (c1 = b2t1.c1)
2841 Filter: (ctid = '(1,1)'::tid)
2845 Join Filter: (b3t1.c1 = b3t4.c1)
2850 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2851 -> Tid Scan on t3 b3t3
2852 TID Cond: (ctid = '(1,1)'::tid)
2853 -> Index Scan using t1_pkey on t1 b3t1
2854 Index Cond: (c1 = b3t3.c1)
2855 Filter: (ctid = '(1,1)'::tid)
2856 -> Bitmap Heap Scan on t2 b3t2
2857 Recheck Cond: (c1 = b3t1.c1)
2858 Filter: (ctid = '(1,1)'::tid)
2859 -> Bitmap Index Scan on t2_pkey
2860 Index Cond: (c1 = b3t1.c1)
2861 -> Seq Scan on t4 b3t4
2862 Filter: (ctid = '(1,1)'::tid)
2866 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2868 ------------------------------------
2870 Hash Cond: (v1t1.c1 = v1t1_1.c1)
2871 -> Seq Scan on t1 v1t1
2873 -> Seq Scan on t1 v1t1_1
2876 /*+BitmapScan(v1t1)*/
2877 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2886 ------------------------------------------
2888 -> Index Scan using t1_i1 on t1 v1t1
2889 -> Bitmap Heap Scan on t1 v1t1_1
2890 Recheck Cond: (c1 = v1t1.c1)
2891 -> Bitmap Index Scan on t1_i1
2892 Index Cond: (c1 = v1t1.c1)
2896 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2898 -----------------------------------
2900 Hash Cond: (v1t1.c1 = v1t1_.c1)
2901 -> Seq Scan on t1 v1t1
2903 -> Seq Scan on t1 v1t1_
2906 /*+SeqScan(v1t1)BitmapScan(v1t1_)*/
2907 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2917 ------------------------------------------
2919 -> Seq Scan on t1 v1t1
2920 -> Bitmap Heap Scan on t1 v1t1_
2921 Recheck Cond: (c1 = v1t1.c1)
2922 -> Bitmap Index Scan on t1_i1
2923 Index Cond: (c1 = v1t1.c1)
2927 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2929 ------------------------------------
2931 Hash Cond: (r4t1.c1 = r4t1_1.c1)
2932 -> Seq Scan on t1 r4t1
2934 -> Seq Scan on t1 r4t1_1
2937 /*+BitmapScan(r4t1)*/
2938 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2947 ------------------------------------------
2949 -> Index Scan using t1_i1 on t1 r4t1
2950 -> Bitmap Heap Scan on t1 r4t1_1
2951 Recheck Cond: (c1 = r4t1.c1)
2952 -> Bitmap Index Scan on t1_i1
2953 Index Cond: (c1 = r4t1.c1)
2957 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2959 ----------------------------------
2961 Hash Cond: (r4t1.c1 = r5t1.c1)
2962 -> Seq Scan on t1 r4t1
2964 -> Seq Scan on t1 r5t1
2967 /*+SeqScan(r4t1)BitmapScan(r5t1)*/
2968 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2978 ------------------------------------------
2980 -> Seq Scan on t1 r4t1
2981 -> Bitmap Heap Scan on t1 r5t1
2982 Recheck Cond: (c1 = r4t1.c1)
2983 -> Bitmap Index Scan on t1_i1
2984 Index Cond: (c1 = r4t1.c1)
2988 ---- No. S-2-4 VALUES clause
2991 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
2993 ---------------------------
2994 Values Scan on "*VALUES*"
2995 Filter: (column1 = 1)
2999 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3008 ---------------------------
3009 Values Scan on "*VALUES*"
3010 Filter: (column1 = 1)
3013 /*+SeqScan(*VALUES*)*/
3014 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3023 ---------------------------
3024 Values Scan on "*VALUES*"
3025 Filter: (column1 = 1)
3029 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
3031 ------------------------------------------------------------
3033 Join Filter: ("*VALUES*".column1 = "*VALUES*_1".column1)
3034 -> Values Scan on "*VALUES*"
3035 -> Values Scan on "*VALUES*_1"
3039 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
3040 INFO: hint syntax error at or near ""
3041 DETAIL: SeqScan hint accepts only one relation.
3050 ------------------------------------------------------------
3052 Join Filter: ("*VALUES*".column1 = "*VALUES*_1".column1)
3053 -> Values Scan on "*VALUES*"
3054 -> Values Scan on "*VALUES*_1"
3057 /*+SeqScan(*VALUES*)*/
3058 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
3067 ------------------------------------------------------------
3069 Join Filter: ("*VALUES*".column1 = "*VALUES*_1".column1)
3070 -> Values Scan on "*VALUES*"
3071 -> Values Scan on "*VALUES*_1"
3075 ---- No. S-3-1 scan method hint
3078 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3080 ---------------------
3086 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3095 ---------------------
3101 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3103 ------------------------------
3104 Index Scan using t1_i1 on t1
3105 Index Cond: (c1 = 1)
3109 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3118 --------------------
3124 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3126 ------------------------------
3127 Index Scan using t1_i1 on t1
3128 Index Cond: (c1 = 1)
3132 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3141 ------------------------------
3142 Index Scan using t1_i1 on t1
3143 Index Cond: (c1 = 1)
3147 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3149 ---------------------
3155 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3164 ------------------------------
3165 Index Scan using t1_i1 on t1
3166 Index Cond: (c1 >= 1)
3170 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3172 ---------------------------------
3173 Bitmap Heap Scan on t1
3174 Recheck Cond: (c3 < 10)
3175 -> Bitmap Index Scan on t1_i
3176 Index Cond: (c3 < 10)
3180 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3189 ---------------------------------
3190 Bitmap Heap Scan on t1
3191 Recheck Cond: (c3 < 10)
3192 -> Bitmap Index Scan on t1_i
3193 Index Cond: (c3 < 10)
3197 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3199 ------------------------------
3200 Index Scan using t1_i1 on t1
3201 Index Cond: (c1 = 1)
3205 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3214 ----------------------------------
3215 Bitmap Heap Scan on t1
3216 Recheck Cond: (c1 = 1)
3217 -> Bitmap Index Scan on t1_i1
3218 Index Cond: (c1 = 1)
3222 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3224 -----------------------------------
3226 TID Cond: (ctid = '(1,1)'::tid)
3231 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3240 -----------------------------------
3242 TID Cond: (ctid = '(1,1)'::tid)
3247 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3249 -------------------------------------------------------------
3250 Index Scan using t1_i1 on t1
3251 Index Cond: (c1 = 1)
3252 Filter: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3256 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3265 ---------------------------------------------------------------
3267 TID Cond: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3272 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3274 ---------------------
3280 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3289 ------------------------------
3290 Index Scan using t1_i1 on t1
3291 Index Cond: (c1 >= 1)
3295 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3297 ------------------------------
3298 Index Scan using t1_i1 on t1
3299 Index Cond: (c1 = 1)
3303 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3312 ------------------------------
3313 Index Scan using t1_i1 on t1
3314 Index Cond: (c1 = 1)
3318 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3320 ------------------------------
3321 Index Scan using t1_i1 on t1
3322 Index Cond: (c1 = 1)
3325 /*+NoIndexScan(t1)*/
3326 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3335 ----------------------------------
3336 Bitmap Heap Scan on t1
3337 Recheck Cond: (c1 = 1)
3338 -> Bitmap Index Scan on t1_i1
3339 Index Cond: (c1 = 1)
3343 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3345 ---------------------
3350 /*+NoIndexScan(t1)*/
3351 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3360 ---------------------
3366 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3368 ---------------------------------
3369 Bitmap Heap Scan on t1
3370 Recheck Cond: (c3 < 10)
3371 -> Bitmap Index Scan on t1_i
3372 Index Cond: (c3 < 10)
3375 /*+NoBitmapScan(t1)*/
3376 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3385 ---------------------
3391 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3393 ------------------------------
3394 Index Scan using t1_i1 on t1
3395 Index Cond: (c1 = 1)
3398 /*+NoBitmapScan(t1)*/
3399 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3408 ------------------------------
3409 Index Scan using t1_i1 on t1
3410 Index Cond: (c1 = 1)
3414 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3416 -----------------------------------
3418 TID Cond: (ctid = '(1,1)'::tid)
3423 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3432 ---------------------------------
3433 Index Scan using t1_i1 on t1
3434 Index Cond: (c1 = 1)
3435 Filter: (ctid = '(1,1)'::tid)
3439 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3441 ------------------------------
3442 Index Scan using t1_i1 on t1
3443 Index Cond: (c1 = 1)
3447 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3456 ------------------------------
3457 Index Scan using t1_i1 on t1
3458 Index Cond: (c1 = 1)
3462 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3464 -----------------------------------
3465 Index Only Scan using t1_i1 on t1
3466 Index Cond: (c1 = 1)
3469 /*+IndexOnlyScan(t1)*/
3470 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3479 -----------------------------------
3480 Index Only Scan using t1_i1 on t1
3481 Index Cond: (c1 = 1)
3485 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3487 ---------------------
3492 /*+IndexOnlyScan(t1)*/
3493 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3502 -----------------------------------
3503 Index Only Scan using t1_i1 on t1
3504 Index Cond: (c1 >= 1)
3508 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3510 -----------------------------------
3511 Index Only Scan using t1_i1 on t1
3512 Index Cond: (c1 = 1)
3515 /*+NoIndexOnlyScan(t1)*/
3516 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3525 ------------------------------
3526 Index Scan using t1_i1 on t1
3527 Index Cond: (c1 = 1)
3531 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3533 ---------------------
3538 /*+NoIndexOnlyScan(t1)*/
3539 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3548 ---------------------
3554 ---- No. S-3-3 index name specified
3556 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3558 -----------------------------------
3560 TID Cond: (ctid = '(1,1)'::tid)
3564 SET enable_tidscan TO off;
3565 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3567 ---------------------------------
3568 Index Scan using ti1_i4 on ti1
3569 Index Cond: (c2 = 1)
3570 Filter: (ctid = '(1,1)'::tid)
3573 SET enable_indexscan TO off;
3574 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3576 -----------------------------------
3577 Bitmap Heap Scan on ti1
3578 Recheck Cond: (c2 = 1)
3579 Filter: (ctid = '(1,1)'::tid)
3580 -> Bitmap Index Scan on ti1_i4
3581 Index Cond: (c2 = 1)
3584 RESET enable_tidscan;
3585 RESET enable_indexscan;
3586 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3588 ---------------------
3594 /*+IndexScan(ti1 ti1_i3)*/
3595 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3596 LOG: available indexes for IndexScan(ti1): ti1_i3
3599 IndexScan(ti1 ti1_i3)
3605 ---------------------------------
3606 Index Scan using ti1_i3 on ti1
3607 Index Cond: (c2 = 1)
3608 Filter: (ctid = '(1,1)'::tid)
3612 /*+IndexScan(ti1 ti1_i3 ti1_i2)*/
3613 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3614 LOG: available indexes for IndexScan(ti1): ti1_i3 ti1_i2
3617 IndexScan(ti1 ti1_i3 ti1_i2)
3623 ---------------------------------
3624 Index Scan using ti1_i3 on ti1
3625 Index Cond: (c2 = 1)
3626 Filter: (ctid = '(1,1)'::tid)
3630 /*+IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3631 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3632 LOG: available indexes for IndexScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3635 IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3641 ---------------------------------
3642 Index Scan using ti1_i4 on ti1
3643 Index Cond: (c2 = 1)
3644 Filter: (ctid = '(1,1)'::tid)
3648 /*+BitmapScan(ti1 ti1_i3)*/
3649 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3650 LOG: available indexes for BitmapScan(ti1): ti1_i3
3653 BitmapScan(ti1 ti1_i3)
3659 -----------------------------------
3660 Bitmap Heap Scan on ti1
3661 Recheck Cond: (c2 = 1)
3662 Filter: (ctid = '(1,1)'::tid)
3663 -> Bitmap Index Scan on ti1_i3
3664 Index Cond: (c2 = 1)
3668 /*+BitmapScan(ti1 ti1_i3 ti1_i2)*/
3669 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3670 LOG: available indexes for BitmapScan(ti1): ti1_i3 ti1_i2
3673 BitmapScan(ti1 ti1_i3 ti1_i2)
3679 -----------------------------------
3680 Bitmap Heap Scan on ti1
3681 Recheck Cond: (c2 = 1)
3682 Filter: (ctid = '(1,1)'::tid)
3683 -> Bitmap Index Scan on ti1_i3
3684 Index Cond: (c2 = 1)
3688 /*+BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3689 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3690 LOG: available indexes for BitmapScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3693 BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3699 -----------------------------------
3700 Bitmap Heap Scan on ti1
3701 Recheck Cond: (c2 = 1)
3702 Filter: (ctid = '(1,1)'::tid)
3703 -> Bitmap Index Scan on ti1_i4
3704 Index Cond: (c2 = 1)
3708 /*+IndexOnlyScan(ti1 ti1_i3)*/
3709 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3710 LOG: available indexes for IndexOnlyScan(ti1): ti1_i3
3713 IndexOnlyScan(ti1 ti1_i3)
3719 -------------------------------------
3720 Index Only Scan using ti1_i3 on ti1
3721 Index Cond: (c2 >= 1)
3725 /*+IndexOnlyScan(ti1 ti1_i3 ti1_i2)*/
3726 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3727 LOG: available indexes for IndexOnlyScan(ti1): ti1_i3 ti1_i2
3730 IndexOnlyScan(ti1 ti1_i3 ti1_i2)
3736 -------------------------------------
3737 Index Only Scan using ti1_i2 on ti1
3738 Index Cond: (c2 >= 1)
3742 /*+IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3743 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3744 LOG: available indexes for IndexOnlyScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3747 IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3753 -------------------------------------
3754 Index Only Scan using ti1_i1 on ti1
3755 Index Cond: (c2 >= 1)
3759 ---- No. S-3-4 index type
3763 Column | Type | Modifiers
3764 --------+---------+-----------
3765 c1 | integer | not null
3770 "ti1_pkey" PRIMARY KEY, btree (c1)
3771 "ti1_c2_key" UNIQUE CONSTRAINT, btree (c2)
3772 "ti1_uniq" UNIQUE, btree (c1)
3773 "ti1_btree" btree (c1)
3774 "ti1_expr" btree ((c1 < 100))
3776 "ti1_gist" gist (c1)
3777 "ti1_hash" hash (c1)
3779 "ti1_i2" btree (c2, c4)
3780 "ti1_i3" btree (c2, c4, c4)
3781 "ti1_i4" btree (c2, c4, c4, c4)
3782 "ti1_multi" btree (c1, c2, c3, c4)
3783 "ti1_pred" btree (lower(c4))
3784 "ti1_ts" gin (to_tsvector('english'::regconfig, c4))
3786 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)';
3788 -----------------------------------------------------------------------------------------------------------------------------------------
3790 TID Cond: (ctid = '(1,1)'::tid)
3791 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3795 /*+IndexScan(ti1 ti1_btree)*/
3796 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)';
3797 LOG: available indexes for IndexScan(ti1): ti1_btree
3800 IndexScan(ti1 ti1_btree)
3806 ----------------------------------------------------------------------------------------------------------------------------------------------------
3807 Index Scan using ti1_btree on ti1
3808 Index Cond: (c1 < 100)
3809 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3813 /*+IndexScan(ti1 ti1_hash)*/
3814 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)';
3815 LOG: available indexes for IndexScan(ti1): ti1_hash
3818 IndexScan(ti1 ti1_hash)
3824 ----------------------------------------------------------------------------------------------------------------------------------------------------
3825 Index Scan using ti1_hash on ti1
3826 Index Cond: (c1 = 100)
3827 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3831 /*+IndexScan(ti1 ti1_gist)*/
3832 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)';
3833 LOG: available indexes for IndexScan(ti1): ti1_gist
3836 IndexScan(ti1 ti1_gist)
3842 ----------------------------------------------------------------------------------------------------------------------------------------------------
3843 Index Scan using ti1_gist on ti1
3844 Index Cond: (c1 < 100)
3845 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3849 /*+IndexScan(ti1 ti1_gin)*/
3850 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)';
3851 LOG: available indexes for IndexScan(ti1): ti1_gin
3854 IndexScan(ti1 ti1_gin)
3860 -----------------------------------------------------------------------------------------------------------------------------------------
3862 TID Cond: (ctid = '(1,1)'::tid)
3863 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3867 /*+IndexScan(ti1 ti1_expr)*/
3868 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)';
3869 LOG: available indexes for IndexScan(ti1): ti1_expr
3872 IndexScan(ti1 ti1_expr)
3878 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
3879 Index Scan using ti1_expr on ti1
3880 Index Cond: ((c1 < 100) = true)
3881 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))
3885 /*+IndexScan(ti1 ti1_pred)*/
3886 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)';
3887 LOG: available indexes for IndexScan(ti1): ti1_pred
3890 IndexScan(ti1 ti1_pred)
3896 ---------------------------------------------------------------------------------------------------------------------------------------
3897 Index Scan using ti1_pred on ti1
3898 Index Cond: (lower(c4) = '1'::text)
3899 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3903 /*+IndexScan(ti1 ti1_uniq)*/
3904 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)';
3905 LOG: available indexes for IndexScan(ti1): ti1_uniq
3908 IndexScan(ti1 ti1_uniq)
3914 ----------------------------------------------------------------------------------------------------------------------------------------------------
3915 Index Scan using ti1_uniq on ti1
3916 Index Cond: (c1 < 100)
3917 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3921 /*+IndexScan(ti1 ti1_multi)*/
3922 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)';
3923 LOG: available indexes for IndexScan(ti1): ti1_multi
3926 IndexScan(ti1 ti1_multi)
3932 ---------------------------------------------------------------------------------------------------------------------------------------
3933 Index Scan using ti1_multi on ti1
3934 Index Cond: ((c1 < 100) AND (c2 = 1))
3935 Filter: ((ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3939 /*+IndexScan(ti1 ti1_ts)*/
3940 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)';
3941 LOG: available indexes for IndexScan(ti1): ti1_ts
3944 IndexScan(ti1 ti1_ts)
3950 -----------------------------------------------------------------------------------------------------------------------------------------
3952 TID Cond: (ctid = '(1,1)'::tid)
3953 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3957 /*+IndexScan(ti1 ti1_pkey)*/
3958 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)';
3959 LOG: available indexes for IndexScan(ti1): ti1_pkey
3962 IndexScan(ti1 ti1_pkey)
3968 ----------------------------------------------------------------------------------------------------------------------------------------------------
3969 Index Scan using ti1_pkey on ti1
3970 Index Cond: (c1 < 100)
3971 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3975 /*+IndexScan(ti1 ti1_c2_key)*/
3976 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3977 LOG: available indexes for IndexScan(ti1): ti1_c2_key
3980 IndexScan(ti1 ti1_c2_key)
3986 ------------------------------------------------------------------------------------------------------------------------------------------------------
3987 Index Scan using ti1_c2_key on ti1
3988 Index Cond: (c2 = 1)
3989 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3993 /*+BitmapScan(ti1 ti1_btree)*/
3994 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)';
3995 LOG: available indexes for BitmapScan(ti1): ti1_btree
3998 BitmapScan(ti1 ti1_btree)
4004 ----------------------------------------------------------------------------------------------------------------------------------------------------
4005 Bitmap Heap Scan on ti1
4006 Recheck Cond: (c1 < 100)
4007 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4008 -> Bitmap Index Scan on ti1_btree
4009 Index Cond: (c1 < 100)
4013 /*+BitmapScan(ti1 ti1_hash)*/
4014 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)';
4015 LOG: available indexes for BitmapScan(ti1): ti1_hash
4018 BitmapScan(ti1 ti1_hash)
4024 ----------------------------------------------------------------------------------------------------------------------------------------------------
4025 Bitmap Heap Scan on ti1
4026 Recheck Cond: (c1 = 100)
4027 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4028 -> Bitmap Index Scan on ti1_hash
4029 Index Cond: (c1 = 100)
4033 /*+BitmapScan(ti1 ti1_gist)*/
4034 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)';
4035 LOG: available indexes for BitmapScan(ti1): ti1_gist
4038 BitmapScan(ti1 ti1_gist)
4044 ----------------------------------------------------------------------------------------------------------------------------------------------------
4045 Bitmap Heap Scan on ti1
4046 Recheck Cond: (c1 < 100)
4047 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4048 -> Bitmap Index Scan on ti1_gist
4049 Index Cond: (c1 < 100)
4053 /*+BitmapScan(ti1 ti1_gin)*/
4054 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)';
4055 LOG: available indexes for BitmapScan(ti1): ti1_gin
4058 BitmapScan(ti1 ti1_gin)
4064 ----------------------------------------------------------------------------------------------------------------------------------------------------
4065 Bitmap Heap Scan on ti1
4066 Recheck Cond: (c1 < 100)
4067 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4068 -> Bitmap Index Scan on ti1_gin
4069 Index Cond: (c1 < 100)
4073 /*+BitmapScan(ti1 ti1_expr)*/
4074 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)';
4075 LOG: available indexes for BitmapScan(ti1): ti1_expr
4078 BitmapScan(ti1 ti1_expr)
4084 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
4085 Bitmap Heap Scan on ti1
4086 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))
4087 -> Bitmap Index Scan on ti1_expr
4088 Index Cond: ((c1 < 100) = true)
4092 /*+BitmapScan(ti1 ti1_pred)*/
4093 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)';
4094 LOG: available indexes for BitmapScan(ti1): ti1_pred
4097 BitmapScan(ti1 ti1_pred)
4103 ---------------------------------------------------------------------------------------------------------------------------------------
4104 Bitmap Heap Scan on ti1
4105 Recheck Cond: (lower(c4) = '1'::text)
4106 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4107 -> Bitmap Index Scan on ti1_pred
4108 Index Cond: (lower(c4) = '1'::text)
4112 /*+BitmapScan(ti1 ti1_uniq)*/
4113 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)';
4114 LOG: available indexes for BitmapScan(ti1): ti1_uniq
4117 BitmapScan(ti1 ti1_uniq)
4123 ----------------------------------------------------------------------------------------------------------------------------------------------------
4124 Bitmap Heap Scan on ti1
4125 Recheck Cond: (c1 < 100)
4126 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4127 -> Bitmap Index Scan on ti1_uniq
4128 Index Cond: (c1 < 100)
4132 /*+BitmapScan(ti1 ti1_multi)*/
4133 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)';
4134 LOG: available indexes for BitmapScan(ti1): ti1_multi
4137 BitmapScan(ti1 ti1_multi)
4143 ---------------------------------------------------------------------------------------------------------------------------------------
4144 Bitmap Heap Scan on ti1
4145 Recheck Cond: ((c1 < 100) AND (c2 = 1))
4146 Filter: ((ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4147 -> Bitmap Index Scan on ti1_multi
4148 Index Cond: ((c1 < 100) AND (c2 = 1))
4152 /*+BitmapScan(ti1 ti1_ts)*/
4153 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)';
4154 LOG: available indexes for BitmapScan(ti1): ti1_ts
4157 BitmapScan(ti1 ti1_ts)
4163 -------------------------------------------------------------------------------------------
4164 Bitmap Heap Scan on ti1
4165 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4166 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text))
4167 -> Bitmap Index Scan on ti1_ts
4168 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4172 /*+BitmapScan(ti1 ti1_pkey)*/
4173 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)';
4174 LOG: available indexes for BitmapScan(ti1): ti1_pkey
4177 BitmapScan(ti1 ti1_pkey)
4183 ----------------------------------------------------------------------------------------------------------------------------------------------------
4184 Bitmap Heap Scan on ti1
4185 Recheck Cond: (c1 < 100)
4186 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4187 -> Bitmap Index Scan on ti1_pkey
4188 Index Cond: (c1 < 100)
4192 /*+BitmapScan(ti1 ti1_c2_key)*/
4193 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)';
4194 LOG: available indexes for BitmapScan(ti1): ti1_c2_key
4197 BitmapScan(ti1 ti1_c2_key)
4203 ------------------------------------------------------------------------------------------------------------------------------------------------------
4204 Bitmap Heap Scan on ti1
4205 Recheck Cond: (c2 = 1)
4206 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4207 -> Bitmap Index Scan on ti1_c2_key
4208 Index Cond: (c2 = 1)
4212 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4214 ---------------------
4219 /*+IndexOnlyScan(ti1 ti1_btree)*/
4220 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4221 LOG: available indexes for IndexOnlyScan(ti1): ti1_btree
4224 IndexOnlyScan(ti1 ti1_btree)
4230 ----------------------------------------
4231 Index Only Scan using ti1_btree on ti1
4232 Index Cond: (c1 >= 1)
4236 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4238 ----------------------------------
4239 Index Scan using ti1_hash on ti1
4240 Index Cond: (c1 = 1)
4243 /*+IndexOnlyScan(ti1 ti1_hash)*/
4244 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4245 LOG: available indexes for IndexOnlyScan(ti1): ti1_hash
4248 IndexOnlyScan(ti1 ti1_hash)
4254 ----------------------------------
4255 Index Scan using ti1_hash on ti1
4256 Index Cond: (c1 = 1)
4260 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4262 ---------------------------------------
4263 Index Only Scan using ti1_uniq on ti1
4264 Index Cond: (c1 < 1)
4267 /*+IndexOnlyScan(ti1 ti1_gist)*/
4268 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4269 LOG: available indexes for IndexOnlyScan(ti1): ti1_gist
4272 IndexOnlyScan(ti1 ti1_gist)
4278 ----------------------------------
4279 Index Scan using ti1_gist on ti1
4280 Index Cond: (c1 < 1)
4284 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4286 ----------------------------------
4287 Index Scan using ti1_hash on ti1
4288 Index Cond: (c1 = 1)
4291 /*+IndexOnlyScan(ti1 ti1_gin)*/
4292 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4293 LOG: available indexes for IndexOnlyScan(ti1): ti1_gin
4296 IndexOnlyScan(ti1 ti1_gin)
4302 ------------------------------------
4303 Bitmap Heap Scan on ti1
4304 Recheck Cond: (c1 = 1)
4305 -> Bitmap Index Scan on ti1_gin
4306 Index Cond: (c1 = 1)
4310 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4312 ---------------------------------------
4313 Index Only Scan using ti1_uniq on ti1
4314 Index Cond: (c1 < 100)
4317 /*+IndexOnlyScan(ti1 ti1_expr)*/
4318 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4319 LOG: available indexes for IndexOnlyScan(ti1): ti1_expr
4322 IndexOnlyScan(ti1 ti1_expr)
4328 -----------------------------------
4329 Index Scan using ti1_expr on ti1
4330 Index Cond: ((c1 < 100) = true)
4335 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4337 ------------------------------------
4339 Filter: (lower(c4) >= '1'::text)
4342 /*+IndexOnlyScan(ti1 ti1_pred)*/
4343 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4344 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
4347 IndexOnlyScan(ti1 ti1_pred)
4353 ----------------------------------------
4354 Index Scan using ti1_pred on ti1
4355 Index Cond: (lower(c4) >= '1'::text)
4359 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4361 ---------------------
4366 /*+IndexOnlyScan(ti1 ti1_uniq)*/
4367 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4368 LOG: available indexes for IndexOnlyScan(ti1): ti1_uniq
4371 IndexOnlyScan(ti1 ti1_uniq)
4377 ---------------------------------------
4378 Index Only Scan using ti1_uniq on ti1
4379 Index Cond: (c1 >= 1)
4383 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4385 ---------------------
4390 /*+IndexOnlyScan(ti1 ti1_multi)*/
4391 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4392 LOG: available indexes for IndexOnlyScan(ti1): ti1_multi
4395 IndexOnlyScan(ti1 ti1_multi)
4401 ----------------------------------------
4402 Index Only Scan using ti1_multi on ti1
4403 Index Cond: (c1 >= 1)
4407 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4409 -----------------------------------------------------------------------------------------
4410 Bitmap Heap Scan on ti1
4411 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4412 -> Bitmap Index Scan on ti1_ts
4413 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4416 /*+IndexOnlyScan(ti1 ti1_ts)*/
4417 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4418 LOG: available indexes for IndexOnlyScan(ti1): ti1_ts
4421 IndexOnlyScan(ti1 ti1_ts)
4427 -----------------------------------------------------------------------------------------
4428 Bitmap Heap Scan on ti1
4429 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4430 -> Bitmap Index Scan on ti1_ts
4431 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4435 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4437 ---------------------
4442 /*+IndexOnlyScan(ti1 ti1_pkey)*/
4443 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4444 LOG: available indexes for IndexOnlyScan(ti1): ti1_pkey
4447 IndexOnlyScan(ti1 ti1_pkey)
4453 ---------------------------------------
4454 Index Only Scan using ti1_pkey on ti1
4455 Index Cond: (c1 >= 1)
4459 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4461 ---------------------
4466 /*+IndexOnlyScan(ti1 ti1_c2_key)*/
4467 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4468 LOG: available indexes for IndexOnlyScan(ti1): ti1_c2_key
4471 IndexOnlyScan(ti1 ti1_c2_key)
4477 -----------------------------------------
4478 Index Only Scan using ti1_c2_key on ti1
4479 Index Cond: (c2 >= 1)
4483 ---- No. S-3-5 not used index
4486 /*+IndexScan(ti1 ti1_pred)*/
4487 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4488 LOG: available indexes for IndexScan(ti1): ti1_pred
4491 IndexScan(ti1 ti1_pred)
4497 ------------------------------------------------------------------------
4498 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4503 /*+BitmapScan(ti1 ti1_pred)*/
4504 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4505 LOG: available indexes for BitmapScan(ti1): ti1_pred
4508 BitmapScan(ti1 ti1_pred)
4514 ------------------------------------------------------------------------
4515 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4520 /*+IndexOnlyScan(ti1 ti1_pred)*/
4521 EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
4522 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
4525 IndexOnlyScan(ti1 ti1_pred)
4531 -----------------------------------------------------------------------
4532 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=4)
4537 /*+IndexScan(ti1 not_exist)*/
4538 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4539 LOG: available indexes for IndexScan(ti1):
4542 IndexScan(ti1 not_exist)
4548 ------------------------------------------------------------------------
4549 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4554 /*+BitmapScan(ti1 not_exist)*/
4555 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4556 LOG: available indexes for BitmapScan(ti1):
4559 BitmapScan(ti1 not_exist)
4565 ------------------------------------------------------------------------
4566 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4571 /*+IndexOnlyScan(ti1 not_exist)*/
4572 EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
4573 LOG: available indexes for IndexOnlyScan(ti1):
4576 IndexOnlyScan(ti1 not_exist)
4582 -----------------------------------------------------------------------
4583 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=4)
4588 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
4590 ------------------------------
4591 Index Scan using t1_i1 on t1
4592 Index Cond: (c1 = 1)
4596 EXPLAIN (COSTS true) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
4605 -----------------------------------------------------------------------
4606 Seq Scan on t1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4611 ---- No. S-3-6 query structure
4613 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4615 -----------------------------------------------
4617 Hash Cond: (t2.c1 = t1.c1)
4621 TID Cond: (ctid = '(1,1)'::tid)
4626 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE c1 = 100;
4635 ----------------------
4641 /*+SeqScan(t1)BitmapScan(t2)*/
4642 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4652 ----------------------------------------
4655 Filter: (ctid = '(1,1)'::tid)
4656 -> Bitmap Heap Scan on t2
4657 Recheck Cond: (c1 = t1.c1)
4658 -> Bitmap Index Scan on t2_i1
4659 Index Cond: (c1 = t1.c1)
4664 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4673 ---------------------------------------------
4675 Hash Cond: (t2.c1 = t1.c1)
4679 Filter: (ctid = '(1,1)'::tid)
4683 ---- No. S-3-7 number of tables in a query block
4686 EXPLAIN (COSTS false)
4688 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4689 SELECT max(b3t1.c1), (
4690 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4691 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4692 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4694 ---------------------------------------------------------------------
4696 InitPlan 2 (returns $1)
4698 InitPlan 1 (returns $0)
4700 -> Index Only Scan using t1_i1 on t1 b2t1
4701 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4702 InitPlan 4 (returns $3)
4704 InitPlan 3 (returns $2)
4706 -> Index Only Scan using t1_i1 on t1 b4t1
4707 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4708 InitPlan 5 (returns $4)
4710 -> Index Only Scan using t1_i1 on t1 b3t1
4711 Index Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4714 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4716 EXPLAIN (COSTS false)
4718 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4719 SELECT max(b3t1.c1), (
4720 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4721 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4722 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4723 LOG: available indexes for IndexScan(b2t1): t1_pkey
4724 LOG: available indexes for IndexScan(b2t1): t1_pkey
4725 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4726 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4729 IndexScan(b2t1 t1_pkey)
4730 BitmapScan(b3t1 t1_pkey)
4738 ---------------------------------------------------------------------
4740 InitPlan 2 (returns $1)
4742 InitPlan 1 (returns $0)
4744 -> Index Scan using t1_pkey on t1 b2t1
4745 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4746 InitPlan 4 (returns $3)
4748 InitPlan 3 (returns $2)
4750 -> Seq Scan on t1 b4t1
4751 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4752 InitPlan 5 (returns $4)
4754 -> Bitmap Heap Scan on t1 b3t1
4755 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4756 -> Bitmap Index Scan on t1_pkey
4757 Index Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4761 EXPLAIN (COSTS false)
4763 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4764 SELECT max(b3t1.c1), (
4765 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4766 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4767 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4769 ------------------------------------------------------------
4774 -> Index Only Scan using t1_i1 on t1 b1t1
4775 Index Cond: (c1 = 1)
4776 -> Seq Scan on t2 b1t2
4778 InitPlan 2 (returns $1)
4781 -> Index Only Scan using t1_i1 on t1 b2t1
4782 Index Cond: (c1 = 1)
4783 -> Seq Scan on t2 b2t2
4785 InitPlan 3 (returns $2)
4788 -> Index Only Scan using t1_i1 on t1 b4t1
4789 Index Cond: (c1 = 1)
4790 -> Seq Scan on t2 b4t2
4794 -> Index Only Scan using t1_i1 on t1 b3t1
4795 Index Cond: (c1 = $2)
4796 -> Seq Scan on t2 b3t2
4802 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4803 TidScan(b1t2)SeqScan(b2t2)IndexScan(b3t2 t2_pkey)BitmapScan(b4t2 t2_pkey)
4805 EXPLAIN (COSTS false)
4807 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4808 SELECT max(b3t1.c1), (
4809 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4810 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4811 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4812 LOG: available indexes for IndexScan(b2t1): t1_pkey
4813 LOG: available indexes for BitmapScan(b4t2): t2_pkey
4814 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4815 LOG: available indexes for IndexScan(b3t2): t2_pkey
4820 IndexScan(b2t1 t1_pkey)
4822 BitmapScan(b3t1 t1_pkey)
4823 IndexScan(b3t2 t2_pkey)
4825 BitmapScan(b4t2 t2_pkey)
4831 ---------------------------------------------------------
4836 -> Seq Scan on t1 b1t1
4838 -> Seq Scan on t2 b1t2
4840 InitPlan 2 (returns $1)
4843 -> Index Scan using t1_pkey on t1 b2t1
4844 Index Cond: (c1 = 1)
4845 -> Seq Scan on t2 b2t2
4847 InitPlan 3 (returns $2)
4850 -> Seq Scan on t1 b4t1
4852 -> Bitmap Heap Scan on t2 b4t2
4853 Recheck Cond: (c1 = 1)
4854 -> Bitmap Index Scan on t2_pkey
4855 Index Cond: (c1 = 1)
4858 -> Bitmap Heap Scan on t1 b3t1
4859 Recheck Cond: (c1 = $2)
4860 -> Bitmap Index Scan on t1_pkey
4861 Index Cond: (c1 = $2)
4862 -> Index Scan using t2_pkey on t2 b3t2
4863 Index Cond: (c1 = $2)
4869 EXPLAIN (COSTS false)
4871 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4872 SELECT max(b3t1.c1), (
4873 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4874 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4875 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4877 ---------------------------------------------------------------------
4882 -> Index Only Scan using t1_i1 on t1 b1t1
4883 Index Cond: (c1 = 1)
4884 -> Seq Scan on t2 b1t2
4886 InitPlan 3 (returns $2)
4888 InitPlan 2 (returns $1)
4890 -> Index Only Scan using t1_i1 on t1 b2t1
4891 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4892 InitPlan 5 (returns $4)
4894 InitPlan 4 (returns $3)
4896 -> Index Only Scan using t1_i1 on t1 b4t1
4897 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4900 -> Index Only Scan using t1_i1 on t1 b3t1
4901 Index Cond: (c1 = $4)
4902 -> Seq Scan on t2 b3t2
4908 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4909 TidScan(b1t2)IndexScan(b3t2 t2_pkey)
4911 EXPLAIN (COSTS false)
4913 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4914 SELECT max(b3t1.c1), (
4915 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4916 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4917 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4918 LOG: available indexes for IndexScan(b2t1): t1_pkey
4919 LOG: available indexes for IndexScan(b2t1): t1_pkey
4920 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4921 LOG: available indexes for IndexScan(b3t2): t2_pkey
4926 IndexScan(b2t1 t1_pkey)
4927 BitmapScan(b3t1 t1_pkey)
4928 IndexScan(b3t2 t2_pkey)
4935 ---------------------------------------------------------------------
4940 -> Seq Scan on t1 b1t1
4942 -> Seq Scan on t2 b1t2
4944 InitPlan 3 (returns $2)
4946 InitPlan 2 (returns $1)
4948 -> Index Scan using t1_pkey on t1 b2t1
4949 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4950 InitPlan 5 (returns $4)
4952 InitPlan 4 (returns $3)
4954 -> Seq Scan on t1 b4t1
4955 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4958 -> Bitmap Heap Scan on t1 b3t1
4959 Recheck Cond: (c1 = $4)
4960 -> Bitmap Index Scan on t1_pkey
4961 Index Cond: (c1 = $4)
4962 -> Index Scan using t2_pkey on t2 b3t2
4963 Index Cond: (c1 = $4)
4969 ---- No. S-3-8 inheritance table select type
4972 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4974 --------------------
4980 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4989 -----------------------------
4990 Index Scan using p1_i on p1
4991 Index Cond: (c1 = 1)
4995 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4997 --------------------------
5006 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5015 ---------------------------------------
5017 -> Index Scan using p1_i on p1
5018 Index Cond: (c1 = 1)
5019 -> Index Scan using p1c1_i on p1c1
5020 Index Cond: (c1 = 1)
5024 ---- No. S-3-9 inheritance table number
5027 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5029 --------------------------
5038 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5047 ---------------------------------------
5049 -> Index Scan using p1_i on p1
5050 Index Cond: (c1 = 1)
5051 -> Index Scan using p1c1_i on p1c1
5052 Index Cond: (c1 = 1)
5056 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5058 --------------------------
5064 -> Seq Scan on p2c1c1
5069 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5078 -------------------------------------------
5080 -> Index Scan using p2_i on p2
5081 Index Cond: (c1 = 1)
5082 -> Index Scan using p2c1_i on p2c1
5083 Index Cond: (c1 = 1)
5084 -> Index Scan using p2c1c1_i on p2c1c1
5085 Index Cond: (c1 = 1)
5089 ---- No. S-3-10 inheritance table specified table
5091 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5093 --------------------------
5099 -> Seq Scan on p2c1c1
5105 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5114 -------------------------------------------
5116 -> Index Scan using p2_i on p2
5117 Index Cond: (c1 = 1)
5118 -> Index Scan using p2c1_i on p2c1
5119 Index Cond: (c1 = 1)
5120 -> Index Scan using p2c1c1_i on p2c1c1
5121 Index Cond: (c1 = 1)
5125 /*+IndexScan(p2c1)*/
5126 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5135 --------------------------
5141 -> Seq Scan on p2c1c1
5146 EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5148 ----------------------------------------------------------
5149 Append (cost=0.00..2.75 rows=4 width=10)
5150 -> Seq Scan on p1 (cost=0.00..0.00 rows=1 width=32)
5151 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5152 -> Seq Scan on p1c1 (cost=0.00..2.75 rows=3 width=2)
5153 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5156 /*+IndexScan(p1 p1_parent)*/
5157 EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5158 LOG: available indexes for IndexScan(p1): p1_parent
5159 LOG: available indexes for IndexScan(p1c1): p1c1_c4_expr_idx
5160 LOG: available indexes for IndexScan(p1c2): p1c2_c4_expr_idx
5161 LOG: available indexes for IndexScan(p1c3): p1c3_c4_expr_idx
5164 IndexScan(p1 p1_parent)
5170 ------------------------------------------------------------------------------------
5171 Append (cost=0.12..20.48 rows=4 width=10)
5172 -> Index Scan using p1_parent on p1 (cost=0.12..8.15 rows=1 width=32)
5173 Filter: ((c2 * 2) < 100)
5174 -> Index Scan using p1c1_c4_expr_idx on p1c1 (cost=0.14..12.34 rows=3 width=2)
5175 Filter: ((c2 * 2) < 100)
5179 /*+IndexScan(p1 p1_i2)*/
5180 EXPLAIN SELECT c2 FROM s1.p1 WHERE c2 = 1;
5181 LOG: available indexes for IndexScan(p1): p1_i2
5182 LOG: available indexes for IndexScan(p1c1):
5183 LOG: available indexes for IndexScan(p1c2):
5184 LOG: available indexes for IndexScan(p1c3):
5193 ------------------------------------------------------------------------------
5194 Append (cost=0.12..30000000014.89 rows=4 width=4)
5195 -> Index Scan using p1_i2 on p1 (cost=0.12..8.14 rows=1 width=4)
5196 Index Cond: (c2 = 1)
5197 -> Seq Scan on p1c1 (cost=10000000000.00..10000000002.25 rows=1 width=4)
5199 -> Seq Scan on p1c2 (cost=10000000000.00..10000000002.25 rows=1 width=4)
5201 -> Seq Scan on p1c3 (cost=10000000000.00..10000000002.25 rows=1 width=4)
5206 /*+IndexScan(p2 p2c1_pkey)*/
5207 EXPLAIN (COSTS true) SELECT * FROM s1.p2 WHERE c1 = 1;
5208 LOG: available indexes for IndexScan(p2):
5209 LOG: available indexes for IndexScan(p2c1): p2c1_pkey
5210 LOG: available indexes for IndexScan(p2c2):
5211 LOG: available indexes for IndexScan(p2c3):
5212 LOG: available indexes for IndexScan(p2c1c1):
5213 LOG: available indexes for IndexScan(p2c1c2):
5214 LOG: available indexes for IndexScan(p2c2c1):
5215 LOG: available indexes for IndexScan(p2c2c2):
5216 LOG: available indexes for IndexScan(p2c3c1):
5217 LOG: available indexes for IndexScan(p2c3c2):
5220 IndexScan(p2 p2c1_pkey)
5226 ---------------------------------------------------------------------------------
5227 Append (cost=10000000000.00..20000000009.77 rows=3 width=34)
5228 -> Seq Scan on p2 (cost=10000000000.00..10000000000.00 rows=1 width=44)
5230 -> Index Scan using p2c1_pkey on p2c1 (cost=0.12..8.14 rows=1 width=44)
5231 Index Cond: (c1 = 1)
5232 -> Seq Scan on p2c1c1 (cost=10000000000.00..10000000001.62 rows=1 width=14)
5237 ---- No. S-3-12 specified same table
5240 /*+IndexScan(ti1) BitmapScan(ti1)*/
5241 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5242 INFO: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5243 DETAIL: Conflict scan method hint.
5253 -------------------------------------
5254 Bitmap Heap Scan on ti1
5255 Recheck Cond: (c1 = 1)
5256 Filter: (ctid = '(1,1)'::tid)
5257 -> Bitmap Index Scan on ti1_hash
5258 Index Cond: (c1 = 1)
5262 /*+IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5263 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5264 INFO: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5265 DETAIL: Conflict scan method hint.
5266 LOG: available indexes for BitmapScan(ti1): ti1_btree
5269 BitmapScan(ti1 ti1_btree)
5272 IndexScan(ti1 ti1_pkey)
5276 --------------------------------------
5277 Bitmap Heap Scan on ti1
5278 Recheck Cond: (c1 = 1)
5279 Filter: (ctid = '(1,1)'::tid)
5280 -> Bitmap Index Scan on ti1_btree
5281 Index Cond: (c1 = 1)
5285 /*+BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)*/
5286 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5287 INFO: hint syntax error at or near "BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)"
5288 DETAIL: Conflict scan method hint.
5289 INFO: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5290 DETAIL: Conflict scan method hint.
5301 -------------------------------------
5302 Bitmap Heap Scan on ti1
5303 Recheck Cond: (c1 = 1)
5304 Filter: (ctid = '(1,1)'::tid)
5305 -> Bitmap Index Scan on ti1_hash
5306 Index Cond: (c1 = 1)
5310 /*+BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5311 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5312 INFO: hint syntax error at or near "BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5313 DETAIL: Conflict scan method hint.
5314 INFO: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5315 DETAIL: Conflict scan method hint.
5316 LOG: available indexes for BitmapScan(ti1): ti1_btree
5319 BitmapScan(ti1 ti1_btree)
5322 BitmapScan(ti1 ti1_hash)
5323 IndexScan(ti1 ti1_pkey)
5327 --------------------------------------
5328 Bitmap Heap Scan on ti1
5329 Recheck Cond: (c1 = 1)
5330 Filter: (ctid = '(1,1)'::tid)
5331 -> Bitmap Index Scan on ti1_btree
5332 Index Cond: (c1 = 1)
5336 ---- No. S-3-13 message output of hint
5340 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5349 ------------------------------------------------
5351 Filter: ((c1 = 1) AND (ctid = '(1,1)'::tid))
5355 /*+SeqScan(ti1 ti1_pkey)*/
5356 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5357 INFO: hint syntax error at or near ""
5358 DETAIL: SeqScan hint accepts only one relation.
5364 SeqScan(ti1 ti1_pkey)
5367 -----------------------------------
5369 TID Cond: (ctid = '(1,1)'::tid)
5374 /*+SeqScan(ti1 ti1_pkey ti1_btree)*/
5375 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5376 INFO: hint syntax error at or near ""
5377 DETAIL: SeqScan hint accepts only one relation.
5383 SeqScan(ti1 ti1_pkey ti1_btree)
5386 -----------------------------------
5388 TID Cond: (ctid = '(1,1)'::tid)
5394 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5403 ----------------------------------
5404 Index Scan using ti1_hash on ti1
5405 Index Cond: (c1 = 1)
5406 Filter: (ctid = '(1,1)'::tid)
5410 /*+IndexScan(ti1 ti1_pkey)*/
5411 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5412 LOG: available indexes for IndexScan(ti1): ti1_pkey
5415 IndexScan(ti1 ti1_pkey)
5421 ----------------------------------
5422 Index Scan using ti1_pkey on ti1
5423 Index Cond: (c1 = 1)
5424 Filter: (ctid = '(1,1)'::tid)
5428 /*+IndexScan(ti1 ti1_pkey ti1_btree)*/
5429 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5430 LOG: available indexes for IndexScan(ti1): ti1_btree ti1_pkey
5433 IndexScan(ti1 ti1_pkey ti1_btree)
5439 -----------------------------------
5440 Index Scan using ti1_btree on ti1
5441 Index Cond: (c1 = 1)
5442 Filter: (ctid = '(1,1)'::tid)
5446 /*+BitmapScan(ti1)*/
5447 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5456 -------------------------------------
5457 Bitmap Heap Scan on ti1
5458 Recheck Cond: (c1 = 1)
5459 Filter: (ctid = '(1,1)'::tid)
5460 -> Bitmap Index Scan on ti1_hash
5461 Index Cond: (c1 = 1)
5465 /*+BitmapScan(ti1 ti1_pkey)*/
5466 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5467 LOG: available indexes for BitmapScan(ti1): ti1_pkey
5470 BitmapScan(ti1 ti1_pkey)
5476 -------------------------------------
5477 Bitmap Heap Scan on ti1
5478 Recheck Cond: (c1 = 1)
5479 Filter: (ctid = '(1,1)'::tid)
5480 -> Bitmap Index Scan on ti1_pkey
5481 Index Cond: (c1 = 1)
5485 /*+BitmapScan(ti1 ti1_pkey ti1_btree)*/
5486 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5487 LOG: available indexes for BitmapScan(ti1): ti1_btree ti1_pkey
5490 BitmapScan(ti1 ti1_pkey ti1_btree)
5496 --------------------------------------
5497 Bitmap Heap Scan on ti1
5498 Recheck Cond: (c1 = 1)
5499 Filter: (ctid = '(1,1)'::tid)
5500 -> Bitmap Index Scan on ti1_btree
5501 Index Cond: (c1 = 1)
5506 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5515 -----------------------------------
5517 TID Cond: (ctid = '(1,1)'::tid)
5522 /*+TidScan(ti1 ti1_pkey)*/
5523 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5524 INFO: hint syntax error at or near ""
5525 DETAIL: TidScan hint accepts only one relation.
5531 TidScan(ti1 ti1_pkey)
5534 -----------------------------------
5536 TID Cond: (ctid = '(1,1)'::tid)
5541 /*+TidScan(ti1 ti1_pkey ti1_btree)*/
5542 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5543 INFO: hint syntax error at or near ""
5544 DETAIL: TidScan hint accepts only one relation.
5550 TidScan(ti1 ti1_pkey ti1_btree)
5553 -----------------------------------
5555 TID Cond: (ctid = '(1,1)'::tid)
5561 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5570 -----------------------------------
5572 TID Cond: (ctid = '(1,1)'::tid)
5577 /*+NoSeqScan(ti1 ti1_pkey)*/
5578 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5579 INFO: hint syntax error at or near ""
5580 DETAIL: NoSeqScan hint accepts only one relation.
5586 NoSeqScan(ti1 ti1_pkey)
5589 -----------------------------------
5591 TID Cond: (ctid = '(1,1)'::tid)
5596 /*+NoSeqScan(ti1 ti1_pkey ti1_btree)*/
5597 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5598 INFO: hint syntax error at or near ""
5599 DETAIL: NoSeqScan hint accepts only one relation.
5605 NoSeqScan(ti1 ti1_pkey ti1_btree)
5608 -----------------------------------
5610 TID Cond: (ctid = '(1,1)'::tid)
5615 /*+NoIndexScan(ti1)*/
5616 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5625 -----------------------------------
5627 TID Cond: (ctid = '(1,1)'::tid)
5632 /*+NoIndexScan(ti1 ti1_pkey)*/
5633 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5634 INFO: hint syntax error at or near ""
5635 DETAIL: NoIndexScan hint accepts only one relation.
5641 NoIndexScan(ti1 ti1_pkey)
5644 -----------------------------------
5646 TID Cond: (ctid = '(1,1)'::tid)
5651 /*+NoIndexScan(ti1 ti1_pkey ti1_btree)*/
5652 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5653 INFO: hint syntax error at or near ""
5654 DETAIL: NoIndexScan hint accepts only one relation.
5660 NoIndexScan(ti1 ti1_pkey ti1_btree)
5663 -----------------------------------
5665 TID Cond: (ctid = '(1,1)'::tid)
5670 /*+NoBitmapScan(ti1)*/
5671 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5680 -----------------------------------
5682 TID Cond: (ctid = '(1,1)'::tid)
5687 /*+NoBitmapScan(ti1 ti1_pkey)*/
5688 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5689 INFO: hint syntax error at or near ""
5690 DETAIL: NoBitmapScan hint accepts only one relation.
5696 NoBitmapScan(ti1 ti1_pkey)
5699 -----------------------------------
5701 TID Cond: (ctid = '(1,1)'::tid)
5706 /*+NoBitmapScan(ti1 ti1_pkey ti1_btree)*/
5707 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5708 INFO: hint syntax error at or near ""
5709 DETAIL: NoBitmapScan hint accepts only one relation.
5715 NoBitmapScan(ti1 ti1_pkey ti1_btree)
5718 -----------------------------------
5720 TID Cond: (ctid = '(1,1)'::tid)
5726 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5735 ----------------------------------
5736 Index Scan using ti1_hash on ti1
5737 Index Cond: (c1 = 1)
5738 Filter: (ctid = '(1,1)'::tid)
5742 /*+NoTidScan(ti1 ti1_pkey)*/
5743 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5744 INFO: hint syntax error at or near ""
5745 DETAIL: NoTidScan hint accepts only one relation.
5751 NoTidScan(ti1 ti1_pkey)
5754 -----------------------------------
5756 TID Cond: (ctid = '(1,1)'::tid)
5761 /*+NoTidScan(ti1 ti1_pkey ti1_btree)*/
5762 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5763 INFO: hint syntax error at or near ""
5764 DETAIL: NoTidScan hint accepts only one relation.
5770 NoTidScan(ti1 ti1_pkey ti1_btree)
5773 -----------------------------------
5775 TID Cond: (ctid = '(1,1)'::tid)
5780 /*+IndexOnlyScan(ti1)*/
5781 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5790 ---------------------------------------
5791 Index Only Scan using ti1_uniq on ti1
5792 Index Cond: (c1 >= 1)
5796 /*+IndexOnlyScan(ti1 ti1_pkey)*/
5797 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5798 LOG: available indexes for IndexOnlyScan(ti1): ti1_pkey
5801 IndexOnlyScan(ti1 ti1_pkey)
5807 ---------------------------------------
5808 Index Only Scan using ti1_pkey on ti1
5809 Index Cond: (c1 >= 1)
5813 /*+IndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5814 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5815 LOG: available indexes for IndexOnlyScan(ti1): ti1_btree ti1_pkey
5818 IndexOnlyScan(ti1 ti1_pkey ti1_btree)
5824 ----------------------------------------
5825 Index Only Scan using ti1_btree on ti1
5826 Index Cond: (c1 >= 1)
5830 /*+NoIndexOnlyScan(ti1)*/
5831 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5834 NoIndexOnlyScan(ti1)
5840 ----------------------------------
5841 Index Scan using ti1_hash on ti1
5842 Index Cond: (c1 = 1)
5846 /*+NoIndexOnlyScan(ti1 ti1_pkey)*/
5847 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5848 INFO: hint syntax error at or near ""
5849 DETAIL: NoIndexOnlyScan hint accepts only one relation.
5855 NoIndexOnlyScan(ti1 ti1_pkey)
5858 ----------------------------------
5859 Index Scan using ti1_hash on ti1
5860 Index Cond: (c1 = 1)
5864 /*+NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5865 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5866 INFO: hint syntax error at or near ""
5867 DETAIL: NoIndexOnlyScan hint accepts only one relation.
5873 NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)
5876 ----------------------------------
5877 Index Scan using ti1_hash on ti1
5878 Index Cond: (c1 = 1)
5882 ---- No. S-3-14 regular expression
5884 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5886 --------------------------------
5887 Index Scan using ti1_i4 on ti1
5888 Index Cond: (c2 = 1)
5892 /*+IndexScanRegexp(ti1 ti1_.*_key)*/
5893 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5894 LOG: available indexes for IndexScanRegexp(ti1): ti1_c2_key
5897 IndexScanRegexp(ti1 ti1_.*_key)
5903 ------------------------------------
5904 Index Scan using ti1_c2_key on ti1
5905 Index Cond: (c2 = 1)
5909 /*+IndexScanRegexp(ti1 ti1_i.)*/
5910 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5911 LOG: available indexes for IndexScanRegexp(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
5914 IndexScanRegexp(ti1 ti1_i.)
5920 --------------------------------
5921 Index Scan using ti1_i4 on ti1
5922 Index Cond: (c2 = 1)
5926 /*+IndexScanRegexp(ti1 no.*_exist)*/
5927 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5928 LOG: available indexes for IndexScanRegexp(ti1):
5931 IndexScanRegexp(ti1 no.*_exist)
5937 --------------------
5943 /*+IndexScanRegexp(p1 .*pkey)*/
5944 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5945 LOG: available indexes for IndexScanRegexp(p1): p1_pkey
5946 LOG: available indexes for IndexScanRegexp(p1c1): p1c1_pkey
5947 LOG: available indexes for IndexScanRegexp(p1c2): p1c2_pkey
5948 LOG: available indexes for IndexScanRegexp(p1c3): p1c3_pkey
5951 IndexScanRegexp(p1 .*pkey)
5957 ------------------------------------------
5959 -> Index Scan using p1_pkey on p1
5960 Index Cond: (c1 = 1)
5961 -> Index Scan using p1c1_pkey on p1c1
5962 Index Cond: (c1 = 1)
5966 /*+IndexScanRegexp(p1 p1.*i)*/
5967 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5968 LOG: available indexes for IndexScanRegexp(p1): p1_i2 p1_i
5969 LOG: available indexes for IndexScanRegexp(p1c1): p1c1_i p1c1_c4_expr_idx
5970 LOG: available indexes for IndexScanRegexp(p1c2): p1c2_i p1c2_c4_expr_idx
5971 LOG: available indexes for IndexScanRegexp(p1c3): p1c3_i p1c3_c4_expr_idx
5974 IndexScanRegexp(p1 p1.*i)
5980 ---------------------------------------
5982 -> Index Scan using p1_i on p1
5983 Index Cond: (c1 = 1)
5984 -> Index Scan using p1c1_i on p1c1
5985 Index Cond: (c1 = 1)
5989 /*+IndexScanRegexp(p1 no.*_exist)*/
5990 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5991 LOG: available indexes for IndexScanRegexp(p1):
5992 LOG: available indexes for IndexScanRegexp(p1c1):
5993 LOG: available indexes for IndexScanRegexp(p1c2):
5994 LOG: available indexes for IndexScanRegexp(p1c3):
5997 IndexScanRegexp(p1 no.*_exist)
6003 --------------------------
6012 ---- No. S-3-15 message output of index candidate
6015 /*+IndexScan(ti1 ti1_i1)*/
6016 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6017 LOG: available indexes for IndexScan(ti1): ti1_i1
6020 IndexScan(ti1 ti1_i1)
6026 --------------------------------
6027 Index Scan using ti1_i1 on ti1
6028 Index Cond: (c2 = 1)
6032 /*+IndexScan(ti1 not_exist)*/
6033 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6034 LOG: available indexes for IndexScan(ti1):
6037 IndexScan(ti1 not_exist)
6043 --------------------
6049 /*+IndexScan(ti1 ti1_i1 ti1_i2)*/
6050 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6051 LOG: available indexes for IndexScan(ti1): ti1_i2 ti1_i1
6054 IndexScan(ti1 ti1_i1 ti1_i2)
6060 --------------------------------
6061 Index Scan using ti1_i2 on ti1
6062 Index Cond: (c2 = 1)
6066 /*+IndexScan(ti1 ti1_i1 not_exist)*/
6067 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6068 LOG: available indexes for IndexScan(ti1): ti1_i1
6071 IndexScan(ti1 ti1_i1 not_exist)
6077 --------------------------------
6078 Index Scan using ti1_i1 on ti1
6079 Index Cond: (c2 = 1)
6083 /*+IndexScan(ti1 not_exist1 not_exist2)*/
6084 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6085 LOG: available indexes for IndexScan(ti1):
6088 IndexScan(ti1 not_exist1 not_exist2)
6094 --------------------