pgsql: Compare Xmin to previous Xmax when locking an update chain

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема pgsql: Compare Xmin to previous Xmax when locking an update chain
Дата
Msg-id E1Vm36s-00022l-LK@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Compare Xmin to previous Xmax when locking an update chain

Not doing so causes us to traverse an update chain that has been broken
by concurrent page pruning.  All other code that traverses update chains
uses this check as one of the cases in which to stop iterating, so
replicate it here too.  Failure to do so leads to erroneous CLOG,
subtrans or multixact lookups.

Per discussion following the bug report by J Smith in
CADFUPgc5bmtv-yg9znxV-vcfkb+JPRqs7m2OesQXaM_4Z1JpdQ@mail.gmail.com
as diagnosed by Andres Freund.

Branch
------
REL9_3_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/2a4b6eed0916a8fdc57b4778ecb1463fe752d369

Modified Files
--------------
src/backend/access/heap/heapam.c |   14 ++++++++++++++
1 file changed, 14 insertions(+)


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

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: pgsql: Cope with heap_fetch failure while locking an update chain
Следующее
От: Alvaro Herrera
Дата:
Сообщение: pgsql: Compare Xmin to previous Xmax when locking an update chain