@@ -3773,7 +3773,7 @@ psql_completion(const char *text, int start, int end)
3773
3773
*/
3774
3774
/* Complete GRANT/REVOKE with a list of roles and privileges */
3775
3775
else if (TailMatches ("GRANT|REVOKE" ) ||
3776
- TailMatches ("REVOKE" , "ADMIN|GRANT|INHERIT" , "OPTION" , "FOR" ))
3776
+ TailMatches ("REVOKE" , "ADMIN|GRANT|INHERIT|SET " , "OPTION" , "FOR" ))
3777
3777
{
3778
3778
/*
3779
3779
* With ALTER DEFAULT PRIVILEGES, restrict completion to grantable
@@ -3792,18 +3792,21 @@ psql_completion(const char *text, int start, int end)
3792
3792
Privilege_options_of_grant_and_revoke ,
3793
3793
"GRANT OPTION FOR" ,
3794
3794
"ADMIN OPTION FOR" ,
3795
- "INHERIT OPTION FOR" );
3795
+ "INHERIT OPTION FOR" ,
3796
+ "SET OPTION FOR" );
3796
3797
else if (TailMatches ("REVOKE" , "GRANT" , "OPTION" , "FOR" ))
3797
3798
COMPLETE_WITH (Privilege_options_of_grant_and_revoke );
3798
- else if (TailMatches ("REVOKE" , "ADMIN|INHERIT" , "OPTION" , "FOR" ))
3799
+ else if (TailMatches ("REVOKE" , "ADMIN|INHERIT|SET " , "OPTION" , "FOR" ))
3799
3800
COMPLETE_WITH_QUERY (Query_for_list_of_roles );
3800
3801
}
3801
3802
3802
3803
else if (TailMatches ("GRANT|REVOKE" , "ALTER" ) ||
3803
3804
TailMatches ("REVOKE" , "GRANT" , "OPTION" , "FOR" , "ALTER" ))
3804
3805
COMPLETE_WITH ("SYSTEM" );
3805
3806
3806
- else if (TailMatches ("GRANT|REVOKE" , "SET" ) ||
3807
+ else if (TailMatches ("REVOKE" , "SET" ))
3808
+ COMPLETE_WITH ("ON PARAMETER" , "OPTION FOR" );
3809
+ else if (TailMatches ("GRANT" , "SET" ) ||
3807
3810
TailMatches ("REVOKE" , "GRANT" , "OPTION" , "FOR" , "SET" ) ||
3808
3811
TailMatches ("GRANT|REVOKE" , "ALTER" , "SYSTEM" ) ||
3809
3812
TailMatches ("REVOKE" , "GRANT" , "OPTION" , "FOR" , "ALTER" , "SYSTEM" ))
@@ -3942,14 +3945,16 @@ psql_completion(const char *text, int start, int end)
3942
3945
else if (HeadMatches ("GRANT" ) && TailMatches ("TO" , MatchAny ))
3943
3946
COMPLETE_WITH ("WITH ADMIN" ,
3944
3947
"WITH INHERIT" ,
3948
+ "WITH SET" ,
3945
3949
"WITH GRANT OPTION" ,
3946
3950
"GRANTED BY" );
3947
3951
else if (HeadMatches ("GRANT" ) && TailMatches ("TO" , MatchAny , "WITH" ))
3948
3952
COMPLETE_WITH ("ADMIN" ,
3949
3953
"INHERIT" ,
3954
+ "SET" ,
3950
3955
"GRANT OPTION" );
3951
3956
else if (HeadMatches ("GRANT" ) &&
3952
- (TailMatches ("TO" , MatchAny , "WITH" , "ADMIN|INHERIT" )))
3957
+ (TailMatches ("TO" , MatchAny , "WITH" , "ADMIN|INHERIT|SET " )))
3953
3958
COMPLETE_WITH ("OPTION" , "TRUE" , "FALSE" );
3954
3959
else if (HeadMatches ("GRANT" ) && TailMatches ("TO" , MatchAny , "WITH" , MatchAny , "OPTION" ))
3955
3960
COMPLETE_WITH ("GRANTED BY" );
0 commit comments