summaryrefslogtreecommitdiff
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:38 +0000
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2006-05-19 15:15:38 +0000
commite5ab52b27375461198c09bdaf3916bca64215357 (patch)
tree9b33d62b3b27919fef251ba76394e6933bd07308 /src/backend/utils/adt/pgstatfuncs.c
parent3a3622c5f03ace3b0933e078d65e8a9a196dedf0 (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.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 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: