On Mon, Feb 1, 2016 at 10:22 PM, Fujii Masao <masao.fu...@gmail.com> wrote:
> Pushed. Thanks! > OK. And attached is the promised patch for ALTER FUNCTION. -- Michael
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index 5f27120..3369a3d 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -1370,7 +1370,7 @@ psql_completion(const char *text, int start, int end) else if (Matches3("ALTER", "AGGREGATE|FUNCTION", MatchAny)) COMPLETE_WITH_CONST("("); /* ALTER AGGREGATE,FUNCTION <name> (...) */ - else if (Matches4("ALTER", "AGGREGATE|FUNCTION", MatchAny, MatchAny)) + else if (Matches4("ALTER", "AGGREGATE", MatchAny, MatchAny)) { if (ends_with(prev_wd, ')')) COMPLETE_WITH_LIST3("OWNER TO", "RENAME TO", "SET SCHEMA"); @@ -1378,6 +1378,18 @@ psql_completion(const char *text, int start, int end) COMPLETE_WITH_FUNCTION_ARG(prev2_wd); } + /* ALTER FUNCTION <name> (...) */ + else if (Matches4("ALTER", "FUNCTION", MatchAny, MatchAny)) + { + if (ends_with(prev_wd, ')')) + COMPLETE_WITH_LIST4("OWNER TO", "RENAME TO", "SET", "RESET"); + else + COMPLETE_WITH_FUNCTION_ARG(prev2_wd); + } + /* ALTER FUNCTION <name> (...) SET */ + else if (Matches5("ALTER", "FUNCTION", MatchAny, MatchAny, "SET")) + COMPLETE_WITH_QUERY(Query_for_list_of_set_vars "UNION SELECT 'SCHEMA'"); + /* ALTER SCHEMA <name> */ else if (Matches3("ALTER", "SCHEMA", MatchAny)) COMPLETE_WITH_LIST2("OWNER TO", "RENAME TO"); @@ -2705,7 +2717,9 @@ psql_completion(const char *text, int start, int end) /* SET, RESET, SHOW */ /* Complete with a variable name */ - else if (TailMatches1("SET|RESET") && !TailMatches3("UPDATE", MatchAny, "SET")) + else if (TailMatches1("SET|RESET") && + !TailMatches3("UPDATE", MatchAny, "SET") && + !TailMatches2("ALTER", "FUNCTION")) COMPLETE_WITH_QUERY(Query_for_list_of_set_vars); else if (Matches1("SHOW")) COMPLETE_WITH_QUERY(Query_for_list_of_show_vars);
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers