2 -- We cannot do ALTER USER current_user SET ...
3 DELETE FROM pg_db_role_setting WHERE setrole = (SELECT oid FROM pg_roles WHERE rolname = current_user);
4 INSERT INTO pg_db_role_setting (SELECT 0, (SELECT oid FROM pg_roles WHERE rolname = current_user), '{client_min_messages=log,pg_hint_plan.debug_print=on}');
5 ALTER SYSTEM SET session_preload_libraries TO 'pg_hint_plan';
6 SELECT pg_reload_conf();
12 SET pg_hint_plan.enable_hint TO on;
13 SET pg_hint_plan.debug_print TO on;
14 SET client_min_messages TO LOG;
15 SET search_path TO public;
16 SET max_parallel_workers_per_gather TO 0;
17 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
24 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
26 ------------------------------
27 Index Scan using t1_i1 on t1
31 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
33 ---------------------------------
34 Bitmap Heap Scan on t1
35 Recheck Cond: (c3 < 10)
36 -> Bitmap Index Scan on t1_i
40 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
42 -----------------------------------
44 TID Cond: (ctid = '(1,1)'::tid)
49 ---- No. S-1-1 specified pattern of the object name
53 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
69 EXPLAIN (COSTS false) SELECT * FROM s1.t1 t_1 WHERE t_1.c1 = 1;
78 ----------------------------------
79 Index Scan using t1_i1 on t1 t_1
85 EXPLAIN (COSTS false) SELECT * FROM s1.t1 t_1 WHERE t_1.c1 = 1;
100 ---- No. S-1-2 specified schema name in the hint option
104 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
120 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
129 ------------------------------
130 Index Scan using t1_i1 on t1
135 ---- No. S-1-3 table doesn't exist in the hint option
139 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
155 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
164 ------------------------------
165 Index Scan using t1_i1 on t1
170 ---- No. S-1-4 conflict table name
173 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = 1 AND t1.c1 = t2.c1;
175 ------------------------------------
177 -> Index Scan using t1_i1 on t1
184 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = 1 AND t1.c1 = t2.c1;
193 --------------------------
202 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 WHERE s1.t1.c1 = 1 AND s1.t1.c1 = s2.t1.c1;
204 ------------------------------------
206 -> Index Scan using t1_i1 on t1
208 -> Seq Scan on t1 t1_1
213 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 WHERE s1.t1.c1 = 1 AND s1.t1.c1 = s2.t1.c1;
222 ------------------------------------------
224 -> Bitmap Heap Scan on t1
225 Recheck Cond: (c1 = 1)
226 -> Bitmap Index Scan on t1_i1
228 -> Bitmap Heap Scan on t1 t1_1
229 Recheck Cond: (c1 = 1)
230 -> Bitmap Index Scan on t1_pkey
235 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 s2t1 WHERE s1.t1.c1 = 1 AND s1.t1.c1 = s2t1.c1;
244 ----------------------------------------
246 -> Bitmap Heap Scan on t1
247 Recheck Cond: (c1 = 1)
248 -> Bitmap Index Scan on t1_i1
250 -> Seq Scan on t1 s2t1
254 /*+BitmapScan(s2t1)*/
255 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 s2t1 WHERE s1.t1.c1 = 1 AND s1.t1.c1 = s2t1.c1;
264 ------------------------------------------
266 -> Index Scan using t1_i1 on t1
268 -> Bitmap Heap Scan on t1 s2t1
269 Recheck Cond: (c1 = 1)
270 -> Bitmap Index Scan on t1_pkey
275 EXPLAIN (COSTS false) SELECT (SELECT max(c1) FROM s1.t1 WHERE s1.t1.c1 = 1) FROM s1.t1 WHERE s1.t1.c1 = 1;
277 ---------------------------------------------------------------------
278 Index Only Scan using t1_i1 on t1
280 InitPlan 2 (returns $1)
282 InitPlan 1 (returns $0)
284 -> Index Only Scan using t1_i1 on t1 t1_1
285 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
289 EXPLAIN (COSTS false) SELECT (SELECT max(c1) FROM s1.t1 WHERE s1.t1.c1 = 1) FROM s1.t1 WHERE s1.t1.c1 = 1;
298 ---------------------------------------------------------------------------
299 Bitmap Heap Scan on t1
300 Recheck Cond: (c1 = 1)
301 InitPlan 2 (returns $1)
303 InitPlan 1 (returns $0)
305 -> Bitmap Heap Scan on t1 t1_1
306 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
307 -> Bitmap Index Scan on t1_i1
308 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
309 -> Bitmap Index Scan on t1_i1
314 EXPLAIN (COSTS false) SELECT (SELECT max(c1) FROM s1.t1 t11 WHERE t11.c1 = 1) FROM s1.t1 t12 WHERE t12.c1 = 1;
323 ---------------------------------------------------------------------------
324 Index Only Scan using t1_i1 on t1 t12
326 InitPlan 2 (returns $1)
328 InitPlan 1 (returns $0)
330 -> Bitmap Heap Scan on t1 t11
331 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
332 -> Bitmap Index Scan on t1_i1
333 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
337 EXPLAIN (COSTS false) SELECT (SELECT max(c1) FROM s1.t1 t11 WHERE t11.c1 = 1) FROM s1.t1 t12 WHERE t12.c1 = 1;
346 ---------------------------------------------------------------------
347 Bitmap Heap Scan on t1 t12
348 Recheck Cond: (c1 = 1)
349 InitPlan 2 (returns $1)
351 InitPlan 1 (returns $0)
353 -> Index Only Scan using t1_i1 on t1 t11
354 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
355 -> Bitmap Index Scan on t1_i1
360 ---- No. S-1-5 object type for the hint
364 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
379 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE p1.c1 = 1;
381 --------------------------
390 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE p1.c1 = 1;
399 ---------------------------------------
401 -> Index Scan using p1_i on p1
403 -> Index Scan using p1c1_i on p1c1
408 EXPLAIN (COSTS false) SELECT * FROM s1.ul1 WHERE ul1.c1 = 1;
410 ----------------------------------
411 Index Scan using ul1_pkey on ul1
416 EXPLAIN (COSTS false) SELECT * FROM s1.ul1 WHERE ul1.c1 = 1;
431 CREATE TEMP TABLE tm1 (LIKE s1.t1 INCLUDING ALL);
432 EXPLAIN (COSTS false) SELECT * FROM tm1 WHERE tm1.c1 = 1;
434 ----------------------------------
435 Index Scan using tm1_pkey on tm1
440 EXPLAIN (COSTS false) SELECT * FROM tm1 WHERE tm1.c1 = 1;
455 EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class WHERE oid = 1;
457 -------------------------------------------------
458 Index Scan using pg_class_oid_index on pg_class
459 Index Cond: (oid = '1'::oid)
462 /*+SeqScan(pg_class)*/
463 EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class WHERE oid = 1;
472 ----------------------------
474 Filter: (oid = '1'::oid)
480 EXPLAIN (COSTS false) SELECT * FROM s1.f1() AS ft1 WHERE ft1.c1 = 1;
482 -------------------------
483 Function Scan on f1 ft1
488 EXPLAIN (COSTS false) SELECT * FROM s1.f1() AS ft1 WHERE ft1.c1 = 1;
497 -------------------------
498 Function Scan on f1 ft1
503 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (2,2,2,'2'), (3,3,3,'3')) AS val1 (c1, c2, c3, c4) WHERE val1.c1 = 1;
505 ---------------------------
506 Values Scan on "*VALUES*"
507 Filter: (column1 = 1)
511 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;
520 ---------------------------
521 Values Scan on "*VALUES*"
522 Filter: (column1 = 1)
525 /*+SeqScan(*VALUES*)*/
526 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;
535 ---------------------------
536 Values Scan on "*VALUES*"
537 Filter: (column1 = 1)
541 EXPLAIN (COSTS false) WITH c1(c1) AS (SELECT max(c1) FROM s1.t1 WHERE t1.c1 = 1)
542 SELECT * FROM s1.t1, c1 WHERE t1.c1 = 1 AND t1.c1 = c1.c1;
544 ---------------------------------------------------------------------
548 InitPlan 1 (returns $0)
550 -> Index Only Scan using t1_i1 on t1 t1_1
551 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
552 -> Index Scan using t1_i1 on t1
559 EXPLAIN (COSTS false) WITH c1(c1) AS (SELECT max(c1) FROM s1.t1 WHERE t1.c1 = 1)
560 SELECT * FROM s1.t1, c1 WHERE t1.c1 = 1 AND t1.c1 = c1.c1;
569 ---------------------------------------------------------------------
573 InitPlan 1 (returns $0)
575 -> Index Only Scan using t1_i1 on t1 t1_1
576 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
577 -> Index Scan using t1_i1 on t1
584 EXPLAIN (COSTS false) SELECT * FROM s1.v1 WHERE v1.c1 = 1;
586 -----------------------------------
587 Index Scan using t1_i1 on t1 v1t1
592 EXPLAIN (COSTS false) SELECT * FROM s1.v1 WHERE v1.c1 = 1;
601 -----------------------------------
602 Index Scan using t1_i1 on t1 v1t1
607 EXPLAIN (COSTS false) SELECT * FROM (SELECT * FROM s1.t1 WHERE t1.c1 = 1) AS s1 WHERE s1.c1 = 1;
609 ------------------------------
610 Index Scan using t1_i1 on t1
615 EXPLAIN (COSTS false) SELECT * FROM (SELECT * FROM s1.t1 WHERE t1.c1 = 1) AS s1 WHERE s1.c1 = 1;
624 ------------------------------
625 Index Scan using t1_i1 on t1
630 ---- No. S-2-1 some complexity query blocks
633 EXPLAIN (COSTS false)
634 SELECT max(bmt1.c1), (
635 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
637 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
640 ------------------------------------------------------------------------
642 InitPlan 1 (returns $1)
646 Merge Cond: (b1t1.c1 = b1t2.c1)
648 Merge Cond: (b1t1.c1 = b1t3.c1)
649 -> Index Only Scan using t1_i1 on t1 b1t1
650 -> Index Only Scan using t3_i1 on t3 b1t3
653 -> Seq Scan on t2 b1t2
654 -> Index Only Scan using t4_i1 on t4 b1t4
655 Index Cond: (c1 = b1t1.c1)
658 Merge Cond: (bmt1.c1 = bmt2.c1)
660 Merge Cond: (bmt1.c1 = bmt3.c1)
661 -> Index Only Scan using t1_i1 on t1 bmt1
662 -> Index Only Scan using t3_i1 on t3 bmt3
665 -> Seq Scan on t2 bmt2
666 -> Index Only Scan using t4_i1 on t4 bmt4
667 Index Cond: (c1 = bmt1.c1)
670 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
671 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
673 EXPLAIN (COSTS false)
674 SELECT max(bmt1.c1), (
675 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
677 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
679 LOG: available indexes for IndexScan(b1t3): t3_pkey
680 LOG: available indexes for BitmapScan(b1t4): t4_pkey
681 LOG: available indexes for IndexScan(bmt2): t2_pkey
682 LOG: available indexes for BitmapScan(bmt3): t3_pkey
687 IndexScan(b1t3 t3_pkey)
688 BitmapScan(b1t4 t4_pkey)
690 IndexScan(bmt2 t2_pkey)
691 BitmapScan(bmt3 t3_pkey)
698 --------------------------------------------------------------------------
700 InitPlan 1 (returns $2)
703 Hash Cond: (b1t1.c1 = b1t2.c1)
704 -> Seq Scan on t1 b1t1
707 Join Filter: (b1t2.c1 = b1t3.c1)
709 -> Seq Scan on t2 b1t2
710 -> Bitmap Heap Scan on t4 b1t4
711 Recheck Cond: (c1 = b1t2.c1)
712 -> Bitmap Index Scan on t4_pkey
713 Index Cond: (c1 = b1t2.c1)
714 -> Index Scan using t3_pkey on t3 b1t3
715 Index Cond: (c1 = b1t4.c1)
717 Hash Cond: (bmt4.c1 = bmt1.c1)
718 -> Seq Scan on t4 bmt4
722 Hash Cond: (bmt1.c1 = bmt2.c1)
723 -> Seq Scan on t1 bmt1
725 -> Index Scan using t2_pkey on t2 bmt2
726 -> Bitmap Heap Scan on t3 bmt3
727 Recheck Cond: (c1 = bmt1.c1)
728 -> Bitmap Index Scan on t3_pkey
729 Index Cond: (c1 = bmt1.c1)
733 EXPLAIN (COSTS false)
734 SELECT max(bmt1.c1), (
735 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
737 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
739 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
742 ------------------------------------------------------------------------
744 InitPlan 1 (returns $1)
748 Merge Cond: (b1t1.c1 = b1t2.c1)
750 Merge Cond: (b1t1.c1 = b1t3.c1)
751 -> Index Only Scan using t1_i1 on t1 b1t1
752 -> Index Only Scan using t3_i1 on t3 b1t3
755 -> Seq Scan on t2 b1t2
756 -> Index Only Scan using t4_i1 on t4 b1t4
757 Index Cond: (c1 = b1t1.c1)
758 InitPlan 2 (returns $3)
762 Merge Cond: (b2t1.c1 = b2t2.c1)
764 Merge Cond: (b2t1.c1 = b2t3.c1)
765 -> Index Only Scan using t1_i1 on t1 b2t1
766 -> Index Only Scan using t3_i1 on t3 b2t3
769 -> Seq Scan on t2 b2t2
770 -> Index Only Scan using t4_i1 on t4 b2t4
771 Index Cond: (c1 = b2t1.c1)
774 Merge Cond: (bmt1.c1 = bmt2.c1)
776 Merge Cond: (bmt1.c1 = bmt3.c1)
777 -> Index Only Scan using t1_i1 on t1 bmt1
778 -> Index Only Scan using t3_i1 on t3 bmt3
781 -> Seq Scan on t2 bmt2
782 -> Index Only Scan using t4_i1 on t4 bmt4
783 Index Cond: (c1 = bmt1.c1)
786 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
787 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
788 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
790 EXPLAIN (COSTS false)
791 SELECT max(bmt1.c1), (
792 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
794 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
796 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
798 LOG: available indexes for IndexScan(b1t3): t3_pkey
799 LOG: available indexes for BitmapScan(b1t4): t4_pkey
800 LOG: available indexes for BitmapScan(b2t1): t1_pkey
801 LOG: available indexes for IndexScan(b2t4): t4_pkey
802 LOG: available indexes for IndexScan(bmt2): t2_pkey
803 LOG: available indexes for BitmapScan(bmt3): t3_pkey
808 IndexScan(b1t3 t3_pkey)
809 BitmapScan(b1t4 t4_pkey)
810 BitmapScan(b2t1 t1_pkey)
813 IndexScan(b2t4 t4_pkey)
815 IndexScan(bmt2 t2_pkey)
816 BitmapScan(bmt3 t3_pkey)
823 ---------------------------------------------------------------------------
825 InitPlan 1 (returns $2)
828 Hash Cond: (b1t1.c1 = b1t2.c1)
829 -> Seq Scan on t1 b1t1
832 Join Filter: (b1t2.c1 = b1t3.c1)
834 -> Seq Scan on t2 b1t2
835 -> Bitmap Heap Scan on t4 b1t4
836 Recheck Cond: (c1 = b1t2.c1)
837 -> Bitmap Index Scan on t4_pkey
838 Index Cond: (c1 = b1t2.c1)
839 -> Index Scan using t3_pkey on t3 b1t3
840 Index Cond: (c1 = b1t4.c1)
841 InitPlan 2 (returns $4)
844 Hash Cond: (b2t3.c1 = b2t1.c1)
845 -> Seq Scan on t3 b2t3
848 Merge Cond: (b2t1.c1 = b2t2.c1)
850 -> Index Scan using t4_pkey on t4 b2t4
851 -> Bitmap Heap Scan on t1 b2t1
852 Recheck Cond: (c1 = b2t4.c1)
853 -> Bitmap Index Scan on t1_pkey
854 Index Cond: (c1 = b2t4.c1)
857 -> Seq Scan on t2 b2t2
859 Hash Cond: (bmt4.c1 = bmt1.c1)
860 -> Seq Scan on t4 bmt4
864 Hash Cond: (bmt1.c1 = bmt2.c1)
865 -> Seq Scan on t1 bmt1
867 -> Index Scan using t2_pkey on t2 bmt2
868 -> Bitmap Heap Scan on t3 bmt3
869 Recheck Cond: (c1 = bmt1.c1)
870 -> Bitmap Index Scan on t3_pkey
871 Index Cond: (c1 = bmt1.c1)
875 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;
877 ----------------------------------------------------------------
881 Merge Cond: (bmt1.c1 = bmt2.c1)
883 Merge Cond: (bmt1.c1 = bmt3.c1)
884 -> Index Only Scan using t1_i1 on t1 bmt1
885 -> Index Only Scan using t3_i1 on t3 bmt3
888 -> Seq Scan on t2 bmt2
889 -> Index Only Scan using t4_i1 on t4 bmt4
890 Index Cond: (c1 = bmt1.c1)
893 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
895 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;
896 LOG: available indexes for IndexScan(bmt2): t2_pkey
897 LOG: available indexes for BitmapScan(bmt3): t3_pkey
901 IndexScan(bmt2 t2_pkey)
902 BitmapScan(bmt3 t3_pkey)
909 -------------------------------------------------------------------------
912 Hash Cond: (bmt4.c1 = bmt1.c1)
913 -> Seq Scan on t4 bmt4
917 Hash Cond: (bmt1.c1 = bmt2.c1)
918 -> Seq Scan on t1 bmt1
920 -> Index Scan using t2_pkey on t2 bmt2
921 -> Bitmap Heap Scan on t3 bmt3
922 Recheck Cond: (c1 = bmt1.c1)
923 -> Bitmap Index Scan on t3_pkey
924 Index Cond: (c1 = bmt1.c1)
928 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;
930 ----------------------------------------------------------------
934 Merge Cond: (bmt1.c1 = bmt2.c1)
936 Merge Cond: (bmt1.c1 = bmt3.c1)
937 -> Index Only Scan using t1_i1 on t1 bmt1
938 -> Index Only Scan using t3_i1 on t3 bmt3
941 -> Seq Scan on t2 bmt2
942 -> Index Only Scan using t4_i1 on t4 bmt4
943 Index Cond: (c1 = bmt1.c1)
946 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
948 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;
949 LOG: available indexes for IndexScan(bmt2): t2_pkey
950 LOG: available indexes for BitmapScan(bmt3): t3_pkey
954 IndexScan(bmt2 t2_pkey)
955 BitmapScan(bmt3 t3_pkey)
962 -------------------------------------------------------------------------
965 Hash Cond: (bmt4.c1 = bmt1.c1)
966 -> Seq Scan on t4 bmt4
970 Hash Cond: (bmt1.c1 = bmt2.c1)
971 -> Seq Scan on t1 bmt1
973 -> Index Scan using t2_pkey on t2 bmt2
974 -> Bitmap Heap Scan on t3 bmt3
975 Recheck Cond: (c1 = bmt1.c1)
976 -> Bitmap Index Scan on t3_pkey
977 Index Cond: (c1 = bmt1.c1)
981 EXPLAIN (COSTS false)
982 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
984 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
988 ------------------------------------------------------------------------
990 InitPlan 1 (returns $1)
994 Merge Cond: (b1t1.c1 = b1t2.c1)
996 Merge Cond: (b1t1.c1 = b1t3.c1)
997 -> Index Only Scan using t1_i1 on t1 b1t1
998 -> Index Only Scan using t3_i1 on t3 b1t3
1001 -> Seq Scan on t2 b1t2
1002 -> Index Only Scan using t4_i1 on t4 b1t4
1003 Index Cond: (c1 = b1t1.c1)
1006 Merge Cond: (bmt1.c1 = bmt2.c1)
1008 Merge Cond: (bmt1.c1 = bmt3.c1)
1009 -> Index Only Scan using t1_i1 on t1 bmt1
1011 -> Index Only Scan using t3_i1 on t3 bmt3
1014 -> Seq Scan on t2 bmt2
1015 -> Index Only Scan using t4_i1 on t4 bmt4
1016 Index Cond: (c1 = bmt1.c1)
1019 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1020 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1022 EXPLAIN (COSTS false)
1023 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
1025 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
1028 LOG: available indexes for IndexScan(b1t3): t3_pkey
1029 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1030 LOG: available indexes for IndexScan(bmt2): t2_pkey
1031 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1036 IndexScan(b1t3 t3_pkey)
1037 BitmapScan(b1t4 t4_pkey)
1039 IndexScan(bmt2 t2_pkey)
1040 BitmapScan(bmt3 t3_pkey)
1047 --------------------------------------------------------------------------
1049 InitPlan 1 (returns $2)
1052 Hash Cond: (b1t1.c1 = b1t2.c1)
1053 -> Seq Scan on t1 b1t1
1056 Join Filter: (b1t2.c1 = b1t3.c1)
1058 -> Seq Scan on t2 b1t2
1059 -> Bitmap Heap Scan on t4 b1t4
1060 Recheck Cond: (c1 = b1t2.c1)
1061 -> Bitmap Index Scan on t4_pkey
1062 Index Cond: (c1 = b1t2.c1)
1063 -> Index Scan using t3_pkey on t3 b1t3
1064 Index Cond: (c1 = b1t4.c1)
1066 Hash Cond: (bmt4.c1 = bmt1.c1)
1067 -> Seq Scan on t4 bmt4
1071 Hash Cond: (bmt1.c1 = bmt2.c1)
1072 -> Seq Scan on t1 bmt1
1075 -> Index Scan using t2_pkey on t2 bmt2
1076 -> Bitmap Heap Scan on t3 bmt3
1077 Recheck Cond: (c1 = bmt1.c1)
1078 -> Bitmap Index Scan on t3_pkey
1079 Index Cond: (c1 = bmt1.c1)
1083 EXPLAIN (COSTS false)
1084 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
1086 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
1088 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
1092 ------------------------------------------------------------------------
1094 InitPlan 1 (returns $1)
1098 Merge Cond: (b1t1.c1 = b1t2.c1)
1100 Merge Cond: (b1t1.c1 = b1t3.c1)
1101 -> Index Only Scan using t1_i1 on t1 b1t1
1102 -> Index Only Scan using t3_i1 on t3 b1t3
1105 -> Seq Scan on t2 b1t2
1106 -> Index Only Scan using t4_i1 on t4 b1t4
1107 Index Cond: (c1 = b1t1.c1)
1108 InitPlan 2 (returns $3)
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 = b2t1.c1)
1124 Merge Cond: (bmt1.c1 = bmt2.c1)
1126 Merge Cond: (bmt1.c1 = bmt3.c1)
1127 -> Index Only Scan using t1_i1 on t1 bmt1
1128 Filter: ((c1 <> $1) AND (c1 <> $3))
1129 -> Index Only Scan using t3_i1 on t3 bmt3
1132 -> Seq Scan on t2 bmt2
1133 -> Index Only Scan using t4_i1 on t4 bmt4
1134 Index Cond: (c1 = bmt1.c1)
1137 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1138 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1139 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1141 EXPLAIN (COSTS false)
1142 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
1144 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
1146 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
1149 LOG: available indexes for IndexScan(b1t3): t3_pkey
1150 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1151 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1152 LOG: available indexes for IndexScan(b2t4): t4_pkey
1153 LOG: available indexes for IndexScan(bmt2): t2_pkey
1154 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1159 IndexScan(b1t3 t3_pkey)
1160 BitmapScan(b1t4 t4_pkey)
1161 BitmapScan(b2t1 t1_pkey)
1164 IndexScan(b2t4 t4_pkey)
1166 IndexScan(bmt2 t2_pkey)
1167 BitmapScan(bmt3 t3_pkey)
1174 ---------------------------------------------------------------------------
1176 InitPlan 1 (returns $2)
1179 Hash Cond: (b1t1.c1 = b1t2.c1)
1180 -> Seq Scan on t1 b1t1
1183 Join Filter: (b1t2.c1 = b1t3.c1)
1185 -> Seq Scan on t2 b1t2
1186 -> Bitmap Heap Scan on t4 b1t4
1187 Recheck Cond: (c1 = b1t2.c1)
1188 -> Bitmap Index Scan on t4_pkey
1189 Index Cond: (c1 = b1t2.c1)
1190 -> Index Scan using t3_pkey on t3 b1t3
1191 Index Cond: (c1 = b1t4.c1)
1192 InitPlan 2 (returns $4)
1195 Hash Cond: (b2t3.c1 = b2t1.c1)
1196 -> Seq Scan on t3 b2t3
1199 Merge Cond: (b2t1.c1 = b2t2.c1)
1201 -> Index Scan using t4_pkey on t4 b2t4
1202 -> Bitmap Heap Scan on t1 b2t1
1203 Recheck Cond: (c1 = b2t4.c1)
1204 -> Bitmap Index Scan on t1_pkey
1205 Index Cond: (c1 = b2t4.c1)
1208 -> Seq Scan on t2 b2t2
1210 Hash Cond: (bmt4.c1 = bmt1.c1)
1211 -> Seq Scan on t4 bmt4
1215 Hash Cond: (bmt1.c1 = bmt2.c1)
1216 -> Seq Scan on t1 bmt1
1217 Filter: ((c1 <> $2) AND (c1 <> $4))
1219 -> Index Scan using t2_pkey on t2 bmt2
1220 -> Bitmap Heap Scan on t3 bmt3
1221 Recheck Cond: (c1 = bmt1.c1)
1222 -> Bitmap Index Scan on t3_pkey
1223 Index Cond: (c1 = bmt1.c1)
1227 EXPLAIN (COSTS false)
1229 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
1231 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1233 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1237 ------------------------------------------------------------------------
1243 Merge Cond: (b1t1.c1 = b1t2.c1)
1245 Merge Cond: (b1t1.c1 = b1t3.c1)
1246 -> Index Only Scan using t1_i1 on t1 b1t1
1247 -> Index Only Scan using t3_i1 on t3 b1t3
1250 -> Seq Scan on t2 b1t2
1251 -> Index Only Scan using t4_i1 on t4 b1t4
1252 Index Cond: (c1 = b1t1.c1)
1257 Hash Cond: (bmt2.c1 = c1.c1)
1258 -> Seq Scan on t2 bmt2
1261 -> Index Only Scan using t1_i1 on t1 bmt1
1262 Index Cond: (c1 = bmt2.c1)
1263 -> Index Only Scan using t3_i1 on t3 bmt3
1264 Index Cond: (c1 = bmt1.c1)
1265 -> Index Only Scan using t4_i1 on t4 bmt4
1266 Index Cond: (c1 = bmt1.c1)
1269 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1270 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1272 EXPLAIN (COSTS false)
1274 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
1276 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1278 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1281 LOG: available indexes for IndexScan(b1t3): t3_pkey
1282 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1283 LOG: available indexes for IndexScan(bmt2): t2_pkey
1284 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1289 IndexScan(b1t3 t3_pkey)
1290 BitmapScan(b1t4 t4_pkey)
1292 IndexScan(bmt2 t2_pkey)
1293 BitmapScan(bmt3 t3_pkey)
1300 --------------------------------------------------------------------------
1305 Hash Cond: (b1t1.c1 = b1t2.c1)
1306 -> Seq Scan on t1 b1t1
1309 Join Filter: (b1t2.c1 = b1t3.c1)
1311 -> Seq Scan on t2 b1t2
1312 -> Bitmap Heap Scan on t4 b1t4
1313 Recheck Cond: (c1 = b1t2.c1)
1314 -> Bitmap Index Scan on t4_pkey
1315 Index Cond: (c1 = b1t2.c1)
1316 -> Index Scan using t3_pkey on t3 b1t3
1317 Index Cond: (c1 = b1t4.c1)
1319 Hash Cond: (bmt4.c1 = bmt1.c1)
1320 -> Seq Scan on t4 bmt4
1325 Hash Cond: (bmt1.c1 = c1.c1)
1326 -> Seq Scan on t1 bmt1
1329 -> Index Scan using t2_pkey on t2 bmt2
1330 Index Cond: (c1 = bmt1.c1)
1331 -> Bitmap Heap Scan on t3 bmt3
1332 Recheck Cond: (c1 = bmt1.c1)
1333 -> Bitmap Index Scan on t3_pkey
1334 Index Cond: (c1 = bmt1.c1)
1338 EXPLAIN (COSTS false)
1340 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
1343 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
1345 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1347 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1352 ------------------------------------------------------------------------
1358 Merge Cond: (b1t1.c1 = b1t2.c1)
1360 Merge Cond: (b1t1.c1 = b1t3.c1)
1361 -> Index Only Scan using t1_i1 on t1 b1t1
1362 -> Index Only Scan using t3_i1 on t3 b1t3
1365 -> Seq Scan on t2 b1t2
1366 -> Index Only Scan using t4_i1 on t4 b1t4
1367 Index Cond: (c1 = b1t1.c1)
1372 Merge Cond: (b2t1.c1 = b2t2.c1)
1374 Merge Cond: (b2t1.c1 = b2t3.c1)
1375 -> Index Only Scan using t1_i1 on t1 b2t1
1376 -> Index Only Scan using t3_i1 on t3 b2t3
1379 -> Seq Scan on t2 b2t2
1380 -> Index Only Scan using t4_i1 on t4 b2t4
1381 Index Cond: (c1 = b2t1.c1)
1383 Join Filter: (bmt1.c1 = c2.c1)
1388 Hash Cond: (bmt2.c1 = c1.c1)
1389 -> Seq Scan on t2 bmt2
1392 -> Index Only Scan using t1_i1 on t1 bmt1
1393 Index Cond: (c1 = bmt2.c1)
1394 -> Index Only Scan using t3_i1 on t3 bmt3
1395 Index Cond: (c1 = bmt1.c1)
1396 -> Index Only Scan using t4_i1 on t4 bmt4
1397 Index Cond: (c1 = bmt1.c1)
1401 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1402 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1403 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1405 EXPLAIN (COSTS false)
1407 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
1410 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
1412 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1414 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1418 LOG: available indexes for IndexScan(b1t3): t3_pkey
1419 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1420 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1421 LOG: available indexes for IndexScan(b2t4): t4_pkey
1422 LOG: available indexes for IndexScan(bmt2): t2_pkey
1423 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1428 IndexScan(b1t3 t3_pkey)
1429 BitmapScan(b1t4 t4_pkey)
1430 BitmapScan(b2t1 t1_pkey)
1433 IndexScan(b2t4 t4_pkey)
1435 IndexScan(bmt2 t2_pkey)
1436 BitmapScan(bmt3 t3_pkey)
1443 ---------------------------------------------------------------------------
1448 Hash Cond: (b1t1.c1 = b1t2.c1)
1449 -> Seq Scan on t1 b1t1
1452 Join Filter: (b1t2.c1 = b1t3.c1)
1454 -> Seq Scan on t2 b1t2
1455 -> Bitmap Heap Scan on t4 b1t4
1456 Recheck Cond: (c1 = b1t2.c1)
1457 -> Bitmap Index Scan on t4_pkey
1458 Index Cond: (c1 = b1t2.c1)
1459 -> Index Scan using t3_pkey on t3 b1t3
1460 Index Cond: (c1 = b1t4.c1)
1464 Hash Cond: (b2t3.c1 = b2t1.c1)
1465 -> Seq Scan on t3 b2t3
1468 Merge Cond: (b2t1.c1 = b2t2.c1)
1470 -> Index Scan using t4_pkey on t4 b2t4
1471 -> Bitmap Heap Scan on t1 b2t1
1472 Recheck Cond: (c1 = b2t4.c1)
1473 -> Bitmap Index Scan on t1_pkey
1474 Index Cond: (c1 = b2t4.c1)
1477 -> Seq Scan on t2 b2t2
1479 Hash Cond: (bmt4.c1 = bmt1.c1)
1480 -> Seq Scan on t4 bmt4
1483 Join Filter: (bmt1.c1 = c2.c1)
1487 Hash Cond: (bmt1.c1 = c1.c1)
1488 -> Seq Scan on t1 bmt1
1491 -> Index Scan using t2_pkey on t2 bmt2
1492 Index Cond: (c1 = bmt1.c1)
1493 -> Bitmap Heap Scan on t3 bmt3
1494 Recheck Cond: (c1 = bmt1.c1)
1495 -> Bitmap Index Scan on t3_pkey
1496 Index Cond: (c1 = bmt1.c1)
1501 ---- No. S-2-2 the number of the tables per quiry block
1504 EXPLAIN (COSTS false)
1506 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1508 SELECT max(bmt1.c1), (
1509 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1511 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1513 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1517 -----------------------------------------------------------------
1521 InitPlan 1 (returns $0)
1523 -> Tid Scan on t1 b1t1
1524 TID Cond: (ctid = '(1,1)'::tid)
1525 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1526 InitPlan 4 (returns $3)
1528 InitPlan 3 (returns $2)
1530 -> Tid Scan on t1 b2t1
1531 TID Cond: (ctid = '(1,1)'::tid)
1532 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1533 InitPlan 6 (returns $5)
1535 InitPlan 5 (returns $4)
1537 -> Tid Scan on t1 b3t1
1538 TID Cond: (ctid = '(1,1)'::tid)
1539 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1541 -> Tid Scan on t1 bmt1
1542 TID Cond: (ctid = '(1,1)'::tid)
1543 Filter: ((c1 <> $5) AND (c1 = 1))
1549 BitmapScan(b2t1 t1_pkey)
1550 IndexScan(b3t1 t1_pkey)
1552 EXPLAIN (COSTS false)
1554 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1556 SELECT max(bmt1.c1), (
1557 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1559 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1561 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1564 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1565 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1566 LOG: available indexes for IndexScan(b3t1): t1_pkey
1567 LOG: available indexes for IndexScan(b3t1): t1_pkey
1571 BitmapScan(b2t1 t1_pkey)
1572 IndexScan(b3t1 t1_pkey)
1579 ---------------------------------------------------------------------------
1583 InitPlan 1 (returns $0)
1585 -> Tid Scan on t1 b1t1
1586 TID Cond: (ctid = '(1,1)'::tid)
1587 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1588 InitPlan 4 (returns $3)
1590 InitPlan 3 (returns $2)
1592 -> Bitmap Heap Scan on t1 b2t1
1593 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1594 Filter: (ctid = '(1,1)'::tid)
1595 -> Bitmap Index Scan on t1_pkey
1596 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1597 InitPlan 6 (returns $5)
1599 InitPlan 5 (returns $4)
1601 -> Index Scan using t1_pkey on t1 b3t1
1602 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1603 Filter: (ctid = '(1,1)'::tid)
1605 -> Seq Scan on t1 bmt1
1606 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid) AND (c1 = 1))
1611 EXPLAIN (COSTS false)
1613 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)'
1615 SELECT max(bmt1.c1), (
1616 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)'
1618 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1620 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)'
1624 -----------------------------------------------------------
1629 Join Filter: (b1t1.c1 = b1t2.c1)
1630 -> Tid Scan on t1 b1t1
1631 TID Cond: (ctid = '(1,1)'::tid)
1633 -> Seq Scan on t2 b1t2
1634 Filter: (ctid = '(1,1)'::tid)
1635 InitPlan 2 (returns $1)
1638 Join Filter: (b2t1.c1 = b2t2.c1)
1639 -> Tid Scan on t1 b2t1
1640 TID Cond: (ctid = '(1,1)'::tid)
1642 -> Seq Scan on t2 b2t2
1643 Filter: (ctid = '(1,1)'::tid)
1644 InitPlan 3 (returns $2)
1647 Join Filter: (b3t1.c1 = b3t2.c1)
1648 -> Tid Scan on t1 b3t1
1649 TID Cond: (ctid = '(1,1)'::tid)
1651 -> Seq Scan on t2 b3t2
1652 Filter: (ctid = '(1,1)'::tid)
1654 Join Filter: (bmt1.c1 = bmt2.c1)
1655 -> Seq Scan on t2 bmt2
1656 Filter: (ctid = '(1,1)'::tid)
1659 -> Tid Scan on t1 bmt1
1660 TID Cond: (ctid = '(1,1)'::tid)
1664 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)
1665 TidScan(b1t1)SeqScan(b1t2)
1666 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)
1667 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)
1669 EXPLAIN (COSTS false)
1671 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)'
1673 SELECT max(bmt1.c1), (
1674 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)'
1676 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1678 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)'
1681 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1682 LOG: available indexes for IndexScan(b3t1): t1_pkey
1683 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1684 LOG: available indexes for IndexScan(bmt2): t2_pkey
1689 BitmapScan(b2t1 t1_pkey)
1691 IndexScan(b3t1 t1_pkey)
1692 BitmapScan(b3t2 t2_pkey)
1694 IndexScan(bmt2 t2_pkey)
1700 --------------------------------------------------------------------
1705 Join Filter: (b1t1.c1 = b1t2.c1)
1706 -> Tid Scan on t1 b1t1
1707 TID Cond: (ctid = '(1,1)'::tid)
1708 -> Seq Scan on t2 b1t2
1709 Filter: (ctid = '(1,1)'::tid)
1710 InitPlan 2 (returns $2)
1713 -> Tid Scan on t2 b2t2
1714 TID Cond: (ctid = '(1,1)'::tid)
1715 -> Bitmap Heap Scan on t1 b2t1
1716 Recheck Cond: (c1 = b2t2.c1)
1717 Filter: (ctid = '(1,1)'::tid)
1718 -> Bitmap Index Scan on t1_pkey
1719 Index Cond: (c1 = b2t2.c1)
1720 InitPlan 3 (returns $4)
1723 -> Index Scan using t1_pkey on t1 b3t1
1724 Filter: (ctid = '(1,1)'::tid)
1725 -> Bitmap Heap Scan on t2 b3t2
1726 Recheck Cond: (c1 = b3t1.c1)
1727 Filter: (ctid = '(1,1)'::tid)
1728 -> Bitmap Index Scan on t2_pkey
1729 Index Cond: (c1 = b3t1.c1)
1732 Join Filter: (bmt1.c1 = bmt2.c1)
1733 -> Index Scan using t2_pkey on t2 bmt2
1734 Filter: (ctid = '(1,1)'::tid)
1735 -> Seq Scan on t1 bmt1
1736 Filter: ((c1 <> $4) AND (ctid = '(1,1)'::tid))
1741 EXPLAIN (COSTS false)
1743 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)'
1745 SELECT max(bmt1.c1), (
1746 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)'
1748 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
1750 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)'
1754 -----------------------------------------------------------------------
1759 Join Filter: (b1t1.c1 = b1t4.c1)
1760 -> Tid Scan on t4 b1t4
1761 TID Cond: (ctid = '(1,1)'::tid)
1763 Join Filter: (b1t1.c1 = b1t3.c1)
1764 -> Tid Scan on t3 b1t3
1765 TID Cond: (ctid = '(1,1)'::tid)
1767 Join Filter: (b1t1.c1 = b1t2.c1)
1768 -> Tid Scan on t1 b1t1
1769 TID Cond: (ctid = '(1,1)'::tid)
1771 -> Seq Scan on t2 b1t2
1772 Filter: (ctid = '(1,1)'::tid)
1773 InitPlan 2 (returns $1)
1776 Join Filter: (b2t1.c1 = b2t4.c1)
1777 -> Tid Scan on t4 b2t4
1778 TID Cond: (ctid = '(1,1)'::tid)
1780 Join Filter: (b2t1.c1 = b2t3.c1)
1781 -> Tid Scan on t3 b2t3
1782 TID Cond: (ctid = '(1,1)'::tid)
1784 Join Filter: (b2t1.c1 = b2t2.c1)
1785 -> Tid Scan on t1 b2t1
1786 TID Cond: (ctid = '(1,1)'::tid)
1788 -> Seq Scan on t2 b2t2
1789 Filter: (ctid = '(1,1)'::tid)
1790 InitPlan 3 (returns $2)
1793 Join Filter: (b3t1.c1 = b3t4.c1)
1794 -> Tid Scan on t4 b3t4
1795 TID Cond: (ctid = '(1,1)'::tid)
1797 Join Filter: (b3t1.c1 = b3t3.c1)
1798 -> Tid Scan on t3 b3t3
1799 TID Cond: (ctid = '(1,1)'::tid)
1801 Join Filter: (b3t1.c1 = b3t2.c1)
1802 -> Tid Scan on t1 b3t1
1803 TID Cond: (ctid = '(1,1)'::tid)
1805 -> Seq Scan on t2 b3t2
1806 Filter: (ctid = '(1,1)'::tid)
1808 Join Filter: (bmt1.c1 = bmt4.c1)
1809 -> Tid Scan on t4 bmt4
1810 TID Cond: (ctid = '(1,1)'::tid)
1812 Join Filter: (bmt1.c1 = bmt3.c1)
1813 -> Tid Scan on t3 bmt3
1814 TID Cond: (ctid = '(1,1)'::tid)
1816 Join Filter: (bmt1.c1 = bmt2.c1)
1817 -> Seq Scan on t2 bmt2
1818 Filter: (ctid = '(1,1)'::tid)
1820 Join Filter: (bmt1.c1 = c1.c1)
1821 -> Tid Scan on t1 bmt1
1822 TID Cond: (ctid = '(1,1)'::tid)
1827 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1828 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1829 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1830 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
1832 EXPLAIN (COSTS false)
1834 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)'
1836 SELECT max(bmt1.c1), (
1837 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)'
1839 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
1841 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)'
1844 LOG: available indexes for IndexScan(b1t3): t3_pkey
1845 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1846 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1847 LOG: available indexes for IndexScan(b2t4): t4_pkey
1848 LOG: available indexes for IndexScan(b3t1): t1_pkey
1849 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1850 LOG: available indexes for IndexScan(bmt2): t2_pkey
1851 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1856 IndexScan(b1t3 t3_pkey)
1857 BitmapScan(b1t4 t4_pkey)
1858 BitmapScan(b2t1 t1_pkey)
1861 IndexScan(b2t4 t4_pkey)
1862 IndexScan(b3t1 t1_pkey)
1863 BitmapScan(b3t2 t2_pkey)
1867 IndexScan(bmt2 t2_pkey)
1868 BitmapScan(bmt3 t3_pkey)
1875 --------------------------------------------------------------------------------
1882 Join Filter: (b1t1.c1 = b1t2.c1)
1883 -> Tid Scan on t1 b1t1
1884 TID Cond: (ctid = '(1,1)'::tid)
1885 -> Seq Scan on t2 b1t2
1886 Filter: (ctid = '(1,1)'::tid)
1887 -> Index Scan using t3_pkey on t3 b1t3
1888 Index Cond: (c1 = b1t1.c1)
1889 Filter: (ctid = '(1,1)'::tid)
1890 -> Bitmap Heap Scan on t4 b1t4
1891 Recheck Cond: (c1 = b1t1.c1)
1892 Filter: (ctid = '(1,1)'::tid)
1893 -> Bitmap Index Scan on t4_pkey
1894 Index Cond: (c1 = b1t1.c1)
1895 InitPlan 2 (returns $4)
1899 Join Filter: (b2t1.c1 = b2t3.c1)
1901 -> Tid Scan on t2 b2t2
1902 TID Cond: (ctid = '(1,1)'::tid)
1903 -> Bitmap Heap Scan on t1 b2t1
1904 Recheck Cond: (c1 = b2t2.c1)
1905 Filter: (ctid = '(1,1)'::tid)
1906 -> Bitmap Index Scan on t1_pkey
1907 Index Cond: (c1 = b2t2.c1)
1908 -> Seq Scan on t3 b2t3
1909 Filter: (ctid = '(1,1)'::tid)
1910 -> Index Scan using t4_pkey on t4 b2t4
1911 Index Cond: (c1 = b2t1.c1)
1912 Filter: (ctid = '(1,1)'::tid)
1913 InitPlan 3 (returns $7)
1916 Join Filter: (b3t1.c1 = b3t4.c1)
1919 -> Tid Scan on t3 b3t3
1920 TID Cond: (ctid = '(1,1)'::tid)
1921 -> Index Scan using t1_pkey on t1 b3t1
1922 Index Cond: (c1 = b3t3.c1)
1923 Filter: (ctid = '(1,1)'::tid)
1924 -> Bitmap Heap Scan on t2 b3t2
1925 Recheck Cond: (c1 = b3t1.c1)
1926 Filter: (ctid = '(1,1)'::tid)
1927 -> Bitmap Index Scan on t2_pkey
1928 Index Cond: (c1 = b3t1.c1)
1929 -> Seq Scan on t4 b3t4
1930 Filter: (ctid = '(1,1)'::tid)
1932 Join Filter: (bmt1.c1 = c1.c1)
1934 Join Filter: (bmt1.c1 = bmt4.c1)
1937 Join Filter: (bmt1.c1 = bmt2.c1)
1938 -> Index Scan using t2_pkey on t2 bmt2
1939 Filter: (ctid = '(1,1)'::tid)
1940 -> Seq Scan on t1 bmt1
1941 Filter: ((c1 <> $7) AND (ctid = '(1,1)'::tid))
1942 -> Bitmap Heap Scan on t3 bmt3
1943 Recheck Cond: (c1 = bmt1.c1)
1944 Filter: (ctid = '(1,1)'::tid)
1945 -> Bitmap Index Scan on t3_pkey
1946 Index Cond: (c1 = bmt1.c1)
1947 -> Tid Scan on t4 bmt4
1948 TID Cond: (ctid = '(1,1)'::tid)
1953 EXPLAIN (COSTS false)
1955 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)'
1957 SELECT max(bmt1.c1), (
1958 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1960 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
1962 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
1966 -----------------------------------------------------------------------
1971 Join Filter: (b1t1.c1 = b1t4.c1)
1972 -> Tid Scan on t4 b1t4
1973 TID Cond: (ctid = '(1,1)'::tid)
1975 Join Filter: (b1t1.c1 = b1t3.c1)
1976 -> Tid Scan on t3 b1t3
1977 TID Cond: (ctid = '(1,1)'::tid)
1979 Join Filter: (b1t1.c1 = b1t2.c1)
1980 -> Tid Scan on t1 b1t1
1981 TID Cond: (ctid = '(1,1)'::tid)
1983 -> Seq Scan on t2 b1t2
1984 Filter: (ctid = '(1,1)'::tid)
1985 InitPlan 3 (returns $2)
1987 InitPlan 2 (returns $1)
1989 -> Tid Scan on t1 b2t1
1990 TID Cond: (ctid = '(1,1)'::tid)
1991 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1992 InitPlan 4 (returns $4)
1994 -> Tid Scan on t1 b3t1
1995 TID Cond: (ctid = '(1,1)'::tid)
1997 Join Filter: (bmt1.c1 = bmt4.c1)
1998 -> Tid Scan on t4 bmt4
1999 TID Cond: (ctid = '(1,1)'::tid)
2001 Join Filter: (bmt1.c1 = bmt3.c1)
2002 -> Tid Scan on t3 bmt3
2003 TID Cond: (ctid = '(1,1)'::tid)
2005 Join Filter: (bmt1.c1 = bmt2.c1)
2006 -> Seq Scan on t2 bmt2
2007 Filter: (ctid = '(1,1)'::tid)
2009 Join Filter: (bmt1.c1 = c1.c1)
2010 -> Tid Scan on t1 bmt1
2011 TID Cond: (ctid = '(1,1)'::tid)
2016 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
2017 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2018 BitmapScan(b2t1 t1_pkey)
2019 IndexScan(b3t1 t1_pkey)
2021 EXPLAIN (COSTS false)
2023 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)'
2025 SELECT max(bmt1.c1), (
2026 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2028 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
2030 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2033 LOG: available indexes for IndexScan(b1t3): t3_pkey
2034 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2035 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2036 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2037 LOG: available indexes for IndexScan(b3t1): t1_pkey
2038 LOG: available indexes for IndexScan(b3t1): t1_pkey
2039 LOG: available indexes for IndexScan(bmt2): t2_pkey
2040 LOG: available indexes for BitmapScan(bmt3): t3_pkey
2045 IndexScan(b1t3 t3_pkey)
2046 BitmapScan(b1t4 t4_pkey)
2047 BitmapScan(b2t1 t1_pkey)
2048 IndexScan(b3t1 t1_pkey)
2050 IndexScan(bmt2 t2_pkey)
2051 BitmapScan(bmt3 t3_pkey)
2058 --------------------------------------------------------------------------------
2065 Join Filter: (b1t1.c1 = b1t2.c1)
2066 -> Tid Scan on t1 b1t1
2067 TID Cond: (ctid = '(1,1)'::tid)
2068 -> Seq Scan on t2 b1t2
2069 Filter: (ctid = '(1,1)'::tid)
2070 -> Index Scan using t3_pkey on t3 b1t3
2071 Index Cond: (c1 = b1t1.c1)
2072 Filter: (ctid = '(1,1)'::tid)
2073 -> Bitmap Heap Scan on t4 b1t4
2074 Recheck Cond: (c1 = b1t1.c1)
2075 Filter: (ctid = '(1,1)'::tid)
2076 -> Bitmap Index Scan on t4_pkey
2077 Index Cond: (c1 = b1t1.c1)
2078 InitPlan 3 (returns $3)
2080 InitPlan 2 (returns $2)
2082 -> Bitmap Heap Scan on t1 b2t1
2083 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2084 Filter: (ctid = '(1,1)'::tid)
2085 -> Bitmap Index Scan on t1_pkey
2086 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2087 InitPlan 5 (returns $5)
2089 InitPlan 4 (returns $4)
2091 -> Index Scan Backward using t1_pkey on t1 b3t1
2092 Index Cond: (c1 IS NOT NULL)
2093 Filter: (ctid = '(1,1)'::tid)
2095 Join Filter: (bmt1.c1 = c1.c1)
2097 Join Filter: (bmt1.c1 = bmt4.c1)
2100 Join Filter: (bmt1.c1 = bmt2.c1)
2101 -> Index Scan using t2_pkey on t2 bmt2
2102 Filter: (ctid = '(1,1)'::tid)
2103 -> Seq Scan on t1 bmt1
2104 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid))
2105 -> Bitmap Heap Scan on t3 bmt3
2106 Recheck Cond: (c1 = bmt1.c1)
2107 Filter: (ctid = '(1,1)'::tid)
2108 -> Bitmap Index Scan on t3_pkey
2109 Index Cond: (c1 = bmt1.c1)
2110 -> Tid Scan on t4 bmt4
2111 TID Cond: (ctid = '(1,1)'::tid)
2116 ---- No. S-2-3 RULE or VIEW
2119 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2121 -----------------------------------------------------------------
2124 Join Filter: (t1.c1 = t4.c1)
2126 TID Cond: (ctid = '(1,1)'::tid)
2128 Join Filter: (t1.c1 = t3.c1)
2130 TID Cond: (ctid = '(1,1)'::tid)
2132 Join Filter: (t1.c1 = t2.c1)
2134 Filter: (ctid = '(1,1)'::tid)
2137 TID Cond: (ctid = '(1,1)'::tid)
2140 TID Cond: (ctid = '(1,1)'::tid)
2143 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2145 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2146 LOG: available indexes for IndexScan(t3): t3_pkey
2147 LOG: available indexes for BitmapScan(t4): t4_pkey
2153 IndexScan(t3 t3_pkey)
2154 BitmapScan(t4 t4_pkey)
2160 ------------------------------------------------------------------------------
2165 Join Filter: (t1.c1 = t2.c1)
2168 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2170 TID Cond: (ctid = '(1,1)'::tid)
2172 Filter: (ctid = '(1,1)'::tid)
2173 -> Index Scan using t3_pkey on t3
2174 Index Cond: (c1 = t1.c1)
2175 Filter: (ctid = '(1,1)'::tid)
2176 -> Bitmap Heap Scan on t4
2177 Recheck Cond: (c1 = t1.c1)
2178 Filter: (ctid = '(1,1)'::tid)
2179 -> Bitmap Index Scan on t4_pkey
2180 Index Cond: (c1 = t1.c1)
2183 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2185 -----------------------------------------------------------------
2188 Join Filter: (b1t1.c1 = b1t4.c1)
2189 -> Tid Scan on t4 b1t4
2190 TID Cond: (ctid = '(1,1)'::tid)
2192 Join Filter: (b1t1.c1 = b1t3.c1)
2193 -> Tid Scan on t3 b1t3
2194 TID Cond: (ctid = '(1,1)'::tid)
2196 Join Filter: (b1t1.c1 = b1t2.c1)
2197 -> Seq Scan on t2 b1t2
2198 Filter: (ctid = '(1,1)'::tid)
2201 TID Cond: (ctid = '(1,1)'::tid)
2203 -> Tid Scan on t1 b1t1
2204 TID Cond: (ctid = '(1,1)'::tid)
2207 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2209 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2210 LOG: available indexes for IndexScan(b1t3): t3_pkey
2211 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2216 IndexScan(b1t3 t3_pkey)
2217 BitmapScan(b1t4 t4_pkey)
2224 ------------------------------------------------------------------------------
2229 Join Filter: (b1t1.c1 = b1t2.c1)
2232 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2233 -> Tid Scan on t1 b1t1
2234 TID Cond: (ctid = '(1,1)'::tid)
2235 -> Seq Scan on t2 b1t2
2236 Filter: (ctid = '(1,1)'::tid)
2237 -> Index Scan using t3_pkey on t3 b1t3
2238 Index Cond: (c1 = b1t1.c1)
2239 Filter: (ctid = '(1,1)'::tid)
2240 -> Bitmap Heap Scan on t4 b1t4
2241 Recheck Cond: (c1 = b1t1.c1)
2242 Filter: (ctid = '(1,1)'::tid)
2243 -> Bitmap Index Scan on t4_pkey
2244 Index Cond: (c1 = b1t1.c1)
2248 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2250 -----------------------------------------------------------------
2253 Join Filter: (t1.c1 = t4.c1)
2255 TID Cond: (ctid = '(1,1)'::tid)
2257 Join Filter: (t1.c1 = t3.c1)
2259 TID Cond: (ctid = '(1,1)'::tid)
2261 Join Filter: (t1.c1 = t2.c1)
2263 Filter: (ctid = '(1,1)'::tid)
2266 TID Cond: (ctid = '(1,1)'::tid)
2269 TID Cond: (ctid = '(1,1)'::tid)
2273 Join Filter: (t1.c1 = t4.c1)
2275 TID Cond: (ctid = '(1,1)'::tid)
2277 Join Filter: (t1.c1 = t3.c1)
2279 TID Cond: (ctid = '(1,1)'::tid)
2281 Join Filter: (t1.c1 = t2.c1)
2283 Filter: (ctid = '(1,1)'::tid)
2286 TID Cond: (ctid = '(1,1)'::tid)
2289 TID Cond: (ctid = '(1,1)'::tid)
2292 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2294 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2295 LOG: available indexes for IndexScan(t3): t3_pkey
2296 LOG: available indexes for BitmapScan(t4): t4_pkey
2302 IndexScan(t3 t3_pkey)
2303 BitmapScan(t4 t4_pkey)
2308 LOG: available indexes for IndexScan(t3): t3_pkey
2309 LOG: available indexes for BitmapScan(t4): t4_pkey
2315 IndexScan(t3 t3_pkey)
2316 BitmapScan(t4 t4_pkey)
2322 ------------------------------------------------------------------------------
2327 Join Filter: (t1.c1 = t2.c1)
2330 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2332 TID Cond: (ctid = '(1,1)'::tid)
2334 Filter: (ctid = '(1,1)'::tid)
2335 -> Index Scan using t3_pkey on t3
2336 Index Cond: (c1 = t1.c1)
2337 Filter: (ctid = '(1,1)'::tid)
2338 -> Bitmap Heap Scan on t4
2339 Recheck Cond: (c1 = t1.c1)
2340 Filter: (ctid = '(1,1)'::tid)
2341 -> Bitmap Index Scan on t4_pkey
2342 Index Cond: (c1 = t1.c1)
2348 Join Filter: (t1.c1 = t2.c1)
2351 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2353 TID Cond: (ctid = '(1,1)'::tid)
2355 Filter: (ctid = '(1,1)'::tid)
2356 -> Index Scan using t3_pkey on t3
2357 Index Cond: (c1 = t1.c1)
2358 Filter: (ctid = '(1,1)'::tid)
2359 -> Bitmap Heap Scan on t4
2360 Recheck Cond: (c1 = t1.c1)
2361 Filter: (ctid = '(1,1)'::tid)
2362 -> Bitmap Index Scan on t4_pkey
2363 Index Cond: (c1 = t1.c1)
2366 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2368 -----------------------------------------------------------------
2371 Join Filter: (b1t1.c1 = b1t4.c1)
2372 -> Tid Scan on t4 b1t4
2373 TID Cond: (ctid = '(1,1)'::tid)
2375 Join Filter: (b1t1.c1 = b1t3.c1)
2376 -> Tid Scan on t3 b1t3
2377 TID Cond: (ctid = '(1,1)'::tid)
2379 Join Filter: (b1t1.c1 = b1t2.c1)
2380 -> Seq Scan on t2 b1t2
2381 Filter: (ctid = '(1,1)'::tid)
2384 TID Cond: (ctid = '(1,1)'::tid)
2386 -> Tid Scan on t1 b1t1
2387 TID Cond: (ctid = '(1,1)'::tid)
2391 Join Filter: (b2t1.c1 = b2t4.c1)
2392 -> Tid Scan on t4 b2t4
2393 TID Cond: (ctid = '(1,1)'::tid)
2395 Join Filter: (b2t1.c1 = b2t3.c1)
2396 -> Tid Scan on t3 b2t3
2397 TID Cond: (ctid = '(1,1)'::tid)
2399 Join Filter: (b2t1.c1 = b2t2.c1)
2400 -> Seq Scan on t2 b2t2
2401 Filter: (ctid = '(1,1)'::tid)
2404 TID Cond: (ctid = '(1,1)'::tid)
2406 -> Tid Scan on t1 b2t1
2407 TID Cond: (ctid = '(1,1)'::tid)
2410 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2411 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2413 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2414 LOG: available indexes for IndexScan(b1t3): t3_pkey
2415 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2420 IndexScan(b1t3 t3_pkey)
2421 BitmapScan(b1t4 t4_pkey)
2424 BitmapScan(b2t1 t1_pkey)
2427 IndexScan(b2t4 t4_pkey)
2431 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2432 LOG: available indexes for IndexScan(b2t4): t4_pkey
2435 BitmapScan(b2t1 t1_pkey)
2438 IndexScan(b2t4 t4_pkey)
2443 IndexScan(b1t3 t3_pkey)
2444 BitmapScan(b1t4 t4_pkey)
2449 ------------------------------------------------------------------------------
2454 Join Filter: (b1t1.c1 = b1t2.c1)
2457 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2458 -> Tid Scan on t1 b1t1
2459 TID Cond: (ctid = '(1,1)'::tid)
2460 -> Seq Scan on t2 b1t2
2461 Filter: (ctid = '(1,1)'::tid)
2462 -> Index Scan using t3_pkey on t3 b1t3
2463 Index Cond: (c1 = b1t1.c1)
2464 Filter: (ctid = '(1,1)'::tid)
2465 -> Bitmap Heap Scan on t4 b1t4
2466 Recheck Cond: (c1 = b1t1.c1)
2467 Filter: (ctid = '(1,1)'::tid)
2468 -> Bitmap Index Scan on t4_pkey
2469 Index Cond: (c1 = b1t1.c1)
2474 Join Filter: (b2t1.c1 = b2t3.c1)
2478 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2479 -> Tid Scan on t2 b2t2
2480 TID Cond: (ctid = '(1,1)'::tid)
2481 -> Bitmap Heap Scan on t1 b2t1
2482 Recheck Cond: (c1 = b2t2.c1)
2483 Filter: (ctid = '(1,1)'::tid)
2484 -> Bitmap Index Scan on t1_pkey
2485 Index Cond: (c1 = b2t2.c1)
2486 -> Seq Scan on t3 b2t3
2487 Filter: (ctid = '(1,1)'::tid)
2488 -> Index Scan using t4_pkey on t4 b2t4
2489 Index Cond: (c1 = b2t1.c1)
2490 Filter: (ctid = '(1,1)'::tid)
2494 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2496 -----------------------------------------------------------------
2499 Join Filter: (t1.c1 = t4.c1)
2501 TID Cond: (ctid = '(1,1)'::tid)
2503 Join Filter: (t1.c1 = t3.c1)
2505 TID Cond: (ctid = '(1,1)'::tid)
2507 Join Filter: (t1.c1 = t2.c1)
2509 Filter: (ctid = '(1,1)'::tid)
2512 TID Cond: (ctid = '(1,1)'::tid)
2515 TID Cond: (ctid = '(1,1)'::tid)
2519 Join Filter: (t1.c1 = t4.c1)
2521 TID Cond: (ctid = '(1,1)'::tid)
2523 Join Filter: (t1.c1 = t3.c1)
2525 TID Cond: (ctid = '(1,1)'::tid)
2527 Join Filter: (t1.c1 = t2.c1)
2529 Filter: (ctid = '(1,1)'::tid)
2532 TID Cond: (ctid = '(1,1)'::tid)
2535 TID Cond: (ctid = '(1,1)'::tid)
2539 Join Filter: (t1.c1 = t4.c1)
2541 TID Cond: (ctid = '(1,1)'::tid)
2543 Join Filter: (t1.c1 = t3.c1)
2545 TID Cond: (ctid = '(1,1)'::tid)
2547 Join Filter: (t1.c1 = t2.c1)
2549 Filter: (ctid = '(1,1)'::tid)
2552 TID Cond: (ctid = '(1,1)'::tid)
2555 TID Cond: (ctid = '(1,1)'::tid)
2558 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2560 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2561 LOG: available indexes for IndexScan(t3): t3_pkey
2562 LOG: available indexes for BitmapScan(t4): t4_pkey
2568 IndexScan(t3 t3_pkey)
2569 BitmapScan(t4 t4_pkey)
2574 LOG: available indexes for IndexScan(t3): t3_pkey
2575 LOG: available indexes for BitmapScan(t4): t4_pkey
2581 IndexScan(t3 t3_pkey)
2582 BitmapScan(t4 t4_pkey)
2587 LOG: available indexes for IndexScan(t3): t3_pkey
2588 LOG: available indexes for BitmapScan(t4): t4_pkey
2594 IndexScan(t3 t3_pkey)
2595 BitmapScan(t4 t4_pkey)
2601 ------------------------------------------------------------------------------
2606 Join Filter: (t1.c1 = t2.c1)
2609 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2611 TID Cond: (ctid = '(1,1)'::tid)
2613 Filter: (ctid = '(1,1)'::tid)
2614 -> Index Scan using t3_pkey on t3
2615 Index Cond: (c1 = t1.c1)
2616 Filter: (ctid = '(1,1)'::tid)
2617 -> Bitmap Heap Scan on t4
2618 Recheck Cond: (c1 = t1.c1)
2619 Filter: (ctid = '(1,1)'::tid)
2620 -> Bitmap Index Scan on t4_pkey
2621 Index Cond: (c1 = t1.c1)
2627 Join Filter: (t1.c1 = t2.c1)
2630 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2632 TID Cond: (ctid = '(1,1)'::tid)
2634 Filter: (ctid = '(1,1)'::tid)
2635 -> Index Scan using t3_pkey on t3
2636 Index Cond: (c1 = t1.c1)
2637 Filter: (ctid = '(1,1)'::tid)
2638 -> Bitmap Heap Scan on t4
2639 Recheck Cond: (c1 = t1.c1)
2640 Filter: (ctid = '(1,1)'::tid)
2641 -> Bitmap Index Scan on t4_pkey
2642 Index Cond: (c1 = t1.c1)
2648 Join Filter: (t1.c1 = t2.c1)
2651 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2653 TID Cond: (ctid = '(1,1)'::tid)
2655 Filter: (ctid = '(1,1)'::tid)
2656 -> Index Scan using t3_pkey on t3
2657 Index Cond: (c1 = t1.c1)
2658 Filter: (ctid = '(1,1)'::tid)
2659 -> Bitmap Heap Scan on t4
2660 Recheck Cond: (c1 = t1.c1)
2661 Filter: (ctid = '(1,1)'::tid)
2662 -> Bitmap Index Scan on t4_pkey
2663 Index Cond: (c1 = t1.c1)
2666 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2668 -----------------------------------------------------------------
2671 Join Filter: (b1t1.c1 = b1t4.c1)
2672 -> Tid Scan on t4 b1t4
2673 TID Cond: (ctid = '(1,1)'::tid)
2675 Join Filter: (b1t1.c1 = b1t3.c1)
2676 -> Tid Scan on t3 b1t3
2677 TID Cond: (ctid = '(1,1)'::tid)
2679 Join Filter: (b1t1.c1 = b1t2.c1)
2680 -> Seq Scan on t2 b1t2
2681 Filter: (ctid = '(1,1)'::tid)
2684 TID Cond: (ctid = '(1,1)'::tid)
2686 -> Tid Scan on t1 b1t1
2687 TID Cond: (ctid = '(1,1)'::tid)
2691 Join Filter: (b2t1.c1 = b2t4.c1)
2692 -> Tid Scan on t4 b2t4
2693 TID Cond: (ctid = '(1,1)'::tid)
2695 Join Filter: (b2t1.c1 = b2t3.c1)
2696 -> Tid Scan on t3 b2t3
2697 TID Cond: (ctid = '(1,1)'::tid)
2699 Join Filter: (b2t1.c1 = b2t2.c1)
2700 -> Seq Scan on t2 b2t2
2701 Filter: (ctid = '(1,1)'::tid)
2704 TID Cond: (ctid = '(1,1)'::tid)
2706 -> Tid Scan on t1 b2t1
2707 TID Cond: (ctid = '(1,1)'::tid)
2711 Join Filter: (b3t1.c1 = b3t4.c1)
2712 -> Tid Scan on t4 b3t4
2713 TID Cond: (ctid = '(1,1)'::tid)
2715 Join Filter: (b3t1.c1 = b3t3.c1)
2716 -> Tid Scan on t3 b3t3
2717 TID Cond: (ctid = '(1,1)'::tid)
2719 Join Filter: (b3t1.c1 = b3t2.c1)
2720 -> Seq Scan on t2 b3t2
2721 Filter: (ctid = '(1,1)'::tid)
2724 TID Cond: (ctid = '(1,1)'::tid)
2726 -> Tid Scan on t1 b3t1
2727 TID Cond: (ctid = '(1,1)'::tid)
2730 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2731 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2732 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
2734 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2735 LOG: available indexes for IndexScan(b1t3): t3_pkey
2736 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2741 IndexScan(b1t3 t3_pkey)
2742 BitmapScan(b1t4 t4_pkey)
2745 BitmapScan(b2t1 t1_pkey)
2748 IndexScan(b2t4 t4_pkey)
2749 IndexScan(b3t1 t1_pkey)
2750 BitmapScan(b3t2 t2_pkey)
2756 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2757 LOG: available indexes for IndexScan(b2t4): t4_pkey
2760 BitmapScan(b2t1 t1_pkey)
2763 IndexScan(b2t4 t4_pkey)
2768 IndexScan(b1t3 t3_pkey)
2769 BitmapScan(b1t4 t4_pkey)
2770 IndexScan(b3t1 t1_pkey)
2771 BitmapScan(b3t2 t2_pkey)
2777 LOG: available indexes for IndexScan(b3t1): t1_pkey
2778 LOG: available indexes for BitmapScan(b3t2): t2_pkey
2781 IndexScan(b3t1 t1_pkey)
2782 BitmapScan(b3t2 t2_pkey)
2789 IndexScan(b1t3 t3_pkey)
2790 BitmapScan(b1t4 t4_pkey)
2791 BitmapScan(b2t1 t1_pkey)
2794 IndexScan(b2t4 t4_pkey)
2799 ------------------------------------------------------------------------------
2804 Join Filter: (b1t1.c1 = b1t2.c1)
2807 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2808 -> Tid Scan on t1 b1t1
2809 TID Cond: (ctid = '(1,1)'::tid)
2810 -> Seq Scan on t2 b1t2
2811 Filter: (ctid = '(1,1)'::tid)
2812 -> Index Scan using t3_pkey on t3 b1t3
2813 Index Cond: (c1 = b1t1.c1)
2814 Filter: (ctid = '(1,1)'::tid)
2815 -> Bitmap Heap Scan on t4 b1t4
2816 Recheck Cond: (c1 = b1t1.c1)
2817 Filter: (ctid = '(1,1)'::tid)
2818 -> Bitmap Index Scan on t4_pkey
2819 Index Cond: (c1 = b1t1.c1)
2824 Join Filter: (b2t1.c1 = b2t3.c1)
2828 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2829 -> Tid Scan on t2 b2t2
2830 TID Cond: (ctid = '(1,1)'::tid)
2831 -> Bitmap Heap Scan on t1 b2t1
2832 Recheck Cond: (c1 = b2t2.c1)
2833 Filter: (ctid = '(1,1)'::tid)
2834 -> Bitmap Index Scan on t1_pkey
2835 Index Cond: (c1 = b2t2.c1)
2836 -> Seq Scan on t3 b2t3
2837 Filter: (ctid = '(1,1)'::tid)
2838 -> Index Scan using t4_pkey on t4 b2t4
2839 Index Cond: (c1 = b2t1.c1)
2840 Filter: (ctid = '(1,1)'::tid)
2844 Join Filter: (b3t1.c1 = b3t4.c1)
2849 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2850 -> Tid Scan on t3 b3t3
2851 TID Cond: (ctid = '(1,1)'::tid)
2852 -> Index Scan using t1_pkey on t1 b3t1
2853 Index Cond: (c1 = b3t3.c1)
2854 Filter: (ctid = '(1,1)'::tid)
2855 -> Bitmap Heap Scan on t2 b3t2
2856 Recheck Cond: (c1 = b3t1.c1)
2857 Filter: (ctid = '(1,1)'::tid)
2858 -> Bitmap Index Scan on t2_pkey
2859 Index Cond: (c1 = b3t1.c1)
2860 -> Seq Scan on t4 b3t4
2861 Filter: (ctid = '(1,1)'::tid)
2865 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2867 ------------------------------------
2869 Hash Cond: (v1t1.c1 = v1t1_1.c1)
2870 -> Seq Scan on t1 v1t1
2872 -> Seq Scan on t1 v1t1_1
2875 /*+BitmapScan(v1t1)*/
2876 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2885 ------------------------------------------
2887 -> Index Scan using t1_i1 on t1 v1t1
2888 -> Bitmap Heap Scan on t1 v1t1_1
2889 Recheck Cond: (c1 = v1t1.c1)
2890 -> Bitmap Index Scan on t1_i1
2891 Index Cond: (c1 = v1t1.c1)
2895 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2897 -----------------------------------
2899 Hash Cond: (v1t1.c1 = v1t1_.c1)
2900 -> Seq Scan on t1 v1t1
2902 -> Seq Scan on t1 v1t1_
2905 /*+SeqScan(v1t1)BitmapScan(v1t1_)*/
2906 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2916 ------------------------------------------
2918 -> Seq Scan on t1 v1t1
2919 -> Bitmap Heap Scan on t1 v1t1_
2920 Recheck Cond: (c1 = v1t1.c1)
2921 -> Bitmap Index Scan on t1_i1
2922 Index Cond: (c1 = v1t1.c1)
2926 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2928 ------------------------------------
2930 Hash Cond: (r4t1.c1 = r4t1_1.c1)
2931 -> Seq Scan on t1 r4t1
2933 -> Seq Scan on t1 r4t1_1
2936 /*+BitmapScan(r4t1)*/
2937 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2946 ------------------------------------------
2948 -> Index Scan using t1_i1 on t1 r4t1
2949 -> Bitmap Heap Scan on t1 r4t1_1
2950 Recheck Cond: (c1 = r4t1.c1)
2951 -> Bitmap Index Scan on t1_i1
2952 Index Cond: (c1 = r4t1.c1)
2956 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2958 ----------------------------------
2960 Hash Cond: (r4t1.c1 = r5t1.c1)
2961 -> Seq Scan on t1 r4t1
2963 -> Seq Scan on t1 r5t1
2966 /*+SeqScan(r4t1)BitmapScan(r5t1)*/
2967 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2977 ------------------------------------------
2979 -> Seq Scan on t1 r4t1
2980 -> Bitmap Heap Scan on t1 r5t1
2981 Recheck Cond: (c1 = r4t1.c1)
2982 -> Bitmap Index Scan on t1_i1
2983 Index Cond: (c1 = r4t1.c1)
2987 ---- No. S-2-4 VALUES clause
2990 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
2997 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3010 /*+SeqScan(*VALUES*)*/
3011 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3025 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (3,3,3,'3')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
3027 ----------------------------------------------------------
3029 Hash Cond: ("*VALUES*".column1 = "*VALUES*_1".column1)
3030 -> Values Scan on "*VALUES*"
3032 -> Values Scan on "*VALUES*_1"
3036 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (3,3,3,'3')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
3037 INFO: pg_hint_plan: hint syntax error at or near ""
3038 DETAIL: SeqScan hint accepts only one relation.
3047 ----------------------------------------------------------
3049 Hash Cond: ("*VALUES*".column1 = "*VALUES*_1".column1)
3050 -> Values Scan on "*VALUES*"
3052 -> Values Scan on "*VALUES*_1"
3055 /*+SeqScan(*VALUES*)*/
3056 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (3,3,3,'3')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
3065 ----------------------------------------------------------
3067 Hash Cond: ("*VALUES*".column1 = "*VALUES*_1".column1)
3068 -> Values Scan on "*VALUES*"
3070 -> Values Scan on "*VALUES*_1"
3074 ---- No. S-3-1 scan method hint
3077 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3079 ---------------------
3085 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3094 ---------------------
3100 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3102 ------------------------------
3103 Index Scan using t1_i1 on t1
3104 Index Cond: (c1 = 1)
3108 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3117 --------------------
3123 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3125 ------------------------------
3126 Index Scan using t1_i1 on t1
3127 Index Cond: (c1 = 1)
3131 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3140 ------------------------------
3141 Index Scan using t1_i1 on t1
3142 Index Cond: (c1 = 1)
3146 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3148 ---------------------
3154 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3163 ------------------------------
3164 Index Scan using t1_i1 on t1
3165 Index Cond: (c1 >= 1)
3169 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3171 ---------------------------------
3172 Bitmap Heap Scan on t1
3173 Recheck Cond: (c3 < 10)
3174 -> Bitmap Index Scan on t1_i
3175 Index Cond: (c3 < 10)
3179 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3188 ---------------------------------
3189 Bitmap Heap Scan on t1
3190 Recheck Cond: (c3 < 10)
3191 -> Bitmap Index Scan on t1_i
3192 Index Cond: (c3 < 10)
3196 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3198 ------------------------------
3199 Index Scan using t1_i1 on t1
3200 Index Cond: (c1 = 1)
3204 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3213 ----------------------------------
3214 Bitmap Heap Scan on t1
3215 Recheck Cond: (c1 = 1)
3216 -> Bitmap Index Scan on t1_i1
3217 Index Cond: (c1 = 1)
3221 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3223 -----------------------------------
3225 TID Cond: (ctid = '(1,1)'::tid)
3230 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3239 -----------------------------------
3241 TID Cond: (ctid = '(1,1)'::tid)
3246 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3248 -------------------------------------------------------------
3249 Index Scan using t1_i1 on t1
3250 Index Cond: (c1 = 1)
3251 Filter: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3255 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3264 ---------------------------------------------------------------
3266 TID Cond: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3271 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3273 ---------------------
3279 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3288 ------------------------------
3289 Index Scan using t1_i1 on t1
3290 Index Cond: (c1 >= 1)
3294 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3296 ------------------------------
3297 Index Scan using t1_i1 on t1
3298 Index Cond: (c1 = 1)
3302 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3311 ------------------------------
3312 Index Scan using t1_i1 on t1
3313 Index Cond: (c1 = 1)
3317 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3319 ------------------------------
3320 Index Scan using t1_i1 on t1
3321 Index Cond: (c1 = 1)
3324 /*+NoIndexScan(t1)*/
3325 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3334 ----------------------------------
3335 Bitmap Heap Scan on t1
3336 Recheck Cond: (c1 = 1)
3337 -> Bitmap Index Scan on t1_i1
3338 Index Cond: (c1 = 1)
3342 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3344 ---------------------
3349 /*+NoIndexScan(t1)*/
3350 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3359 ---------------------
3365 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3367 ---------------------------------
3368 Bitmap Heap Scan on t1
3369 Recheck Cond: (c3 < 10)
3370 -> Bitmap Index Scan on t1_i
3371 Index Cond: (c3 < 10)
3374 /*+NoBitmapScan(t1)*/
3375 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3384 ---------------------
3390 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3392 ------------------------------
3393 Index Scan using t1_i1 on t1
3394 Index Cond: (c1 = 1)
3397 /*+NoBitmapScan(t1)*/
3398 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3407 ------------------------------
3408 Index Scan using t1_i1 on t1
3409 Index Cond: (c1 = 1)
3413 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3415 -----------------------------------
3417 TID Cond: (ctid = '(1,1)'::tid)
3422 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3431 ---------------------------------
3432 Index Scan using t1_i1 on t1
3433 Index Cond: (c1 = 1)
3434 Filter: (ctid = '(1,1)'::tid)
3438 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3440 ------------------------------
3441 Index Scan using t1_i1 on t1
3442 Index Cond: (c1 = 1)
3446 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3455 ------------------------------
3456 Index Scan using t1_i1 on t1
3457 Index Cond: (c1 = 1)
3461 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3463 -----------------------------------
3464 Index Only Scan using t1_i1 on t1
3465 Index Cond: (c1 = 1)
3468 /*+IndexOnlyScan(t1)*/
3469 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3478 -----------------------------------
3479 Index Only Scan using t1_i1 on t1
3480 Index Cond: (c1 = 1)
3484 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3486 ---------------------
3491 /*+IndexOnlyScan(t1)*/
3492 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3501 -----------------------------------
3502 Index Only Scan using t1_i1 on t1
3503 Index Cond: (c1 >= 1)
3507 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3509 -----------------------------------
3510 Index Only Scan using t1_i1 on t1
3511 Index Cond: (c1 = 1)
3514 /*+NoIndexOnlyScan(t1)*/
3515 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3524 ------------------------------
3525 Index Scan using t1_i1 on t1
3526 Index Cond: (c1 = 1)
3530 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3532 ---------------------
3537 /*+NoIndexOnlyScan(t1)*/
3538 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3547 ---------------------
3553 ---- No. S-3-3 index name specified
3555 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3557 -----------------------------------
3559 TID Cond: (ctid = '(1,1)'::tid)
3563 SET enable_tidscan TO off;
3564 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3566 ---------------------------------
3567 Index Scan using ti1_i4 on ti1
3568 Index Cond: (c2 = 1)
3569 Filter: (ctid = '(1,1)'::tid)
3572 SET enable_indexscan TO off;
3573 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3575 -----------------------------------
3576 Bitmap Heap Scan on ti1
3577 Recheck Cond: (c2 = 1)
3578 Filter: (ctid = '(1,1)'::tid)
3579 -> Bitmap Index Scan on ti1_i4
3580 Index Cond: (c2 = 1)
3583 RESET enable_tidscan;
3584 RESET enable_indexscan;
3585 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3587 ---------------------
3593 /*+IndexScan(ti1 ti1_i3)*/
3594 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3595 LOG: available indexes for IndexScan(ti1): ti1_i3
3598 IndexScan(ti1 ti1_i3)
3604 ---------------------------------
3605 Index Scan using ti1_i3 on ti1
3606 Index Cond: (c2 = 1)
3607 Filter: (ctid = '(1,1)'::tid)
3611 /*+IndexScan(ti1 ti1_i3 ti1_i2)*/
3612 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3613 LOG: available indexes for IndexScan(ti1): ti1_i3 ti1_i2
3616 IndexScan(ti1 ti1_i3 ti1_i2)
3622 ---------------------------------
3623 Index Scan using ti1_i3 on ti1
3624 Index Cond: (c2 = 1)
3625 Filter: (ctid = '(1,1)'::tid)
3629 /*+IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3630 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3631 LOG: available indexes for IndexScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3634 IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3640 ---------------------------------
3641 Index Scan using ti1_i4 on ti1
3642 Index Cond: (c2 = 1)
3643 Filter: (ctid = '(1,1)'::tid)
3647 /*+BitmapScan(ti1 ti1_i3)*/
3648 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3649 LOG: available indexes for BitmapScan(ti1): ti1_i3
3652 BitmapScan(ti1 ti1_i3)
3658 -----------------------------------
3659 Bitmap Heap Scan on ti1
3660 Recheck Cond: (c2 = 1)
3661 Filter: (ctid = '(1,1)'::tid)
3662 -> Bitmap Index Scan on ti1_i3
3663 Index Cond: (c2 = 1)
3667 /*+BitmapScan(ti1 ti1_i3 ti1_i2)*/
3668 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3669 LOG: available indexes for BitmapScan(ti1): ti1_i3 ti1_i2
3672 BitmapScan(ti1 ti1_i3 ti1_i2)
3678 -----------------------------------
3679 Bitmap Heap Scan on ti1
3680 Recheck Cond: (c2 = 1)
3681 Filter: (ctid = '(1,1)'::tid)
3682 -> Bitmap Index Scan on ti1_i3
3683 Index Cond: (c2 = 1)
3687 /*+BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3688 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3689 LOG: available indexes for BitmapScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3692 BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3698 -----------------------------------
3699 Bitmap Heap Scan on ti1
3700 Recheck Cond: (c2 = 1)
3701 Filter: (ctid = '(1,1)'::tid)
3702 -> Bitmap Index Scan on ti1_i4
3703 Index Cond: (c2 = 1)
3707 /*+IndexOnlyScan(ti1 ti1_i3)*/
3708 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3709 LOG: available indexes for IndexOnlyScan(ti1): ti1_i3
3712 IndexOnlyScan(ti1 ti1_i3)
3718 -------------------------------------
3719 Index Only Scan using ti1_i3 on ti1
3720 Index Cond: (c2 >= 1)
3724 /*+IndexOnlyScan(ti1 ti1_i3 ti1_i2)*/
3725 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3726 LOG: available indexes for IndexOnlyScan(ti1): ti1_i3 ti1_i2
3729 IndexOnlyScan(ti1 ti1_i3 ti1_i2)
3735 -------------------------------------
3736 Index Only Scan using ti1_i2 on ti1
3737 Index Cond: (c2 >= 1)
3741 /*+IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3742 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3743 LOG: available indexes for IndexOnlyScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3746 IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3752 -------------------------------------
3753 Index Only Scan using ti1_i1 on ti1
3754 Index Cond: (c2 >= 1)
3758 ---- No. S-3-4 index type
3762 Column | Type | Collation | Nullable | Default
3763 --------+---------+-----------+----------+---------
3764 c1 | integer | | not null |
3769 "ti1_pkey" PRIMARY KEY, btree (c1)
3770 "ti1_c2_key" UNIQUE CONSTRAINT, btree (c2)
3771 "ti1_uniq" UNIQUE, btree (c1)
3772 "ti1_btree" btree (c1)
3773 "ti1_expr" btree ((c1 < 100))
3775 "ti1_gist" gist (c1)
3776 "ti1_hash" hash (c1)
3778 "ti1_i2" btree (c2, c4)
3779 "ti1_i3" btree (c2, c4, c4)
3780 "ti1_i4" btree (c2, c4, c4, c4)
3781 "ti1_multi" btree (c1, c2, c3, c4)
3782 "ti1_pred" btree (lower(c4))
3783 "ti1_ts" gin (to_tsvector('english'::regconfig, c4))
3785 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)';
3787 -----------------------------------------------------------------------------------------------------------------------------------------
3789 TID Cond: (ctid = '(1,1)'::tid)
3790 Filter: ((c1 < 100) AND (c2 = 1) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3794 /*+IndexScan(ti1 ti1_btree)*/
3795 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)';
3796 LOG: available indexes for IndexScan(ti1): ti1_btree
3799 IndexScan(ti1 ti1_btree)
3805 ----------------------------------------------------------------------------------------------------------------------------------------------------
3806 Index Scan using ti1_btree on ti1
3807 Index Cond: (c1 < 100)
3808 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3812 /*+IndexScan(ti1 ti1_hash)*/
3813 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)';
3814 LOG: available indexes for IndexScan(ti1): ti1_hash
3817 IndexScan(ti1 ti1_hash)
3823 ----------------------------------------------------------------------------------------------------------------------------------------------------
3824 Index Scan using ti1_hash on ti1
3825 Index Cond: (c1 = 100)
3826 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3830 /*+IndexScan(ti1 ti1_gist)*/
3831 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)';
3832 LOG: available indexes for IndexScan(ti1): ti1_gist
3835 IndexScan(ti1 ti1_gist)
3841 ----------------------------------------------------------------------------------------------------------------------------------------------------
3842 Index Scan using ti1_gist on ti1
3843 Index Cond: (c1 < 100)
3844 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3848 /*+IndexScan(ti1 ti1_gin)*/
3849 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)';
3850 LOG: available indexes for IndexScan(ti1): ti1_gin
3853 IndexScan(ti1 ti1_gin)
3859 -----------------------------------------------------------------------------------------------------------------------------------------
3861 TID Cond: (ctid = '(1,1)'::tid)
3862 Filter: ((c1 < 100) AND (c2 = 1) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3866 /*+IndexScan(ti1 ti1_expr)*/
3867 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)';
3868 LOG: available indexes for IndexScan(ti1): ti1_expr
3871 IndexScan(ti1 ti1_expr)
3877 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
3878 Index Scan using ti1_expr on ti1
3879 Index Cond: ((c1 < 100) = true)
3880 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3884 /*+IndexScan(ti1 ti1_pred)*/
3885 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)';
3886 LOG: available indexes for IndexScan(ti1): ti1_pred
3889 IndexScan(ti1 ti1_pred)
3895 ---------------------------------------------------------------------------------------------------------------------------------------
3896 Index Scan using ti1_pred on ti1
3897 Index Cond: (lower(c4) = '1'::text)
3898 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3902 /*+IndexScan(ti1 ti1_uniq)*/
3903 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)';
3904 LOG: available indexes for IndexScan(ti1): ti1_uniq
3907 IndexScan(ti1 ti1_uniq)
3913 ----------------------------------------------------------------------------------------------------------------------------------------------------
3914 Index Scan using ti1_uniq on ti1
3915 Index Cond: (c1 < 100)
3916 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3920 /*+IndexScan(ti1 ti1_multi)*/
3921 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)';
3922 LOG: available indexes for IndexScan(ti1): ti1_multi
3925 IndexScan(ti1 ti1_multi)
3931 ---------------------------------------------------------------------------------------------------------------------------------------
3932 Index Scan using ti1_multi on ti1
3933 Index Cond: ((c1 < 100) AND (c2 = 1))
3934 Filter: ((ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3938 /*+IndexScan(ti1 ti1_ts)*/
3939 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)';
3940 LOG: available indexes for IndexScan(ti1): ti1_ts
3943 IndexScan(ti1 ti1_ts)
3949 -----------------------------------------------------------------------------------------------------------------------------------------
3951 TID Cond: (ctid = '(1,1)'::tid)
3952 Filter: ((c1 < 100) AND (c2 = 1) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3956 /*+IndexScan(ti1 ti1_pkey)*/
3957 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)';
3958 LOG: available indexes for IndexScan(ti1): ti1_pkey
3961 IndexScan(ti1 ti1_pkey)
3967 ----------------------------------------------------------------------------------------------------------------------------------------------------
3968 Index Scan using ti1_pkey on ti1
3969 Index Cond: (c1 < 100)
3970 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3974 /*+IndexScan(ti1 ti1_c2_key)*/
3975 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)';
3976 LOG: available indexes for IndexScan(ti1): ti1_c2_key
3979 IndexScan(ti1 ti1_c2_key)
3985 ------------------------------------------------------------------------------------------------------------------------------------------------------
3986 Index Scan using ti1_c2_key on ti1
3987 Index Cond: (c2 = 1)
3988 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3992 /*+BitmapScan(ti1 ti1_btree)*/
3993 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)';
3994 LOG: available indexes for BitmapScan(ti1): ti1_btree
3997 BitmapScan(ti1 ti1_btree)
4003 ----------------------------------------------------------------------------------------------------------------------------------------------------
4004 Bitmap Heap Scan on ti1
4005 Recheck Cond: (c1 < 100)
4006 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4007 -> Bitmap Index Scan on ti1_btree
4008 Index Cond: (c1 < 100)
4012 /*+BitmapScan(ti1 ti1_hash)*/
4013 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)';
4014 LOG: available indexes for BitmapScan(ti1): ti1_hash
4017 BitmapScan(ti1 ti1_hash)
4023 ----------------------------------------------------------------------------------------------------------------------------------------------------
4024 Bitmap Heap Scan on ti1
4025 Recheck Cond: (c1 = 100)
4026 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4027 -> Bitmap Index Scan on ti1_hash
4028 Index Cond: (c1 = 100)
4032 /*+BitmapScan(ti1 ti1_gist)*/
4033 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)';
4034 LOG: available indexes for BitmapScan(ti1): ti1_gist
4037 BitmapScan(ti1 ti1_gist)
4043 ----------------------------------------------------------------------------------------------------------------------------------------------------
4044 Bitmap Heap Scan on ti1
4045 Recheck Cond: (c1 < 100)
4046 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4047 -> Bitmap Index Scan on ti1_gist
4048 Index Cond: (c1 < 100)
4052 /*+BitmapScan(ti1 ti1_gin)*/
4053 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)';
4054 LOG: available indexes for BitmapScan(ti1): ti1_gin
4057 BitmapScan(ti1 ti1_gin)
4063 ----------------------------------------------------------------------------------------------------------------------------------------------------
4064 Bitmap Heap Scan on ti1
4065 Recheck Cond: (c1 < 100)
4066 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4067 -> Bitmap Index Scan on ti1_gin
4068 Index Cond: (c1 < 100)
4072 /*+BitmapScan(ti1 ti1_expr)*/
4073 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)';
4074 LOG: available indexes for BitmapScan(ti1): ti1_expr
4077 BitmapScan(ti1 ti1_expr)
4083 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
4084 Bitmap Heap Scan on ti1
4085 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4086 -> Bitmap Index Scan on ti1_expr
4087 Index Cond: ((c1 < 100) = true)
4091 /*+BitmapScan(ti1 ti1_pred)*/
4092 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)';
4093 LOG: available indexes for BitmapScan(ti1): ti1_pred
4096 BitmapScan(ti1 ti1_pred)
4102 ---------------------------------------------------------------------------------------------------------------------------------------
4103 Bitmap Heap Scan on ti1
4104 Recheck Cond: (lower(c4) = '1'::text)
4105 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4106 -> Bitmap Index Scan on ti1_pred
4107 Index Cond: (lower(c4) = '1'::text)
4111 /*+BitmapScan(ti1 ti1_uniq)*/
4112 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)';
4113 LOG: available indexes for BitmapScan(ti1): ti1_uniq
4116 BitmapScan(ti1 ti1_uniq)
4122 ----------------------------------------------------------------------------------------------------------------------------------------------------
4123 Bitmap Heap Scan on ti1
4124 Recheck Cond: (c1 < 100)
4125 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4126 -> Bitmap Index Scan on ti1_uniq
4127 Index Cond: (c1 < 100)
4131 /*+BitmapScan(ti1 ti1_multi)*/
4132 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)';
4133 LOG: available indexes for BitmapScan(ti1): ti1_multi
4136 BitmapScan(ti1 ti1_multi)
4142 ---------------------------------------------------------------------------------------------------------------------------------------
4143 Bitmap Heap Scan on ti1
4144 Recheck Cond: ((c1 < 100) AND (c2 = 1))
4145 Filter: ((ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4146 -> Bitmap Index Scan on ti1_multi
4147 Index Cond: ((c1 < 100) AND (c2 = 1))
4151 /*+BitmapScan(ti1 ti1_ts)*/
4152 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)';
4153 LOG: available indexes for BitmapScan(ti1): ti1_ts
4156 BitmapScan(ti1 ti1_ts)
4162 -------------------------------------------------------------------------------------------
4163 Bitmap Heap Scan on ti1
4164 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4165 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text))
4166 -> Bitmap Index Scan on ti1_ts
4167 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4171 /*+BitmapScan(ti1 ti1_pkey)*/
4172 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)';
4173 LOG: available indexes for BitmapScan(ti1): ti1_pkey
4176 BitmapScan(ti1 ti1_pkey)
4182 ----------------------------------------------------------------------------------------------------------------------------------------------------
4183 Bitmap Heap Scan on ti1
4184 Recheck Cond: (c1 < 100)
4185 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4186 -> Bitmap Index Scan on ti1_pkey
4187 Index Cond: (c1 < 100)
4191 /*+BitmapScan(ti1 ti1_c2_key)*/
4192 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)';
4193 LOG: available indexes for BitmapScan(ti1): ti1_c2_key
4196 BitmapScan(ti1 ti1_c2_key)
4202 ------------------------------------------------------------------------------------------------------------------------------------------------------
4203 Bitmap Heap Scan on ti1
4204 Recheck Cond: (c2 = 1)
4205 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4206 -> Bitmap Index Scan on ti1_c2_key
4207 Index Cond: (c2 = 1)
4211 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4213 ---------------------
4218 /*+IndexOnlyScan(ti1 ti1_btree)*/
4219 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4220 LOG: available indexes for IndexOnlyScan(ti1): ti1_btree
4223 IndexOnlyScan(ti1 ti1_btree)
4229 ----------------------------------------
4230 Index Only Scan using ti1_btree on ti1
4231 Index Cond: (c1 >= 1)
4235 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4237 ----------------------------------
4238 Index Scan using ti1_hash on ti1
4239 Index Cond: (c1 = 1)
4242 /*+IndexOnlyScan(ti1 ti1_hash)*/
4243 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4244 LOG: available indexes for IndexOnlyScan(ti1): ti1_hash
4247 IndexOnlyScan(ti1 ti1_hash)
4253 ----------------------------------
4254 Index Scan using ti1_hash on ti1
4255 Index Cond: (c1 = 1)
4259 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4261 ---------------------------------------
4262 Index Only Scan using ti1_uniq on ti1
4263 Index Cond: (c1 < 1)
4266 /*+IndexOnlyScan(ti1 ti1_gist)*/
4267 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4268 LOG: available indexes for IndexOnlyScan(ti1): ti1_gist
4271 IndexOnlyScan(ti1 ti1_gist)
4277 ---------------------------------------
4278 Index Only Scan using ti1_gist on ti1
4279 Index Cond: (c1 < 1)
4283 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4285 ----------------------------------
4286 Index Scan using ti1_hash on ti1
4287 Index Cond: (c1 = 1)
4290 /*+IndexOnlyScan(ti1 ti1_gin)*/
4291 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4292 LOG: available indexes for IndexOnlyScan(ti1): ti1_gin
4295 IndexOnlyScan(ti1 ti1_gin)
4301 ------------------------------------
4302 Bitmap Heap Scan on ti1
4303 Recheck Cond: (c1 = 1)
4304 -> Bitmap Index Scan on ti1_gin
4305 Index Cond: (c1 = 1)
4309 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4311 ---------------------------------------
4312 Index Only Scan using ti1_uniq on ti1
4313 Index Cond: (c1 < 100)
4316 /*+IndexOnlyScan(ti1 ti1_expr)*/
4317 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4318 LOG: available indexes for IndexOnlyScan(ti1): ti1_expr
4321 IndexOnlyScan(ti1 ti1_expr)
4327 -----------------------------------
4328 Index Scan using ti1_expr on ti1
4329 Index Cond: ((c1 < 100) = true)
4334 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4336 ------------------------------------
4338 Filter: (lower(c4) >= '1'::text)
4341 /*+IndexOnlyScan(ti1 ti1_pred)*/
4342 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4343 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
4346 IndexOnlyScan(ti1 ti1_pred)
4352 ----------------------------------------
4353 Index Scan using ti1_pred on ti1
4354 Index Cond: (lower(c4) >= '1'::text)
4358 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4360 ---------------------
4365 /*+IndexOnlyScan(ti1 ti1_uniq)*/
4366 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4367 LOG: available indexes for IndexOnlyScan(ti1): ti1_uniq
4370 IndexOnlyScan(ti1 ti1_uniq)
4376 ---------------------------------------
4377 Index Only Scan using ti1_uniq on ti1
4378 Index Cond: (c1 >= 1)
4382 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4384 ---------------------
4389 /*+IndexOnlyScan(ti1 ti1_multi)*/
4390 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4391 LOG: available indexes for IndexOnlyScan(ti1): ti1_multi
4394 IndexOnlyScan(ti1 ti1_multi)
4400 ----------------------------------------
4401 Index Only Scan using ti1_multi on ti1
4402 Index Cond: (c1 >= 1)
4406 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4408 -----------------------------------------------------------------------------------------
4409 Bitmap Heap Scan on ti1
4410 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4411 -> Bitmap Index Scan on ti1_ts
4412 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4415 /*+IndexOnlyScan(ti1 ti1_ts)*/
4416 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4417 LOG: available indexes for IndexOnlyScan(ti1): ti1_ts
4420 IndexOnlyScan(ti1 ti1_ts)
4426 -----------------------------------------------------------------------------------------
4427 Bitmap Heap Scan on ti1
4428 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4429 -> Bitmap Index Scan on ti1_ts
4430 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4434 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4436 ---------------------
4441 /*+IndexOnlyScan(ti1 ti1_pkey)*/
4442 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4443 LOG: available indexes for IndexOnlyScan(ti1): ti1_pkey
4446 IndexOnlyScan(ti1 ti1_pkey)
4452 ---------------------------------------
4453 Index Only Scan using ti1_pkey on ti1
4454 Index Cond: (c1 >= 1)
4458 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4460 ---------------------
4465 /*+IndexOnlyScan(ti1 ti1_c2_key)*/
4466 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4467 LOG: available indexes for IndexOnlyScan(ti1): ti1_c2_key
4470 IndexOnlyScan(ti1 ti1_c2_key)
4476 -----------------------------------------
4477 Index Only Scan using ti1_c2_key on ti1
4478 Index Cond: (c2 >= 1)
4482 ---- No. S-3-5 not used index
4485 \! psql contrib_regression -c "/*+IndexScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4486 LOG: available indexes for IndexScan(ti1): ti1_pred
4489 IndexScan(ti1 ti1_pred)
4495 ------------------------------------------------------------------------
4496 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4501 \! psql contrib_regression -c "/*+BitmapScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4502 LOG: available indexes for BitmapScan(ti1): ti1_pred
4505 BitmapScan(ti1 ti1_pred)
4511 ------------------------------------------------------------------------
4512 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4517 \! psql contrib_regression -c "/*+IndexOnlyScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4518 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
4521 IndexOnlyScan(ti1 ti1_pred)
4527 -----------------------------------------------------------------------
4528 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=4)
4533 \! psql contrib_regression -c "/*+IndexScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4534 LOG: available indexes for IndexScan(ti1):
4537 IndexScan(ti1 not_exist)
4543 ------------------------------------------------------------------------
4544 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4549 \! psql contrib_regression -c "/*+BitmapScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4550 LOG: available indexes for BitmapScan(ti1):
4553 BitmapScan(ti1 not_exist)
4559 ------------------------------------------------------------------------
4560 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4565 \! psql contrib_regression -c "/*+IndexOnlyScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4566 LOG: available indexes for IndexOnlyScan(ti1):
4569 IndexOnlyScan(ti1 not_exist)
4575 -----------------------------------------------------------------------
4576 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=4)
4581 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
4583 ------------------------------
4584 Index Scan using t1_i1 on t1
4585 Index Cond: (c1 = 1)
4588 \! psql contrib_regression -c "/*+TidScan(t1)*/ EXPLAIN (COSTS true) SELECT * FROM s1.t1 WHERE t1.c1 = 1" | grep -v "Planning time:"
4597 -----------------------------------------------------------------------
4598 Seq Scan on t1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4603 ---- No. S-3-6 query structure
4605 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4607 -----------------------------------------
4609 Hash Cond: (t1.c1 = t2.c1)
4611 TID Cond: (ctid = '(1,1)'::tid)
4618 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE c1 = 100;
4627 ----------------------
4633 /*+SeqScan(t1)BitmapScan(t2)*/
4634 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4644 ----------------------------------------
4647 Filter: (ctid = '(1,1)'::tid)
4648 -> Bitmap Heap Scan on t2
4649 Recheck Cond: (c1 = t1.c1)
4650 -> Bitmap Index Scan on t2_i1
4651 Index Cond: (c1 = t1.c1)
4656 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4665 ---------------------------------------------
4667 Hash Cond: (t2.c1 = t1.c1)
4671 Filter: (ctid = '(1,1)'::tid)
4675 ---- No. S-3-7 number of tables in a query block
4678 EXPLAIN (COSTS false)
4680 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4681 SELECT max(b3t1.c1), (
4682 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4683 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4684 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4686 ---------------------------------------------------------------------
4688 InitPlan 2 (returns $1)
4690 InitPlan 1 (returns $0)
4692 -> Index Only Scan using t1_i1 on t1 b2t1
4693 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4694 InitPlan 4 (returns $3)
4696 InitPlan 3 (returns $2)
4698 -> Index Only Scan using t1_i1 on t1 b4t1
4699 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4700 -> Index Only Scan using t1_i1 on t1 b3t1
4701 Index Cond: (c1 = $3)
4704 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4706 EXPLAIN (COSTS false)
4708 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4709 SELECT max(b3t1.c1), (
4710 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4711 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4712 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4713 LOG: available indexes for IndexScan(b2t1): t1_pkey
4714 LOG: available indexes for IndexScan(b2t1): t1_pkey
4715 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4718 IndexScan(b2t1 t1_pkey)
4719 BitmapScan(b3t1 t1_pkey)
4727 ---------------------------------------------------------------------
4729 InitPlan 2 (returns $1)
4731 InitPlan 1 (returns $0)
4733 -> Index Scan using t1_pkey on t1 b2t1
4734 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4735 InitPlan 4 (returns $3)
4737 InitPlan 3 (returns $2)
4739 -> Seq Scan on t1 b4t1
4740 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4741 -> Bitmap Heap Scan on t1 b3t1
4742 Recheck Cond: (c1 = $3)
4743 -> Bitmap Index Scan on t1_pkey
4744 Index Cond: (c1 = $3)
4748 EXPLAIN (COSTS false)
4750 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4751 SELECT max(b3t1.c1), (
4752 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4753 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4754 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4756 ------------------------------------------------------------
4761 -> Index Only Scan using t1_i1 on t1 b1t1
4762 Index Cond: (c1 = 1)
4763 -> Seq Scan on t2 b1t2
4765 InitPlan 2 (returns $1)
4768 -> Index Only Scan using t1_i1 on t1 b2t1
4769 Index Cond: (c1 = 1)
4770 -> Seq Scan on t2 b2t2
4772 InitPlan 3 (returns $2)
4775 -> Index Only Scan using t1_i1 on t1 b4t1
4776 Index Cond: (c1 = 1)
4777 -> Seq Scan on t2 b4t2
4781 -> Index Only Scan using t1_i1 on t1 b3t1
4782 Index Cond: (c1 = $2)
4783 -> Seq Scan on t2 b3t2
4789 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4790 TidScan(b1t2)SeqScan(b2t2)IndexScan(b3t2 t2_pkey)BitmapScan(b4t2 t2_pkey)
4792 EXPLAIN (COSTS false)
4794 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4795 SELECT max(b3t1.c1), (
4796 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4797 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4798 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4799 LOG: available indexes for IndexScan(b2t1): t1_pkey
4800 LOG: available indexes for BitmapScan(b4t2): t2_pkey
4801 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4802 LOG: available indexes for IndexScan(b3t2): t2_pkey
4807 IndexScan(b2t1 t1_pkey)
4809 BitmapScan(b3t1 t1_pkey)
4810 IndexScan(b3t2 t2_pkey)
4812 BitmapScan(b4t2 t2_pkey)
4818 ---------------------------------------------------------
4823 -> Seq Scan on t1 b1t1
4825 -> Seq Scan on t2 b1t2
4827 InitPlan 2 (returns $1)
4830 -> Index Scan using t1_pkey on t1 b2t1
4831 Index Cond: (c1 = 1)
4832 -> Seq Scan on t2 b2t2
4834 InitPlan 3 (returns $2)
4837 -> Seq Scan on t1 b4t1
4839 -> Bitmap Heap Scan on t2 b4t2
4840 Recheck Cond: (c1 = 1)
4841 -> Bitmap Index Scan on t2_pkey
4842 Index Cond: (c1 = 1)
4845 -> Bitmap Heap Scan on t1 b3t1
4846 Recheck Cond: (c1 = $2)
4847 -> Bitmap Index Scan on t1_pkey
4848 Index Cond: (c1 = $2)
4849 -> Index Scan using t2_pkey on t2 b3t2
4850 Index Cond: (c1 = $2)
4856 EXPLAIN (COSTS false)
4858 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4859 SELECT max(b3t1.c1), (
4860 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4861 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4862 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4864 ---------------------------------------------------------------------
4869 -> Index Only Scan using t1_i1 on t1 b1t1
4870 Index Cond: (c1 = 1)
4871 -> Seq Scan on t2 b1t2
4873 InitPlan 3 (returns $2)
4875 InitPlan 2 (returns $1)
4877 -> Index Only Scan using t1_i1 on t1 b2t1
4878 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4879 InitPlan 5 (returns $4)
4881 InitPlan 4 (returns $3)
4883 -> Index Only Scan using t1_i1 on t1 b4t1
4884 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4887 -> Index Only Scan using t1_i1 on t1 b3t1
4888 Index Cond: (c1 = $4)
4889 -> Seq Scan on t2 b3t2
4895 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4896 TidScan(b1t2)IndexScan(b3t2 t2_pkey)
4898 EXPLAIN (COSTS false)
4900 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4901 SELECT max(b3t1.c1), (
4902 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4903 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4904 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4905 LOG: available indexes for IndexScan(b2t1): t1_pkey
4906 LOG: available indexes for IndexScan(b2t1): t1_pkey
4907 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4908 LOG: available indexes for IndexScan(b3t2): t2_pkey
4913 IndexScan(b2t1 t1_pkey)
4914 BitmapScan(b3t1 t1_pkey)
4915 IndexScan(b3t2 t2_pkey)
4922 ---------------------------------------------------------------------
4927 -> Seq Scan on t1 b1t1
4929 -> Seq Scan on t2 b1t2
4931 InitPlan 3 (returns $2)
4933 InitPlan 2 (returns $1)
4935 -> Index Scan using t1_pkey on t1 b2t1
4936 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4937 InitPlan 5 (returns $4)
4939 InitPlan 4 (returns $3)
4941 -> Seq Scan on t1 b4t1
4942 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4945 -> Bitmap Heap Scan on t1 b3t1
4946 Recheck Cond: (c1 = $4)
4947 -> Bitmap Index Scan on t1_pkey
4948 Index Cond: (c1 = $4)
4949 -> Index Scan using t2_pkey on t2 b3t2
4950 Index Cond: (c1 = $4)
4956 ---- No. S-3-8 inheritance table select/update type
4959 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4961 --------------------
4967 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4976 -----------------------------
4977 Index Scan using p1_i on p1
4978 Index Cond: (c1 = 1)
4982 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4984 --------------------------
4993 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5002 ---------------------------------------
5004 -> Index Scan using p1_i on p1
5005 Index Cond: (c1 = 1)
5006 -> Index Scan using p1c1_i on p1c1
5007 Index Cond: (c1 = 1)
5011 EXPLAIN (COSTS false) UPDATE ONLY s1.p1 SET c4 = c4 WHERE c1 = 1;
5013 --------------------------
5020 EXPLAIN (COSTS false) UPDATE ONLY s1.p1 SET c4 = c4 WHERE c1 = 1;
5029 -----------------------------------
5031 -> Index Scan using p1_i on p1
5032 Index Cond: (c1 = 1)
5035 /*+IndexScan(p1 p1_pkey)*/
5036 EXPLAIN (COSTS false) UPDATE ONLY s1.p1 SET c4 = c4 WHERE c1 = 1;
5037 LOG: available indexes for IndexScan(p1): p1_pkey
5040 IndexScan(p1 p1_pkey)
5046 --------------------------------------
5048 -> Index Scan using p1_pkey on p1
5049 Index Cond: (c1 = 1)
5053 EXPLAIN (COSTS false) UPDATE s1.p1 SET c4 = c4 WHERE c1 = 1;
5055 --------------------------
5066 EXPLAIN (COSTS false) UPDATE s1.p1 SET c4 = c4 WHERE c1 = 1;
5075 ---------------------------------------
5079 -> Index Scan using p1_i on p1
5080 Index Cond: (c1 = 1)
5081 -> Index Scan using p1c1_i on p1c1
5082 Index Cond: (c1 = 1)
5085 /*+IndexScan(p1 p1_pkey)*/
5086 EXPLAIN (COSTS false) UPDATE s1.p1 SET c4 = c4 WHERE c1 = 1;
5087 LOG: available indexes for IndexScan(p1): p1_pkey
5088 LOG: available indexes for IndexScan(p1c1): p1c1_pkey
5091 IndexScan(p1 p1_pkey)
5097 ------------------------------------------
5101 -> Index Scan using p1_pkey on p1
5102 Index Cond: (c1 = 1)
5103 -> Index Scan using p1c1_pkey on p1c1
5104 Index Cond: (c1 = 1)
5108 ---- No. S-3-9 inheritance table number
5111 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5113 --------------------------
5122 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5131 ---------------------------------------
5133 -> Index Scan using p1_i on p1
5134 Index Cond: (c1 = 1)
5135 -> Index Scan using p1c1_i on p1c1
5136 Index Cond: (c1 = 1)
5140 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5142 --------------------------
5148 -> Seq Scan on p2c1c1
5153 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5162 -------------------------------------------
5164 -> Index Scan using p2_i on p2
5165 Index Cond: (c1 = 1)
5166 -> Index Scan using p2c1_i on p2c1
5167 Index Cond: (c1 = 1)
5168 -> Index Scan using p2c1c1_i on p2c1c1
5169 Index Cond: (c1 = 1)
5173 ---- No. S-3-10 inheritance table specified table
5175 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5177 --------------------------
5183 -> Seq Scan on p2c1c1
5189 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5198 -------------------------------------------
5200 -> Index Scan using p2_i on p2
5201 Index Cond: (c1 = 1)
5202 -> Index Scan using p2c1_i on p2c1
5203 Index Cond: (c1 = 1)
5204 -> Index Scan using p2c1c1_i on p2c1c1
5205 Index Cond: (c1 = 1)
5209 /*+IndexScan(p2c1)*/
5210 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5219 ---------------------------------------
5223 -> Index Scan using p2c1_i on p2c1
5224 Index Cond: (c1 = 1)
5225 -> Seq Scan on p2c1c1
5230 \o results/ut-S.tmpout
5231 EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5233 \! sql/maskout.sh results/ut-S.tmpout
5235 ----------------------------------------------------------
5236 Append (cost=xxx rows=4 width=xxx)
5237 -> Seq Scan on p1 (cost=xxx rows=1 width=xxx)
5238 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5239 -> Seq Scan on p1c1 (cost=xxx rows=3 width=xxx)
5240 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5243 \o results/ut-S.tmpout
5244 /*+IndexScan(p1 p1_parent)*/ EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5245 LOG: available indexes for IndexScan(p1): p1_parent
5246 LOG: available indexes for IndexScan(p1c1): p1c1_c4_expr_idx
5249 IndexScan(p1 p1_parent)
5255 \! sql/maskout.sh results/ut-S.tmpout
5257 ------------------------------------------------------------------------------------
5258 Append (cost=xxx rows=4 width=xxx)
5259 -> Index Scan using p1_parent on p1 (cost=xxx rows=1 width=xxx)
5260 Filter: ((c2 * 2) < 100)
5261 -> Index Scan using p1c1_c4_expr_idx on p1c1 (cost=xxx rows=3 width=xxx)
5262 Filter: ((c2 * 2) < 100)
5266 \o results/ut-S.tmpout
5267 /*+IndexScan(p1 p1_i2)*/ EXPLAIN SELECT c2 FROM s1.p1 WHERE c2 = 1;
5268 LOG: available indexes for IndexScan(p1): p1_i2
5269 LOG: available indexes for IndexScan(p1c1):
5270 LOG: available indexes for IndexScan(p1c2):
5271 LOG: available indexes for IndexScan(p1c3):
5280 \! sql/maskout.sh results/ut-S.tmpout
5282 ------------------------------------------------------------------------------
5283 Append (cost=xxx rows=4 width=xxx)
5284 -> Index Scan using p1_i2 on p1 (cost=xxx rows=1 width=xxx)
5285 Index Cond: (c2 = 1)
5286 -> Seq Scan on p1c1 (cost=xxx rows=1 width=xxx)
5288 -> Seq Scan on p1c2 (cost=xxx rows=1 width=xxx)
5290 -> Seq Scan on p1c3 (cost=xxx rows=1 width=xxx)
5295 \o results/ut-S.tmpout
5296 /*+IndexScan(p2 p2c1_pkey)*/ EXPLAIN (COSTS true) SELECT * FROM s1.p2 WHERE c1 = 1;
5297 LOG: available indexes for IndexScan(p2):
5298 LOG: available indexes for IndexScan(p2c1): p2c1_pkey
5299 LOG: available indexes for IndexScan(p2c1c1):
5302 IndexScan(p2 p2c1_pkey)
5308 \! sql/maskout.sh results/ut-S.tmpout
5310 ---------------------------------------------------------------------------------
5311 Append (cost=xxx rows=3 width=xxx)
5312 -> Seq Scan on p2 (cost=xxx rows=1 width=xxx)
5314 -> Index Scan using p2c1_pkey on p2c1 (cost=xxx rows=1 width=xxx)
5315 Index Cond: (c1 = 1)
5316 -> Seq Scan on p2c1c1 (cost=xxx rows=1 width=xxx)
5321 ---- No. S-3-12 specified same table
5324 /*+IndexScan(ti1) BitmapScan(ti1)*/
5325 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5326 INFO: pg_hint_plan: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5327 DETAIL: Conflict scan method hint.
5337 -------------------------------------
5338 Bitmap Heap Scan on ti1
5339 Recheck Cond: (c1 = 1)
5340 Filter: (ctid = '(1,1)'::tid)
5341 -> Bitmap Index Scan on ti1_hash
5342 Index Cond: (c1 = 1)
5346 /*+IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5347 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5348 INFO: pg_hint_plan: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5349 DETAIL: Conflict scan method hint.
5350 LOG: available indexes for BitmapScan(ti1): ti1_btree
5353 BitmapScan(ti1 ti1_btree)
5356 IndexScan(ti1 ti1_pkey)
5360 --------------------------------------
5361 Bitmap Heap Scan on ti1
5362 Recheck Cond: (c1 = 1)
5363 Filter: (ctid = '(1,1)'::tid)
5364 -> Bitmap Index Scan on ti1_btree
5365 Index Cond: (c1 = 1)
5369 /*+BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)*/
5370 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5371 INFO: pg_hint_plan: hint syntax error at or near "BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)"
5372 DETAIL: Conflict scan method hint.
5373 INFO: pg_hint_plan: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5374 DETAIL: Conflict scan method hint.
5385 -------------------------------------
5386 Bitmap Heap Scan on ti1
5387 Recheck Cond: (c1 = 1)
5388 Filter: (ctid = '(1,1)'::tid)
5389 -> Bitmap Index Scan on ti1_hash
5390 Index Cond: (c1 = 1)
5394 /*+BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5395 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5396 INFO: pg_hint_plan: hint syntax error at or near "BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5397 DETAIL: Conflict scan method hint.
5398 INFO: pg_hint_plan: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5399 DETAIL: Conflict scan method hint.
5400 LOG: available indexes for BitmapScan(ti1): ti1_btree
5403 BitmapScan(ti1 ti1_btree)
5406 BitmapScan(ti1 ti1_hash)
5407 IndexScan(ti1 ti1_pkey)
5411 --------------------------------------
5412 Bitmap Heap Scan on ti1
5413 Recheck Cond: (c1 = 1)
5414 Filter: (ctid = '(1,1)'::tid)
5415 -> Bitmap Index Scan on ti1_btree
5416 Index Cond: (c1 = 1)
5420 ---- No. S-3-13 message output of hint
5424 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5433 ------------------------------------------------
5435 Filter: ((c1 = 1) AND (ctid = '(1,1)'::tid))
5439 /*+SeqScan(ti1 ti1_pkey)*/
5440 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5441 INFO: pg_hint_plan: hint syntax error at or near ""
5442 DETAIL: SeqScan hint accepts only one relation.
5448 SeqScan(ti1 ti1_pkey)
5451 -----------------------------------
5453 TID Cond: (ctid = '(1,1)'::tid)
5458 /*+SeqScan(ti1 ti1_pkey ti1_btree)*/
5459 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5460 INFO: pg_hint_plan: hint syntax error at or near ""
5461 DETAIL: SeqScan hint accepts only one relation.
5467 SeqScan(ti1 ti1_pkey ti1_btree)
5470 -----------------------------------
5472 TID Cond: (ctid = '(1,1)'::tid)
5478 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5487 ----------------------------------
5488 Index Scan using ti1_hash on ti1
5489 Index Cond: (c1 = 1)
5490 Filter: (ctid = '(1,1)'::tid)
5494 /*+IndexScan(ti1 ti1_pkey)*/
5495 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5496 LOG: available indexes for IndexScan(ti1): ti1_pkey
5499 IndexScan(ti1 ti1_pkey)
5505 ----------------------------------
5506 Index Scan using ti1_pkey on ti1
5507 Index Cond: (c1 = 1)
5508 Filter: (ctid = '(1,1)'::tid)
5512 /*+IndexScan(ti1 ti1_pkey ti1_btree)*/
5513 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5514 LOG: available indexes for IndexScan(ti1): ti1_btree ti1_pkey
5517 IndexScan(ti1 ti1_pkey ti1_btree)
5523 -----------------------------------
5524 Index Scan using ti1_btree on ti1
5525 Index Cond: (c1 = 1)
5526 Filter: (ctid = '(1,1)'::tid)
5530 /*+BitmapScan(ti1)*/
5531 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5540 -------------------------------------
5541 Bitmap Heap Scan on ti1
5542 Recheck Cond: (c1 = 1)
5543 Filter: (ctid = '(1,1)'::tid)
5544 -> Bitmap Index Scan on ti1_hash
5545 Index Cond: (c1 = 1)
5549 /*+BitmapScan(ti1 ti1_pkey)*/
5550 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5551 LOG: available indexes for BitmapScan(ti1): ti1_pkey
5554 BitmapScan(ti1 ti1_pkey)
5560 -------------------------------------
5561 Bitmap Heap Scan on ti1
5562 Recheck Cond: (c1 = 1)
5563 Filter: (ctid = '(1,1)'::tid)
5564 -> Bitmap Index Scan on ti1_pkey
5565 Index Cond: (c1 = 1)
5569 /*+BitmapScan(ti1 ti1_pkey ti1_btree)*/
5570 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5571 LOG: available indexes for BitmapScan(ti1): ti1_btree ti1_pkey
5574 BitmapScan(ti1 ti1_pkey ti1_btree)
5580 --------------------------------------
5581 Bitmap Heap Scan on ti1
5582 Recheck Cond: (c1 = 1)
5583 Filter: (ctid = '(1,1)'::tid)
5584 -> Bitmap Index Scan on ti1_btree
5585 Index Cond: (c1 = 1)
5590 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5599 -----------------------------------
5601 TID Cond: (ctid = '(1,1)'::tid)
5606 /*+TidScan(ti1 ti1_pkey)*/
5607 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5608 INFO: pg_hint_plan: hint syntax error at or near ""
5609 DETAIL: TidScan hint accepts only one relation.
5615 TidScan(ti1 ti1_pkey)
5618 -----------------------------------
5620 TID Cond: (ctid = '(1,1)'::tid)
5625 /*+TidScan(ti1 ti1_pkey ti1_btree)*/
5626 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5627 INFO: pg_hint_plan: hint syntax error at or near ""
5628 DETAIL: TidScan hint accepts only one relation.
5634 TidScan(ti1 ti1_pkey ti1_btree)
5637 -----------------------------------
5639 TID Cond: (ctid = '(1,1)'::tid)
5645 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5654 -----------------------------------
5656 TID Cond: (ctid = '(1,1)'::tid)
5661 /*+NoSeqScan(ti1 ti1_pkey)*/
5662 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5663 INFO: pg_hint_plan: hint syntax error at or near ""
5664 DETAIL: NoSeqScan hint accepts only one relation.
5670 NoSeqScan(ti1 ti1_pkey)
5673 -----------------------------------
5675 TID Cond: (ctid = '(1,1)'::tid)
5680 /*+NoSeqScan(ti1 ti1_pkey ti1_btree)*/
5681 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5682 INFO: pg_hint_plan: hint syntax error at or near ""
5683 DETAIL: NoSeqScan hint accepts only one relation.
5689 NoSeqScan(ti1 ti1_pkey ti1_btree)
5692 -----------------------------------
5694 TID Cond: (ctid = '(1,1)'::tid)
5699 /*+NoIndexScan(ti1)*/
5700 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5709 -----------------------------------
5711 TID Cond: (ctid = '(1,1)'::tid)
5716 /*+NoIndexScan(ti1 ti1_pkey)*/
5717 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5718 INFO: pg_hint_plan: hint syntax error at or near ""
5719 DETAIL: NoIndexScan hint accepts only one relation.
5725 NoIndexScan(ti1 ti1_pkey)
5728 -----------------------------------
5730 TID Cond: (ctid = '(1,1)'::tid)
5735 /*+NoIndexScan(ti1 ti1_pkey ti1_btree)*/
5736 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5737 INFO: pg_hint_plan: hint syntax error at or near ""
5738 DETAIL: NoIndexScan hint accepts only one relation.
5744 NoIndexScan(ti1 ti1_pkey ti1_btree)
5747 -----------------------------------
5749 TID Cond: (ctid = '(1,1)'::tid)
5754 /*+NoBitmapScan(ti1)*/
5755 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5764 -----------------------------------
5766 TID Cond: (ctid = '(1,1)'::tid)
5771 /*+NoBitmapScan(ti1 ti1_pkey)*/
5772 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5773 INFO: pg_hint_plan: hint syntax error at or near ""
5774 DETAIL: NoBitmapScan hint accepts only one relation.
5780 NoBitmapScan(ti1 ti1_pkey)
5783 -----------------------------------
5785 TID Cond: (ctid = '(1,1)'::tid)
5790 /*+NoBitmapScan(ti1 ti1_pkey ti1_btree)*/
5791 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5792 INFO: pg_hint_plan: hint syntax error at or near ""
5793 DETAIL: NoBitmapScan hint accepts only one relation.
5799 NoBitmapScan(ti1 ti1_pkey ti1_btree)
5802 -----------------------------------
5804 TID Cond: (ctid = '(1,1)'::tid)
5810 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5819 ----------------------------------
5820 Index Scan using ti1_hash on ti1
5821 Index Cond: (c1 = 1)
5822 Filter: (ctid = '(1,1)'::tid)
5826 /*+NoTidScan(ti1 ti1_pkey)*/
5827 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5828 INFO: pg_hint_plan: hint syntax error at or near ""
5829 DETAIL: NoTidScan hint accepts only one relation.
5835 NoTidScan(ti1 ti1_pkey)
5838 -----------------------------------
5840 TID Cond: (ctid = '(1,1)'::tid)
5845 /*+NoTidScan(ti1 ti1_pkey ti1_btree)*/
5846 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5847 INFO: pg_hint_plan: hint syntax error at or near ""
5848 DETAIL: NoTidScan hint accepts only one relation.
5854 NoTidScan(ti1 ti1_pkey ti1_btree)
5857 -----------------------------------
5859 TID Cond: (ctid = '(1,1)'::tid)
5864 /*+IndexOnlyScan(ti1)*/
5865 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5874 ---------------------------------------
5875 Index Only Scan using ti1_uniq on ti1
5876 Index Cond: (c1 >= 1)
5880 /*+IndexOnlyScan(ti1 ti1_pkey)*/
5881 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5882 LOG: available indexes for IndexOnlyScan(ti1): ti1_pkey
5885 IndexOnlyScan(ti1 ti1_pkey)
5891 ---------------------------------------
5892 Index Only Scan using ti1_pkey on ti1
5893 Index Cond: (c1 >= 1)
5897 /*+IndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5898 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5899 LOG: available indexes for IndexOnlyScan(ti1): ti1_btree ti1_pkey
5902 IndexOnlyScan(ti1 ti1_pkey ti1_btree)
5908 ----------------------------------------
5909 Index Only Scan using ti1_btree on ti1
5910 Index Cond: (c1 >= 1)
5914 /*+NoIndexOnlyScan(ti1)*/
5915 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5918 NoIndexOnlyScan(ti1)
5924 ----------------------------------
5925 Index Scan using ti1_hash on ti1
5926 Index Cond: (c1 = 1)
5930 /*+NoIndexOnlyScan(ti1 ti1_pkey)*/
5931 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5932 INFO: pg_hint_plan: hint syntax error at or near ""
5933 DETAIL: NoIndexOnlyScan hint accepts only one relation.
5939 NoIndexOnlyScan(ti1 ti1_pkey)
5942 ----------------------------------
5943 Index Scan using ti1_hash on ti1
5944 Index Cond: (c1 = 1)
5948 /*+NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5949 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5950 INFO: pg_hint_plan: hint syntax error at or near ""
5951 DETAIL: NoIndexOnlyScan hint accepts only one relation.
5957 NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)
5960 ----------------------------------
5961 Index Scan using ti1_hash on ti1
5962 Index Cond: (c1 = 1)
5966 ---- No. S-3-14 regular expression
5968 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5970 --------------------------------
5971 Index Scan using ti1_i4 on ti1
5972 Index Cond: (c2 = 1)
5976 /*+IndexScanRegexp(ti1 ti1_.*_key)*/
5977 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5978 LOG: available indexes for IndexScanRegexp(ti1): ti1_c2_key
5981 IndexScanRegexp(ti1 ti1_.*_key)
5987 ------------------------------------
5988 Index Scan using ti1_c2_key on ti1
5989 Index Cond: (c2 = 1)
5993 /*+IndexScanRegexp(ti1 ti1_i.)*/
5994 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5995 LOG: available indexes for IndexScanRegexp(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
5998 IndexScanRegexp(ti1 ti1_i.)
6004 --------------------------------
6005 Index Scan using ti1_i4 on ti1
6006 Index Cond: (c2 = 1)
6010 /*+IndexScanRegexp(ti1 no.*_exist)*/
6011 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6012 LOG: available indexes for IndexScanRegexp(ti1):
6015 IndexScanRegexp(ti1 no.*_exist)
6021 --------------------
6027 /*+IndexScanRegexp(p1 .*pkey)*/
6028 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
6029 LOG: available indexes for IndexScanRegexp(p1): p1_pkey
6030 LOG: available indexes for IndexScanRegexp(p1c1): p1c1_pkey
6033 IndexScanRegexp(p1 .*pkey)
6039 ------------------------------------------
6041 -> Index Scan using p1_pkey on p1
6042 Index Cond: (c1 = 1)
6043 -> Index Scan using p1c1_pkey on p1c1
6044 Index Cond: (c1 = 1)
6048 /*+IndexScanRegexp(p1 p1.*i)*/
6049 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
6050 LOG: available indexes for IndexScanRegexp(p1): p1_i2 p1_i
6051 LOG: available indexes for IndexScanRegexp(p1c1): p1c1_i p1c1_c4_expr_idx
6054 IndexScanRegexp(p1 p1.*i)
6060 ---------------------------------------
6062 -> Index Scan using p1_i on p1
6063 Index Cond: (c1 = 1)
6064 -> Index Scan using p1c1_i on p1c1
6065 Index Cond: (c1 = 1)
6069 /*+IndexScanRegexp(p1 no.*_exist)*/
6070 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
6071 LOG: available indexes for IndexScanRegexp(p1):
6072 LOG: available indexes for IndexScanRegexp(p1c1):
6075 IndexScanRegexp(p1 no.*_exist)
6081 --------------------------
6090 ---- No. S-3-15 message output of index candidate
6093 /*+IndexScan(ti1 ti1_i1)*/
6094 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6095 LOG: available indexes for IndexScan(ti1): ti1_i1
6098 IndexScan(ti1 ti1_i1)
6104 --------------------------------
6105 Index Scan using ti1_i1 on ti1
6106 Index Cond: (c2 = 1)
6110 /*+IndexScan(ti1 not_exist)*/
6111 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6112 LOG: available indexes for IndexScan(ti1):
6115 IndexScan(ti1 not_exist)
6121 --------------------
6127 /*+IndexScan(ti1 ti1_i1 ti1_i2)*/
6128 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6129 LOG: available indexes for IndexScan(ti1): ti1_i2 ti1_i1
6132 IndexScan(ti1 ti1_i1 ti1_i2)
6138 --------------------------------
6139 Index Scan using ti1_i2 on ti1
6140 Index Cond: (c2 = 1)
6144 /*+IndexScan(ti1 ti1_i1 not_exist)*/
6145 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6146 LOG: available indexes for IndexScan(ti1): ti1_i1
6149 IndexScan(ti1 ti1_i1 not_exist)
6155 --------------------------------
6156 Index Scan using ti1_i1 on ti1
6157 Index Cond: (c2 = 1)
6161 /*+IndexScan(ti1 not_exist1 not_exist2)*/
6162 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6163 LOG: available indexes for IndexScan(ti1):
6166 IndexScan(ti1 not_exist1 not_exist2)
6172 --------------------
6177 DELETE FROM pg_db_role_setting WHERE setrole = (SELECT oid FROM pg_roles WHERE rolname = current_user);
6178 ALTER SYSTEM SET session_preload_libraries TO DEFAULT;
6179 SELECT pg_reload_conf();
6185 \! rm results/ut-S.tmpout