Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6ab1dbd

Browse files
committed
Add NOT NULL checking of pg_stat_statements_reset() in tests
This is preliminary patch. It adds NOT NULL checking for the result of pg_stat_statements_reset() function. It is needed for upcoming patch "Track statement entry timestamp" that will change the result type of this function to the timestamp of a reset performed. Discussion: https://postgr.es/m/flat/72e80e7b160a6eb189df9ef6f068cce3765d37f8.camel%40moonset.ru Author: Andrei Zubkov Reviewed-by: Julien Rouhaud, Hayato Kuroda, Yuki Seino, Chengxi Sun Reviewed-by: Anton Melnikov, Darren Rush, Michael Paquier, Sergei Kornilov Reviewed-by: Alena Rybakina, Andrei Lepikhov
1 parent 01eca6a commit 6ab1dbd

16 files changed

+317
-312
lines changed

contrib/pg_stat_statements/expected/cursors.out

+14-14
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
--
44
-- These tests require track_utility to be enabled.
55
SET pg_stat_statements.track_utility = TRUE;
6-
SELECT pg_stat_statements_reset();
7-
pg_stat_statements_reset
8-
--------------------------
9-
6+
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
7+
t
8+
---
9+
t
1010
(1 row)
1111

1212
-- DECLARE
@@ -20,13 +20,13 @@ SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
2020
-------+------+-------------------------------------------------------
2121
2 | 0 | CLOSE cursor_stats_1
2222
2 | 0 | DECLARE cursor_stats_1 CURSOR WITH HOLD FOR SELECT $1
23-
1 | 1 | SELECT pg_stat_statements_reset()
23+
1 | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
2424
(3 rows)
2525

26-
SELECT pg_stat_statements_reset();
27-
pg_stat_statements_reset
28-
--------------------------
29-
26+
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
27+
t
28+
---
29+
t
3030
(1 row)
3131

3232
-- FETCH
@@ -59,12 +59,12 @@ SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
5959
1 | 0 | DECLARE cursor_stats_2 CURSOR WITH HOLD FOR SELECT $1
6060
1 | 1 | FETCH 1 IN cursor_stats_1
6161
1 | 1 | FETCH 1 IN cursor_stats_2
62-
1 | 1 | SELECT pg_stat_statements_reset()
62+
1 | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
6363
(9 rows)
6464

65-
SELECT pg_stat_statements_reset();
66-
pg_stat_statements_reset
67-
--------------------------
68-
65+
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
66+
t
67+
---
68+
t
6969
(1 row)
7070

contrib/pg_stat_statements/expected/dml.out

+14-14
Original file line numberDiff line numberDiff line change
@@ -81,16 +81,16 @@ SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
8181
1 | 12 | SELECT * FROM pgss_dml_tab ORDER BY a
8282
2 | 4 | SELECT * FROM pgss_dml_tab WHERE a > $1 ORDER BY a
8383
1 | 8 | SELECT * FROM pgss_dml_tab WHERE a IN ($1, $2, $3, $4, $5)
84-
1 | 1 | SELECT pg_stat_statements_reset()
84+
1 | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
8585
1 | 0 | SET pg_stat_statements.track_utility = FALSE
8686
6 | 6 | UPDATE pgss_dml_tab SET b = $1 WHERE a = $2
8787
1 | 3 | UPDATE pgss_dml_tab SET b = $1 WHERE a > $2
8888
(10 rows)
8989

90-
SELECT pg_stat_statements_reset();
91-
pg_stat_statements_reset
92-
--------------------------
93-
90+
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
91+
t
92+
---
93+
t
9494
(1 row)
9595

9696
-- MERGE
@@ -136,16 +136,16 @@ SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
136136
| | WHEN NOT MATCHED THEN INSERT (a, b) VALUES ($1, $2)
137137
1 | 0 | MERGE INTO pgss_dml_tab USING pgss_dml_tab st ON (st.a = pgss_dml_tab.a) +
138138
| | WHEN NOT MATCHED THEN INSERT (b, a) VALUES ($1, $2)
139-
1 | 1 | SELECT pg_stat_statements_reset()
139+
1 | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
140140
(10 rows)
141141

142142
-- check that [temp] table relation extensions are tracked as writes
143143
CREATE TABLE pgss_extend_tab (a int, b text);
144144
CREATE TEMP TABLE pgss_extend_temp_tab (a int, b text);
145-
SELECT pg_stat_statements_reset();
146-
pg_stat_statements_reset
147-
--------------------------
148-
145+
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
146+
t
147+
---
148+
t
149149
(1 row)
150150

151151
INSERT INTO pgss_extend_tab (a, b) SELECT generate_series(1, 1000), 'something';
@@ -166,9 +166,9 @@ FROM pg_stat_statements;
166166
t | t | t | t
167167
(1 row)
168168

169-
SELECT pg_stat_statements_reset();
170-
pg_stat_statements_reset
171-
--------------------------
172-
169+
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
170+
t
171+
---
172+
t
173173
(1 row)
174174

contrib/pg_stat_statements/expected/level_tracking.out

+56-56
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
-- Statement level tracking
33
--
44
SET pg_stat_statements.track_utility = TRUE;
5-
SELECT pg_stat_statements_reset();
6-
pg_stat_statements_reset
7-
--------------------------
8-
5+
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
6+
t
7+
---
8+
t
99
(1 row)
1010

1111
-- DO block - top-level tracking.
@@ -29,10 +29,10 @@ SELECT toplevel, calls, query FROM pg_stat_statements
2929
| | $$ LANGUAGE plpgsql
3030
(2 rows)
3131

32-
SELECT pg_stat_statements_reset();
33-
pg_stat_statements_reset
34-
--------------------------
35-
32+
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
33+
t
34+
---
35+
t
3636
(1 row)
3737

3838
-- DO block - all-level tracking.
@@ -49,31 +49,31 @@ BEGIN
4949
END; $$;
5050
SELECT toplevel, calls, query FROM pg_stat_statements
5151
ORDER BY query COLLATE "C", toplevel;
52-
toplevel | calls | query
53-
----------+-------+--------------------------------------
52+
toplevel | calls | query
53+
----------+-------+----------------------------------------------------
5454
f | 1 | DELETE FROM stats_track_tab
5555
t | 1 | DELETE FROM stats_track_tab
56-
t | 1 | DO $$ +
57-
| | BEGIN +
58-
| | DELETE FROM stats_track_tab; +
56+
t | 1 | DO $$ +
57+
| | BEGIN +
58+
| | DELETE FROM stats_track_tab; +
5959
| | END; $$
60-
t | 1 | DO LANGUAGE plpgsql $$ +
61-
| | BEGIN +
62-
| | -- this is a SELECT +
63-
| | PERFORM 'hello world'::TEXT; +
60+
t | 1 | DO LANGUAGE plpgsql $$ +
61+
| | BEGIN +
62+
| | -- this is a SELECT +
63+
| | PERFORM 'hello world'::TEXT; +
6464
| | END; $$
6565
f | 1 | SELECT $1::TEXT
66-
t | 1 | SELECT pg_stat_statements_reset()
66+
t | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
6767
t | 1 | SET pg_stat_statements.track = 'all'
6868
(7 rows)
6969

7070
-- DO block - top-level tracking without utility.
7171
SET pg_stat_statements.track = 'top';
7272
SET pg_stat_statements.track_utility = FALSE;
73-
SELECT pg_stat_statements_reset();
74-
pg_stat_statements_reset
75-
--------------------------
76-
73+
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
74+
t
75+
---
76+
t
7777
(1 row)
7878

7979
DELETE FROM stats_track_tab;
@@ -88,18 +88,18 @@ BEGIN
8888
END; $$;
8989
SELECT toplevel, calls, query FROM pg_stat_statements
9090
ORDER BY query COLLATE "C", toplevel;
91-
toplevel | calls | query
92-
----------+-------+-----------------------------------
91+
toplevel | calls | query
92+
----------+-------+----------------------------------------------------
9393
t | 1 | DELETE FROM stats_track_tab
94-
t | 1 | SELECT pg_stat_statements_reset()
94+
t | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
9595
(2 rows)
9696

9797
-- DO block - all-level tracking without utility.
9898
SET pg_stat_statements.track = 'all';
99-
SELECT pg_stat_statements_reset();
100-
pg_stat_statements_reset
101-
--------------------------
102-
99+
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
100+
t
101+
---
102+
t
103103
(1 row)
104104

105105
DELETE FROM stats_track_tab;
@@ -114,21 +114,21 @@ BEGIN
114114
END; $$;
115115
SELECT toplevel, calls, query FROM pg_stat_statements
116116
ORDER BY query COLLATE "C", toplevel;
117-
toplevel | calls | query
118-
----------+-------+-----------------------------------
117+
toplevel | calls | query
118+
----------+-------+----------------------------------------------------
119119
f | 1 | DELETE FROM stats_track_tab
120120
t | 1 | DELETE FROM stats_track_tab
121121
f | 1 | SELECT $1::TEXT
122-
t | 1 | SELECT pg_stat_statements_reset()
122+
t | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
123123
(4 rows)
124124

125125
-- PL/pgSQL function - top-level tracking.
126126
SET pg_stat_statements.track = 'top';
127127
SET pg_stat_statements.track_utility = FALSE;
128-
SELECT pg_stat_statements_reset();
129-
pg_stat_statements_reset
130-
--------------------------
131-
128+
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
129+
t
130+
---
131+
t
132132
(1 row)
133133

134134
CREATE FUNCTION PLUS_TWO(i INTEGER) RETURNS INTEGER AS $$
@@ -166,11 +166,11 @@ SELECT PLUS_ONE(10);
166166
(1 row)
167167

168168
SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
169-
calls | rows | query
170-
-------+------+-----------------------------------
169+
calls | rows | query
170+
-------+------+----------------------------------------------------
171171
2 | 2 | SELECT PLUS_ONE($1)
172172
2 | 2 | SELECT PLUS_TWO($1)
173-
1 | 1 | SELECT pg_stat_statements_reset()
173+
1 | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
174174
(3 rows)
175175

176176
-- immutable SQL function --- can be executed at plan time
@@ -195,15 +195,15 @@ SELECT toplevel, calls, rows, query FROM pg_stat_statements ORDER BY query COLLA
195195
t | 2 | 2 | SELECT PLUS_THREE($1)
196196
t | 2 | 2 | SELECT PLUS_TWO($1)
197197
t | 1 | 3 | SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C"
198-
t | 1 | 1 | SELECT pg_stat_statements_reset()
198+
t | 1 | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
199199
(5 rows)
200200

201201
-- PL/pgSQL function - all-level tracking.
202202
SET pg_stat_statements.track = 'all';
203-
SELECT pg_stat_statements_reset();
204-
pg_stat_statements_reset
205-
--------------------------
206-
203+
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
204+
t
205+
---
206+
t
207207
(1 row)
208208

209209
-- we drop and recreate the functions to avoid any caching funnies
@@ -246,13 +246,13 @@ SELECT PLUS_ONE(1);
246246
(1 row)
247247

248248
SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
249-
calls | rows | query
250-
-------+------+-----------------------------------
249+
calls | rows | query
250+
-------+------+----------------------------------------------------
251251
2 | 2 | SELECT (i + $2 + $3)::INTEGER
252252
2 | 2 | SELECT (i + $2)::INTEGER LIMIT $3
253253
2 | 2 | SELECT PLUS_ONE($1)
254254
2 | 2 | SELECT PLUS_TWO($1)
255-
1 | 1 | SELECT pg_stat_statements_reset()
255+
1 | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
256256
(5 rows)
257257

258258
-- immutable SQL function --- can be executed at plan time
@@ -280,17 +280,17 @@ SELECT toplevel, calls, rows, query FROM pg_stat_statements ORDER BY query COLLA
280280
t | 2 | 2 | SELECT PLUS_TWO($1)
281281
t | 1 | 5 | SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C"
282282
f | 2 | 2 | SELECT i + $2 LIMIT $3
283-
t | 1 | 1 | SELECT pg_stat_statements_reset()
283+
t | 1 | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
284284
(8 rows)
285285

286286
--
287287
-- pg_stat_statements.track = none
288288
--
289289
SET pg_stat_statements.track = 'none';
290-
SELECT pg_stat_statements_reset();
291-
pg_stat_statements_reset
292-
--------------------------
293-
290+
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
291+
t
292+
---
293+
t
294294
(1 row)
295295

296296
SELECT 1 AS "one";
@@ -310,9 +310,9 @@ SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
310310
-------+------+-------
311311
(0 rows)
312312

313-
SELECT pg_stat_statements_reset();
314-
pg_stat_statements_reset
315-
--------------------------
316-
313+
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
314+
t
315+
---
316+
t
317317
(1 row)
318318

contrib/pg_stat_statements/expected/planning.out

+9-9
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
--
44
-- These tests require track_planning to be enabled.
55
SET pg_stat_statements.track_planning = TRUE;
6-
SELECT pg_stat_statements_reset();
7-
pg_stat_statements_reset
8-
--------------------------
9-
6+
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
7+
t
8+
---
9+
t
1010
(1 row)
1111

1212
--
@@ -64,7 +64,7 @@ SELECT plans, calls, rows, query FROM pg_stat_statements
6464
0 | 1 | 0 | ALTER TABLE stats_plan_test ADD COLUMN x int
6565
0 | 1 | 0 | CREATE TABLE stats_plan_test ()
6666
3 | 3 | 3 | SELECT $1
67-
0 | 1 | 1 | SELECT pg_stat_statements_reset()
67+
0 | 1 | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
6868
1 | 0 | 0 | SELECT plans, calls, rows, query FROM pg_stat_statements+
6969
| | | WHERE query NOT LIKE $1 ORDER BY query COLLATE "C"
7070
(5 rows)
@@ -80,9 +80,9 @@ SELECT plans >= 2 AND plans <= calls AS plans_ok, calls, rows, query FROM pg_sta
8080

8181
-- Cleanup
8282
DROP TABLE stats_plan_test;
83-
SELECT pg_stat_statements_reset();
84-
pg_stat_statements_reset
85-
--------------------------
86-
83+
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
84+
t
85+
---
86+
t
8787
(1 row)
8888

0 commit comments

Comments
 (0)