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 -------------------------------------------------------------------
546 -> Index Scan using t1_i1 on t1
549 One-Time Filter: ($0 = 1)
550 InitPlan 1 (returns $0)
552 -> Index Only Scan using t1_i1 on t1 t1_1
553 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
557 EXPLAIN (COSTS false) WITH c1(c1) AS (SELECT max(c1) FROM s1.t1 WHERE t1.c1 = 1)
558 SELECT * FROM s1.t1, c1 WHERE t1.c1 = 1 AND t1.c1 = c1.c1;
567 -------------------------------------------------------------------
569 -> Index Scan using t1_i1 on t1
572 One-Time Filter: ($0 = 1)
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))
580 EXPLAIN (COSTS false) SELECT * FROM s1.v1 WHERE v1.c1 = 1;
582 -----------------------------------
583 Index Scan using t1_i1 on t1 v1t1
588 EXPLAIN (COSTS false) SELECT * FROM s1.v1 WHERE v1.c1 = 1;
597 -----------------------------------
598 Index Scan using t1_i1 on t1 v1t1
603 EXPLAIN (COSTS false) SELECT * FROM (SELECT * FROM s1.t1 WHERE t1.c1 = 1) AS s1 WHERE s1.c1 = 1;
605 ------------------------------
606 Index Scan using t1_i1 on t1
611 EXPLAIN (COSTS false) SELECT * FROM (SELECT * FROM s1.t1 WHERE t1.c1 = 1) AS s1 WHERE s1.c1 = 1;
620 ------------------------------
621 Index Scan using t1_i1 on t1
626 ---- No. S-2-1 some complexity query blocks
629 EXPLAIN (COSTS false)
630 SELECT max(bmt1.c1), (
631 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
633 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
636 ------------------------------------------------------------------------
638 InitPlan 1 (returns $1)
642 Merge Cond: (b1t1.c1 = b1t2.c1)
644 Merge Cond: (b1t1.c1 = b1t3.c1)
645 -> Index Only Scan using t1_i1 on t1 b1t1
646 -> Index Only Scan using t3_i1 on t3 b1t3
649 -> Seq Scan on t2 b1t2
650 -> Index Only Scan using t4_i1 on t4 b1t4
651 Index Cond: (c1 = b1t1.c1)
654 Merge Cond: (bmt1.c1 = bmt2.c1)
656 Merge Cond: (bmt1.c1 = bmt3.c1)
657 -> Index Only Scan using t1_i1 on t1 bmt1
658 -> Index Only Scan using t3_i1 on t3 bmt3
661 -> Seq Scan on t2 bmt2
662 -> Index Only Scan using t4_i1 on t4 bmt4
663 Index Cond: (c1 = bmt1.c1)
666 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
667 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
669 EXPLAIN (COSTS false)
670 SELECT max(bmt1.c1), (
671 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
673 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
675 LOG: available indexes for IndexScan(b1t3): t3_pkey
676 LOG: available indexes for BitmapScan(b1t4): t4_pkey
677 LOG: available indexes for IndexScan(bmt2): t2_pkey
678 LOG: available indexes for BitmapScan(bmt3): t3_pkey
683 IndexScan(b1t3 t3_pkey)
684 BitmapScan(b1t4 t4_pkey)
686 IndexScan(bmt2 t2_pkey)
687 BitmapScan(bmt3 t3_pkey)
694 --------------------------------------------------------------------------
696 InitPlan 1 (returns $2)
699 Hash Cond: (b1t1.c1 = b1t2.c1)
700 -> Seq Scan on t1 b1t1
703 Join Filter: (b1t2.c1 = b1t3.c1)
705 -> Seq Scan on t2 b1t2
706 -> Bitmap Heap Scan on t4 b1t4
707 Recheck Cond: (c1 = b1t2.c1)
708 -> Bitmap Index Scan on t4_pkey
709 Index Cond: (c1 = b1t2.c1)
710 -> Index Scan using t3_pkey on t3 b1t3
711 Index Cond: (c1 = b1t4.c1)
713 Hash Cond: (bmt4.c1 = bmt1.c1)
714 -> Seq Scan on t4 bmt4
718 Hash Cond: (bmt1.c1 = bmt2.c1)
719 -> Seq Scan on t1 bmt1
721 -> Index Scan using t2_pkey on t2 bmt2
722 -> Bitmap Heap Scan on t3 bmt3
723 Recheck Cond: (c1 = bmt1.c1)
724 -> Bitmap Index Scan on t3_pkey
725 Index Cond: (c1 = bmt1.c1)
729 EXPLAIN (COSTS false)
730 SELECT max(bmt1.c1), (
731 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
733 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
735 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
738 ------------------------------------------------------------------------
740 InitPlan 1 (returns $1)
744 Merge Cond: (b1t1.c1 = b1t2.c1)
746 Merge Cond: (b1t1.c1 = b1t3.c1)
747 -> Index Only Scan using t1_i1 on t1 b1t1
748 -> Index Only Scan using t3_i1 on t3 b1t3
751 -> Seq Scan on t2 b1t2
752 -> Index Only Scan using t4_i1 on t4 b1t4
753 Index Cond: (c1 = b1t1.c1)
754 InitPlan 2 (returns $3)
758 Merge Cond: (b2t1.c1 = b2t2.c1)
760 Merge Cond: (b2t1.c1 = b2t3.c1)
761 -> Index Only Scan using t1_i1 on t1 b2t1
762 -> Index Only Scan using t3_i1 on t3 b2t3
765 -> Seq Scan on t2 b2t2
766 -> Index Only Scan using t4_i1 on t4 b2t4
767 Index Cond: (c1 = b2t1.c1)
770 Merge Cond: (bmt1.c1 = bmt2.c1)
772 Merge Cond: (bmt1.c1 = bmt3.c1)
773 -> Index Only Scan using t1_i1 on t1 bmt1
774 -> Index Only Scan using t3_i1 on t3 bmt3
777 -> Seq Scan on t2 bmt2
778 -> Index Only Scan using t4_i1 on t4 bmt4
779 Index Cond: (c1 = bmt1.c1)
782 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
783 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
784 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
786 EXPLAIN (COSTS false)
787 SELECT max(bmt1.c1), (
788 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
790 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
792 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
794 LOG: available indexes for IndexScan(b1t3): t3_pkey
795 LOG: available indexes for BitmapScan(b1t4): t4_pkey
796 LOG: available indexes for BitmapScan(b2t1): t1_pkey
797 LOG: available indexes for IndexScan(b2t4): t4_pkey
798 LOG: available indexes for IndexScan(bmt2): t2_pkey
799 LOG: available indexes for BitmapScan(bmt3): t3_pkey
804 IndexScan(b1t3 t3_pkey)
805 BitmapScan(b1t4 t4_pkey)
806 BitmapScan(b2t1 t1_pkey)
809 IndexScan(b2t4 t4_pkey)
811 IndexScan(bmt2 t2_pkey)
812 BitmapScan(bmt3 t3_pkey)
819 ---------------------------------------------------------------------------
821 InitPlan 1 (returns $2)
824 Hash Cond: (b1t1.c1 = b1t2.c1)
825 -> Seq Scan on t1 b1t1
828 Join Filter: (b1t2.c1 = b1t3.c1)
830 -> Seq Scan on t2 b1t2
831 -> Bitmap Heap Scan on t4 b1t4
832 Recheck Cond: (c1 = b1t2.c1)
833 -> Bitmap Index Scan on t4_pkey
834 Index Cond: (c1 = b1t2.c1)
835 -> Index Scan using t3_pkey on t3 b1t3
836 Index Cond: (c1 = b1t4.c1)
837 InitPlan 2 (returns $4)
840 Hash Cond: (b2t3.c1 = b2t1.c1)
841 -> Seq Scan on t3 b2t3
844 Merge Cond: (b2t1.c1 = b2t2.c1)
846 -> Index Scan using t4_pkey on t4 b2t4
847 -> Bitmap Heap Scan on t1 b2t1
848 Recheck Cond: (c1 = b2t4.c1)
849 -> Bitmap Index Scan on t1_pkey
850 Index Cond: (c1 = b2t4.c1)
853 -> Seq Scan on t2 b2t2
855 Hash Cond: (bmt4.c1 = bmt1.c1)
856 -> Seq Scan on t4 bmt4
860 Hash Cond: (bmt1.c1 = bmt2.c1)
861 -> Seq Scan on t1 bmt1
863 -> Index Scan using t2_pkey on t2 bmt2
864 -> Bitmap Heap Scan on t3 bmt3
865 Recheck Cond: (c1 = bmt1.c1)
866 -> Bitmap Index Scan on t3_pkey
867 Index Cond: (c1 = bmt1.c1)
871 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;
873 ----------------------------------------------------------------
877 Merge Cond: (bmt1.c1 = bmt2.c1)
879 Merge Cond: (bmt1.c1 = bmt3.c1)
880 -> Index Only Scan using t1_i1 on t1 bmt1
881 -> Index Only Scan using t3_i1 on t3 bmt3
884 -> Seq Scan on t2 bmt2
885 -> Index Only Scan using t4_i1 on t4 bmt4
886 Index Cond: (c1 = bmt1.c1)
889 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
891 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;
892 LOG: available indexes for IndexScan(bmt2): t2_pkey
893 LOG: available indexes for BitmapScan(bmt3): t3_pkey
897 IndexScan(bmt2 t2_pkey)
898 BitmapScan(bmt3 t3_pkey)
905 -------------------------------------------------------------------------
908 Hash Cond: (bmt4.c1 = bmt1.c1)
909 -> Seq Scan on t4 bmt4
913 Hash Cond: (bmt1.c1 = bmt2.c1)
914 -> Seq Scan on t1 bmt1
916 -> Index Scan using t2_pkey on t2 bmt2
917 -> Bitmap Heap Scan on t3 bmt3
918 Recheck Cond: (c1 = bmt1.c1)
919 -> Bitmap Index Scan on t3_pkey
920 Index Cond: (c1 = bmt1.c1)
924 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;
926 ----------------------------------------------------------------
930 Merge Cond: (bmt1.c1 = bmt2.c1)
932 Merge Cond: (bmt1.c1 = bmt3.c1)
933 -> Index Only Scan using t1_i1 on t1 bmt1
934 -> Index Only Scan using t3_i1 on t3 bmt3
937 -> Seq Scan on t2 bmt2
938 -> Index Only Scan using t4_i1 on t4 bmt4
939 Index Cond: (c1 = bmt1.c1)
942 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
944 EXPLAIN (COSTS false) SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, (SELECT * FROM s1.t3 bmt3) sbmt3, (SELECT * FROM s1.t4 bmt4) sbmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = sbmt3.c1 AND bmt1.c1 = sbmt4.c1;
945 LOG: available indexes for IndexScan(bmt2): t2_pkey
946 LOG: available indexes for BitmapScan(bmt3): t3_pkey
950 IndexScan(bmt2 t2_pkey)
951 BitmapScan(bmt3 t3_pkey)
958 -------------------------------------------------------------------------
961 Hash Cond: (bmt4.c1 = bmt1.c1)
962 -> Seq Scan on t4 bmt4
966 Hash Cond: (bmt1.c1 = bmt2.c1)
967 -> Seq Scan on t1 bmt1
969 -> Index Scan using t2_pkey on t2 bmt2
970 -> Bitmap Heap Scan on t3 bmt3
971 Recheck Cond: (c1 = bmt1.c1)
972 -> Bitmap Index Scan on t3_pkey
973 Index Cond: (c1 = bmt1.c1)
977 EXPLAIN (COSTS false)
978 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
980 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
984 ------------------------------------------------------------------------
986 InitPlan 1 (returns $1)
990 Merge Cond: (b1t1.c1 = b1t2.c1)
992 Merge Cond: (b1t1.c1 = b1t3.c1)
993 -> Index Only Scan using t1_i1 on t1 b1t1
994 -> Index Only Scan using t3_i1 on t3 b1t3
997 -> Seq Scan on t2 b1t2
998 -> Index Only Scan using t4_i1 on t4 b1t4
999 Index Cond: (c1 = b1t1.c1)
1002 Merge Cond: (bmt1.c1 = bmt2.c1)
1004 Merge Cond: (bmt1.c1 = bmt3.c1)
1005 -> Index Only Scan using t1_i1 on t1 bmt1
1007 -> Index Only Scan using t3_i1 on t3 bmt3
1010 -> Seq Scan on t2 bmt2
1011 -> Index Only Scan using t4_i1 on t4 bmt4
1012 Index Cond: (c1 = bmt1.c1)
1015 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1016 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1018 EXPLAIN (COSTS false)
1019 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
1021 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
1024 LOG: available indexes for IndexScan(b1t3): t3_pkey
1025 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1026 LOG: available indexes for IndexScan(bmt2): t2_pkey
1027 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1032 IndexScan(b1t3 t3_pkey)
1033 BitmapScan(b1t4 t4_pkey)
1035 IndexScan(bmt2 t2_pkey)
1036 BitmapScan(bmt3 t3_pkey)
1043 --------------------------------------------------------------------------
1045 InitPlan 1 (returns $2)
1048 Hash Cond: (b1t1.c1 = b1t2.c1)
1049 -> Seq Scan on t1 b1t1
1052 Join Filter: (b1t2.c1 = b1t3.c1)
1054 -> Seq Scan on t2 b1t2
1055 -> Bitmap Heap Scan on t4 b1t4
1056 Recheck Cond: (c1 = b1t2.c1)
1057 -> Bitmap Index Scan on t4_pkey
1058 Index Cond: (c1 = b1t2.c1)
1059 -> Index Scan using t3_pkey on t3 b1t3
1060 Index Cond: (c1 = b1t4.c1)
1062 Hash Cond: (bmt4.c1 = bmt1.c1)
1063 -> Seq Scan on t4 bmt4
1067 Hash Cond: (bmt1.c1 = bmt2.c1)
1068 -> Seq Scan on t1 bmt1
1071 -> Index Scan using t2_pkey on t2 bmt2
1072 -> Bitmap Heap Scan on t3 bmt3
1073 Recheck Cond: (c1 = bmt1.c1)
1074 -> Bitmap Index Scan on t3_pkey
1075 Index Cond: (c1 = bmt1.c1)
1079 EXPLAIN (COSTS false)
1080 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
1082 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
1084 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
1088 ------------------------------------------------------------------------
1090 InitPlan 1 (returns $1)
1094 Merge Cond: (b1t1.c1 = b1t2.c1)
1096 Merge Cond: (b1t1.c1 = b1t3.c1)
1097 -> Index Only Scan using t1_i1 on t1 b1t1
1098 -> Index Only Scan using t3_i1 on t3 b1t3
1101 -> Seq Scan on t2 b1t2
1102 -> Index Only Scan using t4_i1 on t4 b1t4
1103 Index Cond: (c1 = b1t1.c1)
1104 InitPlan 2 (returns $3)
1108 Merge Cond: (b2t1.c1 = b2t2.c1)
1110 Merge Cond: (b2t1.c1 = b2t3.c1)
1111 -> Index Only Scan using t1_i1 on t1 b2t1
1112 -> Index Only Scan using t3_i1 on t3 b2t3
1115 -> Seq Scan on t2 b2t2
1116 -> Index Only Scan using t4_i1 on t4 b2t4
1117 Index Cond: (c1 = b2t1.c1)
1120 Merge Cond: (bmt1.c1 = bmt2.c1)
1122 Merge Cond: (bmt1.c1 = bmt3.c1)
1123 -> Index Only Scan using t1_i1 on t1 bmt1
1124 Filter: ((c1 <> $1) AND (c1 <> $3))
1125 -> Index Only Scan using t3_i1 on t3 bmt3
1128 -> Seq Scan on t2 bmt2
1129 -> Index Only Scan using t4_i1 on t4 bmt4
1130 Index Cond: (c1 = bmt1.c1)
1133 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1134 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1135 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1137 EXPLAIN (COSTS false)
1138 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
1140 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
1142 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
1145 LOG: available indexes for IndexScan(b1t3): t3_pkey
1146 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1147 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1148 LOG: available indexes for IndexScan(b2t4): t4_pkey
1149 LOG: available indexes for IndexScan(bmt2): t2_pkey
1150 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1155 IndexScan(b1t3 t3_pkey)
1156 BitmapScan(b1t4 t4_pkey)
1157 BitmapScan(b2t1 t1_pkey)
1160 IndexScan(b2t4 t4_pkey)
1162 IndexScan(bmt2 t2_pkey)
1163 BitmapScan(bmt3 t3_pkey)
1170 ---------------------------------------------------------------------------
1172 InitPlan 1 (returns $2)
1175 Hash Cond: (b1t1.c1 = b1t2.c1)
1176 -> Seq Scan on t1 b1t1
1179 Join Filter: (b1t2.c1 = b1t3.c1)
1181 -> Seq Scan on t2 b1t2
1182 -> Bitmap Heap Scan on t4 b1t4
1183 Recheck Cond: (c1 = b1t2.c1)
1184 -> Bitmap Index Scan on t4_pkey
1185 Index Cond: (c1 = b1t2.c1)
1186 -> Index Scan using t3_pkey on t3 b1t3
1187 Index Cond: (c1 = b1t4.c1)
1188 InitPlan 2 (returns $4)
1191 Hash Cond: (b2t3.c1 = b2t1.c1)
1192 -> Seq Scan on t3 b2t3
1195 Merge Cond: (b2t1.c1 = b2t2.c1)
1197 -> Index Scan using t4_pkey on t4 b2t4
1198 -> Bitmap Heap Scan on t1 b2t1
1199 Recheck Cond: (c1 = b2t4.c1)
1200 -> Bitmap Index Scan on t1_pkey
1201 Index Cond: (c1 = b2t4.c1)
1204 -> Seq Scan on t2 b2t2
1206 Hash Cond: (bmt4.c1 = bmt1.c1)
1207 -> Seq Scan on t4 bmt4
1211 Hash Cond: (bmt1.c1 = bmt2.c1)
1212 -> Seq Scan on t1 bmt1
1213 Filter: ((c1 <> $2) AND (c1 <> $4))
1215 -> Index Scan using t2_pkey on t2 bmt2
1216 -> Bitmap Heap Scan on t3 bmt3
1217 Recheck Cond: (c1 = bmt1.c1)
1218 -> Bitmap Index Scan on t3_pkey
1219 Index Cond: (c1 = bmt1.c1)
1223 EXPLAIN (COSTS false)
1225 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
1227 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1229 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1233 ----------------------------------------------------------------------------------------------------
1239 Hash Cond: (bmt2.c1 = (max(b1t1.c1)))
1240 -> Seq Scan on t2 bmt2
1245 Merge Cond: (b1t1.c1 = b1t2.c1)
1247 Merge Cond: (b1t1.c1 = b1t3.c1)
1248 -> Index Only Scan using t1_i1 on t1 b1t1
1249 -> Index Only Scan using t3_i1 on t3 b1t3
1252 -> Seq Scan on t2 b1t2
1253 -> Index Only Scan using t4_i1 on t4 b1t4
1254 Index Cond: (c1 = b1t1.c1)
1255 -> Index Only Scan using t1_i1 on t1 bmt1
1256 Index Cond: (c1 = bmt2.c1)
1257 -> Index Only Scan using t3_i1 on t3 bmt3
1258 Index Cond: (c1 = bmt1.c1)
1259 -> Index Only Scan using t4_i1 on t4 bmt4
1260 Index Cond: (c1 = bmt1.c1)
1263 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1264 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1266 EXPLAIN (COSTS false)
1268 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
1270 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1272 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1275 LOG: available indexes for IndexScan(b1t3): t3_pkey
1276 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1277 LOG: available indexes for IndexScan(bmt2): t2_pkey
1278 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1283 IndexScan(b1t3 t3_pkey)
1284 BitmapScan(b1t4 t4_pkey)
1286 IndexScan(bmt2 t2_pkey)
1287 BitmapScan(bmt3 t3_pkey)
1294 ------------------------------------------------------------------------------------------------------
1297 Hash Cond: (bmt4.c1 = bmt1.c1)
1298 -> Seq Scan on t4 bmt4
1302 Merge Cond: (bmt1.c1 = (max(b1t1.c1)))
1306 Hash Cond: (bmt1.c1 = bmt2.c1)
1307 -> Seq Scan on t1 bmt1
1309 -> Index Scan using t2_pkey on t2 bmt2
1311 Sort Key: (max(b1t1.c1))
1314 Hash Cond: (b1t1.c1 = b1t2.c1)
1315 -> Seq Scan on t1 b1t1
1318 Join Filter: (b1t2.c1 = b1t3.c1)
1320 -> Seq Scan on t2 b1t2
1321 -> Bitmap Heap Scan on t4 b1t4
1322 Recheck Cond: (c1 = b1t2.c1)
1323 -> Bitmap Index Scan on t4_pkey
1324 Index Cond: (c1 = b1t2.c1)
1325 -> Index Scan using t3_pkey on t3 b1t3
1326 Index Cond: (c1 = b1t4.c1)
1327 -> Bitmap Heap Scan on t3 bmt3
1328 Recheck Cond: (c1 = bmt1.c1)
1329 -> Bitmap Index Scan on t3_pkey
1330 Index Cond: (c1 = bmt1.c1)
1334 EXPLAIN (COSTS false)
1336 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
1339 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
1341 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1343 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1348 ----------------------------------------------------------------------------------------------------------
1351 Join Filter: (bmt1.c1 = (max(b2t1.c1)))
1356 Hash Cond: (bmt2.c1 = (max(b1t1.c1)))
1357 -> Seq Scan on t2 bmt2
1362 Merge Cond: (b1t1.c1 = b1t2.c1)
1364 Merge Cond: (b1t1.c1 = b1t3.c1)
1365 -> Index Only Scan using t1_i1 on t1 b1t1
1366 -> Index Only Scan using t3_i1 on t3 b1t3
1369 -> Seq Scan on t2 b1t2
1370 -> Index Only Scan using t4_i1 on t4 b1t4
1371 Index Cond: (c1 = b1t1.c1)
1372 -> Index Only Scan using t1_i1 on t1 bmt1
1373 Index Cond: (c1 = bmt2.c1)
1374 -> Index Only Scan using t3_i1 on t3 bmt3
1375 Index Cond: (c1 = bmt1.c1)
1376 -> Index Only Scan using t4_i1 on t4 bmt4
1377 Index Cond: (c1 = bmt1.c1)
1381 Merge Cond: (b2t1.c1 = b2t2.c1)
1383 Merge Cond: (b2t1.c1 = b2t3.c1)
1384 -> Index Only Scan using t1_i1 on t1 b2t1
1385 -> Index Only Scan using t3_i1 on t3 b2t3
1388 -> Seq Scan on t2 b2t2
1389 -> Index Only Scan using t4_i1 on t4 b2t4
1390 Index Cond: (c1 = b2t1.c1)
1393 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1394 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1395 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1397 EXPLAIN (COSTS false)
1399 SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1t1.c1 = b1t2.c1 AND b1t1.c1 = b1t3.c1 AND b1t1.c1 = b1t4.c1
1402 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.c1 = b2t2.c1 AND b2t1.c1 = b2t3.c1 AND b2t1.c1 = b2t4.c1
1404 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1406 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1410 LOG: available indexes for IndexScan(b1t3): t3_pkey
1411 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1412 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1413 LOG: available indexes for IndexScan(b2t4): t4_pkey
1414 LOG: available indexes for IndexScan(bmt2): t2_pkey
1415 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1420 IndexScan(b1t3 t3_pkey)
1421 BitmapScan(b1t4 t4_pkey)
1422 BitmapScan(b2t1 t1_pkey)
1425 IndexScan(b2t4 t4_pkey)
1427 IndexScan(bmt2 t2_pkey)
1428 BitmapScan(bmt3 t3_pkey)
1435 -------------------------------------------------------------------------------------------------------------------
1438 Hash Cond: (bmt4.c1 = bmt1.c1)
1439 -> Seq Scan on t4 bmt4
1444 Join Filter: ((max(b1t1.c1)) = bmt1.c1)
1446 Merge Cond: ((max(b1t1.c1)) = (max(b2t1.c1)))
1448 Sort Key: (max(b1t1.c1))
1451 Hash Cond: (b1t1.c1 = b1t2.c1)
1452 -> Seq Scan on t1 b1t1
1455 Join Filter: (b1t2.c1 = b1t3.c1)
1457 -> Seq Scan on t2 b1t2
1458 -> Bitmap Heap Scan on t4 b1t4
1459 Recheck Cond: (c1 = b1t2.c1)
1460 -> Bitmap Index Scan on t4_pkey
1461 Index Cond: (c1 = b1t2.c1)
1462 -> Index Scan using t3_pkey on t3 b1t3
1463 Index Cond: (c1 = b1t4.c1)
1465 Sort Key: (max(b2t1.c1))
1468 Hash Cond: (b2t3.c1 = b2t1.c1)
1469 -> Seq Scan on t3 b2t3
1472 Merge Cond: (b2t1.c1 = b2t2.c1)
1474 -> Index Scan using t4_pkey on t4 b2t4
1475 -> Bitmap Heap Scan on t1 b2t1
1476 Recheck Cond: (c1 = b2t4.c1)
1477 -> Bitmap Index Scan on t1_pkey
1478 Index Cond: (c1 = b2t4.c1)
1481 -> Seq Scan on t2 b2t2
1482 -> Seq Scan on t1 bmt1
1483 -> Index Scan using t2_pkey on t2 bmt2
1484 Index Cond: (c1 = bmt1.c1)
1485 -> Bitmap Heap Scan on t3 bmt3
1486 Recheck Cond: (c1 = bmt1.c1)
1487 -> Bitmap Index Scan on t3_pkey
1488 Index Cond: (c1 = bmt1.c1)
1492 ---- No. S-2-2 the number of the tables per quiry block
1495 EXPLAIN (COSTS false)
1497 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1499 SELECT max(bmt1.c1), (
1500 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1502 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1504 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1508 -----------------------------------------------------------------
1510 InitPlan 2 (returns $1)
1512 InitPlan 1 (returns $0)
1514 -> Tid Scan on t1 b2t1
1515 TID Cond: (ctid = '(1,1)'::tid)
1516 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1517 InitPlan 4 (returns $3)
1519 InitPlan 3 (returns $2)
1521 -> Tid Scan on t1 b3t1
1522 TID Cond: (ctid = '(1,1)'::tid)
1523 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1525 -> Tid Scan on t1 bmt1
1526 TID Cond: (ctid = '(1,1)'::tid)
1527 Filter: ((c1 <> $3) AND (c1 = 1))
1533 BitmapScan(b2t1 t1_pkey)
1534 IndexScan(b3t1 t1_pkey)
1536 EXPLAIN (COSTS false)
1538 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1540 SELECT max(bmt1.c1), (
1541 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1543 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1545 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1548 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1549 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1550 LOG: available indexes for IndexScan(b3t1): t1_pkey
1551 LOG: available indexes for IndexScan(b3t1): t1_pkey
1555 BitmapScan(b2t1 t1_pkey)
1556 IndexScan(b3t1 t1_pkey)
1563 ---------------------------------------------------------------------------
1565 InitPlan 2 (returns $1)
1567 InitPlan 1 (returns $0)
1569 -> Bitmap Heap Scan on t1 b2t1
1570 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1571 Filter: (ctid = '(1,1)'::tid)
1572 -> Bitmap Index Scan on t1_pkey
1573 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1574 InitPlan 4 (returns $3)
1576 InitPlan 3 (returns $2)
1578 -> Index Scan using t1_pkey on t1 b3t1
1579 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1580 Filter: (ctid = '(1,1)'::tid)
1582 -> Seq Scan on t1 bmt1
1583 Filter: ((c1 <> $3) AND (ctid = '(1,1)'::tid) AND (c1 = 1))
1588 EXPLAIN (COSTS false)
1590 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)'
1592 SELECT max(bmt1.c1), (
1593 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)'
1595 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1597 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)'
1601 -----------------------------------------------------------
1603 InitPlan 1 (returns $0)
1606 Join Filter: (b2t1.c1 = b2t2.c1)
1607 -> Tid Scan on t1 b2t1
1608 TID Cond: (ctid = '(1,1)'::tid)
1609 -> Seq Scan on t2 b2t2
1610 Filter: (ctid = '(1,1)'::tid)
1611 InitPlan 2 (returns $1)
1614 Join Filter: (b3t1.c1 = b3t2.c1)
1615 -> Tid Scan on t1 b3t1
1616 TID Cond: (ctid = '(1,1)'::tid)
1617 -> Seq Scan on t2 b3t2
1618 Filter: (ctid = '(1,1)'::tid)
1621 Join Filter: (bmt1.c1 = bmt2.c1)
1622 -> Tid Scan on t1 bmt1
1623 TID Cond: (ctid = '(1,1)'::tid)
1625 -> Seq Scan on t2 bmt2
1626 Filter: (ctid = '(1,1)'::tid)
1629 Join Filter: (b1t1.c1 = b1t2.c1)
1630 -> Tid Scan on t1 b1t1
1631 TID Cond: (ctid = '(1,1)'::tid)
1632 -> Seq Scan on t2 b1t2
1633 Filter: (ctid = '(1,1)'::tid)
1636 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)
1637 TidScan(b1t1)SeqScan(b1t2)
1638 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)
1639 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)
1641 EXPLAIN (COSTS false)
1643 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)'
1645 SELECT max(bmt1.c1), (
1646 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)'
1648 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1650 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)'
1653 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1654 LOG: available indexes for IndexScan(b3t1): t1_pkey
1655 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1656 LOG: available indexes for IndexScan(bmt2): t2_pkey
1661 BitmapScan(b2t1 t1_pkey)
1663 IndexScan(b3t1 t1_pkey)
1664 BitmapScan(b3t2 t2_pkey)
1666 IndexScan(bmt2 t2_pkey)
1672 --------------------------------------------------------------------
1674 InitPlan 1 (returns $1)
1677 -> Tid Scan on t2 b2t2
1678 TID Cond: (ctid = '(1,1)'::tid)
1679 -> Bitmap Heap Scan on t1 b2t1
1680 Recheck Cond: (c1 = b2t2.c1)
1681 Filter: (ctid = '(1,1)'::tid)
1682 -> Bitmap Index Scan on t1_pkey
1683 Index Cond: (c1 = b2t2.c1)
1684 InitPlan 2 (returns $3)
1687 -> Index Scan using t1_pkey on t1 b3t1
1688 Filter: (ctid = '(1,1)'::tid)
1689 -> Bitmap Heap Scan on t2 b3t2
1690 Recheck Cond: (c1 = b3t1.c1)
1691 Filter: (ctid = '(1,1)'::tid)
1692 -> Bitmap Index Scan on t2_pkey
1693 Index Cond: (c1 = b3t1.c1)
1696 Join Filter: (bmt1.c1 = bmt2.c1)
1697 -> Seq Scan on t1 bmt1
1698 Filter: ((c1 <> $3) AND (ctid = '(1,1)'::tid))
1699 -> Index Scan using t2_pkey on t2 bmt2
1700 Filter: (ctid = '(1,1)'::tid)
1703 Join Filter: (b1t1.c1 = b1t2.c1)
1704 -> Tid Scan on t1 b1t1
1705 TID Cond: (ctid = '(1,1)'::tid)
1706 -> Seq Scan on t2 b1t2
1707 Filter: (ctid = '(1,1)'::tid)
1711 EXPLAIN (COSTS false)
1713 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)'
1715 SELECT max(bmt1.c1), (
1716 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)'
1718 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
1720 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)'
1724 -----------------------------------------------------------------------
1726 InitPlan 1 (returns $0)
1729 Join Filter: (b2t1.c1 = b2t4.c1)
1731 Join Filter: (b2t1.c1 = b2t3.c1)
1733 Join Filter: (b2t1.c1 = b2t2.c1)
1734 -> Tid Scan on t1 b2t1
1735 TID Cond: (ctid = '(1,1)'::tid)
1736 -> Seq Scan on t2 b2t2
1737 Filter: (ctid = '(1,1)'::tid)
1738 -> Tid Scan on t3 b2t3
1739 TID Cond: (ctid = '(1,1)'::tid)
1740 -> Tid Scan on t4 b2t4
1741 TID Cond: (ctid = '(1,1)'::tid)
1742 InitPlan 2 (returns $1)
1745 Join Filter: (b3t1.c1 = b3t4.c1)
1747 Join Filter: (b3t1.c1 = b3t3.c1)
1749 Join Filter: (b3t1.c1 = b3t2.c1)
1750 -> Tid Scan on t1 b3t1
1751 TID Cond: (ctid = '(1,1)'::tid)
1752 -> Seq Scan on t2 b3t2
1753 Filter: (ctid = '(1,1)'::tid)
1754 -> Tid Scan on t3 b3t3
1755 TID Cond: (ctid = '(1,1)'::tid)
1756 -> Tid Scan on t4 b3t4
1757 TID Cond: (ctid = '(1,1)'::tid)
1759 Join Filter: (bmt1.c1 = (max(b1t1.c1)))
1761 Join Filter: (bmt1.c1 = bmt4.c1)
1763 Join Filter: (bmt1.c1 = bmt3.c1)
1765 Join Filter: (bmt1.c1 = bmt2.c1)
1766 -> Tid Scan on t1 bmt1
1767 TID Cond: (ctid = '(1,1)'::tid)
1769 -> Seq Scan on t2 bmt2
1770 Filter: (ctid = '(1,1)'::tid)
1771 -> Tid Scan on t3 bmt3
1772 TID Cond: (ctid = '(1,1)'::tid)
1773 -> Tid Scan on t4 bmt4
1774 TID Cond: (ctid = '(1,1)'::tid)
1777 Join Filter: (b1t1.c1 = b1t4.c1)
1779 Join Filter: (b1t1.c1 = b1t3.c1)
1781 Join Filter: (b1t1.c1 = b1t2.c1)
1782 -> Tid Scan on t1 b1t1
1783 TID Cond: (ctid = '(1,1)'::tid)
1784 -> Seq Scan on t2 b1t2
1785 Filter: (ctid = '(1,1)'::tid)
1786 -> Tid Scan on t3 b1t3
1787 TID Cond: (ctid = '(1,1)'::tid)
1788 -> Tid Scan on t4 b1t4
1789 TID Cond: (ctid = '(1,1)'::tid)
1792 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1793 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1794 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1795 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
1797 EXPLAIN (COSTS false)
1799 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)'
1801 SELECT max(bmt1.c1), (
1802 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)'
1804 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
1806 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)'
1809 LOG: available indexes for BitmapScan(b2t1): t1_pkey
1810 LOG: available indexes for IndexScan(b2t4): t4_pkey
1811 LOG: available indexes for IndexScan(b3t1): t1_pkey
1812 LOG: available indexes for BitmapScan(b3t2): t2_pkey
1813 LOG: available indexes for IndexScan(b1t3): t3_pkey
1814 LOG: available indexes for BitmapScan(b1t4): t4_pkey
1815 LOG: available indexes for IndexScan(bmt2): t2_pkey
1816 LOG: available indexes for BitmapScan(bmt3): t3_pkey
1821 IndexScan(b1t3 t3_pkey)
1822 BitmapScan(b1t4 t4_pkey)
1823 BitmapScan(b2t1 t1_pkey)
1826 IndexScan(b2t4 t4_pkey)
1827 IndexScan(b3t1 t1_pkey)
1828 BitmapScan(b3t2 t2_pkey)
1832 IndexScan(bmt2 t2_pkey)
1833 BitmapScan(bmt3 t3_pkey)
1840 --------------------------------------------------------------------------------
1842 InitPlan 1 (returns $2)
1845 Join Filter: (b2t1.c1 = b2t4.c1)
1847 Join Filter: (b2t2.c1 = b2t1.c1)
1849 Join Filter: (b2t2.c1 = b2t3.c1)
1850 -> Tid Scan on t2 b2t2
1851 TID Cond: (ctid = '(1,1)'::tid)
1852 -> Seq Scan on t3 b2t3
1853 Filter: (ctid = '(1,1)'::tid)
1854 -> Bitmap Heap Scan on t1 b2t1
1855 Recheck Cond: (c1 = b2t3.c1)
1856 Filter: (ctid = '(1,1)'::tid)
1857 -> Bitmap Index Scan on t1_pkey
1858 Index Cond: (c1 = b2t3.c1)
1859 -> Index Scan using t4_pkey on t4 b2t4
1860 Index Cond: (c1 = b2t2.c1)
1861 Filter: (ctid = '(1,1)'::tid)
1862 InitPlan 2 (returns $5)
1865 Join Filter: (b3t1.c1 = b3t2.c1)
1867 Join Filter: (b3t3.c1 = b3t1.c1)
1869 Join Filter: (b3t3.c1 = b3t4.c1)
1870 -> Tid Scan on t3 b3t3
1871 TID Cond: (ctid = '(1,1)'::tid)
1872 -> Seq Scan on t4 b3t4
1873 Filter: (ctid = '(1,1)'::tid)
1874 -> Index Scan using t1_pkey on t1 b3t1
1875 Index Cond: (c1 = b3t4.c1)
1876 Filter: (ctid = '(1,1)'::tid)
1877 -> Bitmap Heap Scan on t2 b3t2
1878 Recheck Cond: (c1 = b3t3.c1)
1879 Filter: (ctid = '(1,1)'::tid)
1880 -> Bitmap Index Scan on t2_pkey
1881 Index Cond: (c1 = b3t3.c1)
1883 Join Filter: (bmt1.c1 = (max(b1t1.c1)))
1885 Join Filter: (bmt1.c1 = bmt3.c1)
1887 Join Filter: (bmt1.c1 = bmt2.c1)
1889 Join Filter: (bmt1.c1 = bmt4.c1)
1890 -> Seq Scan on t1 bmt1
1891 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid))
1892 -> Tid Scan on t4 bmt4
1893 TID Cond: (ctid = '(1,1)'::tid)
1894 -> Index Scan using t2_pkey on t2 bmt2
1895 Index Cond: (c1 = bmt4.c1)
1896 Filter: (ctid = '(1,1)'::tid)
1897 -> Bitmap Heap Scan on t3 bmt3
1898 Recheck Cond: (c1 = bmt2.c1)
1899 Filter: (ctid = '(1,1)'::tid)
1900 -> Bitmap Index Scan on t3_pkey
1901 Index Cond: (c1 = bmt2.c1)
1904 Join Filter: (b1t1.c1 = b1t4.c1)
1906 Join Filter: (b1t1.c1 = b1t3.c1)
1908 Join Filter: (b1t1.c1 = b1t2.c1)
1909 -> Tid Scan on t1 b1t1
1910 TID Cond: (ctid = '(1,1)'::tid)
1911 -> Seq Scan on t2 b1t2
1912 Filter: (ctid = '(1,1)'::tid)
1913 -> Index Scan using t3_pkey on t3 b1t3
1914 Index Cond: (c1 = b1t2.c1)
1915 Filter: (ctid = '(1,1)'::tid)
1916 -> Bitmap Heap Scan on t4 b1t4
1917 Recheck Cond: (c1 = b1t2.c1)
1918 Filter: (ctid = '(1,1)'::tid)
1919 -> Bitmap Index Scan on t4_pkey
1920 Index Cond: (c1 = b1t2.c1)
1924 EXPLAIN (COSTS false)
1926 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)'
1928 SELECT max(bmt1.c1), (
1929 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1931 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
1933 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
1937 -----------------------------------------------------------------------
1939 InitPlan 2 (returns $1)
1941 InitPlan 1 (returns $0)
1943 -> Tid Scan on t1 b2t1
1944 TID Cond: (ctid = '(1,1)'::tid)
1945 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1946 InitPlan 3 (returns $3)
1948 -> Tid Scan on t1 b3t1
1949 TID Cond: (ctid = '(1,1)'::tid)
1951 Join Filter: (bmt1.c1 = (max(b1t1.c1)))
1953 Join Filter: (bmt1.c1 = bmt4.c1)
1955 Join Filter: (bmt1.c1 = bmt3.c1)
1957 Join Filter: (bmt1.c1 = bmt2.c1)
1958 -> Tid Scan on t1 bmt1
1959 TID Cond: (ctid = '(1,1)'::tid)
1961 -> Seq Scan on t2 bmt2
1962 Filter: (ctid = '(1,1)'::tid)
1963 -> Tid Scan on t3 bmt3
1964 TID Cond: (ctid = '(1,1)'::tid)
1965 -> Tid Scan on t4 bmt4
1966 TID Cond: (ctid = '(1,1)'::tid)
1969 Join Filter: (b1t1.c1 = b1t4.c1)
1971 Join Filter: (b1t1.c1 = b1t3.c1)
1973 Join Filter: (b1t1.c1 = b1t2.c1)
1974 -> Tid Scan on t1 b1t1
1975 TID Cond: (ctid = '(1,1)'::tid)
1976 -> Seq Scan on t2 b1t2
1977 Filter: (ctid = '(1,1)'::tid)
1978 -> Tid Scan on t3 b1t3
1979 TID Cond: (ctid = '(1,1)'::tid)
1980 -> Tid Scan on t4 b1t4
1981 TID Cond: (ctid = '(1,1)'::tid)
1984 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1985 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1986 BitmapScan(b2t1 t1_pkey)
1987 IndexScan(b3t1 t1_pkey)
1989 EXPLAIN (COSTS false)
1991 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)'
1993 SELECT max(bmt1.c1), (
1994 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1996 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
1998 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
2001 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2002 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2003 LOG: available indexes for IndexScan(b3t1): t1_pkey
2004 LOG: available indexes for IndexScan(b3t1): t1_pkey
2005 LOG: available indexes for IndexScan(b1t3): t3_pkey
2006 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2007 LOG: available indexes for IndexScan(bmt2): t2_pkey
2008 LOG: available indexes for BitmapScan(bmt3): t3_pkey
2013 IndexScan(b1t3 t3_pkey)
2014 BitmapScan(b1t4 t4_pkey)
2015 BitmapScan(b2t1 t1_pkey)
2016 IndexScan(b3t1 t1_pkey)
2018 IndexScan(bmt2 t2_pkey)
2019 BitmapScan(bmt3 t3_pkey)
2026 --------------------------------------------------------------------------------
2028 InitPlan 2 (returns $1)
2030 InitPlan 1 (returns $0)
2032 -> Bitmap Heap Scan on t1 b2t1
2033 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2034 Filter: (ctid = '(1,1)'::tid)
2035 -> Bitmap Index Scan on t1_pkey
2036 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2037 InitPlan 4 (returns $3)
2039 InitPlan 3 (returns $2)
2041 -> Index Scan Backward using t1_pkey on t1 b3t1
2042 Index Cond: (c1 IS NOT NULL)
2043 Filter: (ctid = '(1,1)'::tid)
2045 Join Filter: (bmt1.c1 = (max(b1t1.c1)))
2047 Join Filter: (bmt1.c1 = bmt3.c1)
2049 Join Filter: (bmt1.c1 = bmt2.c1)
2051 Join Filter: (bmt1.c1 = bmt4.c1)
2052 -> Seq Scan on t1 bmt1
2053 Filter: ((c1 <> $3) AND (ctid = '(1,1)'::tid))
2054 -> Tid Scan on t4 bmt4
2055 TID Cond: (ctid = '(1,1)'::tid)
2056 -> Index Scan using t2_pkey on t2 bmt2
2057 Index Cond: (c1 = bmt4.c1)
2058 Filter: (ctid = '(1,1)'::tid)
2059 -> Bitmap Heap Scan on t3 bmt3
2060 Recheck Cond: (c1 = bmt2.c1)
2061 Filter: (ctid = '(1,1)'::tid)
2062 -> Bitmap Index Scan on t3_pkey
2063 Index Cond: (c1 = bmt2.c1)
2066 Join Filter: (b1t1.c1 = b1t4.c1)
2068 Join Filter: (b1t1.c1 = b1t3.c1)
2070 Join Filter: (b1t1.c1 = b1t2.c1)
2071 -> Tid Scan on t1 b1t1
2072 TID Cond: (ctid = '(1,1)'::tid)
2073 -> Seq Scan on t2 b1t2
2074 Filter: (ctid = '(1,1)'::tid)
2075 -> Index Scan using t3_pkey on t3 b1t3
2076 Index Cond: (c1 = b1t2.c1)
2077 Filter: (ctid = '(1,1)'::tid)
2078 -> Bitmap Heap Scan on t4 b1t4
2079 Recheck Cond: (c1 = b1t2.c1)
2080 Filter: (ctid = '(1,1)'::tid)
2081 -> Bitmap Index Scan on t4_pkey
2082 Index Cond: (c1 = b1t2.c1)
2086 ---- No. S-2-3 RULE or VIEW
2089 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2091 -----------------------------------------------------------------
2094 Join Filter: (t1.c1 = t4.c1)
2096 Join Filter: (t1.c1 = t3.c1)
2098 Join Filter: (t1.c1 = t2.c1)
2101 TID Cond: (ctid = '(1,1)'::tid)
2104 TID Cond: (ctid = '(1,1)'::tid)
2106 Filter: (ctid = '(1,1)'::tid)
2108 TID Cond: (ctid = '(1,1)'::tid)
2110 TID Cond: (ctid = '(1,1)'::tid)
2113 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2115 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2116 LOG: available indexes for IndexScan(t3): t3_pkey
2117 LOG: available indexes for BitmapScan(t4): t4_pkey
2123 IndexScan(t3 t3_pkey)
2124 BitmapScan(t4 t4_pkey)
2130 ------------------------------------------------------------------------------
2133 Join Filter: (t1.c1 = t4.c1)
2135 Join Filter: (t1.c1 = t3.c1)
2137 Join Filter: (t1.c1 = t2.c1)
2140 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2142 TID Cond: (ctid = '(1,1)'::tid)
2144 Filter: (ctid = '(1,1)'::tid)
2145 -> Index Scan using t3_pkey on t3
2146 Index Cond: (c1 = t2.c1)
2147 Filter: (ctid = '(1,1)'::tid)
2148 -> Bitmap Heap Scan on t4
2149 Recheck Cond: (c1 = t2.c1)
2150 Filter: (ctid = '(1,1)'::tid)
2151 -> Bitmap Index Scan on t4_pkey
2152 Index Cond: (c1 = t2.c1)
2155 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2157 -----------------------------------------------------------------
2160 Join Filter: (b1t1.c1 = b1t4.c1)
2162 Join Filter: (b1t1.c1 = b1t3.c1)
2164 Join Filter: (b1t1.c1 = b1t2.c1)
2167 TID Cond: (ctid = '(1,1)'::tid)
2169 -> Tid Scan on t1 b1t1
2170 TID Cond: (ctid = '(1,1)'::tid)
2171 -> Seq Scan on t2 b1t2
2172 Filter: (ctid = '(1,1)'::tid)
2173 -> Tid Scan on t3 b1t3
2174 TID Cond: (ctid = '(1,1)'::tid)
2175 -> Tid Scan on t4 b1t4
2176 TID Cond: (ctid = '(1,1)'::tid)
2179 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2181 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2182 LOG: available indexes for IndexScan(b1t3): t3_pkey
2183 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2188 IndexScan(b1t3 t3_pkey)
2189 BitmapScan(b1t4 t4_pkey)
2196 ------------------------------------------------------------------------------
2199 Join Filter: (b1t1.c1 = b1t4.c1)
2201 Join Filter: (b1t1.c1 = b1t3.c1)
2203 Join Filter: (b1t1.c1 = b1t2.c1)
2206 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2207 -> Tid Scan on t1 b1t1
2208 TID Cond: (ctid = '(1,1)'::tid)
2209 -> Seq Scan on t2 b1t2
2210 Filter: (ctid = '(1,1)'::tid)
2211 -> Index Scan using t3_pkey on t3 b1t3
2212 Index Cond: (c1 = b1t2.c1)
2213 Filter: (ctid = '(1,1)'::tid)
2214 -> Bitmap Heap Scan on t4 b1t4
2215 Recheck Cond: (c1 = b1t2.c1)
2216 Filter: (ctid = '(1,1)'::tid)
2217 -> Bitmap Index Scan on t4_pkey
2218 Index Cond: (c1 = b1t2.c1)
2222 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2224 -----------------------------------------------------------------
2227 Join Filter: (t1.c1 = t4.c1)
2229 Join Filter: (t1.c1 = t3.c1)
2231 Join Filter: (t1.c1 = t2.c1)
2234 TID Cond: (ctid = '(1,1)'::tid)
2237 TID Cond: (ctid = '(1,1)'::tid)
2239 Filter: (ctid = '(1,1)'::tid)
2241 TID Cond: (ctid = '(1,1)'::tid)
2243 TID Cond: (ctid = '(1,1)'::tid)
2247 Join Filter: (t1.c1 = t4.c1)
2249 Join Filter: (t1.c1 = t3.c1)
2251 Join Filter: (t1.c1 = t2.c1)
2254 TID Cond: (ctid = '(1,1)'::tid)
2257 TID Cond: (ctid = '(1,1)'::tid)
2259 Filter: (ctid = '(1,1)'::tid)
2261 TID Cond: (ctid = '(1,1)'::tid)
2263 TID Cond: (ctid = '(1,1)'::tid)
2266 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2268 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2269 LOG: available indexes for IndexScan(t3): t3_pkey
2270 LOG: available indexes for BitmapScan(t4): t4_pkey
2276 IndexScan(t3 t3_pkey)
2277 BitmapScan(t4 t4_pkey)
2282 LOG: available indexes for IndexScan(t3): t3_pkey
2283 LOG: available indexes for BitmapScan(t4): t4_pkey
2289 IndexScan(t3 t3_pkey)
2290 BitmapScan(t4 t4_pkey)
2296 ------------------------------------------------------------------------------
2299 Join Filter: (t1.c1 = t4.c1)
2301 Join Filter: (t1.c1 = t3.c1)
2303 Join Filter: (t1.c1 = t2.c1)
2306 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2308 TID Cond: (ctid = '(1,1)'::tid)
2310 Filter: (ctid = '(1,1)'::tid)
2311 -> Index Scan using t3_pkey on t3
2312 Index Cond: (c1 = t2.c1)
2313 Filter: (ctid = '(1,1)'::tid)
2314 -> Bitmap Heap Scan on t4
2315 Recheck Cond: (c1 = t2.c1)
2316 Filter: (ctid = '(1,1)'::tid)
2317 -> Bitmap Index Scan on t4_pkey
2318 Index Cond: (c1 = t2.c1)
2322 Join Filter: (t1.c1 = t4.c1)
2324 Join Filter: (t1.c1 = t3.c1)
2326 Join Filter: (t1.c1 = t2.c1)
2329 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2331 TID Cond: (ctid = '(1,1)'::tid)
2333 Filter: (ctid = '(1,1)'::tid)
2334 -> Index Scan using t3_pkey on t3
2335 Index Cond: (c1 = t2.c1)
2336 Filter: (ctid = '(1,1)'::tid)
2337 -> Bitmap Heap Scan on t4
2338 Recheck Cond: (c1 = t2.c1)
2339 Filter: (ctid = '(1,1)'::tid)
2340 -> Bitmap Index Scan on t4_pkey
2341 Index Cond: (c1 = t2.c1)
2344 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2346 -----------------------------------------------------------------
2349 Join Filter: (b1t1.c1 = b1t4.c1)
2351 Join Filter: (b1t1.c1 = b1t3.c1)
2353 Join Filter: (b1t1.c1 = b1t2.c1)
2356 TID Cond: (ctid = '(1,1)'::tid)
2358 -> Tid Scan on t1 b1t1
2359 TID Cond: (ctid = '(1,1)'::tid)
2360 -> Seq Scan on t2 b1t2
2361 Filter: (ctid = '(1,1)'::tid)
2362 -> Tid Scan on t3 b1t3
2363 TID Cond: (ctid = '(1,1)'::tid)
2364 -> Tid Scan on t4 b1t4
2365 TID Cond: (ctid = '(1,1)'::tid)
2369 Join Filter: (b2t1.c1 = b2t4.c1)
2371 Join Filter: (b2t1.c1 = b2t3.c1)
2373 Join Filter: (b2t1.c1 = b2t2.c1)
2376 TID Cond: (ctid = '(1,1)'::tid)
2378 -> Tid Scan on t1 b2t1
2379 TID Cond: (ctid = '(1,1)'::tid)
2380 -> Seq Scan on t2 b2t2
2381 Filter: (ctid = '(1,1)'::tid)
2382 -> Tid Scan on t3 b2t3
2383 TID Cond: (ctid = '(1,1)'::tid)
2384 -> Tid Scan on t4 b2t4
2385 TID Cond: (ctid = '(1,1)'::tid)
2388 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2389 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2391 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2392 LOG: available indexes for IndexScan(b1t3): t3_pkey
2393 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2398 IndexScan(b1t3 t3_pkey)
2399 BitmapScan(b1t4 t4_pkey)
2402 BitmapScan(b2t1 t1_pkey)
2405 IndexScan(b2t4 t4_pkey)
2409 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2410 LOG: available indexes for IndexScan(b2t4): t4_pkey
2413 BitmapScan(b2t1 t1_pkey)
2416 IndexScan(b2t4 t4_pkey)
2421 IndexScan(b1t3 t3_pkey)
2422 BitmapScan(b1t4 t4_pkey)
2427 ------------------------------------------------------------------------------
2430 Join Filter: (b1t1.c1 = b1t4.c1)
2432 Join Filter: (b1t1.c1 = b1t3.c1)
2434 Join Filter: (b1t1.c1 = b1t2.c1)
2437 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2438 -> Tid Scan on t1 b1t1
2439 TID Cond: (ctid = '(1,1)'::tid)
2440 -> Seq Scan on t2 b1t2
2441 Filter: (ctid = '(1,1)'::tid)
2442 -> Index Scan using t3_pkey on t3 b1t3
2443 Index Cond: (c1 = b1t2.c1)
2444 Filter: (ctid = '(1,1)'::tid)
2445 -> Bitmap Heap Scan on t4 b1t4
2446 Recheck Cond: (c1 = b1t2.c1)
2447 Filter: (ctid = '(1,1)'::tid)
2448 -> Bitmap Index Scan on t4_pkey
2449 Index Cond: (c1 = b1t2.c1)
2453 Join Filter: (b2t1.c1 = b2t4.c1)
2455 Join Filter: (b2t2.c1 = b2t1.c1)
2457 Join Filter: (b2t2.c1 = b2t3.c1)
2460 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2461 -> Tid Scan on t2 b2t2
2462 TID Cond: (ctid = '(1,1)'::tid)
2463 -> Seq Scan on t3 b2t3
2464 Filter: (ctid = '(1,1)'::tid)
2465 -> Bitmap Heap Scan on t1 b2t1
2466 Recheck Cond: (c1 = b2t3.c1)
2467 Filter: (ctid = '(1,1)'::tid)
2468 -> Bitmap Index Scan on t1_pkey
2469 Index Cond: (c1 = b2t3.c1)
2470 -> Index Scan using t4_pkey on t4 b2t4
2471 Index Cond: (c1 = b2t2.c1)
2472 Filter: (ctid = '(1,1)'::tid)
2476 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2478 -----------------------------------------------------------------
2481 Join Filter: (t1.c1 = t4.c1)
2483 Join Filter: (t1.c1 = t3.c1)
2485 Join Filter: (t1.c1 = t2.c1)
2488 TID Cond: (ctid = '(1,1)'::tid)
2491 TID Cond: (ctid = '(1,1)'::tid)
2493 Filter: (ctid = '(1,1)'::tid)
2495 TID Cond: (ctid = '(1,1)'::tid)
2497 TID Cond: (ctid = '(1,1)'::tid)
2501 Join Filter: (t1.c1 = t4.c1)
2503 Join Filter: (t1.c1 = t3.c1)
2505 Join Filter: (t1.c1 = t2.c1)
2508 TID Cond: (ctid = '(1,1)'::tid)
2511 TID Cond: (ctid = '(1,1)'::tid)
2513 Filter: (ctid = '(1,1)'::tid)
2515 TID Cond: (ctid = '(1,1)'::tid)
2517 TID Cond: (ctid = '(1,1)'::tid)
2521 Join Filter: (t1.c1 = t4.c1)
2523 Join Filter: (t1.c1 = t3.c1)
2525 Join Filter: (t1.c1 = t2.c1)
2528 TID Cond: (ctid = '(1,1)'::tid)
2531 TID Cond: (ctid = '(1,1)'::tid)
2533 Filter: (ctid = '(1,1)'::tid)
2535 TID Cond: (ctid = '(1,1)'::tid)
2537 TID Cond: (ctid = '(1,1)'::tid)
2540 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2542 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2543 LOG: available indexes for IndexScan(t3): t3_pkey
2544 LOG: available indexes for BitmapScan(t4): t4_pkey
2550 IndexScan(t3 t3_pkey)
2551 BitmapScan(t4 t4_pkey)
2556 LOG: available indexes for IndexScan(t3): t3_pkey
2557 LOG: available indexes for BitmapScan(t4): t4_pkey
2563 IndexScan(t3 t3_pkey)
2564 BitmapScan(t4 t4_pkey)
2569 LOG: available indexes for IndexScan(t3): t3_pkey
2570 LOG: available indexes for BitmapScan(t4): t4_pkey
2576 IndexScan(t3 t3_pkey)
2577 BitmapScan(t4 t4_pkey)
2583 ------------------------------------------------------------------------------
2586 Join Filter: (t1.c1 = t4.c1)
2588 Join Filter: (t1.c1 = t3.c1)
2590 Join Filter: (t1.c1 = t2.c1)
2593 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2595 TID Cond: (ctid = '(1,1)'::tid)
2597 Filter: (ctid = '(1,1)'::tid)
2598 -> Index Scan using t3_pkey on t3
2599 Index Cond: (c1 = t2.c1)
2600 Filter: (ctid = '(1,1)'::tid)
2601 -> Bitmap Heap Scan on t4
2602 Recheck Cond: (c1 = t2.c1)
2603 Filter: (ctid = '(1,1)'::tid)
2604 -> Bitmap Index Scan on t4_pkey
2605 Index Cond: (c1 = t2.c1)
2609 Join Filter: (t1.c1 = t4.c1)
2611 Join Filter: (t1.c1 = t3.c1)
2613 Join Filter: (t1.c1 = t2.c1)
2616 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2618 TID Cond: (ctid = '(1,1)'::tid)
2620 Filter: (ctid = '(1,1)'::tid)
2621 -> Index Scan using t3_pkey on t3
2622 Index Cond: (c1 = t2.c1)
2623 Filter: (ctid = '(1,1)'::tid)
2624 -> Bitmap Heap Scan on t4
2625 Recheck Cond: (c1 = t2.c1)
2626 Filter: (ctid = '(1,1)'::tid)
2627 -> Bitmap Index Scan on t4_pkey
2628 Index Cond: (c1 = t2.c1)
2632 Join Filter: (t1.c1 = t4.c1)
2634 Join Filter: (t1.c1 = t3.c1)
2636 Join Filter: (t1.c1 = t2.c1)
2639 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2641 TID Cond: (ctid = '(1,1)'::tid)
2643 Filter: (ctid = '(1,1)'::tid)
2644 -> Index Scan using t3_pkey on t3
2645 Index Cond: (c1 = t2.c1)
2646 Filter: (ctid = '(1,1)'::tid)
2647 -> Bitmap Heap Scan on t4
2648 Recheck Cond: (c1 = t2.c1)
2649 Filter: (ctid = '(1,1)'::tid)
2650 -> Bitmap Index Scan on t4_pkey
2651 Index Cond: (c1 = t2.c1)
2654 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2656 -----------------------------------------------------------------
2659 Join Filter: (b1t1.c1 = b1t4.c1)
2661 Join Filter: (b1t1.c1 = b1t3.c1)
2663 Join Filter: (b1t1.c1 = b1t2.c1)
2666 TID Cond: (ctid = '(1,1)'::tid)
2668 -> Tid Scan on t1 b1t1
2669 TID Cond: (ctid = '(1,1)'::tid)
2670 -> Seq Scan on t2 b1t2
2671 Filter: (ctid = '(1,1)'::tid)
2672 -> Tid Scan on t3 b1t3
2673 TID Cond: (ctid = '(1,1)'::tid)
2674 -> Tid Scan on t4 b1t4
2675 TID Cond: (ctid = '(1,1)'::tid)
2679 Join Filter: (b2t1.c1 = b2t4.c1)
2681 Join Filter: (b2t1.c1 = b2t3.c1)
2683 Join Filter: (b2t1.c1 = b2t2.c1)
2686 TID Cond: (ctid = '(1,1)'::tid)
2688 -> Tid Scan on t1 b2t1
2689 TID Cond: (ctid = '(1,1)'::tid)
2690 -> Seq Scan on t2 b2t2
2691 Filter: (ctid = '(1,1)'::tid)
2692 -> Tid Scan on t3 b2t3
2693 TID Cond: (ctid = '(1,1)'::tid)
2694 -> Tid Scan on t4 b2t4
2695 TID Cond: (ctid = '(1,1)'::tid)
2699 Join Filter: (b3t1.c1 = b3t4.c1)
2701 Join Filter: (b3t1.c1 = b3t3.c1)
2703 Join Filter: (b3t1.c1 = b3t2.c1)
2706 TID Cond: (ctid = '(1,1)'::tid)
2708 -> Tid Scan on t1 b3t1
2709 TID Cond: (ctid = '(1,1)'::tid)
2710 -> Seq Scan on t2 b3t2
2711 Filter: (ctid = '(1,1)'::tid)
2712 -> Tid Scan on t3 b3t3
2713 TID Cond: (ctid = '(1,1)'::tid)
2714 -> Tid Scan on t4 b3t4
2715 TID Cond: (ctid = '(1,1)'::tid)
2718 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2719 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2720 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
2722 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2723 LOG: available indexes for IndexScan(b1t3): t3_pkey
2724 LOG: available indexes for BitmapScan(b1t4): t4_pkey
2729 IndexScan(b1t3 t3_pkey)
2730 BitmapScan(b1t4 t4_pkey)
2733 BitmapScan(b2t1 t1_pkey)
2736 IndexScan(b2t4 t4_pkey)
2737 IndexScan(b3t1 t1_pkey)
2738 BitmapScan(b3t2 t2_pkey)
2744 LOG: available indexes for BitmapScan(b2t1): t1_pkey
2745 LOG: available indexes for IndexScan(b2t4): t4_pkey
2748 BitmapScan(b2t1 t1_pkey)
2751 IndexScan(b2t4 t4_pkey)
2756 IndexScan(b1t3 t3_pkey)
2757 BitmapScan(b1t4 t4_pkey)
2758 IndexScan(b3t1 t1_pkey)
2759 BitmapScan(b3t2 t2_pkey)
2765 LOG: available indexes for IndexScan(b3t1): t1_pkey
2766 LOG: available indexes for BitmapScan(b3t2): t2_pkey
2769 IndexScan(b3t1 t1_pkey)
2770 BitmapScan(b3t2 t2_pkey)
2777 IndexScan(b1t3 t3_pkey)
2778 BitmapScan(b1t4 t4_pkey)
2779 BitmapScan(b2t1 t1_pkey)
2782 IndexScan(b2t4 t4_pkey)
2787 ------------------------------------------------------------------------------
2790 Join Filter: (b1t1.c1 = b1t4.c1)
2792 Join Filter: (b1t1.c1 = b1t3.c1)
2794 Join Filter: (b1t1.c1 = b1t2.c1)
2797 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2798 -> Tid Scan on t1 b1t1
2799 TID Cond: (ctid = '(1,1)'::tid)
2800 -> Seq Scan on t2 b1t2
2801 Filter: (ctid = '(1,1)'::tid)
2802 -> Index Scan using t3_pkey on t3 b1t3
2803 Index Cond: (c1 = b1t2.c1)
2804 Filter: (ctid = '(1,1)'::tid)
2805 -> Bitmap Heap Scan on t4 b1t4
2806 Recheck Cond: (c1 = b1t2.c1)
2807 Filter: (ctid = '(1,1)'::tid)
2808 -> Bitmap Index Scan on t4_pkey
2809 Index Cond: (c1 = b1t2.c1)
2813 Join Filter: (b2t1.c1 = b2t4.c1)
2815 Join Filter: (b2t2.c1 = b2t1.c1)
2817 Join Filter: (b2t2.c1 = b2t3.c1)
2820 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2821 -> Tid Scan on t2 b2t2
2822 TID Cond: (ctid = '(1,1)'::tid)
2823 -> Seq Scan on t3 b2t3
2824 Filter: (ctid = '(1,1)'::tid)
2825 -> Bitmap Heap Scan on t1 b2t1
2826 Recheck Cond: (c1 = b2t3.c1)
2827 Filter: (ctid = '(1,1)'::tid)
2828 -> Bitmap Index Scan on t1_pkey
2829 Index Cond: (c1 = b2t3.c1)
2830 -> Index Scan using t4_pkey on t4 b2t4
2831 Index Cond: (c1 = b2t2.c1)
2832 Filter: (ctid = '(1,1)'::tid)
2836 Join Filter: (b3t1.c1 = b3t2.c1)
2838 Join Filter: (b3t3.c1 = b3t1.c1)
2840 Join Filter: (b3t3.c1 = b3t4.c1)
2843 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2844 -> Tid Scan on t3 b3t3
2845 TID Cond: (ctid = '(1,1)'::tid)
2846 -> Seq Scan on t4 b3t4
2847 Filter: (ctid = '(1,1)'::tid)
2848 -> Index Scan using t1_pkey on t1 b3t1
2849 Index Cond: (c1 = b3t4.c1)
2850 Filter: (ctid = '(1,1)'::tid)
2851 -> Bitmap Heap Scan on t2 b3t2
2852 Recheck Cond: (c1 = b3t3.c1)
2853 Filter: (ctid = '(1,1)'::tid)
2854 -> Bitmap Index Scan on t2_pkey
2855 Index Cond: (c1 = b3t3.c1)
2859 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2861 ------------------------------------
2863 Hash Cond: (v1t1.c1 = v1t1_1.c1)
2864 -> Seq Scan on t1 v1t1
2866 -> Seq Scan on t1 v1t1_1
2869 /*+BitmapScan(v1t1)*/
2870 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1 v2 WHERE v1.c1 = v2.c1;
2879 ------------------------------------------
2881 -> Index Scan using t1_i1 on t1 v1t1
2882 -> Bitmap Heap Scan on t1 v1t1_1
2883 Recheck Cond: (c1 = v1t1.c1)
2884 -> Bitmap Index Scan on t1_i1
2885 Index Cond: (c1 = v1t1.c1)
2889 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2891 -----------------------------------
2893 Hash Cond: (v1t1.c1 = v1t1_.c1)
2894 -> Seq Scan on t1 v1t1
2896 -> Seq Scan on t1 v1t1_
2899 /*+SeqScan(v1t1)BitmapScan(v1t1_)*/
2900 EXPLAIN (COSTS false) SELECT * FROM s1.v1 v1, s1.v1_ v2 WHERE v1.c1 = v2.c1;
2910 ------------------------------------------
2912 -> Seq Scan on t1 v1t1
2913 -> Bitmap Heap Scan on t1 v1t1_
2914 Recheck Cond: (c1 = v1t1.c1)
2915 -> Bitmap Index Scan on t1_i1
2916 Index Cond: (c1 = v1t1.c1)
2920 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2922 ------------------------------------
2924 Hash Cond: (r4t1.c1 = r4t1_1.c1)
2925 -> Seq Scan on t1 r4t1
2927 -> Seq Scan on t1 r4t1_1
2930 /*+BitmapScan(r4t1)*/
2931 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r4 t2 WHERE t1.c1 = t2.c1;
2940 ------------------------------------------
2942 -> Index Scan using t1_i1 on t1 r4t1
2943 -> Bitmap Heap Scan on t1 r4t1_1
2944 Recheck Cond: (c1 = r4t1.c1)
2945 -> Bitmap Index Scan on t1_i1
2946 Index Cond: (c1 = r4t1.c1)
2950 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2952 ----------------------------------
2954 Hash Cond: (r4t1.c1 = r5t1.c1)
2955 -> Seq Scan on t1 r4t1
2957 -> Seq Scan on t1 r5t1
2960 /*+SeqScan(r4t1)BitmapScan(r5t1)*/
2961 EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
2971 ------------------------------------------
2973 -> Seq Scan on t1 r4t1
2974 -> Bitmap Heap Scan on t1 r5t1
2975 Recheck Cond: (c1 = r4t1.c1)
2976 -> Bitmap Index Scan on t1_i1
2977 Index Cond: (c1 = r4t1.c1)
2981 ---- No. S-2-4 VALUES clause
2984 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
2991 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3004 /*+SeqScan(*VALUES*)*/
3005 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
3019 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;
3021 ----------------------------------------------------------
3023 Hash Cond: ("*VALUES*".column1 = "*VALUES*_1".column1)
3024 -> Values Scan on "*VALUES*"
3026 -> Values Scan on "*VALUES*_1"
3030 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;
3031 INFO: pg_hint_plan: hint syntax error at or near ""
3032 DETAIL: SeqScan hint accepts only one relation.
3041 ----------------------------------------------------------
3043 Hash Cond: ("*VALUES*".column1 = "*VALUES*_1".column1)
3044 -> Values Scan on "*VALUES*"
3046 -> Values Scan on "*VALUES*_1"
3049 /*+SeqScan(*VALUES*)*/
3050 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;
3059 ----------------------------------------------------------
3061 Hash Cond: ("*VALUES*".column1 = "*VALUES*_1".column1)
3062 -> Values Scan on "*VALUES*"
3064 -> Values Scan on "*VALUES*_1"
3068 ---- No. S-3-1 scan method hint
3071 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3073 ---------------------
3079 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3088 ---------------------
3094 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3096 ------------------------------
3097 Index Scan using t1_i1 on t1
3098 Index Cond: (c1 = 1)
3102 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3111 --------------------
3117 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3119 ------------------------------
3120 Index Scan using t1_i1 on t1
3121 Index Cond: (c1 = 1)
3125 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3134 ------------------------------
3135 Index Scan using t1_i1 on t1
3136 Index Cond: (c1 = 1)
3140 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3142 ---------------------
3148 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3157 ------------------------------
3158 Index Scan using t1_i1 on t1
3159 Index Cond: (c1 >= 1)
3163 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3165 ---------------------------------
3166 Bitmap Heap Scan on t1
3167 Recheck Cond: (c3 < 10)
3168 -> Bitmap Index Scan on t1_i
3169 Index Cond: (c3 < 10)
3173 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3182 ---------------------------------
3183 Bitmap Heap Scan on t1
3184 Recheck Cond: (c3 < 10)
3185 -> Bitmap Index Scan on t1_i
3186 Index Cond: (c3 < 10)
3190 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3192 ------------------------------
3193 Index Scan using t1_i1 on t1
3194 Index Cond: (c1 = 1)
3198 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3207 ----------------------------------
3208 Bitmap Heap Scan on t1
3209 Recheck Cond: (c1 = 1)
3210 -> Bitmap Index Scan on t1_i1
3211 Index Cond: (c1 = 1)
3215 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3217 -----------------------------------
3219 TID Cond: (ctid = '(1,1)'::tid)
3224 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3233 -----------------------------------
3235 TID Cond: (ctid = '(1,1)'::tid)
3240 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3242 -------------------------------------------------------------
3243 Index Scan using t1_i1 on t1
3244 Index Cond: (c1 = 1)
3245 Filter: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3249 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3258 ---------------------------------------------------------------
3260 TID Cond: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3265 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3267 ---------------------
3273 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3282 ------------------------------
3283 Index Scan using t1_i1 on t1
3284 Index Cond: (c1 >= 1)
3288 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3290 ------------------------------
3291 Index Scan using t1_i1 on t1
3292 Index Cond: (c1 = 1)
3296 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3305 ------------------------------
3306 Index Scan using t1_i1 on t1
3307 Index Cond: (c1 = 1)
3311 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3313 ------------------------------
3314 Index Scan using t1_i1 on t1
3315 Index Cond: (c1 = 1)
3318 /*+NoIndexScan(t1)*/
3319 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3328 ----------------------------------
3329 Bitmap Heap Scan on t1
3330 Recheck Cond: (c1 = 1)
3331 -> Bitmap Index Scan on t1_i1
3332 Index Cond: (c1 = 1)
3336 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3338 ---------------------
3343 /*+NoIndexScan(t1)*/
3344 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3353 ---------------------
3359 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3361 ---------------------------------
3362 Bitmap Heap Scan on t1
3363 Recheck Cond: (c3 < 10)
3364 -> Bitmap Index Scan on t1_i
3365 Index Cond: (c3 < 10)
3368 /*+NoBitmapScan(t1)*/
3369 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3378 ---------------------
3384 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3386 ------------------------------
3387 Index Scan using t1_i1 on t1
3388 Index Cond: (c1 = 1)
3391 /*+NoBitmapScan(t1)*/
3392 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3401 ------------------------------
3402 Index Scan using t1_i1 on t1
3403 Index Cond: (c1 = 1)
3407 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3409 -----------------------------------
3411 TID Cond: (ctid = '(1,1)'::tid)
3416 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3425 ---------------------------------
3426 Index Scan using t1_i1 on t1
3427 Index Cond: (c1 = 1)
3428 Filter: (ctid = '(1,1)'::tid)
3432 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3434 ------------------------------
3435 Index Scan using t1_i1 on t1
3436 Index Cond: (c1 = 1)
3440 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3449 ------------------------------
3450 Index Scan using t1_i1 on t1
3451 Index Cond: (c1 = 1)
3455 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3457 -----------------------------------
3458 Index Only Scan using t1_i1 on t1
3459 Index Cond: (c1 = 1)
3462 /*+IndexOnlyScan(t1)*/
3463 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3472 -----------------------------------
3473 Index Only Scan using t1_i1 on t1
3474 Index Cond: (c1 = 1)
3478 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3480 ---------------------
3485 /*+IndexOnlyScan(t1)*/
3486 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3495 -----------------------------------
3496 Index Only Scan using t1_i1 on t1
3497 Index Cond: (c1 >= 1)
3501 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3503 -----------------------------------
3504 Index Only Scan using t1_i1 on t1
3505 Index Cond: (c1 = 1)
3508 /*+NoIndexOnlyScan(t1)*/
3509 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 = 1;
3518 ------------------------------
3519 Index Scan using t1_i1 on t1
3520 Index Cond: (c1 = 1)
3524 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3526 ---------------------
3531 /*+NoIndexOnlyScan(t1)*/
3532 EXPLAIN (COSTS false) SELECT c1 FROM s1.t1 WHERE t1.c1 >= 1;
3541 ---------------------
3547 ---- No. S-3-3 index name specified
3549 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3551 -----------------------------------
3553 TID Cond: (ctid = '(1,1)'::tid)
3557 SET enable_tidscan TO off;
3558 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3560 ---------------------------------
3561 Index Scan using ti1_i4 on ti1
3562 Index Cond: (c2 = 1)
3563 Filter: (ctid = '(1,1)'::tid)
3566 SET enable_indexscan TO off;
3567 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3569 -----------------------------------
3570 Bitmap Heap Scan on ti1
3571 Recheck Cond: (c2 = 1)
3572 Filter: (ctid = '(1,1)'::tid)
3573 -> Bitmap Index Scan on ti1_i4
3574 Index Cond: (c2 = 1)
3577 RESET enable_tidscan;
3578 RESET enable_indexscan;
3579 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3581 ---------------------
3587 /*+IndexScan(ti1 ti1_i3)*/
3588 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3589 LOG: available indexes for IndexScan(ti1): ti1_i3
3592 IndexScan(ti1 ti1_i3)
3598 ---------------------------------
3599 Index Scan using ti1_i3 on ti1
3600 Index Cond: (c2 = 1)
3601 Filter: (ctid = '(1,1)'::tid)
3605 /*+IndexScan(ti1 ti1_i3 ti1_i2)*/
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 ti1_i2
3610 IndexScan(ti1 ti1_i3 ti1_i2)
3616 ---------------------------------
3617 Index Scan using ti1_i3 on ti1
3618 Index Cond: (c2 = 1)
3619 Filter: (ctid = '(1,1)'::tid)
3623 /*+IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3624 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3625 LOG: available indexes for IndexScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3628 IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3634 ---------------------------------
3635 Index Scan using ti1_i4 on ti1
3636 Index Cond: (c2 = 1)
3637 Filter: (ctid = '(1,1)'::tid)
3641 /*+BitmapScan(ti1 ti1_i3)*/
3642 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3643 LOG: available indexes for BitmapScan(ti1): ti1_i3
3646 BitmapScan(ti1 ti1_i3)
3652 -----------------------------------
3653 Bitmap Heap Scan on ti1
3654 Recheck Cond: (c2 = 1)
3655 Filter: (ctid = '(1,1)'::tid)
3656 -> Bitmap Index Scan on ti1_i3
3657 Index Cond: (c2 = 1)
3661 /*+BitmapScan(ti1 ti1_i3 ti1_i2)*/
3662 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3663 LOG: available indexes for BitmapScan(ti1): ti1_i3 ti1_i2
3666 BitmapScan(ti1 ti1_i3 ti1_i2)
3672 -----------------------------------
3673 Bitmap Heap Scan on ti1
3674 Recheck Cond: (c2 = 1)
3675 Filter: (ctid = '(1,1)'::tid)
3676 -> Bitmap Index Scan on ti1_i3
3677 Index Cond: (c2 = 1)
3681 /*+BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3682 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3683 LOG: available indexes for BitmapScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3686 BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3692 -----------------------------------
3693 Bitmap Heap Scan on ti1
3694 Recheck Cond: (c2 = 1)
3695 Filter: (ctid = '(1,1)'::tid)
3696 -> Bitmap Index Scan on ti1_i4
3697 Index Cond: (c2 = 1)
3701 /*+IndexOnlyScan(ti1 ti1_i3)*/
3702 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3703 LOG: available indexes for IndexOnlyScan(ti1): ti1_i3
3706 IndexOnlyScan(ti1 ti1_i3)
3712 -------------------------------------
3713 Index Only Scan using ti1_i3 on ti1
3714 Index Cond: (c2 >= 1)
3718 /*+IndexOnlyScan(ti1 ti1_i3 ti1_i2)*/
3719 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3720 LOG: available indexes for IndexOnlyScan(ti1): ti1_i3 ti1_i2
3723 IndexOnlyScan(ti1 ti1_i3 ti1_i2)
3729 -------------------------------------
3730 Index Only Scan using ti1_i2 on ti1
3731 Index Cond: (c2 >= 1)
3735 /*+IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3736 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
3737 LOG: available indexes for IndexOnlyScan(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
3740 IndexOnlyScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3746 -------------------------------------
3747 Index Only Scan using ti1_i1 on ti1
3748 Index Cond: (c2 >= 1)
3752 ---- No. S-3-4 index type
3756 Column | Type | Collation | Nullable | Default
3757 --------+---------+-----------+----------+---------
3758 c1 | integer | | not null |
3763 "ti1_pkey" PRIMARY KEY, btree (c1)
3764 "ti1_c2_key" UNIQUE CONSTRAINT, btree (c2)
3765 "ti1_uniq" UNIQUE, btree (c1)
3766 "ti1_btree" btree (c1)
3767 "ti1_expr" btree ((c1 < 100))
3769 "ti1_gist" gist (c1)
3770 "ti1_hash" hash (c1)
3772 "ti1_i2" btree (c2, c4)
3773 "ti1_i3" btree (c2, c4, c4)
3774 "ti1_i4" btree (c2, c4, c4, c4)
3775 "ti1_multi" btree (c1, c2, c3, c4)
3776 "ti1_pred" btree (lower(c4))
3777 "ti1_ts" gin (to_tsvector('english'::regconfig, c4))
3779 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3781 -----------------------------------------------------------------------------------------------------------------------------------------
3783 TID Cond: (ctid = '(1,1)'::tid)
3784 Filter: ((c1 < 100) AND (c2 = 1) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3788 /*+IndexScan(ti1 ti1_btree)*/
3789 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)';
3790 LOG: available indexes for IndexScan(ti1): ti1_btree
3793 IndexScan(ti1 ti1_btree)
3799 ----------------------------------------------------------------------------------------------------------------------------------------------------
3800 Index Scan using ti1_btree on ti1
3801 Index Cond: (c1 < 100)
3802 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3806 /*+IndexScan(ti1 ti1_hash)*/
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_hash
3811 IndexScan(ti1 ti1_hash)
3817 ----------------------------------------------------------------------------------------------------------------------------------------------------
3818 Index Scan using ti1_hash 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_gist)*/
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_gist
3829 IndexScan(ti1 ti1_gist)
3835 ----------------------------------------------------------------------------------------------------------------------------------------------------
3836 Index Scan using ti1_gist 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_gin)*/
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_gin
3847 IndexScan(ti1 ti1_gin)
3853 -----------------------------------------------------------------------------------------------------------------------------------------
3855 TID Cond: (ctid = '(1,1)'::tid)
3856 Filter: ((c1 < 100) AND (c2 = 1) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3860 /*+IndexScan(ti1 ti1_expr)*/
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_expr
3865 IndexScan(ti1 ti1_expr)
3871 ----------------------------------------------------------------------------------------------------------------------------------------------------
3872 Index Scan using ti1_expr on ti1
3873 Index Cond: ((c1 < 100) = true)
3874 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3878 /*+IndexScan(ti1 ti1_pred)*/
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_pred
3883 IndexScan(ti1 ti1_pred)
3889 ---------------------------------------------------------------------------------------------------------------------------------------
3890 Index Scan using ti1_pred on ti1
3891 Index Cond: (lower(c4) = '1'::text)
3892 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3896 /*+IndexScan(ti1 ti1_uniq)*/
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_uniq
3901 IndexScan(ti1 ti1_uniq)
3907 ----------------------------------------------------------------------------------------------------------------------------------------------------
3908 Index Scan using ti1_uniq on ti1
3909 Index Cond: (c1 < 100)
3910 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3914 /*+IndexScan(ti1 ti1_multi)*/
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_multi
3919 IndexScan(ti1 ti1_multi)
3925 ---------------------------------------------------------------------------------------------------------------------------------------
3926 Index Scan using ti1_multi on ti1
3927 Index Cond: ((c1 < 100) AND (c2 = 1))
3928 Filter: ((ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3932 /*+IndexScan(ti1 ti1_ts)*/
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_ts
3937 IndexScan(ti1 ti1_ts)
3943 -----------------------------------------------------------------------------------------------------------------------------------------
3945 TID Cond: (ctid = '(1,1)'::tid)
3946 Filter: ((c1 < 100) AND (c2 = 1) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3950 /*+IndexScan(ti1 ti1_pkey)*/
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_pkey
3955 IndexScan(ti1 ti1_pkey)
3961 ----------------------------------------------------------------------------------------------------------------------------------------------------
3962 Index Scan using ti1_pkey on ti1
3963 Index Cond: (c1 < 100)
3964 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3968 /*+IndexScan(ti1 ti1_c2_key)*/
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_c2_key
3973 IndexScan(ti1 ti1_c2_key)
3979 ------------------------------------------------------------------------------------------------------------------------------------------------------
3980 Index Scan using ti1_c2_key on ti1
3981 Index Cond: (c2 = 1)
3982 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3986 /*+BitmapScan(ti1 ti1_btree)*/
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 BitmapScan(ti1): ti1_btree
3991 BitmapScan(ti1 ti1_btree)
3997 ----------------------------------------------------------------------------------------------------------------------------------------------------
3998 Bitmap Heap Scan on ti1
3999 Recheck Cond: (c1 < 100)
4000 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4001 -> Bitmap Index Scan on ti1_btree
4002 Index Cond: (c1 < 100)
4006 /*+BitmapScan(ti1 ti1_hash)*/
4007 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)';
4008 LOG: available indexes for BitmapScan(ti1): ti1_hash
4011 BitmapScan(ti1 ti1_hash)
4017 ----------------------------------------------------------------------------------------------------------------------------------------------------
4018 Bitmap Heap Scan on ti1
4019 Recheck Cond: (c1 = 100)
4020 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4021 -> Bitmap Index Scan on ti1_hash
4022 Index Cond: (c1 = 100)
4026 /*+BitmapScan(ti1 ti1_gist)*/
4027 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)';
4028 LOG: available indexes for BitmapScan(ti1): ti1_gist
4031 BitmapScan(ti1 ti1_gist)
4037 ----------------------------------------------------------------------------------------------------------------------------------------------------
4038 Bitmap Heap Scan on ti1
4039 Recheck Cond: (c1 < 100)
4040 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4041 -> Bitmap Index Scan on ti1_gist
4042 Index Cond: (c1 < 100)
4046 /*+BitmapScan(ti1 ti1_gin)*/
4047 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)';
4048 LOG: available indexes for BitmapScan(ti1): ti1_gin
4051 BitmapScan(ti1 ti1_gin)
4057 ----------------------------------------------------------------------------------------------------------------------------------------------------
4058 Bitmap Heap Scan on ti1
4059 Recheck Cond: (c1 < 100)
4060 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4061 -> Bitmap Index Scan on ti1_gin
4062 Index Cond: (c1 < 100)
4066 /*+BitmapScan(ti1 ti1_expr)*/
4067 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)';
4068 LOG: available indexes for BitmapScan(ti1): ti1_expr
4071 BitmapScan(ti1 ti1_expr)
4077 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
4078 Bitmap Heap Scan on ti1
4079 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))
4080 -> Bitmap Index Scan on ti1_expr
4081 Index Cond: ((c1 < 100) = true)
4085 /*+BitmapScan(ti1 ti1_pred)*/
4086 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)';
4087 LOG: available indexes for BitmapScan(ti1): ti1_pred
4090 BitmapScan(ti1 ti1_pred)
4096 ---------------------------------------------------------------------------------------------------------------------------------------
4097 Bitmap Heap Scan on ti1
4098 Recheck Cond: (lower(c4) = '1'::text)
4099 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4100 -> Bitmap Index Scan on ti1_pred
4101 Index Cond: (lower(c4) = '1'::text)
4105 /*+BitmapScan(ti1 ti1_uniq)*/
4106 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)';
4107 LOG: available indexes for BitmapScan(ti1): ti1_uniq
4110 BitmapScan(ti1 ti1_uniq)
4116 ----------------------------------------------------------------------------------------------------------------------------------------------------
4117 Bitmap Heap Scan on ti1
4118 Recheck Cond: (c1 < 100)
4119 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4120 -> Bitmap Index Scan on ti1_uniq
4121 Index Cond: (c1 < 100)
4125 /*+BitmapScan(ti1 ti1_multi)*/
4126 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)';
4127 LOG: available indexes for BitmapScan(ti1): ti1_multi
4130 BitmapScan(ti1 ti1_multi)
4136 ---------------------------------------------------------------------------------------------------------------------------------------
4137 Bitmap Heap Scan on ti1
4138 Recheck Cond: ((c1 < 100) AND (c2 = 1))
4139 Filter: ((ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4140 -> Bitmap Index Scan on ti1_multi
4141 Index Cond: ((c1 < 100) AND (c2 = 1))
4145 /*+BitmapScan(ti1 ti1_ts)*/
4146 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)';
4147 LOG: available indexes for BitmapScan(ti1): ti1_ts
4150 BitmapScan(ti1 ti1_ts)
4156 -------------------------------------------------------------------------------------------
4157 Bitmap Heap Scan on ti1
4158 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4159 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text))
4160 -> Bitmap Index Scan on ti1_ts
4161 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4165 /*+BitmapScan(ti1 ti1_pkey)*/
4166 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)';
4167 LOG: available indexes for BitmapScan(ti1): ti1_pkey
4170 BitmapScan(ti1 ti1_pkey)
4176 ----------------------------------------------------------------------------------------------------------------------------------------------------
4177 Bitmap Heap Scan on ti1
4178 Recheck Cond: (c1 < 100)
4179 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4180 -> Bitmap Index Scan on ti1_pkey
4181 Index Cond: (c1 < 100)
4185 /*+BitmapScan(ti1 ti1_c2_key)*/
4186 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)';
4187 LOG: available indexes for BitmapScan(ti1): ti1_c2_key
4190 BitmapScan(ti1 ti1_c2_key)
4196 ------------------------------------------------------------------------------------------------------------------------------------------------------
4197 Bitmap Heap Scan on ti1
4198 Recheck Cond: (c2 = 1)
4199 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
4200 -> Bitmap Index Scan on ti1_c2_key
4201 Index Cond: (c2 = 1)
4205 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4207 ---------------------
4212 /*+IndexOnlyScan(ti1 ti1_btree)*/
4213 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4214 LOG: available indexes for IndexOnlyScan(ti1): ti1_btree
4217 IndexOnlyScan(ti1 ti1_btree)
4223 ----------------------------------------
4224 Index Only Scan using ti1_btree on ti1
4225 Index Cond: (c1 >= 1)
4229 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4231 ----------------------------------
4232 Index Scan using ti1_hash on ti1
4233 Index Cond: (c1 = 1)
4236 /*+IndexOnlyScan(ti1 ti1_hash)*/
4237 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4238 LOG: available indexes for IndexOnlyScan(ti1): ti1_hash
4241 IndexOnlyScan(ti1 ti1_hash)
4247 ----------------------------------
4248 Index Scan using ti1_hash on ti1
4249 Index Cond: (c1 = 1)
4253 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4255 ---------------------------------------
4256 Index Only Scan using ti1_uniq on ti1
4257 Index Cond: (c1 < 1)
4260 /*+IndexOnlyScan(ti1 ti1_gist)*/
4261 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 1;
4262 LOG: available indexes for IndexOnlyScan(ti1): ti1_gist
4265 IndexOnlyScan(ti1 ti1_gist)
4271 ---------------------------------------
4272 Index Only Scan using ti1_gist on ti1
4273 Index Cond: (c1 < 1)
4277 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4279 ----------------------------------
4280 Index Scan using ti1_hash on ti1
4281 Index Cond: (c1 = 1)
4284 /*+IndexOnlyScan(ti1 ti1_gin)*/
4285 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
4286 LOG: available indexes for IndexOnlyScan(ti1): ti1_gin
4289 IndexOnlyScan(ti1 ti1_gin)
4295 ------------------------------------
4296 Bitmap Heap Scan on ti1
4297 Recheck Cond: (c1 = 1)
4298 -> Bitmap Index Scan on ti1_gin
4299 Index Cond: (c1 = 1)
4303 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4305 ---------------------------------------
4306 Index Only Scan using ti1_uniq on ti1
4307 Index Cond: (c1 < 100)
4310 /*+IndexOnlyScan(ti1 ti1_expr)*/
4311 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
4312 LOG: available indexes for IndexOnlyScan(ti1): ti1_expr
4315 IndexOnlyScan(ti1 ti1_expr)
4321 -----------------------------------
4322 Index Scan using ti1_expr on ti1
4323 Index Cond: ((c1 < 100) = true)
4327 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4329 ------------------------------------
4331 Filter: (lower(c4) >= '1'::text)
4334 /*+IndexOnlyScan(ti1 ti1_pred)*/
4335 EXPLAIN (COSTS false) SELECT c4 FROM s1.ti1 WHERE lower(c4) >= '1';
4336 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
4339 IndexOnlyScan(ti1 ti1_pred)
4345 ----------------------------------------
4346 Index Scan using ti1_pred on ti1
4347 Index Cond: (lower(c4) >= '1'::text)
4351 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4353 ---------------------
4358 /*+IndexOnlyScan(ti1 ti1_uniq)*/
4359 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4360 LOG: available indexes for IndexOnlyScan(ti1): ti1_uniq
4363 IndexOnlyScan(ti1 ti1_uniq)
4369 ---------------------------------------
4370 Index Only Scan using ti1_uniq on ti1
4371 Index Cond: (c1 >= 1)
4375 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4377 ---------------------
4382 /*+IndexOnlyScan(ti1 ti1_multi)*/
4383 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4384 LOG: available indexes for IndexOnlyScan(ti1): ti1_multi
4387 IndexOnlyScan(ti1 ti1_multi)
4393 ----------------------------------------
4394 Index Only Scan using ti1_multi on ti1
4395 Index Cond: (c1 >= 1)
4399 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4401 -----------------------------------------------------------------------------------------
4402 Bitmap Heap Scan on ti1
4403 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4404 -> Bitmap Index Scan on ti1_ts
4405 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4408 /*+IndexOnlyScan(ti1 ti1_ts)*/
4409 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE to_tsvector('english', c4) @@ 'a & b';
4410 LOG: available indexes for IndexOnlyScan(ti1): ti1_ts
4413 IndexOnlyScan(ti1 ti1_ts)
4419 -----------------------------------------------------------------------------------------
4420 Bitmap Heap Scan on ti1
4421 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4422 -> Bitmap Index Scan on ti1_ts
4423 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
4427 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4429 ---------------------
4434 /*+IndexOnlyScan(ti1 ti1_pkey)*/
4435 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
4436 LOG: available indexes for IndexOnlyScan(ti1): ti1_pkey
4439 IndexOnlyScan(ti1 ti1_pkey)
4445 ---------------------------------------
4446 Index Only Scan using ti1_pkey on ti1
4447 Index Cond: (c1 >= 1)
4451 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4453 ---------------------
4458 /*+IndexOnlyScan(ti1 ti1_c2_key)*/
4459 EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE c2 >= 1;
4460 LOG: available indexes for IndexOnlyScan(ti1): ti1_c2_key
4463 IndexOnlyScan(ti1 ti1_c2_key)
4469 -----------------------------------------
4470 Index Only Scan using ti1_c2_key on ti1
4471 Index Cond: (c2 >= 1)
4475 ---- No. S-3-5 not used index
4478 \o results/ut-S.tmpout
4479 /*+IndexScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4480 LOG: available indexes for IndexScan(ti1): ti1_pred
4483 IndexScan(ti1 ti1_pred)
4489 \! sql/maskout.sh results/ut-S.tmpout
4491 ------------------------------------------------------------------------
4492 Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
4496 \o results/ut-S.tmpout
4497 /*+BitmapScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4498 LOG: available indexes for BitmapScan(ti1): ti1_pred
4501 BitmapScan(ti1 ti1_pred)
4507 \! sql/maskout.sh results/ut-S.tmpout
4509 ------------------------------------------------------------------------
4510 Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
4514 \o results/ut-S.tmpout
4515 /*+IndexOnlyScan(ti1 ti1_pred)*/ EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
4516 LOG: available indexes for IndexOnlyScan(ti1): ti1_pred
4519 IndexOnlyScan(ti1 ti1_pred)
4525 \! sql/maskout.sh results/ut-S.tmpout
4527 -----------------------------------------------------------------------
4528 Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
4532 \o results/ut-S.tmpout
4533 /*+IndexScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4534 LOG: available indexes for IndexScan(ti1):
4537 IndexScan(ti1 not_exist)
4543 \! sql/maskout.sh results/ut-S.tmpout
4545 ------------------------------------------------------------------------
4546 Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
4550 \o results/ut-S.tmpout
4551 /*+BitmapScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
4552 LOG: available indexes for BitmapScan(ti1):
4555 BitmapScan(ti1 not_exist)
4561 \! sql/maskout.sh results/ut-S.tmpout
4563 ------------------------------------------------------------------------
4564 Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
4568 \o results/ut-S.tmpout
4569 /*+IndexOnlyScan(ti1 not_exist)*/ EXPLAIN (COSTS true) SELECT c1 FROM s1.ti1 WHERE c1 = 100;
4570 LOG: available indexes for IndexOnlyScan(ti1):
4573 IndexOnlyScan(ti1 not_exist)
4579 \! sql/maskout.sh results/ut-S.tmpout
4581 -----------------------------------------------------------------------
4582 Seq Scan on ti1 (cost={inf}..{inf} rows=1 width=xxx)
4586 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
4588 ------------------------------
4589 Index Scan using t1_i1 on t1
4590 Index Cond: (c1 = 1)
4593 \o results/ut-S.tmpout
4594 /*+TidScan(t1)*/ EXPLAIN (COSTS true) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
4603 \! sql/maskout.sh results/ut-S.tmpout
4605 -----------------------------------------------------------------------
4606 Seq Scan on t1 (cost={inf}..{inf} rows=1 width=xxx)
4610 ---- No. S-3-6 query structure
4612 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4614 -----------------------------------------------
4616 Hash Cond: (t2.c1 = t1.c1)
4620 TID Cond: (ctid = '(1,1)'::tid)
4625 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE c1 = 100;
4634 ----------------------
4640 /*+SeqScan(t1)BitmapScan(t2)*/
4641 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4651 ----------------------------------------
4654 Filter: (ctid = '(1,1)'::tid)
4655 -> Bitmap Heap Scan on t2
4656 Recheck Cond: (c1 = t1.c1)
4657 -> Bitmap Index Scan on t2_i1
4658 Index Cond: (c1 = t1.c1)
4663 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
4672 ---------------------------------------------
4674 Hash Cond: (t2.c1 = t1.c1)
4678 Filter: (ctid = '(1,1)'::tid)
4682 ---- No. S-3-7 number of tables in a query block
4685 EXPLAIN (COSTS false)
4687 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4688 SELECT max(b3t1.c1), (
4689 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4690 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4691 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4693 ---------------------------------------------------------------------
4695 InitPlan 2 (returns $1)
4697 InitPlan 1 (returns $0)
4699 -> Index Only Scan using t1_i1 on t1 b2t1
4700 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4701 InitPlan 4 (returns $3)
4703 InitPlan 3 (returns $2)
4705 -> Index Only Scan using t1_i1 on t1 b4t1
4706 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4707 -> Index Only Scan using t1_i1 on t1 b3t1
4708 Index Cond: (c1 = $3)
4711 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4713 EXPLAIN (COSTS false)
4715 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4716 SELECT max(b3t1.c1), (
4717 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4718 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4719 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4720 LOG: available indexes for IndexScan(b2t1): t1_pkey
4721 LOG: available indexes for IndexScan(b2t1): t1_pkey
4722 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4725 IndexScan(b2t1 t1_pkey)
4726 BitmapScan(b3t1 t1_pkey)
4734 ---------------------------------------------------------------------
4736 InitPlan 2 (returns $1)
4738 InitPlan 1 (returns $0)
4740 -> Index Scan using t1_pkey on t1 b2t1
4741 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4742 InitPlan 4 (returns $3)
4744 InitPlan 3 (returns $2)
4746 -> Seq Scan on t1 b4t1
4747 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4748 -> Bitmap Heap Scan on t1 b3t1
4749 Recheck Cond: (c1 = $3)
4750 -> Bitmap Index Scan on t1_pkey
4751 Index Cond: (c1 = $3)
4755 EXPLAIN (COSTS false)
4757 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4758 SELECT max(b3t1.c1), (
4759 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4760 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4761 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4763 ----------------------------------------------------------------
4765 InitPlan 1 (returns $0)
4768 -> Index Only Scan using t1_i1 on t1 b2t1
4769 Index Cond: (c1 = 1)
4770 -> Seq Scan on t2 b2t2
4772 InitPlan 2 (returns $1)
4775 -> Index Only Scan using t1_i1 on t1 b4t1
4776 Index Cond: (c1 = 1)
4777 -> Seq Scan on t2 b4t2
4781 -> Index Only Scan using t1_i1 on t1 b3t1
4782 Index Cond: (c1 = $1)
4783 -> Seq Scan on t2 b3t2
4786 Filter: (max(b1t1.c1) = $1)
4788 -> Index Only Scan using t1_i1 on t1 b1t1
4789 Index Cond: (c1 = 1)
4790 -> Seq Scan on t2 b1t2
4794 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4795 TidScan(b1t2)SeqScan(b2t2)IndexScan(b3t2 t2_pkey)BitmapScan(b4t2 t2_pkey)
4797 EXPLAIN (COSTS false)
4799 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4800 SELECT max(b3t1.c1), (
4801 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4802 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4803 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4804 LOG: available indexes for IndexScan(b2t1): t1_pkey
4805 LOG: available indexes for BitmapScan(b4t2): t2_pkey
4806 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4807 LOG: available indexes for IndexScan(b3t2): t2_pkey
4812 IndexScan(b2t1 t1_pkey)
4814 BitmapScan(b3t1 t1_pkey)
4815 IndexScan(b3t2 t2_pkey)
4817 BitmapScan(b4t2 t2_pkey)
4823 ---------------------------------------------------------
4825 InitPlan 1 (returns $0)
4828 -> Index Scan using t1_pkey on t1 b2t1
4829 Index Cond: (c1 = 1)
4830 -> Seq Scan on t2 b2t2
4832 InitPlan 2 (returns $1)
4835 -> Seq Scan on t1 b4t1
4837 -> Bitmap Heap Scan on t2 b4t2
4838 Recheck Cond: (c1 = 1)
4839 -> Bitmap Index Scan on t2_pkey
4840 Index Cond: (c1 = 1)
4843 -> Bitmap Heap Scan on t1 b3t1
4844 Recheck Cond: (c1 = $1)
4845 -> Bitmap Index Scan on t1_pkey
4846 Index Cond: (c1 = $1)
4847 -> Index Scan using t2_pkey on t2 b3t2
4848 Index Cond: (c1 = $1)
4850 Filter: (max(b1t1.c1) = $1)
4852 -> Seq Scan on t1 b1t1
4854 -> Seq Scan on t2 b1t2
4859 EXPLAIN (COSTS false)
4861 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4862 SELECT max(b3t1.c1), (
4863 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4864 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4865 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4867 ---------------------------------------------------------------------
4869 InitPlan 2 (returns $1)
4871 InitPlan 1 (returns $0)
4873 -> Index Only Scan using t1_i1 on t1 b2t1
4874 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4875 InitPlan 4 (returns $3)
4877 InitPlan 3 (returns $2)
4879 -> Index Only Scan using t1_i1 on t1 b4t1
4880 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4883 -> Index Only Scan using t1_i1 on t1 b3t1
4884 Index Cond: (c1 = $3)
4885 -> Seq Scan on t2 b3t2
4888 Filter: (max(b1t1.c1) = $3)
4890 -> Index Only Scan using t1_i1 on t1 b1t1
4891 Index Cond: (c1 = 1)
4892 -> Seq Scan on t2 b1t2
4896 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4897 TidScan(b1t2)IndexScan(b3t2 t2_pkey)
4899 EXPLAIN (COSTS false)
4901 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4902 SELECT max(b3t1.c1), (
4903 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4904 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4905 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4906 LOG: available indexes for IndexScan(b2t1): t1_pkey
4907 LOG: available indexes for IndexScan(b2t1): t1_pkey
4908 LOG: available indexes for BitmapScan(b3t1): t1_pkey
4909 LOG: available indexes for IndexScan(b3t2): t2_pkey
4914 IndexScan(b2t1 t1_pkey)
4915 BitmapScan(b3t1 t1_pkey)
4916 IndexScan(b3t2 t2_pkey)
4923 ---------------------------------------------------------------------
4925 InitPlan 2 (returns $1)
4927 InitPlan 1 (returns $0)
4929 -> Index Scan using t1_pkey on t1 b2t1
4930 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4931 InitPlan 4 (returns $3)
4933 InitPlan 3 (returns $2)
4935 -> Seq Scan on t1 b4t1
4936 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4939 -> Bitmap Heap Scan on t1 b3t1
4940 Recheck Cond: (c1 = $3)
4941 -> Bitmap Index Scan on t1_pkey
4942 Index Cond: (c1 = $3)
4943 -> Index Scan using t2_pkey on t2 b3t2
4944 Index Cond: (c1 = $3)
4946 Filter: (max(b1t1.c1) = $3)
4948 -> Seq Scan on t1 b1t1
4950 -> Seq Scan on t2 b1t2
4955 ---- No. S-3-8 inheritance table select/update type
4958 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4960 --------------------
4966 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4975 -----------------------------
4976 Index Scan using p1_i on p1
4977 Index Cond: (c1 = 1)
4981 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4983 --------------------------
4992 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5001 ---------------------------------------
5003 -> Index Scan using p1_i on p1
5004 Index Cond: (c1 = 1)
5005 -> Index Scan using p1c1_i on p1c1
5006 Index Cond: (c1 = 1)
5010 EXPLAIN (COSTS false) UPDATE ONLY s1.p1 SET c4 = c4 WHERE c1 = 1;
5012 --------------------------
5019 EXPLAIN (COSTS false) UPDATE ONLY s1.p1 SET c4 = c4 WHERE c1 = 1;
5028 -----------------------------------
5030 -> Index Scan using p1_i on p1
5031 Index Cond: (c1 = 1)
5034 /*+IndexScan(p1 p1_pkey)*/
5035 EXPLAIN (COSTS false) UPDATE ONLY s1.p1 SET c4 = c4 WHERE c1 = 1;
5036 LOG: available indexes for IndexScan(p1): p1_pkey
5039 IndexScan(p1 p1_pkey)
5045 --------------------------------------
5047 -> Index Scan using p1_pkey on p1
5048 Index Cond: (c1 = 1)
5052 EXPLAIN (COSTS false) UPDATE s1.p1 SET c4 = c4 WHERE c1 = 1;
5054 --------------------------
5065 EXPLAIN (COSTS false) UPDATE s1.p1 SET c4 = c4 WHERE c1 = 1;
5074 ---------------------------------------
5078 -> Index Scan using p1_i on p1
5079 Index Cond: (c1 = 1)
5080 -> Index Scan using p1c1_i on p1c1
5081 Index Cond: (c1 = 1)
5084 /*+IndexScan(p1 p1_pkey)*/
5085 EXPLAIN (COSTS false) UPDATE s1.p1 SET c4 = c4 WHERE c1 = 1;
5086 LOG: available indexes for IndexScan(p1): p1_pkey
5087 LOG: available indexes for IndexScan(p1c1): p1c1_pkey
5088 LOG: available indexes for IndexScan(p1): p1_pkey
5089 LOG: available indexes for IndexScan(p1c1): p1c1_pkey
5092 IndexScan(p1 p1_pkey)
5098 ------------------------------------------
5102 -> Index Scan using p1_pkey on p1
5103 Index Cond: (c1 = 1)
5104 -> Index Scan using p1c1_pkey on p1c1
5105 Index Cond: (c1 = 1)
5109 ---- No. S-3-9 inheritance table number
5112 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5114 --------------------------
5123 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
5132 ---------------------------------------
5134 -> Index Scan using p1_i on p1
5135 Index Cond: (c1 = 1)
5136 -> Index Scan using p1c1_i on p1c1
5137 Index Cond: (c1 = 1)
5141 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5143 --------------------------
5149 -> Seq Scan on p2c1c1
5154 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5163 -------------------------------------------
5165 -> Index Scan using p2_i on p2
5166 Index Cond: (c1 = 1)
5167 -> Index Scan using p2c1_i on p2c1
5168 Index Cond: (c1 = 1)
5169 -> Index Scan using p2c1c1_i on p2c1c1
5170 Index Cond: (c1 = 1)
5174 ---- No. S-3-10 inheritance table specified table
5176 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5178 --------------------------
5184 -> Seq Scan on p2c1c1
5190 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5199 -------------------------------------------
5201 -> Index Scan using p2_i on p2
5202 Index Cond: (c1 = 1)
5203 -> Index Scan using p2c1_i on p2c1
5204 Index Cond: (c1 = 1)
5205 -> Index Scan using p2c1c1_i on p2c1c1
5206 Index Cond: (c1 = 1)
5210 /*+IndexScan(p2c1)*/
5211 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
5220 ---------------------------------------
5224 -> Index Scan using p2c1_i on p2c1
5225 Index Cond: (c1 = 1)
5226 -> Seq Scan on p2c1c1
5231 \o results/ut-S.tmpout
5232 EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5234 \! sql/maskout.sh results/ut-S.tmpout
5236 ----------------------------------------------------------
5237 Append (cost=xxx..xxx rows=4 width=xxx)
5238 -> Seq Scan on p1 (cost=xxx..xxx rows=1 width=xxx)
5239 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5240 -> Seq Scan on p1c1 (cost=xxx..xxx rows=3 width=xxx)
5241 Filter: ((c1 < 10) AND ((c2 * 2) < 100))
5243 \o results/ut-S.tmpout
5244 /*+IndexScan(p1 p1_parent)*/ EXPLAIN SELECT c4 FROM s1.p1 WHERE c2 * 2 < 100 AND c1 < 10;
5245 LOG: available indexes for IndexScan(p1): p1_parent
5246 LOG: available indexes for IndexScan(p1c1): p1c1_c4_expr_idx
5249 IndexScan(p1 p1_parent)
5255 \! sql/maskout.sh results/ut-S.tmpout
5257 ------------------------------------------------------------------------------------
5258 Append (cost=xxx..xxx rows=4 width=xxx)
5259 -> Index Scan using p1_parent on p1 (cost=xxx..xxx rows=1 width=xxx)
5260 Filter: ((c2 * 2) < 100)
5261 -> Index Scan using p1c1_c4_expr_idx on p1c1 (cost=xxx..xxx rows=3 width=xxx)
5262 Filter: ((c2 * 2) < 100)
5265 \o results/ut-S.tmpout
5266 /*+IndexScan(p1 p1_i2)*/ EXPLAIN SELECT c2 FROM s1.p1 WHERE c2 = 1;
5267 LOG: available indexes for IndexScan(p1): p1_i2
5268 LOG: available indexes for IndexScan(p1c1):
5269 LOG: available indexes for IndexScan(p1c2):
5270 LOG: available indexes for IndexScan(p1c3):
5279 \! sql/maskout.sh results/ut-S.tmpout
5281 ------------------------------------------------------------------------------
5282 Append (cost=xxx..xxx rows=4 width=xxx)
5283 -> Index Scan using p1_i2 on p1 (cost=xxx..xxx rows=1 width=xxx)
5284 Index Cond: (c2 = 1)
5285 -> Seq Scan on p1c1 (cost={inf}..{inf} rows=1 width=xxx)
5287 -> Seq Scan on p1c2 (cost={inf}..{inf} rows=1 width=xxx)
5289 -> Seq Scan on p1c3 (cost={inf}..{inf} rows=1 width=xxx)
5293 \o results/ut-S.tmpout
5294 /*+IndexScan(p2 p2c1_pkey)*/ EXPLAIN (COSTS true) SELECT * FROM s1.p2 WHERE c1 = 1;
5295 LOG: available indexes for IndexScan(p2):
5296 LOG: available indexes for IndexScan(p2c1): p2c1_pkey
5297 LOG: available indexes for IndexScan(p2c1c1):
5300 IndexScan(p2 p2c1_pkey)
5306 \! sql/maskout.sh results/ut-S.tmpout
5308 ---------------------------------------------------------------------------------
5309 Append (cost={inf}..{inf} rows=3 width=xxx)
5310 -> Seq Scan on p2 (cost={inf}..{inf} rows=1 width=xxx)
5312 -> Index Scan using p2c1_pkey on p2c1 (cost=xxx..xxx rows=1 width=xxx)
5313 Index Cond: (c1 = 1)
5314 -> Seq Scan on p2c1c1 (cost={inf}..{inf} rows=1 width=xxx)
5318 ---- No. S-3-12 specified same table
5321 /*+IndexScan(ti1) BitmapScan(ti1)*/
5322 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5323 INFO: pg_hint_plan: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5324 DETAIL: Conflict scan method hint.
5334 -------------------------------------
5335 Bitmap Heap Scan on ti1
5336 Recheck Cond: (c1 = 1)
5337 Filter: (ctid = '(1,1)'::tid)
5338 -> Bitmap Index Scan on ti1_hash
5339 Index Cond: (c1 = 1)
5343 /*+IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5344 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5345 INFO: pg_hint_plan: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5346 DETAIL: Conflict scan method hint.
5347 LOG: available indexes for BitmapScan(ti1): ti1_btree
5350 BitmapScan(ti1 ti1_btree)
5353 IndexScan(ti1 ti1_pkey)
5357 --------------------------------------
5358 Bitmap Heap Scan on ti1
5359 Recheck Cond: (c1 = 1)
5360 Filter: (ctid = '(1,1)'::tid)
5361 -> Bitmap Index Scan on ti1_btree
5362 Index Cond: (c1 = 1)
5366 /*+BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)*/
5367 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5368 INFO: pg_hint_plan: hint syntax error at or near "BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)"
5369 DETAIL: Conflict scan method hint.
5370 INFO: pg_hint_plan: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
5371 DETAIL: Conflict scan method hint.
5382 -------------------------------------
5383 Bitmap Heap Scan on ti1
5384 Recheck Cond: (c1 = 1)
5385 Filter: (ctid = '(1,1)'::tid)
5386 -> Bitmap Index Scan on ti1_hash
5387 Index Cond: (c1 = 1)
5391 /*+BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
5392 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5393 INFO: pg_hint_plan: hint syntax error at or near "BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5394 DETAIL: Conflict scan method hint.
5395 INFO: pg_hint_plan: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
5396 DETAIL: Conflict scan method hint.
5397 LOG: available indexes for BitmapScan(ti1): ti1_btree
5400 BitmapScan(ti1 ti1_btree)
5403 BitmapScan(ti1 ti1_hash)
5404 IndexScan(ti1 ti1_pkey)
5408 --------------------------------------
5409 Bitmap Heap Scan on ti1
5410 Recheck Cond: (c1 = 1)
5411 Filter: (ctid = '(1,1)'::tid)
5412 -> Bitmap Index Scan on ti1_btree
5413 Index Cond: (c1 = 1)
5417 ---- No. S-3-13 message output of hint
5421 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5430 ------------------------------------------------
5432 Filter: ((c1 = 1) AND (ctid = '(1,1)'::tid))
5436 /*+SeqScan(ti1 ti1_pkey)*/
5437 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5438 INFO: pg_hint_plan: hint syntax error at or near ""
5439 DETAIL: SeqScan hint accepts only one relation.
5445 SeqScan(ti1 ti1_pkey)
5448 -----------------------------------
5450 TID Cond: (ctid = '(1,1)'::tid)
5455 /*+SeqScan(ti1 ti1_pkey ti1_btree)*/
5456 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5457 INFO: pg_hint_plan: hint syntax error at or near ""
5458 DETAIL: SeqScan hint accepts only one relation.
5464 SeqScan(ti1 ti1_pkey ti1_btree)
5467 -----------------------------------
5469 TID Cond: (ctid = '(1,1)'::tid)
5475 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5484 ----------------------------------
5485 Index Scan using ti1_hash on ti1
5486 Index Cond: (c1 = 1)
5487 Filter: (ctid = '(1,1)'::tid)
5491 /*+IndexScan(ti1 ti1_pkey)*/
5492 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5493 LOG: available indexes for IndexScan(ti1): ti1_pkey
5496 IndexScan(ti1 ti1_pkey)
5502 ----------------------------------
5503 Index Scan using ti1_pkey on ti1
5504 Index Cond: (c1 = 1)
5505 Filter: (ctid = '(1,1)'::tid)
5509 /*+IndexScan(ti1 ti1_pkey ti1_btree)*/
5510 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5511 LOG: available indexes for IndexScan(ti1): ti1_btree ti1_pkey
5514 IndexScan(ti1 ti1_pkey ti1_btree)
5520 -----------------------------------
5521 Index Scan using ti1_btree on ti1
5522 Index Cond: (c1 = 1)
5523 Filter: (ctid = '(1,1)'::tid)
5527 /*+BitmapScan(ti1)*/
5528 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5537 -------------------------------------
5538 Bitmap Heap Scan on ti1
5539 Recheck Cond: (c1 = 1)
5540 Filter: (ctid = '(1,1)'::tid)
5541 -> Bitmap Index Scan on ti1_hash
5542 Index Cond: (c1 = 1)
5546 /*+BitmapScan(ti1 ti1_pkey)*/
5547 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5548 LOG: available indexes for BitmapScan(ti1): ti1_pkey
5551 BitmapScan(ti1 ti1_pkey)
5557 -------------------------------------
5558 Bitmap Heap Scan on ti1
5559 Recheck Cond: (c1 = 1)
5560 Filter: (ctid = '(1,1)'::tid)
5561 -> Bitmap Index Scan on ti1_pkey
5562 Index Cond: (c1 = 1)
5566 /*+BitmapScan(ti1 ti1_pkey ti1_btree)*/
5567 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5568 LOG: available indexes for BitmapScan(ti1): ti1_btree ti1_pkey
5571 BitmapScan(ti1 ti1_pkey ti1_btree)
5577 --------------------------------------
5578 Bitmap Heap Scan on ti1
5579 Recheck Cond: (c1 = 1)
5580 Filter: (ctid = '(1,1)'::tid)
5581 -> Bitmap Index Scan on ti1_btree
5582 Index Cond: (c1 = 1)
5587 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5596 -----------------------------------
5598 TID Cond: (ctid = '(1,1)'::tid)
5603 /*+TidScan(ti1 ti1_pkey)*/
5604 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5605 INFO: pg_hint_plan: hint syntax error at or near ""
5606 DETAIL: TidScan hint accepts only one relation.
5612 TidScan(ti1 ti1_pkey)
5615 -----------------------------------
5617 TID Cond: (ctid = '(1,1)'::tid)
5622 /*+TidScan(ti1 ti1_pkey ti1_btree)*/
5623 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5624 INFO: pg_hint_plan: hint syntax error at or near ""
5625 DETAIL: TidScan hint accepts only one relation.
5631 TidScan(ti1 ti1_pkey ti1_btree)
5634 -----------------------------------
5636 TID Cond: (ctid = '(1,1)'::tid)
5642 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5651 -----------------------------------
5653 TID Cond: (ctid = '(1,1)'::tid)
5658 /*+NoSeqScan(ti1 ti1_pkey)*/
5659 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5660 INFO: pg_hint_plan: hint syntax error at or near ""
5661 DETAIL: NoSeqScan hint accepts only one relation.
5667 NoSeqScan(ti1 ti1_pkey)
5670 -----------------------------------
5672 TID Cond: (ctid = '(1,1)'::tid)
5677 /*+NoSeqScan(ti1 ti1_pkey ti1_btree)*/
5678 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5679 INFO: pg_hint_plan: hint syntax error at or near ""
5680 DETAIL: NoSeqScan hint accepts only one relation.
5686 NoSeqScan(ti1 ti1_pkey ti1_btree)
5689 -----------------------------------
5691 TID Cond: (ctid = '(1,1)'::tid)
5696 /*+NoIndexScan(ti1)*/
5697 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5706 -----------------------------------
5708 TID Cond: (ctid = '(1,1)'::tid)
5713 /*+NoIndexScan(ti1 ti1_pkey)*/
5714 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5715 INFO: pg_hint_plan: hint syntax error at or near ""
5716 DETAIL: NoIndexScan hint accepts only one relation.
5722 NoIndexScan(ti1 ti1_pkey)
5725 -----------------------------------
5727 TID Cond: (ctid = '(1,1)'::tid)
5732 /*+NoIndexScan(ti1 ti1_pkey ti1_btree)*/
5733 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5734 INFO: pg_hint_plan: hint syntax error at or near ""
5735 DETAIL: NoIndexScan hint accepts only one relation.
5741 NoIndexScan(ti1 ti1_pkey ti1_btree)
5744 -----------------------------------
5746 TID Cond: (ctid = '(1,1)'::tid)
5751 /*+NoBitmapScan(ti1)*/
5752 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5761 -----------------------------------
5763 TID Cond: (ctid = '(1,1)'::tid)
5768 /*+NoBitmapScan(ti1 ti1_pkey)*/
5769 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5770 INFO: pg_hint_plan: hint syntax error at or near ""
5771 DETAIL: NoBitmapScan hint accepts only one relation.
5777 NoBitmapScan(ti1 ti1_pkey)
5780 -----------------------------------
5782 TID Cond: (ctid = '(1,1)'::tid)
5787 /*+NoBitmapScan(ti1 ti1_pkey ti1_btree)*/
5788 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5789 INFO: pg_hint_plan: hint syntax error at or near ""
5790 DETAIL: NoBitmapScan hint accepts only one relation.
5796 NoBitmapScan(ti1 ti1_pkey ti1_btree)
5799 -----------------------------------
5801 TID Cond: (ctid = '(1,1)'::tid)
5807 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5816 ----------------------------------
5817 Index Scan using ti1_hash on ti1
5818 Index Cond: (c1 = 1)
5819 Filter: (ctid = '(1,1)'::tid)
5823 /*+NoTidScan(ti1 ti1_pkey)*/
5824 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5825 INFO: pg_hint_plan: hint syntax error at or near ""
5826 DETAIL: NoTidScan hint accepts only one relation.
5832 NoTidScan(ti1 ti1_pkey)
5835 -----------------------------------
5837 TID Cond: (ctid = '(1,1)'::tid)
5842 /*+NoTidScan(ti1 ti1_pkey ti1_btree)*/
5843 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
5844 INFO: pg_hint_plan: hint syntax error at or near ""
5845 DETAIL: NoTidScan hint accepts only one relation.
5851 NoTidScan(ti1 ti1_pkey ti1_btree)
5854 -----------------------------------
5856 TID Cond: (ctid = '(1,1)'::tid)
5861 /*+IndexOnlyScan(ti1)*/
5862 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5871 ---------------------------------------
5872 Index Only Scan using ti1_uniq on ti1
5873 Index Cond: (c1 >= 1)
5877 /*+IndexOnlyScan(ti1 ti1_pkey)*/
5878 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5879 LOG: available indexes for IndexOnlyScan(ti1): ti1_pkey
5882 IndexOnlyScan(ti1 ti1_pkey)
5888 ---------------------------------------
5889 Index Only Scan using ti1_pkey on ti1
5890 Index Cond: (c1 >= 1)
5894 /*+IndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5895 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
5896 LOG: available indexes for IndexOnlyScan(ti1): ti1_btree ti1_pkey
5899 IndexOnlyScan(ti1 ti1_pkey ti1_btree)
5905 ----------------------------------------
5906 Index Only Scan using ti1_btree on ti1
5907 Index Cond: (c1 >= 1)
5911 /*+NoIndexOnlyScan(ti1)*/
5912 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5915 NoIndexOnlyScan(ti1)
5921 ----------------------------------
5922 Index Scan using ti1_hash on ti1
5923 Index Cond: (c1 = 1)
5927 /*+NoIndexOnlyScan(ti1 ti1_pkey)*/
5928 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5929 INFO: pg_hint_plan: hint syntax error at or near ""
5930 DETAIL: NoIndexOnlyScan hint accepts only one relation.
5936 NoIndexOnlyScan(ti1 ti1_pkey)
5939 ----------------------------------
5940 Index Scan using ti1_hash on ti1
5941 Index Cond: (c1 = 1)
5945 /*+NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)*/
5946 EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
5947 INFO: pg_hint_plan: hint syntax error at or near ""
5948 DETAIL: NoIndexOnlyScan hint accepts only one relation.
5954 NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)
5957 ----------------------------------
5958 Index Scan using ti1_hash on ti1
5959 Index Cond: (c1 = 1)
5963 ---- No. S-3-14 regular expression
5965 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5967 --------------------------------
5968 Index Scan using ti1_i4 on ti1
5969 Index Cond: (c2 = 1)
5973 /*+IndexScanRegexp(ti1 ti1_.*_key)*/
5974 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5975 LOG: available indexes for IndexScanRegexp(ti1): ti1_c2_key
5978 IndexScanRegexp(ti1 ti1_.*_key)
5984 ------------------------------------
5985 Index Scan using ti1_c2_key on ti1
5986 Index Cond: (c2 = 1)
5990 /*+IndexScanRegexp(ti1 ti1_i.)*/
5991 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
5992 LOG: available indexes for IndexScanRegexp(ti1): ti1_i4 ti1_i3 ti1_i2 ti1_i1
5995 IndexScanRegexp(ti1 ti1_i.)
6001 --------------------------------
6002 Index Scan using ti1_i4 on ti1
6003 Index Cond: (c2 = 1)
6007 /*+IndexScanRegexp(ti1 no.*_exist)*/
6008 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6009 LOG: available indexes for IndexScanRegexp(ti1):
6012 IndexScanRegexp(ti1 no.*_exist)
6018 --------------------
6024 /*+IndexScanRegexp(p1 .*pkey)*/
6025 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
6026 LOG: available indexes for IndexScanRegexp(p1): p1_pkey
6027 LOG: available indexes for IndexScanRegexp(p1c1): p1c1_pkey
6030 IndexScanRegexp(p1 .*pkey)
6036 ------------------------------------------
6038 -> Index Scan using p1_pkey on p1
6039 Index Cond: (c1 = 1)
6040 -> Index Scan using p1c1_pkey on p1c1
6041 Index Cond: (c1 = 1)
6045 /*+IndexScanRegexp(p1 p1.*i)*/
6046 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
6047 LOG: available indexes for IndexScanRegexp(p1): p1_i2 p1_i
6048 LOG: available indexes for IndexScanRegexp(p1c1): p1c1_i p1c1_c4_expr_idx
6051 IndexScanRegexp(p1 p1.*i)
6057 ---------------------------------------
6059 -> Index Scan using p1_i on p1
6060 Index Cond: (c1 = 1)
6061 -> Index Scan using p1c1_i on p1c1
6062 Index Cond: (c1 = 1)
6066 /*+IndexScanRegexp(p1 no.*_exist)*/
6067 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
6068 LOG: available indexes for IndexScanRegexp(p1):
6069 LOG: available indexes for IndexScanRegexp(p1c1):
6072 IndexScanRegexp(p1 no.*_exist)
6078 --------------------------
6087 ---- No. S-3-15 message output of index candidate
6090 /*+IndexScan(ti1 ti1_i1)*/
6091 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6092 LOG: available indexes for IndexScan(ti1): ti1_i1
6095 IndexScan(ti1 ti1_i1)
6101 --------------------------------
6102 Index Scan using ti1_i1 on ti1
6103 Index Cond: (c2 = 1)
6107 /*+IndexScan(ti1 not_exist)*/
6108 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6109 LOG: available indexes for IndexScan(ti1):
6112 IndexScan(ti1 not_exist)
6118 --------------------
6124 /*+IndexScan(ti1 ti1_i1 ti1_i2)*/
6125 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6126 LOG: available indexes for IndexScan(ti1): ti1_i2 ti1_i1
6129 IndexScan(ti1 ti1_i1 ti1_i2)
6135 --------------------------------
6136 Index Scan using ti1_i2 on ti1
6137 Index Cond: (c2 = 1)
6141 /*+IndexScan(ti1 ti1_i1 not_exist)*/
6142 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6143 LOG: available indexes for IndexScan(ti1): ti1_i1
6146 IndexScan(ti1 ti1_i1 not_exist)
6152 --------------------------------
6153 Index Scan using ti1_i1 on ti1
6154 Index Cond: (c2 = 1)
6158 /*+IndexScan(ti1 not_exist1 not_exist2)*/
6159 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
6160 LOG: available indexes for IndexScan(ti1):
6163 IndexScan(ti1 not_exist1 not_exist2)
6169 --------------------
6174 DELETE FROM pg_db_role_setting WHERE setrole = (SELECT oid FROM pg_roles WHERE rolname = current_user);
6175 ALTER SYSTEM SET session_preload_libraries TO DEFAULT;
6176 SELECT pg_reload_conf();
6182 \! rm results/ut-S.tmpout