• Alvaro Herrera's avatar
    BRIN: fix bug in xlog backup block counting · a590f266
    Alvaro Herrera authored
    The code that generates the BRIN_XLOG_UPDATE removes the buffer
    reference when the page that's target for the updated tuple is freshly
    initialized.  This is a pretty usual optimization, but was breaking the
    case where the revmap buffer, which is referenced in the same WAL
    record, is getting a backup block: the replay code was using backup
    block index 1, which is not valid when the update target buffer gets
    pruned; the revmap buffer gets assigned 0 instead.  Make sure to use the
    correct backup block index for revmap when replaying.
    
    Bug reported by Fujii Masao.
    a590f266
brin_xlog.c 7.3 KB