mirror of
https://github.com/postgres/postgres.git
synced 2025-05-17 06:41:24 +03:00
psql: Improve CREATE INDEX CONCURRENTLY tab completion
The completion of CREATE INDEX CONCURRENTLY was lacking in several ways compared to a plain CREATE INDEX command: - CREATE INDEX <name> ON completes table names, but didn't with CONCURRENTLY. - CREATE INDEX completes ON and existing index names, but with CONCURRENTLY it only completed ON. - CREATE INDEX <name> completes ON, but didn't with CONCURRENTLY. These are now all fixed.
This commit is contained in:
parent
bc56d5898d
commit
b1bfb28b58
@ -2005,15 +2005,17 @@ psql_completion(const char *text, int start, int end)
|
||||
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_indexes,
|
||||
" UNION SELECT 'ON'"
|
||||
" UNION SELECT 'CONCURRENTLY'");
|
||||
/* Complete ... INDEX [<name>] ON with a list of tables */
|
||||
else if (TailMatches3("INDEX", MatchAny, "ON") ||
|
||||
/* Complete ... INDEX|CONCURRENTLY [<name>] ON with a list of tables */
|
||||
else if (TailMatches3("INDEX|CONCURRENTLY", MatchAny, "ON") ||
|
||||
TailMatches2("INDEX|CONCURRENTLY", "ON"))
|
||||
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tm, NULL);
|
||||
/* If we have CREATE|UNIQUE INDEX CONCURRENTLY, then add "ON" */
|
||||
/* Complete ... INDEX CONCURRENTLY with "ON" and existing indexes */
|
||||
else if (TailMatches2("INDEX", "CONCURRENTLY"))
|
||||
COMPLETE_WITH_CONST("ON");
|
||||
/* If we have CREATE|UNIQUE INDEX <sth>, then add "ON" */
|
||||
else if (TailMatches3("CREATE|UNIQUE", "INDEX", MatchAny))
|
||||
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_indexes,
|
||||
" UNION SELECT 'ON'");
|
||||
/* Complete CREATE|UNIQUE INDEX [CONCURRENTLY] <sth> with "ON" */
|
||||
else if (TailMatches3("CREATE|UNIQUE", "INDEX", MatchAny) ||
|
||||
TailMatches4("CREATE|UNIQUE", "INDEX", "CONCURRENTLY", MatchAny))
|
||||
COMPLETE_WITH_CONST("ON");
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user