pgsql: Perform a lot more sanity checks when freezing tuples.

Поиск
Список
Период
Сортировка
От Andres Freund
Тема pgsql: Perform a lot more sanity checks when freezing tuples.
Дата
Msg-id E1ePfjx-0005Ny-VL@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Perform a lot more sanity checks when freezing tuples.

The previous commit has shown that the sanity checks around freezing
aren't strong enough. Strengthening them seems especially important
because the existance of the bug has caused corruption that we don't
want to make even worse during future vacuum cycles.

The errors are emitted with ereport rather than elog, despite being
"should never happen" messages, so a proper error code is emitted. To
avoid superflous translations, mark messages as internal.

Author: Andres Freund and Alvaro Herrera
Reviewed-By: Alvaro Herrera, Michael Paquier
Discussion: https://postgr.es/m/20171102112019.33wb7g5wp4zpjelu@alap3.anarazel.de
Backpatch: 9.3-

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/699bf7d05c68734f800052829427c20674eb2c6b

Modified Files
--------------
src/backend/access/heap/heapam.c      | 112 ++++++++++++++++++++++++++++------
src/backend/access/heap/rewriteheap.c |   5 +-
src/backend/commands/vacuumlazy.c     |  15 ++++-
src/include/access/heapam.h           |   5 +-
src/include/access/heapam_xlog.h      |   2 +
5 files changed, 114 insertions(+), 25 deletions(-)


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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: [HACKERS] [COMMITTERS] pgsql: Fix freezing of a dead HOT-updatedtuple
Следующее
От: Andres Freund
Дата:
Сообщение: pgsql: Perform a lot more sanity checks when freezing tuples.