Fix tab-completion of ALTER SUBSCRIPTION SET PUBLICATION
Hi,
Attached patch for $subject.
With this patch, ALTER SUBSCRIPTION <sub> SET PUBLICATION <pub> [TAB]
completes with "REFRESH" and "SKIP REFRESH".
Specifying either REFRESH or SKIP REFRESH is mandatory after ALTER
SUBSCRIPTION SET PUBLICATION, so i think it's good to add this.
Regards,
--
Masahiko Sawada
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center
Attachments:
fix_ALTER_SUB_tab_completion.patchapplication/octet-stream; name=fix_ALTER_SUB_tab_completion.patchDownload
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index d4b6976..3542855 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -1579,6 +1579,11 @@ psql_completion(const char *text, int start, int end)
{
/* complete with nothing here as this refers to remote publications */
}
+ /* ALTER SUBSCRIPTION <name> SET PUBLICATION <name> */
+ else if (HeadMatches3("ALTER", "SUBSCRIPTION", MatchAny) && TailMatches3("SET", "PUBLICATION", MatchAny))
+ {
+ COMPLETE_WITH_LIST2("REFRESH", "SKIP REFRESH");
+ }
/* ALTER SCHEMA <name> */
else if (Matches3("ALTER", "SCHEMA", MatchAny))
COMPLETE_WITH_LIST2("OWNER TO", "RENAME TO");
On 6/6/17 04:17, Masahiko Sawada wrote:
With this patch, ALTER SUBSCRIPTION <sub> SET PUBLICATION <pub> [TAB]
completes with "REFRESH" and "SKIP REFRESH".
Specifying either REFRESH or SKIP REFRESH is mandatory after ALTER
SUBSCRIPTION SET PUBLICATION, so i think it's good to add this.
That syntax does not exist anymore.
You could add support for the new WITH () syntax.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
On Wed, Jun 7, 2017 at 12:41 PM, Peter Eisentraut
<peter.eisentraut@2ndquadrant.com> wrote:
On 6/6/17 04:17, Masahiko Sawada wrote:
With this patch, ALTER SUBSCRIPTION <sub> SET PUBLICATION <pub> [TAB]
completes with "REFRESH" and "SKIP REFRESH".
Specifying either REFRESH or SKIP REFRESH is mandatory after ALTER
SUBSCRIPTION SET PUBLICATION, so i think it's good to add this.That syntax does not exist anymore.
You could add support for the new WITH () syntax.
Sorry, I missed it.
Attached updated version patch adds WITH() syntax.
Regards,
--
Masahiko Sawada
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center
Attachments:
fix_ALTER_SUB_tab_completion_v2.patchapplication/octet-stream; name=fix_ALTER_SUB_tab_completion_v2.patchDownload
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index d4b6976..e5f81e4 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -1579,6 +1579,18 @@ psql_completion(const char *text, int start, int end)
{
/* complete with nothing here as this refers to remote publications */
}
+ /* ALTER SUBSCRIPTION <name> SET PUBLICATION <name> */
+ else if (HeadMatches3("ALTER", "SUBSCRIPTION", MatchAny) &&
+ TailMatches3("SET", "PUBLICATION", MatchAny))
+ {
+ COMPLETE_WITH_CONST("WITH (");
+ }
+ /* ALTER SUBSCRIPTION <name> SET PUBLICATION <name> WITH ( */
+ else if (HeadMatches3("ALTER", "SUBSCRIPTION", MatchAny) &&
+ TailMatches5("SET", "PUBLICATION", MatchAny, "WITH", "("))
+ {
+ COMPLETE_WITH_CONST("refresh");
+ }
/* ALTER SCHEMA <name> */
else if (Matches3("ALTER", "SCHEMA", MatchAny))
COMPLETE_WITH_LIST2("OWNER TO", "RENAME TO");
On 6/6/17 23:52, Masahiko Sawada wrote:
On Wed, Jun 7, 2017 at 12:41 PM, Peter Eisentraut
<peter.eisentraut@2ndquadrant.com> wrote:On 6/6/17 04:17, Masahiko Sawada wrote:
With this patch, ALTER SUBSCRIPTION <sub> SET PUBLICATION <pub> [TAB]
completes with "REFRESH" and "SKIP REFRESH".
Specifying either REFRESH or SKIP REFRESH is mandatory after ALTER
SUBSCRIPTION SET PUBLICATION, so i think it's good to add this.That syntax does not exist anymore.
You could add support for the new WITH () syntax.
Sorry, I missed it.
Attached updated version patch adds WITH() syntax.
Committed, with the addition of the copy_data option.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers