Re: Add has_large_object_privilege function

Fujii Masao <masao.fujii@oss.nttdata.com>

From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Michael Paquier <michael@paquier.xyz>, Yugo Nagata <nagata@sraoss.co.jp>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2024-09-26T10:51:06Z
Lists: pgsql-hackers

On 2024/09/26 17:16, Michael Paquier wrote:
> On Fri, Sep 13, 2024 at 03:56:11PM +0900, Yugo Nagata wrote:
>> I confirmed the patches are committed in the master branch.
>> Thank you!
>>
>> I've updated the commitfest status to "committed".
> 
> This patch has been committed as of 4eada203a5a8, and introduced this
> block in pg_proc.dat:
> 
> { oid => '4551', descr => 'user privilege on large objct by username, large object oid',
>    proname => 'has_largeobject_privilege', procost => '10', provolatile => 's',
>    prorettype => 'bool', proargtypes => 'name oid text',
>    prosrc => 'has_largeobject_privilege_name_id' },
> { oid => '4552', descr => 'current privilege on large objct by large object oid',
>    proname => 'has_largeobject_privilege', procost => '10', provolatile => 's',
>    prorettype => 'bool', proargtypes => 'oid text',
>    prosrc => 'has_largeobject_privilege_id' },
> { oid => '4553', descr => 'user privilege on large objct by user oid, large object oid',
>    proname => 'has_largeobject_privilege', procost => '10', provolatile => 's',
>    prorettype => 'bool', proargtypes => 'oid oid text',
>    prosrc => 'has_largeobject_privilege_id_id' },
> 
> This has a couple of mistakes:
> - New functions introduced during a development cycle should use OIDs in
> the range 8000-9999.  See 98eab30b93d5, consisting of running
> ./unused_oids to get a random range.
> - The function descriptions are inconsistent and have the three same
> typos:
> -- s/large objct/large object/.
> -- s/current privilege/current user privilege/ for the second entry.

I agree these issues need to be fixed. Thanks for the patch!


> And while that's not mandatory for committers, I would apply a
> reformat-dat-files while on it, to reduce some diffs I'm seeing.

Yes, that sounds better.


> This results in the attached that I'd like to apply to fix all that.  It
> needs a catalog version bump, of course.

So, are you planning to commit the patch? If not, I'm happy to handle it!

Regards,

-- 
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION




Commits

  1. Fix catalog data of new LO privilege functions

  2. Add has_largeobject_privilege function.

  3. Deduplicate code in LargeObjectExists and myLargeObjectExists.