@@ -2411,38 +2411,87 @@ psql_completion(const char *text, int start, int end)
24112411else if (Matches ("COMMENT" ))
24122412COMPLETE_WITH ("ON" );
24132413else if (Matches ("COMMENT" ,"ON" ))
2414- COMPLETE_WITH ("ACCESS METHOD" ,"CAST" ,"COLLATION" ,"CONVERSION" ,
2415- "DATABASE" ,"EVENT TRIGGER" ,"EXTENSION" ,
2416- "FOREIGN DATA WRAPPER" ,"FOREIGN TABLE" ,"SERVER" ,
2417- "INDEX" ,"LANGUAGE" ,"POLICY" ,"PUBLICATION" ,"RULE" ,
2418- "SCHEMA" ,"SEQUENCE" ,"STATISTICS" ,"SUBSCRIPTION" ,
2419- "TABLE" ,"TYPE" ,"VIEW" ,"MATERIALIZED VIEW" ,
2420- "COLUMN" ,"AGGREGATE" ,"FUNCTION" ,
2421- "PROCEDURE" ,"ROUTINE" ,
2422- "OPERATOR" ,"TRIGGER" ,"CONSTRAINT" ,"DOMAIN" ,
2423- "LARGE OBJECT" ,"TABLESPACE" ,"TEXT SEARCH" ,"ROLE" );
2414+ COMPLETE_WITH ("ACCESS METHOD" ,"AGGREGATE" ,"CAST" ,"COLLATION" ,
2415+ "COLUMN" ,"CONSTRAINT" ,"CONVERSION" ,"DATABASE" ,
2416+ "DOMAIN" ,"EXTENSION" ,"EVENT TRIGGER" ,
2417+ "FOREIGN DATA WRAPPER" ,"FOREIGN TABLE" ,
2418+ "FUNCTION" ,"INDEX" ,"LANGUAGE" ,"LARGE OBJECT" ,
2419+ "MATERIALIZED VIEW" ,"OPERATOR" ,"POLICY" ,
2420+ "PROCEDURE" ,"PROCEDURAL LANGUAGE" ,"PUBLICATION" ,"ROLE" ,
2421+ "ROUTINE" ,"RULE" ,"SCHEMA" ,"SEQUENCE" ,"SERVER" ,
2422+ "STATISTICS" ,"SUBSCRIPTION" ,"TABLE" ,
2423+ "TABLESPACE" ,"TEXT SEARCH" ,"TRANSFORM FOR" ,
2424+ "TRIGGER" ,"TYPE" ,"VIEW" );
24242425else if (Matches ("COMMENT" ,"ON" ,"ACCESS" ,"METHOD" ))
24252426COMPLETE_WITH_QUERY (Query_for_list_of_access_methods );
2426- else if (Matches ("COMMENT" ,"ON" ,"FOREIGN" ))
2427- COMPLETE_WITH ("DATA WRAPPER" ,"TABLE" );
2428- else if (Matches ("COMMENT" ,"ON" ,"TEXT" ,"SEARCH" ))
2429- COMPLETE_WITH ("CONFIGURATION" ,"DICTIONARY" ,"PARSER" ,"TEMPLATE" );
24302427else if (Matches ("COMMENT" ,"ON" ,"CONSTRAINT" ))
24312428COMPLETE_WITH_QUERY (Query_for_all_table_constraints );
24322429else if (Matches ("COMMENT" ,"ON" ,"CONSTRAINT" ,MatchAny ))
24332430COMPLETE_WITH ("ON" );
24342431else if (Matches ("COMMENT" ,"ON" ,"CONSTRAINT" ,MatchAny ,"ON" ))
24352432{
24362433completion_info_charp = prev2_wd ;
2437- COMPLETE_WITH_QUERY (Query_for_list_of_tables_for_constraint );
2434+ COMPLETE_WITH_QUERY (Query_for_list_of_tables_for_constraint
2435+ " UNION SELECT 'DOMAIN'" );
24382436}
2439- else if (Matches ("COMMENT" ,"ON" ,"MATERIALIZED " ,"VIEW " ))
2440- COMPLETE_WITH_SCHEMA_QUERY (Query_for_list_of_matviews ,NULL );
2437+ else if (Matches ("COMMENT" ,"ON" ,"CONSTRAINT " ,MatchAny , "ON" , "DOMAIN " ))
2438+ COMPLETE_WITH_SCHEMA_QUERY (Query_for_list_of_domains ,NULL );
24412439else if (Matches ("COMMENT" ,"ON" ,"EVENT" ,"TRIGGER" ))
24422440COMPLETE_WITH_QUERY (Query_for_list_of_event_triggers );
2441+ else if (Matches ("COMMENT" ,"ON" ,"FOREIGN" ))
2442+ COMPLETE_WITH ("DATA WRAPPER" ,"TABLE" );
2443+ else if (Matches ("COMMENT" ,"ON" ,"FOREIGN" ,"TABLE" ))
2444+ COMPLETE_WITH_SCHEMA_QUERY (Query_for_list_of_foreign_tables ,NULL );
2445+ else if (Matches ("COMMENT" ,"ON" ,"MATERIALIZED" ,"VIEW" ))
2446+ COMPLETE_WITH_SCHEMA_QUERY (Query_for_list_of_matviews ,NULL );
2447+ else if (Matches ("COMMENT" ,"ON" ,"POLICY" ))
2448+ COMPLETE_WITH_QUERY (Query_for_list_of_policies );
2449+ else if (Matches ("COMMENT" ,"ON" ,"POLICY" ,MatchAny ))
2450+ COMPLETE_WITH ("ON" );
2451+ else if (Matches ("COMMENT" ,"ON" ,"POLICY" ,MatchAny ,"ON" ))
2452+ {
2453+ completion_info_charp = prev2_wd ;
2454+ COMPLETE_WITH_QUERY (Query_for_list_of_tables_for_policy );
2455+ }
2456+ else if (Matches ("COMMENT" ,"ON" ,"PROCEDURAL" ,"LANGUAGE" ))
2457+ COMPLETE_WITH_QUERY (Query_for_list_of_languages );
2458+ else if (Matches ("COMMENT" ,"ON" ,"RULE" ,MatchAny ))
2459+ COMPLETE_WITH ("ON" );
2460+ else if (Matches ("COMMENT" ,"ON" ,"RULE" ,MatchAny ,"ON" ))
2461+ {
2462+ completion_info_charp = prev2_wd ;
2463+ COMPLETE_WITH_QUERY (Query_for_list_of_tables_for_rule );
2464+ }
2465+ else if (Matches ("COMMENT" ,"ON" ,"TEXT" ,"SEARCH" ))
2466+ COMPLETE_WITH ("CONFIGURATION" ,"DICTIONARY" ,"PARSER" ,"TEMPLATE" );
2467+ else if (Matches ("COMMENT" ,"ON" ,"TEXT" ,"SEARCH" ,"CONFIGURATION" ))
2468+ COMPLETE_WITH_QUERY (Query_for_list_of_ts_configurations );
2469+ else if (Matches ("COMMENT" ,"ON" ,"TEXT" ,"SEARCH" ,"DICTIONARY" ))
2470+ COMPLETE_WITH_QUERY (Query_for_list_of_ts_dictionaries );
2471+ else if (Matches ("COMMENT" ,"ON" ,"TEXT" ,"SEARCH" ,"PARSER" ))
2472+ COMPLETE_WITH_QUERY (Query_for_list_of_ts_parsers );
2473+ else if (Matches ("COMMENT" ,"ON" ,"TEXT" ,"SEARCH" ,"TEMPLATE" ))
2474+ COMPLETE_WITH_QUERY (Query_for_list_of_ts_templates );
2475+ else if (Matches ("COMMENT" ,"ON" ,"TRANSFORM" ,"FOR" ))
2476+ COMPLETE_WITH_SCHEMA_QUERY (Query_for_list_of_datatypes ,NULL );
2477+ else if (Matches ("COMMENT" ,"ON" ,"TRANSFORM" ,"FOR" ,MatchAny ))
2478+ COMPLETE_WITH ("LANGUAGE" );
2479+ else if (Matches ("COMMENT" ,"ON" ,"TRANSFORM" ,"FOR" ,MatchAny ,"LANGUAGE" ))
2480+ {
2481+ completion_info_charp = prev2_wd ;
2482+ COMPLETE_WITH_QUERY (Query_for_list_of_languages );
2483+ }
2484+ else if (Matches ("COMMENT" ,"ON" ,"TRIGGER" ,MatchAny ))
2485+ COMPLETE_WITH ("ON" );
2486+ else if (Matches ("COMMENT" ,"ON" ,"TRIGGER" ,MatchAny ,"ON" ))
2487+ {
2488+ completion_info_charp = prev2_wd ;
2489+ COMPLETE_WITH_QUERY (Query_for_list_of_tables_for_trigger );
2490+ }
24432491else if (Matches ("COMMENT" ,"ON" ,MatchAny ,MatchAnyExcept ("IS" ))||
24442492Matches ("COMMENT" ,"ON" ,MatchAny ,MatchAny ,MatchAnyExcept ("IS" ))||
2445- Matches ("COMMENT" ,"ON" ,MatchAny ,MatchAny ,MatchAny ,MatchAnyExcept ("IS" )))
2493+ Matches ("COMMENT" ,"ON" ,MatchAny ,MatchAny ,MatchAny ,MatchAnyExcept ("IS" ))||
2494+ Matches ("COMMENT" ,"ON" ,MatchAny ,MatchAny ,MatchAny ,MatchAny ,MatchAnyExcept ("IS" )))
24462495COMPLETE_WITH ("IS" );
24472496
24482497/* COPY */