]> granicus.if.org Git - postgresql/commit
Handle duplicate XIDs in txid_snapshot.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 15 May 2014 15:29:20 +0000 (18:29 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 15 May 2014 15:31:08 +0000 (18:31 +0300)
commitf47e4ce6cea2ced5da35e49d41154a19d7b3ebed
treebd4608716acdf250aa412eb51b23e3a6adad59d1
parent8c19b807c49aaaa18d1a166df5649ec2c04df320
Handle duplicate XIDs in txid_snapshot.

The proc array can contain duplicate XIDs, when a transaction is just being
prepared for two-phase commit. To cope, remove any duplicates in
txid_current_snapshot(). Also ignore duplicates in the input functions, so
that if e.g. you have an old pg_dump file that already contains duplicates,
it will be accepted.

Report and fix by Jan Wieck. Backpatch to all supported versions.
src/backend/utils/adt/txid.c
src/test/regress/expected/txid.out
src/test/regress/sql/txid.sql