Commit 22b2dec3 authored by Michael Paquier's avatar Michael Paquier

Add CURRENT_ROLE to list of roles for tab completion of GRANT in psql

This compatibility has been added in 45b98057, but psql forgot the call.

Author: Wei Wang
Reviewed-by: Aleksander Alekseev
Discussion: https://postgr.es/m/OS3PR01MB6275935F62E161BCD393D6559E489@OS3PR01MB6275.jpnprd01.prod.outlook.com
parent 783be78c
...@@ -764,6 +764,7 @@ static const SchemaQuery Query_for_list_of_collations = { ...@@ -764,6 +764,7 @@ static const SchemaQuery Query_for_list_of_collations = {
" FROM pg_catalog.pg_roles "\ " FROM pg_catalog.pg_roles "\
" WHERE substring(pg_catalog.quote_ident(rolname),1,%d)='%s'"\ " WHERE substring(pg_catalog.quote_ident(rolname),1,%d)='%s'"\
" UNION ALL SELECT 'PUBLIC'"\ " UNION ALL SELECT 'PUBLIC'"\
" UNION ALL SELECT 'CURRENT_ROLE'"\
" UNION ALL SELECT 'CURRENT_USER'"\ " UNION ALL SELECT 'CURRENT_USER'"\
" UNION ALL SELECT 'SESSION_USER'" " UNION ALL SELECT 'SESSION_USER'"
...@@ -3450,7 +3451,7 @@ psql_completion(const char *text, int start, int end) ...@@ -3450,7 +3451,7 @@ psql_completion(const char *text, int start, int end)
/* /*
* Complete "GRANT/REVOKE ... TO/FROM" with username, PUBLIC, * Complete "GRANT/REVOKE ... TO/FROM" with username, PUBLIC,
* CURRENT_USER, or SESSION_USER. * CURRENT_ROLE, CURRENT_USER, or SESSION_USER.
*/ */
else if ((HeadMatches("GRANT") && TailMatches("TO")) || else if ((HeadMatches("GRANT") && TailMatches("TO")) ||
(HeadMatches("REVOKE") && TailMatches("FROM"))) (HeadMatches("REVOKE") && TailMatches("FROM")))
...@@ -3884,6 +3885,7 @@ psql_completion(const char *text, int start, int end) ...@@ -3884,6 +3885,7 @@ psql_completion(const char *text, int start, int end)
COMPLETE_WITH("FOR"); COMPLETE_WITH("FOR");
else if (Matches("CREATE", "USER", "MAPPING", "FOR")) else if (Matches("CREATE", "USER", "MAPPING", "FOR"))
COMPLETE_WITH_QUERY(Query_for_list_of_roles COMPLETE_WITH_QUERY(Query_for_list_of_roles
" UNION SELECT 'CURRENT_ROLE'"
" UNION SELECT 'CURRENT_USER'" " UNION SELECT 'CURRENT_USER'"
" UNION SELECT 'PUBLIC'" " UNION SELECT 'PUBLIC'"
" UNION SELECT 'USER'"); " UNION SELECT 'USER'");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment