Add tab completion for ALTER TABLE .. FORCE ROW LEVEL SECURITY in psql
authorMichael Paquier <[email protected]>
Sat, 24 Oct 2020 01:29:55 +0000 (10:29 +0900)
committerMichael Paquier <[email protected]>
Sat, 24 Oct 2020 01:29:55 +0000 (10:29 +0900)
This completes both the FORCE and NO FORCE options, NO INHERIT needing a
small adjustment.

Author: Li Japin
Discussion: https://postgr.es/m/15B10F9F-5847-4F5E-BD66-8E25AA473C95@hotmail.com

src/bin/psql/tab-complete.c

index 561fe1dff93b60df27e3bd3ad47019473e7da72a..b2b4f1fd4d13d99ebfe10a1e5b83201107613da5 100644 (file)
@@ -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, "");