Обсуждение: pgsql: More cleanup after failed reduced-lock-levels-for-DDL feature.

Поиск
Список
Период
Сортировка

pgsql: More cleanup after failed reduced-lock-levels-for-DDL feature.

От
Tom Lane
Дата:
More cleanup after failed reduced-lock-levels-for-DDL feature.

Turns out that use of ShareUpdateExclusiveLock or ShareRowExclusiveLock
to protect DDL changes had gotten copied into several places that were
not touched by either of Simon's original patches for the feature, and
thus neither he nor I thought to revert them.  (Indeed, it appears that
two of these uses were committed *after* the reversion, which just goes
to show that git merging is no panacea.)  Change these places to use
AccessExclusiveLock again.  If we ever manage to resurrect that feature,
we're going to have to think a bit harder about how to keep lock level
usage in sync for DDL operations that aren't within the AlterTable
infrastructure.

Two of these bugs are only in HEAD, but one is in the 9.1 branch too.
Alvaro found one of them, I found the other two.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/5ac5980744149f062ec599015ffe7a7689dd117b

Modified Files
--------------
src/backend/catalog/toasting.c      |   10 ++++++----
src/backend/commands/trigger.c      |    2 +-
src/backend/rewrite/rewriteRemove.c |    4 ++--
3 files changed, 9 insertions(+), 7 deletions(-)


Re: pgsql: More cleanup after failed reduced-lock-levels-for-DDL feature.

От
Simon Riggs
Дата:
On Fri, Oct 21, 2011 at 6:50 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

> More cleanup after failed reduced-lock-levels-for-DDL feature.
>
> Turns out that use of ShareUpdateExclusiveLock or ShareRowExclusiveLock
> to protect DDL changes had gotten copied into several places that were
> not touched by either of Simon's original patches for the feature, and
> thus neither he nor I thought to revert them.  (Indeed, it appears that
> two of these uses were committed *after* the reversion, which just goes
> to show that git merging is no panacea.)  Change these places to use
> AccessExclusiveLock again.  If we ever manage to resurrect that feature,
> we're going to have to think a bit harder about how to keep lock level
> usage in sync for DDL operations that aren't within the AlterTable
> infrastructure.
>
> Two of these bugs are only in HEAD, but one is in the 9.1 branch too.
> Alvaro found one of them, I found the other two.

Very cool, thanks.

--
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services