mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Various fixes to "ALTER ... SET/RESET" tab completions
Add - ALTER SYSTEM SET/RESET ... -> GUC variables - ALTER TABLE ... SET WITH -> OIDS - ALTER DATABASE/FUNCTION/ROLE/USER ... SET/RESET -> GUC variables - ALTER DATABASE/FUNCTION/ROLE/USER ... SET ... -> FROM CURRENT/TO - ALTER DATABASE/FUNCTION/ROLE/USER ... SET ... TO/= -> possible values Author: Fujii Masao Reviewed-by: Michael Paquier, Masahiko Sawada
This commit is contained in:
@ -1553,7 +1553,7 @@ psql_completion(const char *text, int start, int end)
|
|||||||
else if (Matches2("ALTER", "SYSTEM"))
|
else if (Matches2("ALTER", "SYSTEM"))
|
||||||
COMPLETE_WITH_LIST2("SET", "RESET");
|
COMPLETE_WITH_LIST2("SET", "RESET");
|
||||||
/* ALTER SYSTEM SET|RESET <name> */
|
/* ALTER SYSTEM SET|RESET <name> */
|
||||||
else if (Matches4("ALTER", "SYSTEM", "SET|RESET", MatchAny))
|
else if (Matches3("ALTER", "SYSTEM", "SET|RESET"))
|
||||||
COMPLETE_WITH_QUERY(Query_for_list_of_alter_system_set_vars);
|
COMPLETE_WITH_QUERY(Query_for_list_of_alter_system_set_vars);
|
||||||
/* ALTER VIEW <name> */
|
/* ALTER VIEW <name> */
|
||||||
else if (Matches3("ALTER", "VIEW", MatchAny))
|
else if (Matches3("ALTER", "VIEW", MatchAny))
|
||||||
@ -1754,6 +1754,9 @@ psql_completion(const char *text, int start, int end)
|
|||||||
*/
|
*/
|
||||||
else if (Matches5("ALTER", "TABLE", MatchAny, "SET", "TABLESPACE"))
|
else if (Matches5("ALTER", "TABLE", MatchAny, "SET", "TABLESPACE"))
|
||||||
COMPLETE_WITH_QUERY(Query_for_list_of_tablespaces);
|
COMPLETE_WITH_QUERY(Query_for_list_of_tablespaces);
|
||||||
|
/* If we have ALTER TABLE <sth> SET WITH provide OIDS */
|
||||||
|
else if (Matches5("ALTER", "TABLE", MatchAny, "SET", "WITH"))
|
||||||
|
COMPLETE_WITH_CONST("OIDS");
|
||||||
/* If we have ALTER TABLE <sth> SET WITHOUT provide CLUSTER or OIDS */
|
/* If we have ALTER TABLE <sth> SET WITHOUT provide CLUSTER or OIDS */
|
||||||
else if (Matches5("ALTER", "TABLE", MatchAny, "SET", "WITHOUT"))
|
else if (Matches5("ALTER", "TABLE", MatchAny, "SET", "WITHOUT"))
|
||||||
COMPLETE_WITH_LIST2("CLUSTER", "OIDS");
|
COMPLETE_WITH_LIST2("CLUSTER", "OIDS");
|
||||||
@ -2702,7 +2705,7 @@ psql_completion(const char *text, int start, int end)
|
|||||||
|
|
||||||
/* SET, RESET, SHOW */
|
/* SET, RESET, SHOW */
|
||||||
/* Complete with a variable name */
|
/* Complete with a variable name */
|
||||||
else if (Matches1("SET|RESET"))
|
else if (TailMatches1("SET|RESET") && !TailMatches3("UPDATE", MatchAny, "SET"))
|
||||||
COMPLETE_WITH_QUERY(Query_for_list_of_set_vars);
|
COMPLETE_WITH_QUERY(Query_for_list_of_set_vars);
|
||||||
else if (Matches1("SHOW"))
|
else if (Matches1("SHOW"))
|
||||||
COMPLETE_WITH_QUERY(Query_for_list_of_show_vars);
|
COMPLETE_WITH_QUERY(Query_for_list_of_show_vars);
|
||||||
@ -2743,8 +2746,12 @@ psql_completion(const char *text, int start, int end)
|
|||||||
/* Complete SET <var> with "TO" */
|
/* Complete SET <var> with "TO" */
|
||||||
else if (Matches2("SET", MatchAny))
|
else if (Matches2("SET", MatchAny))
|
||||||
COMPLETE_WITH_CONST("TO");
|
COMPLETE_WITH_CONST("TO");
|
||||||
|
/* Complete ALTER DATABASE|FUNCTION|ROLE|USER ... SET <name> */
|
||||||
|
else if (HeadMatches2("ALTER", "DATABASE|FUNCTION|ROLE|USER") &&
|
||||||
|
TailMatches2("SET", MatchAny))
|
||||||
|
COMPLETE_WITH_LIST2("FROM CURRENT", "TO");
|
||||||
/* Suggest possible variable values */
|
/* Suggest possible variable values */
|
||||||
else if (Matches3("SET", MatchAny, "TO|="))
|
else if (TailMatches3("SET", MatchAny, "TO|="))
|
||||||
{
|
{
|
||||||
/* special cased code for individual GUCs */
|
/* special cased code for individual GUCs */
|
||||||
if (TailMatches2("DateStyle", "TO|="))
|
if (TailMatches2("DateStyle", "TO|="))
|
||||||
|
Reference in New Issue
Block a user