On Thu, Jul 07, 2011 at 04:48:55PM -0400, Tom Lane wrote: > Seems to me there's a more fundamental reason not to do that, which is > that once you've done PREPARE it is no longer legitimate to decide to > roll back the transaction to get out of a "dangerous" structure --- ie, > you have to target one of the other xacts involved instead. Shouldn't > the assignment of a prepareSeqNo correspond to the point where the xact > is no longer a target for SSI rollback?
That part is already accomplished by setting SXACT_FLAG_PREPARED (and choosing a new victim if we think we want to abort a transaction with that flag set). prepareSeqNo is being used as a lower bound on the transaction's commit sequence number. It's currently set at the same time as the PREPARED flag, but it doesn't have to be. Dan -- Dan R. K. Ports MIT CSAIL http://drkp.net/ -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers