mirror of
https://github.com/postgres/postgres.git
synced 2025-06-14 18:42:34 +03:00
Improve tab completion of IMPORT FOREIGN SCHEMA in psql
It is not possible to get a list of foreign schemas as the server is not known, so this provides instead a list of local schemas, which is more useful than nothing if using a loopback server or having schema names matching in the local and remote servers. Author: Jeff Janes Reviewed-by: Tom Lane, Michael Paquier Discussion: https://postgr.es/m/CAMkU=1wr7Roj41q-XiJs=Uyc2xCmHhcGGy7J-peJQK-e+w=ghw@mail.gmail.com
This commit is contained in:
@ -3293,6 +3293,17 @@ psql_completion(const char *text, int start, int end)
|
|||||||
COMPLETE_WITH("FOREIGN SCHEMA");
|
COMPLETE_WITH("FOREIGN SCHEMA");
|
||||||
else if (Matches("IMPORT", "FOREIGN"))
|
else if (Matches("IMPORT", "FOREIGN"))
|
||||||
COMPLETE_WITH("SCHEMA");
|
COMPLETE_WITH("SCHEMA");
|
||||||
|
else if (Matches("IMPORT", "FOREIGN", "SCHEMA", MatchAny))
|
||||||
|
COMPLETE_WITH("EXCEPT (", "FROM SERVER", "LIMIT TO (");
|
||||||
|
else if (TailMatches("LIMIT", "TO", "(*)") ||
|
||||||
|
TailMatches("EXCEPT", "(*)"))
|
||||||
|
COMPLETE_WITH("FROM SERVER");
|
||||||
|
else if (TailMatches("FROM", "SERVER", MatchAny))
|
||||||
|
COMPLETE_WITH("INTO");
|
||||||
|
else if (TailMatches("FROM", "SERVER", MatchAny, "INTO"))
|
||||||
|
COMPLETE_WITH_QUERY(Query_for_list_of_schemas);
|
||||||
|
else if (TailMatches("FROM", "SERVER", MatchAny, "INTO", MatchAny))
|
||||||
|
COMPLETE_WITH("OPTIONS (");
|
||||||
|
|
||||||
/* INSERT --- can be inside EXPLAIN, RULE, etc */
|
/* INSERT --- can be inside EXPLAIN, RULE, etc */
|
||||||
/* Complete INSERT with "INTO" */
|
/* Complete INSERT with "INTO" */
|
||||||
|
Reference in New Issue
Block a user