@@ -2104,7 +2104,7 @@ psql_completion(const char *text, int start, int end)
21042104 /* ALTER SEQUENCE <name> */
21052105 else if (Matches ("ALTER" , "SEQUENCE" , MatchAny ))
21062106 COMPLETE_WITH ("AS" , "INCREMENT" , "MINVALUE" , "MAXVALUE" , "RESTART" ,
2107- "NO" , "CACHE" , "CYCLE" , "SET" , "OWNED BY" ,
2107+ "START" , " NO" , "CACHE" , "CYCLE" , "SET" , "OWNED BY" ,
21082108 "OWNER TO" , "RENAME TO" );
21092109 /* ALTER SEQUENCE <name> AS */
21102110 else if (TailMatches ("ALTER" , "SEQUENCE" , MatchAny , "AS" ))
@@ -2381,10 +2381,26 @@ psql_completion(const char *text, int start, int end)
23812381 else if (Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , "COLUMN" , MatchAny ) ||
23822382 Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , MatchAny ))
23832383 COMPLETE_WITH ("TYPE" , "SET" , "RESET" , "RESTART" , "ADD" , "DROP" );
2384+ /* ALTER TABLE ALTER [COLUMN] <foo> ADD */
2385+ else if (Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , "COLUMN" , MatchAny , "ADD" ) ||
2386+ Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , MatchAny , "ADD" ))
2387+ COMPLETE_WITH ("GENERATED" );
2388+ /* ALTER TABLE ALTER [COLUMN] <foo> ADD GENERATED */
2389+ else if (Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , "COLUMN" , MatchAny , "ADD" , "GENERATED" ) ||
2390+ Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , MatchAny , "ADD" , "GENERATED" ))
2391+ COMPLETE_WITH ("ALWAYS" , "BY DEFAULT" );
2392+ /* ALTER TABLE ALTER [COLUMN] <foo> ADD GENERATED */
2393+ else if (Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , "COLUMN" , MatchAny , "ADD" , "GENERATED" , "ALWAYS" ) ||
2394+ Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , MatchAny , "ADD" , "GENERATED" , "ALWAYS" ) ||
2395+ Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , "COLUMN" , MatchAny , "ADD" , "GENERATED" , "BY" , "DEFAULT" ) ||
2396+ Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , MatchAny , "ADD" , "GENERATED" , "BY" , "DEFAULT" ))
2397+ COMPLETE_WITH ("AS IDENTITY" );
23842398 /* ALTER TABLE ALTER [COLUMN] <foo> SET */
23852399 else if (Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , "COLUMN" , MatchAny , "SET" ) ||
23862400 Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , MatchAny , "SET" ))
2387- COMPLETE_WITH ("(" , "COMPRESSION" , "DEFAULT" , "NOT NULL" , "STATISTICS" , "STORAGE" );
2401+ COMPLETE_WITH ("(" , "COMPRESSION" , "DEFAULT" , "GENERATED" , "NOT NULL" , "STATISTICS" , "STORAGE" ,
2402+ /* a subset of ALTER SEQUENCE options */
2403+ "INCREMENT" , "MINVALUE" , "MAXVALUE" , "START" , "NO" , "CACHE" , "CYCLE" );
23882404 /* ALTER TABLE ALTER [COLUMN] <foo> SET ( */
23892405 else if (Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , "COLUMN" , MatchAny , "SET" , "(" ) ||
23902406 Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , MatchAny , "SET" , "(" ))
@@ -2393,6 +2409,14 @@ psql_completion(const char *text, int start, int end)
23932409 else if (Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , "COLUMN" , MatchAny , "SET" , "COMPRESSION" ) ||
23942410 Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , MatchAny , "SET" , "COMPRESSION" ))
23952411 COMPLETE_WITH ("DEFAULT" , "PGLZ" , "LZ4" );
2412+ /* ALTER TABLE ALTER [COLUMN] <foo> SET GENERATED */
2413+ else if (Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , "COLUMN" , MatchAny , "SET" , "GENERATED" ) ||
2414+ Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , MatchAny , "SET" , "GENERATED" ))
2415+ COMPLETE_WITH ("ALWAYS" , "BY DEFAULT" );
2416+ /* ALTER TABLE ALTER [COLUMN] <foo> SET NO */
2417+ else if (Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , "COLUMN" , MatchAny , "SET" , "NO" ) ||
2418+ Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , MatchAny , "SET" , "NO" ))
2419+ COMPLETE_WITH ("MINVALUE" , "MAXVALUE" , "CYCLE" );
23962420 /* ALTER TABLE ALTER [COLUMN] <foo> SET STORAGE */
23972421 else if (Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , "COLUMN" , MatchAny , "SET" , "STORAGE" ) ||
23982422 Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , MatchAny , "SET" , "STORAGE" ))
0 commit comments