• Alvaro Herrera's avatar
    Fix broken Assert() introduced by 8e9a16ab8f7f0e58 · b2770576
    Alvaro Herrera authored
    Don't assert MultiXactIdIsRunning if the multi came from a tuple that
    had been share-locked and later copied over to the new cluster by
    pg_upgrade.  Doing that causes an error to be raised unnecessarily:
    MultiXactIdIsRunning is not open to the possibility that its argument
    came from a pg_upgraded tuple, and all its other callers are already
    checking; but such multis cannot, obviously, have transactions still
    running, so the assert is pointless.
    
    Noticed while investigating the bogus pg_multixact/offsets/0000 file
    left over by pg_upgrade, as reported by Andres Freund in
    http://www.postgresql.org/message-id/20140530121631.GE25431@alap3.anarazel.de
    
    Backpatch to 9.3, as the commit that introduced the buglet.
    b2770576
heapam.c 247 KB