Re: remove open-coded popcount in acl.c

Alvaro Herrera <alvherre@alvh.no-ip.org>

From: Álvaro Herrera <alvherre@alvh.no-ip.org>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2025-03-12T16:23:25Z
Lists: pgsql-hackers
On 2025-Mar-12, Nathan Bossart wrote:

> There's a count_one_bits() function in acl.c that can be replaced with a
> call to pg_popcount64().  This isn't performance-critical code, but IMHO we
> might as well use the centralized implementation.

Makes sense.  Patch looks good to me.

> @@ -5532,7 +5514,7 @@ select_best_grantor(Oid roleId, AclMode privileges,
>  		 */
>  		if (otherprivs != ACL_NO_RIGHTS)
>  		{
> -			int			nnewrights = count_one_bits(otherprivs);
> +			int			nnewrights = pg_popcount64(otherprivs);

Strange: this code is not covered by any tests.

https://coverage.postgresql.org/src/backend/utils/adt/acl.c.gcov.html#5533
https://coverage.postgresql.org/src/backend/utils/adt/acl.c.gcov.html#5438

-- 
Álvaro Herrera        Breisgau, Deutschland  —  https://www.EnterpriseDB.com/



Commits

  1. Remove count_one_bits() in acl.c.