From: Simon Riggs on 28 Jul 2010 11:19 On Wed, 2010-07-28 at 15:24 +0300, Peter Eisentraut wrote: > On tor, 2010-07-15 at 10:24 +0100, Simon Riggs wrote: > > Patch to reduce lock levels for > > ALTER TABLE > > CREATE TRIGGER > > CREATE RULE > > Tried this out, but $subject is still the case. The problem is that > ATRewriteCatalogs() calls AlterTableCreateToastTable() based on what it > thinks the subcommands are, and AlterTableCreateToastTable() takes an > AccessExclusiveLock. > > This could possibly be addressed by moving AT_SetStatistics to > AT_PASS_MISC in order to avoid the TOAST table call. > > In a related matter, assigning ShareUpdateExclusiveLock to AT_SetStorage > doesn't work either, because the TOAST table call needs to be done in > that case. > > Perhaps this logic needs to be refactored a bit more so that there > aren't any inconsistencies between the lock modes and the "passes", > which could lead to false expectations and deadlocks. Changes as suggested, plus tests to confirm lock levels for ShareUpdateExclusiveLock changes. Will commit soon, if no objection. -- Simon Riggs www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Training and Services
First
|
Prev
|
Pages: 1 2 3 4 Prev: patch: preload dictionary new version Next: patch (for 9.1) string functions |