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;
8 ---- No. G-1-1 RULE definition table
12 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
14 Set(enable_tidscan off)Set(enable_nestloop off)
16 EXPLAIN (COSTS false) UPDATE s1.r1 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
17 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
19 Set(enable_tidscan off)Set(enable_nestloop off)
21 EXPLAIN (COSTS false) UPDATE s1.r1_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
24 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
26 Set(enable_tidscan off)Set(enable_nestloop off)
28 EXPLAIN (COSTS false) UPDATE s1.r2 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
29 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
31 Set(enable_tidscan off)Set(enable_nestloop off)
33 EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
36 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
38 Set(enable_tidscan off)Set(enable_nestloop off)
40 EXPLAIN (COSTS false) UPDATE s1.r3 SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
41 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
43 Set(enable_tidscan off)Set(enable_nestloop off)
45 EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
47 RESET client_min_messages;
50 ---- No. G-2-1 GUC parameter
54 /*+Set(1234567890123456789012345678901234567890123456789012345678901234 1)*/
55 SELECT * FROM s1.t1 WHERE t1.c1 = 1;
58 /*+Set(constraint_exclusion 1234567890123456789012345678901234567890123456789012345678901234)*/
59 SELECT * FROM s1.t1 WHERE t1.c1 = 1;
62 ---- No. G-2-2 category of GUC parameter and role
67 /*+Set(block_size 16384)*/
68 SELECT * FROM s1.t1 WHERE t1.c1 = 1;
71 /*+Set(archive_mode off)*/
72 SELECT * FROM s1.t1 WHERE t1.c1 = 1;
75 /*+Set(archive_timeout 0)*/
76 SELECT * FROM s1.t1 WHERE t1.c1 = 1;
79 /*+Set(log_connections off)*/
80 SELECT * FROM s1.t1 WHERE t1.c1 = 1;
83 /*+Set(log_min_messages WARNING)*/
84 SELECT * FROM s1.t1 WHERE t1.c1 = 1;
88 GRANT ALL ON SCHEMA s1 TO PUBLIC;
89 GRANT SELECT ON ALL TABLES IN SCHEMA s1 TO normal_user;
91 /*+Set(log_min_messages WARNING)*/
92 SELECT * FROM s1.t1 WHERE t1.c1 = 1;
95 /*+Set(enable_seqscan on)*/
96 SELECT * FROM s1.t1 WHERE t1.c1 = 1;
99 REVOKE SELECT ON ALL TABLES IN SCHEMA s1 FROM normal_user;
100 REVOKE ALL ON SCHEMA s1 FROM PUBLIC;
103 ---- No. G-2-3 conflict set hint
106 SET client_min_messages TO LOG;
108 /*+Set(enable_indexscan on)Set(enable_indexscan off)*/
109 SELECT * FROM s1.t1 WHERE false;
112 /*+Set(client_min_messages DEBUG5)Set(client_min_messages WARNING)Set(client_min_messages DEBUG2)*/
113 SELECT * FROM s1.t1 WHERE false;
116 /*+Set(enable_indexscan on)Set(enable_indexscan o)*/
117 SELECT * FROM s1.t1 WHERE false;
120 /*+Set(client_min_messages DEBUG5)Set(client_min_messages WARNING)Set(client_min_messages DEBU)*/
121 SELECT * FROM s1.t1 WHERE false;
124 ---- No. G-2-4 debug message
128 /*+SeqScan(a)IndexScan(a)SeqScan(c)NestLoop(a) */
129 SELECT * FROM s1.t1 a, s1.t2 b WHERE false;