[PATCH] Tab completion for SET COMPRESSION
Hi hackers,
The proposed patch adds the missing tab completion for 'ALTER TABLE
... SET COMPRESSION ...' syntax.
--
Best regards,
Aleksander Alekseev
Attachments:
v1-0001-Tab-completion-for-SET-COMPRESSION.patchapplication/octet-stream; name=v1-0001-Tab-completion-for-SET-COMPRESSION.patchDownload
From 0e77dc6b125513668b7a131882bc55aa08d5a3ac Mon Sep 17 00:00:00 2001
From: Aleksander Alekseev <aleksander@timescale.com>
Date: Mon, 22 Aug 2022 15:40:17 +0300
Subject: [PATCH v1] Tab completion for SET COMPRESSION
Add tab completion for 'ALTER TABLE ... SET COMPRESSION ...' syntax.
Author: Aleksander Alekseev <aleksander@timescale.com>
Reviewed-by: TODO FIXME
Discussion: TODO FIXME
---
src/bin/psql/tab-complete.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index 62a39779b9..a7eccc75d2 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -2385,6 +2385,10 @@ psql_completion(const char *text, int start, int end)
else if (Matches("ALTER", "TABLE", MatchAny, "ALTER", "COLUMN", MatchAny, "SET", "(") ||
Matches("ALTER", "TABLE", MatchAny, "ALTER", MatchAny, "SET", "("))
COMPLETE_WITH("n_distinct", "n_distinct_inherited");
+ /* ALTER TABLE ALTER [COLUMN] <foo> SET COMPRESSION */
+ else if (Matches("ALTER", "TABLE", MatchAny, "ALTER", "COLUMN", MatchAny, "SET", "COMPRESSION") ||
+ Matches("ALTER", "TABLE", MatchAny, "ALTER", MatchAny, "SET", "COMPRESSION"))
+ COMPLETE_WITH("DEFAULT", "PGLZ", "LZ4");
/* ALTER TABLE ALTER [COLUMN] <foo> SET STORAGE */
else if (Matches("ALTER", "TABLE", MatchAny, "ALTER", "COLUMN", MatchAny, "SET", "STORAGE") ||
Matches("ALTER", "TABLE", MatchAny, "ALTER", MatchAny, "SET", "STORAGE"))
--
2.37.2
On 2022-08-22 21:48, Aleksander Alekseev wrote:
Hi hackers,
The proposed patch adds the missing tab completion for 'ALTER TABLE
... SET COMPRESSION ...' syntax.
Thanks, LGTM.
In addition, why not take this opportunity to create a tab completion
for "ALTER TABLE <name> OF <type_name>" and "ALTER TABLE <name> NOT OF"?
--
Regards,
--
Shinya Kato
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION
On Tue, Sep 06, 2022 at 09:54:53AM +0900, Shinya Kato wrote:
In addition, why not take this opportunity to create a tab completion for
"ALTER TABLE <name> OF <type_name>" and "ALTER TABLE <name> NOT OF"?
Right. That looks fine to me, so applied.
--
Michael
Hi hackers,
Right. That looks fine to me, so applied.
Thanks, Michael.
In addition, why not take this opportunity to create a tab completion for
"ALTER TABLE <name> OF <type_name>" and "ALTER TABLE <name> NOT OF"?
Thanks for reviewing, Shinya. Let's fix this too. The patch is attached.
--
Best regards,
Aleksander Alekseev
Attachments:
v1-0001-Add-psql-tab-compression-for-OF-NOT-OF-with-ALTER.patchapplication/octet-stream; name=v1-0001-Add-psql-tab-compression-for-OF-NOT-OF-with-ALTER.patchDownload
From 6e1aff811f2a55feab7c99e6d2099205a473785b Mon Sep 17 00:00:00 2001
From: Aleksander Alekseev <aleksander@timescale.com>
Date: Tue, 6 Sep 2022 11:20:17 +0300
Subject: [PATCH v1] Add psql tab compression for OF / NOT OF with ALTER TABLE
Author: Aleksander Alekseev
Reviewed-by: Shinya Kato
Discussion: https://postgr.es/m/CAJ7c6TMuT+=P7uDepjVpdqSEp2xOmXET3Y2K-xWAO=sCz-28gg@mail.gmail.com
---
src/bin/psql/tab-complete.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index a7eccc75d2..8b57eecc48 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -2240,7 +2240,8 @@ psql_completion(const char *text, int start, int end)
"ENABLE", "INHERIT", "NO", "RENAME", "RESET",
"OWNER TO", "SET", "VALIDATE CONSTRAINT",
"REPLICA IDENTITY", "ATTACH PARTITION",
- "DETACH PARTITION", "FORCE ROW LEVEL SECURITY");
+ "DETACH PARTITION", "FORCE ROW LEVEL SECURITY",
+ "OF", "NOT OF");
/* ALTER TABLE xxx ADD */
else if (Matches("ALTER", "TABLE", MatchAny, "ADD"))
{
--
2.37.2
On 2022-09-06 17:28, Aleksander Alekseev wrote:
In addition, why not take this opportunity to create a tab completion
for
"ALTER TABLE <name> OF <type_name>" and "ALTER TABLE <name> NOT OF"?Thanks for reviewing, Shinya. Let's fix this too. The patch is
attached.
Thanks for the new patch!
A minor modification has been made so that the composite type is also
completed after "ALTER TABLE <name> OF".
Thought?
--
Regards,
--
Shinya Kato
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION
Attachments:
v2-0001-Add-psql-tab-compression-for-OF-NOT-OF-with-ALTER.patchtext/x-diff; name=v2-0001-Add-psql-tab-compression-for-OF-NOT-OF-with-ALTER.patchDownload
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index 62a39779b9..053c0ea75c 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -2240,7 +2240,8 @@ psql_completion(const char *text, int start, int end)
"ENABLE", "INHERIT", "NO", "RENAME", "RESET",
"OWNER TO", "SET", "VALIDATE CONSTRAINT",
"REPLICA IDENTITY", "ATTACH PARTITION",
- "DETACH PARTITION", "FORCE ROW LEVEL SECURITY");
+ "DETACH PARTITION", "FORCE ROW LEVEL SECURITY",
+ "OF", "NOT OF");
/* ALTER TABLE xxx ADD */
else if (Matches("ALTER", "TABLE", MatchAny, "ADD"))
{
@@ -2469,6 +2470,10 @@ psql_completion(const char *text, int start, int end)
else if (Matches("ALTER", "TABLE", MatchAny, "DETACH", "PARTITION", MatchAny))
COMPLETE_WITH("CONCURRENTLY", "FINALIZE");
+ /* ALTER TABLE <name> OF */
+ else if (TailMatches("ALTER", "TABLE", MatchAny, "OF"))
+ COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_composite_datatypes);
+
/* ALTER TABLESPACE <foo> with RENAME TO, OWNER TO, SET, RESET */
else if (Matches("ALTER", "TABLESPACE", MatchAny))
COMPLETE_WITH("RENAME TO", "OWNER TO", "SET", "RESET");
Hi Shinya,
A minor modification has been made so that the composite type is also
completed after "ALTER TABLE <name> OF".
LGTM. Here is v3 created with `git format-path`. Unlike v2 it also
includes the commit message.
--
Best regards,
Aleksander Alekseev
Attachments:
v3-0001-Add-psql-tab-compression-for-OF-NOT-OF-with-ALTER.patchapplication/octet-stream; name=v3-0001-Add-psql-tab-compression-for-OF-NOT-OF-with-ALTER.patchDownload
From 34c015c60fd7d6786a928108ce80395eeb7bb525 Mon Sep 17 00:00:00 2001
From: Aleksander Alekseev <aleksander@timescale.com>
Date: Tue, 6 Sep 2022 14:49:04 +0300
Subject: [PATCH v3] Add psql tab compression for OF / NOT OF with ALTER TABLE
Shinya Kato, Aleksander Alekseev
Discussion: https://postgr.es/m/CAJ7c6TMuT+=P7uDepjVpdqSEp2xOmXET3Y2K-xWAO=sCz-28gg@mail.gmail.com
---
src/bin/psql/tab-complete.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index a7eccc75d2..c8f329d765 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -2240,7 +2240,8 @@ psql_completion(const char *text, int start, int end)
"ENABLE", "INHERIT", "NO", "RENAME", "RESET",
"OWNER TO", "SET", "VALIDATE CONSTRAINT",
"REPLICA IDENTITY", "ATTACH PARTITION",
- "DETACH PARTITION", "FORCE ROW LEVEL SECURITY");
+ "DETACH PARTITION", "FORCE ROW LEVEL SECURITY",
+ "OF", "NOT OF");
/* ALTER TABLE xxx ADD */
else if (Matches("ALTER", "TABLE", MatchAny, "ADD"))
{
@@ -2473,6 +2474,10 @@ psql_completion(const char *text, int start, int end)
else if (Matches("ALTER", "TABLE", MatchAny, "DETACH", "PARTITION", MatchAny))
COMPLETE_WITH("CONCURRENTLY", "FINALIZE");
+ /* ALTER TABLE <name> OF */
+ else if (TailMatches("ALTER", "TABLE", MatchAny, "OF"))
+ COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_composite_datatypes);
+
/* ALTER TABLESPACE <foo> with RENAME TO, OWNER TO, SET, RESET */
else if (Matches("ALTER", "TABLESPACE", MatchAny))
COMPLETE_WITH("RENAME TO", "OWNER TO", "SET", "RESET");
--
2.37.2
On 2022-09-06 20:57, Aleksander Alekseev wrote:
Hi Shinya,
A minor modification has been made so that the composite type is also
completed after "ALTER TABLE <name> OF".LGTM. Here is v3 created with `git format-path`. Unlike v2 it also
includes the commit message.
Thanks! I marked it as ready for committer.
--
Regards,
--
Shinya Kato
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION