• Alvaro Herrera's avatar
    Compare Xmin to previous Xmax when locking an update chain · e4828e9c
    Alvaro Herrera authored
    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.
    e4828e9c
heapam.c 209 KB