@@ -2009,8 +2009,8 @@ psql_completion(const char *text, int start, int end)
20092009else if (TailMatches3 ("INDEX|CONCURRENTLY" ,MatchAny ,"ON" )||
20102010TailMatches2 ("INDEX|CONCURRENTLY" ,"ON" ))
20112011COMPLETE_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+ /* CompleteCREATE|UNIQUE INDEX CONCURRENTLY with "ON" and existing indexes */
2013+ else if (TailMatches3 ( "CREATE|UNIQUE" , "INDEX" ,"CONCURRENTLY" ))
20142014COMPLETE_WITH_SCHEMA_QUERY (Query_for_list_of_indexes ,
20152015" UNION SELECT 'ON'" );
20162016/* Complete CREATE|UNIQUE INDEX [CONCURRENTLY] <sth> with "ON" */
@@ -2247,7 +2247,7 @@ psql_completion(const char *text, int start, int end)
22472247/* DROP */
22482248/* Complete DROP object with CASCADE / RESTRICT */
22492249else 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" ,
22512251MatchAny )||
22522252 (Matches4 ("DROP" ,"AGGREGATE|FUNCTION" ,MatchAny ,MatchAny )&&
22532253ends_with (prev_wd ,')' ))||
@@ -2265,6 +2265,17 @@ psql_completion(const char *text, int start, int end)
22652265else if (Matches2 ("DROP" ,"FOREIGN" ))
22662266COMPLETE_WITH_LIST2 ("DATA WRAPPER" ,"TABLE" );
22672267
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+
22682279/* DROP MATERIALIZED VIEW */
22692280else if (Matches2 ("DROP" ,"MATERIALIZED" ))
22702281COMPLETE_WITH_CONST ("VIEW" );