]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Improve tab-completion for CREATE PUBLICATION.
authorFujii Masao <fujii@postgresql.org>
Wed, 1 Sep 2021 13:01:15 +0000 (22:01 +0900)
committerFujii Masao <fujii@postgresql.org>
Wed, 1 Sep 2021 13:01:15 +0000 (22:01 +0900)
Author: Peter Smith
Reviewed-by: Vignesh C
Discussion: https://postgr.es/m/CAHut+Ps-vkmnWAShWSRVCB3gx8aM=bFoDqWgBNTzofK0q1LpwA@mail.gmail.com

src/bin/psql/tab-complete.c

index 76462412db59a403d446c28ea7594dadef958640..75b867685a6524c318f452d4056eb571a03fb410 100644 (file)
@@ -2691,8 +2691,13 @@ psql_completion(const char *text, int start, int end)
                COMPLETE_WITH("FOR TABLE", "FOR ALL TABLES", "WITH (");
        else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR"))
                COMPLETE_WITH("TABLE", "ALL TABLES");
-       /* Complete "CREATE PUBLICATION <name> FOR TABLE <table>, ..." */
-       else if (HeadMatches("CREATE", "PUBLICATION", MatchAny, "FOR", "TABLE"))
+       else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "ALL"))
+               COMPLETE_WITH("TABLES");
+       else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "ALL", "TABLES")
+                        || Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "TABLE", MatchAny))
+               COMPLETE_WITH("WITH (");
+       /* Complete "CREATE PUBLICATION <name> FOR TABLE" with "<table>, ..." */
+       else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "TABLE"))
                COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
        /* Complete "CREATE PUBLICATION <name> [...] WITH" */
        else if (HeadMatches("CREATE", "PUBLICATION") && TailMatches("WITH", "("))