mirror of
https://git.postgresql.org/git/postgresql.git
synced 2026-02-17 11:57:00 +08:00
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
This commit is contained in:
@ -364,22 +364,22 @@ typedef struct PgStat_StatTabEntry
|
||||
PgStat_Counter tuples_deleted;
|
||||
PgStat_Counter tuples_hot_updated;
|
||||
|
||||
PgStat_Counter n_live_tuples;
|
||||
PgStat_Counter n_dead_tuples;
|
||||
PgStat_Counter changes_since_analyze;
|
||||
PgStat_Counter inserts_since_vacuum;
|
||||
PgStat_Counter live_tuples;
|
||||
PgStat_Counter dead_tuples;
|
||||
PgStat_Counter mod_since_analyze;
|
||||
PgStat_Counter ins_since_vacuum;
|
||||
|
||||
PgStat_Counter blocks_fetched;
|
||||
PgStat_Counter blocks_hit;
|
||||
|
||||
TimestampTz vacuum_timestamp; /* user initiated vacuum */
|
||||
TimestampTz last_vacuum_time; /* user initiated vacuum */
|
||||
PgStat_Counter vacuum_count;
|
||||
TimestampTz autovac_vacuum_timestamp; /* autovacuum initiated */
|
||||
PgStat_Counter autovac_vacuum_count;
|
||||
TimestampTz analyze_timestamp; /* user initiated */
|
||||
TimestampTz last_autovacuum_time; /* autovacuum initiated */
|
||||
PgStat_Counter autovacuum_count;
|
||||
TimestampTz last_analyze_time; /* user initiated */
|
||||
PgStat_Counter analyze_count;
|
||||
TimestampTz autovac_analyze_timestamp; /* autovacuum initiated */
|
||||
PgStat_Counter autovac_analyze_count;
|
||||
TimestampTz last_autoanalyze_time; /* autovacuum initiated */
|
||||
PgStat_Counter autoanalyze_count;
|
||||
} PgStat_StatTabEntry;
|
||||
|
||||
typedef struct PgStat_WalStats
|
||||
|
||||
Reference in New Issue
Block a user