Fix order of arguments to SubTransSetParent().
authorTom Lane
Sun, 23 Apr 2017 17:10:57 +0000 (13:10 -0400)
committerTom Lane
Sun, 23 Apr 2017 17:10:57 +0000 (13:10 -0400)
commit2e14541c4992e5a2de6b5be2f7ed3f3062ed4ec1
treeb06690eed015cbfeb9e5e68867d9b0bef260c516
parent55cdda91c65b5d2c82672b327857cac3e0e6e07d
Fix order of arguments to SubTransSetParent().

ProcessTwoPhaseBuffer (formerly StandbyRecoverPreparedTransactions)
mixed up the parent and child XIDs when calling SubTransSetParent to
record the transactions' relationship in pg_subtrans.

Remarkably, analysis by Simon Riggs suggests that this doesn't lead to
visible problems (at least, not in non-Assert builds).  That might
explain why we'd not noticed it before.  Nonetheless, it's surely wrong.

This code was born broken, so back-patch to all supported branches.

Discussion: https://postgr.es/m/20110.1492905318@sss.pgh.pa.us
src/backend/access/transam/twophase.c