diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2006-05-19 15:15:37 +0000 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2006-05-19 15:15:37 +0000 |
commit | 49b3462abb2cd5ff0866e28a4c3de49bfb423902 (patch) | |
tree | da0577b1635c1c61d56f5d9f55d502177de0c93e /src/backend/utils/adt/pgstatfuncs.c | |
parent | 4adab7eed3b9e741d5a6dcf69d8d05fbe1866612 (diff) | |
download | postgresql-49b3462abb2cd5ff0866e28a4c3de49bfb423902.tar.gz postgresql-49b3462abb2cd5ff0866e28a4c3de49bfb423902.zip |
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 90344385ca4..362aa1d08ef 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.27 2006/03/05 15:58:43 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/pgstatfuncs.c,v 1.28 2006/05/19 15:15:37 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: |