mirror of
https://github.com/postgres/postgres.git
synced 2025-04-21 12:05:57 +03:00
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
This commit is contained in:
parent
2b58f894e5
commit
0806d08d46
@ -850,16 +850,26 @@ SELECT 42;
|
|||||||
42
|
42
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT query, plans, calls, rows FROM pg_stat_statements ORDER BY query COLLATE "C";
|
SELECT query, plans, calls, rows FROM pg_stat_statements
|
||||||
query | plans | calls | rows
|
WHERE query NOT LIKE 'PREPARE%' ORDER BY query COLLATE "C";
|
||||||
-------------------------------------------------------------------------------------+-------+-------+------
|
query | plans | calls | rows
|
||||||
ALTER TABLE test ADD COLUMN x int | 0 | 1 | 0
|
----------------------------------------------------------+-------+-------+------
|
||||||
CREATE TABLE test () | 0 | 1 | 0
|
ALTER TABLE test ADD COLUMN x int | 0 | 1 | 0
|
||||||
PREPARE prep1 AS SELECT COUNT(*) FROM test | 2 | 4 | 4
|
CREATE TABLE test () | 0 | 1 | 0
|
||||||
SELECT $1 | 3 | 3 | 3
|
SELECT $1 | 3 | 3 | 3
|
||||||
SELECT pg_stat_statements_reset() | 0 | 1 | 1
|
SELECT pg_stat_statements_reset() | 0 | 1 | 1
|
||||||
SELECT query, plans, calls, rows FROM pg_stat_statements ORDER BY query COLLATE "C" | 1 | 0 | 0
|
SELECT query, plans, calls, rows FROM pg_stat_statements+| 1 | 0 | 0
|
||||||
(6 rows)
|
WHERE query NOT LIKE $1 ORDER BY query COLLATE "C" | | |
|
||||||
|
(5 rows)
|
||||||
|
|
||||||
|
-- for the prepared statement we expect at least one replan, but cache
|
||||||
|
-- invalidations could force more
|
||||||
|
SELECT query, plans >= 2 AND plans <= calls AS plans_ok, calls, rows FROM pg_stat_statements
|
||||||
|
WHERE query LIKE 'PREPARE%' ORDER BY query COLLATE "C";
|
||||||
|
query | plans_ok | calls | rows
|
||||||
|
--------------------------------------------+----------+-------+------
|
||||||
|
PREPARE prep1 AS SELECT COUNT(*) FROM test | t | 4 | 4
|
||||||
|
(1 row)
|
||||||
|
|
||||||
--
|
--
|
||||||
-- access to pg_stat_statements_info view
|
-- access to pg_stat_statements_info view
|
||||||
|
@ -356,7 +356,12 @@ EXECUTE prep1;
|
|||||||
SELECT 42;
|
SELECT 42;
|
||||||
SELECT 42;
|
SELECT 42;
|
||||||
SELECT 42;
|
SELECT 42;
|
||||||
SELECT query, plans, calls, rows FROM pg_stat_statements ORDER BY query COLLATE "C";
|
SELECT query, plans, calls, rows FROM pg_stat_statements
|
||||||
|
WHERE query NOT LIKE 'PREPARE%' ORDER BY query COLLATE "C";
|
||||||
|
-- for the prepared statement we expect at least one replan, but cache
|
||||||
|
-- invalidations could force more
|
||||||
|
SELECT query, plans >= 2 AND plans <= calls AS plans_ok, calls, rows FROM pg_stat_statements
|
||||||
|
WHERE query LIKE 'PREPARE%' ORDER BY query COLLATE "C";
|
||||||
|
|
||||||
--
|
--
|
||||||
-- access to pg_stat_statements_info view
|
-- access to pg_stat_statements_info view
|
||||||
|
Loading…
x
Reference in New Issue
Block a user