From 55a7cf80a0769d38f03bd728717da855902041b1 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 26 Mar 2007 16:58:41 +0000 Subject: 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. --- src/backend/commands/alter.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/backend/commands/alter.c') 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, -- cgit v1.2.3