From a5dbaa22d0c9c5d56d7fd56b956acd0a2ace035b Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Wed, 15 Sep 2021 16:40:39 +1000 Subject: [PATCH v29] PS - Add tab auto-complete support for the Row Filter WHERE. Following auto-completes are added: Complete "CREATE PUBLICATION FOR TABLE " with "WHERE (". Complete "ALTER PUBLICATION ADD TABLE " with "WHERE (". Complete "ALTER PUBLICATION SET TABLE " with "WHERE (". --- src/bin/psql/tab-complete.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index 5cd5838..8686ec6 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -1648,6 +1648,11 @@ psql_completion(const char *text, int start, int end) /* ALTER PUBLICATION SET */ else if (Matches("ALTER", "PUBLICATION", MatchAny, "SET")) COMPLETE_WITH("(", "TABLE"); + /* ALTER PUBLICATION SET TABLE */ + /* ALTER PUBLICATION ADD TABLE */ + else if (Matches("ALTER", "PUBLICATION", MatchAny, "SET", "TABLE", MatchAny) + || Matches("ALTER", "PUBLICATION", MatchAny, "ADD", "TABLE", MatchAny)) + COMPLETE_WITH("WHERE ("); /* ALTER PUBLICATION SET ( */ else if (HeadMatches("ALTER", "PUBLICATION", MatchAny) && TailMatches("SET", "(")) COMPLETE_WITH("publish", "publish_via_partition_root"); @@ -2693,9 +2698,10 @@ psql_completion(const char *text, int start, int end) COMPLETE_WITH("TABLE", "ALL TABLES"); 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)) + else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "ALL", "TABLES")) COMPLETE_WITH("WITH ("); + else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "TABLE", MatchAny)) + COMPLETE_WITH("WHERE (", "WITH ("); /* Complete "CREATE PUBLICATION FOR TABLE" with ", ..." */ else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "TABLE")) COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL); -- 1.8.3.1