Correctly detect SSI conflicts of prepared transactions after crash.

Heikki Linnakangas <heikki.linnakangas@iki.fi>

Commit: d6a7271958e61fe8029087a34483437292f41f6f
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: 2012-02-29T13:42:36Z
Releases: 9.2.0
Correctly detect SSI conflicts of prepared transactions after crash.

A prepared transaction can get new conflicts in and out after preparing, so
we cannot rely on the in- and out-flags stored in the statefile at prepare-
time. As a quick fix, make the conservative assumption that after a restart,
all prepared transactions are considered to have both in- and out-conflicts.
That can lead to unnecessary rollbacks after a crash, but that shouldn't be
a big problem in practice; you don't want prepared transactions to hang
around for a long time anyway.

Dan Ports

Files

PathChange+/−
src/backend/storage/lmgr/predicate.c modified +15 −16