Skip to content

Commit 5b2147d

Browse files
committed
Expand regression tests for pg_stat_reset_shared()
This commit adds coverage for the stats reset of recovery_prefetch, and for the case where an invalid value is given in input of the function. Author: Bharath Rupireddy Discussion: https://postgr.es/m/CALj2ACW9Uk7x61oSix9qK0xR4Jhy3cgg6pobQ-Q3GNsUbFrn8A@mail.gmail.com
1 parent dc5bd38 commit 5b2147d

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

src/test/regress/expected/stats.out

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -945,6 +945,21 @@ SELECT stats_reset > :'checkpointer_reset_ts'::timestamptz FROM pg_stat_checkpoi
945945
(1 row)
946946

947947
SELECT stats_reset AS checkpointer_reset_ts FROM pg_stat_checkpointer \gset
948+
-- Test that reset_shared with recovery_prefetch specified as the stats type works
949+
SELECT stats_reset AS recovery_prefetch_reset_ts FROM pg_stat_recovery_prefetch \gset
950+
SELECT pg_stat_reset_shared('recovery_prefetch');
951+
pg_stat_reset_shared
952+
----------------------
953+
954+
(1 row)
955+
956+
SELECT stats_reset > :'recovery_prefetch_reset_ts'::timestamptz FROM pg_stat_recovery_prefetch;
957+
?column?
958+
----------
959+
t
960+
(1 row)
961+
962+
SELECT stats_reset AS recovery_prefetch_reset_ts FROM pg_stat_recovery_prefetch \gset
948963
-- Test that reset_shared with wal specified as the stats type works
949964
SELECT stats_reset AS wal_reset_ts FROM pg_stat_wal \gset
950965
SELECT pg_stat_reset_shared('wal');
@@ -985,12 +1000,22 @@ SELECT stats_reset = :'checkpointer_reset_ts'::timestamptz FROM pg_stat_checkpoi
9851000
t
9861001
(1 row)
9871002

1003+
SELECT stats_reset = :'recovery_prefetch_reset_ts'::timestamptz FROM pg_stat_recovery_prefetch;
1004+
?column?
1005+
----------
1006+
t
1007+
(1 row)
1008+
9881009
SELECT stats_reset = :'wal_reset_ts'::timestamptz FROM pg_stat_wal;
9891010
?column?
9901011
----------
9911012
t
9921013
(1 row)
9931014

1015+
-- Test error case for reset_shared with unknown stats type
1016+
SELECT pg_stat_reset_shared('unknown');
1017+
ERROR: unrecognized reset target: "unknown"
1018+
HINT: Target must be "archiver", "bgwriter", "checkpointer", "io", "recovery_prefetch", or "wal".
9941019
-- Test that reset works for pg_stat_database
9951020
-- Since pg_stat_database stats_reset starts out as NULL, reset it once first so we have something to compare it to
9961021
SELECT pg_stat_reset();

src/test/regress/sql/stats.sql

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,12 @@ SELECT pg_stat_reset_shared('checkpointer');
476476
SELECT stats_reset > :'checkpointer_reset_ts'::timestamptz FROM pg_stat_checkpointer;
477477
SELECT stats_reset AS checkpointer_reset_ts FROM pg_stat_checkpointer \gset
478478

479+
-- Test that reset_shared with recovery_prefetch specified as the stats type works
480+
SELECT stats_reset AS recovery_prefetch_reset_ts FROM pg_stat_recovery_prefetch \gset
481+
SELECT pg_stat_reset_shared('recovery_prefetch');
482+
SELECT stats_reset > :'recovery_prefetch_reset_ts'::timestamptz FROM pg_stat_recovery_prefetch;
483+
SELECT stats_reset AS recovery_prefetch_reset_ts FROM pg_stat_recovery_prefetch \gset
484+
479485
-- Test that reset_shared with wal specified as the stats type works
480486
SELECT stats_reset AS wal_reset_ts FROM pg_stat_wal \gset
481487
SELECT pg_stat_reset_shared('wal');
@@ -487,8 +493,12 @@ SELECT pg_stat_reset_shared(NULL);
487493
SELECT stats_reset = :'archiver_reset_ts'::timestamptz FROM pg_stat_archiver;
488494
SELECT stats_reset = :'bgwriter_reset_ts'::timestamptz FROM pg_stat_bgwriter;
489495
SELECT stats_reset = :'checkpointer_reset_ts'::timestamptz FROM pg_stat_checkpointer;
496+
SELECT stats_reset = :'recovery_prefetch_reset_ts'::timestamptz FROM pg_stat_recovery_prefetch;
490497
SELECT stats_reset = :'wal_reset_ts'::timestamptz FROM pg_stat_wal;
491498

499+
-- Test error case for reset_shared with unknown stats type
500+
SELECT pg_stat_reset_shared('unknown');
501+
492502
-- Test that reset works for pg_stat_database
493503

494504
-- Since pg_stat_database stats_reset starts out as NULL, reset it once first so we have something to compare it to

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy