Commit 0874d4f3 authored by Tom Lane's avatar Tom Lane

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
parent 33f3bbc6
......@@ -2142,7 +2142,7 @@ ProcessTwoPhaseBuffer(TransactionId xid,
}
if (setParent)
SubTransSetParent(xid, subxid, overwriteOK);
SubTransSetParent(subxid, xid, overwriteOK);
}
return buf;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment