From 765cbfdc9263bf7c90b9d1f1044c6950b8b7088c Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Mon, 21 Jan 2013 12:06:41 -0300 Subject: Refactor ALTER some-obj RENAME implementation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove duplicate implementations of catalog munging and miscellaneous privilege checks. Instead rely on already existing data in objectaddress.c to do the work. Author: KaiGai Kohei, changes by me Reviewed by: Robert Haas, Álvaro Herrera, Dimitri Fontaine --- src/backend/commands/event_trigger.c | 46 ------------------------------------ 1 file changed, 46 deletions(-) (limited to 'src/backend/commands/event_trigger.c') diff --git a/src/backend/commands/event_trigger.c b/src/backend/commands/event_trigger.c index 99b17a03ef3..9063187f5fa 100644 --- a/src/backend/commands/event_trigger.c +++ b/src/backend/commands/event_trigger.c @@ -417,52 +417,6 @@ AlterEventTrigger(AlterEventTrigStmt *stmt) return trigoid; } - -/* - * Rename event trigger - */ -Oid -RenameEventTrigger(const char *trigname, const char *newname) -{ - Oid evtId; - HeapTuple tup; - Relation rel; - Form_pg_event_trigger evtForm; - - rel = heap_open(EventTriggerRelationId, RowExclusiveLock); - - /* newname must be available */ - if (SearchSysCacheExists1(EVENTTRIGGERNAME, CStringGetDatum(newname))) - ereport(ERROR, - (errcode(ERRCODE_DUPLICATE_OBJECT), - errmsg("event trigger \"%s\" already exists", newname))); - - /* trigname must exists */ - tup = SearchSysCacheCopy1(EVENTTRIGGERNAME, CStringGetDatum(trigname)); - if (!HeapTupleIsValid(tup)) - ereport(ERROR, - (errcode(ERRCODE_UNDEFINED_OBJECT), - errmsg("event trigger \"%s\" does not exist", trigname))); - if (!pg_event_trigger_ownercheck(HeapTupleGetOid(tup), GetUserId())) - aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_EVENT_TRIGGER, - trigname); - - evtId = HeapTupleGetOid(tup); - - evtForm = (Form_pg_event_trigger) GETSTRUCT(tup); - - /* tuple is a copy, so we can rename it now */ - namestrcpy(&(evtForm->evtname), newname); - simple_heap_update(rel, &tup->t_self, tup); - CatalogUpdateIndexes(rel, tup); - - heap_freetuple(tup); - heap_close(rel, RowExclusiveLock); - - return evtId; -} - - /* * Change event trigger's owner -- by name */ -- cgit v1.2.3