diff options
author | Robert Haas <rhaas@postgresql.org> | 2015-12-10 12:28:46 -0500 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2015-12-10 12:28:46 -0500 |
commit | 8b469bd7c4dc3649c74b746545210b435df319cb (patch) | |
tree | 2bc0ee29309c8e36ed88ef9084a1ca5680384d15 | |
parent | 348bcd864530b4860d0fd0ffe8532f590a5779f7 (diff) | |
download | postgresql-8b469bd7c4dc3649c74b746545210b435df319cb.tar.gz postgresql-8b469bd7c4dc3649c74b746545210b435df319cb.zip |
Improve ALTER POLICY tab completion.
Complete "ALTER POLICY" with a policy name, as we do for DROP POLICY.
And, complete "ALTER POLICY polname ON" with a table name that has such
a policy, as we do for DROP POLICY, rather than with any table name
at all.
Masahiko Sawada
-rw-r--r-- | src/bin/psql/tab-complete.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index b58ec14418f..8c4888119d8 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -1459,6 +1459,10 @@ psql_completion(const char *text, int start, int end) COMPLETE_WITH_LIST(list_ALTERMATVIEW); } + /* ALTER POLICY <name> */ + else if (pg_strcasecmp(prev2_wd, "ALTER") == 0 && + pg_strcasecmp(prev_wd, "POLICY") == 0) + COMPLETE_WITH_QUERY(Query_for_list_of_policies); /* ALTER POLICY <name> ON */ else if (pg_strcasecmp(prev3_wd, "ALTER") == 0 && pg_strcasecmp(prev2_wd, "POLICY") == 0) @@ -1467,7 +1471,10 @@ psql_completion(const char *text, int start, int end) else if (pg_strcasecmp(prev4_wd, "ALTER") == 0 && pg_strcasecmp(prev3_wd, "POLICY") == 0 && pg_strcasecmp(prev_wd, "ON") == 0) - COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL); + { + completion_info_charp = prev2_wd; + COMPLETE_WITH_QUERY(Query_for_list_of_tables_for_policy); + } /* ALTER POLICY <name> ON <table> - show options */ else if (pg_strcasecmp(prev5_wd, "ALTER") == 0 && pg_strcasecmp(prev4_wd, "POLICY") == 0 && |