Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita5b336b

Browse files
committed
Improve psql tab completion for COMMENT
Completion is added for more object types, like domain constraints, textsearch-ish objects or policies. Moreover, the area is reorganized,changing the list of objects supported by COMMENT to be in the sameorder as the documentation to ease future additions.Author: Ken KatoReviewed-by: Fujii Masao, Shinya Kato, Suraj Khamkar, Michael PaquierDiscussion:https://postgr.es/m/6e0c2f3f657b229bea32d098d118f307@oss.nttdata.com
1 parente7428a9 commita5b336b

File tree

1 file changed

+67
-18
lines changed

1 file changed

+67
-18
lines changed

‎src/bin/psql/tab-complete.c

Lines changed: 67 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2411,38 +2411,87 @@ psql_completion(const char *text, int start, int end)
24112411
elseif (Matches("COMMENT"))
24122412
COMPLETE_WITH("ON");
24132413
elseif (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
elseif (Matches("COMMENT","ON","ACCESS","METHOD"))
24252426
COMPLETE_WITH_QUERY(Query_for_list_of_access_methods);
2426-
elseif (Matches("COMMENT","ON","FOREIGN"))
2427-
COMPLETE_WITH("DATA WRAPPER","TABLE");
2428-
elseif (Matches("COMMENT","ON","TEXT","SEARCH"))
2429-
COMPLETE_WITH("CONFIGURATION","DICTIONARY","PARSER","TEMPLATE");
24302427
elseif (Matches("COMMENT","ON","CONSTRAINT"))
24312428
COMPLETE_WITH_QUERY(Query_for_all_table_constraints);
24322429
elseif (Matches("COMMENT","ON","CONSTRAINT",MatchAny))
24332430
COMPLETE_WITH("ON");
24342431
elseif (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-
elseif (Matches("COMMENT","ON","MATERIALIZED","VIEW"))
2440-
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_matviews,NULL);
2437+
elseif (Matches("COMMENT","ON","CONSTRAINT",MatchAny,"ON","DOMAIN"))
2438+
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_domains,NULL);
24412439
elseif (Matches("COMMENT","ON","EVENT","TRIGGER"))
24422440
COMPLETE_WITH_QUERY(Query_for_list_of_event_triggers);
2441+
elseif (Matches("COMMENT","ON","FOREIGN"))
2442+
COMPLETE_WITH("DATA WRAPPER","TABLE");
2443+
elseif (Matches("COMMENT","ON","FOREIGN","TABLE"))
2444+
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_foreign_tables,NULL);
2445+
elseif (Matches("COMMENT","ON","MATERIALIZED","VIEW"))
2446+
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_matviews,NULL);
2447+
elseif (Matches("COMMENT","ON","POLICY"))
2448+
COMPLETE_WITH_QUERY(Query_for_list_of_policies);
2449+
elseif (Matches("COMMENT","ON","POLICY",MatchAny))
2450+
COMPLETE_WITH("ON");
2451+
elseif (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+
elseif (Matches("COMMENT","ON","PROCEDURAL","LANGUAGE"))
2457+
COMPLETE_WITH_QUERY(Query_for_list_of_languages);
2458+
elseif (Matches("COMMENT","ON","RULE",MatchAny))
2459+
COMPLETE_WITH("ON");
2460+
elseif (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+
elseif (Matches("COMMENT","ON","TEXT","SEARCH"))
2466+
COMPLETE_WITH("CONFIGURATION","DICTIONARY","PARSER","TEMPLATE");
2467+
elseif (Matches("COMMENT","ON","TEXT","SEARCH","CONFIGURATION"))
2468+
COMPLETE_WITH_QUERY(Query_for_list_of_ts_configurations);
2469+
elseif (Matches("COMMENT","ON","TEXT","SEARCH","DICTIONARY"))
2470+
COMPLETE_WITH_QUERY(Query_for_list_of_ts_dictionaries);
2471+
elseif (Matches("COMMENT","ON","TEXT","SEARCH","PARSER"))
2472+
COMPLETE_WITH_QUERY(Query_for_list_of_ts_parsers);
2473+
elseif (Matches("COMMENT","ON","TEXT","SEARCH","TEMPLATE"))
2474+
COMPLETE_WITH_QUERY(Query_for_list_of_ts_templates);
2475+
elseif (Matches("COMMENT","ON","TRANSFORM","FOR"))
2476+
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_datatypes,NULL);
2477+
elseif (Matches("COMMENT","ON","TRANSFORM","FOR",MatchAny))
2478+
COMPLETE_WITH("LANGUAGE");
2479+
elseif (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+
elseif (Matches("COMMENT","ON","TRIGGER",MatchAny))
2485+
COMPLETE_WITH("ON");
2486+
elseif (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
elseif (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

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp