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)
1632 -> Seq Scan on t2 b1t2
1633 Filter: (ctid = '(1,1)'::tid)
1634 InitPlan 2 (returns $1)
1637 Join Filter: (b2t1.c1 = b2t2.c1)
1638 -> Tid Scan on t1 b2t1
1639 TID Cond: (ctid = '(1,1)'::tid)
1640 -> Seq Scan on t2 b2t2
1641 Filter: (ctid = '(1,1)'::tid)
1642 InitPlan 3 (returns $2)
1645 Join Filter: (b3t1.c1 = b3t2.c1)
1646 -> Tid Scan on t1 b3t1
1647 TID Cond: (ctid = '(1,1)'::tid)
1648 -> Seq Scan on t2 b3t2
1649 Filter: (ctid = '(1,1)'::tid)
1652 Join Filter: (bmt1.c1 = bmt2.c1)
1653 -> Tid Scan on t1 bmt1
1654 TID Cond: (ctid = '(1,1)'::tid)
1656 -> Seq Scan on t2 bmt2
1657 Filter: (ctid = '(1,1)'::tid)
1661 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)
1662 TidScan(b1t1)SeqScan(b1t2)
1663 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)
1664 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)
1666 EXPLAIN (COSTS false)
1668 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)'
1670 SELECT max(bmt1.c1), (
1671 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)'
1673 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1675 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)'
1678 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1679 LOG: available indexes for IndexScan(b3t1): t1_pkey
1680 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1681 LOG: available indexes for IndexScan(bmt2): t2_pkey
1686 BitmapScan(b2t1 t1_pkey)
1688 IndexScan(b3t1 t1_pkey)
1689 BitmapScan(b3t2 t2_pkey)
1691 IndexScan(bmt2 t2_pkey)
1697 --------------------------------------------------------------------
1702 Join Filter: (b1t1.c1 = b1t2.c1)
1703 -> Tid Scan on t1 b1t1
1704 TID Cond: (ctid = '(1,1)'::tid)
1705 -> Seq Scan on t2 b1t2
1706 Filter: (ctid = '(1,1)'::tid)
1707 InitPlan 2 (returns $2)
1710 -> Tid Scan on t2 b2t2
1711 TID Cond: (ctid = '(1,1)'::tid)
1712 -> Bitmap Heap Scan on t1 b2t1
1713 Recheck Cond: (c1 = b2t2.c1)
1714 Filter: (ctid = '(1,1)'::tid)
1715 -> Bitmap Index Scan on t1_pkey
1716 Index Cond: (c1 = b2t2.c1)
1717 InitPlan 3 (returns $4)
1720 -> Index Scan using t1_pkey on t1 b3t1
1721 Filter: (ctid = '(1,1)'::tid)
1722 -> Bitmap Heap Scan on t2 b3t2
1723 Recheck Cond: (c1 = b3t1.c1)
1724 Filter: (ctid = '(1,1)'::tid)
1725 -> Bitmap Index Scan on t2_pkey
1726 Index Cond: (c1 = b3t1.c1)
1729 Join Filter: (bmt1.c1 = bmt2.c1)
1730 -> Seq Scan on t1 bmt1
1731 Filter: ((c1 <> $4) AND (ctid = '(1,1)'::tid))
1732 -> Index Scan using t2_pkey on t2 bmt2
1733 Filter: (ctid = '(1,1)'::tid)
1738 EXPLAIN (COSTS false)
1740 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)'
1742 SELECT max(bmt1.c1), (
1743 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)'
1745 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
1747 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)'
1751 -------------------------------------------------------------------
1756 Join Filter: (b1t1.c1 = b1t4.c1)
1758 Join Filter: (b1t1.c1 = b1t3.c1)
1760 Join Filter: (b1t1.c1 = b1t2.c1)
1761 -> Tid Scan on t1 b1t1
1762 TID Cond: (ctid = '(1,1)'::tid)
1763 -> Seq Scan on t2 b1t2
1764 Filter: (ctid = '(1,1)'::tid)
1765 -> Tid Scan on t3 b1t3
1766 TID Cond: (ctid = '(1,1)'::tid)
1767 -> Tid Scan on t4 b1t4
1768 TID Cond: (ctid = '(1,1)'::tid)
1769 InitPlan 2 (returns $1)
1772 Join Filter: (b2t1.c1 = b2t4.c1)
1774 Join Filter: (b2t1.c1 = b2t3.c1)
1776 Join Filter: (b2t1.c1 = b2t2.c1)
1777 -> Tid Scan on t1 b2t1
1778 TID Cond: (ctid = '(1,1)'::tid)
1779 -> Seq Scan on t2 b2t2
1780 Filter: (ctid = '(1,1)'::tid)
1781 -> Tid Scan on t3 b2t3
1782 TID Cond: (ctid = '(1,1)'::tid)
1783 -> Tid Scan on t4 b2t4
1784 TID Cond: (ctid = '(1,1)'::tid)
1785 InitPlan 3 (returns $2)
1788 Join Filter: (b3t1.c1 = b3t4.c1)
1790 Join Filter: (b3t1.c1 = b3t3.c1)
1792 Join Filter: (b3t1.c1 = b3t2.c1)
1793 -> Tid Scan on t1 b3t1
1794 TID Cond: (ctid = '(1,1)'::tid)
1795 -> Seq Scan on t2 b3t2
1796 Filter: (ctid = '(1,1)'::tid)
1797 -> Tid Scan on t3 b3t3
1798 TID Cond: (ctid = '(1,1)'::tid)
1799 -> Tid Scan on t4 b3t4
1800 TID Cond: (ctid = '(1,1)'::tid)
1802 Join Filter: (bmt1.c1 = c1.c1)
1804 Join Filter: (bmt1.c1 = bmt4.c1)
1806 Join Filter: (bmt1.c1 = bmt3.c1)
1808 Join Filter: (bmt1.c1 = bmt2.c1)
1809 -> Tid Scan on t1 bmt1
1810 TID Cond: (ctid = '(1,1)'::tid)
1812 -> Seq Scan on t2 bmt2
1813 Filter: (ctid = '(1,1)'::tid)
1814 -> Tid Scan on t3 bmt3
1815 TID Cond: (ctid = '(1,1)'::tid)
1816 -> Tid Scan on t4 bmt4
1817 TID Cond: (ctid = '(1,1)'::tid)
1821 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1822 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1823 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1824 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
1826 EXPLAIN (COSTS false)
1828 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)'
1830 SELECT max(bmt1.c1), (
1831 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)'
1833 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
1835 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)'
1838 LOG: available indexes for IndexScan(b1t3): t3_pkey
1839 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1840 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1841 LOG: available indexes for IndexScan(b2t4): t4_pkey
1842 LOG: available indexes for IndexScan(b3t1): t1_pkey
1843 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1844 LOG: available indexes for IndexScan(bmt2): t2_pkey
1845 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1850 IndexScan(b1t3 t3_pkey)
1851 BitmapScan(b1t4 t4_pkey)
1852 BitmapScan(b2t1 t1_pkey)
1855 IndexScan(b2t4 t4_pkey)
1856 IndexScan(b3t1 t1_pkey)
1857 BitmapScan(b3t2 t2_pkey)
1861 IndexScan(bmt2 t2_pkey)
1862 BitmapScan(bmt3 t3_pkey)
1869 --------------------------------------------------------------------------------
1874 Join Filter: (b1t1.c1 = b1t4.c1)
1876 Join Filter: (b1t1.c1 = b1t3.c1)
1878 Join Filter: (b1t1.c1 = b1t2.c1)
1879 -> Tid Scan on t1 b1t1
1880 TID Cond: (ctid = '(1,1)'::tid)
1881 -> Seq Scan on t2 b1t2
1882 Filter: (ctid = '(1,1)'::tid)
1883 -> Index Scan using t3_pkey on t3 b1t3
1884 Index Cond: (c1 = b1t2.c1)
1885 Filter: (ctid = '(1,1)'::tid)
1886 -> Bitmap Heap Scan on t4 b1t4
1887 Recheck Cond: (c1 = b1t2.c1)
1888 Filter: (ctid = '(1,1)'::tid)
1889 -> Bitmap Index Scan on t4_pkey
1890 Index Cond: (c1 = b1t2.c1)
1891 InitPlan 2 (returns $5)
1894 Join Filter: (b2t1.c1 = b2t4.c1)
1896 Join Filter: (b2t2.c1 = b2t1.c1)
1898 Join Filter: (b2t2.c1 = b2t3.c1)
1899 -> Tid Scan on t2 b2t2
1900 TID Cond: (ctid = '(1,1)'::tid)
1901 -> Seq Scan on t3 b2t3
1902 Filter: (ctid = '(1,1)'::tid)
1903 -> Bitmap Heap Scan on t1 b2t1
1904 Recheck Cond: (c1 = b2t3.c1)
1905 Filter: (ctid = '(1,1)'::tid)
1906 -> Bitmap Index Scan on t1_pkey
1907 Index Cond: (c1 = b2t3.c1)
1908 -> Index Scan using t4_pkey on t4 b2t4
1909 Index Cond: (c1 = b2t2.c1)
1910 Filter: (ctid = '(1,1)'::tid)
1911 InitPlan 3 (returns $8)
1914 Join Filter: (b3t1.c1 = b3t2.c1)
1916 Join Filter: (b3t3.c1 = b3t1.c1)
1918 Join Filter: (b3t3.c1 = b3t4.c1)
1919 -> Tid Scan on t3 b3t3
1920 TID Cond: (ctid = '(1,1)'::tid)
1921 -> Seq Scan on t4 b3t4
1922 Filter: (ctid = '(1,1)'::tid)
1923 -> Index Scan using t1_pkey on t1 b3t1
1924 Index Cond: (c1 = b3t4.c1)
1925 Filter: (ctid = '(1,1)'::tid)
1926 -> Bitmap Heap Scan on t2 b3t2
1927 Recheck Cond: (c1 = b3t3.c1)
1928 Filter: (ctid = '(1,1)'::tid)
1929 -> Bitmap Index Scan on t2_pkey
1930 Index Cond: (c1 = b3t3.c1)
1932 Join Filter: (bmt1.c1 = c1.c1)
1934 Join Filter: (bmt1.c1 = bmt3.c1)
1936 Join Filter: (bmt1.c1 = bmt2.c1)
1938 Join Filter: (bmt1.c1 = bmt4.c1)
1939 -> Seq Scan on t1 bmt1
1940 Filter: ((c1 <> $8) AND (ctid = '(1,1)'::tid))
1941 -> Tid Scan on t4 bmt4
1942 TID Cond: (ctid = '(1,1)'::tid)
1943 -> Index Scan using t2_pkey on t2 bmt2
1944 Index Cond: (c1 = bmt4.c1)
1945 Filter: (ctid = '(1,1)'::tid)
1946 -> Bitmap Heap Scan on t3 bmt3
1947 Recheck Cond: (c1 = bmt2.c1)
1948 Filter: (ctid = '(1,1)'::tid)
1949 -> Bitmap Index Scan on t3_pkey
1950 Index Cond: (c1 = bmt2.c1)
1955 EXPLAIN (COSTS false)
1957 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
1959 SELECT max(bmt1.c1), (
1960 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1962 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)' AND bmt1.c1 = c1.c1
1964 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
1968 -------------------------------------------------------------------
1973 Join Filter: (b1t1.c1 = b1t4.c1)
1975 Join Filter: (b1t1.c1 = b1t3.c1)
1977 Join Filter: (b1t1.c1 = b1t2.c1)
1978 -> Tid Scan on t1 b1t1
1979 TID Cond: (ctid = '(1,1)'::tid)
1980 -> Seq Scan on t2 b1t2
1981 Filter: (ctid = '(1,1)'::tid)
1982 -> Tid Scan on t3 b1t3
1983 TID Cond: (ctid = '(1,1)'::tid)
1984 -> Tid Scan on t4 b1t4
1985 TID Cond: (ctid = '(1,1)'::tid)
1986 InitPlan 3 (returns $2)
1988 InitPlan 2 (returns $1)
1990 -> Tid Scan on t1 b2t1
1991 TID Cond: (ctid = '(1,1)'::tid)
1992 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1993 InitPlan 4 (returns $4)
1995 -> Tid Scan on t1 b3t1
1996 TID Cond: (ctid = '(1,1)'::tid)
1998 Join Filter: (bmt1.c1 = c1.c1)
2000 Join Filter: (bmt1.c1 = bmt4.c1)
2002 Join Filter: (bmt1.c1 = bmt3.c1)
2004 Join Filter: (bmt1.c1 = bmt2.c1)
2005 -> Tid Scan on t1 bmt1
2006 TID Cond: (ctid = '(1,1)'::tid)
2008 -> Seq Scan on t2 bmt2
2009 Filter: (ctid = '(1,1)'::tid)
2010 -> Tid Scan on t3 bmt3
2011 TID Cond: (ctid = '(1,1)'::tid)
2012 -> Tid Scan on t4 bmt4
2013 TID Cond: (ctid = '(1,1)'::tid)
2017 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
2018 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2019 BitmapScan(b2t1 t1_pkey)
2020 IndexScan(b3t1 t1_pkey)
2022 EXPLAIN (COSTS false)
2024 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = b1t2.c1 AND b1t2.ctid = '(1,1)' AND b1t1.c1 = b1t3.c1 AND b1t3.ctid = '(1,1)' AND b1t1.c1 = b1t4.c1 AND b1t4.ctid = '(1,1)'
2026 SELECT max(bmt1.c1), (
2027 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2029 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)' AND bmt1.c1 = bmt3.c1 AND bmt3.ctid = '(1,1)' AND bmt1.c1 = bmt4.c1 AND bmt4.ctid = '(1,1)' AND bmt1.c1 = c1.c1
2031 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2034 LOG: available indexes for IndexScan(b1t3): t3_pkey
2035 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2036 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2037 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2038 LOG: available indexes for IndexScan(b3t1): t1_pkey
2039 LOG: available indexes for IndexScan(b3t1): t1_pkey
2040 LOG: available indexes for IndexScan(bmt2): t2_pkey
2041 LOG: available indexes for BitmapScan(bmt3): t3_pkey
2046 IndexScan(b1t3 t3_pkey)
2047 BitmapScan(b1t4 t4_pkey)
2048 BitmapScan(b2t1 t1_pkey)
2049 IndexScan(b3t1 t1_pkey)
2051 IndexScan(bmt2 t2_pkey)
2052 BitmapScan(bmt3 t3_pkey)
2059 --------------------------------------------------------------------------------
2064 Join Filter: (b1t1.c1 = b1t4.c1)
2066 Join Filter: (b1t1.c1 = b1t3.c1)
2068 Join Filter: (b1t1.c1 = b1t2.c1)
2069 -> Tid Scan on t1 b1t1
2070 TID Cond: (ctid = '(1,1)'::tid)
2071 -> Seq Scan on t2 b1t2
2072 Filter: (ctid = '(1,1)'::tid)
2073 -> Index Scan using t3_pkey on t3 b1t3
2074 Index Cond: (c1 = b1t2.c1)
2075 Filter: (ctid = '(1,1)'::tid)
2076 -> Bitmap Heap Scan on t4 b1t4
2077 Recheck Cond: (c1 = b1t2.c1)
2078 Filter: (ctid = '(1,1)'::tid)
2079 -> Bitmap Index Scan on t4_pkey
2080 Index Cond: (c1 = b1t2.c1)
2081 InitPlan 3 (returns $4)
2083 InitPlan 2 (returns $3)
2085 -> Bitmap Heap Scan on t1 b2t1
2086 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2087 Filter: (ctid = '(1,1)'::tid)
2088 -> Bitmap Index Scan on t1_pkey
2089 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2090 InitPlan 5 (returns $6)
2092 InitPlan 4 (returns $5)
2094 -> Index Scan Backward using t1_pkey on t1 b3t1
2095 Index Cond: (c1 IS NOT NULL)
2096 Filter: (ctid = '(1,1)'::tid)
2098 Join Filter: (bmt1.c1 = c1.c1)
2100 Join Filter: (bmt1.c1 = bmt3.c1)
2102 Join Filter: (bmt1.c1 = bmt2.c1)
2104 Join Filter: (bmt1.c1 = bmt4.c1)
2105 -> Seq Scan on t1 bmt1
2106 Filter: ((c1 <> $6) AND (ctid = '(1,1)'::tid))
2107 -> Tid Scan on t4 bmt4
2108 TID Cond: (ctid = '(1,1)'::tid)
2109 -> Index Scan using t2_pkey on t2 bmt2
2110 Index Cond: (c1 = bmt4.c1)
2111 Filter: (ctid = '(1,1)'::tid)
2112 -> Bitmap Heap Scan on t3 bmt3
2113 Recheck Cond: (c1 = bmt2.c1)
2114 Filter: (ctid = '(1,1)'::tid)
2115 -> Bitmap Index Scan on t3_pkey
2116 Index Cond: (c1 = bmt2.c1)
2121 ---- No. S-2-3 RULE or VIEW
2124 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2126 -----------------------------------------------------------------
2129 Join Filter: (t1.c1 = t4.c1)
2131 Join Filter: (t1.c1 = t3.c1)
2133 Join Filter: (t1.c1 = t2.c1)
2136 TID Cond: (ctid = '(1,1)'::tid)
2139 TID Cond: (ctid = '(1,1)'::tid)
2141 Filter: (ctid = '(1,1)'::tid)
2143 TID Cond: (ctid = '(1,1)'::tid)
2145 TID Cond: (ctid = '(1,1)'::tid)
2148 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2150 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2151 LOG: available indexes for IndexScan(t3): t3_pkey
2152 LOG: available indexes for BitmapScan(t4): t4_pkey
2158 IndexScan(t3 t3_pkey)
2159 BitmapScan(t4 t4_pkey)
2165 ------------------------------------------------------------------------------
2168 Join Filter: (t1.c1 = t4.c1)
2170 Join Filter: (t1.c1 = t3.c1)
2172 Join Filter: (t1.c1 = t2.c1)
2175 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2177 TID Cond: (ctid = '(1,1)'::tid)
2179 Filter: (ctid = '(1,1)'::tid)
2180 -> Index Scan using t3_pkey on t3
2181 Index Cond: (c1 = t2.c1)
2182 Filter: (ctid = '(1,1)'::tid)
2183 -> Bitmap Heap Scan on t4
2184 Recheck Cond: (c1 = t2.c1)
2185 Filter: (ctid = '(1,1)'::tid)
2186 -> Bitmap Index Scan on t4_pkey
2187 Index Cond: (c1 = t2.c1)
2190 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2192 -----------------------------------------------------------------
2195 Join Filter: (b1t1.c1 = b1t4.c1)
2197 Join Filter: (b1t1.c1 = b1t3.c1)
2199 Join Filter: (b1t1.c1 = b1t2.c1)
2202 TID Cond: (ctid = '(1,1)'::tid)
2204 -> Tid Scan on t1 b1t1
2205 TID Cond: (ctid = '(1,1)'::tid)
2206 -> Seq Scan on t2 b1t2
2207 Filter: (ctid = '(1,1)'::tid)
2208 -> Tid Scan on t3 b1t3
2209 TID Cond: (ctid = '(1,1)'::tid)
2210 -> Tid Scan on t4 b1t4
2211 TID Cond: (ctid = '(1,1)'::tid)
2214 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2216 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2217 LOG: available indexes for IndexScan(b1t3): t3_pkey
2218 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2223 IndexScan(b1t3 t3_pkey)
2224 BitmapScan(b1t4 t4_pkey)
2231 ------------------------------------------------------------------------------
2234 Join Filter: (b1t1.c1 = b1t4.c1)
2236 Join Filter: (b1t1.c1 = b1t3.c1)
2238 Join Filter: (b1t1.c1 = b1t2.c1)
2241 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2242 -> Tid Scan on t1 b1t1
2243 TID Cond: (ctid = '(1,1)'::tid)
2244 -> Seq Scan on t2 b1t2
2245 Filter: (ctid = '(1,1)'::tid)
2246 -> Index Scan using t3_pkey on t3 b1t3
2247 Index Cond: (c1 = b1t2.c1)
2248 Filter: (ctid = '(1,1)'::tid)
2249 -> Bitmap Heap Scan on t4 b1t4
2250 Recheck Cond: (c1 = b1t2.c1)
2251 Filter: (ctid = '(1,1)'::tid)
2252 -> Bitmap Index Scan on t4_pkey
2253 Index Cond: (c1 = b1t2.c1)
2257 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2259 -----------------------------------------------------------------
2262 Join Filter: (t1.c1 = t4.c1)
2264 Join Filter: (t1.c1 = t3.c1)
2266 Join Filter: (t1.c1 = t2.c1)
2269 TID Cond: (ctid = '(1,1)'::tid)
2272 TID Cond: (ctid = '(1,1)'::tid)
2274 Filter: (ctid = '(1,1)'::tid)
2276 TID Cond: (ctid = '(1,1)'::tid)
2278 TID Cond: (ctid = '(1,1)'::tid)
2282 Join Filter: (t1.c1 = t4.c1)
2284 Join Filter: (t1.c1 = t3.c1)
2286 Join Filter: (t1.c1 = t2.c1)
2289 TID Cond: (ctid = '(1,1)'::tid)
2292 TID Cond: (ctid = '(1,1)'::tid)
2294 Filter: (ctid = '(1,1)'::tid)
2296 TID Cond: (ctid = '(1,1)'::tid)
2298 TID Cond: (ctid = '(1,1)'::tid)
2301 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2303 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2304 LOG: available indexes for IndexScan(t3): t3_pkey
2305 LOG: available indexes for BitmapScan(t4): t4_pkey
2311 IndexScan(t3 t3_pkey)
2312 BitmapScan(t4 t4_pkey)
2317 LOG: available indexes for IndexScan(t3): t3_pkey
2318 LOG: available indexes for BitmapScan(t4): t4_pkey
2324 IndexScan(t3 t3_pkey)
2325 BitmapScan(t4 t4_pkey)
2331 ------------------------------------------------------------------------------
2334 Join Filter: (t1.c1 = t4.c1)
2336 Join Filter: (t1.c1 = t3.c1)
2338 Join Filter: (t1.c1 = t2.c1)
2341 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2343 TID Cond: (ctid = '(1,1)'::tid)
2345 Filter: (ctid = '(1,1)'::tid)
2346 -> Index Scan using t3_pkey on t3
2347 Index Cond: (c1 = t2.c1)
2348 Filter: (ctid = '(1,1)'::tid)
2349 -> Bitmap Heap Scan on t4
2350 Recheck Cond: (c1 = t2.c1)
2351 Filter: (ctid = '(1,1)'::tid)
2352 -> Bitmap Index Scan on t4_pkey
2353 Index Cond: (c1 = t2.c1)
2357 Join Filter: (t1.c1 = t4.c1)
2359 Join Filter: (t1.c1 = t3.c1)
2361 Join Filter: (t1.c1 = t2.c1)
2364 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2366 TID Cond: (ctid = '(1,1)'::tid)
2368 Filter: (ctid = '(1,1)'::tid)
2369 -> Index Scan using t3_pkey on t3
2370 Index Cond: (c1 = t2.c1)
2371 Filter: (ctid = '(1,1)'::tid)
2372 -> Bitmap Heap Scan on t4
2373 Recheck Cond: (c1 = t2.c1)
2374 Filter: (ctid = '(1,1)'::tid)
2375 -> Bitmap Index Scan on t4_pkey
2376 Index Cond: (c1 = t2.c1)
2379 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2381 -----------------------------------------------------------------
2384 Join Filter: (b1t1.c1 = b1t4.c1)
2386 Join Filter: (b1t1.c1 = b1t3.c1)
2388 Join Filter: (b1t1.c1 = b1t2.c1)
2391 TID Cond: (ctid = '(1,1)'::tid)
2393 -> Tid Scan on t1 b1t1
2394 TID Cond: (ctid = '(1,1)'::tid)
2395 -> Seq Scan on t2 b1t2
2396 Filter: (ctid = '(1,1)'::tid)
2397 -> Tid Scan on t3 b1t3
2398 TID Cond: (ctid = '(1,1)'::tid)
2399 -> Tid Scan on t4 b1t4
2400 TID Cond: (ctid = '(1,1)'::tid)
2404 Join Filter: (b2t1.c1 = b2t4.c1)
2406 Join Filter: (b2t1.c1 = b2t3.c1)
2408 Join Filter: (b2t1.c1 = b2t2.c1)
2411 TID Cond: (ctid = '(1,1)'::tid)
2413 -> Tid Scan on t1 b2t1
2414 TID Cond: (ctid = '(1,1)'::tid)
2415 -> Seq Scan on t2 b2t2
2416 Filter: (ctid = '(1,1)'::tid)
2417 -> Tid Scan on t3 b2t3
2418 TID Cond: (ctid = '(1,1)'::tid)
2419 -> Tid Scan on t4 b2t4
2420 TID Cond: (ctid = '(1,1)'::tid)
2423 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2424 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2426 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2427 LOG: available indexes for IndexScan(b1t3): t3_pkey
2428 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2433 IndexScan(b1t3 t3_pkey)
2434 BitmapScan(b1t4 t4_pkey)
2437 BitmapScan(b2t1 t1_pkey)
2440 IndexScan(b2t4 t4_pkey)
2444 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2445 LOG: available indexes for IndexScan(b2t4): t4_pkey
2448 BitmapScan(b2t1 t1_pkey)
2451 IndexScan(b2t4 t4_pkey)
2456 IndexScan(b1t3 t3_pkey)
2457 BitmapScan(b1t4 t4_pkey)
2462 ------------------------------------------------------------------------------
2465 Join Filter: (b1t1.c1 = b1t4.c1)
2467 Join Filter: (b1t1.c1 = b1t3.c1)
2469 Join Filter: (b1t1.c1 = b1t2.c1)
2472 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2473 -> Tid Scan on t1 b1t1
2474 TID Cond: (ctid = '(1,1)'::tid)
2475 -> Seq Scan on t2 b1t2
2476 Filter: (ctid = '(1,1)'::tid)
2477 -> Index Scan using t3_pkey on t3 b1t3
2478 Index Cond: (c1 = b1t2.c1)
2479 Filter: (ctid = '(1,1)'::tid)
2480 -> Bitmap Heap Scan on t4 b1t4
2481 Recheck Cond: (c1 = b1t2.c1)
2482 Filter: (ctid = '(1,1)'::tid)
2483 -> Bitmap Index Scan on t4_pkey
2484 Index Cond: (c1 = b1t2.c1)
2488 Join Filter: (b2t1.c1 = b2t4.c1)
2490 Join Filter: (b2t2.c1 = b2t1.c1)
2492 Join Filter: (b2t2.c1 = b2t3.c1)
2495 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2496 -> Tid Scan on t2 b2t2
2497 TID Cond: (ctid = '(1,1)'::tid)
2498 -> Seq Scan on t3 b2t3
2499 Filter: (ctid = '(1,1)'::tid)
2500 -> Bitmap Heap Scan on t1 b2t1
2501 Recheck Cond: (c1 = b2t3.c1)
2502 Filter: (ctid = '(1,1)'::tid)
2503 -> Bitmap Index Scan on t1_pkey
2504 Index Cond: (c1 = b2t3.c1)
2505 -> Index Scan using t4_pkey on t4 b2t4
2506 Index Cond: (c1 = b2t2.c1)
2507 Filter: (ctid = '(1,1)'::tid)
2511 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2513 -----------------------------------------------------------------
2516 Join Filter: (t1.c1 = t4.c1)
2518 Join Filter: (t1.c1 = t3.c1)
2520 Join Filter: (t1.c1 = t2.c1)
2523 TID Cond: (ctid = '(1,1)'::tid)
2526 TID Cond: (ctid = '(1,1)'::tid)
2528 Filter: (ctid = '(1,1)'::tid)
2530 TID Cond: (ctid = '(1,1)'::tid)
2532 TID Cond: (ctid = '(1,1)'::tid)
2536 Join Filter: (t1.c1 = t4.c1)
2538 Join Filter: (t1.c1 = t3.c1)
2540 Join Filter: (t1.c1 = t2.c1)
2543 TID Cond: (ctid = '(1,1)'::tid)
2546 TID Cond: (ctid = '(1,1)'::tid)
2548 Filter: (ctid = '(1,1)'::tid)
2550 TID Cond: (ctid = '(1,1)'::tid)
2552 TID Cond: (ctid = '(1,1)'::tid)
2556 Join Filter: (t1.c1 = t4.c1)
2558 Join Filter: (t1.c1 = t3.c1)
2560 Join Filter: (t1.c1 = t2.c1)
2563 TID Cond: (ctid = '(1,1)'::tid)
2566 TID Cond: (ctid = '(1,1)'::tid)
2568 Filter: (ctid = '(1,1)'::tid)
2570 TID Cond: (ctid = '(1,1)'::tid)
2572 TID Cond: (ctid = '(1,1)'::tid)
2575 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2577 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2578 LOG: available indexes for IndexScan(t3): t3_pkey
2579 LOG: available indexes for BitmapScan(t4): t4_pkey
2585 IndexScan(t3 t3_pkey)
2586 BitmapScan(t4 t4_pkey)
2591 LOG: available indexes for IndexScan(t3): t3_pkey
2592 LOG: available indexes for BitmapScan(t4): t4_pkey
2598 IndexScan(t3 t3_pkey)
2599 BitmapScan(t4 t4_pkey)
2604 LOG: available indexes for IndexScan(t3): t3_pkey
2605 LOG: available indexes for BitmapScan(t4): t4_pkey
2611 IndexScan(t3 t3_pkey)
2612 BitmapScan(t4 t4_pkey)
2618 ------------------------------------------------------------------------------
2621 Join Filter: (t1.c1 = t4.c1)
2623 Join Filter: (t1.c1 = t3.c1)
2625 Join Filter: (t1.c1 = t2.c1)
2628 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2630 TID Cond: (ctid = '(1,1)'::tid)
2632 Filter: (ctid = '(1,1)'::tid)
2633 -> Index Scan using t3_pkey on t3
2634 Index Cond: (c1 = t2.c1)
2635 Filter: (ctid = '(1,1)'::tid)
2636 -> Bitmap Heap Scan on t4
2637 Recheck Cond: (c1 = t2.c1)
2638 Filter: (ctid = '(1,1)'::tid)
2639 -> Bitmap Index Scan on t4_pkey
2640 Index Cond: (c1 = t2.c1)
2644 Join Filter: (t1.c1 = t4.c1)
2646 Join Filter: (t1.c1 = t3.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 = t2.c1)
2658 Filter: (ctid = '(1,1)'::tid)
2659 -> Bitmap Heap Scan on t4
2660 Recheck Cond: (c1 = t2.c1)
2661 Filter: (ctid = '(1,1)'::tid)
2662 -> Bitmap Index Scan on t4_pkey
2663 Index Cond: (c1 = t2.c1)
2667 Join Filter: (t1.c1 = t4.c1)
2669 Join Filter: (t1.c1 = t3.c1)
2671 Join Filter: (t1.c1 = t2.c1)
2674 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2676 TID Cond: (ctid = '(1,1)'::tid)
2678 Filter: (ctid = '(1,1)'::tid)
2679 -> Index Scan using t3_pkey on t3
2680 Index Cond: (c1 = t2.c1)
2681 Filter: (ctid = '(1,1)'::tid)
2682 -> Bitmap Heap Scan on t4
2683 Recheck Cond: (c1 = t2.c1)
2684 Filter: (ctid = '(1,1)'::tid)
2685 -> Bitmap Index Scan on t4_pkey
2686 Index Cond: (c1 = t2.c1)
2689 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2691 -----------------------------------------------------------------
2694 Join Filter: (b1t1.c1 = b1t4.c1)
2696 Join Filter: (b1t1.c1 = b1t3.c1)
2698 Join Filter: (b1t1.c1 = b1t2.c1)
2701 TID Cond: (ctid = '(1,1)'::tid)
2703 -> Tid Scan on t1 b1t1
2704 TID Cond: (ctid = '(1,1)'::tid)
2705 -> Seq Scan on t2 b1t2
2706 Filter: (ctid = '(1,1)'::tid)
2707 -> Tid Scan on t3 b1t3
2708 TID Cond: (ctid = '(1,1)'::tid)
2709 -> Tid Scan on t4 b1t4
2710 TID Cond: (ctid = '(1,1)'::tid)
2714 Join Filter: (b2t1.c1 = b2t4.c1)
2716 Join Filter: (b2t1.c1 = b2t3.c1)
2718 Join Filter: (b2t1.c1 = b2t2.c1)
2721 TID Cond: (ctid = '(1,1)'::tid)
2723 -> Tid Scan on t1 b2t1
2724 TID Cond: (ctid = '(1,1)'::tid)
2725 -> Seq Scan on t2 b2t2
2726 Filter: (ctid = '(1,1)'::tid)
2727 -> Tid Scan on t3 b2t3
2728 TID Cond: (ctid = '(1,1)'::tid)
2729 -> Tid Scan on t4 b2t4
2730 TID Cond: (ctid = '(1,1)'::tid)
2734 Join Filter: (b3t1.c1 = b3t4.c1)
2736 Join Filter: (b3t1.c1 = b3t3.c1)
2738 Join Filter: (b3t1.c1 = b3t2.c1)
2741 TID Cond: (ctid = '(1,1)'::tid)
2743 -> Tid Scan on t1 b3t1
2744 TID Cond: (ctid = '(1,1)'::tid)
2745 -> Seq Scan on t2 b3t2
2746 Filter: (ctid = '(1,1)'::tid)
2747 -> Tid Scan on t3 b3t3
2748 TID Cond: (ctid = '(1,1)'::tid)
2749 -> Tid Scan on t4 b3t4
2750 TID Cond: (ctid = '(1,1)'::tid)
2753 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2754 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2755 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
2757 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2758 LOG: available indexes for IndexScan(b1t3): t3_pkey
2759 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2764 IndexScan(b1t3 t3_pkey)
2765 BitmapScan(b1t4 t4_pkey)
2768 BitmapScan(b2t1 t1_pkey)
2771 IndexScan(b2t4 t4_pkey)
2772 IndexScan(b3t1 t1_pkey)
2773 BitmapScan(b3t2 t2_pkey)
2779 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2780 LOG: available indexes for IndexScan(b2t4): t4_pkey
2783 BitmapScan(b2t1 t1_pkey)
2786 IndexScan(b2t4 t4_pkey)
2791 IndexScan(b1t3 t3_pkey)
2792 BitmapScan(b1t4 t4_pkey)
2793 IndexScan(b3t1 t1_pkey)
2794 BitmapScan(b3t2 t2_pkey)
2800 LOG: available indexes for IndexScan(b3t1): t1_pkey
2801 LOG: available indexes for BitmapScan(b3t2): t2_pkey
2804 IndexScan(b3t1 t1_pkey)
2805 BitmapScan(b3t2 t2_pkey)
2812 IndexScan(b1t3 t3_pkey)
2813 BitmapScan(b1t4 t4_pkey)
2814 BitmapScan(b2t1 t1_pkey)
2817 IndexScan(b2t4 t4_pkey)
2822 ------------------------------------------------------------------------------
2825 Join Filter: (b1t1.c1 = b1t4.c1)
2827 Join Filter: (b1t1.c1 = b1t3.c1)
2829 Join Filter: (b1t1.c1 = b1t2.c1)
2832 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2833 -> Tid Scan on t1 b1t1
2834 TID Cond: (ctid = '(1,1)'::tid)
2835 -> Seq Scan on t2 b1t2
2836 Filter: (ctid = '(1,1)'::tid)
2837 -> Index Scan using t3_pkey on t3 b1t3
2838 Index Cond: (c1 = b1t2.c1)
2839 Filter: (ctid = '(1,1)'::tid)
2840 -> Bitmap Heap Scan on t4 b1t4
2841 Recheck Cond: (c1 = b1t2.c1)
2842 Filter: (ctid = '(1,1)'::tid)
2843 -> Bitmap Index Scan on t4_pkey
2844 Index Cond: (c1 = b1t2.c1)
2848 Join Filter: (b2t1.c1 = b2t4.c1)
2850 Join Filter: (b2t2.c1 = b2t1.c1)
2852 Join Filter: (b2t2.c1 = b2t3.c1)
2855 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2856 -> Tid Scan on t2 b2t2
2857 TID Cond: (ctid = '(1,1)'::tid)
2858 -> Seq Scan on t3 b2t3
2859 Filter: (ctid = '(1,1)'::tid)
2860 -> Bitmap Heap Scan on t1 b2t1
2861 Recheck Cond: (c1 = b2t3.c1)
2862 Filter: (ctid = '(1,1)'::tid)
2863 -> Bitmap Index Scan on t1_pkey
2864 Index Cond: (c1 = b2t3.c1)
2865 -> Index Scan using t4_pkey on t4 b2t4
2866 Index Cond: (c1 = b2t2.c1)
2867 Filter: (ctid = '(1,1)'::tid)
2871 Join Filter: (b3t1.c1 = b3t2.c1)
2873 Join Filter: (b3t3.c1 = b3t1.c1)
2875 Join Filter: (b3t3.c1 = b3t4.c1)
2878 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2879 -> Tid Scan on t3 b3t3
2880 TID Cond: (ctid = '(1,1)'::tid)
2881 -> Seq Scan on t4 b3t4
2882 Filter: (ctid = '(1,1)'::tid)
2883 -> Index Scan using t1_pkey on t1 b3t1
2884 Index Cond: (c1 = b3t4.c1)
2885 Filter: (ctid = '(1,1)'::tid)
2886 -> Bitmap Heap Scan on t2 b3t2
2887 Recheck Cond: (c1 = b3t3.c1)
2888 Filter: (ctid = '(1,1)'::tid)
2889 -> Bitmap Index Scan on t2_pkey
2890 Index Cond: (c1 = b3t3.c1)
2894 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2896 ------------------------------------
2898 Hash Cond: (v1t1.c1 = v1t1_1.c1)
2899 -> Seq Scan on t1 v1t1
2901 -> Seq Scan on t1 v1t1_1
2904 /*+BitmapScan(v1t1)*/
2905 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2914 ------------------------------------------
2916 -> Index Scan using t1_i1 on t1 v1t1
2917 -> Bitmap Heap Scan on t1 v1t1_1
2918 Recheck Cond: (c1 = v1t1.c1)
2919 -> Bitmap Index Scan on t1_i1
2920 Index Cond: (c1 = v1t1.c1)
2924 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2926 -----------------------------------
2928 Hash Cond: (v1t1.c1 = v1t1_.c1)
2929 -> Seq Scan on t1 v1t1
2931 -> Seq Scan on t1 v1t1_
2934 /*+SeqScan(v1t1)BitmapScan(v1t1_)*/
2935 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2945 ------------------------------------------
2947 -> Seq Scan on t1 v1t1
2948 -> Bitmap Heap Scan on t1 v1t1_
2949 Recheck Cond: (c1 = v1t1.c1)
2950 -> Bitmap Index Scan on t1_i1
2951 Index Cond: (c1 = v1t1.c1)
2955 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2957 ------------------------------------
2959 Hash Cond: (r4t1.c1 = r4t1_1.c1)
2960 -> Seq Scan on t1 r4t1
2962 -> Seq Scan on t1 r4t1_1
2965 /*+BitmapScan(r4t1)*/
2966 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2975 ------------------------------------------
2977 -> Index Scan using t1_i1 on t1 r4t1
2978 -> Bitmap Heap Scan on t1 r4t1_1
2979 Recheck Cond: (c1 = r4t1.c1)
2980 -> Bitmap Index Scan on t1_i1
2981 Index Cond: (c1 = r4t1.c1)
2985 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2987 ----------------------------------
2989 Hash Cond: (r4t1.c1 = r5t1.c1)
2990 -> Seq Scan on t1 r4t1
2992 -> Seq Scan on t1 r5t1
2995 /*+SeqScan(r4t1)BitmapScan(r5t1)*/
2996 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
3006 ------------------------------------------
3008 -> Seq Scan on t1 r4t1
3009 -> Bitmap Heap Scan on t1 r5t1
3010 Recheck Cond: (c1 = r4t1.c1)
3011 -> Bitmap Index Scan on t1_i1
3012 Index Cond: (c1 = r4t1.c1)
3016 ---- No. S-2-4 VALUES clause
3019 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3026 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3039 /*+SeqScan(*VALUES*)*/
3040 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3054 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;
3056 ----------------------------------------------------------
3058 Hash Cond: ("*VALUES*".column1 = "*VALUES*_1".column1)
3059 -> Values Scan on "*VALUES*"
3061 -> Values Scan on "*VALUES*_1"
3065 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;
3066 INFO: pg_hint_plan: hint syntax error at or near ""
3067 DETAIL: SeqScan hint accepts only one relation.
3076 ----------------------------------------------------------
3078 Hash Cond: ("*VALUES*".column1 = "*VALUES*_1".column1)
3079 -> Values Scan on "*VALUES*"
3081 -> Values Scan on "*VALUES*_1"
3084 /*+SeqScan(*VALUES*)*/
3085 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;
3094 ----------------------------------------------------------
3096 Hash Cond: ("*VALUES*".column1 = "*VALUES*_1".column1)
3097 -> Values Scan on "*VALUES*"
3099 -> Values Scan on "*VALUES*_1"
3103 ---- No. S-3-1 scan method hint
3106 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3108 ---------------------
3114 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3123 ---------------------
3129 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3131 ------------------------------
3132 Index Scan using t1_i1 on t1
3133 Index Cond: (c1 = 1)
3137 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3146 --------------------
3152 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3154 ------------------------------
3155 Index Scan using t1_i1 on t1
3156 Index Cond: (c1 = 1)
3160 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3169 ------------------------------
3170 Index Scan using t1_i1 on t1
3171 Index Cond: (c1 = 1)
3175 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3177 ---------------------
3183 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3192 ------------------------------
3193 Index Scan using t1_i1 on t1
3194 Index Cond: (c1 >= 1)
3198 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3200 ---------------------------------
3201 Bitmap Heap Scan on t1
3202 Recheck Cond: (c3 < 10)
3203 -> Bitmap Index Scan on t1_i
3204 Index Cond: (c3 < 10)
3208 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3217 ---------------------------------
3218 Bitmap Heap Scan on t1
3219 Recheck Cond: (c3 < 10)
3220 -> Bitmap Index Scan on t1_i
3221 Index Cond: (c3 < 10)
3225 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3227 ------------------------------
3228 Index Scan using t1_i1 on t1
3229 Index Cond: (c1 = 1)
3233 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3242 ----------------------------------
3243 Bitmap Heap Scan on t1
3244 Recheck Cond: (c1 = 1)
3245 -> Bitmap Index Scan on t1_i1
3246 Index Cond: (c1 = 1)
3250 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3252 -----------------------------------
3254 TID Cond: (ctid = '(1,1)'::tid)
3259 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3268 -----------------------------------
3270 TID Cond: (ctid = '(1,1)'::tid)
3275 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3277 -------------------------------------------------------------
3278 Index Scan using t1_i1 on t1
3279 Index Cond: (c1 = 1)
3280 Filter: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3284 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3293 ---------------------------------------------------------------
3295 TID Cond: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3300 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3302 ---------------------
3308 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3317 ------------------------------
3318 Index Scan using t1_i1 on t1
3319 Index Cond: (c1 >= 1)
3323 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3325 ------------------------------
3326 Index Scan using t1_i1 on t1
3327 Index Cond: (c1 = 1)
3331 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3340 ------------------------------
3341 Index Scan using t1_i1 on t1
3342 Index Cond: (c1 = 1)
3346 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3348 ------------------------------
3349 Index Scan using t1_i1 on t1
3350 Index Cond: (c1 = 1)
3353 /*+NoIndexScan(t1)*/
3354 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3363 ----------------------------------
3364 Bitmap Heap Scan on t1
3365 Recheck Cond: (c1 = 1)
3366 -> Bitmap Index Scan on t1_i1
3367 Index Cond: (c1 = 1)
3371 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3373 ---------------------
3378 /*+NoIndexScan(t1)*/
3379 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3388 ---------------------
3394 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3396 ---------------------------------
3397 Bitmap Heap Scan on t1
3398 Recheck Cond: (c3 < 10)
3399 -> Bitmap Index Scan on t1_i
3400 Index Cond: (c3 < 10)
3403 /*+NoBitmapScan(t1)*/
3404 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3413 ---------------------
3419 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3421 ------------------------------
3422 Index Scan using t1_i1 on t1
3423 Index Cond: (c1 = 1)
3426 /*+NoBitmapScan(t1)*/
3427 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3436 ------------------------------
3437 Index Scan using t1_i1 on t1
3438 Index Cond: (c1 = 1)
3442 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3444 -----------------------------------
3446 TID Cond: (ctid = '(1,1)'::tid)
3451 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3460 ---------------------------------
3461 Index Scan using t1_i1 on t1
3462 Index Cond: (c1 = 1)
3463 Filter: (ctid = '(1,1)'::tid)
3467 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3469 ------------------------------
3470 Index Scan using t1_i1 on t1
3471 Index Cond: (c1 = 1)
3475 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3484 ------------------------------
3485 Index Scan using t1_i1 on t1
3486 Index Cond: (c1 = 1)
3490 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3492 -----------------------------------
3493 Index Only Scan using t1_i1 on t1
3494 Index Cond: (c1 = 1)
3497 /*+IndexOnlyScan(t1)*/
3498 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3507 -----------------------------------
3508 Index Only Scan using t1_i1 on t1
3509 Index Cond: (c1 = 1)
3513 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3515 ---------------------
3520 /*+IndexOnlyScan(t1)*/
3521 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3530 -----------------------------------
3531 Index Only Scan using t1_i1 on t1
3532 Index Cond: (c1 >= 1)
3536 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3538 -----------------------------------
3539 Index Only Scan using t1_i1 on t1
3540 Index Cond: (c1 = 1)
3543 /*+NoIndexOnlyScan(t1)*/
3544 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3553 ------------------------------
3554 Index Scan using t1_i1 on t1
3555 Index Cond: (c1 = 1)
3559 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3561 ---------------------
3566 /*+NoIndexOnlyScan(t1)*/
3567 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3576 ---------------------
3582 ---- No. S-3-3 index name specified
3584 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3586 -----------------------------------
3588 TID Cond: (ctid = '(1,1)'::tid)
3592 SET enable_tidscan TO off;
3593 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3595 ---------------------------------
3596 Index Scan using ti1_i4 on ti1
3597 Index Cond: (c2 = 1)
3598 Filter: (ctid = '(1,1)'::tid)
3601 SET enable_indexscan TO off;
3602 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3604 -----------------------------------
3605 Bitmap Heap Scan on ti1
3606 Recheck Cond: (c2 = 1)
3607 Filter: (ctid = '(1,1)'::tid)
3608 -> Bitmap Index Scan on ti1_i4
3609 Index Cond: (c2 = 1)
3612 RESET enable_tidscan;
3613 RESET enable_indexscan;
3614 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3616 ---------------------
3622 /*+IndexScan(ti1 ti1_i3)*/
3623 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3624 LOG: available indexes for IndexScan(ti1): ti1_i3
3627 IndexScan(ti1 ti1_i3)
3633 ---------------------------------
3634 Index Scan using ti1_i3 on ti1
3635 Index Cond: (c2 = 1)
3636 Filter: (ctid = '(1,1)'::tid)
3640 /*+IndexScan(ti1 ti1_i3 ti1_i2)*/
3641 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3642 LOG: available indexes for IndexScan(ti1): ti1_i3 ti1_i2
3645 IndexScan(ti1 ti1_i3 ti1_i2)
3651 ---------------------------------
3652 Index Scan using ti1_i3 on ti1
3653 Index Cond: (c2 = 1)
3654 Filter: (ctid = '(1,1)'::tid)
3658 /*+IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3659 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3660 LOG: available indexes for IndexScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3663 IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3669 ---------------------------------
3670 Index Scan using ti1_i4 on ti1
3671 Index Cond: (c2 = 1)
3672 Filter: (ctid = '(1,1)'::tid)
3676 /*+BitmapScan(ti1 ti1_i3)*/
3677 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3678 LOG: available indexes for BitmapScan(ti1): ti1_i3
3681 BitmapScan(ti1 ti1_i3)
3687 -----------------------------------
3688 Bitmap Heap Scan on ti1
3689 Recheck Cond: (c2 = 1)
3690 Filter: (ctid = '(1,1)'::tid)
3691 -> Bitmap Index Scan on ti1_i3
3692 Index Cond: (c2 = 1)
3696 /*+BitmapScan(ti1 ti1_i3 ti1_i2)*/
3697 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3698 LOG: available indexes for BitmapScan(ti1): ti1_i3 ti1_i2
3701 BitmapScan(ti1 ti1_i3 ti1_i2)
3707 -----------------------------------
3708 Bitmap Heap Scan on ti1
3709 Recheck Cond: (c2 = 1)
3710 Filter: (ctid = '(1,1)'::tid)
3711 -> Bitmap Index Scan on ti1_i3
3712 Index Cond: (c2 = 1)
3716 /*+BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3717 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3718 LOG: available indexes for BitmapScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3721 BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3727 -----------------------------------
3728 Bitmap Heap Scan on ti1
3729 Recheck Cond: (c2 = 1)
3730 Filter: (ctid = '(1,1)'::tid)
3731 -> Bitmap Index Scan on ti1_i4
3732 Index Cond: (c2 = 1)
3736 /*+IndexOnlyScan(ti1 ti1_i3)*/
3737 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3738 LOG: available indexes for IndexOnlyScan(ti1): ti1_i3
3741 IndexOnlyScan(ti1 ti1_i3)
3747 -------------------------------------
3748 Index Only Scan using ti1_i3 on ti1
3749 Index Cond: (c2 >= 1)
3753 /*+IndexOnlyScan(ti1 ti1_i3 ti1_i2)*/
3754 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3755 LOG: available indexes for IndexOnlyScan(ti1): ti1_i3 ti1_i2
3758 IndexOnlyScan(ti1 ti1_i3 ti1_i2)
3764 -------------------------------------
3765 Index Only Scan using ti1_i2 on ti1
3766 Index Cond: (c2 >= 1)
3770 /*+IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3771 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3772 LOG: available indexes for IndexOnlyScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3775 IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3781 -------------------------------------
3782 Index Only Scan using ti1_i1 on ti1
3783 Index Cond: (c2 >= 1)
3787 ---- No. S-3-4 index type
3791 Column | Type | Collation | Nullable | Default
3792 --------+---------+-----------+----------+---------
3793 c1 | integer | | not null |
3798 "ti1_pkey" PRIMARY KEY, btree (c1)
3799 "ti1_c2_key" UNIQUE CONSTRAINT, btree (c2)
3800 "ti1_uniq" UNIQUE, btree (c1)
3801 "ti1_btree" btree (c1)
3802 "ti1_expr" btree ((c1 < 100))
3804 "ti1_gist" gist (c1)
3805 "ti1_hash" hash (c1)
3807 "ti1_i2" btree (c2, c4)
3808 "ti1_i3" btree (c2, c4, c4)
3809 "ti1_i4" btree (c2, c4, c4, c4)
3810 "ti1_multi" btree (c1, c2, c3, c4)
3811 "ti1_pred" btree (lower(c4))
3812 "ti1_ts" gin (to_tsvector('english'::regconfig, c4))
3814 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3816 -----------------------------------------------------------------------------------------------------------------------------------------
3818 TID Cond: (ctid = '(1,1)'::tid)
3819 Filter: ((c1 < 100) AND (c2 = 1) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3823 /*+IndexScan(ti1 ti1_btree)*/
3824 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)';
3825 LOG: available indexes for IndexScan(ti1): ti1_btree
3828 IndexScan(ti1 ti1_btree)
3834 ----------------------------------------------------------------------------------------------------------------------------------------------------
3835 Index Scan using ti1_btree on ti1
3836 Index Cond: (c1 < 100)
3837 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3841 /*+IndexScan(ti1 ti1_hash)*/
3842 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)';
3843 LOG: available indexes for IndexScan(ti1): ti1_hash
3846 IndexScan(ti1 ti1_hash)
3852 ----------------------------------------------------------------------------------------------------------------------------------------------------
3853 Index Scan using ti1_hash on ti1
3854 Index Cond: (c1 = 100)
3855 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3859 /*+IndexScan(ti1 ti1_gist)*/
3860 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)';
3861 LOG: available indexes for IndexScan(ti1): ti1_gist
3864 IndexScan(ti1 ti1_gist)
3870 ----------------------------------------------------------------------------------------------------------------------------------------------------
3871 Index Scan using ti1_gist on ti1
3872 Index Cond: (c1 < 100)
3873 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3877 /*+IndexScan(ti1 ti1_gin)*/
3878 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)';
3879 LOG: available indexes for IndexScan(ti1): ti1_gin
3882 IndexScan(ti1 ti1_gin)
3888 -----------------------------------------------------------------------------------------------------------------------------------------
3890 TID Cond: (ctid = '(1,1)'::tid)
3891 Filter: ((c1 < 100) AND (c2 = 1) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3895 /*+IndexScan(ti1 ti1_expr)*/
3896 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)';
3897 LOG: available indexes for IndexScan(ti1): ti1_expr
3900 IndexScan(ti1 ti1_expr)
3906 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
3907 Index Scan using ti1_expr on ti1
3908 Index Cond: ((c1 < 100) = true)
3909 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))
3913 /*+IndexScan(ti1 ti1_pred)*/
3914 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)';
3915 LOG: available indexes for IndexScan(ti1): ti1_pred
3918 IndexScan(ti1 ti1_pred)
3924 ---------------------------------------------------------------------------------------------------------------------------------------
3925 Index Scan using ti1_pred on ti1
3926 Index Cond: (lower(c4) = '1'::text)
3927 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3931 /*+IndexScan(ti1 ti1_uniq)*/
3932 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)';
3933 LOG: available indexes for IndexScan(ti1): ti1_uniq
3936 IndexScan(ti1 ti1_uniq)
3942 ----------------------------------------------------------------------------------------------------------------------------------------------------
3943 Index Scan using ti1_uniq on ti1
3944 Index Cond: (c1 < 100)
3945 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3949 /*+IndexScan(ti1 ti1_multi)*/
3950 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)';
3951 LOG: available indexes for IndexScan(ti1): ti1_multi
3954 IndexScan(ti1 ti1_multi)
3960 ---------------------------------------------------------------------------------------------------------------------------------------
3961 Index Scan using ti1_multi on ti1
3962 Index Cond: ((c1 < 100) AND (c2 = 1))
3963 Filter: ((ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3967 /*+IndexScan(ti1 ti1_ts)*/
3968 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)';
3969 LOG: available indexes for IndexScan(ti1): ti1_ts
3972 IndexScan(ti1 ti1_ts)
3978 -----------------------------------------------------------------------------------------------------------------------------------------
3980 TID Cond: (ctid = '(1,1)'::tid)
3981 Filter: ((c1 < 100) AND (c2 = 1) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3985 /*+IndexScan(ti1 ti1_pkey)*/
3986 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)';
3987 LOG: available indexes for IndexScan(ti1): ti1_pkey
3990 IndexScan(ti1 ti1_pkey)
3996 ----------------------------------------------------------------------------------------------------------------------------------------------------
3997 Index Scan using ti1_pkey on ti1
3998 Index Cond: (c1 < 100)
3999 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4003 /*+IndexScan(ti1 ti1_c2_key)*/
4004 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)';
4005 LOG: available indexes for IndexScan(ti1): ti1_c2_key
4008 IndexScan(ti1 ti1_c2_key)
4014 ------------------------------------------------------------------------------------------------------------------------------------------------------
4015 Index Scan using ti1_c2_key on ti1
4016 Index Cond: (c2 = 1)
4017 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4021 /*+BitmapScan(ti1 ti1_btree)*/
4022 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)';
4023 LOG: available indexes for BitmapScan(ti1): ti1_btree
4026 BitmapScan(ti1 ti1_btree)
4032 ----------------------------------------------------------------------------------------------------------------------------------------------------
4033 Bitmap Heap Scan on ti1
4034 Recheck Cond: (c1 < 100)
4035 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4036 -> Bitmap Index Scan on ti1_btree
4037 Index Cond: (c1 < 100)
4041 /*+BitmapScan(ti1 ti1_hash)*/
4042 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)';
4043 LOG: available indexes for BitmapScan(ti1): ti1_hash
4046 BitmapScan(ti1 ti1_hash)
4052 ----------------------------------------------------------------------------------------------------------------------------------------------------
4053 Bitmap Heap Scan on ti1
4054 Recheck Cond: (c1 = 100)
4055 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4056 -> Bitmap Index Scan on ti1_hash
4057 Index Cond: (c1 = 100)
4061 /*+BitmapScan(ti1 ti1_gist)*/
4062 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)';
4063 LOG: available indexes for BitmapScan(ti1): ti1_gist
4066 BitmapScan(ti1 ti1_gist)
4072 ----------------------------------------------------------------------------------------------------------------------------------------------------
4073 Bitmap Heap Scan on ti1
4074 Recheck Cond: (c1 < 100)
4075 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4076 -> Bitmap Index Scan on ti1_gist
4077 Index Cond: (c1 < 100)
4081 /*+BitmapScan(ti1 ti1_gin)*/
4082 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)';
4083 LOG: available indexes for BitmapScan(ti1): ti1_gin
4086 BitmapScan(ti1 ti1_gin)
4092 ----------------------------------------------------------------------------------------------------------------------------------------------------
4093 Bitmap Heap Scan on ti1
4094 Recheck Cond: (c1 < 100)
4095 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4096 -> Bitmap Index Scan on ti1_gin
4097 Index Cond: (c1 < 100)
4101 /*+BitmapScan(ti1 ti1_expr)*/
4102 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)';
4103 LOG: available indexes for BitmapScan(ti1): ti1_expr
4106 BitmapScan(ti1 ti1_expr)
4112 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
4113 Bitmap Heap Scan on ti1
4114 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))
4115 -> Bitmap Index Scan on ti1_expr
4116 Index Cond: ((c1 < 100) = true)
4120 /*+BitmapScan(ti1 ti1_pred)*/
4121 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)';
4122 LOG: available indexes for BitmapScan(ti1): ti1_pred
4125 BitmapScan(ti1 ti1_pred)
4131 ---------------------------------------------------------------------------------------------------------------------------------------
4132 Bitmap Heap Scan on ti1
4133 Recheck Cond: (lower(c4) = '1'::text)
4134 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4135 -> Bitmap Index Scan on ti1_pred
4136 Index Cond: (lower(c4) = '1'::text)
4140 /*+BitmapScan(ti1 ti1_uniq)*/
4141 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)';
4142 LOG: available indexes for BitmapScan(ti1): ti1_uniq
4145 BitmapScan(ti1 ti1_uniq)
4151 ----------------------------------------------------------------------------------------------------------------------------------------------------
4152 Bitmap Heap Scan on ti1
4153 Recheck Cond: (c1 < 100)
4154 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4155 -> Bitmap Index Scan on ti1_uniq
4156 Index Cond: (c1 < 100)
4160 /*+BitmapScan(ti1 ti1_multi)*/
4161 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)';
4162 LOG: available indexes for BitmapScan(ti1): ti1_multi
4165 BitmapScan(ti1 ti1_multi)
4171 ---------------------------------------------------------------------------------------------------------------------------------------
4172 Bitmap Heap Scan on ti1
4173 Recheck Cond: ((c1 < 100) AND (c2 = 1))
4174 Filter: ((ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4175 -> Bitmap Index Scan on ti1_multi
4176 Index Cond: ((c1 < 100) AND (c2 = 1))
4180 /*+BitmapScan(ti1 ti1_ts)*/
4181 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)';
4182 LOG: available indexes for BitmapScan(ti1): ti1_ts
4185 BitmapScan(ti1 ti1_ts)
4191 -------------------------------------------------------------------------------------------
4192 Bitmap Heap Scan on ti1
4193 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4194 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text))
4195 -> Bitmap Index Scan on ti1_ts
4196 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4200 /*+BitmapScan(ti1 ti1_pkey)*/
4201 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)';
4202 LOG: available indexes for BitmapScan(ti1): ti1_pkey
4205 BitmapScan(ti1 ti1_pkey)
4211 ----------------------------------------------------------------------------------------------------------------------------------------------------
4212 Bitmap Heap Scan on ti1
4213 Recheck Cond: (c1 < 100)
4214 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4215 -> Bitmap Index Scan on ti1_pkey
4216 Index Cond: (c1 < 100)
4220 /*+BitmapScan(ti1 ti1_c2_key)*/
4221 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)';
4222 LOG: available indexes for BitmapScan(ti1): ti1_c2_key
4225 BitmapScan(ti1 ti1_c2_key)
4231 ------------------------------------------------------------------------------------------------------------------------------------------------------
4232 Bitmap Heap Scan on ti1
4233 Recheck Cond: (c2 = 1)
4234 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4235 -> Bitmap Index Scan on ti1_c2_key
4236 Index Cond: (c2 = 1)
4240 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4242 ---------------------
4247 /*+IndexOnlyScan(ti1 ti1_btree)*/
4248 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4249 LOG: available indexes for IndexOnlyScan(ti1): ti1_btree
4252 IndexOnlyScan(ti1 ti1_btree)
4258 ----------------------------------------
4259 Index Only Scan using ti1_btree on ti1
4260 Index Cond: (c1 >= 1)
4264 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4266 ----------------------------------
4267 Index Scan using ti1_hash on ti1
4268 Index Cond: (c1 = 1)
4271 /*+IndexOnlyScan(ti1 ti1_hash)*/
4272 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4273 LOG: available indexes for IndexOnlyScan(ti1): ti1_hash
4276 IndexOnlyScan(ti1 ti1_hash)
4282 ----------------------------------
4283 Index Scan using ti1_hash on ti1
4284 Index Cond: (c1 = 1)
4288 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4290 ---------------------------------------
4291 Index Only Scan using ti1_uniq on ti1
4292 Index Cond: (c1 < 1)
4295 /*+IndexOnlyScan(ti1 ti1_gist)*/
4296 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4297 LOG: available indexes for IndexOnlyScan(ti1): ti1_gist
4300 IndexOnlyScan(ti1 ti1_gist)
4306 ---------------------------------------
4307 Index Only Scan using ti1_gist on ti1
4308 Index Cond: (c1 < 1)
4312 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4314 ----------------------------------
4315 Index Scan using ti1_hash on ti1
4316 Index Cond: (c1 = 1)
4319 /*+IndexOnlyScan(ti1 ti1_gin)*/
4320 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4321 LOG: available indexes for IndexOnlyScan(ti1): ti1_gin
4324 IndexOnlyScan(ti1 ti1_gin)
4330 ------------------------------------
4331 Bitmap Heap Scan on ti1
4332 Recheck Cond: (c1 = 1)
4333 -> Bitmap Index Scan on ti1_gin
4334 Index Cond: (c1 = 1)
4338 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4340 ---------------------------------------
4341 Index Only Scan using ti1_uniq on ti1
4342 Index Cond: (c1 < 100)
4345 /*+IndexOnlyScan(ti1 ti1_expr)*/
4346 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4347 LOG: available indexes for IndexOnlyScan(ti1): ti1_expr
4350 IndexOnlyScan(ti1 ti1_expr)
4356 -----------------------------------
4357 Index Scan using ti1_expr on ti1
4358 Index Cond: ((c1 < 100) = true)
4363 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4365 ------------------------------------
4367 Filter: (lower(c4) >= '1'::text)
4370 /*+IndexOnlyScan(ti1 ti1_pred)*/
4371 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4372 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
4375 IndexOnlyScan(ti1 ti1_pred)
4381 ----------------------------------------
4382 Index Scan using ti1_pred on ti1
4383 Index Cond: (lower(c4) >= '1'::text)
4387 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4389 ---------------------
4394 /*+IndexOnlyScan(ti1 ti1_uniq)*/
4395 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4396 LOG: available indexes for IndexOnlyScan(ti1): ti1_uniq
4399 IndexOnlyScan(ti1 ti1_uniq)
4405 ---------------------------------------
4406 Index Only Scan using ti1_uniq on ti1
4407 Index Cond: (c1 >= 1)
4411 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4413 ---------------------
4418 /*+IndexOnlyScan(ti1 ti1_multi)*/
4419 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4420 LOG: available indexes for IndexOnlyScan(ti1): ti1_multi
4423 IndexOnlyScan(ti1 ti1_multi)
4429 ----------------------------------------
4430 Index Only Scan using ti1_multi on ti1
4431 Index Cond: (c1 >= 1)
4435 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4437 -----------------------------------------------------------------------------------------
4438 Bitmap Heap Scan on ti1
4439 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4440 -> Bitmap Index Scan on ti1_ts
4441 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4444 /*+IndexOnlyScan(ti1 ti1_ts)*/
4445 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4446 LOG: available indexes for IndexOnlyScan(ti1): ti1_ts
4449 IndexOnlyScan(ti1 ti1_ts)
4455 -----------------------------------------------------------------------------------------
4456 Bitmap Heap Scan on ti1
4457 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4458 -> Bitmap Index Scan on ti1_ts
4459 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4463 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4465 ---------------------
4470 /*+IndexOnlyScan(ti1 ti1_pkey)*/
4471 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4472 LOG: available indexes for IndexOnlyScan(ti1): ti1_pkey
4475 IndexOnlyScan(ti1 ti1_pkey)
4481 ---------------------------------------
4482 Index Only Scan using ti1_pkey on ti1
4483 Index Cond: (c1 >= 1)
4487 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4489 ---------------------
4494 /*+IndexOnlyScan(ti1 ti1_c2_key)*/
4495 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4496 LOG: available indexes for IndexOnlyScan(ti1): ti1_c2_key
4499 IndexOnlyScan(ti1 ti1_c2_key)
4505 -----------------------------------------
4506 Index Only Scan using ti1_c2_key on ti1
4507 Index Cond: (c2 >= 1)
4511 ---- No. S-3-5 not used index
4514 \o results/ut-S.tmpout
4515 /*+IndexScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4516 LOG: available indexes for IndexScan(ti1): ti1_pred
4519 IndexScan(ti1 ti1_pred)
4525 \! sql/maskout.sh results/ut-S.tmpout
4527 -------------------------------------------------------------------------------
4528 Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
4532 \o results/ut-S.tmpout
4533 /*+BitmapScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4534 LOG: available indexes for BitmapScan(ti1): ti1_pred
4537 BitmapScan(ti1 ti1_pred)
4543 \! sql/maskout.sh results/ut-S.tmpout
4545 -------------------------------------------------------------------------------
4546 Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
4550 \o results/ut-S.tmpout
4551 /*+IndexOnlyScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
4552 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
4555 IndexOnlyScan(ti1 ti1_pred)
4561 \! sql/maskout.sh results/ut-S.tmpout
4563 -------------------------------------------------------------------------------
4564 Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
4568 \o results/ut-S.tmpout
4569 /*+IndexScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4570 LOG: available indexes for IndexScan(ti1):
4573 IndexScan(ti1 not_exist)
4579 \! sql/maskout.sh results/ut-S.tmpout
4581 -------------------------------------------------------------------------------
4582 Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
4586 \o results/ut-S.tmpout
4587 /*+BitmapScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4588 LOG: available indexes for BitmapScan(ti1):
4591 BitmapScan(ti1 not_exist)
4597 \! sql/maskout.sh results/ut-S.tmpout
4599 -------------------------------------------------------------------------------
4600 Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
4604 \o results/ut-S.tmpout
4605 /*+IndexOnlyScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
4606 LOG: available indexes for IndexOnlyScan(ti1):
4609 IndexOnlyScan(ti1 not_exist)
4615 \! sql/maskout.sh results/ut-S.tmpout
4617 -------------------------------------------------------------------------------
4618 Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
4622 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
4624 ------------------------------
4625 Index Scan using t1_i1 on t1
4626 Index Cond: (c1 = 1)
4629 \o results/ut-S.tmpout
4630 /*+TidScan(t1)*/ EXPLAIN (COSTS true) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
4639 \! sql/maskout.sh results/ut-S.tmpout
4641 -------------------------------------------------------------------------------
4642 Seq Scan on t1 (cost={inf}..{inf} rows=1 width=xxx)
4646 ---- No. S-3-6 query structure
4648 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4650 -----------------------------------------------
4652 Hash Cond: (t2.c1 = t1.c1)
4656 TID Cond: (ctid = '(1,1)'::tid)
4661 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE c1 = 100;
4670 ----------------------
4676 /*+SeqScan(t1)BitmapScan(t2)*/
4677 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4687 ----------------------------------------
4690 Filter: (ctid = '(1,1)'::tid)
4691 -> Bitmap Heap Scan on t2
4692 Recheck Cond: (c1 = t1.c1)
4693 -> Bitmap Index Scan on t2_i1
4694 Index Cond: (c1 = t1.c1)
4699 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4708 ---------------------------------------------
4710 Hash Cond: (t2.c1 = t1.c1)
4714 Filter: (ctid = '(1,1)'::tid)
4718 ---- No. S-3-7 number of tables in a query block
4721 EXPLAIN (COSTS false)
4723 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4724 SELECT max(b3t1.c1), (
4725 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4726 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4727 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4729 ---------------------------------------------------------------------
4731 InitPlan 2 (returns $1)
4733 InitPlan 1 (returns $0)
4735 -> Index Only Scan using t1_i1 on t1 b2t1
4736 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4737 InitPlan 4 (returns $3)
4739 InitPlan 3 (returns $2)
4741 -> Index Only Scan using t1_i1 on t1 b4t1
4742 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4743 -> Index Only Scan using t1_i1 on t1 b3t1
4744 Index Cond: (c1 = $3)
4747 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4749 EXPLAIN (COSTS false)
4751 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4752 SELECT max(b3t1.c1), (
4753 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4754 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4755 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4756 LOG: available indexes for IndexScan(b2t1): t1_pkey
4757 LOG: available indexes for IndexScan(b2t1): t1_pkey
4758 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4761 IndexScan(b2t1 t1_pkey)
4762 BitmapScan(b3t1 t1_pkey)
4770 ---------------------------------------------------------------------
4772 InitPlan 2 (returns $1)
4774 InitPlan 1 (returns $0)
4776 -> Index Scan using t1_pkey on t1 b2t1
4777 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4778 InitPlan 4 (returns $3)
4780 InitPlan 3 (returns $2)
4782 -> Seq Scan on t1 b4t1
4783 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4784 -> Bitmap Heap Scan on t1 b3t1
4785 Recheck Cond: (c1 = $3)
4786 -> Bitmap Index Scan on t1_pkey
4787 Index Cond: (c1 = $3)
4791 EXPLAIN (COSTS false)
4793 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4794 SELECT max(b3t1.c1), (
4795 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4796 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4797 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4799 ------------------------------------------------------------
4804 -> Index Only Scan using t1_i1 on t1 b1t1
4805 Index Cond: (c1 = 1)
4806 -> Seq Scan on t2 b1t2
4808 InitPlan 2 (returns $1)
4811 -> Index Only Scan using t1_i1 on t1 b2t1
4812 Index Cond: (c1 = 1)
4813 -> Seq Scan on t2 b2t2
4815 InitPlan 3 (returns $2)
4818 -> Index Only Scan using t1_i1 on t1 b4t1
4819 Index Cond: (c1 = 1)
4820 -> Seq Scan on t2 b4t2
4824 -> Index Only Scan using t1_i1 on t1 b3t1
4825 Index Cond: (c1 = $2)
4826 -> Seq Scan on t2 b3t2
4832 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4833 TidScan(b1t2)SeqScan(b2t2)IndexScan(b3t2 t2_pkey)BitmapScan(b4t2 t2_pkey)
4835 EXPLAIN (COSTS false)
4837 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4838 SELECT max(b3t1.c1), (
4839 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4840 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4841 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4842 LOG: available indexes for IndexScan(b2t1): t1_pkey
4843 LOG: available indexes for BitmapScan(b4t2): t2_pkey
4844 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4845 LOG: available indexes for IndexScan(b3t2): t2_pkey
4850 IndexScan(b2t1 t1_pkey)
4852 BitmapScan(b3t1 t1_pkey)
4853 IndexScan(b3t2 t2_pkey)
4855 BitmapScan(b4t2 t2_pkey)
4861 ---------------------------------------------------------
4866 -> Seq Scan on t1 b1t1
4868 -> Seq Scan on t2 b1t2
4870 InitPlan 2 (returns $1)
4873 -> Index Scan using t1_pkey on t1 b2t1
4874 Index Cond: (c1 = 1)
4875 -> Seq Scan on t2 b2t2
4877 InitPlan 3 (returns $2)
4880 -> Seq Scan on t1 b4t1
4882 -> Bitmap Heap Scan on t2 b4t2
4883 Recheck Cond: (c1 = 1)
4884 -> Bitmap Index Scan on t2_pkey
4885 Index Cond: (c1 = 1)
4888 -> Bitmap Heap Scan on t1 b3t1
4889 Recheck Cond: (c1 = $2)
4890 -> Bitmap Index Scan on t1_pkey
4891 Index Cond: (c1 = $2)
4892 -> Index Scan using t2_pkey on t2 b3t2
4893 Index Cond: (c1 = $2)
4899 EXPLAIN (COSTS false)
4901 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4902 SELECT max(b3t1.c1), (
4903 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4904 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4905 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4907 ---------------------------------------------------------------------
4912 -> Index Only Scan using t1_i1 on t1 b1t1
4913 Index Cond: (c1 = 1)
4914 -> Seq Scan on t2 b1t2
4916 InitPlan 3 (returns $2)
4918 InitPlan 2 (returns $1)
4920 -> Index Only Scan using t1_i1 on t1 b2t1
4921 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4922 InitPlan 5 (returns $4)
4924 InitPlan 4 (returns $3)
4926 -> Index Only Scan using t1_i1 on t1 b4t1
4927 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4930 -> Index Only Scan using t1_i1 on t1 b3t1
4931 Index Cond: (c1 = $4)
4932 -> Seq Scan on t2 b3t2
4938 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4939 TidScan(b1t2)IndexScan(b3t2 t2_pkey)
4941 EXPLAIN (COSTS false)
4943 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4944 SELECT max(b3t1.c1), (
4945 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4946 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4947 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4948 LOG: available indexes for IndexScan(b2t1): t1_pkey
4949 LOG: available indexes for IndexScan(b2t1): t1_pkey
4950 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4951 LOG: available indexes for IndexScan(b3t2): t2_pkey
4956 IndexScan(b2t1 t1_pkey)
4957 BitmapScan(b3t1 t1_pkey)
4958 IndexScan(b3t2 t2_pkey)
4965 ---------------------------------------------------------------------
4970 -> Seq Scan on t1 b1t1
4972 -> Seq Scan on t2 b1t2
4974 InitPlan 3 (returns $2)
4976 InitPlan 2 (returns $1)
4978 -> Index Scan using t1_pkey on t1 b2t1
4979 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4980 InitPlan 5 (returns $4)
4982 InitPlan 4 (returns $3)
4984 -> Seq Scan on t1 b4t1
4985 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4988 -> Bitmap Heap Scan on t1 b3t1
4989 Recheck Cond: (c1 = $4)
4990 -> Bitmap Index Scan on t1_pkey
4991 Index Cond: (c1 = $4)
4992 -> Index Scan using t2_pkey on t2 b3t2
4993 Index Cond: (c1 = $4)
4999 ---- No. S-3-8 inheritance table select/update type
5002 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
5004 --------------------
5010 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
5019 -----------------------------
5020 Index Scan using p1_i on p1
5021 Index Cond: (c1 = 1)
5025 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5027 --------------------------
5036 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5045 ---------------------------------------
5047 -> Index Scan using p1_i on p1
5048 Index Cond: (c1 = 1)
5049 -> Index Scan using p1c1_i on p1c1
5050 Index Cond: (c1 = 1)
5054 EXPLAIN (COSTS false) UPDATE ONLY s1.p1 SET c4 = c4 WHERE c1 = 1;
5056 --------------------------
5063 EXPLAIN (COSTS false) UPDATE ONLY s1.p1 SET c4 = c4 WHERE c1 = 1;
5072 -----------------------------------
5074 -> Index Scan using p1_i on p1
5075 Index Cond: (c1 = 1)
5078 /*+IndexScan(p1 p1_pkey)*/
5079 EXPLAIN (COSTS false) UPDATE ONLY s1.p1 SET c4 = c4 WHERE c1 = 1;
5080 LOG: available indexes for IndexScan(p1): p1_pkey
5083 IndexScan(p1 p1_pkey)
5089 --------------------------------------
5091 -> Index Scan using p1_pkey on p1
5092 Index Cond: (c1 = 1)
5096 EXPLAIN (COSTS false) UPDATE s1.p1 SET c4 = c4 WHERE c1 = 1;
5098 --------------------------
5109 EXPLAIN (COSTS false) UPDATE s1.p1 SET c4 = c4 WHERE c1 = 1;
5118 ---------------------------------------
5122 -> Index Scan using p1_i on p1
5123 Index Cond: (c1 = 1)
5124 -> Index Scan using p1c1_i on p1c1
5125 Index Cond: (c1 = 1)
5128 /*+IndexScan(p1 p1_pkey)*/
5129 EXPLAIN (COSTS false) UPDATE s1.p1 SET c4 = c4 WHERE c1 = 1;
5130 LOG: available indexes for IndexScan(p1): p1_pkey
5131 LOG: available indexes for IndexScan(p1c1): p1c1_pkey
5134 IndexScan(p1 p1_pkey)
5140 ------------------------------------------
5144 -> Index Scan using p1_pkey on p1
5145 Index Cond: (c1 = 1)
5146 -> Index Scan using p1c1_pkey on p1c1
5147 Index Cond: (c1 = 1)
5151 ---- No. S-3-9 inheritance table number
5154 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5156 --------------------------
5165 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5174 ---------------------------------------
5176 -> Index Scan using p1_i on p1
5177 Index Cond: (c1 = 1)
5178 -> Index Scan using p1c1_i on p1c1
5179 Index Cond: (c1 = 1)
5183 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5185 --------------------------
5191 -> Seq Scan on p2c1c1
5196 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5205 -------------------------------------------
5207 -> Index Scan using p2_i on p2
5208 Index Cond: (c1 = 1)
5209 -> Index Scan using p2c1_i on p2c1
5210 Index Cond: (c1 = 1)
5211 -> Index Scan using p2c1c1_i on p2c1c1
5212 Index Cond: (c1 = 1)
5216 ---- No. S-3-10 inheritance table specified table
5218 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5220 --------------------------
5226 -> Seq Scan on p2c1c1
5232 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5241 -------------------------------------------
5243 -> Index Scan using p2_i on p2
5244 Index Cond: (c1 = 1)
5245 -> Index Scan using p2c1_i on p2c1
5246 Index Cond: (c1 = 1)
5247 -> Index Scan using p2c1c1_i on p2c1c1
5248 Index Cond: (c1 = 1)
5252 /*+IndexScan(p2c1)*/
5253 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5262 ---------------------------------------
5266 -> Index Scan using p2c1_i on p2c1
5267 Index Cond: (c1 = 1)
5268 -> Seq Scan on p2c1c1
5273 \o results/ut-S.tmpout
5274 EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5276 \! sql/maskout.sh results/ut-S.tmpout
5278 ----------------------------------------------------------
5279 Append (cost=xxx..xxx rows=4 width=xxx)
5280 -> Seq Scan on p1 (cost=xxx..xxx rows=1 width=xxx)
5281 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5282 -> Seq Scan on p1c1 (cost=xxx..xxx rows=3 width=xxx)
5283 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5285 \o results/ut-S.tmpout
5286 /*+IndexScan(p1 p1_parent)*/ EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5287 LOG: available indexes for IndexScan(p1): p1_parent
5288 LOG: available indexes for IndexScan(p1c1): p1c1_c4_expr_idx
5291 IndexScan(p1 p1_parent)
5297 \! sql/maskout.sh results/ut-S.tmpout
5299 ------------------------------------------------------------------------------------
5300 Append (cost=xxx..xxx rows=4 width=xxx)
5301 -> Index Scan using p1_parent on p1 (cost=xxx..xxx rows=1 width=xxx)
5302 Filter: ((c2 * 2) < 100)
5303 -> Index Scan using p1c1_c4_expr_idx on p1c1 (cost=xxx..xxx rows=3 width=xxx)
5304 Filter: ((c2 * 2) < 100)
5307 \o results/ut-S.tmpout
5308 /*+IndexScan(p1 p1_i2)*/ EXPLAIN SELECT c2 FROM s1.p1 WHERE c2 = 1;
5309 LOG: available indexes for IndexScan(p1): p1_i2
5310 LOG: available indexes for IndexScan(p1c1):
5311 LOG: available indexes for IndexScan(p1c2):
5312 LOG: available indexes for IndexScan(p1c3):
5321 \! sql/maskout.sh results/ut-S.tmpout
5323 -------------------------------------------------------------------------------
5324 Append (cost=xxx..xxx rows=4 width=xxx)
5325 -> Index Scan using p1_i2 on p1 (cost=xxx..xxx rows=1 width=xxx)
5326 Index Cond: (c2 = 1)
5327 -> Seq Scan on p1c1 (cost={inf}..{inf} rows=1 width=xxx)
5329 -> Seq Scan on p1c2 (cost={inf}..{inf} rows=1 width=xxx)
5331 -> Seq Scan on p1c3 (cost={inf}..{inf} rows=1 width=xxx)
5335 \o results/ut-S.tmpout
5336 /*+IndexScan(p2 p2c1_pkey)*/ EXPLAIN (COSTS true) SELECT * FROM s1.p2 WHERE c1 = 1;
5337 LOG: available indexes for IndexScan(p2):
5338 LOG: available indexes for IndexScan(p2c1): p2c1_pkey
5339 LOG: available indexes for IndexScan(p2c1c1):
5342 IndexScan(p2 p2c1_pkey)
5348 \! sql/maskout.sh results/ut-S.tmpout
5350 ---------------------------------------------------------------------------------
5351 Append (cost={inf}..{inf} rows=3 width=xxx)
5352 -> Seq Scan on p2 (cost={inf}..{inf} rows=1 width=xxx)
5354 -> Index Scan using p2c1_pkey on p2c1 (cost=xxx..xxx rows=1 width=xxx)
5355 Index Cond: (c1 = 1)
5356 -> Seq Scan on p2c1c1 (cost={inf}..{inf} rows=1 width=xxx)
5360 ---- No. S-3-12 specified same table
5363 /*+IndexScan(ti1) BitmapScan(ti1)*/
5364 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5365 INFO: pg_hint_plan: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5366 DETAIL: Conflict scan method hint.
5376 -------------------------------------
5377 Bitmap Heap Scan on ti1
5378 Recheck Cond: (c1 = 1)
5379 Filter: (ctid = '(1,1)'::tid)
5380 -> Bitmap Index Scan on ti1_hash
5381 Index Cond: (c1 = 1)
5385 /*+IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5386 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5387 INFO: pg_hint_plan: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5388 DETAIL: Conflict scan method hint.
5389 LOG: available indexes for BitmapScan(ti1): ti1_btree
5392 BitmapScan(ti1 ti1_btree)
5395 IndexScan(ti1 ti1_pkey)
5399 --------------------------------------
5400 Bitmap Heap Scan on ti1
5401 Recheck Cond: (c1 = 1)
5402 Filter: (ctid = '(1,1)'::tid)
5403 -> Bitmap Index Scan on ti1_btree
5404 Index Cond: (c1 = 1)
5408 /*+BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)*/
5409 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5410 INFO: pg_hint_plan: hint syntax error at or near "BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)"
5411 DETAIL: Conflict scan method hint.
5412 INFO: pg_hint_plan: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5413 DETAIL: Conflict scan method hint.
5424 -------------------------------------
5425 Bitmap Heap Scan on ti1
5426 Recheck Cond: (c1 = 1)
5427 Filter: (ctid = '(1,1)'::tid)
5428 -> Bitmap Index Scan on ti1_hash
5429 Index Cond: (c1 = 1)
5433 /*+BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5434 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5435 INFO: pg_hint_plan: hint syntax error at or near "BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5436 DETAIL: Conflict scan method hint.
5437 INFO: pg_hint_plan: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5438 DETAIL: Conflict scan method hint.
5439 LOG: available indexes for BitmapScan(ti1): ti1_btree
5442 BitmapScan(ti1 ti1_btree)
5445 BitmapScan(ti1 ti1_hash)
5446 IndexScan(ti1 ti1_pkey)
5450 --------------------------------------
5451 Bitmap Heap Scan on ti1
5452 Recheck Cond: (c1 = 1)
5453 Filter: (ctid = '(1,1)'::tid)
5454 -> Bitmap Index Scan on ti1_btree
5455 Index Cond: (c1 = 1)
5459 ---- No. S-3-13 message output of hint
5463 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5472 ------------------------------------------------
5474 Filter: ((c1 = 1) AND (ctid = '(1,1)'::tid))
5478 /*+SeqScan(ti1 ti1_pkey)*/
5479 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5480 INFO: pg_hint_plan: hint syntax error at or near ""
5481 DETAIL: SeqScan hint accepts only one relation.
5487 SeqScan(ti1 ti1_pkey)
5490 -----------------------------------
5492 TID Cond: (ctid = '(1,1)'::tid)
5497 /*+SeqScan(ti1 ti1_pkey ti1_btree)*/
5498 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5499 INFO: pg_hint_plan: hint syntax error at or near ""
5500 DETAIL: SeqScan hint accepts only one relation.
5506 SeqScan(ti1 ti1_pkey ti1_btree)
5509 -----------------------------------
5511 TID Cond: (ctid = '(1,1)'::tid)
5517 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5526 ----------------------------------
5527 Index Scan using ti1_hash on ti1
5528 Index Cond: (c1 = 1)
5529 Filter: (ctid = '(1,1)'::tid)
5533 /*+IndexScan(ti1 ti1_pkey)*/
5534 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5535 LOG: available indexes for IndexScan(ti1): ti1_pkey
5538 IndexScan(ti1 ti1_pkey)
5544 ----------------------------------
5545 Index Scan using ti1_pkey on ti1
5546 Index Cond: (c1 = 1)
5547 Filter: (ctid = '(1,1)'::tid)
5551 /*+IndexScan(ti1 ti1_pkey ti1_btree)*/
5552 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5553 LOG: available indexes for IndexScan(ti1): ti1_btree ti1_pkey
5556 IndexScan(ti1 ti1_pkey ti1_btree)
5562 -----------------------------------
5563 Index Scan using ti1_btree on ti1
5564 Index Cond: (c1 = 1)
5565 Filter: (ctid = '(1,1)'::tid)
5569 /*+BitmapScan(ti1)*/
5570 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5579 -------------------------------------
5580 Bitmap Heap Scan on ti1
5581 Recheck Cond: (c1 = 1)
5582 Filter: (ctid = '(1,1)'::tid)
5583 -> Bitmap Index Scan on ti1_hash
5584 Index Cond: (c1 = 1)
5588 /*+BitmapScan(ti1 ti1_pkey)*/
5589 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5590 LOG: available indexes for BitmapScan(ti1): ti1_pkey
5593 BitmapScan(ti1 ti1_pkey)
5599 -------------------------------------
5600 Bitmap Heap Scan on ti1
5601 Recheck Cond: (c1 = 1)
5602 Filter: (ctid = '(1,1)'::tid)
5603 -> Bitmap Index Scan on ti1_pkey
5604 Index Cond: (c1 = 1)
5608 /*+BitmapScan(ti1 ti1_pkey ti1_btree)*/
5609 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5610 LOG: available indexes for BitmapScan(ti1): ti1_btree ti1_pkey
5613 BitmapScan(ti1 ti1_pkey ti1_btree)
5619 --------------------------------------
5620 Bitmap Heap Scan on ti1
5621 Recheck Cond: (c1 = 1)
5622 Filter: (ctid = '(1,1)'::tid)
5623 -> Bitmap Index Scan on ti1_btree
5624 Index Cond: (c1 = 1)
5629 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5638 -----------------------------------
5640 TID Cond: (ctid = '(1,1)'::tid)
5645 /*+TidScan(ti1 ti1_pkey)*/
5646 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5647 INFO: pg_hint_plan: hint syntax error at or near ""
5648 DETAIL: TidScan hint accepts only one relation.
5654 TidScan(ti1 ti1_pkey)
5657 -----------------------------------
5659 TID Cond: (ctid = '(1,1)'::tid)
5664 /*+TidScan(ti1 ti1_pkey ti1_btree)*/
5665 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5666 INFO: pg_hint_plan: hint syntax error at or near ""
5667 DETAIL: TidScan hint accepts only one relation.
5673 TidScan(ti1 ti1_pkey ti1_btree)
5676 -----------------------------------
5678 TID Cond: (ctid = '(1,1)'::tid)
5684 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5693 -----------------------------------
5695 TID Cond: (ctid = '(1,1)'::tid)
5700 /*+NoSeqScan(ti1 ti1_pkey)*/
5701 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5702 INFO: pg_hint_plan: hint syntax error at or near ""
5703 DETAIL: NoSeqScan hint accepts only one relation.
5709 NoSeqScan(ti1 ti1_pkey)
5712 -----------------------------------
5714 TID Cond: (ctid = '(1,1)'::tid)
5719 /*+NoSeqScan(ti1 ti1_pkey ti1_btree)*/
5720 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5721 INFO: pg_hint_plan: hint syntax error at or near ""
5722 DETAIL: NoSeqScan hint accepts only one relation.
5728 NoSeqScan(ti1 ti1_pkey ti1_btree)
5731 -----------------------------------
5733 TID Cond: (ctid = '(1,1)'::tid)
5738 /*+NoIndexScan(ti1)*/
5739 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5748 -----------------------------------
5750 TID Cond: (ctid = '(1,1)'::tid)
5755 /*+NoIndexScan(ti1 ti1_pkey)*/
5756 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5757 INFO: pg_hint_plan: hint syntax error at or near ""
5758 DETAIL: NoIndexScan hint accepts only one relation.
5764 NoIndexScan(ti1 ti1_pkey)
5767 -----------------------------------
5769 TID Cond: (ctid = '(1,1)'::tid)
5774 /*+NoIndexScan(ti1 ti1_pkey ti1_btree)*/
5775 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5776 INFO: pg_hint_plan: hint syntax error at or near ""
5777 DETAIL: NoIndexScan hint accepts only one relation.
5783 NoIndexScan(ti1 ti1_pkey ti1_btree)
5786 -----------------------------------
5788 TID Cond: (ctid = '(1,1)'::tid)
5793 /*+NoBitmapScan(ti1)*/
5794 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5803 -----------------------------------
5805 TID Cond: (ctid = '(1,1)'::tid)
5810 /*+NoBitmapScan(ti1 ti1_pkey)*/
5811 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5812 INFO: pg_hint_plan: hint syntax error at or near ""
5813 DETAIL: NoBitmapScan hint accepts only one relation.
5819 NoBitmapScan(ti1 ti1_pkey)
5822 -----------------------------------
5824 TID Cond: (ctid = '(1,1)'::tid)
5829 /*+NoBitmapScan(ti1 ti1_pkey ti1_btree)*/
5830 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5831 INFO: pg_hint_plan: hint syntax error at or near ""
5832 DETAIL: NoBitmapScan hint accepts only one relation.
5838 NoBitmapScan(ti1 ti1_pkey ti1_btree)
5841 -----------------------------------
5843 TID Cond: (ctid = '(1,1)'::tid)
5849 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5858 ----------------------------------
5859 Index Scan using ti1_hash on ti1
5860 Index Cond: (c1 = 1)
5861 Filter: (ctid = '(1,1)'::tid)
5865 /*+NoTidScan(ti1 ti1_pkey)*/
5866 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5867 INFO: pg_hint_plan: hint syntax error at or near ""
5868 DETAIL: NoTidScan hint accepts only one relation.
5874 NoTidScan(ti1 ti1_pkey)
5877 -----------------------------------
5879 TID Cond: (ctid = '(1,1)'::tid)
5884 /*+NoTidScan(ti1 ti1_pkey ti1_btree)*/
5885 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5886 INFO: pg_hint_plan: hint syntax error at or near ""
5887 DETAIL: NoTidScan hint accepts only one relation.
5893 NoTidScan(ti1 ti1_pkey ti1_btree)
5896 -----------------------------------
5898 TID Cond: (ctid = '(1,1)'::tid)
5903 /*+IndexOnlyScan(ti1)*/
5904 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5913 ---------------------------------------
5914 Index Only Scan using ti1_uniq on ti1
5915 Index Cond: (c1 >= 1)
5919 /*+IndexOnlyScan(ti1 ti1_pkey)*/
5920 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5921 LOG: available indexes for IndexOnlyScan(ti1): ti1_pkey
5924 IndexOnlyScan(ti1 ti1_pkey)
5930 ---------------------------------------
5931 Index Only Scan using ti1_pkey on ti1
5932 Index Cond: (c1 >= 1)
5936 /*+IndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5937 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5938 LOG: available indexes for IndexOnlyScan(ti1): ti1_btree ti1_pkey
5941 IndexOnlyScan(ti1 ti1_pkey ti1_btree)
5947 ----------------------------------------
5948 Index Only Scan using ti1_btree on ti1
5949 Index Cond: (c1 >= 1)
5953 /*+NoIndexOnlyScan(ti1)*/
5954 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5957 NoIndexOnlyScan(ti1)
5963 ----------------------------------
5964 Index Scan using ti1_hash on ti1
5965 Index Cond: (c1 = 1)
5969 /*+NoIndexOnlyScan(ti1 ti1_pkey)*/
5970 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5971 INFO: pg_hint_plan: hint syntax error at or near ""
5972 DETAIL: NoIndexOnlyScan hint accepts only one relation.
5978 NoIndexOnlyScan(ti1 ti1_pkey)
5981 ----------------------------------
5982 Index Scan using ti1_hash on ti1
5983 Index Cond: (c1 = 1)
5987 /*+NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5988 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5989 INFO: pg_hint_plan: hint syntax error at or near ""
5990 DETAIL: NoIndexOnlyScan hint accepts only one relation.
5996 NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)
5999 ----------------------------------
6000 Index Scan using ti1_hash on ti1
6001 Index Cond: (c1 = 1)
6005 ---- No. S-3-14 regular expression
6007 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6009 --------------------------------
6010 Index Scan using ti1_i4 on ti1
6011 Index Cond: (c2 = 1)
6015 /*+IndexScanRegexp(ti1 ti1_.*_key)*/
6016 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6017 LOG: available indexes for IndexScanRegexp(ti1): ti1_c2_key
6020 IndexScanRegexp(ti1 ti1_.*_key)
6026 ------------------------------------
6027 Index Scan using ti1_c2_key on ti1
6028 Index Cond: (c2 = 1)
6032 /*+IndexScanRegexp(ti1 ti1_i.)*/
6033 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6034 LOG: available indexes for IndexScanRegexp(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
6037 IndexScanRegexp(ti1 ti1_i.)
6043 --------------------------------
6044 Index Scan using ti1_i4 on ti1
6045 Index Cond: (c2 = 1)
6049 /*+IndexScanRegexp(ti1 no.*_exist)*/
6050 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6051 LOG: available indexes for IndexScanRegexp(ti1):
6054 IndexScanRegexp(ti1 no.*_exist)
6060 --------------------
6066 /*+IndexScanRegexp(p1 .*pkey)*/
6067 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
6068 LOG: available indexes for IndexScanRegexp(p1): p1_pkey
6069 LOG: available indexes for IndexScanRegexp(p1c1): p1c1_pkey
6072 IndexScanRegexp(p1 .*pkey)
6078 ------------------------------------------
6080 -> Index Scan using p1_pkey on p1
6081 Index Cond: (c1 = 1)
6082 -> Index Scan using p1c1_pkey on p1c1
6083 Index Cond: (c1 = 1)
6087 /*+IndexScanRegexp(p1 p1.*i)*/
6088 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
6089 LOG: available indexes for IndexScanRegexp(p1): p1_i2 p1_i
6090 LOG: available indexes for IndexScanRegexp(p1c1): p1c1_i p1c1_c4_expr_idx
6093 IndexScanRegexp(p1 p1.*i)
6099 ---------------------------------------
6101 -> Index Scan using p1_i on p1
6102 Index Cond: (c1 = 1)
6103 -> Index Scan using p1c1_i on p1c1
6104 Index Cond: (c1 = 1)
6108 /*+IndexScanRegexp(p1 no.*_exist)*/
6109 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
6110 LOG: available indexes for IndexScanRegexp(p1):
6111 LOG: available indexes for IndexScanRegexp(p1c1):
6114 IndexScanRegexp(p1 no.*_exist)
6120 --------------------------
6129 ---- No. S-3-15 message output of index candidate
6132 /*+IndexScan(ti1 ti1_i1)*/
6133 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6134 LOG: available indexes for IndexScan(ti1): ti1_i1
6137 IndexScan(ti1 ti1_i1)
6143 --------------------------------
6144 Index Scan using ti1_i1 on ti1
6145 Index Cond: (c2 = 1)
6149 /*+IndexScan(ti1 not_exist)*/
6150 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6151 LOG: available indexes for IndexScan(ti1):
6154 IndexScan(ti1 not_exist)
6160 --------------------
6166 /*+IndexScan(ti1 ti1_i1 ti1_i2)*/
6167 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6168 LOG: available indexes for IndexScan(ti1): ti1_i2 ti1_i1
6171 IndexScan(ti1 ti1_i1 ti1_i2)
6177 --------------------------------
6178 Index Scan using ti1_i2 on ti1
6179 Index Cond: (c2 = 1)
6183 /*+IndexScan(ti1 ti1_i1 not_exist)*/
6184 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6185 LOG: available indexes for IndexScan(ti1): ti1_i1
6188 IndexScan(ti1 ti1_i1 not_exist)
6194 --------------------------------
6195 Index Scan using ti1_i1 on ti1
6196 Index Cond: (c2 = 1)
6200 /*+IndexScan(ti1 not_exist1 not_exist2)*/
6201 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6202 LOG: available indexes for IndexScan(ti1):
6205 IndexScan(ti1 not_exist1 not_exist2)
6211 --------------------
6216 DELETE FROM pg_db_role_setting WHERE setrole = (SELECT oid FROM pg_roles WHERE rolname = current_user);
6217 ALTER SYSTEM SET session_preload_libraries TO DEFAULT;
6218 SELECT pg_reload_conf();
6224 \! rm results/ut-S.tmpout