@@ -2411,38 +2411,87 @@ psql_completion(const char *text, int start, int end)
2411
2411
else if (Matches ("COMMENT" ))
2412
2412
COMPLETE_WITH ("ON" );
2413
2413
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" );
2424
2425
else if (Matches ("COMMENT" ,"ON" ,"ACCESS" ,"METHOD" ))
2425
2426
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" );
2430
2427
else if (Matches ("COMMENT" ,"ON" ,"CONSTRAINT" ))
2431
2428
COMPLETE_WITH_QUERY (Query_for_all_table_constraints );
2432
2429
else if (Matches ("COMMENT" ,"ON" ,"CONSTRAINT" ,MatchAny ))
2433
2430
COMPLETE_WITH ("ON" );
2434
2431
else if (Matches ("COMMENT" ,"ON" ,"CONSTRAINT" ,MatchAny ,"ON" ))
2435
2432
{
2436
2433
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'" );
2438
2436
}
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 );
2441
2439
else if (Matches ("COMMENT" ,"ON" ,"EVENT" ,"TRIGGER" ))
2442
2440
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
+ }
2443
2491
else if (Matches ("COMMENT" ,"ON" ,MatchAny ,MatchAnyExcept ("IS" ))||
2444
2492
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" )))
2446
2495
COMPLETE_WITH ("IS" );
2447
2496
2448
2497
/* COPY */