Skip to content

Commit 8565808

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 38a6e57 commit 8565808

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
@@ -1922,7 +1922,7 @@ StandbyRecoverPreparedTransactions(bool overwriteOK)
19221922
TransactionId subxid = subxids[i];
19231923

19241924
Assert(TransactionIdFollows(subxid, xid));
1925-
SubTransSetParent(xid, subxid, overwriteOK);
1925+
SubTransSetParent(subxid, xid, overwriteOK);
19261926
}
19271927
}
19281928
}

0 commit comments

Comments
 (0)