aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/pgstatfuncs.c
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2006-05-19 15:15:37 +0000
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2006-05-19 15:15:37 +0000
commit49b3462abb2cd5ff0866e28a4c3de49bfb423902 (patch)
treeda0577b1635c1c61d56f5d9f55d502177de0c93e /src/backend/utils/adt/pgstatfuncs.c
parent4adab7eed3b9e741d5a6dcf69d8d05fbe1866612 (diff)
downloadpostgresql-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.c16
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: