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.