diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c index c7ba86b3dc..e1dd1e0ad3 100644 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@ -1498,50 +1498,42 @@ pg_stat_get_slru(PG_FUNCTION_ARGS) return (Datum) 0; } -Datum -pg_stat_get_xact_numscans(PG_FUNCTION_ARGS) -{ - Oid relid = PG_GETARG_OID(0); - int64 result; - PgStat_TableStatus *tabentry; - - if ((tabentry = find_tabstat_entry(relid)) == NULL) - result = 0; - else - result = (int64) (tabentry->counts.numscans); - - PG_RETURN_INT64(result); +#define PG_STAT_GET_XACT_RELENTRY_INT64(stat) \ +Datum \ +CppConcat(pg_stat_get_xact_,stat)(PG_FUNCTION_ARGS) \ +{ \ + Oid relid = PG_GETARG_OID(0); \ + int64 result; \ + PgStat_TableStatus *tabentry; \ + \ + if ((tabentry = find_tabstat_entry(relid)) == NULL) \ + result = 0; \ + else \ + result = (int64) (tabentry->counts.stat); \ + \ + PG_RETURN_INT64(result); \ } -Datum -pg_stat_get_xact_tuples_returned(PG_FUNCTION_ARGS) -{ - Oid relid = PG_GETARG_OID(0); - int64 result; - PgStat_TableStatus *tabentry; +/* pg_stat_get_xact_numscans */ +PG_STAT_GET_XACT_RELENTRY_INT64(numscans) - if ((tabentry = find_tabstat_entry(relid)) == NULL) - result = 0; - else - result = (int64) (tabentry->counts.tuples_returned); +/* pg_stat_get_xact_tuples_returned */ +PG_STAT_GET_XACT_RELENTRY_INT64(tuples_returned) - PG_RETURN_INT64(result); -} +/* pg_stat_get_xact_tuples_fetched */ +PG_STAT_GET_XACT_RELENTRY_INT64(tuples_fetched) -Datum -pg_stat_get_xact_tuples_fetched(PG_FUNCTION_ARGS) -{ - Oid relid = PG_GETARG_OID(0); - int64 result; - PgStat_TableStatus *tabentry; +/* pg_stat_get_xact_tuples_hot_updated */ +PG_STAT_GET_XACT_RELENTRY_INT64(tuples_hot_updated) - if ((tabentry = find_tabstat_entry(relid)) == NULL) - result = 0; - else - result = (int64) (tabentry->counts.tuples_fetched); +/* pg_stat_get_xact_tuples_newpage_updated */ +PG_STAT_GET_XACT_RELENTRY_INT64(tuples_newpage_updated) - PG_RETURN_INT64(result); -} +/* pg_stat_get_xact_blocks_fetched */ +PG_STAT_GET_XACT_RELENTRY_INT64(blocks_fetched) + +/* pg_stat_get_xact_blocks_hit */ +PG_STAT_GET_XACT_RELENTRY_INT64(blocks_hit) Datum pg_stat_get_xact_tuples_inserted(PG_FUNCTION_ARGS) @@ -1606,66 +1598,6 @@ pg_stat_get_xact_tuples_deleted(PG_FUNCTION_ARGS) PG_RETURN_INT64(result); } -Datum -pg_stat_get_xact_tuples_hot_updated(PG_FUNCTION_ARGS) -{ - Oid relid = PG_GETARG_OID(0); - int64 result; - PgStat_TableStatus *tabentry; - - if ((tabentry = find_tabstat_entry(relid)) == NULL) - result = 0; - else - result = (int64) (tabentry->counts.tuples_hot_updated); - - PG_RETURN_INT64(result); -} - -Datum -pg_stat_get_xact_tuples_newpage_updated(PG_FUNCTION_ARGS) -{ - Oid relid = PG_GETARG_OID(0); - int64 result; - PgStat_TableStatus *tabentry; - - if ((tabentry = find_tabstat_entry(relid)) == NULL) - result = 0; - else - result = (int64) (tabentry->counts.tuples_newpage_updated); - - PG_RETURN_INT64(result); -} - -Datum -pg_stat_get_xact_blocks_fetched(PG_FUNCTION_ARGS) -{ - Oid relid = PG_GETARG_OID(0); - int64 result; - PgStat_TableStatus *tabentry; - - if ((tabentry = find_tabstat_entry(relid)) == NULL) - result = 0; - else - result = (int64) (tabentry->counts.blocks_fetched); - - PG_RETURN_INT64(result); -} - -Datum -pg_stat_get_xact_blocks_hit(PG_FUNCTION_ARGS) -{ - Oid relid = PG_GETARG_OID(0); - int64 result; - PgStat_TableStatus *tabentry; - - if ((tabentry = find_tabstat_entry(relid)) == NULL) - result = 0; - else - result = (int64) (tabentry->counts.blocks_hit); - - PG_RETURN_INT64(result); -} - Datum pg_stat_get_xact_function_calls(PG_FUNCTION_ARGS) {