Thread: pgsql-server: Fix relcache to account properly for subtransaction status

pgsql-server: Fix relcache to account properly for subtransaction status

From
tgl@svr1.postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Fix relcache to account properly for subtransaction status of 'new'
relcache entries.  Also, change TransactionIdIsCurrentTransactionId()
so that if consulted during transaction abort, it will not say that
the aborted xact is still current.  (It would be better to ensure that
it's never called at all during abort, but I'm not sure we can easily
guarantee that.)  In combination, these fix a crash we have seen
occasionally during parallel regression tests of 8.0.

Modified Files:
--------------
    pgsql-server/src/backend/access/hash:
        hashpage.c (r1.43 -> r1.44)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/hash/hashpage.c.diff?r1=1.43&r2=1.44)
    pgsql-server/src/backend/access/heap:
        hio.c (r1.51 -> r1.52)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/heap/hio.c.diff?r1=1.51&r2=1.52)
    pgsql-server/src/backend/access/nbtree:
        nbtpage.c (r1.77 -> r1.78)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/nbtree/nbtpage.c.diff?r1=1.77&r2=1.78)
    pgsql-server/src/backend/access/transam:
        xact.c (r1.179 -> r1.180)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/transam/xact.c.diff?r1=1.179&r2=1.180)
    pgsql-server/src/backend/utils/cache:
        relcache.c (r1.207 -> r1.208)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/cache/relcache.c.diff?r1=1.207&r2=1.208)
    pgsql-server/src/include/utils:
        rel.h (r1.76 -> r1.77)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/utils/rel.h.diff?r1=1.76&r2=1.77)
        relcache.h (r1.42 -> r1.43)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/utils/relcache.h.diff?r1=1.42&r2=1.43)