From: | Dagfinn Ilmari Mannsåker <ilmari(at)ilmari(dot)org> |
---|---|
To: | Michael Paquier <michael(at)paquier(dot)xyz> |
Cc: | Suraj Khamkar <khamkarsuraj(dot)b(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: Tab completion for CREATE SCHEMAAUTHORIZATION |
Date: | 2023-05-02 12:19:49 |
Message-ID: | 87354fudqy.fsf@wibble.ilmari.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Dagfinn Ilmari Mannsåker <ilmari(at)ilmari(dot)org> writes:
> Michael Paquier <michael(at)paquier(dot)xyz> writes:
>
>> On Sat, Apr 15, 2023 at 11:06:25AM +0900, Michael Paquier wrote:
>>> Thanks, I'll look at it.
>>
>> + else if (Matches("CREATE", "SCHEMA", "AUTHORIZATION", MatchAny) ||
>> + Matches("CREATE", "SCHEMA", MatchAny, "AUTHORIZATION", MatchAny))
>> + COMPLETE_WITH("CREATE", "GRANT");
>> + else if (Matches("CREATE", "SCHEMA", MatchAny))
>> + COMPLETE_WITH("AUTHORIZATION", "CREATE", "GRANT");
>>
>> I had this grammar under my eyes a few days ago for a different patch,
>> and there are much more objects types that can be appended to a CREATE
>> SCHEMA, like triggers, sequences, tables or views, so this is
>> incomplete, isn't it?
>
> This is for completing the word CREATE itself after CREATE SCHEMA
> [[<name>] AUTHORIZATION] <name>. The things that can come after that
> are already handled generically earlier in the function:
>
> /* CREATE */
> /* complete with something you can create */
> else if (TailMatches("CREATE"))
> matches = rl_completion_matches(text, create_command_generator);
>
> create_command_generator uses the words_after_create array, which lists
> all the things that can be created.
But, looking closer at the docs, only tables, views, indexes, sequences
and triggers can be created as part of a CREATE SCHEMA statement. Maybe
we should add a HeadMatches("CREATE", "SCHEMA") exception in the above?
- ilmari
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2023-05-02 14:02:18 | Re: Add PQsendSyncMessage() to libpq |
Previous Message | Julien Rouhaud | 2023-05-02 12:02:49 | Re: [PoC] pg_upgrade: allow to upgrade publisher node |