• Tom Lane's avatar
    Repair problems with VACUUM destroying t_ctid chains too soon, and with · f57e3f4c
    Tom Lane authored
    insufficient paranoia in code that follows t_ctid links.  (We must do both
    because even with VACUUM doing it properly, the intermediate state with
    a dangling t_ctid link is visible concurrently during lazy VACUUM, and
    could be seen afterwards if either type of VACUUM crashes partway through.)
    Also try to improve documentation about what's going on.  Patch is a bit
    bulky because passing the XMAX information around required changing the
    APIs of some low-level heapam.c routines, but it's not conceptually very
    complicated.  Per trouble report from Teodor and subsequent analysis.
    This needs to be back-patched, but I'll do that after 8.1 beta is out.
    f57e3f4c
htup.h 18.1 KB