Skip to content

Commit 882d151

Browse files
committed
Harden pg_stat_statements tests against CLOBBER_CACHE_ALWAYS.
Turns out the buildfarm hasn't been testing this, which will soon change. Julien Rouhaud, per report from me Discussion: https://postgr.es/m/42557.1627229005@sss.pgh.pa.us
1 parent 2c7395a commit 882d151

File tree

2 files changed

+26
-11
lines changed

2 files changed

+26
-11
lines changed

contrib/pg_stat_statements/expected/pg_stat_statements.out

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -782,15 +782,25 @@ SELECT 42;
782782
42
783783
(1 row)
784784

785-
SELECT query, plans, calls, rows FROM pg_stat_statements ORDER BY query COLLATE "C";
786-
query | plans | calls | rows
787-
-------------------------------------------------------------------------------------+-------+-------+------
788-
ALTER TABLE test ADD COLUMN x int | 0 | 1 | 0
789-
CREATE TABLE test () | 0 | 1 | 0
790-
PREPARE prep1 AS SELECT COUNT(*) FROM test | 2 | 4 | 4
791-
SELECT $1 | 3 | 3 | 3
792-
SELECT pg_stat_statements_reset() | 0 | 1 | 1
793-
SELECT query, plans, calls, rows FROM pg_stat_statements ORDER BY query COLLATE "C" | 1 | 0 | 0
794-
(6 rows)
785+
SELECT query, plans, calls, rows FROM pg_stat_statements
786+
WHERE query NOT LIKE 'PREPARE%' ORDER BY query COLLATE "C";
787+
query | plans | calls | rows
788+
----------------------------------------------------------+-------+-------+------
789+
ALTER TABLE test ADD COLUMN x int | 0 | 1 | 0
790+
CREATE TABLE test () | 0 | 1 | 0
791+
SELECT $1 | 3 | 3 | 3
792+
SELECT pg_stat_statements_reset() | 0 | 1 | 1
793+
SELECT query, plans, calls, rows FROM pg_stat_statements+| 1 | 0 | 0
794+
WHERE query NOT LIKE $1 ORDER BY query COLLATE "C" | | |
795+
(5 rows)
796+
797+
-- for the prepared statement we expect at least one replan, but cache
798+
-- invalidations could force more
799+
SELECT query, plans >= 2 AND plans <= calls AS plans_ok, calls, rows FROM pg_stat_statements
800+
WHERE query LIKE 'PREPARE%' ORDER BY query COLLATE "C";
801+
query | plans_ok | calls | rows
802+
--------------------------------------------+----------+-------+------
803+
PREPARE prep1 AS SELECT COUNT(*) FROM test | t | 4 | 4
804+
(1 row)
795805

796806
DROP EXTENSION pg_stat_statements;

contrib/pg_stat_statements/sql/pg_stat_statements.sql

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,11 @@ EXECUTE prep1;
328328
SELECT 42;
329329
SELECT 42;
330330
SELECT 42;
331-
SELECT query, plans, calls, rows FROM pg_stat_statements ORDER BY query COLLATE "C";
331+
SELECT query, plans, calls, rows FROM pg_stat_statements
332+
WHERE query NOT LIKE 'PREPARE%' ORDER BY query COLLATE "C";
333+
-- for the prepared statement we expect at least one replan, but cache
334+
-- invalidations could force more
335+
SELECT query, plans >= 2 AND plans <= calls AS plans_ok, calls, rows FROM pg_stat_statements
336+
WHERE query LIKE 'PREPARE%' ORDER BY query COLLATE "C";
332337

333338
DROP EXTENSION pg_stat_statements;

0 commit comments

Comments
 (0)