diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2011-07-07 13:14:46 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2011-07-07 13:15:48 -0400 |
commit | ec1339ea5cb591da53ad7584ffc29e120f6bf74f (patch) | |
tree | b3945717c68886e71cd9fdb719c1bd9783a04959 /src/backend/commands/trigger.c | |
parent | 046d52f7d319419d338fa605f9d6e00b21c5c5ff (diff) | |
download | postgresql-ec1339ea5cb591da53ad7584ffc29e120f6bf74f.tar.gz postgresql-ec1339ea5cb591da53ad7584ffc29e120f6bf74f.zip |
Finish disabling reduced-lock-levels-for-DDL feature.
Previous patch only covered the ALTER TABLE changes, not changes in other
commands; and it neglected to revert the documentation changes.
Diffstat (limited to 'src/backend/commands/trigger.c')
-rw-r--r-- | src/backend/commands/trigger.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index 798d8a85a4f..2464626637d 100644 --- a/src/backend/commands/trigger.c +++ b/src/backend/commands/trigger.c @@ -143,14 +143,7 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString, ObjectAddress myself, referenced; - /* - * ShareRowExclusiveLock is sufficient to prevent concurrent write - * activity to the relation, and thus to lock out any operations that - * might want to fire triggers on the relation. If we had ON SELECT - * triggers we would need to take an AccessExclusiveLock to add one of - * those, just as we do with ON SELECT rules. - */ - rel = heap_openrv(stmt->relation, ShareRowExclusiveLock); + rel = heap_openrv(stmt->relation, AccessExclusiveLock); /* * Triggers must be on tables or views, and there are additional @@ -480,7 +473,7 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString, * can skip this for internally generated triggers, since the name * modification above should be sufficient. * - * NOTE that this is cool only because we have ShareRowExclusiveLock on + * NOTE that this is cool only because we have AccessExclusiveLock on * the relation, so the trigger set won't be changing underneath us. */ if (!isInternal) @@ -1084,14 +1077,11 @@ RemoveTriggerById(Oid trigOid) elog(ERROR, "could not find tuple for trigger %u", trigOid); /* - * Open and lock the relation the trigger belongs to. As in - * CreateTrigger, this is sufficient to lock out all operations that could - * fire or add triggers; but it would need to be revisited if we had ON - * SELECT triggers. + * Open and exclusive-lock the relation the trigger belongs to. */ relid = ((Form_pg_trigger) GETSTRUCT(tup))->tgrelid; - rel = heap_open(relid, ShareRowExclusiveLock); + rel = heap_open(relid, AccessExclusiveLock); if (rel->rd_rel->relkind != RELKIND_RELATION && rel->rd_rel->relkind != RELKIND_VIEW) |