]> granicus.if.org Git - postgresql/commit
Fix bug in PreCommit_CheckForSerializationFailure. A transaction that has
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 21 Jun 2011 11:32:11 +0000 (14:32 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 21 Jun 2011 12:02:32 +0000 (15:02 +0300)
commit390c52131b7a42d7b5528d0435d7f6279bdf0ed0
treeeba33c3895ba9445e44a69f43ccbef2dba56aa3f
parent0d905db20b3201bec3ea69951014b473f92223c7
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
src/backend/storage/lmgr/predicate.c
src/test/regress/expected/prepared_xacts.out
src/test/regress/sql/prepared_xacts.sql