@@ -2516,6 +2516,17 @@ psql_completion(const char *text, int start, int end)
2516
2516
/* ALTER TYPE ALTER ATTRIBUTE <foo> */
2517
2517
else if (Matches ("ALTER" , "TYPE" , MatchAny , "ALTER" , "ATTRIBUTE" , MatchAny ))
2518
2518
COMPLETE_WITH ("TYPE" );
2519
+ /* complete ALTER TYPE <sth> RENAME VALUE with list of enum values */
2520
+ else if (Matches ("ALTER" , "TYPE" , MatchAny , "RENAME" , "VALUE" ))
2521
+ COMPLETE_WITH_ENUM_VALUE (prev3_wd );
2522
+ /* ALTER TYPE <foo> SET */
2523
+ else if (Matches ("ALTER" , "TYPE" , MatchAny , "SET" ))
2524
+ COMPLETE_WITH ("(" , "SCHEMA" );
2525
+ /* complete ALTER TYPE <foo> SET ( with settable properties */
2526
+ else if (Matches ("ALTER" , "TYPE" , MatchAny , "SET" , "(" ))
2527
+ COMPLETE_WITH ("ANALYZE" , "RECEIVE" , "SEND" , "STORAGE" , "SUBSCRIPT" ,
2528
+ "TYPMOD_IN" , "TYPMOD_OUT" );
2529
+
2519
2530
/* complete ALTER GROUP <foo> */
2520
2531
else if (Matches ("ALTER" , "GROUP" , MatchAny ))
2521
2532
COMPLETE_WITH ("ADD USER" , "DROP USER" , "RENAME TO" );
@@ -2526,12 +2537,6 @@ psql_completion(const char *text, int start, int end)
2526
2537
else if (Matches ("ALTER" , "GROUP" , MatchAny , "ADD|DROP" , "USER" ))
2527
2538
COMPLETE_WITH_QUERY (Query_for_list_of_roles );
2528
2539
2529
- /*
2530
- * If we have ALTER TYPE <sth> RENAME VALUE, provide list of enum values
2531
- */
2532
- else if (Matches ("ALTER" , "TYPE" , MatchAny , "RENAME" , "VALUE" ))
2533
- COMPLETE_WITH_ENUM_VALUE (prev3_wd );
2534
-
2535
2540
/*
2536
2541
* ANALYZE [ ( option [, ...] ) ] [ table_and_columns [, ...] ]
2537
2542
* ANALYZE [ VERBOSE ] [ table_and_columns [, ...] ]
0 commit comments