pgsql-server/src backend/access/heap/heapam.c ...

Поиск
Список
Период
Сортировка
От tgl@svr1.postgresql.org (Tom Lane)
Тема pgsql-server/src backend/access/heap/heapam.c ...
Дата
Msg-id 20030915233343.E45F5D1B522@svr1.postgresql.org
обсуждение исходный текст
Ответы Re: pgsql-server/src backend/access/heap/heapam.c ...  (Sean Chittenden <sean@chittenden.org>)
Re: pgsql-server/src backend/access/heap/heapam.c ...  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-committers
CVSROOT:    /cvsroot
Module name:    pgsql-server
Changes by:    tgl@svr1.postgresql.org    03/09/15 20:33:43

Modified files:
    src/backend/access/heap: heapam.c
    src/backend/commands: async.c
    src/backend/executor: execMain.c
    src/include/access: heapam.h

Log message:
    Fix LISTEN/NOTIFY race condition reported by Gavin Sherry.  While a
    really general fix might be difficult, I believe the only case where
    AtCommit_Notify could see an uncommitted tuple is where the other guy
    has just unlistened and not yet committed.  The best solution seems to
    be to just skip updating that tuple, on the assumption that the other
    guy does not want to hear about the notification anyway.  This is not
    perfect --- if the other guy rolls back his unlisten instead of committing,
    then he really should have gotten this notify.  But to do that, we'd have
    to wait to see if he commits or not, or make UNLISTEN hold exclusive lock
    on pg_listener until commit.  Either of these answers is deadlock-prone,
    not to mention horrible for interactive performance.  Do it this way
    for now.  (What happened to that project to do LISTEN/NOTIFY in memory
    with no table, anyway?)


В списке pgsql-committers по дате отправления:

Предыдущее
От: tgl@svr1.postgresql.org (Tom Lane)
Дата:
Сообщение: pgsql-server/src/test/regress/expected errors.out
Следующее
От: Sean Chittenden
Дата:
Сообщение: Re: pgsql-server/src backend/access/heap/heapam.c ...