mirror of
https://github.com/postgres/postgres.git
synced 2025-07-26 01:22:12 +03:00
Use pg_memory_is_all_zeros() in pgstatfuncs.c.
There are a few places in this file that use memset() and memcmp() to determine whether a section of memory is all zeros. This commit modifies them to use pg_memory_is_all_zeros() instead. These aren't expected to be hot code paths, but this may optimize them a bit. Plus, this allows us to remove some variables that were only needed for the memset() and memcmp(). Author: Bertrand Drouvot Reviewed-by: Michael Paquier Discussion: https://postgr.es/m/Z1hNubHfvMxlW6eu%40ip-10-97-1-34.eu-west-3.compute.internal
This commit is contained in:
@ -361,7 +361,6 @@ pg_stat_get_activity(PG_FUNCTION_ARGS)
|
|||||||
/* Values only available to role member or pg_read_all_stats */
|
/* Values only available to role member or pg_read_all_stats */
|
||||||
if (HAS_PGSTAT_PERMISSIONS(beentry->st_userid))
|
if (HAS_PGSTAT_PERMISSIONS(beentry->st_userid))
|
||||||
{
|
{
|
||||||
SockAddr zero_clientaddr;
|
|
||||||
char *clipped_activity;
|
char *clipped_activity;
|
||||||
|
|
||||||
switch (beentry->st_state)
|
switch (beentry->st_state)
|
||||||
@ -483,9 +482,8 @@ pg_stat_get_activity(PG_FUNCTION_ARGS)
|
|||||||
nulls[11] = true;
|
nulls[11] = true;
|
||||||
|
|
||||||
/* 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));
|
if (pg_memory_is_all_zeros(&beentry->st_clientaddr,
|
||||||
if (memcmp(&(beentry->st_clientaddr), &zero_clientaddr,
|
sizeof(beentry->st_clientaddr)))
|
||||||
sizeof(zero_clientaddr)) == 0)
|
|
||||||
{
|
{
|
||||||
nulls[12] = true;
|
nulls[12] = true;
|
||||||
nulls[13] = true;
|
nulls[13] = true;
|
||||||
@ -880,7 +878,6 @@ pg_stat_get_backend_client_addr(PG_FUNCTION_ARGS)
|
|||||||
{
|
{
|
||||||
int32 procNumber = PG_GETARG_INT32(0);
|
int32 procNumber = PG_GETARG_INT32(0);
|
||||||
PgBackendStatus *beentry;
|
PgBackendStatus *beentry;
|
||||||
SockAddr zero_clientaddr;
|
|
||||||
char remote_host[NI_MAXHOST];
|
char remote_host[NI_MAXHOST];
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
@ -891,9 +888,8 @@ pg_stat_get_backend_client_addr(PG_FUNCTION_ARGS)
|
|||||||
PG_RETURN_NULL();
|
PG_RETURN_NULL();
|
||||||
|
|
||||||
/* 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));
|
if (pg_memory_is_all_zeros(&beentry->st_clientaddr,
|
||||||
if (memcmp(&(beentry->st_clientaddr), &zero_clientaddr,
|
sizeof(beentry->st_clientaddr)))
|
||||||
sizeof(zero_clientaddr)) == 0)
|
|
||||||
PG_RETURN_NULL();
|
PG_RETURN_NULL();
|
||||||
|
|
||||||
switch (beentry->st_clientaddr.addr.ss_family)
|
switch (beentry->st_clientaddr.addr.ss_family)
|
||||||
@ -925,7 +921,6 @@ pg_stat_get_backend_client_port(PG_FUNCTION_ARGS)
|
|||||||
{
|
{
|
||||||
int32 procNumber = PG_GETARG_INT32(0);
|
int32 procNumber = PG_GETARG_INT32(0);
|
||||||
PgBackendStatus *beentry;
|
PgBackendStatus *beentry;
|
||||||
SockAddr zero_clientaddr;
|
|
||||||
char remote_port[NI_MAXSERV];
|
char remote_port[NI_MAXSERV];
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
@ -936,9 +931,8 @@ pg_stat_get_backend_client_port(PG_FUNCTION_ARGS)
|
|||||||
PG_RETURN_NULL();
|
PG_RETURN_NULL();
|
||||||
|
|
||||||
/* 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));
|
if (pg_memory_is_all_zeros(&beentry->st_clientaddr,
|
||||||
if (memcmp(&(beentry->st_clientaddr), &zero_clientaddr,
|
sizeof(beentry->st_clientaddr)))
|
||||||
sizeof(zero_clientaddr)) == 0)
|
|
||||||
PG_RETURN_NULL();
|
PG_RETURN_NULL();
|
||||||
|
|
||||||
switch (beentry->st_clientaddr.addr.ss_family)
|
switch (beentry->st_clientaddr.addr.ss_family)
|
||||||
|
Reference in New Issue
Block a user