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

Commitc525f74

Browse files
committed
Improve tab-completion of DDL for publication and subscription.
Author: Masahiko SawadaDiscussion:http://postgr.es/m/CAD21AoC32YgtateNqTFXzTJmHHe6hXs4cpJTND3n-Ts8f-aMqw@mail.gmail.com
1 parent4a8bc39 commitc525f74

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

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

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1501,7 +1501,7 @@ psql_completion(const char *text, int start, int end)
15011501
/* ALTER PUBLICATION <name> ...*/
15021502
elseif (Matches3("ALTER","PUBLICATION",MatchAny))
15031503
{
1504-
COMPLETE_WITH_LIST6("WITH","ADD TABLE","SET TABLE","DROP TABLE",
1504+
COMPLETE_WITH_LIST6("WITH (","ADD TABLE","SET TABLE","DROP TABLE",
15051505
"OWNER TO","RENAME TO");
15061506
}
15071507
/* ALTER PUBLICATION <name> .. WITH ( ... */
@@ -1513,9 +1513,16 @@ psql_completion(const char *text, int start, int end)
15131513
/* ALTER SUBSCRIPTION <name> ... */
15141514
elseif (Matches3("ALTER","SUBSCRIPTION",MatchAny))
15151515
{
1516-
COMPLETE_WITH_LIST7("WITH","CONNECTION","SET PUBLICATION","ENABLE",
1517-
"DISABLE","OWNER TO","RENAME TO");
1516+
COMPLETE_WITH_LIST8("WITH (","CONNECTION","SET PUBLICATION","ENABLE",
1517+
"DISABLE","OWNER TO","RENAME TO","REFRESH PUBLICATION WITH (");
15181518
}
1519+
/* ALTER SUBSCRIPTION <name> REFRESH PUBLICATION WITH ( ... */
1520+
elseif (HeadMatches3("ALTER","SUBSCRIPTION",MatchAny)&&
1521+
TailMatches4("REFRESH","PUBLICATION","WITH","("))
1522+
{
1523+
COMPLETE_WITH_LIST2("COPY DATA","NOCOPY DATA");
1524+
}
1525+
/* ALTER SUBSCRIPTION <name> .. WITH ( ... */
15191526
elseif (HeadMatches3("ALTER","SUBSCRIPTION",MatchAny)&&TailMatches2("WITH","("))
15201527
{
15211528
COMPLETE_WITH_CONST("SLOT NAME");
@@ -2419,10 +2426,13 @@ psql_completion(const char *text, int start, int end)
24192426
{
24202427
/* complete with nothing here as this refers to remote publications */
24212428
}
2429+
elseif (HeadMatches2("CREATE","SUBSCRIPTION")&&TailMatches2("PUBLICATION",MatchAny))
2430+
COMPLETE_WITH_CONST("WITH (");
24222431
/* Complete "CREATE SUBSCRIPTION <name> ... WITH ( <opt>" */
24232432
elseif (HeadMatches2("CREATE","SUBSCRIPTION")&&TailMatches2("WITH","("))
2424-
COMPLETE_WITH_LIST5("ENABLED","DISABLED","CREATE SLOT",
2425-
"NOCREATE SLOT","SLOT NAME");
2433+
COMPLETE_WITH_LIST8("ENABLED","DISABLED","CREATE SLOT",
2434+
"NOCREATE SLOT","SLOT NAME","COPY DATA","NOCOPY DATA",
2435+
"NOCONNECT");
24262436

24272437
/* CREATE TRIGGER --- is allowed inside CREATE SCHEMA, so use TailMatches */
24282438
/* complete CREATE TRIGGER <name> with BEFORE,AFTER,INSTEAD OF */
@@ -2681,6 +2691,10 @@ psql_completion(const char *text, int start, int end)
26812691
elseif (Matches5("DROP","RULE",MatchAny,"ON",MatchAny))
26822692
COMPLETE_WITH_LIST2("CASCADE","RESTRICT");
26832693

2694+
/* DROP SUBSCRIPTION */
2695+
elseif (Matches3("DROP","SUBSCRIPTION",MatchAny))
2696+
COMPLETE_WITH_LIST2("DROP SLOT","NODROP SLOT");
2697+
26842698
/* EXECUTE */
26852699
elseif (Matches1("EXECUTE"))
26862700
COMPLETE_WITH_QUERY(Query_for_list_of_prepared_statements);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp