/* ALTER TYPE ALTER ATTRIBUTE */
else if (Matches("ALTER", "TYPE", MatchAny, "ALTER", "ATTRIBUTE", MatchAny))
COMPLETE_WITH("TYPE");
+ /* complete ALTER TYPE RENAME VALUE with list of enum values */
+ else if (Matches("ALTER", "TYPE", MatchAny, "RENAME", "VALUE"))
+ COMPLETE_WITH_ENUM_VALUE(prev3_wd);
+ /* ALTER TYPE SET */
+ else if (Matches("ALTER", "TYPE", MatchAny, "SET"))
+ COMPLETE_WITH("(", "SCHEMA");
+ /* complete ALTER TYPE 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 */
else if (Matches("ALTER", "GROUP", MatchAny))
COMPLETE_WITH("ADD USER", "DROP USER", "RENAME TO");
else if (Matches("ALTER", "GROUP", MatchAny, "ADD|DROP", "USER"))
COMPLETE_WITH_QUERY(Query_for_list_of_roles);
- /*
- * If we have ALTER TYPE 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 [, ...] ]