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

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

From
Andres Freund
Date:
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@anarazel.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(-)