All,
* Tom Lane (tgl@sss.pgh.pa.us) wrote:
> Stephen Frost <sfrost@snowman.net> writes:
> > if (lockmode == AccessShareLock)
> > aclresult = pg_class_aclcheck(reloid, GetUserId(),
> > ACL_SELECT);
> > + else if (lockmode == RowExclusiveLock)
> > + aclresult = pg_class_aclcheck(reloid, GetUserId(),
> > + ACL_INSERT | ACL_UPDATE | ACL_DELETE | ACL_TRUNCATE);
> > else
> > aclresult = pg_class_aclcheck(reloid, GetUserId(),
> > ACL_UPDATE | ACL_DELETE | ACL_TRUNCATE);
>
> Perhaps it would be better to refactor with a local variable for the
> aclmask and just one instance of the pg_class_aclcheck call. Also, I'm
> pretty sure that the documentation work needed is more extensive
> than the actual patch ;-). Otherwise, I don't see a problem with this.
Now for a blast from the past... This came up again on IRC recently and
reminded me that I ran into the same issue a couple years back. Updated
patch includes the refactoring suggested and includes documentation.
Not going to be back-patched, as discussed with Robert.
Barring objections, I'll push this later today.
Thanks!
Stephen