• Alvaro Herrera's avatar
    Rework subtransaction commit protocol for hot standby. · 06da3c57
    Alvaro Herrera authored
    This patch eliminates the marking of subtransactions as SUBCOMMITTED in pg_clog
    during their commit; instead they remain in-progress until main transaction
    commit.  At main transaction commit, the commit protocol is atomic-by-page
    instead of one transaction at a time.  To avoid a race condition with some
    subtransactions appearing committed before others in the case where they span
    more than one pg_clog page, we conserve the logic that marks them subcommitted
    before marking the parent committed.
    
    Simon Riggs with minor help from me
    06da3c57
transam.h 5.66 KB