mirror of
https://github.com/postgres/postgres.git
synced 2025-07-02 09:02:37 +03:00
Add large object access control.
A new system catalog pg_largeobject_metadata manages ownership and access privileges of large objects. KaiGai Kohei, reviewed by Jaime Casanova.
This commit is contained in:
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2009, PostgreSQL Global Development Group
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.187 2009/10/13 21:04:01 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.188 2009/12/11 03:34:56 itagaki Exp $
|
||||
*/
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
@ -691,7 +691,7 @@ psql_completion(char *text, int start, int end)
|
||||
{
|
||||
static const char *const list_ALTER[] =
|
||||
{"AGGREGATE", "CONVERSION", "DATABASE", "DOMAIN", "FOREIGN DATA WRAPPER", "FUNCTION",
|
||||
"GROUP", "INDEX", "LANGUAGE", "OPERATOR", "ROLE", "SCHEMA", "SERVER", "SEQUENCE", "TABLE",
|
||||
"GROUP", "INDEX", "LANGUAGE", "LARGE OBJECT", "OPERATOR", "ROLE", "SCHEMA", "SERVER", "SEQUENCE", "TABLE",
|
||||
"TABLESPACE", "TEXT SEARCH", "TRIGGER", "TYPE", "USER", "USER MAPPING FOR", "VIEW", NULL};
|
||||
|
||||
COMPLETE_WITH_LIST(list_ALTER);
|
||||
@ -760,6 +760,17 @@ psql_completion(char *text, int start, int end)
|
||||
COMPLETE_WITH_LIST(list_ALTERLANGUAGE);
|
||||
}
|
||||
|
||||
/* ALTER LARGE OBJECT <oid> */
|
||||
else if (pg_strcasecmp(prev4_wd, "ALTER") == 0 &&
|
||||
pg_strcasecmp(prev3_wd, "LARGE") == 0 &&
|
||||
pg_strcasecmp(prev2_wd, "OBJECT") == 0)
|
||||
{
|
||||
static const char *const list_ALTERLARGEOBJECT[] =
|
||||
{"OWNER TO", NULL};
|
||||
|
||||
COMPLETE_WITH_LIST(list_ALTERLARGEOBJECT);
|
||||
}
|
||||
|
||||
/* ALTER USER,ROLE <name> */
|
||||
else if (pg_strcasecmp(prev3_wd, "ALTER") == 0 &&
|
||||
!(pg_strcasecmp(prev2_wd, "USER") == 0 && pg_strcasecmp(prev_wd, "MAPPING") == 0) &&
|
||||
@ -1732,6 +1743,7 @@ psql_completion(char *text, int start, int end)
|
||||
" UNION SELECT 'FOREIGN SERVER'"
|
||||
" UNION SELECT 'FUNCTION'"
|
||||
" UNION SELECT 'LANGUAGE'"
|
||||
" UNION SELECT 'LARGE OBJECT'"
|
||||
" UNION SELECT 'SCHEMA'"
|
||||
" UNION SELECT 'TABLESPACE'");
|
||||
|
||||
|
Reference in New Issue
Block a user