No title

Started by Li Japinabout 5 years ago5 messages
#1Li Japin
japinli@hotmail.com
1 attachment(s)

Hi, hackers

I find that ALTER TABLE xxx FORCE/NO FORCE ROW LEVEL SECURITY cannot support tab complete.
The attached add the tab complete for rls.

diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index 561fe1dff9..b2b4f1fd4d 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -1974,10 +1974,10 @@ psql_completion(const char *text, int start, int end)
  */
  else if (Matches("ALTER", "TABLE", MatchAny))
  COMPLETE_WITH("ADD", "ALTER", "CLUSTER ON", "DISABLE", "DROP",
-  "ENABLE", "INHERIT", "NO INHERIT", "RENAME", "RESET",
+  "ENABLE", "INHERIT", "NO", "RENAME", "RESET",
   "OWNER TO", "SET", "VALIDATE CONSTRAINT",
   "REPLICA IDENTITY", "ATTACH PARTITION",
-  "DETACH PARTITION");
+  "DETACH PARTITION", "FORCE ROW LEVEL SECURITY");
  /* ALTER TABLE xxx ENABLE */
  else if (Matches("ALTER", "TABLE", MatchAny, "ENABLE"))
  COMPLETE_WITH("ALWAYS", "REPLICA", "ROW LEVEL SECURITY", "RULE",
@@ -2007,6 +2007,9 @@ psql_completion(const char *text, int start, int end)
  /* ALTER TABLE xxx INHERIT */
  else if (Matches("ALTER", "TABLE", MatchAny, "INHERIT"))
  COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, "");
+ /* ALTER TABLE xxx NO */
+ else if (Matches("ALTER", "TABLE", MatchAny, "NO"))
+ COMPLETE_WITH("FORCE ROW LEVEL SECURITY", "INHERIT");
  /* ALTER TABLE xxx NO INHERIT */
  else if (Matches("ALTER", "TABLE", MatchAny, "NO", "INHERIT"))
  COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, "”);

Best regards.

--
ChengDu WenWu Information Technology Co,Ltd.
Japin Li

Attachments:

0001-Add-tab-complete-for-alter-table-rls.patchapplication/octet-stream; name=0001-Add-tab-complete-for-alter-table-rls.patchDownload
From 3099f42d2ffae87af94b61d68a30d63f2e53d55c Mon Sep 17 00:00:00 2001
From: Japin Li <jianping.li@ww-it.cn>
Date: Fri, 23 Oct 2020 13:07:22 +0800
Subject: [PATCH 1/1] Add tab complete for alter table rls

---
 src/bin/psql/tab-complete.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index 561fe1dff9..b2b4f1fd4d 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -1974,10 +1974,10 @@ psql_completion(const char *text, int start, int end)
 	 */
 	else if (Matches("ALTER", "TABLE", MatchAny))
 		COMPLETE_WITH("ADD", "ALTER", "CLUSTER ON", "DISABLE", "DROP",
-					  "ENABLE", "INHERIT", "NO INHERIT", "RENAME", "RESET",
+					  "ENABLE", "INHERIT", "NO", "RENAME", "RESET",
 					  "OWNER TO", "SET", "VALIDATE CONSTRAINT",
 					  "REPLICA IDENTITY", "ATTACH PARTITION",
-					  "DETACH PARTITION");
+					  "DETACH PARTITION", "FORCE ROW LEVEL SECURITY");
 	/* ALTER TABLE xxx ENABLE */
 	else if (Matches("ALTER", "TABLE", MatchAny, "ENABLE"))
 		COMPLETE_WITH("ALWAYS", "REPLICA", "ROW LEVEL SECURITY", "RULE",
@@ -2007,6 +2007,9 @@ psql_completion(const char *text, int start, int end)
 	/* ALTER TABLE xxx INHERIT */
 	else if (Matches("ALTER", "TABLE", MatchAny, "INHERIT"))
 		COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, "");
