2 SET pg_hint_plan.enable_hint TO on;
3 SET pg_hint_plan.debug_print TO on;
4 SET client_min_messages TO LOG;
5 SET search_path TO public;
6 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
13 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
15 ------------------------------
16 Index Scan using t1_i1 on t1
20 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
22 ---------------------------------
23 Bitmap Heap Scan on t1
24 Recheck Cond: (c3 < 10)
25 -> Bitmap Index Scan on t1_i
29 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
31 -----------------------------------
33 TID Cond: (ctid = '(1,1)'::tid)
38 ---- No. S-1-1 specified pattern of the object name
42 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
58 EXPLAIN (COSTS false) SELECT * FROM s1.t1 t_1 WHERE t_1.c1 = 1;
67 ----------------------------------
68 Index Scan using t1_i1 on t1 t_1
74 EXPLAIN (COSTS false) SELECT * FROM s1.t1 t_1 WHERE t_1.c1 = 1;
89 ---- No. S-1-2 specified schema name in the hint option
93 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
109 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
118 ------------------------------
119 Index Scan using t1_i1 on t1
124 ---- No. S-1-3 table doesn't exist in the hint option
128 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
144 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
153 ------------------------------
154 Index Scan using t1_i1 on t1
159 ---- No. S-1-4 conflict table name
162 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = 1 AND t1.c1 = t2.c1;
164 ------------------------------------
166 -> Index Scan using t1_i1 on t1
173 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = 1 AND t1.c1 = t2.c1;
182 --------------------------
191 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 WHERE s1.t1.c1 = 1 AND s1.t1.c1 = s2.t1.c1;
193 ------------------------------------
195 -> Index Scan using t1_i1 on t1
202 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 WHERE s1.t1.c1 = 1 AND s1.t1.c1 = s2.t1.c1;
211 ------------------------------------------
213 -> Bitmap Heap Scan on t1
214 Recheck Cond: (c1 = 1)
215 -> Bitmap Index Scan on t1_i1
217 -> Bitmap Heap Scan on t1
218 Recheck Cond: (c1 = 1)
219 -> Bitmap Index Scan on t1_pkey
224 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 s2t1 WHERE s1.t1.c1 = 1 AND s1.t1.c1 = s2t1.c1;
233 ----------------------------------------
235 -> Bitmap Heap Scan on t1
236 Recheck Cond: (c1 = 1)
237 -> Bitmap Index Scan on t1_i1
239 -> Seq Scan on t1 s2t1
243 /*+BitmapScan(s2t1)*/
244 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s2.t1 s2t1 WHERE s1.t1.c1 = 1 AND s1.t1.c1 = s2t1.c1;
253 ------------------------------------------
255 -> Index Scan using t1_i1 on t1
257 -> Bitmap Heap Scan on t1 s2t1
258 Recheck Cond: (c1 = 1)
259 -> Bitmap Index Scan on t1_pkey
264 EXPLAIN (COSTS false) SELECT (SELECT max(c1) FROM s1.t1 WHERE s1.t1.c1 = 1) FROM s1.t1 WHERE s1.t1.c1 = 1;
266 ---------------------------------------------------------------------
267 Index Scan using t1_i1 on t1
269 InitPlan 2 (returns $1)
271 InitPlan 1 (returns $0)
273 -> Index Scan using t1_i1 on t1
274 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
278 EXPLAIN (COSTS false) SELECT (SELECT max(c1) FROM s1.t1 WHERE s1.t1.c1 = 1) FROM s1.t1 WHERE s1.t1.c1 = 1;
287 ---------------------------------------------------------------------------
288 Bitmap Heap Scan on t1
289 Recheck Cond: (c1 = 1)
290 InitPlan 2 (returns $1)
292 InitPlan 1 (returns $0)
294 -> Bitmap Heap Scan on t1
295 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
296 -> Bitmap Index Scan on t1_i1
297 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
298 -> Bitmap Index Scan on t1_i1
303 EXPLAIN (COSTS false) SELECT (SELECT max(c1) FROM s1.t1 t11 WHERE t11.c1 = 1) FROM s1.t1 t12 WHERE t12.c1 = 1;
312 ---------------------------------------------------------------------------
313 Index Scan using t1_i1 on t1 t12
315 InitPlan 2 (returns $1)
317 InitPlan 1 (returns $0)
319 -> Bitmap Heap Scan on t1 t11
320 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
321 -> Bitmap Index Scan on t1_i1
322 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
326 EXPLAIN (COSTS false) SELECT (SELECT max(c1) FROM s1.t1 t11 WHERE t11.c1 = 1) FROM s1.t1 t12 WHERE t12.c1 = 1;
335 ---------------------------------------------------------------------
336 Bitmap Heap Scan on t1 t12
337 Recheck Cond: (c1 = 1)
338 InitPlan 2 (returns $1)
340 InitPlan 1 (returns $0)
342 -> Index Scan using t1_i1 on t1 t11
343 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
344 -> Bitmap Index Scan on t1_i1
349 ---- No. S-1-5 object type for the hint
353 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
368 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE p1.c1 = 1;
370 ---------------------------------
375 -> Seq Scan on p1c1 p1
380 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE p1.c1 = 1;
389 ------------------------------------------------
392 -> Index Scan using p1_i on p1
394 -> Index Scan using p1c1_i on p1c1 p1
399 EXPLAIN (COSTS false) SELECT * FROM s1.ul1 WHERE ul1.c1 = 1;
401 ----------------------------------
402 Index Scan using ul1_pkey on ul1
407 EXPLAIN (COSTS false) SELECT * FROM s1.ul1 WHERE ul1.c1 = 1;
422 CREATE TEMP TABLE tm1 (LIKE s1.t1 INCLUDING ALL);
423 NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "tm1_pkey" for table "tm1"
424 EXPLAIN (COSTS false) SELECT * FROM tm1 WHERE tm1.c1 = 1;
426 ----------------------------------
427 Index Scan using tm1_pkey on tm1
432 EXPLAIN (COSTS false) SELECT * FROM tm1 WHERE tm1.c1 = 1;
447 EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class WHERE oid = 1;
449 -------------------------------------------------
450 Index Scan using pg_class_oid_index on pg_class
451 Index Cond: (oid = 1::oid)
454 /*+SeqScan(pg_class)*/
455 EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class WHERE oid = 1;
464 --------------------------
466 Filter: (oid = 1::oid)
472 EXPLAIN (COSTS false) SELECT * FROM s1.f1() AS ft1 WHERE ft1.c1 = 1;
474 -------------------------
475 Function Scan on f1 ft1
480 EXPLAIN (COSTS false) SELECT * FROM s1.f1() AS ft1 WHERE ft1.c1 = 1;
489 -------------------------
490 Function Scan on f1 ft1
495 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;
497 ---------------------------
498 Values Scan on "*VALUES*"
499 Filter: (column1 = 1)
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;
512 ---------------------------
513 Values Scan on "*VALUES*"
514 Filter: (column1 = 1)
517 /*+SeqScan(*VALUES*)*/
518 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;
527 ---------------------------
528 Values Scan on "*VALUES*"
529 Filter: (column1 = 1)
533 EXPLAIN (COSTS false) WITH c1(c1) AS (SELECT max(c1) FROM s1.t1 WHERE t1.c1 = 1)
534 SELECT * FROM s1.t1, c1 WHERE t1.c1 = 1 AND t1.c1 = c1.c1;
536 ---------------------------------------------------------------------
540 InitPlan 1 (returns $0)
542 -> Index Scan using t1_i1 on t1
543 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
544 -> Index Scan using t1_i1 on t1
551 EXPLAIN (COSTS false) WITH c1(c1) AS (SELECT max(c1) FROM s1.t1 WHERE t1.c1 = 1)
552 SELECT * FROM s1.t1, c1 WHERE t1.c1 = 1 AND t1.c1 = c1.c1;
561 ---------------------------------------------------------------------
565 InitPlan 1 (returns $0)
567 -> Index Scan using t1_i1 on t1
568 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
569 -> Index Scan using t1_i1 on t1
576 EXPLAIN (COSTS false) SELECT * FROM s1.v1 WHERE v1.c1 = 1;
578 -----------------------------------
579 Index Scan using t1_i1 on t1 v1t1
584 EXPLAIN (COSTS false) SELECT * FROM s1.v1 WHERE v1.c1 = 1;
593 -----------------------------------
594 Index Scan using t1_i1 on t1 v1t1
599 EXPLAIN (COSTS false) SELECT * FROM (SELECT * FROM s1.t1 WHERE t1.c1 = 1) AS s1 WHERE s1.c1 = 1;
601 ------------------------------
602 Index Scan using t1_i1 on t1
607 EXPLAIN (COSTS false) SELECT * FROM (SELECT * FROM s1.t1 WHERE t1.c1 = 1) AS s1 WHERE s1.c1 = 1;
616 ------------------------------
617 Index Scan using t1_i1 on t1
622 ---- No. S-2-1 complexity query block
625 EXPLAIN (COSTS false)
626 SELECT max(bmt1.c1), (
627 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
629 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
632 -------------------------------------------------------------------
634 InitPlan 1 (returns $0)
637 Merge Cond: (b1t1.c1 = b1t2.c1)
639 Merge Cond: (b1t1.c1 = b1t4.c1)
641 Merge Cond: (b1t1.c1 = b1t3.c1)
642 -> Index Scan using t1_i1 on t1 b1t1
643 -> Index Scan using t3_i1 on t3 b1t3
644 -> Index Scan using t4_i1 on t4 b1t4
647 -> Seq Scan on t2 b1t2
649 Merge Cond: (bmt1.c1 = bmt2.c1)
651 Merge Cond: (bmt1.c1 = bmt4.c1)
653 Merge Cond: (bmt1.c1 = bmt3.c1)
654 -> Index Scan using t1_i1 on t1 bmt1
655 -> Index Scan using t3_i1 on t3 bmt3
656 -> Index Scan using t4_i1 on t4 bmt4
659 -> Seq Scan on t2 bmt2
662 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
663 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
665 EXPLAIN (COSTS false)
666 SELECT max(bmt1.c1), (
667 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
669 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 IndexScan(b1t3 t3_pkey)
676 BitmapScan(b1t4 t4_pkey)
678 IndexScan(bmt2 t2_pkey)
679 BitmapScan(bmt3 t3_pkey)
686 -------------------------------------------------------------------------
688 InitPlan 1 (returns $1)
691 Merge Cond: (b1t1.c1 = b1t2.c1)
694 Merge Cond: (b1t1.c1 = b1t3.c1)
697 -> Seq Scan on t1 b1t1
698 -> Index Scan using t3_pkey on t3 b1t3
699 -> Bitmap Heap Scan on t4 b1t4
700 Recheck Cond: (c1 = b1t1.c1)
701 -> Bitmap Index Scan on t4_pkey
702 Index Cond: (c1 = b1t1.c1)
705 -> Seq Scan on t2 b1t2
707 Hash Cond: (bmt4.c1 = bmt1.c1)
708 -> Seq Scan on t4 bmt4
712 Hash Cond: (bmt1.c1 = bmt2.c1)
713 -> Seq Scan on t1 bmt1
715 -> Index Scan using t2_pkey on t2 bmt2
716 -> Bitmap Heap Scan on t3 bmt3
717 Recheck Cond: (c1 = bmt1.c1)
718 -> Bitmap Index Scan on t3_pkey
719 Index Cond: (c1 = bmt1.c1)
723 EXPLAIN (COSTS false)
724 SELECT max(bmt1.c1), (
725 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
727 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
729 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
732 -------------------------------------------------------------------
734 InitPlan 1 (returns $0)
737 Merge Cond: (b1t1.c1 = b1t2.c1)
739 Merge Cond: (b1t1.c1 = b1t4.c1)
741 Merge Cond: (b1t1.c1 = b1t3.c1)
742 -> Index Scan using t1_i1 on t1 b1t1
743 -> Index Scan using t3_i1 on t3 b1t3
744 -> Index Scan using t4_i1 on t4 b1t4
747 -> Seq Scan on t2 b1t2
748 InitPlan 2 (returns $1)
751 Merge Cond: (b2t1.c1 = b2t2.c1)
753 Merge Cond: (b2t1.c1 = b2t4.c1)
755 Merge Cond: (b2t1.c1 = b2t3.c1)
756 -> Index Scan using t1_i1 on t1 b2t1
757 -> Index Scan using t3_i1 on t3 b2t3
758 -> Index Scan using t4_i1 on t4 b2t4
761 -> Seq Scan on t2 b2t2
763 Merge Cond: (bmt1.c1 = bmt2.c1)
765 Merge Cond: (bmt1.c1 = bmt4.c1)
767 Merge Cond: (bmt1.c1 = bmt3.c1)
768 -> Index Scan using t1_i1 on t1 bmt1
769 -> Index Scan using t3_i1 on t3 bmt3
770 -> Index Scan using t4_i1 on t4 bmt4
773 -> Seq Scan on t2 bmt2
776 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
777 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
778 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
780 EXPLAIN (COSTS false)
781 SELECT max(bmt1.c1), (
782 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
784 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
786 FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
792 IndexScan(b1t3 t3_pkey)
793 BitmapScan(b1t4 t4_pkey)
794 BitmapScan(b2t1 t1_pkey)
797 IndexScan(b2t4 t4_pkey)
799 IndexScan(bmt2 t2_pkey)
800 BitmapScan(bmt3 t3_pkey)
807 ---------------------------------------------------------------------------
809 InitPlan 1 (returns $1)
812 Merge Cond: (b1t1.c1 = b1t2.c1)
815 Merge Cond: (b1t1.c1 = b1t3.c1)
818 -> Seq Scan on t1 b1t1
819 -> Index Scan using t3_pkey on t3 b1t3
820 -> Bitmap Heap Scan on t4 b1t4
821 Recheck Cond: (c1 = b1t1.c1)
822 -> Bitmap Index Scan on t4_pkey
823 Index Cond: (c1 = b1t1.c1)
826 -> Seq Scan on t2 b1t2
827 InitPlan 2 (returns $3)
830 Hash Cond: (b2t3.c1 = b2t1.c1)
831 -> Seq Scan on t3 b2t3
834 Merge Cond: (b2t1.c1 = b2t2.c1)
836 -> Index Scan using t4_pkey on t4 b2t4
837 -> Bitmap Heap Scan on t1 b2t1
838 Recheck Cond: (c1 = b2t4.c1)
839 -> Bitmap Index Scan on t1_pkey
840 Index Cond: (c1 = b2t4.c1)
843 -> Seq Scan on t2 b2t2
845 Hash Cond: (bmt4.c1 = bmt1.c1)
846 -> Seq Scan on t4 bmt4
850 Hash Cond: (bmt1.c1 = bmt2.c1)
851 -> Seq Scan on t1 bmt1
853 -> Index Scan using t2_pkey on t2 bmt2
854 -> Bitmap Heap Scan on t3 bmt3
855 Recheck Cond: (c1 = bmt1.c1)
856 -> Bitmap Index Scan on t3_pkey
857 Index Cond: (c1 = bmt1.c1)
861 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;
863 -----------------------------------------------------------
866 Merge Cond: (bmt1.c1 = bmt2.c1)
868 Merge Cond: (bmt1.c1 = bmt4.c1)
870 Merge Cond: (bmt1.c1 = bmt3.c1)
871 -> Index Scan using t1_i1 on t1 bmt1
872 -> Index Scan using t3_i1 on t3 bmt3
873 -> Index Scan using t4_i1 on t4 bmt4
876 -> Seq Scan on t2 bmt2
879 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
881 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;
885 IndexScan(bmt2 t2_pkey)
886 BitmapScan(bmt3 t3_pkey)
893 -------------------------------------------------------------------------
896 Hash Cond: (bmt4.c1 = bmt1.c1)
897 -> Seq Scan on t4 bmt4
901 Hash Cond: (bmt1.c1 = bmt2.c1)
902 -> Seq Scan on t1 bmt1
904 -> Index Scan using t2_pkey on t2 bmt2
905 -> Bitmap Heap Scan on t3 bmt3
906 Recheck Cond: (c1 = bmt1.c1)
907 -> Bitmap Index Scan on t3_pkey
908 Index Cond: (c1 = bmt1.c1)
912 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;
914 -----------------------------------------------------------
917 Merge Cond: (bmt1.c1 = bmt2.c1)
919 Merge Cond: (bmt1.c1 = bmt4.c1)
921 Merge Cond: (bmt1.c1 = bmt3.c1)
922 -> Index Scan using t1_i1 on t1 bmt1
923 -> Index Scan using t3_i1 on t3 bmt3
924 -> Index Scan using t4_i1 on t4 bmt4
927 -> Seq Scan on t2 bmt2
930 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
932 EXPLAIN (COSTS false) SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, (SELECT * FROM s1.t3 bmt3) sbmt3, (SELECT * FROM s1.t4 bmt4) sbmt4 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = sbmt3.c1 AND bmt1.c1 = sbmt4.c1;
936 IndexScan(bmt2 t2_pkey)
937 BitmapScan(bmt3 t3_pkey)
944 -------------------------------------------------------------------------
947 Hash Cond: (bmt4.c1 = bmt1.c1)
948 -> Seq Scan on t4 bmt4
952 Hash Cond: (bmt1.c1 = bmt2.c1)
953 -> Seq Scan on t1 bmt1
955 -> Index Scan using t2_pkey on t2 bmt2
956 -> Bitmap Heap Scan on t3 bmt3
957 Recheck Cond: (c1 = bmt1.c1)
958 -> Bitmap Index Scan on t3_pkey
959 Index Cond: (c1 = bmt1.c1)
963 EXPLAIN (COSTS false)
964 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
966 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
970 -------------------------------------------------------------------
972 InitPlan 1 (returns $0)
975 Merge Cond: (b1t1.c1 = b1t2.c1)
977 Merge Cond: (b1t1.c1 = b1t4.c1)
979 Merge Cond: (b1t1.c1 = b1t3.c1)
980 -> Index Scan using t1_i1 on t1 b1t1
981 -> Index Scan using t3_i1 on t3 b1t3
982 -> Index Scan using t4_i1 on t4 b1t4
985 -> Seq Scan on t2 b1t2
987 Merge Cond: (bmt1.c1 = bmt2.c1)
989 Merge Cond: (bmt1.c1 = bmt4.c1)
991 Merge Cond: (bmt1.c1 = bmt3.c1)
992 -> Index Scan using t1_i1 on t1 bmt1
994 -> Index Scan using t3_i1 on t3 bmt3
995 -> Index Scan using t4_i1 on t4 bmt4
998 -> Seq Scan on t2 bmt2
1001 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1002 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1004 EXPLAIN (COSTS false)
1005 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
1007 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
1014 IndexScan(b1t3 t3_pkey)
1015 BitmapScan(b1t4 t4_pkey)
1017 IndexScan(bmt2 t2_pkey)
1018 BitmapScan(bmt3 t3_pkey)
1025 -------------------------------------------------------------------------
1027 InitPlan 1 (returns $1)
1030 Merge Cond: (b1t1.c1 = b1t2.c1)
1033 Merge Cond: (b1t1.c1 = b1t3.c1)
1036 -> Seq Scan on t1 b1t1
1037 -> Index Scan using t3_pkey on t3 b1t3
1038 -> Bitmap Heap Scan on t4 b1t4
1039 Recheck Cond: (c1 = b1t1.c1)
1040 -> Bitmap Index Scan on t4_pkey
1041 Index Cond: (c1 = b1t1.c1)
1044 -> Seq Scan on t2 b1t2
1046 Hash Cond: (bmt4.c1 = bmt1.c1)
1047 -> Seq Scan on t4 bmt4
1051 Hash Cond: (bmt1.c1 = bmt2.c1)
1052 -> Seq Scan on t1 bmt1
1055 -> Index Scan using t2_pkey on t2 bmt2
1056 -> Bitmap Heap Scan on t3 bmt3
1057 Recheck Cond: (c1 = bmt1.c1)
1058 -> Bitmap Index Scan on t3_pkey
1059 Index Cond: (c1 = bmt1.c1)
1063 EXPLAIN (COSTS false)
1064 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
1066 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
1068 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
1072 -------------------------------------------------------------------
1074 InitPlan 1 (returns $0)
1077 Merge Cond: (b1t1.c1 = b1t2.c1)
1079 Merge Cond: (b1t1.c1 = b1t4.c1)
1081 Merge Cond: (b1t1.c1 = b1t3.c1)
1082 -> Index Scan using t1_i1 on t1 b1t1
1083 -> Index Scan using t3_i1 on t3 b1t3
1084 -> Index Scan using t4_i1 on t4 b1t4
1087 -> Seq Scan on t2 b1t2
1088 InitPlan 2 (returns $1)
1091 Merge Cond: (b2t1.c1 = b2t2.c1)
1093 Merge Cond: (b2t1.c1 = b2t4.c1)
1095 Merge Cond: (b2t1.c1 = b2t3.c1)
1096 -> Index Scan using t1_i1 on t1 b2t1
1097 -> Index Scan using t3_i1 on t3 b2t3
1098 -> Index Scan using t4_i1 on t4 b2t4
1101 -> Seq Scan on t2 b2t2
1103 Merge Cond: (bmt1.c1 = bmt2.c1)
1105 Merge Cond: (bmt1.c1 = bmt4.c1)
1107 Merge Cond: (bmt1.c1 = bmt3.c1)
1108 -> Index Scan using t1_i1 on t1 bmt1
1109 Filter: ((c1 <> $0) AND (c1 <> $1))
1110 -> Index Scan using t3_i1 on t3 bmt3
1111 -> Index Scan using t4_i1 on t4 bmt4
1114 -> Seq Scan on t2 bmt2
1117 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1118 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1119 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1121 EXPLAIN (COSTS false)
1122 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
1124 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
1126 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
1133 IndexScan(b1t3 t3_pkey)
1134 BitmapScan(b1t4 t4_pkey)
1135 BitmapScan(b2t1 t1_pkey)
1138 IndexScan(b2t4 t4_pkey)
1140 IndexScan(bmt2 t2_pkey)
1141 BitmapScan(bmt3 t3_pkey)
1148 ---------------------------------------------------------------------------
1150 InitPlan 1 (returns $1)
1153 Merge Cond: (b1t1.c1 = b1t2.c1)
1156 Merge Cond: (b1t1.c1 = b1t3.c1)
1159 -> Seq Scan on t1 b1t1
1160 -> Index Scan using t3_pkey on t3 b1t3
1161 -> Bitmap Heap Scan on t4 b1t4
1162 Recheck Cond: (c1 = b1t1.c1)
1163 -> Bitmap Index Scan on t4_pkey
1164 Index Cond: (c1 = b1t1.c1)
1167 -> Seq Scan on t2 b1t2
1168 InitPlan 2 (returns $3)
1171 Hash Cond: (b2t3.c1 = b2t1.c1)
1172 -> Seq Scan on t3 b2t3
1175 Merge Cond: (b2t1.c1 = b2t2.c1)
1177 -> Index Scan using t4_pkey on t4 b2t4
1178 -> Bitmap Heap Scan on t1 b2t1
1179 Recheck Cond: (c1 = b2t4.c1)
1180 -> Bitmap Index Scan on t1_pkey
1181 Index Cond: (c1 = b2t4.c1)
1184 -> Seq Scan on t2 b2t2
1186 Hash Cond: (bmt4.c1 = bmt1.c1)
1187 -> Seq Scan on t4 bmt4
1191 Hash Cond: (bmt1.c1 = bmt2.c1)
1192 -> Seq Scan on t1 bmt1
1193 Filter: ((c1 <> $1) AND (c1 <> $3))
1195 -> Index Scan using t2_pkey on t2 bmt2
1196 -> Bitmap Heap Scan on t3 bmt3
1197 Recheck Cond: (c1 = bmt1.c1)
1198 -> Bitmap Index Scan on t3_pkey
1199 Index Cond: (c1 = bmt1.c1)
1203 EXPLAIN (COSTS false)
1205 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
1207 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1209 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1213 -------------------------------------------------------------------
1218 Merge Cond: (b1t1.c1 = b1t2.c1)
1220 Merge Cond: (b1t1.c1 = b1t4.c1)
1222 Merge Cond: (b1t1.c1 = b1t3.c1)
1223 -> Index Scan using t1_i1 on t1 b1t1
1224 -> Index Scan using t3_i1 on t3 b1t3
1225 -> Index Scan using t4_i1 on t4 b1t4
1228 -> Seq Scan on t2 b1t2
1230 Merge Cond: (bmt1.c1 = bmt2.c1)
1232 Merge Cond: (bmt1.c1 = bmt4.c1)
1234 Merge Cond: (bmt1.c1 = bmt3.c1)
1235 -> Index Scan using t1_i1 on t1 bmt1
1236 -> Index Scan using t3_i1 on t3 bmt3
1237 -> Index Scan using t4_i1 on t4 bmt4
1241 Hash Cond: (bmt2.c1 = c1.c1)
1242 -> Seq Scan on t2 bmt2
1247 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1248 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1250 EXPLAIN (COSTS false)
1252 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
1254 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1256 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1263 IndexScan(b1t3 t3_pkey)
1264 BitmapScan(b1t4 t4_pkey)
1266 IndexScan(bmt2 t2_pkey)
1267 BitmapScan(bmt3 t3_pkey)
1274 ---------------------------------------------------------------------
1279 Merge Cond: (b1t1.c1 = b1t2.c1)
1282 Merge Cond: (b1t1.c1 = b1t3.c1)
1285 -> Seq Scan on t1 b1t1
1286 -> Index Scan using t3_pkey on t3 b1t3
1287 -> Bitmap Heap Scan on t4 b1t4
1288 Recheck Cond: (c1 = b1t1.c1)
1289 -> Bitmap Index Scan on t4_pkey
1290 Index Cond: (c1 = b1t1.c1)
1293 -> Seq Scan on t2 b1t2
1295 Hash Cond: (bmt4.c1 = bmt1.c1)
1296 -> Seq Scan on t4 bmt4
1301 Hash Cond: (bmt1.c1 = c1.c1)
1302 -> Seq Scan on t1 bmt1
1305 -> Index Scan using t2_pkey on t2 bmt2
1306 Index Cond: (c1 = bmt1.c1)
1307 -> Bitmap Heap Scan on t3 bmt3
1308 Recheck Cond: (c1 = bmt1.c1)
1309 -> Bitmap Index Scan on t3_pkey
1310 Index Cond: (c1 = bmt1.c1)
1314 EXPLAIN (COSTS false)
1316 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
1319 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
1321 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1323 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1328 -------------------------------------------------------------------
1333 Merge Cond: (b1t1.c1 = b1t2.c1)
1335 Merge Cond: (b1t1.c1 = b1t4.c1)
1337 Merge Cond: (b1t1.c1 = b1t3.c1)
1338 -> Index Scan using t1_i1 on t1 b1t1
1339 -> Index Scan using t3_i1 on t3 b1t3
1340 -> Index Scan using t4_i1 on t4 b1t4
1343 -> Seq Scan on t2 b1t2
1347 Merge Cond: (b2t1.c1 = b2t2.c1)
1349 Merge Cond: (b2t1.c1 = b2t4.c1)
1351 Merge Cond: (b2t1.c1 = b2t3.c1)
1352 -> Index Scan using t1_i1 on t1 b2t1
1353 -> Index Scan using t3_i1 on t3 b2t3
1354 -> Index Scan using t4_i1 on t4 b2t4
1357 -> Seq Scan on t2 b2t2
1359 Join Filter: (bmt1.c1 = c2.c1)
1361 Merge Cond: (bmt1.c1 = bmt2.c1)
1363 Merge Cond: (bmt1.c1 = bmt4.c1)
1365 Merge Cond: (bmt1.c1 = bmt3.c1)
1366 -> Index Scan using t1_i1 on t1 bmt1
1367 -> Index Scan using t3_i1 on t3 bmt3
1368 -> Index Scan using t4_i1 on t4 bmt4
1372 Hash Cond: (bmt2.c1 = c1.c1)
1373 -> Seq Scan on t2 bmt2
1379 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1380 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1381 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1383 EXPLAIN (COSTS false)
1385 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
1388 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
1390 SELECT max(bmt1.c1) FROM s1.t1 bmt1, s1.t2 bmt2, s1.t3 bmt3, s1.t4 bmt4
1392 WHERE bmt1.c1 = bmt2.c1 AND bmt1.c1 = bmt3.c1 AND bmt1.c1 = bmt4.c1
1400 IndexScan(b1t3 t3_pkey)
1401 BitmapScan(b1t4 t4_pkey)
1402 BitmapScan(b2t1 t1_pkey)
1405 IndexScan(b2t4 t4_pkey)
1407 IndexScan(bmt2 t2_pkey)
1408 BitmapScan(bmt3 t3_pkey)
1415 ---------------------------------------------------------------------------
1420 Merge Cond: (b1t1.c1 = b1t2.c1)
1423 Merge Cond: (b1t1.c1 = b1t3.c1)
1426 -> Seq Scan on t1 b1t1
1427 -> Index Scan using t3_pkey on t3 b1t3
1428 -> Bitmap Heap Scan on t4 b1t4
1429 Recheck Cond: (c1 = b1t1.c1)
1430 -> Bitmap Index Scan on t4_pkey
1431 Index Cond: (c1 = b1t1.c1)
1434 -> Seq Scan on t2 b1t2
1438 Hash Cond: (b2t3.c1 = b2t1.c1)
1439 -> Seq Scan on t3 b2t3
1442 Merge Cond: (b2t1.c1 = b2t2.c1)
1444 -> Index Scan using t4_pkey on t4 b2t4
1445 -> Bitmap Heap Scan on t1 b2t1
1446 Recheck Cond: (c1 = b2t4.c1)
1447 -> Bitmap Index Scan on t1_pkey
1448 Index Cond: (c1 = b2t4.c1)
1451 -> Seq Scan on t2 b2t2
1453 Hash Cond: (bmt4.c1 = bmt1.c1)
1454 -> Seq Scan on t4 bmt4
1458 Join Filter: (bmt1.c1 = c2.c1)
1461 Hash Cond: (bmt1.c1 = c1.c1)
1462 -> Seq Scan on t1 bmt1
1465 -> Index Scan using t2_pkey on t2 bmt2
1466 Index Cond: (c1 = bmt1.c1)
1468 -> Bitmap Heap Scan on t3 bmt3
1469 Recheck Cond: (c1 = bmt1.c1)
1470 -> Bitmap Index Scan on t3_pkey
1471 Index Cond: (c1 = bmt1.c1)
1475 ---- No. S-2-2 the number of the tables per quiry block
1478 EXPLAIN (COSTS false)
1480 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1482 SELECT max(bmt1.c1), (
1483 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1485 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1487 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1491 -----------------------------------------------------------------
1495 InitPlan 1 (returns $0)
1497 -> Tid Scan on t1 b1t1
1498 TID Cond: (ctid = '(1,1)'::tid)
1499 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1500 InitPlan 4 (returns $3)
1502 InitPlan 3 (returns $2)
1504 -> Tid Scan on t1 b2t1
1505 TID Cond: (ctid = '(1,1)'::tid)
1506 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1507 InitPlan 6 (returns $5)
1509 InitPlan 5 (returns $4)
1511 -> Tid Scan on t1 b3t1
1512 TID Cond: (ctid = '(1,1)'::tid)
1513 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1515 -> Tid Scan on t1 bmt1
1516 TID Cond: (ctid = '(1,1)'::tid)
1517 Filter: ((c1 <> $5) AND (c1 = 1))
1523 BitmapScan(b2t1 t1_pkey)
1524 IndexScan(b3t1 t1_pkey)
1526 EXPLAIN (COSTS false)
1528 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.ctid = '(1,1)' AND b1t1.c1 = 1
1530 SELECT max(bmt1.c1), (
1531 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1533 FROM s1.t1 bmt1, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = 1
1535 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
1541 BitmapScan(b2t1 t1_pkey)
1542 IndexScan(b3t1 t1_pkey)
1549 ---------------------------------------------------------------------------
1553 InitPlan 1 (returns $0)
1555 -> Tid Scan on t1 b1t1
1556 TID Cond: (ctid = '(1,1)'::tid)
1557 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1558 InitPlan 4 (returns $3)
1560 InitPlan 3 (returns $2)
1562 -> Bitmap Heap Scan on t1 b2t1
1563 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1564 Filter: (ctid = '(1,1)'::tid)
1565 -> Bitmap Index Scan on t1_pkey
1566 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1567 InitPlan 6 (returns $5)
1569 InitPlan 5 (returns $4)
1571 -> Index Scan using t1_pkey on t1 b3t1
1572 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
1573 Filter: (ctid = '(1,1)'::tid)
1575 -> Seq Scan on t1 bmt1
1576 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid) AND (c1 = 1))
1581 EXPLAIN (COSTS false)
1583 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)'
1585 SELECT max(bmt1.c1), (
1586 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)'
1588 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1590 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)'
1594 -------------------------------------------------------
1599 Join Filter: (b1t1.c1 = b1t2.c1)
1600 -> Tid Scan on t1 b1t1
1601 TID Cond: (ctid = '(1,1)'::tid)
1602 -> Seq Scan on t2 b1t2
1603 Filter: (ctid = '(1,1)'::tid)
1604 InitPlan 2 (returns $1)
1607 Join Filter: (b2t1.c1 = b2t2.c1)
1608 -> Tid Scan on t1 b2t1
1609 TID Cond: (ctid = '(1,1)'::tid)
1610 -> Seq Scan on t2 b2t2
1611 Filter: (ctid = '(1,1)'::tid)
1612 InitPlan 3 (returns $2)
1615 Join Filter: (b3t1.c1 = b3t2.c1)
1616 -> Tid Scan on t1 b3t1
1617 TID Cond: (ctid = '(1,1)'::tid)
1618 -> Seq Scan on t2 b3t2
1619 Filter: (ctid = '(1,1)'::tid)
1622 Join Filter: (bmt1.c1 = bmt2.c1)
1623 -> Tid Scan on t1 bmt1
1624 TID Cond: (ctid = '(1,1)'::tid)
1626 -> Seq Scan on t2 bmt2
1627 Filter: (ctid = '(1,1)'::tid)
1631 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)
1632 TidScan(b1t1)SeqScan(b1t2)
1633 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)
1634 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)
1636 EXPLAIN (COSTS false)
1638 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)'
1640 SELECT max(bmt1.c1), (
1641 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)'
1643 FROM s1.t1 bmt1, s1.t2 bmt2, c1 WHERE bmt1.ctid = '(1,1)' AND bmt1.c1 = bmt2.c1 AND bmt2.ctid = '(1,1)'
1645 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)'
1652 BitmapScan(b2t1 t1_pkey)
1654 IndexScan(b3t1 t1_pkey)
1655 BitmapScan(b3t2 t2_pkey)
1657 IndexScan(bmt2 t2_pkey)
1663 --------------------------------------------------------------------
1668 Join Filter: (b1t1.c1 = b1t2.c1)
1669 -> Tid Scan on t1 b1t1
1670 TID Cond: (ctid = '(1,1)'::tid)
1671 -> Seq Scan on t2 b1t2
1672 Filter: (ctid = '(1,1)'::tid)
1673 InitPlan 2 (returns $2)
1676 -> Tid Scan on t2 b2t2
1677 TID Cond: (ctid = '(1,1)'::tid)
1678 -> Bitmap Heap Scan on t1 b2t1
1679 Recheck Cond: (c1 = b2t2.c1)
1680 Filter: (ctid = '(1,1)'::tid)
1681 -> Bitmap Index Scan on t1_pkey
1682 Index Cond: (c1 = b2t2.c1)
1683 InitPlan 3 (returns $4)
1686 -> Index Scan using t1_pkey on t1 b3t1
1687 Filter: (ctid = '(1,1)'::tid)
1688 -> Bitmap Heap Scan on t2 b3t2
1689 Recheck Cond: (c1 = b3t1.c1)
1690 Filter: (ctid = '(1,1)'::tid)
1691 -> Bitmap Index Scan on t2_pkey
1692 Index Cond: (c1 = b3t1.c1)
1695 -> Seq Scan on t1 bmt1
1696 Filter: ((c1 <> $4) AND (ctid = '(1,1)'::tid))
1697 -> Index Scan using t2_pkey on t2 bmt2
1698 Index Cond: (c1 = bmt1.c1)
1699 Filter: (ctid = '(1,1)'::tid)
1704 EXPLAIN (COSTS false)
1706 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)'
1708 SELECT max(bmt1.c1), (
1709 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)'
1711 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
1713 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)'
1717 -------------------------------------------------------------------
1722 Join Filter: (b1t1.c1 = b1t4.c1)
1724 Join Filter: (b1t1.c1 = b1t3.c1)
1726 Join Filter: (b1t1.c1 = b1t2.c1)
1727 -> Tid Scan on t1 b1t1
1728 TID Cond: (ctid = '(1,1)'::tid)
1729 -> Seq Scan on t2 b1t2
1730 Filter: (ctid = '(1,1)'::tid)
1731 -> Tid Scan on t3 b1t3
1732 TID Cond: (ctid = '(1,1)'::tid)
1733 -> Tid Scan on t4 b1t4
1734 TID Cond: (ctid = '(1,1)'::tid)
1735 InitPlan 2 (returns $1)
1738 Join Filter: (b2t1.c1 = b2t4.c1)
1740 Join Filter: (b2t1.c1 = b2t3.c1)
1742 Join Filter: (b2t1.c1 = b2t2.c1)
1743 -> Tid Scan on t1 b2t1
1744 TID Cond: (ctid = '(1,1)'::tid)
1745 -> Seq Scan on t2 b2t2
1746 Filter: (ctid = '(1,1)'::tid)
1747 -> Tid Scan on t3 b2t3
1748 TID Cond: (ctid = '(1,1)'::tid)
1749 -> Tid Scan on t4 b2t4
1750 TID Cond: (ctid = '(1,1)'::tid)
1751 InitPlan 3 (returns $2)
1754 Join Filter: (b3t1.c1 = b3t4.c1)
1756 Join Filter: (b3t1.c1 = b3t3.c1)
1758 Join Filter: (b3t1.c1 = b3t2.c1)
1759 -> Tid Scan on t1 b3t1
1760 TID Cond: (ctid = '(1,1)'::tid)
1761 -> Seq Scan on t2 b3t2
1762 Filter: (ctid = '(1,1)'::tid)
1763 -> Tid Scan on t3 b3t3
1764 TID Cond: (ctid = '(1,1)'::tid)
1765 -> Tid Scan on t4 b3t4
1766 TID Cond: (ctid = '(1,1)'::tid)
1768 Join Filter: (bmt1.c1 = c1.c1)
1770 Join Filter: (bmt1.c1 = bmt2.c1)
1772 Join Filter: (bmt3.c1 = bmt1.c1)
1774 Join Filter: (bmt3.c1 = bmt4.c1)
1775 -> Tid Scan on t3 bmt3
1776 TID Cond: (ctid = '(1,1)'::tid)
1777 -> Tid Scan on t4 bmt4
1778 TID Cond: (ctid = '(1,1)'::tid)
1779 -> Tid Scan on t1 bmt1
1780 TID Cond: (ctid = '(1,1)'::tid)
1782 -> Seq Scan on t2 bmt2
1783 Filter: (ctid = '(1,1)'::tid)
1787 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1788 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1789 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
1790 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
1792 EXPLAIN (COSTS false)
1794 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)'
1796 SELECT max(bmt1.c1), (
1797 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)'
1799 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
1801 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)'
1808 IndexScan(b1t3 t3_pkey)
1809 BitmapScan(b1t4 t4_pkey)
1810 BitmapScan(b2t1 t1_pkey)
1813 IndexScan(b2t4 t4_pkey)
1814 IndexScan(b3t1 t1_pkey)
1815 BitmapScan(b3t2 t2_pkey)
1819 IndexScan(bmt2 t2_pkey)
1820 BitmapScan(bmt3 t3_pkey)
1827 --------------------------------------------------------------------------------
1834 Join Filter: (b1t1.c1 = b1t2.c1)
1835 -> Tid Scan on t1 b1t1
1836 TID Cond: (ctid = '(1,1)'::tid)
1837 -> Seq Scan on t2 b1t2
1838 Filter: (ctid = '(1,1)'::tid)
1839 -> Index Scan using t3_pkey on t3 b1t3
1840 Index Cond: (c1 = b1t1.c1)
1841 Filter: (ctid = '(1,1)'::tid)
1842 -> Bitmap Heap Scan on t4 b1t4
1843 Recheck Cond: (c1 = b1t1.c1)
1844 Filter: (ctid = '(1,1)'::tid)
1845 -> Bitmap Index Scan on t4_pkey
1846 Index Cond: (c1 = b1t1.c1)
1847 InitPlan 2 (returns $3)
1851 Join Filter: (b2t1.c1 = b2t3.c1)
1853 -> Tid Scan on t2 b2t2
1854 TID Cond: (ctid = '(1,1)'::tid)
1855 -> Bitmap Heap Scan on t1 b2t1
1856 Recheck Cond: (c1 = b2t2.c1)
1857 Filter: (ctid = '(1,1)'::tid)
1858 -> Bitmap Index Scan on t1_pkey
1859 Index Cond: (c1 = b2t2.c1)
1860 -> Seq Scan on t3 b2t3
1861 Filter: (ctid = '(1,1)'::tid)
1862 -> Index Scan using t4_pkey on t4 b2t4
1863 Index Cond: (c1 = b2t1.c1)
1864 Filter: (ctid = '(1,1)'::tid)
1865 InitPlan 3 (returns $5)
1870 Join Filter: (b3t3.c1 = b3t4.c1)
1871 -> Tid Scan on t3 b3t3
1872 TID Cond: (ctid = '(1,1)'::tid)
1873 -> Seq Scan on t4 b3t4
1874 Filter: (ctid = '(1,1)'::tid)
1875 -> Bitmap Heap Scan on t2 b3t2
1876 Recheck Cond: (c1 = b3t3.c1)
1877 Filter: (ctid = '(1,1)'::tid)
1878 -> Bitmap Index Scan on t2_pkey
1879 Index Cond: (c1 = b3t3.c1)
1880 -> Index Scan using t1_pkey on t1 b3t1
1881 Index Cond: (c1 = b3t2.c1)
1882 Filter: (ctid = '(1,1)'::tid)
1885 Join Filter: (bmt1.c1 = c1.c1)
1887 Join Filter: (bmt1.c1 = bmt4.c1)
1889 -> Seq Scan on t1 bmt1
1890 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid))
1891 -> Bitmap Heap Scan on t3 bmt3
1892 Recheck Cond: (c1 = bmt1.c1)
1893 Filter: (ctid = '(1,1)'::tid)
1894 -> Bitmap Index Scan on t3_pkey
1895 Index Cond: (c1 = bmt1.c1)
1896 -> Tid Scan on t4 bmt4
1897 TID Cond: (ctid = '(1,1)'::tid)
1899 -> Index Scan using t2_pkey on t2 bmt2
1900 Index Cond: (c1 = bmt1.c1)
1901 Filter: (ctid = '(1,1)'::tid)
1905 EXPLAIN (COSTS false)
1907 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)'
1909 SELECT max(bmt1.c1), (
1910 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1912 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
1914 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
1918 -------------------------------------------------------------------
1923 Join Filter: (b1t1.c1 = b1t4.c1)
1925 Join Filter: (b1t1.c1 = b1t3.c1)
1927 Join Filter: (b1t1.c1 = b1t2.c1)
1928 -> Tid Scan on t1 b1t1
1929 TID Cond: (ctid = '(1,1)'::tid)
1930 -> Seq Scan on t2 b1t2
1931 Filter: (ctid = '(1,1)'::tid)
1932 -> Tid Scan on t3 b1t3
1933 TID Cond: (ctid = '(1,1)'::tid)
1934 -> Tid Scan on t4 b1t4
1935 TID Cond: (ctid = '(1,1)'::tid)
1936 InitPlan 3 (returns $2)
1938 InitPlan 2 (returns $1)
1940 -> Tid Scan on t1 b2t1
1941 TID Cond: (ctid = '(1,1)'::tid)
1942 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
1943 InitPlan 4 (returns $3)
1945 -> Tid Scan on t1 b3t1
1946 TID Cond: (ctid = '(1,1)'::tid)
1948 Join Filter: (bmt1.c1 = c1.c1)
1950 Join Filter: (bmt1.c1 = bmt2.c1)
1952 Join Filter: (bmt3.c1 = bmt1.c1)
1954 Join Filter: (bmt3.c1 = bmt4.c1)
1955 -> Tid Scan on t3 bmt3
1956 TID Cond: (ctid = '(1,1)'::tid)
1957 -> Tid Scan on t4 bmt4
1958 TID Cond: (ctid = '(1,1)'::tid)
1959 -> Tid Scan on t1 bmt1
1960 TID Cond: (ctid = '(1,1)'::tid)
1962 -> Seq Scan on t2 bmt2
1963 Filter: (ctid = '(1,1)'::tid)
1967 /*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
1968 TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
1969 BitmapScan(b2t1 t1_pkey)
1970 IndexScan(b3t1 t1_pkey)
1972 EXPLAIN (COSTS false)
1974 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)'
1976 SELECT max(bmt1.c1), (
1977 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = 1
1979 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
1981 SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
1988 IndexScan(b1t3 t3_pkey)
1989 BitmapScan(b1t4 t4_pkey)
1990 BitmapScan(b2t1 t1_pkey)
1991 IndexScan(b3t1 t1_pkey)
1993 IndexScan(bmt2 t2_pkey)
1994 BitmapScan(bmt3 t3_pkey)
2001 --------------------------------------------------------------------------------
2008 Join Filter: (b1t1.c1 = b1t2.c1)
2009 -> Tid Scan on t1 b1t1
2010 TID Cond: (ctid = '(1,1)'::tid)
2011 -> Seq Scan on t2 b1t2
2012 Filter: (ctid = '(1,1)'::tid)
2013 -> Index Scan using t3_pkey on t3 b1t3
2014 Index Cond: (c1 = b1t1.c1)
2015 Filter: (ctid = '(1,1)'::tid)
2016 -> Bitmap Heap Scan on t4 b1t4
2017 Recheck Cond: (c1 = b1t1.c1)
2018 Filter: (ctid = '(1,1)'::tid)
2019 -> Bitmap Index Scan on t4_pkey
2020 Index Cond: (c1 = b1t1.c1)
2021 InitPlan 3 (returns $3)
2023 InitPlan 2 (returns $2)
2025 -> Bitmap Heap Scan on t1 b2t1
2026 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2027 Filter: (ctid = '(1,1)'::tid)
2028 -> Bitmap Index Scan on t1_pkey
2029 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
2030 InitPlan 5 (returns $5)
2032 InitPlan 4 (returns $4)
2034 -> Index Scan Backward using t1_pkey on t1 b3t1
2035 Index Cond: (c1 IS NOT NULL)
2036 Filter: (ctid = '(1,1)'::tid)
2039 Join Filter: (bmt1.c1 = c1.c1)
2041 Join Filter: (bmt1.c1 = bmt4.c1)
2043 -> Seq Scan on t1 bmt1
2044 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid))
2045 -> Bitmap Heap Scan on t3 bmt3
2046 Recheck Cond: (c1 = bmt1.c1)
2047 Filter: (ctid = '(1,1)'::tid)
2048 -> Bitmap Index Scan on t3_pkey
2049 Index Cond: (c1 = bmt1.c1)
2050 -> Tid Scan on t4 bmt4
2051 TID Cond: (ctid = '(1,1)'::tid)
2053 -> Index Scan using t2_pkey on t2 bmt2
2054 Index Cond: (c1 = bmt1.c1)
2055 Filter: (ctid = '(1,1)'::tid)
2059 ---- No. S-2-3 RULE definition table
2062 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2064 -----------------------------------------------------------------
2067 Join Filter: (t1.c1 = t4.c1)
2069 Join Filter: (t1.c1 = t3.c1)
2071 Join Filter: (t2.c1 = t1.c1)
2074 TID Cond: (ctid = '(1,1)'::tid)
2077 Filter: (ctid = '(1,1)'::tid)
2079 TID Cond: (ctid = '(1,1)'::tid)
2081 TID Cond: (ctid = '(1,1)'::tid)
2083 TID Cond: (ctid = '(1,1)'::tid)
2086 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2088 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2094 IndexScan(t3 t3_pkey)
2095 BitmapScan(t4 t4_pkey)
2101 ------------------------------------------------------------------------
2105 Join Filter: (t2.c1 = t1.c1)
2109 Filter: (ctid = '(1,1)'::tid)
2110 -> Index Scan using t3_pkey on t3
2111 Index Cond: (c1 = t2.c1)
2112 Filter: (ctid = '(1,1)'::tid)
2114 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2116 TID Cond: (ctid = '(1,1)'::tid)
2117 -> Bitmap Heap Scan on t4
2118 Recheck Cond: (c1 = t1.c1)
2119 Filter: (ctid = '(1,1)'::tid)
2120 -> Bitmap Index Scan on t4_pkey
2121 Index Cond: (c1 = t1.c1)
2124 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2126 -----------------------------------------------------------------
2129 Join Filter: (b1t1.c1 = b1t4.c1)
2131 Join Filter: (b1t1.c1 = b1t3.c1)
2133 Join Filter: (b1t2.c1 = b1t1.c1)
2136 TID Cond: (ctid = '(1,1)'::tid)
2138 -> Seq Scan on t2 b1t2
2139 Filter: (ctid = '(1,1)'::tid)
2140 -> Tid Scan on t1 b1t1
2141 TID Cond: (ctid = '(1,1)'::tid)
2142 -> Tid Scan on t3 b1t3
2143 TID Cond: (ctid = '(1,1)'::tid)
2144 -> Tid Scan on t4 b1t4
2145 TID Cond: (ctid = '(1,1)'::tid)
2148 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2150 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2155 IndexScan(b1t3 t3_pkey)
2156 BitmapScan(b1t4 t4_pkey)
2163 ------------------------------------------------------------------------
2167 Join Filter: (b1t2.c1 = b1t1.c1)
2170 -> Seq Scan on t2 b1t2
2171 Filter: (ctid = '(1,1)'::tid)
2172 -> Index Scan using t3_pkey on t3 b1t3
2173 Index Cond: (c1 = b1t2.c1)
2174 Filter: (ctid = '(1,1)'::tid)
2176 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2177 -> Tid Scan on t1 b1t1
2178 TID Cond: (ctid = '(1,1)'::tid)
2179 -> Bitmap Heap Scan on t4 b1t4
2180 Recheck Cond: (c1 = b1t1.c1)
2181 Filter: (ctid = '(1,1)'::tid)
2182 -> Bitmap Index Scan on t4_pkey
2183 Index Cond: (c1 = b1t1.c1)
2187 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2189 -----------------------------------------------------------------
2192 Join Filter: (t1.c1 = t4.c1)
2194 Join Filter: (t1.c1 = t3.c1)
2196 Join Filter: (t2.c1 = t1.c1)
2199 TID Cond: (ctid = '(1,1)'::tid)
2202 Filter: (ctid = '(1,1)'::tid)
2204 TID Cond: (ctid = '(1,1)'::tid)
2206 TID Cond: (ctid = '(1,1)'::tid)
2208 TID Cond: (ctid = '(1,1)'::tid)
2212 Join Filter: (t1.c1 = t4.c1)
2214 Join Filter: (t1.c1 = t3.c1)
2216 Join Filter: (t2.c1 = t1.c1)
2219 TID Cond: (ctid = '(1,1)'::tid)
2222 Filter: (ctid = '(1,1)'::tid)
2224 TID Cond: (ctid = '(1,1)'::tid)
2226 TID Cond: (ctid = '(1,1)'::tid)
2228 TID Cond: (ctid = '(1,1)'::tid)
2231 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2233 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2239 IndexScan(t3 t3_pkey)
2240 BitmapScan(t4 t4_pkey)
2250 IndexScan(t3 t3_pkey)
2251 BitmapScan(t4 t4_pkey)
2257 ------------------------------------------------------------------------
2261 Join Filter: (t2.c1 = t1.c1)
2265 Filter: (ctid = '(1,1)'::tid)
2266 -> Index Scan using t3_pkey on t3
2267 Index Cond: (c1 = t2.c1)
2268 Filter: (ctid = '(1,1)'::tid)
2270 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2272 TID Cond: (ctid = '(1,1)'::tid)
2273 -> Bitmap Heap Scan on t4
2274 Recheck Cond: (c1 = t1.c1)
2275 Filter: (ctid = '(1,1)'::tid)
2276 -> Bitmap Index Scan on t4_pkey
2277 Index Cond: (c1 = t1.c1)
2282 Join Filter: (t2.c1 = t1.c1)
2286 Filter: (ctid = '(1,1)'::tid)
2287 -> Index Scan using t3_pkey on t3
2288 Index Cond: (c1 = t2.c1)
2289 Filter: (ctid = '(1,1)'::tid)
2291 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2293 TID Cond: (ctid = '(1,1)'::tid)
2294 -> Bitmap Heap Scan on t4
2295 Recheck Cond: (c1 = t1.c1)
2296 Filter: (ctid = '(1,1)'::tid)
2297 -> Bitmap Index Scan on t4_pkey
2298 Index Cond: (c1 = t1.c1)
2301 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2303 -----------------------------------------------------------------
2306 Join Filter: (b1t1.c1 = b1t4.c1)
2308 Join Filter: (b1t1.c1 = b1t3.c1)
2310 Join Filter: (b1t2.c1 = b1t1.c1)
2313 TID Cond: (ctid = '(1,1)'::tid)
2315 -> Seq Scan on t2 b1t2
2316 Filter: (ctid = '(1,1)'::tid)
2317 -> Tid Scan on t1 b1t1
2318 TID Cond: (ctid = '(1,1)'::tid)
2319 -> Tid Scan on t3 b1t3
2320 TID Cond: (ctid = '(1,1)'::tid)
2321 -> Tid Scan on t4 b1t4
2322 TID Cond: (ctid = '(1,1)'::tid)
2326 Join Filter: (b2t1.c1 = b2t4.c1)
2328 Join Filter: (b2t1.c1 = b2t3.c1)
2330 Join Filter: (b2t2.c1 = b2t1.c1)
2333 TID Cond: (ctid = '(1,1)'::tid)
2335 -> Seq Scan on t2 b2t2
2336 Filter: (ctid = '(1,1)'::tid)
2337 -> Tid Scan on t1 b2t1
2338 TID Cond: (ctid = '(1,1)'::tid)
2339 -> Tid Scan on t3 b2t3
2340 TID Cond: (ctid = '(1,1)'::tid)
2341 -> Tid Scan on t4 b2t4
2342 TID Cond: (ctid = '(1,1)'::tid)
2345 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2346 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2348 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2353 IndexScan(b1t3 t3_pkey)
2354 BitmapScan(b1t4 t4_pkey)
2357 BitmapScan(b2t1 t1_pkey)
2360 IndexScan(b2t4 t4_pkey)
2366 BitmapScan(b2t1 t1_pkey)
2369 IndexScan(b2t4 t4_pkey)
2374 IndexScan(b1t3 t3_pkey)
2375 BitmapScan(b1t4 t4_pkey)
2380 ------------------------------------------------------------------------
2384 Join Filter: (b1t2.c1 = b1t1.c1)
2387 -> Seq Scan on t2 b1t2
2388 Filter: (ctid = '(1,1)'::tid)
2389 -> Index Scan using t3_pkey on t3 b1t3
2390 Index Cond: (c1 = b1t2.c1)
2391 Filter: (ctid = '(1,1)'::tid)
2393 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2394 -> Tid Scan on t1 b1t1
2395 TID Cond: (ctid = '(1,1)'::tid)
2396 -> Bitmap Heap Scan on t4 b1t4
2397 Recheck Cond: (c1 = b1t1.c1)
2398 Filter: (ctid = '(1,1)'::tid)
2399 -> Bitmap Index Scan on t4_pkey
2400 Index Cond: (c1 = b1t1.c1)
2407 Join Filter: (b2t2.c1 = b2t3.c1)
2408 -> Tid Scan on t2 b2t2
2409 TID Cond: (ctid = '(1,1)'::tid)
2410 -> Seq Scan on t3 b2t3
2411 Filter: (ctid = '(1,1)'::tid)
2413 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2414 -> Bitmap Heap Scan on t1 b2t1
2415 Recheck Cond: (c1 = b2t2.c1)
2416 Filter: (ctid = '(1,1)'::tid)
2417 -> Bitmap Index Scan on t1_pkey
2418 Index Cond: (c1 = b2t2.c1)
2419 -> Index Scan using t4_pkey on t4 b2t4
2420 Index Cond: (c1 = b2t1.c1)
2421 Filter: (ctid = '(1,1)'::tid)
2425 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2427 -----------------------------------------------------------------
2430 Join Filter: (t1.c1 = t4.c1)
2432 Join Filter: (t1.c1 = t3.c1)
2434 Join Filter: (t2.c1 = t1.c1)
2437 TID Cond: (ctid = '(1,1)'::tid)
2440 Filter: (ctid = '(1,1)'::tid)
2442 TID Cond: (ctid = '(1,1)'::tid)
2444 TID Cond: (ctid = '(1,1)'::tid)
2446 TID Cond: (ctid = '(1,1)'::tid)
2450 Join Filter: (t1.c1 = t4.c1)
2452 Join Filter: (t1.c1 = t3.c1)
2454 Join Filter: (t2.c1 = t1.c1)
2457 TID Cond: (ctid = '(1,1)'::tid)
2460 Filter: (ctid = '(1,1)'::tid)
2462 TID Cond: (ctid = '(1,1)'::tid)
2464 TID Cond: (ctid = '(1,1)'::tid)
2466 TID Cond: (ctid = '(1,1)'::tid)
2470 Join Filter: (t1.c1 = t4.c1)
2472 Join Filter: (t1.c1 = t3.c1)
2474 Join Filter: (t2.c1 = t1.c1)
2477 TID Cond: (ctid = '(1,1)'::tid)
2480 Filter: (ctid = '(1,1)'::tid)
2482 TID Cond: (ctid = '(1,1)'::tid)
2484 TID Cond: (ctid = '(1,1)'::tid)
2486 TID Cond: (ctid = '(1,1)'::tid)
2489 /*+TidScan(t1)SeqScan(t2)IndexScan(t3 t3_pkey)BitmapScan(t4 t4_pkey)
2491 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2497 IndexScan(t3 t3_pkey)
2498 BitmapScan(t4 t4_pkey)
2508 IndexScan(t3 t3_pkey)
2509 BitmapScan(t4 t4_pkey)
2519 IndexScan(t3 t3_pkey)
2520 BitmapScan(t4 t4_pkey)
2526 ------------------------------------------------------------------------
2530 Join Filter: (t2.c1 = t1.c1)
2534 Filter: (ctid = '(1,1)'::tid)
2535 -> Index Scan using t3_pkey on t3
2536 Index Cond: (c1 = t2.c1)
2537 Filter: (ctid = '(1,1)'::tid)
2539 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2541 TID Cond: (ctid = '(1,1)'::tid)
2542 -> Bitmap Heap Scan on t4
2543 Recheck Cond: (c1 = t1.c1)
2544 Filter: (ctid = '(1,1)'::tid)
2545 -> Bitmap Index Scan on t4_pkey
2546 Index Cond: (c1 = t1.c1)
2551 Join Filter: (t2.c1 = t1.c1)
2555 Filter: (ctid = '(1,1)'::tid)
2556 -> Index Scan using t3_pkey on t3
2557 Index Cond: (c1 = t2.c1)
2558 Filter: (ctid = '(1,1)'::tid)
2560 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2562 TID Cond: (ctid = '(1,1)'::tid)
2563 -> Bitmap Heap Scan on t4
2564 Recheck Cond: (c1 = t1.c1)
2565 Filter: (ctid = '(1,1)'::tid)
2566 -> Bitmap Index Scan on t4_pkey
2567 Index Cond: (c1 = t1.c1)
2572 Join Filter: (t2.c1 = t1.c1)
2576 Filter: (ctid = '(1,1)'::tid)
2577 -> Index Scan using t3_pkey on t3
2578 Index Cond: (c1 = t2.c1)
2579 Filter: (ctid = '(1,1)'::tid)
2581 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2583 TID Cond: (ctid = '(1,1)'::tid)
2584 -> Bitmap Heap Scan on t4
2585 Recheck Cond: (c1 = t1.c1)
2586 Filter: (ctid = '(1,1)'::tid)
2587 -> Bitmap Index Scan on t4_pkey
2588 Index Cond: (c1 = t1.c1)
2591 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2593 -----------------------------------------------------------------
2596 Join Filter: (b1t1.c1 = b1t4.c1)
2598 Join Filter: (b1t1.c1 = b1t3.c1)
2600 Join Filter: (b1t2.c1 = b1t1.c1)
2603 TID Cond: (ctid = '(1,1)'::tid)
2605 -> Seq Scan on t2 b1t2
2606 Filter: (ctid = '(1,1)'::tid)
2607 -> Tid Scan on t1 b1t1
2608 TID Cond: (ctid = '(1,1)'::tid)
2609 -> Tid Scan on t3 b1t3
2610 TID Cond: (ctid = '(1,1)'::tid)
2611 -> Tid Scan on t4 b1t4
2612 TID Cond: (ctid = '(1,1)'::tid)
2616 Join Filter: (b2t1.c1 = b2t4.c1)
2618 Join Filter: (b2t1.c1 = b2t3.c1)
2620 Join Filter: (b2t2.c1 = b2t1.c1)
2623 TID Cond: (ctid = '(1,1)'::tid)
2625 -> Seq Scan on t2 b2t2
2626 Filter: (ctid = '(1,1)'::tid)
2627 -> Tid Scan on t1 b2t1
2628 TID Cond: (ctid = '(1,1)'::tid)
2629 -> Tid Scan on t3 b2t3
2630 TID Cond: (ctid = '(1,1)'::tid)
2631 -> Tid Scan on t4 b2t4
2632 TID Cond: (ctid = '(1,1)'::tid)
2636 Join Filter: (b3t1.c1 = b3t4.c1)
2638 Join Filter: (b3t1.c1 = b3t3.c1)
2640 Join Filter: (b3t2.c1 = b3t1.c1)
2643 TID Cond: (ctid = '(1,1)'::tid)
2645 -> Seq Scan on t2 b3t2
2646 Filter: (ctid = '(1,1)'::tid)
2647 -> Tid Scan on t1 b3t1
2648 TID Cond: (ctid = '(1,1)'::tid)
2649 -> Tid Scan on t3 b3t3
2650 TID Cond: (ctid = '(1,1)'::tid)
2651 -> Tid Scan on t4 b3t4
2652 TID Cond: (ctid = '(1,1)'::tid)
2655 /*+TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
2656 BitmapScan(b2t1 t1_pkey)TidScan(b2t2)SeqScan(b2t3)IndexScan(b2t4 t4_pkey)
2657 IndexScan(b3t1 t1_pkey)BitmapScan(b3t2 t2_pkey)TidScan(b3t3)SeqScan(b3t4)
2659 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
2664 IndexScan(b1t3 t3_pkey)
2665 BitmapScan(b1t4 t4_pkey)
2668 BitmapScan(b2t1 t1_pkey)
2671 IndexScan(b2t4 t4_pkey)
2672 IndexScan(b3t1 t1_pkey)
2673 BitmapScan(b3t2 t2_pkey)
2681 BitmapScan(b2t1 t1_pkey)
2684 IndexScan(b2t4 t4_pkey)
2689 IndexScan(b1t3 t3_pkey)
2690 BitmapScan(b1t4 t4_pkey)
2691 IndexScan(b3t1 t1_pkey)
2692 BitmapScan(b3t2 t2_pkey)
2700 IndexScan(b3t1 t1_pkey)
2701 BitmapScan(b3t2 t2_pkey)
2708 IndexScan(b1t3 t3_pkey)
2709 BitmapScan(b1t4 t4_pkey)
2710 BitmapScan(b2t1 t1_pkey)
2713 IndexScan(b2t4 t4_pkey)
2718 ------------------------------------------------------------------------
2722 Join Filter: (b1t2.c1 = b1t1.c1)
2725 -> Seq Scan on t2 b1t2
2726 Filter: (ctid = '(1,1)'::tid)
2727 -> Index Scan using t3_pkey on t3 b1t3
2728 Index Cond: (c1 = b1t2.c1)
2729 Filter: (ctid = '(1,1)'::tid)
2731 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2732 -> Tid Scan on t1 b1t1
2733 TID Cond: (ctid = '(1,1)'::tid)
2734 -> Bitmap Heap Scan on t4 b1t4
2735 Recheck Cond: (c1 = b1t1.c1)
2736 Filter: (ctid = '(1,1)'::tid)
2737 -> Bitmap Index Scan on t4_pkey
2738 Index Cond: (c1 = b1t1.c1)
2745 Join Filter: (b2t2.c1 = b2t3.c1)
2746 -> Tid Scan on t2 b2t2
2747 TID Cond: (ctid = '(1,1)'::tid)
2748 -> Seq Scan on t3 b2t3
2749 Filter: (ctid = '(1,1)'::tid)
2751 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2752 -> Bitmap Heap Scan on t1 b2t1
2753 Recheck Cond: (c1 = b2t2.c1)
2754 Filter: (ctid = '(1,1)'::tid)
2755 -> Bitmap Index Scan on t1_pkey
2756 Index Cond: (c1 = b2t2.c1)
2757 -> Index Scan using t4_pkey on t4 b2t4
2758 Index Cond: (c1 = b2t1.c1)
2759 Filter: (ctid = '(1,1)'::tid)
2763 Join Filter: (b3t1.c1 = b3t4.c1)
2767 -> Tid Scan on t3 b3t3
2768 TID Cond: (ctid = '(1,1)'::tid)
2769 -> Bitmap Heap Scan on t2 b3t2
2770 Recheck Cond: (c1 = b3t3.c1)
2771 Filter: (ctid = '(1,1)'::tid)
2772 -> Bitmap Index Scan on t2_pkey
2773 Index Cond: (c1 = b3t3.c1)
2775 Filter: ((ctid = '(1,1)'::tid) AND (c1 = 1))
2776 -> Index Scan using t1_pkey on t1 b3t1
2777 Index Cond: (c1 = b3t2.c1)
2778 Filter: (ctid = '(1,1)'::tid)
2779 -> Seq Scan on t4 b3t4
2780 Filter: (ctid = '(1,1)'::tid)
2784 ---- No. S-2-4 VALUES clause
2787 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
2789 ---------------------------
2790 Values Scan on "*VALUES*"
2791 Filter: (column1 = 1)
2795 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
2804 ---------------------------
2805 Values Scan on "*VALUES*"
2806 Filter: (column1 = 1)
2809 /*+SeqScan(*VALUES*)*/
2810 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
2819 ---------------------------
2820 Values Scan on "*VALUES*"
2821 Filter: (column1 = 1)
2825 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
2827 ----------------------------------------------------------
2829 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
2830 -> Values Scan on "*VALUES*"
2831 -> Values Scan on "*VALUES*"
2835 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
2836 INFO: hint syntax error at or near "t2)"
2837 DETAIL: Closing parenthesis is necessary.
2839 ----------------------------------------------------------
2841 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
2842 -> Values Scan on "*VALUES*"
2843 -> Values Scan on "*VALUES*"
2846 /*+SeqScan(*VALUES*)*/
2847 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
2856 ----------------------------------------------------------
2858 Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
2859 -> Values Scan on "*VALUES*"
2860 -> Values Scan on "*VALUES*"
2864 ---- No. S-3-1 scan method hint
2867 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
2869 ---------------------
2875 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
2884 ---------------------
2890 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
2892 ------------------------------
2893 Index Scan using t1_i1 on t1
2894 Index Cond: (c1 = 1)
2898 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
2907 --------------------
2913 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
2915 ------------------------------
2916 Index Scan using t1_i1 on t1
2917 Index Cond: (c1 = 1)
2921 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
2930 ------------------------------
2931 Index Scan using t1_i1 on t1
2932 Index Cond: (c1 = 1)
2936 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
2938 ---------------------
2944 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
2953 ------------------------------
2954 Index Scan using t1_i1 on t1
2955 Index Cond: (c1 >= 1)
2959 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
2961 ---------------------------------
2962 Bitmap Heap Scan on t1
2963 Recheck Cond: (c3 < 10)
2964 -> Bitmap Index Scan on t1_i
2965 Index Cond: (c3 < 10)
2969 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
2978 ---------------------------------
2979 Bitmap Heap Scan on t1
2980 Recheck Cond: (c3 < 10)
2981 -> Bitmap Index Scan on t1_i
2982 Index Cond: (c3 < 10)
2986 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
2988 ------------------------------
2989 Index Scan using t1_i1 on t1
2990 Index Cond: (c1 = 1)
2994 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3003 ----------------------------------
3004 Bitmap Heap Scan on t1
3005 Recheck Cond: (c1 = 1)
3006 -> Bitmap Index Scan on t1_i1
3007 Index Cond: (c1 = 1)
3011 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3013 -----------------------------------
3015 TID Cond: (ctid = '(1,1)'::tid)
3020 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3029 -----------------------------------
3031 TID Cond: (ctid = '(1,1)'::tid)
3036 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3038 -------------------------------------------------------------
3039 Index Scan using t1_i1 on t1
3040 Index Cond: (c1 = 1)
3041 Filter: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3045 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid IN ('(1,1)', '(2,2)', '(3,3)');
3054 ---------------------------------------------------------------
3056 TID Cond: (ctid = ANY ('{"(1,1)","(2,2)","(3,3)"}'::tid[]))
3061 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3063 ---------------------
3069 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3078 ------------------------------
3079 Index Scan using t1_i1 on t1
3080 Index Cond: (c1 >= 1)
3084 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3086 ------------------------------
3087 Index Scan using t1_i1 on t1
3088 Index Cond: (c1 = 1)
3092 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3101 ------------------------------
3102 Index Scan using t1_i1 on t1
3103 Index Cond: (c1 = 1)
3107 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3109 ------------------------------
3110 Index Scan using t1_i1 on t1
3111 Index Cond: (c1 = 1)
3114 /*+NoIndexScan(t1)*/
3115 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3124 ----------------------------------
3125 Bitmap Heap Scan on t1
3126 Recheck Cond: (c1 = 1)
3127 -> Bitmap Index Scan on t1_i1
3128 Index Cond: (c1 = 1)
3132 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3134 ---------------------
3139 /*+NoIndexScan(t1)*/
3140 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 >= 1;
3149 ---------------------
3155 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3157 ---------------------------------
3158 Bitmap Heap Scan on t1
3159 Recheck Cond: (c3 < 10)
3160 -> Bitmap Index Scan on t1_i
3161 Index Cond: (c3 < 10)
3164 /*+NoBitmapScan(t1)*/
3165 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c3 < 10;
3174 ---------------------
3180 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3182 ------------------------------
3183 Index Scan using t1_i1 on t1
3184 Index Cond: (c1 = 1)
3187 /*+NoBitmapScan(t1)*/
3188 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3197 ------------------------------
3198 Index Scan using t1_i1 on t1
3199 Index Cond: (c1 = 1)
3203 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3205 -----------------------------------
3207 TID Cond: (ctid = '(1,1)'::tid)
3212 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1 AND t1.ctid = '(1,1)';
3221 ---------------------------------
3222 Index Scan using t1_i1 on t1
3223 Index Cond: (c1 = 1)
3224 Filter: (ctid = '(1,1)'::tid)
3228 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3230 ------------------------------
3231 Index Scan using t1_i1 on t1
3232 Index Cond: (c1 = 1)
3236 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
3245 ------------------------------
3246 Index Scan using t1_i1 on t1
3247 Index Cond: (c1 = 1)
3251 ---- No. S-3-3 index name specified
3253 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3255 -----------------------------------
3257 TID Cond: (ctid = '(1,1)'::tid)
3261 SET enable_tidscan TO off;
3262 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3264 ---------------------------------
3265 Index Scan using ti1_i2 on ti1
3266 Index Cond: (c2 = 1)
3267 Filter: (ctid = '(1,1)'::tid)
3270 SET enable_indexscan TO off;
3271 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3273 -----------------------------------
3274 Bitmap Heap Scan on ti1
3275 Recheck Cond: (c2 = 1)
3276 Filter: (ctid = '(1,1)'::tid)
3277 -> Bitmap Index Scan on ti1_i2
3278 Index Cond: (c2 = 1)
3281 RESET enable_tidscan;
3282 RESET enable_indexscan;
3284 /*+IndexScan(ti1 ti1_i3)*/
3285 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3288 IndexScan(ti1 ti1_i3)
3294 ---------------------------------
3295 Index Scan using ti1_i3 on ti1
3296 Index Cond: (c2 = 1)
3297 Filter: (ctid = '(1,1)'::tid)
3301 /*+IndexScan(ti1 ti1_i3 ti1_i2)*/
3302 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3305 IndexScan(ti1 ti1_i3 ti1_i2)
3311 ---------------------------------
3312 Index Scan using ti1_i2 on ti1
3313 Index Cond: (c2 = 1)
3314 Filter: (ctid = '(1,1)'::tid)
3318 /*+IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3319 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3322 IndexScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3328 ---------------------------------
3329 Index Scan using ti1_i2 on ti1
3330 Index Cond: (c2 = 1)
3331 Filter: (ctid = '(1,1)'::tid)
3335 /*+BitmapScan(ti1 ti1_i3)*/
3336 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3339 BitmapScan(ti1 ti1_i3)
3345 -----------------------------------
3346 Bitmap Heap Scan on ti1
3347 Recheck Cond: (c2 = 1)
3348 Filter: (ctid = '(1,1)'::tid)
3349 -> Bitmap Index Scan on ti1_i3
3350 Index Cond: (c2 = 1)
3354 /*+BitmapScan(ti1 ti1_i3 ti1_i2)*/
3355 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3358 BitmapScan(ti1 ti1_i3 ti1_i2)
3364 -----------------------------------
3365 Bitmap Heap Scan on ti1
3366 Recheck Cond: (c2 = 1)
3367 Filter: (ctid = '(1,1)'::tid)
3368 -> Bitmap Index Scan on ti1_i2
3369 Index Cond: (c2 = 1)
3373 /*+BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)*/
3374 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
3377 BitmapScan(ti1 ti1_i4 ti1_i3 ti1_i2 ti1_i1)
3383 -----------------------------------
3384 Bitmap Heap Scan on ti1
3385 Recheck Cond: (c2 = 1)
3386 Filter: (ctid = '(1,1)'::tid)
3387 -> Bitmap Index Scan on ti1_i2
3388 Index Cond: (c2 = 1)
3392 ---- No. S-3-4 index type
3396 Column | Type | Modifiers
3397 --------+---------+-----------
3398 c1 | integer | not null
3403 "ti1_pkey" PRIMARY KEY, btree (c1)
3404 "ti1_c2_key" UNIQUE CONSTRAINT, btree (c2)
3405 "ti1_uniq" UNIQUE, btree (c1)
3406 "ti1_btree" btree (c1)
3407 "ti1_expr" btree ((c1 < 100))
3409 "ti1_gist" gist (c1)
3410 "ti1_hash" hash (c1)
3412 "ti1_i2" btree (c2, c4)
3413 "ti1_i3" btree (c2, c4, c4)
3414 "ti1_i4" btree (c2, c4, c4, c4)
3415 "ti1_multi" btree (c1, c2, c3, c4)
3416 "ti1_pred" btree (lower(c4))
3417 "ti1_ts" gin (to_tsvector('english'::regconfig, c4))
3419 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)';
3421 -----------------------------------------------------------------------------------------------------------------------------------------
3423 TID Cond: (ctid = '(1,1)'::tid)
3424 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3428 /*+IndexScan(ti1 ti1_btree)*/
3429 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)';
3432 IndexScan(ti1 ti1_btree)
3438 ----------------------------------------------------------------------------------------------------------------------------------------------------
3439 Index Scan using ti1_btree on ti1
3440 Index Cond: (c1 < 100)
3441 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3445 /*+IndexScan(ti1 ti1_hash)*/
3446 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)';
3449 IndexScan(ti1 ti1_hash)
3455 ----------------------------------------------------------------------------------------------------------------------------------------------------
3456 Index Scan using ti1_hash on ti1
3457 Index Cond: (c1 = 100)
3458 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3462 /*+IndexScan(ti1 ti1_gist)*/
3463 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)';
3466 IndexScan(ti1 ti1_gist)
3472 ----------------------------------------------------------------------------------------------------------------------------------------------------
3473 Index Scan using ti1_gist on ti1
3474 Index Cond: (c1 < 100)
3475 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3479 /*+IndexScan(ti1 ti1_gin)*/
3480 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)';
3483 IndexScan(ti1 ti1_gin)
3489 -----------------------------------------------------------------------------------------------------------------------------------------
3491 TID Cond: (ctid = '(1,1)'::tid)
3492 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3496 /*+IndexScan(ti1 ti1_expr)*/
3497 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)';
3500 IndexScan(ti1 ti1_expr)
3506 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
3507 Index Scan using ti1_expr on ti1
3508 Index Cond: ((c1 < 100) = true)
3509 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3513 /*+IndexScan(ti1 ti1_pred)*/
3514 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)';
3517 IndexScan(ti1 ti1_pred)
3523 ---------------------------------------------------------------------------------------------------------------------------------------
3524 Index Scan using ti1_pred on ti1
3525 Index Cond: (lower(c4) = '1'::text)
3526 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3530 /*+IndexScan(ti1 ti1_uniq)*/
3531 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)';
3534 IndexScan(ti1 ti1_uniq)
3540 ----------------------------------------------------------------------------------------------------------------------------------------------------
3541 Index Scan using ti1_uniq on ti1
3542 Index Cond: (c1 < 100)
3543 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3547 /*+IndexScan(ti1 ti1_multi)*/
3548 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)';
3551 IndexScan(ti1 ti1_multi)
3557 ---------------------------------------------------------------------------------------------------------------------------------------
3558 Index Scan using ti1_multi on ti1
3559 Index Cond: ((c1 < 100) AND (c2 = 1))
3560 Filter: ((ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3564 /*+IndexScan(ti1 ti1_ts)*/
3565 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)';
3568 IndexScan(ti1 ti1_ts)
3574 -----------------------------------------------------------------------------------------------------------------------------------------
3576 TID Cond: (ctid = '(1,1)'::tid)
3577 Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3581 /*+IndexScan(ti1 ti1_pkey)*/
3582 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)';
3585 IndexScan(ti1 ti1_pkey)
3591 ----------------------------------------------------------------------------------------------------------------------------------------------------
3592 Index Scan using ti1_pkey on ti1
3593 Index Cond: (c1 < 100)
3594 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3598 /*+IndexScan(ti1 ti1_c2_key)*/
3599 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)';
3602 IndexScan(ti1 ti1_c2_key)
3608 ------------------------------------------------------------------------------------------------------------------------------------------------------
3609 Index Scan using ti1_c2_key on ti1
3610 Index Cond: (c2 = 1)
3611 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3615 /*+BitmapScan(ti1 ti1_btree)*/
3616 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)';
3619 BitmapScan(ti1 ti1_btree)
3625 ----------------------------------------------------------------------------------------------------------------------------------------------------
3626 Bitmap Heap Scan on ti1
3627 Recheck Cond: (c1 < 100)
3628 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3629 -> Bitmap Index Scan on ti1_btree
3630 Index Cond: (c1 < 100)
3634 /*+BitmapScan(ti1 ti1_hash)*/
3635 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)';
3638 BitmapScan(ti1 ti1_hash)
3644 ----------------------------------------------------------------------------------------------------------------------------------------------------
3645 Bitmap Heap Scan on ti1
3646 Recheck Cond: (c1 = 100)
3647 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3648 -> Bitmap Index Scan on ti1_hash
3649 Index Cond: (c1 = 100)
3653 /*+BitmapScan(ti1 ti1_gist)*/
3654 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)';
3657 BitmapScan(ti1 ti1_gist)
3663 ----------------------------------------------------------------------------------------------------------------------------------------------------
3664 Bitmap Heap Scan on ti1
3665 Recheck Cond: (c1 < 100)
3666 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3667 -> Bitmap Index Scan on ti1_gist
3668 Index Cond: (c1 < 100)
3672 /*+BitmapScan(ti1 ti1_gin)*/
3673 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)';
3676 BitmapScan(ti1 ti1_gin)
3682 ----------------------------------------------------------------------------------------------------------------------------------------------------
3683 Bitmap Heap Scan on ti1
3684 Recheck Cond: (c1 < 100)
3685 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3686 -> Bitmap Index Scan on ti1_gin
3687 Index Cond: (c1 < 100)
3691 /*+BitmapScan(ti1 ti1_expr)*/
3692 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)';
3695 BitmapScan(ti1 ti1_expr)
3701 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
3702 Bitmap Heap Scan on ti1
3703 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3704 -> Bitmap Index Scan on ti1_expr
3705 Index Cond: ((c1 < 100) = true)
3709 /*+BitmapScan(ti1 ti1_pred)*/
3710 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)';
3713 BitmapScan(ti1 ti1_pred)
3719 ---------------------------------------------------------------------------------------------------------------------------------------
3720 Bitmap Heap Scan on ti1
3721 Recheck Cond: (lower(c4) = '1'::text)
3722 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
3723 -> Bitmap Index Scan on ti1_pred
3724 Index Cond: (lower(c4) = '1'::text)
3728 /*+BitmapScan(ti1 ti1_uniq)*/
3729 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)';
3732 BitmapScan(ti1 ti1_uniq)
3738 ----------------------------------------------------------------------------------------------------------------------------------------------------
3739 Bitmap Heap Scan on ti1
3740 Recheck Cond: (c1 < 100)
3741 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3742 -> Bitmap Index Scan on ti1_uniq
3743 Index Cond: (c1 < 100)
3747 /*+BitmapScan(ti1 ti1_multi)*/
3748 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)';
3751 BitmapScan(ti1 ti1_multi)
3757 ---------------------------------------------------------------------------------------------------------------------------------------
3758 Bitmap Heap Scan on ti1
3759 Recheck Cond: ((c1 < 100) AND (c2 = 1))
3760 Filter: ((ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3761 -> Bitmap Index Scan on ti1_multi
3762 Index Cond: ((c1 < 100) AND (c2 = 1))
3766 /*+BitmapScan(ti1 ti1_ts)*/
3767 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)';
3770 BitmapScan(ti1 ti1_ts)
3776 -------------------------------------------------------------------------------------------
3777 Bitmap Heap Scan on ti1
3778 Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
3779 Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text))
3780 -> Bitmap Index Scan on ti1_ts
3781 Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
3785 /*+BitmapScan(ti1 ti1_pkey)*/
3786 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c4) = '1' AND to_tsvector('english', c4) @@ 'a & b' AND ctid = '(1,1)';
3789 BitmapScan(ti1 ti1_pkey)
3795 ----------------------------------------------------------------------------------------------------------------------------------------------------
3796 Bitmap Heap Scan on ti1
3797 Recheck Cond: (c1 < 100)
3798 Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3799 -> Bitmap Index Scan on ti1_pkey
3800 Index Cond: (c1 < 100)
3804 /*+BitmapScan(ti1 ti1_c2_key)*/
3805 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 BitmapScan(ti1 ti1_c2_key)
3814 ------------------------------------------------------------------------------------------------------------------------------------------------------
3815 Bitmap Heap Scan on ti1
3816 Recheck Cond: (c2 = 1)
3817 Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3818 -> Bitmap Index Scan on ti1_c2_key
3819 Index Cond: (c2 = 1)
3823 ---- No. S-3-5 not used index
3826 /*+IndexScan(ti1 ti1_pred)*/
3827 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
3830 IndexScan(ti1 ti1_pred)
3836 ------------------------------------------------------------------------
3837 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
3842 /*+BitmapScan(ti1 ti1_pred)*/
3843 EXPLAIN (COSTS true) SELECT * FROM s1.ti1 WHERE c1 = 100;
3846 BitmapScan(ti1 ti1_pred)
3852 ------------------------------------------------------------------------
3853 Seq Scan on ti1 (cost=10000000000.00..10000000018.50 rows=1 width=15)
3858 ---- No. S-3-6 not exist index
3861 /*+IndexScan(ti1 not_exist)*/
3862 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 100;
3865 IndexScan(ti1 not_exist)
3871 ----------------------
3877 /*+BitmapScan(ti1 not_exist)*/
3878 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 100;
3881 BitmapScan(ti1 not_exist)
3887 ----------------------
3893 ---- No. S-3-7 query structure
3895 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
3897 -----------------------------------------------
3899 Hash Cond: (t2.c1 = t1.c1)
3903 TID Cond: (ctid = '(1,1)'::tid)
3908 EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE c1 = 100;
3917 ----------------------
3923 /*+SeqScan(t1)BitmapScan(t2)*/
3924 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
3934 ----------------------------------------
3937 Filter: (ctid = '(1,1)'::tid)
3938 -> Bitmap Heap Scan on t2
3939 Recheck Cond: (c1 = t1.c1)
3940 -> Bitmap Index Scan on t2_i1
3941 Index Cond: (c1 = t1.c1)
3946 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1 AND t1.ctid = '(1,1)';
3955 ---------------------------------------------
3957 Hash Cond: (t2.c1 = t1.c1)
3961 Filter: (ctid = '(1,1)'::tid)
3965 ---- No. S-3-8 query structure
3968 EXPLAIN (COSTS false)
3970 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
3971 SELECT max(b3t1.c1), (
3972 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
3973 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
3974 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
3976 ---------------------------------------------------------------------
3978 InitPlan 2 (returns $1)
3980 InitPlan 1 (returns $0)
3982 -> Index Scan using t1_i1 on t1 b2t1
3983 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
3984 InitPlan 4 (returns $3)
3986 InitPlan 3 (returns $2)
3988 -> Index Scan using t1_i1 on t1 b4t1
3989 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
3990 InitPlan 5 (returns $4)
3992 -> Index Scan using t1_i1 on t1 b3t1
3993 Index Cond: ((c1 IS NOT NULL) AND (c1 = $3))
3996 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
3998 EXPLAIN (COSTS false)
4000 SELECT max(b1t1.c1) FROM s1.t1 b1t1 WHERE b1t1.c1 = 1)
4001 SELECT max(b3t1.c1), (
4002 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4003 ) FROM s1.t1 b3t1 WHERE b3t1.c1 = (
4004 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4007 IndexScan(b2t1 t1_pkey)
4008 BitmapScan(b3t1 t1_pkey)
4016 ---------------------------------------------------------------------
4018 InitPlan 2 (returns $1)
4020 InitPlan 1 (returns $0)
4022 -> Index Scan using t1_pkey on t1 b2t1
4023 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4024 InitPlan 4 (returns $3)
4026 InitPlan 3 (returns $2)
4028 -> Seq Scan on t1 b4t1
4029 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4030 InitPlan 5 (returns $4)
4032 -> Bitmap Heap Scan on t1 b3t1
4033 Recheck Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4034 -> Bitmap Index Scan on t1_pkey
4035 Index Cond: ((c1 IS NOT NULL) AND (c1 = $3))
4039 EXPLAIN (COSTS false)
4041 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4042 SELECT max(b3t1.c1), (
4043 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4044 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4045 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4047 -------------------------------------------------------
4052 -> Index Scan using t1_i1 on t1 b1t1
4053 Index Cond: (c1 = 1)
4054 -> Seq Scan on t2 b1t2
4056 InitPlan 2 (returns $1)
4059 -> Index Scan using t1_i1 on t1 b2t1
4060 Index Cond: (c1 = 1)
4061 -> Seq Scan on t2 b2t2
4063 InitPlan 3 (returns $2)
4066 -> Index Scan using t1_i1 on t1 b4t1
4067 Index Cond: (c1 = 1)
4068 -> Seq Scan on t2 b4t2
4072 -> Index Scan using t1_i1 on t1 b3t1
4073 Index Cond: (c1 = $2)
4074 -> Seq Scan on t2 b3t2
4080 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4081 TidScan(b1t2)SeqScan(b2t2)IndexScan(b3t2 t2_pkey)BitmapScan(b4t2 t2_pkey)
4083 EXPLAIN (COSTS false)
4085 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4086 SELECT max(b3t1.c1), (
4087 SELECT max(b2t1.c1) FROM s1.t1 b2t1 JOIN s1.t2 b2t2 ON(b2t1.c1 = b2t2.c1) WHERE b2t1.c1 = 1
4088 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4089 SELECT max(b4t1.c1) FROM s1.t1 b4t1 JOIN s1.t2 b4t2 ON(b4t1.c1 = b4t2.c1) WHERE b4t1.c1 = 1);
4094 IndexScan(b2t1 t1_pkey)
4096 BitmapScan(b3t1 t1_pkey)
4097 IndexScan(b3t2 t2_pkey)
4099 BitmapScan(b4t2 t2_pkey)
4105 ---------------------------------------------------------
4110 -> Seq Scan on t1 b1t1
4112 -> Seq Scan on t2 b1t2
4114 InitPlan 2 (returns $1)
4117 -> Index Scan using t1_pkey on t1 b2t1
4118 Index Cond: (c1 = 1)
4119 -> Seq Scan on t2 b2t2
4121 InitPlan 3 (returns $2)
4124 -> Seq Scan on t1 b4t1
4126 -> Bitmap Heap Scan on t2 b4t2
4127 Recheck Cond: (c1 = 1)
4128 -> Bitmap Index Scan on t2_pkey
4129 Index Cond: (c1 = 1)
4132 -> Bitmap Heap Scan on t1 b3t1
4133 Recheck Cond: (c1 = $2)
4134 -> Bitmap Index Scan on t1_pkey
4135 Index Cond: (c1 = $2)
4138 -> Index Scan using t2_pkey on t2 b3t2
4139 Index Cond: (c1 = $2)
4143 EXPLAIN (COSTS false)
4145 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4146 SELECT max(b3t1.c1), (
4147 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4148 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4149 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4151 ---------------------------------------------------------------------
4156 -> Index Scan using t1_i1 on t1 b1t1
4157 Index Cond: (c1 = 1)
4158 -> Seq Scan on t2 b1t2
4160 InitPlan 3 (returns $2)
4162 InitPlan 2 (returns $1)
4164 -> Index Scan using t1_i1 on t1 b2t1
4165 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4166 InitPlan 5 (returns $4)
4168 InitPlan 4 (returns $3)
4170 -> Index Scan using t1_i1 on t1 b4t1
4171 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4174 -> Index Scan using t1_i1 on t1 b3t1
4175 Index Cond: (c1 = $4)
4176 -> Seq Scan on t2 b3t2
4182 /*+SeqScan(b1t1)IndexScan(b2t1 t1_pkey)BitmapScan(b3t1 t1_pkey)TidScan(b4t1)
4183 TidScan(b1t2)IndexScan(b3t2 t2_pkey)
4185 EXPLAIN (COSTS false)
4187 SELECT max(b1t1.c1) FROM s1.t1 b1t1 JOIN s1.t2 b1t2 ON(b1t1.c1 = b1t2.c1) WHERE b1t1.c1 = 1)
4188 SELECT max(b3t1.c1), (
4189 SELECT max(b2t1.c1) FROM s1.t1 b2t1 WHERE b2t1.c1 = 1
4190 ) FROM s1.t1 b3t1 JOIN s1.t2 b3t2 ON(b3t1.c1 = b3t2.c1) JOIN cte1 ON(b3t1.c1 = cte1.c1) WHERE b3t1.c1 = (
4191 SELECT max(b4t1.c1) FROM s1.t1 b4t1 WHERE b4t1.c1 = 1);
4196 IndexScan(b2t1 t1_pkey)
4197 BitmapScan(b3t1 t1_pkey)
4198 IndexScan(b3t2 t2_pkey)
4205 ---------------------------------------------------------------------
4210 -> Seq Scan on t1 b1t1
4212 -> Seq Scan on t2 b1t2
4214 InitPlan 3 (returns $2)
4216 InitPlan 2 (returns $1)
4218 -> Index Scan using t1_pkey on t1 b2t1
4219 Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
4220 InitPlan 5 (returns $4)
4222 InitPlan 4 (returns $3)
4224 -> Seq Scan on t1 b4t1
4225 Filter: ((c1 IS NOT NULL) AND (c1 = 1))
4228 -> Bitmap Heap Scan on t1 b3t1
4229 Recheck Cond: (c1 = $4)
4230 -> Bitmap Index Scan on t1_pkey
4231 Index Cond: (c1 = $4)
4234 -> Index Scan using t2_pkey on t2 b3t2
4235 Index Cond: (c1 = $4)
4239 ---- No. S-3-9 inheritance table select type
4242 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4244 --------------------
4250 EXPLAIN (COSTS false) SELECT * FROM ONLY s1.p1 WHERE c1 = 1;
4259 -----------------------------
4260 Index Scan using p1_i on p1
4261 Index Cond: (c1 = 1)
4265 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4267 ---------------------------------
4272 -> Seq Scan on p1c1 p1
4277 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4286 ------------------------------------------------
4289 -> Index Scan using p1_i on p1
4290 Index Cond: (c1 = 1)
4291 -> Index Scan using p1c1_i on p1c1 p1
4292 Index Cond: (c1 = 1)
4296 ---- No. S-3-10 inheritance table number
4299 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4301 ---------------------------------
4306 -> Seq Scan on p1c1 p1
4311 EXPLAIN (COSTS false) SELECT * FROM s1.p1 WHERE c1 = 1;
4320 ------------------------------------------------
4323 -> Index Scan using p1_i on p1
4324 Index Cond: (c1 = 1)
4325 -> Index Scan using p1c1_i on p1c1 p1
4326 Index Cond: (c1 = 1)
4330 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
4332 -----------------------------------
4337 -> Seq Scan on p2c1 p2
4339 -> Seq Scan on p2c1c1 p2
4344 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
4353 ----------------------------------------------------
4356 -> Index Scan using p2_i on p2
4357 Index Cond: (c1 = 1)
4358 -> Index Scan using p2c1_i on p2c1 p2
4359 Index Cond: (c1 = 1)
4360 -> Index Scan using p2c1c1_i on p2c1c1 p2
4361 Index Cond: (c1 = 1)
4365 ---- No. S-3-11 inheritance table specified table
4367 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
4369 -----------------------------------
4374 -> Seq Scan on p2c1 p2
4376 -> Seq Scan on p2c1c1 p2
4382 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
4391 ----------------------------------------------------
4394 -> Index Scan using p2_i on p2
4395 Index Cond: (c1 = 1)
4396 -> Index Scan using p2c1_i on p2c1 p2
4397 Index Cond: (c1 = 1)
4398 -> Index Scan using p2c1c1_i on p2c1c1 p2
4399 Index Cond: (c1 = 1)
4403 /*+IndexScan(p2c1)*/
4404 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
4413 -----------------------------------
4418 -> Seq Scan on p2c1 p2
4420 -> Seq Scan on p2c1c1 p2
4425 /*+IndexScan(p2 p2_pkey p2c1_pkey p2c1c1_pkey)*/
4426 EXPLAIN (COSTS false) SELECT * FROM s1.p2 WHERE c1 = 1;
4429 IndexScan(p2 p2_pkey p2c1_pkey p2c1c1_pkey)
4435 -------------------------------------------------------
4438 -> Index Scan using p2_pkey on p2
4439 Index Cond: (c1 = 1)
4440 -> Index Scan using p2c1_pkey on p2c1 p2
4441 Index Cond: (c1 = 1)
4442 -> Index Scan using p2c1c1_pkey on p2c1c1 p2
4443 Index Cond: (c1 = 1)
4447 /*+IndexScan(p2 p2c1_pkey)*/
4448 EXPLAIN (COSTS true) SELECT * FROM s1.p2 WHERE c1 = 1;
4451 IndexScan(p2 p2c1_pkey)
4457 ------------------------------------------------------------------------------------------
4458 Result (cost=10000000000.00..20000000009.89 rows=3 width=34)
4459 -> Append (cost=10000000000.00..20000000009.89 rows=3 width=34)
4460 -> Seq Scan on p2 (cost=10000000000.00..10000000000.00 rows=1 width=44)
4462 -> Index Scan using p2c1_pkey on p2c1 p2 (cost=0.00..8.27 rows=1 width=44)
4463 Index Cond: (c1 = 1)
4464 -> Seq Scan on p2c1c1 p2 (cost=10000000000.00..10000000001.62 rows=1 width=14)
4469 ---- No. S-3-12 specified same table
4472 /*+IndexScan(ti1) BitmapScan(ti1)*/
4473 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4474 INFO: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
4475 DETAIL: Conflict scan method hint.
4485 -------------------------------------
4486 Bitmap Heap Scan on ti1
4487 Recheck Cond: (c1 = 1)
4488 Filter: (ctid = '(1,1)'::tid)
4489 -> Bitmap Index Scan on ti1_uniq
4490 Index Cond: (c1 = 1)
4494 /*+IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
4495 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4496 INFO: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
4497 DETAIL: Conflict scan method hint.
4500 BitmapScan(ti1 ti1_btree)
4503 IndexScan(ti1 ti1_pkey)
4507 --------------------------------------
4508 Bitmap Heap Scan on ti1
4509 Recheck Cond: (c1 = 1)
4510 Filter: (ctid = '(1,1)'::tid)
4511 -> Bitmap Index Scan on ti1_btree
4512 Index Cond: (c1 = 1)
4516 /*+BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)*/
4517 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4518 INFO: hint syntax error at or near "BitmapScan(ti1) IndexScan(ti1) BitmapScan(ti1)"
4519 DETAIL: Conflict scan method hint.
4520 INFO: hint syntax error at or near "IndexScan(ti1) BitmapScan(ti1)"
4521 DETAIL: Conflict scan method hint.
4532 -------------------------------------
4533 Bitmap Heap Scan on ti1
4534 Recheck Cond: (c1 = 1)
4535 Filter: (ctid = '(1,1)'::tid)
4536 -> Bitmap Index Scan on ti1_uniq
4537 Index Cond: (c1 = 1)
4541 /*+BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)*/
4542 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4543 INFO: hint syntax error at or near "BitmapScan(ti1 ti1_hash) IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
4544 DETAIL: Conflict scan method hint.
4545 INFO: hint syntax error at or near "IndexScan(ti1 ti1_pkey) BitmapScan(ti1 ti1_btree)"
4546 DETAIL: Conflict scan method hint.
4549 BitmapScan(ti1 ti1_btree)
4552 BitmapScan(ti1 ti1_hash)
4553 IndexScan(ti1 ti1_pkey)
4557 --------------------------------------
4558 Bitmap Heap Scan on ti1
4559 Recheck Cond: (c1 = 1)
4560 Filter: (ctid = '(1,1)'::tid)
4561 -> Bitmap Index Scan on ti1_btree
4562 Index Cond: (c1 = 1)
4566 ---- No. S-3-13 message output
4570 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4579 ------------------------------------------------
4581 Filter: ((c1 = 1) AND (ctid = '(1,1)'::tid))
4585 /*+SeqScan(ti1 ti1_pkey)*/
4586 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4587 INFO: hint syntax error at or near "ti1_pkey)"
4588 DETAIL: Closing parenthesis is necessary.
4590 -----------------------------------
4592 TID Cond: (ctid = '(1,1)'::tid)
4597 /*+SeqScan(ti1 ti1_pkey ti1_btree)*/
4598 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4599 INFO: hint syntax error at or near "ti1_pkey ti1_btree)"
4600 DETAIL: Closing parenthesis is necessary.
4602 -----------------------------------
4604 TID Cond: (ctid = '(1,1)'::tid)
4610 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4619 ----------------------------------
4620 Index Scan using ti1_uniq on ti1
4621 Index Cond: (c1 = 1)
4622 Filter: (ctid = '(1,1)'::tid)
4626 /*+IndexScan(ti1 ti1_pkey)*/
4627 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4630 IndexScan(ti1 ti1_pkey)
4636 ----------------------------------
4637 Index Scan using ti1_pkey on ti1
4638 Index Cond: (c1 = 1)
4639 Filter: (ctid = '(1,1)'::tid)
4643 /*+IndexScan(ti1 ti1_pkey ti1_btree)*/
4644 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4647 IndexScan(ti1 ti1_pkey ti1_btree)
4653 -----------------------------------
4654 Index Scan using ti1_btree on ti1
4655 Index Cond: (c1 = 1)
4656 Filter: (ctid = '(1,1)'::tid)
4660 /*+BitmapScan(ti1)*/
4661 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4670 -------------------------------------
4671 Bitmap Heap Scan on ti1
4672 Recheck Cond: (c1 = 1)
4673 Filter: (ctid = '(1,1)'::tid)
4674 -> Bitmap Index Scan on ti1_uniq
4675 Index Cond: (c1 = 1)
4679 /*+BitmapScan(ti1 ti1_pkey)*/
4680 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4683 BitmapScan(ti1 ti1_pkey)
4689 -------------------------------------
4690 Bitmap Heap Scan on ti1
4691 Recheck Cond: (c1 = 1)
4692 Filter: (ctid = '(1,1)'::tid)
4693 -> Bitmap Index Scan on ti1_pkey
4694 Index Cond: (c1 = 1)
4698 /*+BitmapScan(ti1 ti1_pkey ti1_btree)*/
4699 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4702 BitmapScan(ti1 ti1_pkey ti1_btree)
4708 --------------------------------------
4709 Bitmap Heap Scan on ti1
4710 Recheck Cond: (c1 = 1)
4711 Filter: (ctid = '(1,1)'::tid)
4712 -> Bitmap Index Scan on ti1_btree
4713 Index Cond: (c1 = 1)
4718 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4727 -----------------------------------
4729 TID Cond: (ctid = '(1,1)'::tid)
4734 /*+TidScan(ti1 ti1_pkey)*/
4735 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4736 INFO: hint syntax error at or near "ti1_pkey)"
4737 DETAIL: Closing parenthesis is necessary.
4739 -----------------------------------
4741 TID Cond: (ctid = '(1,1)'::tid)
4746 /*+TidScan(ti1 ti1_pkey ti1_btree)*/
4747 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4748 INFO: hint syntax error at or near "ti1_pkey ti1_btree)"
4749 DETAIL: Closing parenthesis is necessary.
4751 -----------------------------------
4753 TID Cond: (ctid = '(1,1)'::tid)
4759 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4768 -----------------------------------
4770 TID Cond: (ctid = '(1,1)'::tid)
4775 /*+NoSeqScan(ti1 ti1_pkey)*/
4776 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4777 INFO: hint syntax error at or near "ti1_pkey)"
4778 DETAIL: Closing parenthesis is necessary.
4780 -----------------------------------
4782 TID Cond: (ctid = '(1,1)'::tid)
4787 /*+NoSeqScan(ti1 ti1_pkey ti1_btree)*/
4788 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4789 INFO: hint syntax error at or near "ti1_pkey ti1_btree)"
4790 DETAIL: Closing parenthesis is necessary.
4792 -----------------------------------
4794 TID Cond: (ctid = '(1,1)'::tid)
4799 /*+NoIndexScan(ti1)*/
4800 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4809 -----------------------------------
4811 TID Cond: (ctid = '(1,1)'::tid)
4816 /*+NoIndexScan(ti1 ti1_pkey)*/
4817 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4818 INFO: hint syntax error at or near "ti1_pkey)"
4819 DETAIL: Closing parenthesis is necessary.
4821 -----------------------------------
4823 TID Cond: (ctid = '(1,1)'::tid)
4828 /*+NoIndexScan(ti1 ti1_pkey ti1_btree)*/
4829 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4830 INFO: hint syntax error at or near "ti1_pkey ti1_btree)"
4831 DETAIL: Closing parenthesis is necessary.
4833 -----------------------------------
4835 TID Cond: (ctid = '(1,1)'::tid)
4840 /*+NoBitmapScan(ti1)*/
4841 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4850 -----------------------------------
4852 TID Cond: (ctid = '(1,1)'::tid)
4857 /*+NoBitmapScan(ti1 ti1_pkey)*/
4858 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4859 INFO: hint syntax error at or near "ti1_pkey)"
4860 DETAIL: Closing parenthesis is necessary.
4862 -----------------------------------
4864 TID Cond: (ctid = '(1,1)'::tid)
4869 /*+NoBitmapScan(ti1 ti1_pkey ti1_btree)*/
4870 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4871 INFO: hint syntax error at or near "ti1_pkey ti1_btree)"
4872 DETAIL: Closing parenthesis is necessary.
4874 -----------------------------------
4876 TID Cond: (ctid = '(1,1)'::tid)
4882 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4891 ----------------------------------
4892 Index Scan using ti1_uniq on ti1
4893 Index Cond: (c1 = 1)
4894 Filter: (ctid = '(1,1)'::tid)
4898 /*+NoTidScan(ti1 ti1_pkey)*/
4899 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4900 INFO: hint syntax error at or near "ti1_pkey)"
4901 DETAIL: Closing parenthesis is necessary.
4903 -----------------------------------
4905 TID Cond: (ctid = '(1,1)'::tid)
4910 /*+NoTidScan(ti1 ti1_pkey ti1_btree)*/
4911 EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
4912 INFO: hint syntax error at or near "ti1_pkey ti1_btree)"
4913 DETAIL: Closing parenthesis is necessary.
4915 -----------------------------------
4917 TID Cond: (ctid = '(1,1)'::tid)