Re: Tab completion for CREATE SCHEMAAUTHORIZATION
Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
From: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
To: Michael Paquier <michael@paquier.xyz>
Cc: Suraj Khamkar <khamkarsuraj.b@gmail.com>,
pgsql-hackers@lists.postgresql.org
Date: 2023-05-02T10:48:43Z
Lists: pgsql-hackers
Michael Paquier <michael@paquier.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.
- ilmari
Commits
-
Add tab completion for CREATE SCHEMA in psql
- c951e9042dd1 17.0 landed
-
psql: improve tab-complete's handling of variant SQL names.
- 02b8048ba5dc 15.0 cited