+	/* ALTER TABLE xxx NO */
+	else if (Matches("ALTER", "TABLE", MatchAny, "NO"))
+		COMPLETE_WITH("FORCE ROW LEVEL SECURITY", "INHERIT");
 	/* ALTER TABLE xxx NO INHERIT */
 	else if (Matches("ALTER", "TABLE", MatchAny, "NO", "INHERIT"))
 		COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, "");
-- 
2.28.0

#2Li Japin
japinli@hotmail.com
In reply to: Li Japin (#1)
Tab complete for alter table rls

Sorry, I forgot add the subject.

--
Best regards
Japin Li

On Oct 23, 2020, at 1:19 PM, Li Japin <japinli@hotmail.com<mailto:japinli@hotmail.com>> wrote:

Hi, hackers

I find that ALTER TABLE xxx FORCE/NO FORCE ROW LEVEL SECURITY cannot support tab complete.
The attached add the tab complete for rls.

diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index 561fe1dff9..b2b4f1fd4d 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -1974,10 +1974,10 @@ psql_completion(const char *text, int start, int end)
  */
  else if (Matches("ALTER", "TABLE", MatchAny))
  COMPLETE_WITH("ADD", "ALTER", "CLUSTER ON", "DISABLE", "DROP",
-  "ENABLE", "INHERIT", "NO INHERIT", "RENAME", "RESET",
+  "ENABLE", "INHERIT", "NO", "RENAME", "RESET",
   "OWNER TO", "SET", "VALIDATE CONSTRAINT",
   "REPLICA IDENTITY", "ATTACH PARTITION",
-  "DETACH PARTITION");
+  "DETACH PARTITION", "FORCE ROW LEVEL SECURITY");
  /* ALTER TABLE xxx ENABLE */
  else if (Matches("ALTER", "TABLE", MatchAny, "ENABLE"))
  COMPLETE_WITH("ALWAYS", "REPLICA", "ROW LEVEL SECURITY", "RULE",
@@ -2007,6 +2007,9 @@ psql_completion(const char *text, int start, int end)
  /* ALTER TABLE xxx INHERIT */
  else if (Matches("ALTER", "TABLE", MatchAny, "INHERIT"))
  COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, "");
+ /* ALTER TABLE xxx NO */
+ else if (Matches("ALTER", "TABLE", MatchAny, "NO"))
+ COMPLETE_WITH("FORCE ROW LEVEL SECURITY", "INHERIT");
  /* ALTER TABLE xxx NO INHERIT */
  else if (Matches("ALTER", "TABLE", MatchAny, "NO", "INHERIT"))
  COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, "”);

Best regards.

--
ChengDu WenWu Information Technology Co,Ltd.
Japin Li

<0001-Add-tab-complete-for-alter-table-rls.patch>

#3Michael Paquier
michael@paquier.xyz
In reply to: Li Japin (#2)
Re: Tab complete for alter table rls

On Fri, Oct 23, 2020 at 05:22:57AM +0000, Li Japin wrote:

Sorry, I forgot add the subject.

No worries. Good catch. I'll try to test that and apply it later,
but by reading the code it looks like you got that right.
--
Michael

#4Michael Paquier
michael@paquier.xyz
In reply to: Michael Paquier (#3)
Re: Tab complete for alter table rls

On Fri, Oct 23, 2020 at 04:37:18PM +0900, Michael Paquier wrote:

No worries. Good catch. I'll try to test that and apply it later,
but by reading the code it looks like you got that right.

Checked and applied on HEAD, thanks!
--
Michael

#5Li Japin
japinli@hotmail.com
In reply to: Michael Paquier (#4)
Re: Tab complete for alter table rls

Thanks Michael!

--
Best regards
Japin Li

Show quoted text

On Oct 24, 2020, at 9:49 AM, Michael Paquier <michael@paquier.xyz> wrote:

On Fri, Oct 23, 2020 at 04:37:18PM +0900, Michael Paquier wrote:

No worries. Good catch. I'll try to test that and apply it later,
but by reading the code it looks like you got that right.

Checked and applied on HEAD, thanks!
--
Michael