diff options
author | Robert Haas | 2011-11-18 02:31:29 +0000 |
---|---|---|
committer | Robert Haas | 2011-11-18 02:32:34 +0000 |
commit | fc6d1006bda783cc002c61a5f072905849dbde4b (patch) | |
tree | 555ab6461e7780c0f5a5f21cc80b8f7f17eb844d /src/backend/commands/trigger.c | |
parent | 709aca59608395eef9ceb7dcb79fd9d03a0709ef (diff) |
Further consolidation of DROP statement handling.
This gets rid of an impressive amount of duplicative code, with only
minimal behavior changes. DROP FOREIGN DATA WRAPPER now requires object
ownership rather than superuser privileges, matching the documentation
we already have. We also eliminate the historical warning about dropping
a built-in function as unuseful. All operations are now performed in the
same order for all object types handled by dropcmds.c.
KaiGai Kohei, with minor revisions by me
Diffstat (limited to 'src/backend/commands/trigger.c')
-rw-r--r-- | src/backend/commands/trigger.c | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index a6e7268aa78..5589528e5ca 100644 --- a/src/backend/commands/trigger.c +++ b/src/backend/commands/trigger.c @@ -1026,42 +1026,6 @@ ConvertTriggerToFK(CreateTrigStmt *stmt, Oid funcoid) } } - -/* - * DropTrigger - drop an individual trigger by name - */ -void -DropTrigger(RangeVar *relation, const char *trigname, DropBehavior behavior, - bool missing_ok) -{ - Oid relid; - ObjectAddress object; - - /* lock level should match RemoveTriggerById */ - relid = RangeVarGetRelid(relation, AccessExclusiveLock, false, false); - - object.classId = TriggerRelationId; - object.objectId = get_trigger_oid(relid, trigname, missing_ok); - object.objectSubId = 0; - - if (!OidIsValid(object.objectId)) - { - ereport(NOTICE, - (errmsg("trigger \"%s\" for table \"%s\" does not exist, skipping", - trigname, get_rel_name(relid)))); - return; - } - - if (!pg_class_ownercheck(relid, GetUserId())) - aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_CLASS, - get_rel_name(relid)); - - /* - * Do the deletion - */ - performDeletion(&object, behavior); -} - /* * Guts of trigger deletion. */ |