Fix TwoPhaseGetDummyBackendId().

Tom Lane <tgl@sss.pgh.pa.us>

Commit: db108349bf7fe7fe82e2ff32e42436cfbc4f37dc
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2012-08-08T15:52:02Z
Releases: 9.3.0
Fix TwoPhaseGetDummyBackendId().

This was broken in commit ed0b409d22346b1b027a4c2099ca66984d94b6dd,
which revised the GlobalTransactionData struct to not include the
associated PGPROC as its first member, but overlooked one place where
a cast was used in reliance on that equivalence.

The most effective way of fixing this seems to be to create a new function
that looks up the GlobalTransactionData struct given the XID, and make
both TwoPhaseGetDummyBackendId and TwoPhaseGetDummyProc rely on that.

Per report from Robert Ross.

Files

PathChange+/−
src/backend/access/transam/twophase.c modified +46 −30