@@ -2411,38 +2411,87 @@ psql_completion(const char *text, int start, int end)
24112411 else if (Matches ("COMMENT" ))
24122412 COMPLETE_WITH ("ON" );
24132413 else 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" );
24242425 else if (Matches ("COMMENT" , "ON" , "ACCESS" , "METHOD" ))
24252426 COMPLETE_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" );
24302427 else if (Matches ("COMMENT" , "ON" , "CONSTRAINT" ))
24312428 COMPLETE_WITH_QUERY (Query_for_all_table_constraints );
24322429 else if (Matches ("COMMENT" , "ON" , "CONSTRAINT" , MatchAny ))
24332430 COMPLETE_WITH ("ON" );
24342431 else if (Matches ("COMMENT" , "ON" , "CONSTRAINT" , MatchAny , "ON" ))
24352432 {
24362433 completion_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 );
24412439 else if (Matches ("COMMENT" , "ON" , "EVENT" , "TRIGGER" ))
24422440 COMPLETE_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+ }
24432491 else if (Matches ("COMMENT" , "ON" , MatchAny , MatchAnyExcept ("IS" )) ||
24442492 Matches ("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" )))
24462495 COMPLETE_WITH ("IS" );
24472496
24482497/* COPY */
0 commit comments