• Tom Lane's avatar
    Invent pre-commit/pre-prepare/pre-subcommit events for xact callbacks. · fdaf4486
    Tom Lane authored
    Currently it's only possible for loadable modules to get control during
    post-commit cleanup of a transaction.  That doesn't work too well if they
    want to do something that could throw an error; for example, an FDW might
    need to issue a remote commit, which could well fail.  To improve matters,
    extend the existing APIs for XactCallback and SubXactCallback functions
    to provide new pre-commit events for this purpose.
    
    The release notes will need to mention that existing callback functions
    should be checked to make sure they don't do something unwanted when one
    of the new event types occurs.  In the examples within our source tree,
    contrib/sepgsql was fine but plpgsql had been a bit too cute.
    fdaf4486
xact.c 132 KB