Skip to content

Commit 1046367

Browse files
tglsfdckelvich
authored andcommitted
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 e1b13cc commit 1046367

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/backend/access/transam/twophase.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2341,7 +2341,7 @@ ProcessTwoPhaseBuffer(TransactionId xid,
23412341
}
23422342

23432343
if (setParent)
2344-
SubTransSetParent(xid, subxid, overwriteOK);
2344+
SubTransSetParent(subxid, xid, overwriteOK);
23452345
}
23462346

23472347
return buf;

0 commit comments

Comments
 (0)