From: Andres Freund Date: Fri, 1 Apr 2022 13:43:49 -0700 Subject: [PATCH v69 05/28] pgstat: introduce PgStat_Kind enum. Will be used by following commits to generalize stats infrastructure. Kept separate to allow commits stand reasonably on their own. --- src/include/pgstat.h | 27 +++++++++++++++++++++++++++ src/tools/pgindent/typedefs.list | 1 + 2 files changed, 28 insertions(+) diff --git a/src/include/pgstat.h b/src/include/pgstat.h index ed37523ce17..0139aaea937 100644 --- a/src/include/pgstat.h +++ b/src/include/pgstat.h @@ -33,6 +33,33 @@ /* Default directory to store temporary statistics data in */ #define PG_STAT_TMP_DIR "pg_stat_tmp" +/* The types of statistics entries */ +typedef enum PgStat_Kind +{ + /* + * Don't define an INVALID value so switch() statements can warn if some + * cases aren't covered. But define the first member to 1 so that + * uninitialized values can be detected more easily. + */ + + /* stats for variable-numbered objects */ + PGSTAT_KIND_DATABASE = 1, /* database-wide statistics */ + PGSTAT_KIND_RELATION, /* per-table statistics */ + PGSTAT_KIND_FUNCTION, /* per-function statistics */ + PGSTAT_KIND_REPLSLOT, /* per-slot statistics */ + PGSTAT_KIND_SUBSCRIPTION, /* per-subscription statistics */ + + /* stats for constant-numbered objects */ + PGSTAT_KIND_ARCHIVER, + PGSTAT_KIND_BGWRITER, + PGSTAT_KIND_CHECKPOINTER, + PGSTAT_KIND_SLRU, + PGSTAT_KIND_WAL, +} PgStat_Kind; + +#define PGSTAT_KIND_FIRST PGSTAT_KIND_DATABASE +#define PGSTAT_KIND_LAST PGSTAT_KIND_WAL +#define PGSTAT_NUM_KINDS (PGSTAT_KIND_LAST + 1) /* Values for track_functions GUC variable --- order is significant! */ typedef enum TrackFunctionsLevel diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list index 4b12c575ab5..dc55814dfa2 100644 --- a/src/tools/pgindent/typedefs.list +++ b/src/tools/pgindent/typedefs.list @@ -1939,6 +1939,7 @@ PgStat_FunctionCallUsage PgStat_FunctionCounts PgStat_FunctionEntry PgStat_GlobalStats +PgStat_Kind PgStat_Msg PgStat_MsgAnalyze PgStat_MsgAnlAncestors -- 2.35.1.677.gabf474a5dd --be3jiks7ge4r32o3 Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v69-0006-pgstat-prepare-APIs-used-by-pgstatfuncs-for-shar.patch"