diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2006-05-19 15:15:38 +0000 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2006-05-19 15:15:38 +0000 |
commit | e5ab52b27375461198c09bdaf3916bca64215357 (patch) | |
tree | 9b33d62b3b27919fef251ba76394e6933bd07308 /src/backend/utils/adt/pgstatfuncs.c | |
parent | 3a3622c5f03ace3b0933e078d65e8a9a196dedf0 (diff) |
Have autovacuum report its activities to the stat collector.
Diffstat (limited to 'src/backend/utils/adt/pgstatfuncs.c')
-rw-r--r-- | src/backend/utils/adt/pgstatfuncs.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c index 1d68b32e526..4b31a6ef5ba 100644 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/pgstatfuncs.c,v 1.26 2005/10/17 16:24:19 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/pgstatfuncs.c,v 1.26.2.1 2006/05/19 15:15:38 alvherre Exp $ * *------------------------------------------------------------------------- */ @@ -389,6 +389,7 @@ Datum pg_stat_get_backend_client_addr(PG_FUNCTION_ARGS) { PgStat_StatBeEntry *beentry; + SockAddr zero_clientaddr; int32 beid; char remote_host[NI_MAXHOST]; int ret; @@ -405,6 +406,12 @@ pg_stat_get_backend_client_addr(PG_FUNCTION_ARGS) if (!superuser() && beentry->userid != GetUserId()) PG_RETURN_NULL(); + /* A zeroed client addr means we don't know */ + memset(&zero_clientaddr, 0, sizeof(zero_clientaddr)); + if (memcmp(&(beentry->clientaddr), &zero_clientaddr, + sizeof(zero_clientaddr) == 0)) + PG_RETURN_NULL(); + switch (beentry->clientaddr.addr.ss_family) { case AF_INET: @@ -432,6 +439,7 @@ Datum pg_stat_get_backend_client_port(PG_FUNCTION_ARGS) { PgStat_StatBeEntry *beentry; + SockAddr zero_clientaddr; int32 beid; char remote_port[NI_MAXSERV]; int ret; @@ -448,6 +456,12 @@ pg_stat_get_backend_client_port(PG_FUNCTION_ARGS) if (!superuser() && beentry->userid != GetUserId()) PG_RETURN_NULL(); + /* A zeroed client addr means we don't know */ + memset(&zero_clientaddr, 0, sizeof(zero_clientaddr)); + if (memcmp(&(beentry->clientaddr), &zero_clientaddr, + sizeof(zero_clientaddr) == 0)) + PG_RETURN_NULL(); + switch (beentry->clientaddr.addr.ss_family) { case AF_INET: |