Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit304b6b1

Browse files
Add more tab completion support for ALTER DEFAULT PRIVILEGES in psql.
This adds tab completion of "GRANT" and "REVOKE [GRANT OPTION FOR]"for ALTER DEFAULT PRIVILEGES, and adds "WITH GRANT OPTION" forALTER DEFAULT PRIVILEGES ... GRANT ... TO role.Author: Vignesh C, with cosmetic adjustments by meReviewed-by: Shubham Khanna, Masahiko SawadaDiscussion:https://postgr.es/m/CALDaNm1aEdJb-QJi%3DGWStkfj_%2BEDUK_VtDkn%2BTjQ2z7HyU0MBw%40mail.gmail.com
1 parent3b08133 commit304b6b1

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

‎src/bin/psql/tab-complete.c

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2147,7 +2147,7 @@ psql_completion(const char *text, int start, int end)
21472147

21482148
/* ALTER DEFAULT PRIVILEGES */
21492149
elseif (Matches("ALTER","DEFAULT","PRIVILEGES"))
2150-
COMPLETE_WITH("FOR ROLE","IN SCHEMA");
2150+
COMPLETE_WITH("FOR","GRANT","IN SCHEMA","REVOKE");
21512151
/* ALTER DEFAULT PRIVILEGES FOR */
21522152
elseif (Matches("ALTER","DEFAULT","PRIVILEGES","FOR"))
21532153
COMPLETE_WITH("ROLE");
@@ -3949,9 +3949,18 @@ psql_completion(const char *text, int start, int end)
39493949
* privileges (can't grant roles)
39503950
*/
39513951
if (HeadMatches("ALTER","DEFAULT","PRIVILEGES"))
3952-
COMPLETE_WITH("SELECT","INSERT","UPDATE",
3953-
"DELETE","TRUNCATE","REFERENCES","TRIGGER",
3954-
"CREATE","EXECUTE","USAGE","MAINTAIN","ALL");
3952+
{
3953+
if (TailMatches("GRANT")||
3954+
TailMatches("REVOKE","GRANT","OPTION","FOR"))
3955+
COMPLETE_WITH("SELECT","INSERT","UPDATE",
3956+
"DELETE","TRUNCATE","REFERENCES","TRIGGER",
3957+
"CREATE","EXECUTE","USAGE","MAINTAIN","ALL");
3958+
elseif (TailMatches("REVOKE"))
3959+
COMPLETE_WITH("SELECT","INSERT","UPDATE",
3960+
"DELETE","TRUNCATE","REFERENCES","TRIGGER",
3961+
"CREATE","EXECUTE","USAGE","MAINTAIN","ALL",
3962+
"GRANT OPTION FOR");
3963+
}
39553964
elseif (TailMatches("GRANT"))
39563965
COMPLETE_WITH_QUERY_PLUS(Query_for_list_of_roles,
39573966
Privilege_options_of_grant_and_revoke);
@@ -4133,6 +4142,9 @@ psql_completion(const char *text, int start, int end)
41334142
elseif (HeadMatches("ALTER","DEFAULT","PRIVILEGES")&&TailMatches("TO|FROM"))
41344143
COMPLETE_WITH_QUERY_PLUS(Query_for_list_of_roles,
41354144
Keywords_for_list_of_grant_roles);
4145+
/* Offer WITH GRANT OPTION after that */
4146+
elseif (HeadMatches("ALTER","DEFAULT","PRIVILEGES")&&TailMatches("TO",MatchAny))
4147+
COMPLETE_WITH("WITH GRANT OPTION");
41364148
/* Complete "GRANT/REVOKE ... ON * *" with TO/FROM */
41374149
elseif (HeadMatches("GRANT")&&TailMatches("ON",MatchAny,MatchAny))
41384150
COMPLETE_WITH("TO");

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp