diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/psql/tab-complete.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index f265e043e95..62a39779b9d 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -2516,6 +2516,17 @@ psql_completion(const char *text, int start, int end) /* ALTER TYPE ALTER ATTRIBUTE <foo> */ else if (Matches("ALTER", "TYPE", MatchAny, "ALTER", "ATTRIBUTE", MatchAny)) COMPLETE_WITH("TYPE"); + /* complete ALTER TYPE <sth> RENAME VALUE with list of enum values */ + else if (Matches("ALTER", "TYPE", MatchAny, "RENAME", "VALUE")) + COMPLETE_WITH_ENUM_VALUE(prev3_wd); + /* ALTER TYPE <foo> SET */ + else if (Matches("ALTER", "TYPE", MatchAny, "SET")) + COMPLETE_WITH("(", "SCHEMA"); + /* complete ALTER TYPE <foo> SET ( with settable properties */ + else if (Matches("ALTER", "TYPE", MatchAny, "SET", "(")) + COMPLETE_WITH("ANALYZE", "RECEIVE", "SEND", "STORAGE", "SUBSCRIPT", + "TYPMOD_IN", "TYPMOD_OUT"); + /* complete ALTER GROUP <foo> */ else if (Matches("ALTER", "GROUP", MatchAny)) COMPLETE_WITH("ADD USER", "DROP USER", "RENAME TO"); @@ -2526,12 +2537,6 @@ psql_completion(const char *text, int start, int end) else if (Matches("ALTER", "GROUP", MatchAny, "ADD|DROP", "USER")) COMPLETE_WITH_QUERY(Query_for_list_of_roles); - /* - * If we have ALTER TYPE <sth> RENAME VALUE, provide list of enum values - */ - else if (Matches("ALTER", "TYPE", MatchAny, "RENAME", "VALUE")) - COMPLETE_WITH_ENUM_VALUE(prev3_wd); - /* * ANALYZE [ ( option [, ...] ) ] [ table_and_columns [, ...] ] * ANALYZE [ VERBOSE ] [ table_and_columns [, ...] ] |