• Tom Lane's avatar
    Fix under-parenthesized XLogRecHasBlockRef() macro. · 9e411482
    Tom Lane authored
    Commit f003d9f8 left this macro with inadequate (or, one could say,
    too much) parenthesization.  Which was catastrophic to the correctness
    of calls such as "if (!XLogRecHasBlockRef(record, 1)) ...".  There
    are only a few of those, which perhaps explains why we didn't notice
    immediately (with our general weakness of WAL replay testing being
    another factor).  I found it by debugging intermittent replay failures
    like
    
    2021-04-08 14:33:30.191 EDT [29463] PANIC:  failed to locate backup block with ID 1
    2021-04-08 14:33:30.191 EDT [29463] CONTEXT:  WAL redo at 0/95D3438 for SPGist/ADD_NODE: off 1; blkref #0: rel 1663/16384/25998, blk 1
    9e411482
xlogreader.h 14.2 KB