Generate pg_stat_get*() functions for tables using macros
authorMichael Paquier <[email protected]>
Tue, 6 Dec 2022 01:46:35 +0000 (10:46 +0900)
committerMichael Paquier <[email protected]>
Tue, 6 Dec 2022 01:46:35 +0000 (10:46 +0900)
commit83a1a1b56645b7a55ec00e44f8018116ee87c720
tree4ff40e6c02b3d90bd5e0cb688854a9547c94be5e
parent941aa6a6268a6a66f6895401aad6b5329111d412
Generate pg_stat_get*() functions for tables using macros

The same code pattern is repeated 17 times for int64 counters (0 for
missing entry) and 5 times for timestamps (NULL for missing entry) on
table entries.  This code is switched to use a macro for the basic code
instead, shaving a few hundred lines of originally-duplicated code.  The
function names remain the same, but some fields of PgStat_StatTabEntry
have to be renamed to cope with the new style.

Author: Bertrand Drouvot
Reviewed-by: Nathan Bossart
Discussion: https:/postgr.es/m/20221204173207.GA2669116@nathanxps13
src/backend/access/heap/README.HOT
src/backend/postmaster/autovacuum.c
src/backend/utils/activity/pgstat_relation.c
src/backend/utils/adt/pgstatfuncs.c
src/include/pgstat.h