Re: Fix some newly modified tab-complete changes

From: Peter Smith <smithpb2250(at)gmail(dot)com>
To: "shiy(dot)fnst(at)fujitsu(dot)com" <shiy(dot)fnst(at)fujitsu(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Fix some newly modified tab-complete changes
Date: 2022-09-28 04:14:01
Message-ID: CAHut+PvidpNEYjWmO7jqENn35dwCNmPgFXGmDdHzd-LgdDwQ4w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Sep 27, 2022 at 8:28 PM shiy(dot)fnst(at)fujitsu(dot)com
<shiy(dot)fnst(at)fujitsu(dot)com> wrote:
>
> Hi hackers,
>
> I saw a problem when using tab-complete for "GRANT", "TABLES IN SCHEMA" should
> be "ALL TABLES IN SCHEMA" in the following case.
>
> postgres=# grant all on
> ALL FUNCTIONS IN SCHEMA DATABASE FUNCTION PARAMETER SCHEMA TABLESPACE
> ALL PROCEDURES IN SCHEMA DOMAIN information_schema. PROCEDURE SEQUENCE tbl
> ALL ROUTINES IN SCHEMA FOREIGN DATA WRAPPER LANGUAGE public. TABLE TYPE
> ALL SEQUENCES IN SCHEMA FOREIGN SERVER LARGE OBJECT ROUTINE TABLES IN SCHEMA
>
> I found that it is related to the recent commit 790bf615dd, and maybe it's
> better to fix it. I also noticed that some comments should be modified according
> to this new syntax. Attach a patch to fix them.
>

Thanks for the patch! Below are my review comments.

The patch looks good to me but I did find some other tab-completion
anomalies. IIUC these are unrelated to your work, but since I found
them while testing your patch I am reporting them here.

Perhaps you want to fix them in the same patch, or just raise them
again separately?

======

1. tab complete for CREATE PUBLICATION

I don’t think this is any new bug, but I found that it is possible to do this...

test_pub=# create publication p for ALL TABLES IN SCHEMA <tab>
information_schema pg_catalog pg_toast public

or, even this...

test_pub=# create publication p for XXX TABLES IN SCHEMA <tab>
information_schema pg_catalog pg_toast public

======

2. tab complete for GRANT

test_pub=# grant <tab>
ALL EXECUTE
pg_execute_server_program pg_read_server_files postgres
TRIGGER
ALTER SYSTEM GRANT pg_monitor
pg_signal_backend REFERENCES
TRUNCATE
CONNECT INSERT pg_read_all_data
pg_stat_scan_tables SELECT UPDATE
CREATE pg_checkpoint
pg_read_all_settings pg_write_all_data SET
USAGE
DELETE pg_database_owner
pg_read_all_stats pg_write_server_files TEMPORARY

2a.
grant "GRANT" ??

~

2b.
grant "TEMPORARY" but not "TEMP" ??

------
Kind Regards,
Peter Smith.
Fujitsu Australia.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2022-09-28 04:16:36 Re: Avoid memory leaks during base backups
Previous Message Dilip Kumar 2022-09-28 04:10:04 Re: longfin and tamandua aren't too happy but I'm not sure why