Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit f588548

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 11927e5 commit f588548

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

18891889
Assert(TransactionIdFollows(subxid, xid));
1890-
SubTransSetParent(xid, subxid, overwriteOK);
1890+
SubTransSetParent(subxid, xid, overwriteOK);
18911891
}
18921892

18931893
pfree(buf);

0 commit comments

Comments
 (0)