mirror of https://github.com/postgres/postgres
Generate pg_stat_get_xact*() functions for relations using macros
This change replaces seven functions definitions by macros. This is the same idea as8018ffb
or83a1a1b
, taking advantage of the variable rename done in8089517
for relation entries. Author: Bertrand Drouvot Discussion: https://postgr.es/m/631e3084-c5d9-8463-7540-fcff4674caa5@gmail.com
This commit is contained in:
parent
6eefe2ce46
commit
850f4b4c8c
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue