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)
645 Join Filter: (b1t1.c1 = b1t4.c1)
647 Merge Cond: (b1t1.c1 = b1t2.c1)
649 Merge Cond: (b1t1.c1 = b1t3.c1)
650 -> Index Only Scan using t1_i1 on t1 b1t1
651 -> Index Only Scan using t3_i1 on t3 b1t3
654 -> Seq Scan on t2 b1t2
655 -> Index Only Scan using t4_i1 on t4 b1t4
656 Index Cond: (c1 = b1t3.c1)
658 Join Filter: (bmt1.c1 = bmt4.c1)
660 Merge Cond: (bmt1.c1 = bmt2.c1)
662 Merge Cond: (bmt1.c1 = bmt3.c1)
663 -> Index Only Scan using t1_i1 on t1 bmt1
664 -> Index Only Scan using t3_i1 on t3 bmt3
667 -> Seq Scan on t2 bmt2
668 -> Index Only Scan using t4_i1 on t4 bmt4
669 Index Cond: (c1 = bmt3.c1)
672 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
673 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
675 EXPLAIN (COSTS false)
676 SELECT max(bmt1.c1), (
677 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
679 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
681 LOG: available indexes for IndexScan(b1t3): t3_pkey
682 LOG: available indexes for BitmapScan(b1t4): t4_pkey
683 LOG: available indexes for IndexScan(bmt2): t2_pkey
684 LOG: available indexes for BitmapScan(bmt3): t3_pkey
689 IndexScan(b1t3 t3_pkey)
690 BitmapScan(b1t4 t4_pkey)
692 IndexScan(bmt2 t2_pkey)
693 BitmapScan(bmt3 t3_pkey)
700 --------------------------------------------------------------------------
702 InitPlan 1 (returns $2)
705 Hash Cond: (b1t1.c1 = b1t2.c1)
706 -> Seq Scan on t1 b1t1
709 Join Filter: (b1t2.c1 = b1t3.c1)
711 -> Seq Scan on t2 b1t2
712 -> Bitmap Heap Scan on t4 b1t4
713 Recheck Cond: (c1 = b1t2.c1)
714 -> Bitmap Index Scan on t4_pkey
715 Index Cond: (c1 = b1t2.c1)
716 -> Index Scan using t3_pkey on t3 b1t3
717 Index Cond: (c1 = b1t4.c1)
719 Hash Cond: (bmt4.c1 = bmt1.c1)
720 -> Seq Scan on t4 bmt4
724 Hash Cond: (bmt1.c1 = bmt2.c1)
725 -> Seq Scan on t1 bmt1
727 -> Index Scan using t2_pkey on t2 bmt2
728 -> Bitmap Heap Scan on t3 bmt3
729 Recheck Cond: (c1 = bmt1.c1)
730 -> Bitmap Index Scan on t3_pkey
731 Index Cond: (c1 = bmt1.c1)
735 EXPLAIN (COSTS false)
736 SELECT max(bmt1.c1), (
737 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
739 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
741 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
744 ------------------------------------------------------------------------
746 InitPlan 1 (returns $1)
749 Join Filter: (b1t1.c1 = b1t4.c1)
751 Merge Cond: (b1t1.c1 = b1t2.c1)
753 Merge Cond: (b1t1.c1 = b1t3.c1)
754 -> Index Only Scan using t1_i1 on t1 b1t1
755 -> Index Only Scan using t3_i1 on t3 b1t3
758 -> Seq Scan on t2 b1t2
759 -> Index Only Scan using t4_i1 on t4 b1t4
760 Index Cond: (c1 = b1t3.c1)
761 InitPlan 2 (returns $3)
764 Join Filter: (b2t1.c1 = b2t4.c1)
766 Merge Cond: (b2t1.c1 = b2t2.c1)
768 Merge Cond: (b2t1.c1 = b2t3.c1)
769 -> Index Only Scan using t1_i1 on t1 b2t1
770 -> Index Only Scan using t3_i1 on t3 b2t3
773 -> Seq Scan on t2 b2t2
774 -> Index Only Scan using t4_i1 on t4 b2t4
775 Index Cond: (c1 = b2t3.c1)
777 Join Filter: (bmt1.c1 = bmt4.c1)
779 Merge Cond: (bmt1.c1 = bmt2.c1)
781 Merge Cond: (bmt1.c1 = bmt3.c1)
782 -> Index Only Scan using t1_i1 on t1 bmt1
783 -> Index Only Scan using t3_i1 on t3 bmt3
786 -> Seq Scan on t2 bmt2
787 -> Index Only Scan using t4_i1 on t4 bmt4
788 Index Cond: (c1 = bmt3.c1)
791 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
792 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
793 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
795 EXPLAIN (COSTS false)
796 SELECT max(bmt1.c1), (
797 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
799 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
801 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
803 LOG: available indexes for IndexScan(b1t3): t3_pkey
804 LOG: available indexes for BitmapScan(b1t4): t4_pkey
805 LOG: available indexes for BitmapScan(b2t1): t1_pkey
806 LOG: available indexes for IndexScan(b2t4): t4_pkey
807 LOG: available indexes for IndexScan(bmt2): t2_pkey
808 LOG: available indexes for BitmapScan(bmt3): t3_pkey
813 IndexScan(b1t3 t3_pkey)
814 BitmapScan(b1t4 t4_pkey)
815 BitmapScan(b2t1 t1_pkey)
818 IndexScan(b2t4 t4_pkey)
820 IndexScan(bmt2 t2_pkey)
821 BitmapScan(bmt3 t3_pkey)
828 ---------------------------------------------------------------------------
830 InitPlan 1 (returns $2)
833 Hash Cond: (b1t1.c1 = b1t2.c1)
834 -> Seq Scan on t1 b1t1
837 Join Filter: (b1t2.c1 = b1t3.c1)
839 -> Seq Scan on t2 b1t2
840 -> Bitmap Heap Scan on t4 b1t4
841 Recheck Cond: (c1 = b1t2.c1)
842 -> Bitmap Index Scan on t4_pkey
843 Index Cond: (c1 = b1t2.c1)
844 -> Index Scan using t3_pkey on t3 b1t3
845 Index Cond: (c1 = b1t4.c1)
846 InitPlan 2 (returns $4)
849 Hash Cond: (b2t3.c1 = b2t1.c1)
850 -> Seq Scan on t3 b2t3
853 Merge Cond: (b2t1.c1 = b2t2.c1)
855 -> Index Scan using t4_pkey on t4 b2t4
856 -> Bitmap Heap Scan on t1 b2t1
857 Recheck Cond: (c1 = b2t4.c1)
858 -> Bitmap Index Scan on t1_pkey
859 Index Cond: (c1 = b2t4.c1)
862 -> Seq Scan on t2 b2t2
864 Hash Cond: (bmt4.c1 = bmt1.c1)
865 -> Seq Scan on t4 bmt4
869 Hash Cond: (bmt1.c1 = bmt2.c1)
870 -> Seq Scan on t1 bmt1
872 -> Index Scan using t2_pkey on t2 bmt2
873 -> Bitmap Heap Scan on t3 bmt3
874 Recheck Cond: (c1 = bmt1.c1)
875 -> Bitmap Index Scan on t3_pkey
876 Index Cond: (c1 = bmt1.c1)
880 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;
882 ----------------------------------------------------------------
885 Join Filter: (bmt1.c1 = bmt4.c1)
887 Merge Cond: (bmt1.c1 = bmt2.c1)
889 Merge Cond: (bmt1.c1 = bmt3.c1)
890 -> Index Only Scan using t1_i1 on t1 bmt1
891 -> Index Only Scan using t3_i1 on t3 bmt3
894 -> Seq Scan on t2 bmt2
895 -> Index Only Scan using t4_i1 on t4 bmt4
896 Index Cond: (c1 = bmt3.c1)
899 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
901 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;
902 LOG: available indexes for IndexScan(bmt2): t2_pkey
903 LOG: available indexes for BitmapScan(bmt3): t3_pkey
907 IndexScan(bmt2 t2_pkey)
908 BitmapScan(bmt3 t3_pkey)
915 -------------------------------------------------------------------------
918 Hash Cond: (bmt4.c1 = bmt1.c1)
919 -> Seq Scan on t4 bmt4
923 Hash Cond: (bmt1.c1 = bmt2.c1)
924 -> Seq Scan on t1 bmt1
926 -> Index Scan using t2_pkey on t2 bmt2
927 -> Bitmap Heap Scan on t3 bmt3
928 Recheck Cond: (c1 = bmt1.c1)
929 -> Bitmap Index Scan on t3_pkey
930 Index Cond: (c1 = bmt1.c1)
934 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;
936 ----------------------------------------------------------------
939 Join Filter: (bmt1.c1 = bmt4.c1)
941 Merge Cond: (bmt1.c1 = bmt2.c1)
943 Merge Cond: (bmt1.c1 = bmt3.c1)
944 -> Index Only Scan using t1_i1 on t1 bmt1
945 -> Index Only Scan using t3_i1 on t3 bmt3
948 -> Seq Scan on t2 bmt2
949 -> Index Only Scan using t4_i1 on t4 bmt4
950 Index Cond: (c1 = bmt3.c1)
953 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
955 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;
956 LOG: available indexes for IndexScan(bmt2): t2_pkey
957 LOG: available indexes for BitmapScan(bmt3): t3_pkey
961 IndexScan(bmt2 t2_pkey)
962 BitmapScan(bmt3 t3_pkey)
969 -------------------------------------------------------------------------
972 Hash Cond: (bmt4.c1 = bmt1.c1)
973 -> Seq Scan on t4 bmt4
977 Hash Cond: (bmt1.c1 = bmt2.c1)
978 -> Seq Scan on t1 bmt1
980 -> Index Scan using t2_pkey on t2 bmt2
981 -> Bitmap Heap Scan on t3 bmt3
982 Recheck Cond: (c1 = bmt1.c1)
983 -> Bitmap Index Scan on t3_pkey
984 Index Cond: (c1 = bmt1.c1)
988 EXPLAIN (COSTS false)
989 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
991 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
995 ------------------------------------------------------------------------
997 InitPlan 1 (returns $1)
1000 Join Filter: (b1t1.c1 = b1t4.c1)
1002 Merge Cond: (b1t1.c1 = b1t2.c1)
1004 Merge Cond: (b1t1.c1 = b1t3.c1)
1005 -> Index Only Scan using t1_i1 on t1 b1t1
1006 -> Index Only Scan using t3_i1 on t3 b1t3
1009 -> Seq Scan on t2 b1t2
1010 -> Index Only Scan using t4_i1 on t4 b1t4
1011 Index Cond: (c1 = b1t3.c1)
1013 Join Filter: (bmt1.c1 = bmt4.c1)
1015 Merge Cond: (bmt1.c1 = bmt2.c1)
1017 Merge Cond: (bmt1.c1 = bmt3.c1)
1018 -> Index Only Scan using t1_i1 on t1 bmt1
1020 -> Index Only Scan using t3_i1 on t3 bmt3
1023 -> Seq Scan on t2 bmt2
1024 -> Index Only Scan using t4_i1 on t4 bmt4
1025 Index Cond: (c1 = bmt3.c1)
1028 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1029 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1031 EXPLAIN (COSTS false)
1032 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
1034 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
1037 LOG: available indexes for IndexScan(b1t3): t3_pkey
1038 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1039 LOG: available indexes for IndexScan(bmt2): t2_pkey
1040 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1045 IndexScan(b1t3 t3_pkey)
1046 BitmapScan(b1t4 t4_pkey)
1048 IndexScan(bmt2 t2_pkey)
1049 BitmapScan(bmt3 t3_pkey)
1056 --------------------------------------------------------------------------
1058 InitPlan 1 (returns $2)
1061 Hash Cond: (b1t1.c1 = b1t2.c1)
1062 -> Seq Scan on t1 b1t1
1065 Join Filter: (b1t2.c1 = b1t3.c1)
1067 -> Seq Scan on t2 b1t2
1068 -> Bitmap Heap Scan on t4 b1t4
1069 Recheck Cond: (c1 = b1t2.c1)
1070 -> Bitmap Index Scan on t4_pkey
1071 Index Cond: (c1 = b1t2.c1)
1072 -> Index Scan using t3_pkey on t3 b1t3
1073 Index Cond: (c1 = b1t4.c1)
1075 Hash Cond: (bmt4.c1 = bmt1.c1)
1076 -> Seq Scan on t4 bmt4
1080 Hash Cond: (bmt1.c1 = bmt2.c1)
1081 -> Seq Scan on t1 bmt1
1084 -> Index Scan using t2_pkey on t2 bmt2
1085 -> Bitmap Heap Scan on t3 bmt3
1086 Recheck Cond: (c1 = bmt1.c1)
1087 -> Bitmap Index Scan on t3_pkey
1088 Index Cond: (c1 = bmt1.c1)
1092 EXPLAIN (COSTS false)
1093 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
1095 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
1097 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
1101 ------------------------------------------------------------------------
1103 InitPlan 1 (returns $1)
1106 Join Filter: (b1t1.c1 = b1t4.c1)
1108 Merge Cond: (b1t1.c1 = b1t2.c1)
1110 Merge Cond: (b1t1.c1 = b1t3.c1)
1111 -> Index Only Scan using t1_i1 on t1 b1t1
1112 -> Index Only Scan using t3_i1 on t3 b1t3
1115 -> Seq Scan on t2 b1t2
1116 -> Index Only Scan using t4_i1 on t4 b1t4
1117 Index Cond: (c1 = b1t3.c1)
1118 InitPlan 2 (returns $3)
1121 Join Filter: (b2t1.c1 = b2t4.c1)
1123 Merge Cond: (b2t1.c1 = b2t2.c1)
1125 Merge Cond: (b2t1.c1 = b2t3.c1)
1126 -> Index Only Scan using t1_i1 on t1 b2t1
1127 -> Index Only Scan using t3_i1 on t3 b2t3
1130 -> Seq Scan on t2 b2t2
1131 -> Index Only Scan using t4_i1 on t4 b2t4
1132 Index Cond: (c1 = b2t3.c1)
1134 Join Filter: (bmt1.c1 = bmt4.c1)
1136 Merge Cond: (bmt1.c1 = bmt2.c1)
1138 Merge Cond: (bmt1.c1 = bmt3.c1)
1139 -> Index Only Scan using t1_i1 on t1 bmt1
1140 Filter: ((c1 <> $1) AND (c1 <> $3))
1141 -> Index Only Scan using t3_i1 on t3 bmt3
1144 -> Seq Scan on t2 bmt2
1145 -> Index Only Scan using t4_i1 on t4 bmt4
1146 Index Cond: (c1 = bmt3.c1)
1149 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1150 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1151 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1153 EXPLAIN (COSTS false)
1154 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
1156 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
1158 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
1161 LOG: available indexes for IndexScan(b1t3): t3_pkey
1162 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1163 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1164 LOG: available indexes for IndexScan(b2t4): t4_pkey
1165 LOG: available indexes for IndexScan(bmt2): t2_pkey
1166 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1171 IndexScan(b1t3 t3_pkey)
1172 BitmapScan(b1t4 t4_pkey)
1173 BitmapScan(b2t1 t1_pkey)
1176 IndexScan(b2t4 t4_pkey)
1178 IndexScan(bmt2 t2_pkey)
1179 BitmapScan(bmt3 t3_pkey)
1186 ---------------------------------------------------------------------------
1188 InitPlan 1 (returns $2)
1191 Hash Cond: (b1t1.c1 = b1t2.c1)
1192 -> Seq Scan on t1 b1t1
1195 Join Filter: (b1t2.c1 = b1t3.c1)
1197 -> Seq Scan on t2 b1t2
1198 -> Bitmap Heap Scan on t4 b1t4
1199 Recheck Cond: (c1 = b1t2.c1)
1200 -> Bitmap Index Scan on t4_pkey
1201 Index Cond: (c1 = b1t2.c1)
1202 -> Index Scan using t3_pkey on t3 b1t3
1203 Index Cond: (c1 = b1t4.c1)
1204 InitPlan 2 (returns $4)
1207 Hash Cond: (b2t3.c1 = b2t1.c1)
1208 -> Seq Scan on t3 b2t3
1211 Merge Cond: (b2t1.c1 = b2t2.c1)
1213 -> Index Scan using t4_pkey on t4 b2t4
1214 -> Bitmap Heap Scan on t1 b2t1
1215 Recheck Cond: (c1 = b2t4.c1)
1216 -> Bitmap Index Scan on t1_pkey
1217 Index Cond: (c1 = b2t4.c1)
1220 -> Seq Scan on t2 b2t2
1222 Hash Cond: (bmt4.c1 = bmt1.c1)
1223 -> Seq Scan on t4 bmt4
1227 Hash Cond: (bmt1.c1 = bmt2.c1)
1228 -> Seq Scan on t1 bmt1
1229 Filter: ((c1 <> $2) AND (c1 <> $4))
1231 -> Index Scan using t2_pkey on t2 bmt2
1232 -> Bitmap Heap Scan on t3 bmt3
1233 Recheck Cond: (c1 = bmt1.c1)
1234 -> Bitmap Index Scan on t3_pkey
1235 Index Cond: (c1 = bmt1.c1)
1239 EXPLAIN (COSTS false)
1241 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
1243 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1245 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1249 ------------------------------------------------------------------------
1254 Join Filter: (b1t1.c1 = b1t4.c1)
1256 Merge Cond: (b1t1.c1 = b1t2.c1)
1258 Merge Cond: (b1t1.c1 = b1t3.c1)
1259 -> Index Only Scan using t1_i1 on t1 b1t1
1260 -> Index Only Scan using t3_i1 on t3 b1t3
1263 -> Seq Scan on t2 b1t2
1264 -> Index Only Scan using t4_i1 on t4 b1t4
1265 Index Cond: (c1 = b1t3.c1)
1267 Join Filter: (bmt1.c1 = bmt4.c1)
1269 Join Filter: (bmt2.c1 = bmt1.c1)
1272 Hash Cond: (bmt2.c1 = c1.c1)
1273 -> Seq Scan on t2 bmt2
1276 -> Index Only Scan using t3_i1 on t3 bmt3
1277 Index Cond: (c1 = bmt2.c1)
1278 -> Index Only Scan using t1_i1 on t1 bmt1
1279 Index Cond: (c1 = bmt3.c1)
1280 -> Index Only Scan using t4_i1 on t4 bmt4
1281 Index Cond: (c1 = bmt3.c1)
1284 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1285 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1287 EXPLAIN (COSTS false)
1289 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
1291 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1293 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1296 LOG: available indexes for IndexScan(b1t3): t3_pkey
1297 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1298 LOG: available indexes for IndexScan(bmt2): t2_pkey
1299 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1304 IndexScan(b1t3 t3_pkey)
1305 BitmapScan(b1t4 t4_pkey)
1307 IndexScan(bmt2 t2_pkey)
1308 BitmapScan(bmt3 t3_pkey)
1315 --------------------------------------------------------------------------
1320 Hash Cond: (b1t1.c1 = b1t2.c1)
1321 -> Seq Scan on t1 b1t1
1324 Join Filter: (b1t2.c1 = b1t3.c1)
1326 -> Seq Scan on t2 b1t2
1327 -> Bitmap Heap Scan on t4 b1t4
1328 Recheck Cond: (c1 = b1t2.c1)
1329 -> Bitmap Index Scan on t4_pkey
1330 Index Cond: (c1 = b1t2.c1)
1331 -> Index Scan using t3_pkey on t3 b1t3
1332 Index Cond: (c1 = b1t4.c1)
1334 Hash Cond: (bmt4.c1 = bmt1.c1)
1335 -> Seq Scan on t4 bmt4
1340 Hash Cond: (bmt1.c1 = c1.c1)
1341 -> Seq Scan on t1 bmt1
1344 -> Index Scan using t2_pkey on t2 bmt2
1345 Index Cond: (c1 = bmt1.c1)
1346 -> Bitmap Heap Scan on t3 bmt3
1347 Recheck Cond: (c1 = bmt1.c1)
1348 -> Bitmap Index Scan on t3_pkey
1349 Index Cond: (c1 = bmt1.c1)
1353 EXPLAIN (COSTS false)
1355 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
1358 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
1360 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1362 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1367 ------------------------------------------------------------------------
1372 Join Filter: (b1t1.c1 = b1t4.c1)
1374 Merge Cond: (b1t1.c1 = b1t2.c1)
1376 Merge Cond: (b1t1.c1 = b1t3.c1)
1377 -> Index Only Scan using t1_i1 on t1 b1t1
1378 -> Index Only Scan using t3_i1 on t3 b1t3
1381 -> Seq Scan on t2 b1t2
1382 -> Index Only Scan using t4_i1 on t4 b1t4
1383 Index Cond: (c1 = b1t3.c1)
1387 Join Filter: (b2t1.c1 = b2t4.c1)
1389 Merge Cond: (b2t1.c1 = b2t2.c1)
1391 Merge Cond: (b2t1.c1 = b2t3.c1)
1392 -> Index Only Scan using t1_i1 on t1 b2t1
1393 -> Index Only Scan using t3_i1 on t3 b2t3
1396 -> Seq Scan on t2 b2t2
1397 -> Index Only Scan using t4_i1 on t4 b2t4
1398 Index Cond: (c1 = b2t3.c1)
1400 Join Filter: (bmt1.c1 = c2.c1)
1402 Join Filter: (bmt1.c1 = bmt4.c1)
1404 Join Filter: (bmt2.c1 = bmt1.c1)
1407 Hash Cond: (bmt2.c1 = c1.c1)
1408 -> Seq Scan on t2 bmt2
1411 -> Index Only Scan using t3_i1 on t3 bmt3
1412 Index Cond: (c1 = bmt2.c1)
1413 -> Index Only Scan using t1_i1 on t1 bmt1
1414 Index Cond: (c1 = bmt3.c1)
1415 -> Index Only Scan using t4_i1 on t4 bmt4
1416 Index Cond: (c1 = bmt3.c1)
1420 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1421 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1422 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1424 EXPLAIN (COSTS false)
1426 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
1429 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
1431 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1433 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1437 LOG: available indexes for IndexScan(b1t3): t3_pkey
1438 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1439 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1440 LOG: available indexes for IndexScan(b2t4): t4_pkey
1441 LOG: available indexes for IndexScan(bmt2): t2_pkey
1442 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1447 IndexScan(b1t3 t3_pkey)
1448 BitmapScan(b1t4 t4_pkey)
1449 BitmapScan(b2t1 t1_pkey)
1452 IndexScan(b2t4 t4_pkey)
1454 IndexScan(bmt2 t2_pkey)
1455 BitmapScan(bmt3 t3_pkey)
1462 ---------------------------------------------------------------------------
1467 Hash Cond: (b1t1.c1 = b1t2.c1)
1468 -> Seq Scan on t1 b1t1
1471 Join Filter: (b1t2.c1 = b1t3.c1)
1473 -> Seq Scan on t2 b1t2
1474 -> Bitmap Heap Scan on t4 b1t4
1475 Recheck Cond: (c1 = b1t2.c1)
1476 -> Bitmap Index Scan on t4_pkey
1477 Index Cond: (c1 = b1t2.c1)
1478 -> Index Scan using t3_pkey on t3 b1t3
1479 Index Cond: (c1 = b1t4.c1)
1483 Hash Cond: (b2t3.c1 = b2t1.c1)
1484 -> Seq Scan on t3 b2t3
1487 Merge Cond: (b2t1.c1 = b2t2.c1)
1489 -> Index Scan using t4_pkey on t4 b2t4
1490 -> Bitmap Heap Scan on t1 b2t1
1491 Recheck Cond: (c1 = b2t4.c1)
1492 -> Bitmap Index Scan on t1_pkey
1493 Index Cond: (c1 = b2t4.c1)
1496 -> Seq Scan on t2 b2t2
1498 Hash Cond: (bmt4.c1 = bmt1.c1)
1499 -> Seq Scan on t4 bmt4
1502 Join Filter: (bmt1.c1 = c2.c1)
1506 Hash Cond: (bmt1.c1 = c1.c1)
1507 -> Seq Scan on t1 bmt1
1510 -> Index Scan using t2_pkey on t2 bmt2
1511 Index Cond: (c1 = bmt1.c1)
1512 -> Bitmap Heap Scan on t3 bmt3
1513 Recheck Cond: (c1 = bmt1.c1)
1514 -> Bitmap Index Scan on t3_pkey
1515 Index Cond: (c1 = bmt1.c1)
1520 ---- No. S-2-2 the number of the tables per quiry block
1523 EXPLAIN (COSTS false)
1525 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1527 SELECT max(bmt1.c1), (
1528 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1530 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1532 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1536 -----------------------------------------------------------------
1540 InitPlan 1 (returns $0)
1542 -> Tid Scan on t1 b1t1
1543 TID Cond: (ctid = '(1,1)'::tid)
1544 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1545 InitPlan 4 (returns $3)
1547 InitPlan 3 (returns $2)
1549 -> Tid Scan on t1 b2t1
1550 TID Cond: (ctid = '(1,1)'::tid)
1551 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1552 InitPlan 6 (returns $5)
1554 InitPlan 5 (returns $4)
1556 -> Tid Scan on t1 b3t1
1557 TID Cond: (ctid = '(1,1)'::tid)
1558 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1560 -> Tid Scan on t1 bmt1
1561 TID Cond: (ctid = '(1,1)'::tid)
1562 Filter: ((c1 <> $5) AND (c1 = 1))
1568 BitmapScan(b2t1 t1_pkey)
1569 IndexScan(b3t1 t1_pkey)
1571 EXPLAIN (COSTS false)
1573 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1575 SELECT max(bmt1.c1), (
1576 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1578 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1580 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1583 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1584 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1585 LOG: available indexes for IndexScan(b3t1): t1_pkey
1586 LOG: available indexes for IndexScan(b3t1): t1_pkey
1590 BitmapScan(b2t1 t1_pkey)
1591 IndexScan(b3t1 t1_pkey)
1598 ---------------------------------------------------------------------------
1602 InitPlan 1 (returns $0)
1604 -> Tid Scan on t1 b1t1
1605 TID Cond: (ctid = '(1,1)'::tid)
1606 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1607 InitPlan 4 (returns $3)
1609 InitPlan 3 (returns $2)
1611 -> Bitmap Heap Scan on t1 b2t1
1612 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1613 Filter: (ctid = '(1,1)'::tid)
1614 -> Bitmap Index Scan on t1_pkey
1615 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1616 InitPlan 6 (returns $5)
1618 InitPlan 5 (returns $4)
1620 -> Index Scan using t1_pkey on t1 b3t1
1621 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1622 Filter: (ctid = '(1,1)'::tid)
1624 -> Seq Scan on t1 bmt1
1625 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid) AND (c1 = 1))
1630 EXPLAIN (COSTS false)
1632 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)'
1634 SELECT max(bmt1.c1), (
1635 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)'
1637 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1639 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)'
1643 -------------------------------------------------------
1648 Join Filter: (b1t1.c1 = b1t2.c1)
1649 -> Tid Scan on t1 b1t1
1650 TID Cond: (ctid = '(1,1)'::tid)
1651 -> Seq Scan on t2 b1t2
1652 Filter: (ctid = '(1,1)'::tid)
1653 InitPlan 2 (returns $1)
1656 Join Filter: (b2t1.c1 = b2t2.c1)
1657 -> Tid Scan on t1 b2t1
1658 TID Cond: (ctid = '(1,1)'::tid)
1659 -> Seq Scan on t2 b2t2
1660 Filter: (ctid = '(1,1)'::tid)
1661 InitPlan 3 (returns $2)
1664 Join Filter: (b3t1.c1 = b3t2.c1)
1665 -> Tid Scan on t1 b3t1
1666 TID Cond: (ctid = '(1,1)'::tid)
1667 -> Seq Scan on t2 b3t2
1668 Filter: (ctid = '(1,1)'::tid)
1671 Join Filter: (bmt1.c1 = bmt2.c1)
1672 -> Tid Scan on t1 bmt1
1673 TID Cond: (ctid = '(1,1)'::tid)
1675 -> Seq Scan on t2 bmt2
1676 Filter: (ctid = '(1,1)'::tid)
1680 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)
1681 TidScan(b1t1)SeqScan(b1t2)
1682 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)
1683 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)
1685 EXPLAIN (COSTS false)
1687 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)'
1689 SELECT max(bmt1.c1), (
1690 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)'
1692 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1694 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)'
1697 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1698 LOG: available indexes for IndexScan(b3t1): t1_pkey
1699 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1700 LOG: available indexes for IndexScan(bmt2): t2_pkey
1705 BitmapScan(b2t1 t1_pkey)
1707 IndexScan(b3t1 t1_pkey)
1708 BitmapScan(b3t2 t2_pkey)
1710 IndexScan(bmt2 t2_pkey)
1716 --------------------------------------------------------------------
1721 Join Filter: (b1t1.c1 = b1t2.c1)
1722 -> Tid Scan on t1 b1t1
1723 TID Cond: (ctid = '(1,1)'::tid)
1724 -> Seq Scan on t2 b1t2
1725 Filter: (ctid = '(1,1)'::tid)
1726 InitPlan 2 (returns $2)
1729 -> Tid Scan on t2 b2t2
1730 TID Cond: (ctid = '(1,1)'::tid)
1731 -> Bitmap Heap Scan on t1 b2t1
1732 Recheck Cond: (c1 = b2t2.c1)
1733 Filter: (ctid = '(1,1)'::tid)
1734 -> Bitmap Index Scan on t1_pkey
1735 Index Cond: (c1 = b2t2.c1)
1736 InitPlan 3 (returns $4)
1739 -> Index Scan using t1_pkey on t1 b3t1
1740 Filter: (ctid = '(1,1)'::tid)
1741 -> Bitmap Heap Scan on t2 b3t2
1742 Recheck Cond: (c1 = b3t1.c1)
1743 Filter: (ctid = '(1,1)'::tid)
1744 -> Bitmap Index Scan on t2_pkey
1745 Index Cond: (c1 = b3t1.c1)
1748 -> Seq Scan on t1 bmt1
1749 Filter: ((c1 <> $4) AND (ctid = '(1,1)'::tid))
1750 -> Index Scan using t2_pkey on t2 bmt2
1751 Index Cond: (c1 = bmt1.c1)
1752 Filter: (ctid = '(1,1)'::tid)
1757 EXPLAIN (COSTS false)
1759 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)'
1761 SELECT max(bmt1.c1), (
1762 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)'
1764 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
1766 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)'
1770 -------------------------------------------------------------------
1775 Join Filter: (b1t1.c1 = b1t4.c1)
1777 Join Filter: (b1t1.c1 = b1t3.c1)
1779 Join Filter: (b1t1.c1 = b1t2.c1)
1780 -> Tid Scan on t1 b1t1
1781 TID Cond: (ctid = '(1,1)'::tid)
1782 -> Seq Scan on t2 b1t2
1783 Filter: (ctid = '(1,1)'::tid)
1784 -> Tid Scan on t3 b1t3
1785 TID Cond: (ctid = '(1,1)'::tid)
1786 -> Tid Scan on t4 b1t4
1787 TID Cond: (ctid = '(1,1)'::tid)
1788 InitPlan 2 (returns $1)
1791 Join Filter: (b2t1.c1 = b2t4.c1)
1793 Join Filter: (b2t1.c1 = b2t3.c1)
1795 Join Filter: (b2t1.c1 = b2t2.c1)
1796 -> Tid Scan on t1 b2t1
1797 TID Cond: (ctid = '(1,1)'::tid)
1798 -> Seq Scan on t2 b2t2
1799 Filter: (ctid = '(1,1)'::tid)
1800 -> Tid Scan on t3 b2t3
1801 TID Cond: (ctid = '(1,1)'::tid)
1802 -> Tid Scan on t4 b2t4
1803 TID Cond: (ctid = '(1,1)'::tid)
1804 InitPlan 3 (returns $2)
1807 Join Filter: (b3t1.c1 = b3t4.c1)
1809 Join Filter: (b3t1.c1 = b3t3.c1)
1811 Join Filter: (b3t1.c1 = b3t2.c1)
1812 -> Tid Scan on t1 b3t1
1813 TID Cond: (ctid = '(1,1)'::tid)
1814 -> Seq Scan on t2 b3t2
1815 Filter: (ctid = '(1,1)'::tid)
1816 -> Tid Scan on t3 b3t3
1817 TID Cond: (ctid = '(1,1)'::tid)
1818 -> Tid Scan on t4 b3t4
1819 TID Cond: (ctid = '(1,1)'::tid)
1821 Join Filter: (bmt1.c1 = c1.c1)
1823 Join Filter: (bmt1.c1 = bmt4.c1)
1825 Join Filter: (bmt1.c1 = bmt3.c1)
1827 Join Filter: (bmt1.c1 = bmt2.c1)
1828 -> Tid Scan on t1 bmt1
1829 TID Cond: (ctid = '(1,1)'::tid)
1831 -> Seq Scan on t2 bmt2
1832 Filter: (ctid = '(1,1)'::tid)
1833 -> Tid Scan on t3 bmt3
1834 TID Cond: (ctid = '(1,1)'::tid)
1835 -> Tid Scan on t4 bmt4
1836 TID Cond: (ctid = '(1,1)'::tid)
1840 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1841 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1842 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1843 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
1845 EXPLAIN (COSTS false)
1847 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)'
1849 SELECT max(bmt1.c1), (
1850 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)'
1852 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
1854 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)'
1857 LOG: available indexes for IndexScan(b1t3): t3_pkey
1858 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1859 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1860 LOG: available indexes for IndexScan(b2t4): t4_pkey
1861 LOG: available indexes for IndexScan(b3t1): t1_pkey
1862 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1863 LOG: available indexes for IndexScan(bmt2): t2_pkey
1864 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1869 IndexScan(b1t3 t3_pkey)
1870 BitmapScan(b1t4 t4_pkey)
1871 BitmapScan(b2t1 t1_pkey)
1874 IndexScan(b2t4 t4_pkey)
1875 IndexScan(b3t1 t1_pkey)
1876 BitmapScan(b3t2 t2_pkey)
1880 IndexScan(bmt2 t2_pkey)
1881 BitmapScan(bmt3 t3_pkey)
1888 --------------------------------------------------------------------------------
1895 Join Filter: (b1t1.c1 = b1t2.c1)
1896 -> Tid Scan on t1 b1t1
1897 TID Cond: (ctid = '(1,1)'::tid)
1898 -> Seq Scan on t2 b1t2
1899 Filter: (ctid = '(1,1)'::tid)
1900 -> Index Scan using t3_pkey on t3 b1t3
1901 Index Cond: (c1 = b1t1.c1)
1902 Filter: (ctid = '(1,1)'::tid)
1903 -> Bitmap Heap Scan on t4 b1t4
1904 Recheck Cond: (c1 = b1t1.c1)
1905 Filter: (ctid = '(1,1)'::tid)
1906 -> Bitmap Index Scan on t4_pkey
1907 Index Cond: (c1 = b1t1.c1)
1908 InitPlan 2 (returns $4)
1912 Join Filter: (b2t1.c1 = b2t3.c1)
1914 -> Tid Scan on t2 b2t2
1915 TID Cond: (ctid = '(1,1)'::tid)
1916 -> Bitmap Heap Scan on t1 b2t1
1917 Recheck Cond: (c1 = b2t2.c1)
1918 Filter: (ctid = '(1,1)'::tid)
1919 -> Bitmap Index Scan on t1_pkey
1920 Index Cond: (c1 = b2t2.c1)
1921 -> Seq Scan on t3 b2t3
1922 Filter: (ctid = '(1,1)'::tid)
1923 -> Index Scan using t4_pkey on t4 b2t4
1924 Index Cond: (c1 = b2t1.c1)
1925 Filter: (ctid = '(1,1)'::tid)
1926 InitPlan 3 (returns $7)
1929 Join Filter: (b3t1.c1 = b3t4.c1)
1932 -> Tid Scan on t3 b3t3
1933 TID Cond: (ctid = '(1,1)'::tid)
1934 -> Index Scan using t1_pkey on t1 b3t1
1935 Index Cond: (c1 = b3t3.c1)
1936 Filter: (ctid = '(1,1)'::tid)
1937 -> Bitmap Heap Scan on t2 b3t2
1938 Recheck Cond: (c1 = b3t1.c1)
1939 Filter: (ctid = '(1,1)'::tid)
1940 -> Bitmap Index Scan on t2_pkey
1941 Index Cond: (c1 = b3t1.c1)
1942 -> Seq Scan on t4 b3t4
1943 Filter: (ctid = '(1,1)'::tid)
1945 Join Filter: (bmt1.c1 = c1.c1)
1947 Join Filter: (bmt1.c1 = bmt4.c1)
1950 -> Seq Scan on t1 bmt1
1951 Filter: ((c1 <> $7) AND (ctid = '(1,1)'::tid))
1952 -> Index Scan using t2_pkey on t2 bmt2
1953 Index Cond: (c1 = bmt1.c1)
1954 Filter: (ctid = '(1,1)'::tid)
1955 -> Bitmap Heap Scan on t3 bmt3
1956 Recheck Cond: (c1 = bmt1.c1)
1957 Filter: (ctid = '(1,1)'::tid)
1958 -> Bitmap Index Scan on t3_pkey
1959 Index Cond: (c1 = bmt1.c1)
1960 -> Tid Scan on t4 bmt4
1961 TID Cond: (ctid = '(1,1)'::tid)
1966 EXPLAIN (COSTS false)
1968 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)'
1970 SELECT max(bmt1.c1), (
1971 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1973 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
1975 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
1979 -------------------------------------------------------------------
1984 Join Filter: (b1t1.c1 = b1t4.c1)
1986 Join Filter: (b1t1.c1 = b1t3.c1)
1988 Join Filter: (b1t1.c1 = b1t2.c1)
1989 -> Tid Scan on t1 b1t1
1990 TID Cond: (ctid = '(1,1)'::tid)
1991 -> Seq Scan on t2 b1t2
1992 Filter: (ctid = '(1,1)'::tid)
1993 -> Tid Scan on t3 b1t3
1994 TID Cond: (ctid = '(1,1)'::tid)
1995 -> Tid Scan on t4 b1t4
1996 TID Cond: (ctid = '(1,1)'::tid)
1997 InitPlan 3 (returns $2)
1999 InitPlan 2 (returns $1)
2001 -> Tid Scan on t1 b2t1
2002 TID Cond: (ctid = '(1,1)'::tid)
2003 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
2004 InitPlan 4 (returns $4)
2006 -> Tid Scan on t1 b3t1
2007 TID Cond: (ctid = '(1,1)'::tid)
2009 Join Filter: (bmt1.c1 = c1.c1)
2011 Join Filter: (bmt1.c1 = bmt4.c1)
2013 Join Filter: (bmt1.c1 = bmt3.c1)
2015 Join Filter: (bmt1.c1 = bmt2.c1)
2016 -> Tid Scan on t1 bmt1
2017 TID Cond: (ctid = '(1,1)'::tid)
2019 -> Seq Scan on t2 bmt2
2020 Filter: (ctid = '(1,1)'::tid)
2021 -> Tid Scan on t3 bmt3
2022 TID Cond: (ctid = '(1,1)'::tid)
2023 -> Tid Scan on t4 bmt4
2024 TID Cond: (ctid = '(1,1)'::tid)
2028 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
2029 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2030 BitmapScan(b2t1 t1_pkey)
2031 IndexScan(b3t1 t1_pkey)
2033 EXPLAIN (COSTS false)
2035 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)'
2037 SELECT max(bmt1.c1), (
2038 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
2040 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
2042 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2045 LOG: available indexes for IndexScan(b1t3): t3_pkey
2046 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2047 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2048 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2049 LOG: available indexes for IndexScan(b3t1): t1_pkey
2050 LOG: available indexes for IndexScan(b3t1): t1_pkey
2051 LOG: available indexes for IndexScan(bmt2): t2_pkey
2052 LOG: available indexes for BitmapScan(bmt3): t3_pkey
2057 IndexScan(b1t3 t3_pkey)
2058 BitmapScan(b1t4 t4_pkey)
2059 BitmapScan(b2t1 t1_pkey)
2060 IndexScan(b3t1 t1_pkey)
2062 IndexScan(bmt2 t2_pkey)
2063 BitmapScan(bmt3 t3_pkey)
2070 --------------------------------------------------------------------------------
2077 Join Filter: (b1t1.c1 = b1t2.c1)
2078 -> Tid Scan on t1 b1t1
2079 TID Cond: (ctid = '(1,1)'::tid)
2080 -> Seq Scan on t2 b1t2
2081 Filter: (ctid = '(1,1)'::tid)
2082 -> Index Scan using t3_pkey on t3 b1t3
2083 Index Cond: (c1 = b1t1.c1)
2084 Filter: (ctid = '(1,1)'::tid)
2085 -> Bitmap Heap Scan on t4 b1t4
2086 Recheck Cond: (c1 = b1t1.c1)
2087 Filter: (ctid = '(1,1)'::tid)
2088 -> Bitmap Index Scan on t4_pkey
2089 Index Cond: (c1 = b1t1.c1)
2090 InitPlan 3 (returns $3)
2092 InitPlan 2 (returns $2)
2094 -> Bitmap Heap Scan on t1 b2t1
2095 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2096 Filter: (ctid = '(1,1)'::tid)
2097 -> Bitmap Index Scan on t1_pkey
2098 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2099 InitPlan 5 (returns $5)
2101 InitPlan 4 (returns $4)
2103 -> Index Scan Backward using t1_pkey on t1 b3t1
2104 Index Cond: (c1 IS NOT NULL)
2105 Filter: (ctid = '(1,1)'::tid)
2107 Join Filter: (bmt1.c1 = c1.c1)
2109 Join Filter: (bmt1.c1 = bmt4.c1)
2112 -> Seq Scan on t1 bmt1
2113 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid))
2114 -> Index Scan using t2_pkey on t2 bmt2
2115 Index Cond: (c1 = bmt1.c1)
2116 Filter: (ctid = '(1,1)'::tid)
2117 -> Bitmap Heap Scan on t3 bmt3
2118 Recheck Cond: (c1 = bmt1.c1)
2119 Filter: (ctid = '(1,1)'::tid)
2120 -> Bitmap Index Scan on t3_pkey
2121 Index Cond: (c1 = bmt1.c1)
2122 -> Tid Scan on t4 bmt4
2123 TID Cond: (ctid = '(1,1)'::tid)
2128 ---- No. S-2-3 RULE or VIEW
2131 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2133 -----------------------------------------------------------------
2136 Join Filter: (t1.c1 = t4.c1)
2138 Join Filter: (t1.c1 = t3.c1)
2140 Join Filter: (t1.c1 = t2.c1)
2143 TID Cond: (ctid = '(1,1)'::tid)
2146 TID Cond: (ctid = '(1,1)'::tid)
2148 Filter: (ctid = '(1,1)'::tid)
2150 TID Cond: (ctid = '(1,1)'::tid)
2152 TID Cond: (ctid = '(1,1)'::tid)
2155 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2157 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2158 LOG: available indexes for IndexScan(t3): t3_pkey
2159 LOG: available indexes for BitmapScan(t4): t4_pkey
2165 IndexScan(t3 t3_pkey)
2166 BitmapScan(t4 t4_pkey)
2172 ------------------------------------------------------------------------------
2177 Join Filter: (t1.c1 = t2.c1)
2180 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2182 TID Cond: (ctid = '(1,1)'::tid)
2184 Filter: (ctid = '(1,1)'::tid)
2185 -> Index Scan using t3_pkey on t3
2186 Index Cond: (c1 = t1.c1)
2187 Filter: (ctid = '(1,1)'::tid)
2188 -> Bitmap Heap Scan on t4
2189 Recheck Cond: (c1 = t1.c1)
2190 Filter: (ctid = '(1,1)'::tid)
2191 -> Bitmap Index Scan on t4_pkey
2192 Index Cond: (c1 = t1.c1)
2195 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2197 -----------------------------------------------------------------
2200 Join Filter: (b1t1.c1 = b1t4.c1)
2202 Join Filter: (b1t1.c1 = b1t3.c1)
2204 Join Filter: (b1t1.c1 = b1t2.c1)
2207 TID Cond: (ctid = '(1,1)'::tid)
2209 -> Tid Scan on t1 b1t1
2210 TID Cond: (ctid = '(1,1)'::tid)
2211 -> Seq Scan on t2 b1t2
2212 Filter: (ctid = '(1,1)'::tid)
2213 -> Tid Scan on t3 b1t3
2214 TID Cond: (ctid = '(1,1)'::tid)
2215 -> Tid Scan on t4 b1t4
2216 TID Cond: (ctid = '(1,1)'::tid)
2219 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2221 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2222 LOG: available indexes for IndexScan(b1t3): t3_pkey
2223 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2228 IndexScan(b1t3 t3_pkey)
2229 BitmapScan(b1t4 t4_pkey)
2236 ------------------------------------------------------------------------------
2241 Join Filter: (b1t1.c1 = b1t2.c1)
2244 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2245 -> Tid Scan on t1 b1t1
2246 TID Cond: (ctid = '(1,1)'::tid)
2247 -> Seq Scan on t2 b1t2
2248 Filter: (ctid = '(1,1)'::tid)
2249 -> Index Scan using t3_pkey on t3 b1t3
2250 Index Cond: (c1 = b1t1.c1)
2251 Filter: (ctid = '(1,1)'::tid)
2252 -> Bitmap Heap Scan on t4 b1t4
2253 Recheck Cond: (c1 = b1t1.c1)
2254 Filter: (ctid = '(1,1)'::tid)
2255 -> Bitmap Index Scan on t4_pkey
2256 Index Cond: (c1 = b1t1.c1)
2260 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2262 -----------------------------------------------------------------
2265 Join Filter: (t1.c1 = t4.c1)
2267 Join Filter: (t1.c1 = t3.c1)
2269 Join Filter: (t1.c1 = t2.c1)
2272 TID Cond: (ctid = '(1,1)'::tid)
2275 TID Cond: (ctid = '(1,1)'::tid)
2277 Filter: (ctid = '(1,1)'::tid)
2279 TID Cond: (ctid = '(1,1)'::tid)
2281 TID Cond: (ctid = '(1,1)'::tid)
2285 Join Filter: (t1.c1 = t4.c1)
2287 Join Filter: (t1.c1 = t3.c1)
2289 Join Filter: (t1.c1 = t2.c1)
2292 TID Cond: (ctid = '(1,1)'::tid)
2295 TID Cond: (ctid = '(1,1)'::tid)
2297 Filter: (ctid = '(1,1)'::tid)
2299 TID Cond: (ctid = '(1,1)'::tid)
2301 TID Cond: (ctid = '(1,1)'::tid)
2304 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2306 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2307 LOG: available indexes for IndexScan(t3): t3_pkey
2308 LOG: available indexes for BitmapScan(t4): t4_pkey
2314 IndexScan(t3 t3_pkey)
2315 BitmapScan(t4 t4_pkey)
2320 LOG: available indexes for IndexScan(t3): t3_pkey
2321 LOG: available indexes for BitmapScan(t4): t4_pkey
2327 IndexScan(t3 t3_pkey)
2328 BitmapScan(t4 t4_pkey)
2334 ------------------------------------------------------------------------------
2339 Join Filter: (t1.c1 = t2.c1)
2342 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2344 TID Cond: (ctid = '(1,1)'::tid)
2346 Filter: (ctid = '(1,1)'::tid)
2347 -> Index Scan using t3_pkey on t3
2348 Index Cond: (c1 = t1.c1)
2349 Filter: (ctid = '(1,1)'::tid)
2350 -> Bitmap Heap Scan on t4
2351 Recheck Cond: (c1 = t1.c1)
2352 Filter: (ctid = '(1,1)'::tid)
2353 -> Bitmap Index Scan on t4_pkey
2354 Index Cond: (c1 = t1.c1)
2360 Join Filter: (t1.c1 = t2.c1)
2363 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2365 TID Cond: (ctid = '(1,1)'::tid)
2367 Filter: (ctid = '(1,1)'::tid)
2368 -> Index Scan using t3_pkey on t3
2369 Index Cond: (c1 = t1.c1)
2370 Filter: (ctid = '(1,1)'::tid)
2371 -> Bitmap Heap Scan on t4
2372 Recheck Cond: (c1 = t1.c1)
2373 Filter: (ctid = '(1,1)'::tid)
2374 -> Bitmap Index Scan on t4_pkey
2375 Index Cond: (c1 = t1.c1)
2378 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2380 -----------------------------------------------------------------
2383 Join Filter: (b1t1.c1 = b1t4.c1)
2385 Join Filter: (b1t1.c1 = b1t3.c1)
2387 Join Filter: (b1t1.c1 = b1t2.c1)
2390 TID Cond: (ctid = '(1,1)'::tid)
2392 -> Tid Scan on t1 b1t1
2393 TID Cond: (ctid = '(1,1)'::tid)
2394 -> Seq Scan on t2 b1t2
2395 Filter: (ctid = '(1,1)'::tid)
2396 -> Tid Scan on t3 b1t3
2397 TID Cond: (ctid = '(1,1)'::tid)
2398 -> Tid Scan on t4 b1t4
2399 TID Cond: (ctid = '(1,1)'::tid)
2403 Join Filter: (b2t1.c1 = b2t4.c1)
2405 Join Filter: (b2t1.c1 = b2t3.c1)
2407 Join Filter: (b2t1.c1 = b2t2.c1)
2410 TID Cond: (ctid = '(1,1)'::tid)
2412 -> Tid Scan on t1 b2t1
2413 TID Cond: (ctid = '(1,1)'::tid)
2414 -> Seq Scan on t2 b2t2
2415 Filter: (ctid = '(1,1)'::tid)
2416 -> Tid Scan on t3 b2t3
2417 TID Cond: (ctid = '(1,1)'::tid)
2418 -> Tid Scan on t4 b2t4
2419 TID Cond: (ctid = '(1,1)'::tid)
2422 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2423 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2425 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2426 LOG: available indexes for IndexScan(b1t3): t3_pkey
2427 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2432 IndexScan(b1t3 t3_pkey)
2433 BitmapScan(b1t4 t4_pkey)
2436 BitmapScan(b2t1 t1_pkey)
2439 IndexScan(b2t4 t4_pkey)
2443 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2444 LOG: available indexes for IndexScan(b2t4): t4_pkey
2447 BitmapScan(b2t1 t1_pkey)
2450 IndexScan(b2t4 t4_pkey)
2455 IndexScan(b1t3 t3_pkey)
2456 BitmapScan(b1t4 t4_pkey)
2461 ------------------------------------------------------------------------------
2466 Join Filter: (b1t1.c1 = b1t2.c1)
2469 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2470 -> Tid Scan on t1 b1t1
2471 TID Cond: (ctid = '(1,1)'::tid)
2472 -> Seq Scan on t2 b1t2
2473 Filter: (ctid = '(1,1)'::tid)
2474 -> Index Scan using t3_pkey on t3 b1t3
2475 Index Cond: (c1 = b1t1.c1)
2476 Filter: (ctid = '(1,1)'::tid)
2477 -> Bitmap Heap Scan on t4 b1t4
2478 Recheck Cond: (c1 = b1t1.c1)
2479 Filter: (ctid = '(1,1)'::tid)
2480 -> Bitmap Index Scan on t4_pkey
2481 Index Cond: (c1 = b1t1.c1)
2486 Join Filter: (b2t1.c1 = b2t3.c1)
2490 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2491 -> Tid Scan on t2 b2t2
2492 TID Cond: (ctid = '(1,1)'::tid)
2493 -> Bitmap Heap Scan on t1 b2t1
2494 Recheck Cond: (c1 = b2t2.c1)
2495 Filter: (ctid = '(1,1)'::tid)
2496 -> Bitmap Index Scan on t1_pkey
2497 Index Cond: (c1 = b2t2.c1)
2498 -> Seq Scan on t3 b2t3
2499 Filter: (ctid = '(1,1)'::tid)
2500 -> Index Scan using t4_pkey on t4 b2t4
2501 Index Cond: (c1 = b2t1.c1)
2502 Filter: (ctid = '(1,1)'::tid)
2506 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2508 -----------------------------------------------------------------
2511 Join Filter: (t1.c1 = t4.c1)
2513 Join Filter: (t1.c1 = t3.c1)
2515 Join Filter: (t1.c1 = t2.c1)
2518 TID Cond: (ctid = '(1,1)'::tid)
2521 TID Cond: (ctid = '(1,1)'::tid)
2523 Filter: (ctid = '(1,1)'::tid)
2525 TID Cond: (ctid = '(1,1)'::tid)
2527 TID Cond: (ctid = '(1,1)'::tid)
2531 Join Filter: (t1.c1 = t4.c1)
2533 Join Filter: (t1.c1 = t3.c1)
2535 Join Filter: (t1.c1 = t2.c1)
2538 TID Cond: (ctid = '(1,1)'::tid)
2541 TID Cond: (ctid = '(1,1)'::tid)
2543 Filter: (ctid = '(1,1)'::tid)
2545 TID Cond: (ctid = '(1,1)'::tid)
2547 TID Cond: (ctid = '(1,1)'::tid)
2551 Join Filter: (t1.c1 = t4.c1)
2553 Join Filter: (t1.c1 = t3.c1)
2555 Join Filter: (t1.c1 = t2.c1)
2558 TID Cond: (ctid = '(1,1)'::tid)
2561 TID Cond: (ctid = '(1,1)'::tid)
2563 Filter: (ctid = '(1,1)'::tid)
2565 TID Cond: (ctid = '(1,1)'::tid)
2567 TID Cond: (ctid = '(1,1)'::tid)
2570 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2572 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2573 LOG: available indexes for IndexScan(t3): t3_pkey
2574 LOG: available indexes for BitmapScan(t4): t4_pkey
2580 IndexScan(t3 t3_pkey)
2581 BitmapScan(t4 t4_pkey)
2586 LOG: available indexes for IndexScan(t3): t3_pkey
2587 LOG: available indexes for BitmapScan(t4): t4_pkey
2593 IndexScan(t3 t3_pkey)
2594 BitmapScan(t4 t4_pkey)
2599 LOG: available indexes for IndexScan(t3): t3_pkey
2600 LOG: available indexes for BitmapScan(t4): t4_pkey
2606 IndexScan(t3 t3_pkey)
2607 BitmapScan(t4 t4_pkey)
2613 ------------------------------------------------------------------------------
2618 Join Filter: (t1.c1 = t2.c1)
2621 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2623 TID Cond: (ctid = '(1,1)'::tid)
2625 Filter: (ctid = '(1,1)'::tid)
2626 -> Index Scan using t3_pkey on t3
2627 Index Cond: (c1 = t1.c1)
2628 Filter: (ctid = '(1,1)'::tid)
2629 -> Bitmap Heap Scan on t4
2630 Recheck Cond: (c1 = t1.c1)
2631 Filter: (ctid = '(1,1)'::tid)
2632 -> Bitmap Index Scan on t4_pkey
2633 Index Cond: (c1 = t1.c1)
2639 Join Filter: (t1.c1 = t2.c1)
2642 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2644 TID Cond: (ctid = '(1,1)'::tid)
2646 Filter: (ctid = '(1,1)'::tid)
2647 -> Index Scan using t3_pkey on t3
2648 Index Cond: (c1 = t1.c1)
2649 Filter: (ctid = '(1,1)'::tid)
2650 -> Bitmap Heap Scan on t4
2651 Recheck Cond: (c1 = t1.c1)
2652 Filter: (ctid = '(1,1)'::tid)
2653 -> Bitmap Index Scan on t4_pkey
2654 Index Cond: (c1 = t1.c1)
2660 Join Filter: (t1.c1 = t2.c1)
2663 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2665 TID Cond: (ctid = '(1,1)'::tid)
2667 Filter: (ctid = '(1,1)'::tid)
2668 -> Index Scan using t3_pkey on t3
2669 Index Cond: (c1 = t1.c1)
2670 Filter: (ctid = '(1,1)'::tid)
2671 -> Bitmap Heap Scan on t4
2672 Recheck Cond: (c1 = t1.c1)
2673 Filter: (ctid = '(1,1)'::tid)
2674 -> Bitmap Index Scan on t4_pkey
2675 Index Cond: (c1 = t1.c1)
2678 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2680 -----------------------------------------------------------------
2683 Join Filter: (b1t1.c1 = b1t4.c1)
2685 Join Filter: (b1t1.c1 = b1t3.c1)
2687 Join Filter: (b1t1.c1 = b1t2.c1)
2690 TID Cond: (ctid = '(1,1)'::tid)
2692 -> Tid Scan on t1 b1t1
2693 TID Cond: (ctid = '(1,1)'::tid)
2694 -> Seq Scan on t2 b1t2
2695 Filter: (ctid = '(1,1)'::tid)
2696 -> Tid Scan on t3 b1t3
2697 TID Cond: (ctid = '(1,1)'::tid)
2698 -> Tid Scan on t4 b1t4
2699 TID Cond: (ctid = '(1,1)'::tid)
2703 Join Filter: (b2t1.c1 = b2t4.c1)
2705 Join Filter: (b2t1.c1 = b2t3.c1)
2707 Join Filter: (b2t1.c1 = b2t2.c1)
2710 TID Cond: (ctid = '(1,1)'::tid)
2712 -> Tid Scan on t1 b2t1
2713 TID Cond: (ctid = '(1,1)'::tid)
2714 -> Seq Scan on t2 b2t2
2715 Filter: (ctid = '(1,1)'::tid)
2716 -> Tid Scan on t3 b2t3
2717 TID Cond: (ctid = '(1,1)'::tid)
2718 -> Tid Scan on t4 b2t4
2719 TID Cond: (ctid = '(1,1)'::tid)
2723 Join Filter: (b3t1.c1 = b3t4.c1)
2725 Join Filter: (b3t1.c1 = b3t3.c1)
2727 Join Filter: (b3t1.c1 = b3t2.c1)
2730 TID Cond: (ctid = '(1,1)'::tid)
2732 -> Tid Scan on t1 b3t1
2733 TID Cond: (ctid = '(1,1)'::tid)
2734 -> Seq Scan on t2 b3t2
2735 Filter: (ctid = '(1,1)'::tid)
2736 -> Tid Scan on t3 b3t3
2737 TID Cond: (ctid = '(1,1)'::tid)
2738 -> Tid Scan on t4 b3t4
2739 TID Cond: (ctid = '(1,1)'::tid)
2742 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2743 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2744 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
2746 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2747 LOG: available indexes for IndexScan(b1t3): t3_pkey
2748 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2753 IndexScan(b1t3 t3_pkey)
2754 BitmapScan(b1t4 t4_pkey)
2757 BitmapScan(b2t1 t1_pkey)
2760 IndexScan(b2t4 t4_pkey)
2761 IndexScan(b3t1 t1_pkey)
2762 BitmapScan(b3t2 t2_pkey)
2768 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2769 LOG: available indexes for IndexScan(b2t4): t4_pkey
2772 BitmapScan(b2t1 t1_pkey)
2775 IndexScan(b2t4 t4_pkey)
2780 IndexScan(b1t3 t3_pkey)
2781 BitmapScan(b1t4 t4_pkey)
2782 IndexScan(b3t1 t1_pkey)
2783 BitmapScan(b3t2 t2_pkey)
2789 LOG: available indexes for IndexScan(b3t1): t1_pkey
2790 LOG: available indexes for BitmapScan(b3t2): t2_pkey
2793 IndexScan(b3t1 t1_pkey)
2794 BitmapScan(b3t2 t2_pkey)
2801 IndexScan(b1t3 t3_pkey)
2802 BitmapScan(b1t4 t4_pkey)
2803 BitmapScan(b2t1 t1_pkey)
2806 IndexScan(b2t4 t4_pkey)
2811 ------------------------------------------------------------------------------
2816 Join Filter: (b1t1.c1 = b1t2.c1)
2819 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2820 -> Tid Scan on t1 b1t1
2821 TID Cond: (ctid = '(1,1)'::tid)
2822 -> Seq Scan on t2 b1t2
2823 Filter: (ctid = '(1,1)'::tid)
2824 -> Index Scan using t3_pkey on t3 b1t3
2825 Index Cond: (c1 = b1t1.c1)
2826 Filter: (ctid = '(1,1)'::tid)
2827 -> Bitmap Heap Scan on t4 b1t4
2828 Recheck Cond: (c1 = b1t1.c1)
2829 Filter: (ctid = '(1,1)'::tid)
2830 -> Bitmap Index Scan on t4_pkey
2831 Index Cond: (c1 = b1t1.c1)
2836 Join Filter: (b2t1.c1 = b2t3.c1)
2840 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2841 -> Tid Scan on t2 b2t2
2842 TID Cond: (ctid = '(1,1)'::tid)
2843 -> Bitmap Heap Scan on t1 b2t1
2844 Recheck Cond: (c1 = b2t2.c1)
2845 Filter: (ctid = '(1,1)'::tid)
2846 -> Bitmap Index Scan on t1_pkey
2847 Index Cond: (c1 = b2t2.c1)
2848 -> Seq Scan on t3 b2t3
2849 Filter: (ctid = '(1,1)'::tid)
2850 -> Index Scan using t4_pkey on t4 b2t4
2851 Index Cond: (c1 = b2t1.c1)
2852 Filter: (ctid = '(1,1)'::tid)
2856 Join Filter: (b3t1.c1 = b3t4.c1)
2861 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2862 -> Tid Scan on t3 b3t3
2863 TID Cond: (ctid = '(1,1)'::tid)
2864 -> Index Scan using t1_pkey on t1 b3t1
2865 Index Cond: (c1 = b3t3.c1)
2866 Filter: (ctid = '(1,1)'::tid)
2867 -> Bitmap Heap Scan on t2 b3t2
2868 Recheck Cond: (c1 = b3t1.c1)
2869 Filter: (ctid = '(1,1)'::tid)
2870 -> Bitmap Index Scan on t2_pkey
2871 Index Cond: (c1 = b3t1.c1)
2872 -> Seq Scan on t4 b3t4
2873 Filter: (ctid = '(1,1)'::tid)
2877 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2879 ------------------------------------
2881 Hash Cond: (v1t1.c1 = v1t1_1.c1)
2882 -> Seq Scan on t1 v1t1
2884 -> Seq Scan on t1 v1t1_1
2887 /*+BitmapScan(v1t1)*/
2888 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2897 ------------------------------------------
2899 -> Index Scan using t1_i1 on t1 v1t1
2900 -> Bitmap Heap Scan on t1 v1t1_1
2901 Recheck Cond: (c1 = v1t1.c1)
2902 -> Bitmap Index Scan on t1_i1
2903 Index Cond: (c1 = v1t1.c1)
2907 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2909 -----------------------------------
2911 Hash Cond: (v1t1.c1 = v1t1_.c1)
2912 -> Seq Scan on t1 v1t1
2914 -> Seq Scan on t1 v1t1_
2917 /*+SeqScan(v1t1)BitmapScan(v1t1_)*/
2918 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2928 ------------------------------------------
2930 -> Seq Scan on t1 v1t1
2931 -> Bitmap Heap Scan on t1 v1t1_
2932 Recheck Cond: (c1 = v1t1.c1)
2933 -> Bitmap Index Scan on t1_i1
2934 Index Cond: (c1 = v1t1.c1)
2938 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2940 ------------------------------------
2942 Hash Cond: (r4t1.c1 = r4t1_1.c1)
2943 -> Seq Scan on t1 r4t1
2945 -> Seq Scan on t1 r4t1_1
2948 /*+BitmapScan(r4t1)*/
2949 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2958 ------------------------------------------
2960 -> Index Scan using t1_i1 on t1 r4t1
2961 -> Bitmap Heap Scan on t1 r4t1_1
2962 Recheck Cond: (c1 = r4t1.c1)
2963 -> Bitmap Index Scan on t1_i1
2964 Index Cond: (c1 = r4t1.c1)
2968 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2970 ----------------------------------
2972 Hash Cond: (r4t1.c1 = r5t1.c1)
2973 -> Seq Scan on t1 r4t1
2975 -> Seq Scan on t1 r5t1
2978 /*+SeqScan(r4t1)BitmapScan(r5t1)*/
2979 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2989 ------------------------------------------
2991 -> Seq Scan on t1 r4t1
2992 -> Bitmap Heap Scan on t1 r5t1
2993 Recheck Cond: (c1 = r4t1.c1)
2994 -> Bitmap Index Scan on t1_i1
2995 Index Cond: (c1 = r4t1.c1)
2999 ---- No. S-2-4 VALUES clause
3002 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3009 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3022 /*+SeqScan(*VALUES*)*/
3023 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3037 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;
3039 ----------------------------------------------------------
3041 Hash Cond: ("*VALUES*".column1 = "*VALUES*_1".column1)
3042 -> Values Scan on "*VALUES*"
3044 -> Values Scan on "*VALUES*_1"
3048 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;
3049 INFO: pg_hint_plan: hint syntax error at or near ""
3050 DETAIL: SeqScan hint accepts only one relation.
3059 ----------------------------------------------------------
3061 Hash Cond: ("*VALUES*".column1 = "*VALUES*_1".column1)
3062 -> Values Scan on "*VALUES*"
3064 -> Values Scan on "*VALUES*_1"
3067 /*+SeqScan(*VALUES*)*/
3068 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;
3077 ----------------------------------------------------------
3079 Hash Cond: ("*VALUES*".column1 = "*VALUES*_1".column1)
3080 -> Values Scan on "*VALUES*"
3082 -> Values Scan on "*VALUES*_1"
3086 ---- No. S-3-1 scan method hint
3089 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3091 ---------------------
3097 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3106 ---------------------
3112 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3114 ------------------------------
3115 Index Scan using t1_i1 on t1
3116 Index Cond: (c1 = 1)
3120 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3129 --------------------
3135 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3137 ------------------------------
3138 Index Scan using t1_i1 on t1
3139 Index Cond: (c1 = 1)
3143 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3152 ------------------------------
3153 Index Scan using t1_i1 on t1
3154 Index Cond: (c1 = 1)
3158 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3160 ---------------------
3166 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3175 ------------------------------
3176 Index Scan using t1_i1 on t1
3177 Index Cond: (c1 >= 1)
3181 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3183 ---------------------------------
3184 Bitmap Heap Scan on t1
3185 Recheck Cond: (c3 < 10)
3186 -> Bitmap Index Scan on t1_i
3187 Index Cond: (c3 < 10)
3191 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.c1 = 1;
3210 ------------------------------
3211 Index Scan using t1_i1 on t1
3212 Index Cond: (c1 = 1)
3216 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3225 ----------------------------------
3226 Bitmap Heap Scan on t1
3227 Recheck Cond: (c1 = 1)
3228 -> Bitmap Index Scan on t1_i1
3229 Index Cond: (c1 = 1)
3233 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3235 -----------------------------------
3237 TID Cond: (ctid = '(1,1)'::tid)
3242 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3251 -----------------------------------
3253 TID Cond: (ctid = '(1,1)'::tid)
3258 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3260 -------------------------------------------------------------
3261 Index Scan using t1_i1 on t1
3262 Index Cond: (c1 = 1)
3263 Filter: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3267 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3276 ---------------------------------------------------------------
3278 TID Cond: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3283 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3285 ---------------------
3291 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3300 ------------------------------
3301 Index Scan using t1_i1 on t1
3302 Index Cond: (c1 >= 1)
3306 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3308 ------------------------------
3309 Index Scan using t1_i1 on t1
3310 Index Cond: (c1 = 1)
3314 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3323 ------------------------------
3324 Index Scan using t1_i1 on t1
3325 Index Cond: (c1 = 1)
3329 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3331 ------------------------------
3332 Index Scan using t1_i1 on t1
3333 Index Cond: (c1 = 1)
3336 /*+NoIndexScan(t1)*/
3337 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3346 ----------------------------------
3347 Bitmap Heap Scan on t1
3348 Recheck Cond: (c1 = 1)
3349 -> Bitmap Index Scan on t1_i1
3350 Index Cond: (c1 = 1)
3354 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3356 ---------------------
3361 /*+NoIndexScan(t1)*/
3362 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3371 ---------------------
3377 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3379 ---------------------------------
3380 Bitmap Heap Scan on t1
3381 Recheck Cond: (c3 < 10)
3382 -> Bitmap Index Scan on t1_i
3383 Index Cond: (c3 < 10)
3386 /*+NoBitmapScan(t1)*/
3387 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3396 ---------------------
3402 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3404 ------------------------------
3405 Index Scan using t1_i1 on t1
3406 Index Cond: (c1 = 1)
3409 /*+NoBitmapScan(t1)*/
3410 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3419 ------------------------------
3420 Index Scan using t1_i1 on t1
3421 Index Cond: (c1 = 1)
3425 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3427 -----------------------------------
3429 TID Cond: (ctid = '(1,1)'::tid)
3434 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3443 ---------------------------------
3444 Index Scan using t1_i1 on t1
3445 Index Cond: (c1 = 1)
3446 Filter: (ctid = '(1,1)'::tid)
3450 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3452 ------------------------------
3453 Index Scan using t1_i1 on t1
3454 Index Cond: (c1 = 1)
3458 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3467 ------------------------------
3468 Index Scan using t1_i1 on t1
3469 Index Cond: (c1 = 1)
3473 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3475 -----------------------------------
3476 Index Only Scan using t1_i1 on t1
3477 Index Cond: (c1 = 1)
3480 /*+IndexOnlyScan(t1)*/
3481 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3490 -----------------------------------
3491 Index Only Scan using t1_i1 on t1
3492 Index Cond: (c1 = 1)
3496 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3498 ---------------------
3503 /*+IndexOnlyScan(t1)*/
3504 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3513 -----------------------------------
3514 Index Only Scan using t1_i1 on t1
3515 Index Cond: (c1 >= 1)
3519 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3521 -----------------------------------
3522 Index Only Scan using t1_i1 on t1
3523 Index Cond: (c1 = 1)
3526 /*+NoIndexOnlyScan(t1)*/
3527 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3536 ------------------------------
3537 Index Scan using t1_i1 on t1
3538 Index Cond: (c1 = 1)
3542 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3544 ---------------------
3549 /*+NoIndexOnlyScan(t1)*/
3550 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3559 ---------------------
3565 ---- No. S-3-3 index name specified
3567 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3569 -----------------------------------
3571 TID Cond: (ctid = '(1,1)'::tid)
3575 SET enable_tidscan TO off;
3576 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3578 ---------------------------------
3579 Index Scan using ti1_i4 on ti1
3580 Index Cond: (c2 = 1)
3581 Filter: (ctid = '(1,1)'::tid)
3584 SET enable_indexscan TO off;
3585 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3587 -----------------------------------
3588 Bitmap Heap Scan on ti1
3589 Recheck Cond: (c2 = 1)
3590 Filter: (ctid = '(1,1)'::tid)
3591 -> Bitmap Index Scan on ti1_i4
3592 Index Cond: (c2 = 1)
3595 RESET enable_tidscan;
3596 RESET enable_indexscan;
3597 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3599 ---------------------
3605 /*+IndexScan(ti1 ti1_i3)*/
3606 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3607 LOG: available indexes for IndexScan(ti1): ti1_i3
3610 IndexScan(ti1 ti1_i3)
3616 ---------------------------------
3617 Index Scan using ti1_i3 on ti1
3618 Index Cond: (c2 = 1)
3619 Filter: (ctid = '(1,1)'::tid)
3623 /*+IndexScan(ti1 ti1_i3 ti1_i2)*/
3624 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3625 LOG: available indexes for IndexScan(ti1): ti1_i3 ti1_i2
3628 IndexScan(ti1 ti1_i3 ti1_i2)
3634 ---------------------------------
3635 Index Scan using ti1_i3 on ti1
3636 Index Cond: (c2 = 1)
3637 Filter: (ctid = '(1,1)'::tid)
3641 /*+IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3642 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3643 LOG: available indexes for IndexScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3646 IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3652 ---------------------------------
3653 Index Scan using ti1_i4 on ti1
3654 Index Cond: (c2 = 1)
3655 Filter: (ctid = '(1,1)'::tid)
3659 /*+BitmapScan(ti1 ti1_i3)*/
3660 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3661 LOG: available indexes for BitmapScan(ti1): ti1_i3
3664 BitmapScan(ti1 ti1_i3)
3670 -----------------------------------
3671 Bitmap Heap Scan on ti1
3672 Recheck Cond: (c2 = 1)
3673 Filter: (ctid = '(1,1)'::tid)
3674 -> Bitmap Index Scan on ti1_i3
3675 Index Cond: (c2 = 1)
3679 /*+BitmapScan(ti1 ti1_i3 ti1_i2)*/
3680 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3681 LOG: available indexes for BitmapScan(ti1): ti1_i3 ti1_i2
3684 BitmapScan(ti1 ti1_i3 ti1_i2)
3690 -----------------------------------
3691 Bitmap Heap Scan on ti1
3692 Recheck Cond: (c2 = 1)
3693 Filter: (ctid = '(1,1)'::tid)
3694 -> Bitmap Index Scan on ti1_i3
3695 Index Cond: (c2 = 1)
3699 /*+BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3700 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3701 LOG: available indexes for BitmapScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3704 BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3710 -----------------------------------
3711 Bitmap Heap Scan on ti1
3712 Recheck Cond: (c2 = 1)
3713 Filter: (ctid = '(1,1)'::tid)
3714 -> Bitmap Index Scan on ti1_i4
3715 Index Cond: (c2 = 1)
3719 /*+IndexOnlyScan(ti1 ti1_i3)*/
3720 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3721 LOG: available indexes for IndexOnlyScan(ti1): ti1_i3
3724 IndexOnlyScan(ti1 ti1_i3)
3730 -------------------------------------
3731 Index Only Scan using ti1_i3 on ti1
3732 Index Cond: (c2 >= 1)
3736 /*+IndexOnlyScan(ti1 ti1_i3 ti1_i2)*/
3737 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3738 LOG: available indexes for IndexOnlyScan(ti1): ti1_i3 ti1_i2
3741 IndexOnlyScan(ti1 ti1_i3 ti1_i2)
3747 -------------------------------------
3748 Index Only Scan using ti1_i2 on ti1
3749 Index Cond: (c2 >= 1)
3753 /*+IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3754 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3755 LOG: available indexes for IndexOnlyScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3758 IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3764 -------------------------------------
3765 Index Only Scan using ti1_i1 on ti1
3766 Index Cond: (c2 >= 1)
3770 ---- No. S-3-4 index type
3774 Column | Type | Modifiers
3775 --------+---------+-----------
3776 c1 | integer | not null
3781 "ti1_pkey" PRIMARY KEY, btree (c1)
3782 "ti1_c2_key" UNIQUE CONSTRAINT, btree (c2)
3783 "ti1_uniq" UNIQUE, btree (c1)
3784 "ti1_btree" btree (c1)
3785 "ti1_expr" btree ((c1 < 100))
3787 "ti1_gist" gist (c1)
3788 "ti1_hash" hash (c1)
3790 "ti1_i2" btree (c2, c4)
3791 "ti1_i3" btree (c2, c4, c4)
3792 "ti1_i4" btree (c2, c4, c4, c4)
3793 "ti1_multi" btree (c1, c2, c3, c4)
3794 "ti1_pred" btree (lower(c4))
3795 "ti1_ts" gin (to_tsvector('english'::regconfig, c4))
3797 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3799 -----------------------------------------------------------------------------------------------------------------------------------------
3801 TID Cond: (ctid = '(1,1)'::tid)
3802 Filter: ((c1 < 100) AND (c2 = 1) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3806 /*+IndexScan(ti1 ti1_btree)*/
3807 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)';
3808 LOG: available indexes for IndexScan(ti1): ti1_btree
3811 IndexScan(ti1 ti1_btree)
3817 ----------------------------------------------------------------------------------------------------------------------------------------------------
3818 Index Scan using ti1_btree on ti1
3819 Index Cond: (c1 < 100)
3820 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3824 /*+IndexScan(ti1 ti1_hash)*/
3825 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)';
3826 LOG: available indexes for IndexScan(ti1): ti1_hash
3829 IndexScan(ti1 ti1_hash)
3835 ----------------------------------------------------------------------------------------------------------------------------------------------------
3836 Index Scan using ti1_hash on ti1
3837 Index Cond: (c1 = 100)
3838 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3842 /*+IndexScan(ti1 ti1_gist)*/
3843 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)';
3844 LOG: available indexes for IndexScan(ti1): ti1_gist
3847 IndexScan(ti1 ti1_gist)
3853 ----------------------------------------------------------------------------------------------------------------------------------------------------
3854 Index Scan using ti1_gist on ti1
3855 Index Cond: (c1 < 100)
3856 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3860 /*+IndexScan(ti1 ti1_gin)*/
3861 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)';
3862 LOG: available indexes for IndexScan(ti1): ti1_gin
3865 IndexScan(ti1 ti1_gin)
3871 -----------------------------------------------------------------------------------------------------------------------------------------
3873 TID Cond: (ctid = '(1,1)'::tid)
3874 Filter: ((c1 < 100) AND (c2 = 1) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3878 /*+IndexScan(ti1 ti1_expr)*/
3879 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)';
3880 LOG: available indexes for IndexScan(ti1): ti1_expr
3883 IndexScan(ti1 ti1_expr)
3889 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
3890 Index Scan using ti1_expr on ti1
3891 Index Cond: ((c1 < 100) = true)
3892 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))
3896 /*+IndexScan(ti1 ti1_pred)*/
3897 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)';
3898 LOG: available indexes for IndexScan(ti1): ti1_pred
3901 IndexScan(ti1 ti1_pred)
3907 ---------------------------------------------------------------------------------------------------------------------------------------
3908 Index Scan using ti1_pred on ti1
3909 Index Cond: (lower(c4) = '1'::text)
3910 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3914 /*+IndexScan(ti1 ti1_uniq)*/
3915 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)';
3916 LOG: available indexes for IndexScan(ti1): ti1_uniq
3919 IndexScan(ti1 ti1_uniq)
3925 ----------------------------------------------------------------------------------------------------------------------------------------------------
3926 Index Scan using ti1_uniq on ti1
3927 Index Cond: (c1 < 100)
3928 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3932 /*+IndexScan(ti1 ti1_multi)*/
3933 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)';
3934 LOG: available indexes for IndexScan(ti1): ti1_multi
3937 IndexScan(ti1 ti1_multi)
3943 ---------------------------------------------------------------------------------------------------------------------------------------
3944 Index Scan using ti1_multi on ti1
3945 Index Cond: ((c1 < 100) AND (c2 = 1))
3946 Filter: ((ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3950 /*+IndexScan(ti1 ti1_ts)*/
3951 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)';
3952 LOG: available indexes for IndexScan(ti1): ti1_ts
3955 IndexScan(ti1 ti1_ts)
3961 -----------------------------------------------------------------------------------------------------------------------------------------
3963 TID Cond: (ctid = '(1,1)'::tid)
3964 Filter: ((c1 < 100) AND (c2 = 1) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3968 /*+IndexScan(ti1 ti1_pkey)*/
3969 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)';
3970 LOG: available indexes for IndexScan(ti1): ti1_pkey
3973 IndexScan(ti1 ti1_pkey)
3979 ----------------------------------------------------------------------------------------------------------------------------------------------------
3980 Index Scan using ti1_pkey on ti1
3981 Index Cond: (c1 < 100)
3982 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3986 /*+IndexScan(ti1 ti1_c2_key)*/
3987 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)';
3988 LOG: available indexes for IndexScan(ti1): ti1_c2_key
3991 IndexScan(ti1 ti1_c2_key)
3997 ------------------------------------------------------------------------------------------------------------------------------------------------------
3998 Index Scan using ti1_c2_key on ti1
3999 Index Cond: (c2 = 1)
4000 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4004 /*+BitmapScan(ti1 ti1_btree)*/
4005 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)';
4006 LOG: available indexes for BitmapScan(ti1): ti1_btree
4009 BitmapScan(ti1 ti1_btree)
4015 ----------------------------------------------------------------------------------------------------------------------------------------------------
4016 Bitmap Heap Scan on ti1
4017 Recheck Cond: (c1 < 100)
4018 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4019 -> Bitmap Index Scan on ti1_btree
4020 Index Cond: (c1 < 100)
4024 /*+BitmapScan(ti1 ti1_hash)*/
4025 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)';
4026 LOG: available indexes for BitmapScan(ti1): ti1_hash
4029 BitmapScan(ti1 ti1_hash)
4035 ----------------------------------------------------------------------------------------------------------------------------------------------------
4036 Bitmap Heap Scan on ti1
4037 Recheck Cond: (c1 = 100)
4038 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4039 -> Bitmap Index Scan on ti1_hash
4040 Index Cond: (c1 = 100)
4044 /*+BitmapScan(ti1 ti1_gist)*/
4045 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)';
4046 LOG: available indexes for BitmapScan(ti1): ti1_gist
4049 BitmapScan(ti1 ti1_gist)
4055 ----------------------------------------------------------------------------------------------------------------------------------------------------
4056 Bitmap Heap Scan on ti1
4057 Recheck Cond: (c1 < 100)
4058 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4059 -> Bitmap Index Scan on ti1_gist
4060 Index Cond: (c1 < 100)
4064 /*+BitmapScan(ti1 ti1_gin)*/
4065 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)';
4066 LOG: available indexes for BitmapScan(ti1): ti1_gin
4069 BitmapScan(ti1 ti1_gin)
4075 ----------------------------------------------------------------------------------------------------------------------------------------------------
4076 Bitmap Heap Scan on ti1
4077 Recheck Cond: (c1 < 100)
4078 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4079 -> Bitmap Index Scan on ti1_gin
4080 Index Cond: (c1 < 100)
4084 /*+BitmapScan(ti1 ti1_expr)*/
4085 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)';
4086 LOG: available indexes for BitmapScan(ti1): ti1_expr
4089 BitmapScan(ti1 ti1_expr)
4095 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
4096 Bitmap Heap Scan on ti1
4097 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))
4098 -> Bitmap Index Scan on ti1_expr
4099 Index Cond: ((c1 < 100) = true)
4103 /*+BitmapScan(ti1 ti1_pred)*/
4104 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)';
4105 LOG: available indexes for BitmapScan(ti1): ti1_pred
4108 BitmapScan(ti1 ti1_pred)
4114 ---------------------------------------------------------------------------------------------------------------------------------------
4115 Bitmap Heap Scan on ti1
4116 Recheck Cond: (lower(c4) = '1'::text)
4117 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4118 -> Bitmap Index Scan on ti1_pred
4119 Index Cond: (lower(c4) = '1'::text)
4123 /*+BitmapScan(ti1 ti1_uniq)*/
4124 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)';
4125 LOG: available indexes for BitmapScan(ti1): ti1_uniq
4128 BitmapScan(ti1 ti1_uniq)
4134 ----------------------------------------------------------------------------------------------------------------------------------------------------
4135 Bitmap Heap Scan on ti1
4136 Recheck Cond: (c1 < 100)
4137 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4138 -> Bitmap Index Scan on ti1_uniq
4139 Index Cond: (c1 < 100)
4143 /*+BitmapScan(ti1 ti1_multi)*/
4144 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)';
4145 LOG: available indexes for BitmapScan(ti1): ti1_multi
4148 BitmapScan(ti1 ti1_multi)
4154 ---------------------------------------------------------------------------------------------------------------------------------------
4155 Bitmap Heap Scan on ti1
4156 Recheck Cond: ((c1 < 100) AND (c2 = 1))
4157 Filter: ((ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4158 -> Bitmap Index Scan on ti1_multi
4159 Index Cond: ((c1 < 100) AND (c2 = 1))
4163 /*+BitmapScan(ti1 ti1_ts)*/
4164 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)';
4165 LOG: available indexes for BitmapScan(ti1): ti1_ts
4168 BitmapScan(ti1 ti1_ts)
4174 -------------------------------------------------------------------------------------------
4175 Bitmap Heap Scan on ti1
4176 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4177 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text))
4178 -> Bitmap Index Scan on ti1_ts
4179 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4183 /*+BitmapScan(ti1 ti1_pkey)*/
4184 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)';
4185 LOG: available indexes for BitmapScan(ti1): ti1_pkey
4188 BitmapScan(ti1 ti1_pkey)
4194 ----------------------------------------------------------------------------------------------------------------------------------------------------
4195 Bitmap Heap Scan on ti1
4196 Recheck Cond: (c1 < 100)
4197 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4198 -> Bitmap Index Scan on ti1_pkey
4199 Index Cond: (c1 < 100)
4203 /*+BitmapScan(ti1 ti1_c2_key)*/
4204 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)';
4205 LOG: available indexes for BitmapScan(ti1): ti1_c2_key
4208 BitmapScan(ti1 ti1_c2_key)
4214 ------------------------------------------------------------------------------------------------------------------------------------------------------
4215 Bitmap Heap Scan on ti1
4216 Recheck Cond: (c2 = 1)
4217 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4218 -> Bitmap Index Scan on ti1_c2_key
4219 Index Cond: (c2 = 1)
4223 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4225 ---------------------
4230 /*+IndexOnlyScan(ti1 ti1_btree)*/
4231 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4232 LOG: available indexes for IndexOnlyScan(ti1): ti1_btree
4235 IndexOnlyScan(ti1 ti1_btree)
4241 ----------------------------------------
4242 Index Only Scan using ti1_btree on ti1
4243 Index Cond: (c1 >= 1)
4247 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4249 ----------------------------------
4250 Index Scan using ti1_hash on ti1
4251 Index Cond: (c1 = 1)
4254 /*+IndexOnlyScan(ti1 ti1_hash)*/
4255 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4256 LOG: available indexes for IndexOnlyScan(ti1): ti1_hash
4259 IndexOnlyScan(ti1 ti1_hash)
4265 ----------------------------------
4266 Index Scan using ti1_hash on ti1
4267 Index Cond: (c1 = 1)
4271 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4273 ---------------------------------------
4274 Index Only Scan using ti1_uniq on ti1
4275 Index Cond: (c1 < 1)
4278 /*+IndexOnlyScan(ti1 ti1_gist)*/
4279 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4280 LOG: available indexes for IndexOnlyScan(ti1): ti1_gist
4283 IndexOnlyScan(ti1 ti1_gist)
4289 ---------------------------------------
4290 Index Only Scan using ti1_gist on ti1
4291 Index Cond: (c1 < 1)
4295 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4297 ----------------------------------
4298 Index Scan using ti1_hash on ti1
4299 Index Cond: (c1 = 1)
4302 /*+IndexOnlyScan(ti1 ti1_gin)*/
4303 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4304 LOG: available indexes for IndexOnlyScan(ti1): ti1_gin
4307 IndexOnlyScan(ti1 ti1_gin)
4313 ------------------------------------
4314 Bitmap Heap Scan on ti1
4315 Recheck Cond: (c1 = 1)
4316 -> Bitmap Index Scan on ti1_gin
4317 Index Cond: (c1 = 1)
4321 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4323 ---------------------------------------
4324 Index Only Scan using ti1_uniq on ti1
4325 Index Cond: (c1 < 100)
4328 /*+IndexOnlyScan(ti1 ti1_expr)*/
4329 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4330 LOG: available indexes for IndexOnlyScan(ti1): ti1_expr
4333 IndexOnlyScan(ti1 ti1_expr)
4339 -----------------------------------
4340 Index Scan using ti1_expr on ti1
4341 Index Cond: ((c1 < 100) = true)
4346 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4348 ------------------------------------
4350 Filter: (lower(c4) >= '1'::text)
4353 /*+IndexOnlyScan(ti1 ti1_pred)*/
4354 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4355 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
4358 IndexOnlyScan(ti1 ti1_pred)
4364 ----------------------------------------
4365 Index Scan using ti1_pred on ti1
4366 Index Cond: (lower(c4) >= '1'::text)
4370 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4372 ---------------------
4377 /*+IndexOnlyScan(ti1 ti1_uniq)*/
4378 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4379 LOG: available indexes for IndexOnlyScan(ti1): ti1_uniq
4382 IndexOnlyScan(ti1 ti1_uniq)
4388 ---------------------------------------
4389 Index Only Scan using ti1_uniq on ti1
4390 Index Cond: (c1 >= 1)
4394 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4396 ---------------------
4401 /*+IndexOnlyScan(ti1 ti1_multi)*/
4402 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4403 LOG: available indexes for IndexOnlyScan(ti1): ti1_multi
4406 IndexOnlyScan(ti1 ti1_multi)
4412 ----------------------------------------
4413 Index Only Scan using ti1_multi on ti1
4414 Index Cond: (c1 >= 1)
4418 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4420 -----------------------------------------------------------------------------------------
4421 Bitmap Heap Scan on ti1
4422 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4423 -> Bitmap Index Scan on ti1_ts
4424 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4427 /*+IndexOnlyScan(ti1 ti1_ts)*/
4428 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4429 LOG: available indexes for IndexOnlyScan(ti1): ti1_ts
4432 IndexOnlyScan(ti1 ti1_ts)
4438 -----------------------------------------------------------------------------------------
4439 Bitmap Heap Scan on ti1
4440 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4441 -> Bitmap Index Scan on ti1_ts
4442 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4446 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4448 ---------------------
4453 /*+IndexOnlyScan(ti1 ti1_pkey)*/
4454 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4455 LOG: available indexes for IndexOnlyScan(ti1): ti1_pkey
4458 IndexOnlyScan(ti1 ti1_pkey)
4464 ---------------------------------------
4465 Index Only Scan using ti1_pkey on ti1
4466 Index Cond: (c1 >= 1)
4470 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4472 ---------------------
4477 /*+IndexOnlyScan(ti1 ti1_c2_key)*/
4478 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4479 LOG: available indexes for IndexOnlyScan(ti1): ti1_c2_key
4482 IndexOnlyScan(ti1 ti1_c2_key)
4488 -----------------------------------------
4489 Index Only Scan using ti1_c2_key on ti1
4490 Index Cond: (c2 >= 1)
4494 ---- No. S-3-5 not used index
4497 \! psql contrib_regression -c "/*+IndexScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4498 LOG: available indexes for IndexScan(ti1): ti1_pred
4501 IndexScan(ti1 ti1_pred)
4507 ------------------------------------------------------------------------
4508 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4513 \! psql contrib_regression -c "/*+BitmapScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4514 LOG: available indexes for BitmapScan(ti1): ti1_pred
4517 BitmapScan(ti1 ti1_pred)
4523 ------------------------------------------------------------------------
4524 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4529 \! psql contrib_regression -c "/*+IndexOnlyScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4530 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
4533 IndexOnlyScan(ti1 ti1_pred)
4539 -----------------------------------------------------------------------
4540 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=4)
4545 \! psql contrib_regression -c "/*+IndexScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4546 LOG: available indexes for IndexScan(ti1):
4549 IndexScan(ti1 not_exist)
4555 ------------------------------------------------------------------------
4556 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4561 \! psql contrib_regression -c "/*+BitmapScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4562 LOG: available indexes for BitmapScan(ti1):
4565 BitmapScan(ti1 not_exist)
4571 ------------------------------------------------------------------------
4572 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4577 \! psql contrib_regression -c "/*+IndexOnlyScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100" | grep -v "Planning time:"
4578 LOG: available indexes for IndexOnlyScan(ti1):
4581 IndexOnlyScan(ti1 not_exist)
4587 -----------------------------------------------------------------------
4588 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=4)
4593 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
4595 ------------------------------
4596 Index Scan using t1_i1 on t1
4597 Index Cond: (c1 = 1)
4600 \! psql contrib_regression -c "/*+TidScan(t1)*/ EXPLAIN (COSTS true) SELECT * FROM s1.t1 WHERE t1.c1 = 1" | grep -v "Planning time:"
4609 -----------------------------------------------------------------------
4610 Seq Scan on t1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
4615 ---- No. S-3-6 query structure
4617 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4619 -----------------------------------------------
4621 Hash Cond: (t2.c1 = t1.c1)
4625 TID Cond: (ctid = '(1,1)'::tid)
4630 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE c1 = 100;
4639 ----------------------
4645 /*+SeqScan(t1)BitmapScan(t2)*/
4646 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4656 ----------------------------------------
4659 Filter: (ctid = '(1,1)'::tid)
4660 -> Bitmap Heap Scan on t2
4661 Recheck Cond: (c1 = t1.c1)
4662 -> Bitmap Index Scan on t2_i1
4663 Index Cond: (c1 = t1.c1)
4668 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4677 ---------------------------------------------
4679 Hash Cond: (t2.c1 = t1.c1)
4683 Filter: (ctid = '(1,1)'::tid)
4687 ---- No. S-3-7 number of tables in a query block
4690 EXPLAIN (COSTS false)
4692 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4693 SELECT max(b3t1.c1), (
4694 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4695 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4696 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4698 ---------------------------------------------------------------------
4700 InitPlan 2 (returns $1)
4702 InitPlan 1 (returns $0)
4704 -> Index Only Scan using t1_i1 on t1 b2t1
4705 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4706 InitPlan 4 (returns $3)
4708 InitPlan 3 (returns $2)
4710 -> Index Only Scan using t1_i1 on t1 b4t1
4711 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4712 InitPlan 5 (returns $4)
4714 -> Index Only Scan using t1_i1 on t1 b3t1
4715 Index Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4718 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4720 EXPLAIN (COSTS false)
4722 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4723 SELECT max(b3t1.c1), (
4724 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4725 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4726 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4727 LOG: available indexes for IndexScan(b2t1): t1_pkey
4728 LOG: available indexes for IndexScan(b2t1): t1_pkey
4729 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4730 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4733 IndexScan(b2t1 t1_pkey)
4734 BitmapScan(b3t1 t1_pkey)
4742 ---------------------------------------------------------------------
4744 InitPlan 2 (returns $1)
4746 InitPlan 1 (returns $0)
4748 -> Index Scan using t1_pkey on t1 b2t1
4749 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4750 InitPlan 4 (returns $3)
4752 InitPlan 3 (returns $2)
4754 -> Seq Scan on t1 b4t1
4755 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4756 InitPlan 5 (returns $4)
4758 -> Bitmap Heap Scan on t1 b3t1
4759 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4760 -> Bitmap Index Scan on t1_pkey
4761 Index Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4765 EXPLAIN (COSTS false)
4767 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4768 SELECT max(b3t1.c1), (
4769 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4770 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4771 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4773 ------------------------------------------------------------
4778 -> Index Only Scan using t1_i1 on t1 b1t1
4779 Index Cond: (c1 = 1)
4780 -> Seq Scan on t2 b1t2
4782 InitPlan 2 (returns $1)
4785 -> Index Only Scan using t1_i1 on t1 b2t1
4786 Index Cond: (c1 = 1)
4787 -> Seq Scan on t2 b2t2
4789 InitPlan 3 (returns $2)
4792 -> Index Only Scan using t1_i1 on t1 b4t1
4793 Index Cond: (c1 = 1)
4794 -> Seq Scan on t2 b4t2
4798 -> Index Only Scan using t1_i1 on t1 b3t1
4799 Index Cond: (c1 = $2)
4800 -> Seq Scan on t2 b3t2
4806 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4807 TidScan(b1t2)SeqScan(b2t2)IndexScan(b3t2 t2_pkey)BitmapScan(b4t2 t2_pkey)
4809 EXPLAIN (COSTS false)
4811 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4812 SELECT max(b3t1.c1), (
4813 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4814 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4815 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4816 LOG: available indexes for IndexScan(b2t1): t1_pkey
4817 LOG: available indexes for BitmapScan(b4t2): t2_pkey
4818 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4819 LOG: available indexes for IndexScan(b3t2): t2_pkey
4824 IndexScan(b2t1 t1_pkey)
4826 BitmapScan(b3t1 t1_pkey)
4827 IndexScan(b3t2 t2_pkey)
4829 BitmapScan(b4t2 t2_pkey)
4835 ---------------------------------------------------------
4840 -> Seq Scan on t1 b1t1
4842 -> Seq Scan on t2 b1t2
4844 InitPlan 2 (returns $1)
4847 -> Index Scan using t1_pkey on t1 b2t1
4848 Index Cond: (c1 = 1)
4849 -> Seq Scan on t2 b2t2
4851 InitPlan 3 (returns $2)
4854 -> Seq Scan on t1 b4t1
4856 -> Bitmap Heap Scan on t2 b4t2
4857 Recheck Cond: (c1 = 1)
4858 -> Bitmap Index Scan on t2_pkey
4859 Index Cond: (c1 = 1)
4862 -> Bitmap Heap Scan on t1 b3t1
4863 Recheck Cond: (c1 = $2)
4864 -> Bitmap Index Scan on t1_pkey
4865 Index Cond: (c1 = $2)
4866 -> Index Scan using t2_pkey on t2 b3t2
4867 Index Cond: (c1 = $2)
4873 EXPLAIN (COSTS false)
4875 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4876 SELECT max(b3t1.c1), (
4877 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4878 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4879 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4881 ---------------------------------------------------------------------
4886 -> Index Only Scan using t1_i1 on t1 b1t1
4887 Index Cond: (c1 = 1)
4888 -> Seq Scan on t2 b1t2
4890 InitPlan 3 (returns $2)
4892 InitPlan 2 (returns $1)
4894 -> Index Only Scan using t1_i1 on t1 b2t1
4895 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4896 InitPlan 5 (returns $4)
4898 InitPlan 4 (returns $3)
4900 -> Index Only Scan using t1_i1 on t1 b4t1
4901 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4904 -> Index Only Scan using t1_i1 on t1 b3t1
4905 Index Cond: (c1 = $4)
4906 -> Seq Scan on t2 b3t2
4912 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4913 TidScan(b1t2)IndexScan(b3t2 t2_pkey)
4915 EXPLAIN (COSTS false)
4917 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4918 SELECT max(b3t1.c1), (
4919 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4920 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4921 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4922 LOG: available indexes for IndexScan(b2t1): t1_pkey
4923 LOG: available indexes for IndexScan(b2t1): t1_pkey
4924 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4925 LOG: available indexes for IndexScan(b3t2): t2_pkey
4930 IndexScan(b2t1 t1_pkey)
4931 BitmapScan(b3t1 t1_pkey)
4932 IndexScan(b3t2 t2_pkey)
4939 ---------------------------------------------------------------------
4944 -> Seq Scan on t1 b1t1
4946 -> Seq Scan on t2 b1t2
4948 InitPlan 3 (returns $2)
4950 InitPlan 2 (returns $1)
4952 -> Index Scan using t1_pkey on t1 b2t1
4953 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4954 InitPlan 5 (returns $4)
4956 InitPlan 4 (returns $3)
4958 -> Seq Scan on t1 b4t1
4959 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4962 -> Bitmap Heap Scan on t1 b3t1
4963 Recheck Cond: (c1 = $4)
4964 -> Bitmap Index Scan on t1_pkey
4965 Index Cond: (c1 = $4)
4966 -> Index Scan using t2_pkey on t2 b3t2
4967 Index Cond: (c1 = $4)
4973 ---- No. S-3-8 inheritance table select/update type
4976 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4978 --------------------
4984 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4993 -----------------------------
4994 Index Scan using p1_i on p1
4995 Index Cond: (c1 = 1)
4999 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5001 --------------------------
5010 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5019 ---------------------------------------
5021 -> Index Scan using p1_i on p1
5022 Index Cond: (c1 = 1)
5023 -> Index Scan using p1c1_i on p1c1
5024 Index Cond: (c1 = 1)
5028 EXPLAIN (COSTS false) UPDATE ONLY s1.p1 SET c4 = c4 WHERE c1 = 1;
5030 --------------------------
5037 EXPLAIN (COSTS false) UPDATE ONLY s1.p1 SET c4 = c4 WHERE c1 = 1;
5046 -----------------------------------
5048 -> Index Scan using p1_i on p1
5049 Index Cond: (c1 = 1)
5052 /*+IndexScan(p1 p1_pkey)*/
5053 EXPLAIN (COSTS false) UPDATE ONLY s1.p1 SET c4 = c4 WHERE c1 = 1;
5054 LOG: available indexes for IndexScan(p1): p1_pkey
5057 IndexScan(p1 p1_pkey)
5063 --------------------------------------
5065 -> Index Scan using p1_pkey on p1
5066 Index Cond: (c1 = 1)
5070 EXPLAIN (COSTS false) UPDATE s1.p1 SET c4 = c4 WHERE c1 = 1;
5072 --------------------------
5083 EXPLAIN (COSTS false) UPDATE s1.p1 SET c4 = c4 WHERE c1 = 1;
5092 ---------------------------------------
5096 -> Index Scan using p1_i on p1
5097 Index Cond: (c1 = 1)
5098 -> Index Scan using p1c1_i on p1c1
5099 Index Cond: (c1 = 1)
5102 /*+IndexScan(p1 p1_pkey)*/
5103 EXPLAIN (COSTS false) UPDATE s1.p1 SET c4 = c4 WHERE c1 = 1;
5104 LOG: available indexes for IndexScan(p1): p1_pkey
5105 LOG: available indexes for IndexScan(p1c1): p1c1_pkey
5108 IndexScan(p1 p1_pkey)
5114 ------------------------------------------
5118 -> Index Scan using p1_pkey on p1
5119 Index Cond: (c1 = 1)
5120 -> Index Scan using p1c1_pkey on p1c1
5121 Index Cond: (c1 = 1)
5125 ---- No. S-3-9 inheritance table number
5128 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5130 --------------------------
5139 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5148 ---------------------------------------
5150 -> Index Scan using p1_i on p1
5151 Index Cond: (c1 = 1)
5152 -> Index Scan using p1c1_i on p1c1
5153 Index Cond: (c1 = 1)
5157 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5159 --------------------------
5165 -> Seq Scan on p2c1c1
5170 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5179 -------------------------------------------
5181 -> Index Scan using p2_i on p2
5182 Index Cond: (c1 = 1)
5183 -> Index Scan using p2c1_i on p2c1
5184 Index Cond: (c1 = 1)
5185 -> Index Scan using p2c1c1_i on p2c1c1
5186 Index Cond: (c1 = 1)
5190 ---- No. S-3-10 inheritance table specified table
5192 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5194 --------------------------
5200 -> Seq Scan on p2c1c1
5206 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5215 -------------------------------------------
5217 -> Index Scan using p2_i on p2
5218 Index Cond: (c1 = 1)
5219 -> Index Scan using p2c1_i on p2c1
5220 Index Cond: (c1 = 1)
5221 -> Index Scan using p2c1c1_i on p2c1c1
5222 Index Cond: (c1 = 1)
5226 /*+IndexScan(p2c1)*/
5227 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5236 ---------------------------------------
5240 -> Index Scan using p2c1_i on p2c1
5241 Index Cond: (c1 = 1)
5242 -> Seq Scan on p2c1c1
5247 \o results/ut-S.tmpout
5248 EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5250 \! sql/maskout.sh results/ut-S.tmpout
5252 ----------------------------------------------------------
5253 Append (cost=xxx rows=4 width=xxx)
5254 -> Seq Scan on p1 (cost=xxx rows=1 width=xxx)
5255 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5256 -> Seq Scan on p1c1 (cost=xxx rows=3 width=xxx)
5257 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5260 \o results/ut-S.tmpout
5261 /*+IndexScan(p1 p1_parent)*/ EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5262 LOG: available indexes for IndexScan(p1): p1_parent
5263 LOG: available indexes for IndexScan(p1c1): p1c1_c4_expr_idx
5266 IndexScan(p1 p1_parent)
5272 \! sql/maskout.sh results/ut-S.tmpout
5274 ------------------------------------------------------------------------------------
5275 Append (cost=xxx rows=4 width=xxx)
5276 -> Index Scan using p1_parent on p1 (cost=xxx rows=1 width=xxx)
5277 Filter: ((c2 * 2) < 100)
5278 -> Index Scan using p1c1_c4_expr_idx on p1c1 (cost=xxx rows=3 width=xxx)
5279 Filter: ((c2 * 2) < 100)
5283 \o results/ut-S.tmpout
5284 /*+IndexScan(p1 p1_i2)*/ EXPLAIN SELECT c2 FROM s1.p1 WHERE c2 = 1;
5285 LOG: available indexes for IndexScan(p1): p1_i2
5286 LOG: available indexes for IndexScan(p1c1):
5287 LOG: available indexes for IndexScan(p1c2):
5288 LOG: available indexes for IndexScan(p1c3):
5297 \! sql/maskout.sh results/ut-S.tmpout
5299 ------------------------------------------------------------------------------
5300 Append (cost=xxx rows=4 width=xxx)
5301 -> Index Scan using p1_i2 on p1 (cost=xxx rows=1 width=xxx)
5302 Index Cond: (c2 = 1)
5303 -> Seq Scan on p1c1 (cost=xxx rows=1 width=xxx)
5305 -> Seq Scan on p1c2 (cost=xxx rows=1 width=xxx)
5307 -> Seq Scan on p1c3 (cost=xxx rows=1 width=xxx)
5312 \o results/ut-S.tmpout
5313 /*+IndexScan(p2 p2c1_pkey)*/ EXPLAIN (COSTS true) SELECT * FROM s1.p2 WHERE c1 = 1;
5314 LOG: available indexes for IndexScan(p2):
5315 LOG: available indexes for IndexScan(p2c1): p2c1_pkey
5316 LOG: available indexes for IndexScan(p2c1c1):
5319 IndexScan(p2 p2c1_pkey)
5325 \! sql/maskout.sh results/ut-S.tmpout
5327 ---------------------------------------------------------------------------------
5328 Append (cost=xxx rows=3 width=xxx)
5329 -> Seq Scan on p2 (cost=xxx rows=1 width=xxx)
5331 -> Index Scan using p2c1_pkey on p2c1 (cost=xxx rows=1 width=xxx)
5332 Index Cond: (c1 = 1)
5333 -> Seq Scan on p2c1c1 (cost=xxx rows=1 width=xxx)
5338 ---- No. S-3-12 specified same table
5341 /*+IndexScan(ti1) BitmapScan(ti1)*/
5342 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5343 INFO: pg_hint_plan: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5344 DETAIL: Conflict scan method hint.
5354 -------------------------------------
5355 Bitmap Heap Scan on ti1
5356 Recheck Cond: (c1 = 1)
5357 Filter: (ctid = '(1,1)'::tid)
5358 -> Bitmap Index Scan on ti1_hash
5359 Index Cond: (c1 = 1)
5363 /*+IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
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 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5366 DETAIL: Conflict scan method hint.
5367 LOG: available indexes for BitmapScan(ti1): ti1_btree
5370 BitmapScan(ti1 ti1_btree)
5373 IndexScan(ti1 ti1_pkey)
5377 --------------------------------------
5378 Bitmap Heap Scan on ti1
5379 Recheck Cond: (c1 = 1)
5380 Filter: (ctid = '(1,1)'::tid)
5381 -> Bitmap Index Scan on ti1_btree
5382 Index Cond: (c1 = 1)
5386 /*+BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)*/
5387 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5388 INFO: pg_hint_plan: hint syntax error at or near "BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)"
5389 DETAIL: Conflict scan method hint.
5390 INFO: pg_hint_plan: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5391 DETAIL: Conflict scan method hint.
5402 -------------------------------------
5403 Bitmap Heap Scan on ti1
5404 Recheck Cond: (c1 = 1)
5405 Filter: (ctid = '(1,1)'::tid)
5406 -> Bitmap Index Scan on ti1_hash
5407 Index Cond: (c1 = 1)
5411 /*+BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5412 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5413 INFO: pg_hint_plan: hint syntax error at or near "BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5414 DETAIL: Conflict scan method hint.
5415 INFO: pg_hint_plan: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5416 DETAIL: Conflict scan method hint.
5417 LOG: available indexes for BitmapScan(ti1): ti1_btree
5420 BitmapScan(ti1 ti1_btree)
5423 BitmapScan(ti1 ti1_hash)
5424 IndexScan(ti1 ti1_pkey)
5428 --------------------------------------
5429 Bitmap Heap Scan on ti1
5430 Recheck Cond: (c1 = 1)
5431 Filter: (ctid = '(1,1)'::tid)
5432 -> Bitmap Index Scan on ti1_btree
5433 Index Cond: (c1 = 1)
5437 ---- No. S-3-13 message output of hint
5441 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5450 ------------------------------------------------
5452 Filter: ((c1 = 1) AND (ctid = '(1,1)'::tid))
5456 /*+SeqScan(ti1 ti1_pkey)*/
5457 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5458 INFO: pg_hint_plan: hint syntax error at or near ""
5459 DETAIL: SeqScan hint accepts only one relation.
5465 SeqScan(ti1 ti1_pkey)
5468 -----------------------------------
5470 TID Cond: (ctid = '(1,1)'::tid)
5475 /*+SeqScan(ti1 ti1_pkey ti1_btree)*/
5476 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5477 INFO: pg_hint_plan: hint syntax error at or near ""
5478 DETAIL: SeqScan hint accepts only one relation.
5484 SeqScan(ti1 ti1_pkey ti1_btree)
5487 -----------------------------------
5489 TID Cond: (ctid = '(1,1)'::tid)
5495 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5504 ----------------------------------
5505 Index Scan using ti1_hash on ti1
5506 Index Cond: (c1 = 1)
5507 Filter: (ctid = '(1,1)'::tid)
5511 /*+IndexScan(ti1 ti1_pkey)*/
5512 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5513 LOG: available indexes for IndexScan(ti1): ti1_pkey
5516 IndexScan(ti1 ti1_pkey)
5522 ----------------------------------
5523 Index Scan using ti1_pkey on ti1
5524 Index Cond: (c1 = 1)
5525 Filter: (ctid = '(1,1)'::tid)
5529 /*+IndexScan(ti1 ti1_pkey ti1_btree)*/
5530 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5531 LOG: available indexes for IndexScan(ti1): ti1_btree ti1_pkey
5534 IndexScan(ti1 ti1_pkey ti1_btree)
5540 -----------------------------------
5541 Index Scan using ti1_btree on ti1
5542 Index Cond: (c1 = 1)
5543 Filter: (ctid = '(1,1)'::tid)
5547 /*+BitmapScan(ti1)*/
5548 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5557 -------------------------------------
5558 Bitmap Heap Scan on ti1
5559 Recheck Cond: (c1 = 1)
5560 Filter: (ctid = '(1,1)'::tid)
5561 -> Bitmap Index Scan on ti1_hash
5562 Index Cond: (c1 = 1)
5566 /*+BitmapScan(ti1 ti1_pkey)*/
5567 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5568 LOG: available indexes for BitmapScan(ti1): ti1_pkey
5571 BitmapScan(ti1 ti1_pkey)
5577 -------------------------------------
5578 Bitmap Heap Scan on ti1
5579 Recheck Cond: (c1 = 1)
5580 Filter: (ctid = '(1,1)'::tid)
5581 -> Bitmap Index Scan on ti1_pkey
5582 Index Cond: (c1 = 1)
5586 /*+BitmapScan(ti1 ti1_pkey ti1_btree)*/
5587 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5588 LOG: available indexes for BitmapScan(ti1): ti1_btree ti1_pkey
5591 BitmapScan(ti1 ti1_pkey ti1_btree)
5597 --------------------------------------
5598 Bitmap Heap Scan on ti1
5599 Recheck Cond: (c1 = 1)
5600 Filter: (ctid = '(1,1)'::tid)
5601 -> Bitmap Index Scan on ti1_btree
5602 Index Cond: (c1 = 1)
5607 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5616 -----------------------------------
5618 TID Cond: (ctid = '(1,1)'::tid)
5623 /*+TidScan(ti1 ti1_pkey)*/
5624 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5625 INFO: pg_hint_plan: hint syntax error at or near ""
5626 DETAIL: TidScan hint accepts only one relation.
5632 TidScan(ti1 ti1_pkey)
5635 -----------------------------------
5637 TID Cond: (ctid = '(1,1)'::tid)
5642 /*+TidScan(ti1 ti1_pkey ti1_btree)*/
5643 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5644 INFO: pg_hint_plan: hint syntax error at or near ""
5645 DETAIL: TidScan hint accepts only one relation.
5651 TidScan(ti1 ti1_pkey ti1_btree)
5654 -----------------------------------
5656 TID Cond: (ctid = '(1,1)'::tid)
5662 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5671 -----------------------------------
5673 TID Cond: (ctid = '(1,1)'::tid)
5678 /*+NoSeqScan(ti1 ti1_pkey)*/
5679 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5680 INFO: pg_hint_plan: hint syntax error at or near ""
5681 DETAIL: NoSeqScan hint accepts only one relation.
5687 NoSeqScan(ti1 ti1_pkey)
5690 -----------------------------------
5692 TID Cond: (ctid = '(1,1)'::tid)
5697 /*+NoSeqScan(ti1 ti1_pkey ti1_btree)*/
5698 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5699 INFO: pg_hint_plan: hint syntax error at or near ""
5700 DETAIL: NoSeqScan hint accepts only one relation.
5706 NoSeqScan(ti1 ti1_pkey ti1_btree)
5709 -----------------------------------
5711 TID Cond: (ctid = '(1,1)'::tid)
5716 /*+NoIndexScan(ti1)*/
5717 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5726 -----------------------------------
5728 TID Cond: (ctid = '(1,1)'::tid)
5733 /*+NoIndexScan(ti1 ti1_pkey)*/
5734 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5735 INFO: pg_hint_plan: hint syntax error at or near ""
5736 DETAIL: NoIndexScan hint accepts only one relation.
5742 NoIndexScan(ti1 ti1_pkey)
5745 -----------------------------------
5747 TID Cond: (ctid = '(1,1)'::tid)
5752 /*+NoIndexScan(ti1 ti1_pkey ti1_btree)*/
5753 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5754 INFO: pg_hint_plan: hint syntax error at or near ""
5755 DETAIL: NoIndexScan hint accepts only one relation.
5761 NoIndexScan(ti1 ti1_pkey ti1_btree)
5764 -----------------------------------
5766 TID Cond: (ctid = '(1,1)'::tid)
5771 /*+NoBitmapScan(ti1)*/
5772 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5781 -----------------------------------
5783 TID Cond: (ctid = '(1,1)'::tid)
5788 /*+NoBitmapScan(ti1 ti1_pkey)*/
5789 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5790 INFO: pg_hint_plan: hint syntax error at or near ""
5791 DETAIL: NoBitmapScan hint accepts only one relation.
5797 NoBitmapScan(ti1 ti1_pkey)
5800 -----------------------------------
5802 TID Cond: (ctid = '(1,1)'::tid)
5807 /*+NoBitmapScan(ti1 ti1_pkey ti1_btree)*/
5808 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5809 INFO: pg_hint_plan: hint syntax error at or near ""
5810 DETAIL: NoBitmapScan hint accepts only one relation.
5816 NoBitmapScan(ti1 ti1_pkey ti1_btree)
5819 -----------------------------------
5821 TID Cond: (ctid = '(1,1)'::tid)
5827 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5836 ----------------------------------
5837 Index Scan using ti1_hash on ti1
5838 Index Cond: (c1 = 1)
5839 Filter: (ctid = '(1,1)'::tid)
5843 /*+NoTidScan(ti1 ti1_pkey)*/
5844 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5845 INFO: pg_hint_plan: hint syntax error at or near ""
5846 DETAIL: NoTidScan hint accepts only one relation.
5852 NoTidScan(ti1 ti1_pkey)
5855 -----------------------------------
5857 TID Cond: (ctid = '(1,1)'::tid)
5862 /*+NoTidScan(ti1 ti1_pkey ti1_btree)*/
5863 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5864 INFO: pg_hint_plan: hint syntax error at or near ""
5865 DETAIL: NoTidScan hint accepts only one relation.
5871 NoTidScan(ti1 ti1_pkey ti1_btree)
5874 -----------------------------------
5876 TID Cond: (ctid = '(1,1)'::tid)
5881 /*+IndexOnlyScan(ti1)*/
5882 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5891 ---------------------------------------
5892 Index Only Scan using ti1_uniq on ti1
5893 Index Cond: (c1 >= 1)
5897 /*+IndexOnlyScan(ti1 ti1_pkey)*/
5898 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5899 LOG: available indexes for IndexOnlyScan(ti1): ti1_pkey
5902 IndexOnlyScan(ti1 ti1_pkey)
5908 ---------------------------------------
5909 Index Only Scan using ti1_pkey on ti1
5910 Index Cond: (c1 >= 1)
5914 /*+IndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5915 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5916 LOG: available indexes for IndexOnlyScan(ti1): ti1_btree ti1_pkey
5919 IndexOnlyScan(ti1 ti1_pkey ti1_btree)
5925 ----------------------------------------
5926 Index Only Scan using ti1_btree on ti1
5927 Index Cond: (c1 >= 1)
5931 /*+NoIndexOnlyScan(ti1)*/
5932 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5935 NoIndexOnlyScan(ti1)
5941 ----------------------------------
5942 Index Scan using ti1_hash on ti1
5943 Index Cond: (c1 = 1)
5947 /*+NoIndexOnlyScan(ti1 ti1_pkey)*/
5948 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5949 INFO: pg_hint_plan: hint syntax error at or near ""
5950 DETAIL: NoIndexOnlyScan hint accepts only one relation.
5956 NoIndexOnlyScan(ti1 ti1_pkey)
5959 ----------------------------------
5960 Index Scan using ti1_hash on ti1
5961 Index Cond: (c1 = 1)
5965 /*+NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5966 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5967 INFO: pg_hint_plan: hint syntax error at or near ""
5968 DETAIL: NoIndexOnlyScan hint accepts only one relation.
5974 NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)
5977 ----------------------------------
5978 Index Scan using ti1_hash on ti1
5979 Index Cond: (c1 = 1)
5983 ---- No. S-3-14 regular expression
5985 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5987 --------------------------------
5988 Index Scan using ti1_i4 on ti1
5989 Index Cond: (c2 = 1)
5993 /*+IndexScanRegexp(ti1 ti1_.*_key)*/
5994 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5995 LOG: available indexes for IndexScanRegexp(ti1): ti1_c2_key
5998 IndexScanRegexp(ti1 ti1_.*_key)
6004 ------------------------------------
6005 Index Scan using ti1_c2_key on ti1
6006 Index Cond: (c2 = 1)
6010 /*+IndexScanRegexp(ti1 ti1_i.)*/
6011 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6012 LOG: available indexes for IndexScanRegexp(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
6015 IndexScanRegexp(ti1 ti1_i.)
6021 --------------------------------
6022 Index Scan using ti1_i4 on ti1
6023 Index Cond: (c2 = 1)
6027 /*+IndexScanRegexp(ti1 no.*_exist)*/
6028 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6029 LOG: available indexes for IndexScanRegexp(ti1):
6032 IndexScanRegexp(ti1 no.*_exist)
6038 --------------------
6044 /*+IndexScanRegexp(p1 .*pkey)*/
6045 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
6046 LOG: available indexes for IndexScanRegexp(p1): p1_pkey
6047 LOG: available indexes for IndexScanRegexp(p1c1): p1c1_pkey
6050 IndexScanRegexp(p1 .*pkey)
6056 ------------------------------------------
6058 -> Index Scan using p1_pkey on p1
6059 Index Cond: (c1 = 1)
6060 -> Index Scan using p1c1_pkey on p1c1
6061 Index Cond: (c1 = 1)
6065 /*+IndexScanRegexp(p1 p1.*i)*/
6066 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
6067 LOG: available indexes for IndexScanRegexp(p1): p1_i2 p1_i
6068 LOG: available indexes for IndexScanRegexp(p1c1): p1c1_i p1c1_c4_expr_idx
6071 IndexScanRegexp(p1 p1.*i)
6077 ---------------------------------------
6079 -> Index Scan using p1_i on p1
6080 Index Cond: (c1 = 1)
6081 -> Index Scan using p1c1_i on p1c1
6082 Index Cond: (c1 = 1)
6086 /*+IndexScanRegexp(p1 no.*_exist)*/
6087 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
6088 LOG: available indexes for IndexScanRegexp(p1):
6089 LOG: available indexes for IndexScanRegexp(p1c1):
6092 IndexScanRegexp(p1 no.*_exist)
6098 --------------------------
6107 ---- No. S-3-15 message output of index candidate
6110 /*+IndexScan(ti1 ti1_i1)*/
6111 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6112 LOG: available indexes for IndexScan(ti1): ti1_i1
6115 IndexScan(ti1 ti1_i1)
6121 --------------------------------
6122 Index Scan using ti1_i1 on ti1
6123 Index Cond: (c2 = 1)
6127 /*+IndexScan(ti1 not_exist)*/
6128 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6129 LOG: available indexes for IndexScan(ti1):
6132 IndexScan(ti1 not_exist)
6138 --------------------
6144 /*+IndexScan(ti1 ti1_i1 ti1_i2)*/
6145 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6146 LOG: available indexes for IndexScan(ti1): ti1_i2 ti1_i1
6149 IndexScan(ti1 ti1_i1 ti1_i2)
6155 --------------------------------
6156 Index Scan using ti1_i2 on ti1
6157 Index Cond: (c2 = 1)
6161 /*+IndexScan(ti1 ti1_i1 not_exist)*/
6162 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6163 LOG: available indexes for IndexScan(ti1): ti1_i1
6166 IndexScan(ti1 ti1_i1 not_exist)
6172 --------------------------------
6173 Index Scan using ti1_i1 on ti1
6174 Index Cond: (c2 = 1)
6178 /*+IndexScan(ti1 not_exist1 not_exist2)*/
6179 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6180 LOG: available indexes for IndexScan(ti1):
6183 IndexScan(ti1 not_exist1 not_exist2)
6189 --------------------
6194 DELETE FROM pg_db_role_setting WHERE setrole = (SELECT oid FROM pg_roles WHERE rolname = current_user);
6195 ALTER SYSTEM SET session_preload_libraries TO DEFAULT;
6196 SELECT pg_reload_conf();
6202 \! rm results/ut-S.tmpout