Thread

Commits

  1. Add tab completion for ALTER TABLE .. FORCE ROW LEVEL SECURITY in psql

  1. Japin Li <japinli@hotmail.com> — 2020-10-23T05:19:00Z

    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
    
    
  2. Tab complete for alter table rls

    Japin Li <japinli@hotmail.com> — 2020-10-23T05:22:57Z

    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>
    
    
  3. Re: Tab complete for alter table rls

    Michael Paquier <michael@paquier.xyz> — 2020-10-23T07:37:18Z

    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
    
  4. Re: Tab complete for alter table rls

    Michael Paquier <michael@paquier.xyz> — 2020-10-24T01:49:21Z

    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
    
  5. Re: Tab complete for alter table rls

    Japin Li <japinli@hotmail.com> — 2020-10-24T04:09:55Z

    Thanks Michael!
    
    --
    Best regards
    Japin Li
    
    
    
    > 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