Fix bug in PreCommit_CheckForSerializationFailure. A transaction that has
already been marked as PREPARED cannot be killed. Kill the current
transaction instead.
One of the prepared_xacts regression tests actually hits this bug. I
removed the anomaly from the duplicate-gids test so that it fails in the
intended way, and added a new test to check serialization failures with
a prepared transaction.
Dan Ports
Branch
------
REL9_1_STABLE
Details
-------
http://git.postgresql.org/pg/commitdiff/390c52131b7a42d7b5528d0435d7f6279bdf0ed0
Modified Files
--------------
src/backend/storage/lmgr/predicate.c | 15 ++++++++
src/test/regress/expected/prepared_xacts.out | 47 ++++++++++++++++++++++---
src/test/regress/sql/prepared_xacts.sql | 22 +++++++++++-
3 files changed, 77 insertions(+), 7 deletions(-)