Skip to content

Commit 0806d08

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 2b58f89 commit 0806d08

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

+20-10
Original file line numberDiff line numberDiff line change
@@ -850,16 +850,26 @@ SELECT 42;
850850
42
851851
(1 row)
852852

853-
SELECT query, plans, calls, rows FROM pg_stat_statements ORDER BY query COLLATE "C";
854-
query | plans | calls | rows
855-
-------------------------------------------------------------------------------------+-------+-------+------
856-
ALTER TABLE test ADD COLUMN x int | 0 | 1 | 0
857-
CREATE TABLE test () | 0 | 1 | 0
858-
PREPARE prep1 AS SELECT COUNT(*) FROM test | 2 | 4 | 4
859-
SELECT $1 | 3 | 3 | 3
860-
SELECT pg_stat_statements_reset() | 0 | 1 | 1
861-
SELECT query, plans, calls, rows FROM pg_stat_statements ORDER BY query COLLATE "C" | 1 | 0 | 0
862-
(6 rows)
853+
SELECT query, plans, calls, rows FROM pg_stat_statements
854+
WHERE query NOT LIKE 'PREPARE%' ORDER BY query COLLATE "C";
855+
query | plans | calls | rows
856+
----------------------------------------------------------+-------+-------+------
857+
ALTER TABLE test ADD COLUMN x int | 0 | 1 | 0
858+
CREATE TABLE test () | 0 | 1 | 0
859+
SELECT $1 | 3 | 3 | 3
860+
SELECT pg_stat_statements_reset() | 0 | 1 | 1
861+
SELECT query, plans, calls, rows FROM pg_stat_statements+| 1 | 0 | 0
862+
WHERE query NOT LIKE $1 ORDER BY query COLLATE "C" | | |
863+
(5 rows)
864+
865+
-- for the prepared statement we expect at least one replan, but cache
866+
-- invalidations could force more
867+
SELECT query, plans >= 2 AND plans <= calls AS plans_ok, calls, rows FROM pg_stat_statements
868+
WHERE query LIKE 'PREPARE%' ORDER BY query COLLATE "C";
869+
query | plans_ok | calls | rows
870+
--------------------------------------------+----------+-------+------
871+
PREPARE prep1 AS SELECT COUNT(*) FROM test | t | 4 | 4
872+
(1 row)
863873

864874
--
865875
-- access to pg_stat_statements_info view

contrib/pg_stat_statements/sql/pg_stat_statements.sql

+6-1
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,12 @@ EXECUTE prep1;
356356
SELECT 42;
357357
SELECT 42;
358358
SELECT 42;
359-
SELECT query, plans, calls, rows FROM pg_stat_statements ORDER BY query COLLATE "C";
359+
SELECT query, plans, calls, rows FROM pg_stat_statements
360+
WHERE query NOT LIKE 'PREPARE%' ORDER BY query COLLATE "C";
361+
-- for the prepared statement we expect at least one replan, but cache
362+
-- invalidations could force more
363+
SELECT query, plans >= 2 AND plans <= calls AS plans_ok, calls, rows FROM pg_stat_statements
364+
WHERE query LIKE 'PREPARE%' ORDER BY query COLLATE "C";
360365

361366
--
362367
-- access to pg_stat_statements_info view

0 commit comments

Comments
 (0)