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
This commit is contained in:
parent
33f3bbc6d3
commit
0874d4f3e1
|
@ -2142,7 +2142,7 @@ ProcessTwoPhaseBuffer(TransactionId xid,
|
|||
}
|
||||
|
||||
if (setParent)
|
||||
SubTransSetParent(xid, subxid, overwriteOK);
|
||||
SubTransSetParent(subxid, xid, overwriteOK);
|
||||
}
|
||||
|
||||
return buf;
|
||||
|
|
Loading…
Reference in New Issue