Re: Extend ALTER DEFAULT PRIVILEGES for large objects

Yugo Nagata <nagata@sraoss.co.jp>

From: Yugo NAGATA <nagata@sraoss.co.jp>
To: Fujii Masao <masao.fujii@oss.nttdata.com>
Cc: Laurenz Albe <laurenz.albe@cybertec.at>, Nathan Bossart <nathandbossart@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, <pgsql-hackers@postgresql.org>
Date: 2025-04-08T03:28:57Z
Lists: pgsql-hackers

Attachments

On Fri, 4 Apr 2025 19:18:11 +0900
Fujii Masao <masao.fujii@oss.nttdata.com> wrote:

> 
> 
> On 2025/04/04 0:21, Fujii Masao wrote:
> > Thanks for updating the patch!
> > 
> > If there are no objections, I'll proceed with committing it using the following commit log.
> 
> I've pushed the patch. Thanks!

Thank you!

 
> While testing the feature, I noticed that psql doesn't complete
> "ALTER DEFAULT PRIVILEGES GRANT/REVOKE ... ON LARGE OBJECTS" or
> "GRANT/REVOKE ... ON LARGE OBJECT ..." with TO/FROM. The attached
> patch adds tab-completion support for both cases.

This patch looks good to me. This works as expected.

While looking into this patch, I found that the tab completion suggests
TO/FROM even after "LARGE OBJECT", but it is not correct because
there should be largeobject id at that place. This is same for the
"FOREIGN SERVER", server names should be suggested ratar than TO/FROM
in this case. 

The additional patch 0002 fixed to prevents to suggest TO or FROM right
after LARGE OBJECT or FOREIGN SERVER. Also, it allows to suggest list of
foreign server names after FOREIGN SERVER.

The 0001 patch is the same you proposed.

Regards,
Yugo Nagata

-- 
Yugo NAGATA <nagata@sraoss.co.jp>

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. psql: Fix tab-completion after GRANT/REVOKE on LARGE OBJECT and FOREIGN SERVER.

  2. psql: Improve psql tab completion for GRANT/REVOKE on large objects.

  3. Extend ALTER DEFAULT PRIVILEGES to define default privileges for large objects.

  4. Convert tab-complete's long else-if chain to a switch statement.