]> granicus.if.org Git - postgresql/commit
Correctly detect SSI conflicts of prepared transactions after crash.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 29 Feb 2012 13:22:49 +0000 (15:22 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 29 Feb 2012 13:43:43 +0000 (15:43 +0200)
commit86073a2b7acc58fce8701a9207a46adb41fbd8cc
tree1b211ccf322759b1ac88c4acafcd957dddc749b1
parent57b100fe0fb1d0d5803789d3113b89fa18a34fad
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
src/backend/storage/lmgr/predicate.c