diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2007-03-26 16:58:41 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2007-03-26 16:58:41 +0000 |
commit | 55a7cf80a0769d38f03bd728717da855902041b1 (patch) | |
tree | 147a3aa02b95844de61c869232c2dbe802914e67 /src/backend/commands/alter.c | |
parent | 66daeb074b3fbdb071a5631c066f5e41d554220e (diff) | |
download | postgresql-55a7cf80a0769d38f03bd728717da855902041b1.tar.gz postgresql-55a7cf80a0769d38f03bd728717da855902041b1.zip |
Allow non-superuser database owners to create procedural languages.
A DBA is allowed to create a language in his database if it's marked
"tmpldbacreate" in pg_pltemplate. The factory default is that this is set
for all standard trusted languages, but of course a superuser may adjust
the settings. In service of this, add the long-foreseen owner column to
pg_language; renaming, dropping, and altering owner of a PL now follow
normal ownership rules instead of being superuser-only.
Jeremy Drake, with some editorialization by Tom Lane.
Diffstat (limited to 'src/backend/commands/alter.c')
-rw-r--r-- | src/backend/commands/alter.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/backend/commands/alter.c b/src/backend/commands/alter.c index 30b7ebde002..118e4adb166 100644 --- a/src/backend/commands/alter.c +++ b/src/backend/commands/alter.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/alter.c,v 1.22 2007/01/23 05:07:17 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/commands/alter.c,v 1.23 2007/03/26 16:58:38 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -203,6 +203,10 @@ ExecAlterOwnerStmt(AlterOwnerStmt *stmt) AlterFunctionOwner(stmt->object, stmt->objarg, newowner); break; + case OBJECT_LANGUAGE: + AlterLanguageOwner((char *) linitial(stmt->object), newowner); + break; + case OBJECT_OPERATOR: Assert(list_length(stmt->objarg) == 2); AlterOperatorOwner(stmt->object, |