• Alvaro Herrera's avatar
    Set ReorderBufferTXN->final_lsn more eagerly · 15cac3a5
    Alvaro Herrera authored
    ... specifically, set it incrementally as each individual change is
    spilled down to disk.  This way, it is set correctly when the
    transaction disappears without trace, ie. without leaving an XACT_ABORT
    wal record.  (This happens when the server crashes midway through a
    transaction.)
    
    Failing to have final_lsn prevents ReorderBufferRestoreCleanup() from
    working, since it needs the final_lsn in order to know the endpoint of
    its iteration through spilled files.
    
    Commit df9f682c already tried to fix the problem, but it didn't set
    the final_lsn in all cases.  Revert that, since it's no longer needed.
    
    Author: Vignesh C
    Reviewed-by: Amit Kapila, Dilip Kumar
    Discussion: https://postgr.es/m/CALDaNm2CLk+K9JDwjYST0sPbGg5AQdvhUt0jbKyX_HdAE0jk3A@mail.gmail.com
    15cac3a5
reorderbuffer.h 13.7 KB