• A
    Avoid checkpoint between commit record and persistent post-commit. · 987113c9
    Ashwin Agrawal 提交于
    The commit xlog record carries the information for objects which serves us for
    crash-recovery till post-commit persistent object work is done, hence cannot
    allow checkpoint in between. So, use inCommit flag to achieve the same. This
    makes it consistent with FinishPreparedTransaction() as well.
    
    Without the fix leaves out dangling persistent table entries and files on-disk
    for following sequence:
    
    - start transaction to drop a table
    - `RecordTransactionCommit()`
    - Checkpoint before `AtEOXact_smgr()`
    - Crash/Recover
    987113c9
xact.c 193.3 KB