• Tom Lane's avatar
    Remove logic in XactLockTableWait() that attempted to mark a crashed · 39fc1fb0
    Tom Lane authored
    transaction as aborted.  Since we only call XactLockTableWait on XIDs
    that we believe to be currently running, the odds of this code ever
    actually firing are minimal.  It's certainly unnecessary, since a
    transaction that's not either running or committed will be presumed
    aborted anyway.  What's more, it's not hard to imagine scenarios where
    this could result in corrupting pg_clog: for instance, if a bogus XID
    somehow got passed to XactLockTableWait.  I think the code probably
    dates from the ancient era when we didn't have TransactionIdIsInProgress;
    back then it may have been necessary, but now I think it's a waste of
    cycles and potentially dangerous.  Per discussion with Qingqing Zhou
    and Karsten Hilbert.
    39fc1fb0
lmgr.c 11.6 KB