Skip to content

Commit 0874d4f

Browse files
committed
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
1 parent 33f3bbc commit 0874d4f

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/backend/access/transam/twophase.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -2142,7 +2142,7 @@ ProcessTwoPhaseBuffer(TransactionId xid,
21422142
}
21432143

21442144
if (setParent)
2145-
SubTransSetParent(xid, subxid, overwriteOK);
2145+
SubTransSetParent(subxid, xid, overwriteOK);
21462146
}
21472147

21482148
return buf;

0 commit comments

Comments
 (0)