aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bin/psql/tab-complete.c17
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 [, ...] ]