@@ -1417,7 +1417,7 @@ psql_completion(const char *text, int start, int end)
1417
1417
1418
1418
/* ALTER FOREIGN DATA WRAPPER <name> */
1419
1419
else if (Matches5 ("ALTER" , "FOREIGN" , "DATA" , "WRAPPER" , MatchAny ))
1420
- COMPLETE_WITH_LIST4 ("HANDLER" , "VALIDATOR" , "OPTIONS" , "OWNER TO" );
1420
+ COMPLETE_WITH_LIST5 ("HANDLER" , "VALIDATOR" , "OPTIONS" , "OWNER TO" , "RENAME TO" );
1421
1421
1422
1422
/* ALTER FOREIGN TABLE <name> */
1423
1423
else if (Matches4 ("ALTER" , "FOREIGN" , "TABLE" , MatchAny ))
@@ -1544,7 +1544,10 @@ psql_completion(const char *text, int start, int end)
1544
1544
COMPLETE_WITH_LIST3 ("MINVALUE" , "MAXVALUE" , "CYCLE" );
1545
1545
/* ALTER SERVER <name> */
1546
1546
else if (Matches3 ("ALTER" , "SERVER" , MatchAny ))
1547
- COMPLETE_WITH_LIST3 ("VERSION" , "OPTIONS" , "OWNER TO" );
1547
+ COMPLETE_WITH_LIST4 ("VERSION" , "OPTIONS" , "OWNER TO" , "RENAME TO" );
1548
+ /* ALTER SERVER <name> VERSION <version>*/
1549
+ else if (Matches5 ("ALTER" , "SERVER" , MatchAny , "VERSION" , MatchAny ))
1550
+ COMPLETE_WITH_CONST ("OPTIONS" );
1548
1551
/* ALTER SYSTEM SET, RESET, RESET ALL */
1549
1552
else if (Matches2 ("ALTER" , "SYSTEM" ))
1550
1553
COMPLETE_WITH_LIST2 ("SET" , "RESET" );
@@ -2000,7 +2003,7 @@ psql_completion(const char *text, int start, int end)
2000
2003
2001
2004
/* CREATE FOREIGN DATA WRAPPER */
2002
2005
else if (Matches5 ("CREATE" , "FOREIGN" , "DATA" , "WRAPPER" , MatchAny ))
2003
- COMPLETE_WITH_LIST2 ("HANDLER" , "VALIDATOR" );
2006
+ COMPLETE_WITH_LIST3 ("HANDLER" , "VALIDATOR" , "OPTIONS " );
2004
2007
2005
2008
/* CREATE INDEX --- is allowed inside CREATE SCHEMA, so use TailMatches */
2006
2009
/* First off we complete CREATE UNIQUE with "INDEX" */
@@ -2379,6 +2382,10 @@ psql_completion(const char *text, int start, int end)
2379
2382
else if (TailMatches3 ("FOREIGN" , "DATA" , "WRAPPER" ) &&
2380
2383
!TailMatches4 ("CREATE" , MatchAny , MatchAny , MatchAny ))
2381
2384
COMPLETE_WITH_QUERY (Query_for_list_of_fdws );
2385
+ /* applies in CREATE SERVER */
2386
+ else if (TailMatches4 ("FOREIGN" , "DATA" , "WRAPPER" , MatchAny ) &&
2387
+ HeadMatches2 ("CREATE" , "SERVER" ))
2388
+ COMPLETE_WITH_CONST ("OPTIONS" );
2382
2389
2383
2390
/* FOREIGN TABLE */
2384
2391
else if (TailMatches2 ("FOREIGN" , "TABLE" ) &&
@@ -2823,6 +2830,8 @@ psql_completion(const char *text, int start, int end)
2823
2830
COMPLETE_WITH_QUERY (Query_for_list_of_user_mappings );
2824
2831
else if (Matches5 ("CREATE|ALTER|DROP" , "USER" , "MAPPING" , "FOR" , MatchAny ))
2825
2832
COMPLETE_WITH_CONST ("SERVER" );
2833
+ else if (Matches7 ("CREATE|ALTER" , "USER" , "MAPPING" , "FOR" , MatchAny , "SERVER" , MatchAny ))
2834
+ COMPLETE_WITH_CONST ("OPTIONS" );
2826
2835
2827
2836
/*
2828
2837
* VACUUM [ FULL | FREEZE ] [ VERBOSE ] [ table ]
0 commit comments