Heikki Linnakangas <heikki.linnakan...@enterprisedb.com> writes: > Kevin and Dan also pointed out that a 2PC transaction can stay in > prepared state for a long time, and we could optimize that by setting > prepareSeqNo only at the final COMMIT PREPARED. I objected to that, for > the reason that it's currently very convenient for testing purposes that > a transaction prepared with PREPARE TRANSACTION is in the exact same > state as regular transaction that's going through regular commit processing.
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? regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers