Simplify calls of pg_class_aclcheck when multiple modes are used - Mailing list pgsql-hackers

From Michael Paquier
Subject Simplify calls of pg_class_aclcheck when multiple modes are used
Date
Msg-id CAB7nPqTX3rRAaFTbe1h=PnUe7VO6+Q12VEZOf3qUNqmFDpL1vA@mail.gmail.com
Whole thread Raw
Responses Re: Simplify calls of pg_class_aclcheck when multiple modes are used
Re: Simplify calls of pg_class_aclcheck when multiple modes are used
List pgsql-hackers
Hi all,

In a couple of code paths we do the following to check permissions on an object:
if (pg_class_aclcheck(relid, userid, ACL_USAGE) != ACLCHECK_OK &&
    pg_class_aclcheck(relid, userid, ACL_UPDATE) != ACLCHECK_OK)
    ereport(ERROR, blah);

Wouldn't it be better to simplify that with a single call of pg_class_aclcheck, gathering together the modes that need to be checked? In the case above, the call to pg_class_aclcheck would become like that:
if (pg_class_aclcheck(relid, userid,
         ACL_USAGE | ACL_UPDATE) != ACLCHECK_OK)
    ereport(ERROR, blah);

That's not a critical thing, but it would save some cycles. Patch is attached.
Regards,
--
Michael
Attachment

pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: Specifying the unit in storage parameter
Next
From: Fujii Masao
Date:
Subject: Re: After switching primary server while using replication slot.