DETAIL: Opening parenthesis is necessary.
SET client_min_messages TO fatal;
/*+Set*/SELECT 1;
+ERROR: pg_hint_plan: hint syntax error at or near ""
+DETAIL: Opening parenthesis is necessary.
-- No. A-8-4-11
RESET client_min_messages;
SET pg_hint_plan.parse_messages TO DEFAULT;
SELECT name, setting FROM settings;
name | setting
------------------------------+-----------
+ client_min_messages | log
geqo | on
geqo_effort | 5
geqo_generations | 0
enable_seqscan | on
enable_sort | on
enable_tidscan | on
- client_min_messages | log
(36 rows)
SET pg_hint_plan.parse_messages TO error;
SELECT name, setting FROM settings;
name | setting
------------------------------+-----------
+ client_min_messages | log
geqo | on
geqo_effort | 5
geqo_generations | 0
enable_seqscan | on
enable_sort | on
enable_tidscan | on
- client_min_messages | log
(36 rows)
/*+Set(enable_seqscan off)Set(geqo_threshold 100)SeqScan(t1)MergeJoin(t1 t2)*/
SELECT name, setting FROM settings;
name | setting
------------------------------+-----------
+ client_min_messages | log
geqo | on
geqo_effort | 5
geqo_generations | 0
enable_seqscan | on
enable_sort | on
enable_tidscan | on
- client_min_messages | log
(36 rows)
SET pg_hint_plan.parse_messages TO error;
SELECT name, setting FROM settings;
name | setting
------------------------------+-----------
+ client_min_messages | log
geqo | on
geqo_effort | 5
geqo_generations | 0
enable_seqscan | on
enable_sort | on
enable_tidscan | on
- client_min_messages | log
(36 rows)
EXPLAIN (COSTS false) EXECUTE p1;
SELECT name, setting FROM settings;
name | setting
------------------------------+-----------
+ client_min_messages | log
geqo | on
geqo_effort | 5
geqo_generations | 0
enable_seqscan | on
enable_sort | on
enable_tidscan | on
- client_min_messages | log
(36 rows)
SET pg_hint_plan.parse_messages TO error;
SELECT name, setting FROM settings;
name | setting
------------------------------+-----------
+ client_min_messages | log
geqo | on
geqo_effort | 5
geqo_generations | 0
enable_seqscan | on
enable_sort | on
enable_tidscan | on
- client_min_messages | log
(36 rows)
-- No. A-12-1-4
SELECT name, setting FROM settings;
name | setting
------------------------------+-----------
+ client_min_messages | log
geqo | on
geqo_effort | 5
geqo_generations | 0
enable_seqscan | on
enable_sort | on
enable_tidscan | on
- client_min_messages | log
(36 rows)
SET pg_hint_plan.parse_messages TO error;
SELECT name, setting FROM settings;
name | setting
------------------------------+-----------
+ client_min_messages | log
geqo | on
geqo_effort | 5
geqo_generations | 0
enable_seqscan | on
enable_sort | on
enable_tidscan | on
- client_min_messages | log
(36 rows)
DEALLOCATE p1;
SELECT name, setting FROM settings;
name | setting
------------------------------+-----------
+ client_min_messages | log
geqo | on
geqo_effort | 5
geqo_generations | 0
enable_seqscan | on
enable_sort | on
enable_tidscan | on
- client_min_messages | log
(36 rows)
/*+Set(enable_indexscan on)Set(geqo_threshold 100)IndexScan(t2)MergeJoin(t1 t2)Leading(t2 t1)*/
SELECT name, setting FROM settings;
name | setting
------------------------------+-----------
+ client_min_messages | log
geqo | on
geqo_effort | 5
geqo_generations | 0
enable_seqscan | on
enable_sort | on
enable_tidscan | on
- client_min_messages | log
(36 rows)
EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
SELECT name, setting FROM settings;
name | setting
------------------------------+-----------
+ client_min_messages | log
geqo | on
geqo_effort | 5
geqo_generations | 0
enable_seqscan | on
enable_sort | on
enable_tidscan | on
- client_min_messages | log
(36 rows)
BEGIN;
SELECT name, setting FROM settings;
name | setting
------------------------------+-----------
+ client_min_messages | log
geqo | on
geqo_effort | 5
geqo_generations | 0
enable_seqscan | on
enable_sort | on
enable_tidscan | on
- client_min_messages | log
(36 rows)
EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
SELECT name, setting FROM settings;
name | setting
------------------------------+-----------
+ client_min_messages | log
geqo | on
geqo_effort | 5
geqo_generations | 0
enable_seqscan | on
enable_sort | on
enable_tidscan | on
- client_min_messages | log
(36 rows)
/*+Set(enable_indexscan on)Set(geqo_threshold 100)IndexScan(t2)MergeJoin(t1 t2)Leading(t2 t1)*/
SELECT name, setting FROM settings;
name | setting
------------------------------+-----------
+ client_min_messages | notice
geqo | on
geqo_effort | 5
geqo_generations | 0
enable_seqscan | on
enable_sort | on
enable_tidscan | on
- client_min_messages | notice
(36 rows)
EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on t4_pkey
Index Cond: (c1 = b1t2.c1)
- InitPlan 2 (returns $4)
+ InitPlan 2 (returns $5)
-> Aggregate
-> Nested Loop
Join Filter: (b2t1.c1 = b2t4.c1)
-> Index Scan using t4_pkey on t4 b2t4
Index Cond: (c1 = b2t2.c1)
Filter: (ctid = '(1,1)'::tid)
- InitPlan 3 (returns $7)
+ InitPlan 3 (returns $8)
-> Aggregate
-> Nested Loop
Join Filter: (b3t1.c1 = b3t2.c1)
-> Nested Loop
Join Filter: (bmt1.c1 = bmt4.c1)
-> Seq Scan on t1 bmt1
- Filter: ((c1 <> $7) AND (ctid = '(1,1)'::tid))
+ Filter: ((c1 <> $8) AND (ctid = '(1,1)'::tid))
-> Tid Scan on t4 bmt4
TID Cond: (ctid = '(1,1)'::tid)
-> Index Scan using t2_pkey on t2 bmt2
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on t4_pkey
Index Cond: (c1 = b1t2.c1)
- InitPlan 3 (returns $3)
+ InitPlan 3 (returns $4)
-> Result
- InitPlan 2 (returns $2)
+ InitPlan 2 (returns $3)
-> Limit
-> Bitmap Heap Scan on t1 b2t1
Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on t1_pkey
Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
- InitPlan 5 (returns $5)
+ InitPlan 5 (returns $6)
-> Result
- InitPlan 4 (returns $4)
+ InitPlan 4 (returns $5)
-> Limit
-> Index Scan Backward using t1_pkey on t1 b3t1
Index Cond: (c1 IS NOT NULL)
-> Nested Loop
Join Filter: (bmt1.c1 = bmt4.c1)
-> Seq Scan on t1 bmt1
- Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid))
+ Filter: ((c1 <> $6) AND (ctid = '(1,1)'::tid))
-> Tid Scan on t4 bmt4
TID Cond: (ctid = '(1,1)'::tid)
-> Index Scan using t2_pkey on t2 bmt2