v31-0002-PS-Add-tab-auto-complete-support-for-the-Row-Fil.patch
application/octet-stream
Filename: v31-0002-PS-Add-tab-auto-complete-support-for-the-Row-Fil.patch
Type: application/octet-stream
Part: 2
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch v31-0002
Subject: PS - Add tab auto-complete support for the Row Filter WHERE.
| File | + | − |
|---|---|---|
| src/bin/psql/tab-complete.c | 8 | 2 |
From 2961710963d3cc69e3a6b4723528b1c96bc481ae Mon Sep 17 00:00:00 2001
From: Ajin Cherian <ajinc@fast.au.fujitsu.com>
Date: Wed, 6 Oct 2021 00:29:44 -0400
Subject: [PATCH v31] PS - Add tab auto-complete support for the Row Filter
WHERE.
Following auto-completes are added:
Complete "CREATE PUBLICATION <name> FOR TABLE <name>" with "WHERE (".
Complete "ALTER PUBLICATION <name> ADD TABLE <name>" with "WHERE (".
Complete "ALTER PUBLICATION <name> SET TABLE <name>" 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 ecae9df..bd35d19 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 <name> SET */
else if (Matches("ALTER", "PUBLICATION", MatchAny, "SET"))
COMPLETE_WITH("(", "TABLE");
+ /* ALTER PUBLICATION <name> SET TABLE <name> */
+ /* ALTER PUBLICATION <name> ADD TABLE <name> */
+ else if (Matches("ALTER", "PUBLICATION", MatchAny, "SET", "TABLE", MatchAny)
+ || Matches("ALTER", "PUBLICATION", MatchAny, "ADD", "TABLE", MatchAny))
+ COMPLETE_WITH("WHERE (");
/* ALTER PUBLICATION <name> 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 <name> FOR TABLE" with "<table>, ..." */
else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "TABLE"))
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
--
1.8.3.1