Fix order of arguments to SubTransSetParent().

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

Commit: a66e01bbcc8808674ade41d38cfba711a36b8b15
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2017-04-23T17:10:57Z
Releases: 9.5.7
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

Files

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

Discussion