Do we really need SubtransCutoffXid? AFAICS the reason for having it is only this claim in RecordTransactionCommit:
* We can't mark committed subtransactions as fully committed, * because concurrent transactions would see them as committed * and not as in-progress. Leave them as "subcommitted" until * the parent transaction is below OldestXmin, per VACUUM. but I think this is dead wrong. As long as we mark the parent committed first, there is no race condition. tqual tests that are using snapshots will need to recognize that the subtransaction is a member of one of the snapshotted main XIDs, and those that are not will think committed is committed. So I want to mark subtransactions fully committed in RecordTransactionCommit, and lose SubtransCutoffXid. Comments? BTW, it would help to know what parts of the patch you intend to work on over the next couple of days. I'm reviewing and editorializing right now with intent to commit soon, so it would be good if we can avoid tromping on each others' feet. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html