@ -618,7 +618,6 @@ pg_stat_get_activity(PG_FUNCTION_ARGS)
bool nulls [ 14 ] ;
bool nulls [ 14 ] ;
HeapTuple tuple ;
HeapTuple tuple ;
PgBackendStatus * beentry ;
PgBackendStatus * beentry ;
SockAddr zero_clientaddr ;
MemSet ( values , 0 , sizeof ( values ) ) ;
MemSet ( values , 0 , sizeof ( values ) ) ;
MemSet ( nulls , 0 , sizeof ( nulls ) ) ;
MemSet ( nulls , 0 , sizeof ( nulls ) ) ;
@ -659,6 +658,8 @@ pg_stat_get_activity(PG_FUNCTION_ARGS)
/* Values only available to same user or superuser */
/* Values only available to same user or superuser */
if ( superuser ( ) | | beentry - > st_userid = = GetUserId ( ) )
if ( superuser ( ) | | beentry - > st_userid = = GetUserId ( ) )
{
{
SockAddr zero_clientaddr ;
switch ( beentry - > st_state )
switch ( beentry - > st_state )
{
{
case STATE_IDLE :
case STATE_IDLE :
@ -710,7 +711,7 @@ pg_stat_get_activity(PG_FUNCTION_ARGS)
/* A zeroed client addr means we don't know */
/* A zeroed client addr means we don't know */
memset ( & zero_clientaddr , 0 , sizeof ( zero_clientaddr ) ) ;
memset ( & zero_clientaddr , 0 , sizeof ( zero_clientaddr ) ) ;
if ( memcmp ( & ( beentry - > st_clientaddr ) , & zero_clientaddr ,
if ( memcmp ( & ( beentry - > st_clientaddr ) , & zero_clientaddr ,
sizeof ( zero_clientaddr ) = = 0 ) )
sizeof ( zero_clientaddr ) ) = = 0 )
{
{
nulls [ 11 ] = true ;
nulls [ 11 ] = true ;
nulls [ 12 ] = true ;
nulls [ 12 ] = true ;
@ -974,7 +975,7 @@ pg_stat_get_backend_client_addr(PG_FUNCTION_ARGS)
/* A zeroed client addr means we don't know */
/* A zeroed client addr means we don't know */
memset ( & zero_clientaddr , 0 , sizeof ( zero_clientaddr ) ) ;
memset ( & zero_clientaddr , 0 , sizeof ( zero_clientaddr ) ) ;
if ( memcmp ( & ( beentry - > st_clientaddr ) , & zero_clientaddr ,
if ( memcmp ( & ( beentry - > st_clientaddr ) , & zero_clientaddr ,
sizeof ( zero_clientaddr ) = = 0 ) )
sizeof ( zero_clientaddr ) ) = = 0 )
PG_RETURN_NULL ( ) ;
PG_RETURN_NULL ( ) ;
switch ( beentry - > st_clientaddr . addr . ss_family )
switch ( beentry - > st_clientaddr . addr . ss_family )
@ -1021,7 +1022,7 @@ pg_stat_get_backend_client_port(PG_FUNCTION_ARGS)
/* A zeroed client addr means we don't know */
/* A zeroed client addr means we don't know */
memset ( & zero_clientaddr , 0 , sizeof ( zero_clientaddr ) ) ;
memset ( & zero_clientaddr , 0 , sizeof ( zero_clientaddr ) ) ;
if ( memcmp ( & ( beentry - > st_clientaddr ) , & zero_clientaddr ,
if ( memcmp ( & ( beentry - > st_clientaddr ) , & zero_clientaddr ,
sizeof ( zero_clientaddr ) = = 0 ) )
sizeof ( zero_clientaddr ) ) = = 0 )
PG_RETURN_NULL ( ) ;
PG_RETURN_NULL ( ) ;
switch ( beentry - > st_clientaddr . addr . ss_family )
switch ( beentry - > st_clientaddr . addr . ss_family )