pgsql: pgstat: add pg_stat_force_next_flush(), use it to simplify tests

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: pgstat: add pg_stat_force_next_flush(), use it to simplify tests
Date: 2022-04-07 06:39:53
Message-ID: E1ncLo9-000hDA-2L@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

pgstat: add pg_stat_force_next_flush(), use it to simplify tests.

In the stats collector days it was hard to write tests for the stats system,
because fundamentally delivery of stats messages over UDP was not
synchronous (nor guaranteed). Now we easily can force pending stats updates to
be flushed synchronously.

This moves stats.sql into a parallel group, there isn't a reason for it to run
in isolation anymore. And it may shake out some bugs.

Bumps catversion.

Author: Andres Freund <andres(at)anarazel(dot)de>
Discussion: https://postgr.es/m/20220303021600.hs34ghqcw6zcokdh@alap3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/0f96965c658147d6d6bad096d2d4a2c9c665f4a9

Modified Files
--------------
contrib/test_decoding/expected/stats.out | 71 +++---------------
contrib/test_decoding/sql/stats.sql | 59 ++-------------
src/backend/utils/activity/pgstat.c | 23 ++++++
src/backend/utils/adt/pgstatfuncs.c | 10 +++
src/include/catalog/pg_proc.dat | 5 ++
src/include/pgstat.h | 1 +
src/test/regress/expected/brin.out | 22 ++++++
src/test/regress/expected/stats.out | 123 +------------------------------
src/test/regress/parallel_schedule | 5 +-
src/test/regress/sql/brin.sql | 19 +++++
src/test/regress/sql/stats.sql | 119 +-----------------------------
11 files changed, 103 insertions(+), 354 deletions(-)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message John Naylor 2022-04-07 07:01:14 Re: pgsql: pgstat: add pg_stat_force_next_flush(), use it to simplify tests
Previous Message Andres Freund 2022-04-07 06:35:27 Re: pgsql: pgstat: store statistics in shared memory.