@@ -2009,8 +2009,8 @@ psql_completion(const char *text, int start, int end)
2009
2009
else if (TailMatches3 ("INDEX|CONCURRENTLY" , MatchAny , "ON" ) ||
2010
2010
TailMatches2 ("INDEX|CONCURRENTLY" , "ON" ))
2011
2011
COMPLETE_WITH_SCHEMA_QUERY (Query_for_list_of_tm , NULL );
2012
- /* Complete ... INDEX CONCURRENTLY with "ON" and existing indexes */
2013
- else if (TailMatches2 ( "INDEX" , "CONCURRENTLY" ))
2012
+ /* Complete CREATE|UNIQUE INDEX CONCURRENTLY with "ON" and existing indexes */
2013
+ else if (TailMatches3 ( "CREATE|UNIQUE" , "INDEX" , "CONCURRENTLY" ))
2014
2014
COMPLETE_WITH_SCHEMA_QUERY (Query_for_list_of_indexes ,
2015
2015
" UNION SELECT 'ON'" );
2016
2016
/* Complete CREATE|UNIQUE INDEX [CONCURRENTLY] <sth> with "ON" */
@@ -2247,7 +2247,7 @@ psql_completion(const char *text, int start, int end)
2247
2247
/* DROP */
2248
2248
/* Complete DROP object with CASCADE / RESTRICT */
2249
2249
else if (Matches3 ("DROP" ,
2250
- "COLLATION|CONVERSION|DOMAIN|EXTENSION|INDEX| LANGUAGE|SCHEMA|SEQUENCE|SERVER|TABLE|TYPE|VIEW" ,
2250
+ "COLLATION|CONVERSION|DOMAIN|EXTENSION|LANGUAGE|SCHEMA|SEQUENCE|SERVER|TABLE|TYPE|VIEW" ,
2251
2251
MatchAny ) ||
2252
2252
(Matches4 ("DROP" , "AGGREGATE|FUNCTION" , MatchAny , MatchAny ) &&
2253
2253
ends_with (prev_wd , ')' )) ||
@@ -2265,6 +2265,17 @@ psql_completion(const char *text, int start, int end)
2265
2265
else if (Matches2 ("DROP" , "FOREIGN" ))
2266
2266
COMPLETE_WITH_LIST2 ("DATA WRAPPER" , "TABLE" );
2267
2267
2268
+ /* DROP INDEX */
2269
+ else if (Matches2 ("DROP" , "INDEX" ))
2270
+ COMPLETE_WITH_SCHEMA_QUERY (Query_for_list_of_indexes ,
2271
+ " UNION SELECT 'CONCURRENTLY'" );
2272
+ else if (Matches3 ("DROP" , "INDEX" , "CONCURRENTLY" ))
2273
+ COMPLETE_WITH_SCHEMA_QUERY (Query_for_list_of_indexes , NULL );
2274
+ else if (Matches3 ("DROP" , "INDEX" , MatchAny ))
2275
+ COMPLETE_WITH_LIST2 ("CASCADE" , "RESTRICT" );
2276
+ else if (Matches4 ("DROP" , "INDEX" , "CONCURRENTLY" , MatchAny ))
2277
+ COMPLETE_WITH_LIST2 ("CASCADE" , "RESTRICT" );
2278
+
2268
2279
/* DROP MATERIALIZED VIEW */
2269
2280
else if (Matches2 ("DROP" , "MATERIALIZED" ))
2270
2281
COMPLETE_WITH_CONST ("VIEW" );
0 commit comments