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

Commit9c40543

Browse files
committed
psql tab completion for ALTER DEFAULT PRIVILEGES and USER MAPPING FOR PUBLIC.
1 parent1a8957a commit9c40543

File tree

1 file changed

+38
-3
lines changed

1 file changed

+38
-3
lines changed

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

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*
44
* Copyright (c) 2000-2010, PostgreSQL Global Development Group
55
*
6-
* $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.197 2010/04/05 05:33:24 itagaki Exp $
6+
* $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.198 2010/04/07 03:51:19 itagaki Exp $
77
*/
88

99
/*----------------------------------------------------------------------
@@ -700,7 +700,7 @@ psql_completion(char *text, int start, int end)
700700
pg_strcasecmp(prev3_wd,"TABLE")!=0)
701701
{
702702
staticconstchar*constlist_ALTER[]=
703-
{"AGGREGATE","CONVERSION","DATABASE","DOMAIN","FOREIGN DATA WRAPPER","FUNCTION",
703+
{"AGGREGATE","CONVERSION","DATABASE","DEFAULT PRIVILEGES","DOMAIN","FOREIGN DATA WRAPPER","FUNCTION",
704704
"GROUP","INDEX","LANGUAGE","LARGE OBJECT","OPERATOR","ROLE","SCHEMA","SERVER","SEQUENCE","TABLE",
705705
"TABLESPACE","TEXT SEARCH","TRIGGER","TYPE","USER","USER MAPPING FOR","VIEW",NULL};
706706

@@ -846,6 +846,38 @@ psql_completion(char *text, int start, int end)
846846
{
847847
COMPLETE_WITH_CONST("PASSWORD");
848848
}
849+
/* ALTER DEFAULT PRIVILEGES */
850+
elseif (pg_strcasecmp(prev3_wd,"ALTER")==0&&
851+
pg_strcasecmp(prev2_wd,"DEFAULT")==0&&
852+
pg_strcasecmp(prev_wd,"PRIVILEGES")==0)
853+
{
854+
staticconstchar*constlist_ALTER_DEFAULT_PRIVILEGES[]=
855+
{"FOR ROLE","FOR USER","IN SCHEMA",NULL};
856+
857+
COMPLETE_WITH_LIST(list_ALTER_DEFAULT_PRIVILEGES);
858+
}
859+
/* ALTER DEFAULT PRIVILEGES FOR */
860+
elseif (pg_strcasecmp(prev4_wd,"ALTER")==0&&
861+
pg_strcasecmp(prev3_wd,"DEFAULT")==0&&
862+
pg_strcasecmp(prev2_wd,"PRIVILEGES")==0&&
863+
pg_strcasecmp(prev_wd,"FOR")==0)
864+
{
865+
staticconstchar*constlist_ALTER_DEFAULT_PRIVILEGES_FOR[]=
866+
{"ROLE","USER",NULL};
867+
868+
COMPLETE_WITH_LIST(list_ALTER_DEFAULT_PRIVILEGES_FOR);
869+
}
870+
/* ALTER DEFAULT PRIVILEGES { FOR ROLE ... | IN SCHEMA ... } */
871+
elseif (pg_strcasecmp(prev5_wd,"DEFAULT")==0&&
872+
pg_strcasecmp(prev4_wd,"PRIVILEGES")==0&&
873+
(pg_strcasecmp(prev3_wd,"FOR")==0||
874+
pg_strcasecmp(prev3_wd,"IN")==0))
875+
{
876+
staticconstchar*constlist_ALTER_DEFAULT_PRIVILEGES_REST[]=
877+
{"GRANT","REVOKE",NULL};
878+
879+
COMPLETE_WITH_LIST(list_ALTER_DEFAULT_PRIVILEGES_REST);
880+
}
849881
/* ALTER DOMAIN <name> */
850882
elseif (pg_strcasecmp(prev3_wd,"ALTER")==0&&
851883
pg_strcasecmp(prev2_wd,"DOMAIN")==0)
@@ -2336,7 +2368,10 @@ psql_completion(char *text, int start, int end)
23362368
pg_strcasecmp(prev3_wd,"USER")==0&&
23372369
pg_strcasecmp(prev2_wd,"MAPPING")==0&&
23382370
pg_strcasecmp(prev_wd,"FOR")==0)
2339-
COMPLETE_WITH_QUERY(Query_for_list_of_roles);
2371+
COMPLETE_WITH_QUERY(Query_for_list_of_roles
2372+
" UNION SELECT 'CURRENT_USER'"
2373+
" UNION SELECT 'PUBLIC'"
2374+
" UNION SELECT 'USER'");
23402375
elseif ((pg_strcasecmp(prev4_wd,"ALTER")==0||
23412376
pg_strcasecmp(prev4_wd,"DROP")==0)&&
23422377
pg_strcasecmp(prev3_wd,"USER")==0&&

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp