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

Commit0cd6d3b

Browse files
committed
Improve psql tab completion for transforms, domains and sequences
The following improvements are done:- Addition of some tab completion for CREATE DOMAIN.- Addition of some tab completion for CREATE TRANSFORM.- Addition of type completion for CREATE SEQUENCE AS.Author: Ken KatoReviewed-by: Kyotaro Horiguchi, Michael PaquierDiscussion:https://postgr.es/m/8d370135aef066659eef8e8fbfa6315b@oss.nttdata.com
1 parent276517a commit0cd6d3b

File tree

1 file changed

+33
-2
lines changed

1 file changed

+33
-2
lines changed

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

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2582,6 +2582,17 @@ psql_completion(const char *text, int start, int end)
25822582
elseif (Matches("CREATE","DATABASE",MatchAny,"TEMPLATE"))
25832583
COMPLETE_WITH_QUERY(Query_for_list_of_template_databases);
25842584

2585+
/* CREATE DOMAIN */
2586+
elseif (Matches("CREATE","DOMAIN",MatchAny))
2587+
COMPLETE_WITH("AS");
2588+
elseif (Matches("CREATE","DOMAIN",MatchAny,"AS"))
2589+
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_datatypes,NULL);
2590+
elseif (Matches("CREATE","DOMAIN",MatchAny,"AS",MatchAny))
2591+
COMPLETE_WITH("COLLATE","DEFAULT","CONSTRAINT",
2592+
"NOT NULL","NULL","CHECK (");
2593+
elseif (Matches("CREATE","DOMAIN",MatchAny,"COLLATE"))
2594+
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_collations,NULL);
2595+
25852596
/* CREATE EXTENSION */
25862597
/* Complete with available extensions rather than installed ones. */
25872598
elseif (Matches("CREATE","EXTENSION"))
@@ -2805,8 +2816,11 @@ psql_completion(const char *text, int start, int end)
28052816
/* CREATE SEQUENCE --- is allowed inside CREATE SCHEMA, so use TailMatches */
28062817
elseif (TailMatches("CREATE","SEQUENCE",MatchAny)||
28072818
TailMatches("CREATE","TEMP|TEMPORARY","SEQUENCE",MatchAny))
2808-
COMPLETE_WITH("INCREMENT BY","MINVALUE","MAXVALUE","NO","CACHE",
2809-
"CYCLE","OWNED BY","START WITH");
2819+
COMPLETE_WITH("AS","INCREMENT BY","MINVALUE","MAXVALUE","NO",
2820+
"CACHE","CYCLE","OWNED BY","START WITH");
2821+
elseif (TailMatches("CREATE","SEQUENCE",MatchAny,"AS")||
2822+
TailMatches("CREATE","TEMP|TEMPORARY","SEQUENCE",MatchAny,"AS"))
2823+
COMPLETE_WITH_CS("smallint","integer","bigint");
28102824
elseif (TailMatches("CREATE","SEQUENCE",MatchAny,"NO")||
28112825
TailMatches("CREATE","TEMP|TEMPORARY","SEQUENCE",MatchAny,"NO"))
28122826
COMPLETE_WITH("MINVALUE","MAXVALUE","CYCLE");
@@ -2882,6 +2896,23 @@ psql_completion(const char *text, int start, int end)
28822896
elseif (Matches("CREATE","TEXT","SEARCH","CONFIGURATION|DICTIONARY|PARSER|TEMPLATE",MatchAny))
28832897
COMPLETE_WITH("(");
28842898

2899+
/* CREATE TRANSFORM */
2900+
elseif (Matches("CREATE","TRANSFORM")||
2901+
Matches("CREATE","OR","REPLACE","TRANSFORM"))
2902+
COMPLETE_WITH("FOR");
2903+
elseif (Matches("CREATE","TRANSFORM","FOR")||
2904+
Matches("CREATE","OR","REPLACE","TRANSFORM","FOR"))
2905+
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_datatypes,NULL);
2906+
elseif (Matches("CREATE","TRANSFORM","FOR",MatchAny)||
2907+
Matches("CREATE","OR","REPLACE","TRANSFORM","FOR",MatchAny))
2908+
COMPLETE_WITH("LANGUAGE");
2909+
elseif (Matches("CREATE","TRANSFORM","FOR",MatchAny,"LANGUAGE")||
2910+
Matches("CREATE","OR","REPLACE","TRANSFORM","FOR",MatchAny,"LANGUAGE"))
2911+
{
2912+
completion_info_charp=prev2_wd;
2913+
COMPLETE_WITH_QUERY(Query_for_list_of_languages);
2914+
}
2915+
28852916
/* CREATE SUBSCRIPTION */
28862917
elseif (Matches("CREATE","SUBSCRIPTION",MatchAny))
28872918
COMPLETE_WITH("CONNECTION");

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp