On 2 March 2017 at 16:00, Craig Ringer <craig@2ndquadrant.com> wrote:
> What about if we ROLLBACK PREPARED after
> we made the snapshot visible?
Yeah, I'm pretty sure that's going to be a problem actually.
You're telling the snapshot builder that an xact committed at PREPARE
TRANSACTION time.
If we then ROLLBACK PREPARED, we're in a mess. It looks like it'll
cause issues with catalogs, user-catalog tables, etc.
I suspect we need to construct a temporary snapshot to decode PREPARE
TRANSACTION then discard it. If we later COMMIT PREPARED we should
perform the current steps to merge the snapshot state in.
-- Craig Ringer http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services