@@ -2104,7 +2104,7 @@ psql_completion(const char *text, int start, int end)
2104
2104
/* ALTER SEQUENCE <name> */
2105
2105
else if (Matches ("ALTER" , "SEQUENCE" , MatchAny ))
2106
2106
COMPLETE_WITH ("AS" , "INCREMENT" , "MINVALUE" , "MAXVALUE" , "RESTART" ,
2107
- "NO" , "CACHE" , "CYCLE" , "SET" , "OWNED BY" ,
2107
+ "START" , " NO" , "CACHE" , "CYCLE" , "SET" , "OWNED BY" ,
2108
2108
"OWNER TO" , "RENAME TO" );
2109
2109
/* ALTER SEQUENCE <name> AS */
2110
2110
else if (TailMatches ("ALTER" , "SEQUENCE" , MatchAny , "AS" ))
@@ -2381,10 +2381,26 @@ psql_completion(const char *text, int start, int end)
2381
2381
else if (Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , "COLUMN" , MatchAny ) ||
2382
2382
Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , MatchAny ))
2383
2383
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" );
2384
2398
/* ALTER TABLE ALTER [COLUMN] <foo> SET */
2385
2399
else if (Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , "COLUMN" , MatchAny , "SET" ) ||
2386
2400
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" );
2388
2404
/* ALTER TABLE ALTER [COLUMN] <foo> SET ( */
2389
2405
else if (Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , "COLUMN" , MatchAny , "SET" , "(" ) ||
2390
2406
Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , MatchAny , "SET" , "(" ))
@@ -2393,6 +2409,14 @@ psql_completion(const char *text, int start, int end)
2393
2409
else if (Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , "COLUMN" , MatchAny , "SET" , "COMPRESSION" ) ||
2394
2410
Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , MatchAny , "SET" , "COMPRESSION" ))
2395
2411
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" );
2396
2420
/* ALTER TABLE ALTER [COLUMN] <foo> SET STORAGE */
2397
2421
else if (Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , "COLUMN" , MatchAny , "SET" , "STORAGE" ) ||
2398
2422
Matches ("ALTER" , "TABLE" , MatchAny , "ALTER" , MatchAny , "SET" , "STORAGE" ))
0 commit comments