Fix PREPARE TRANSACTION to reject the case where the transaction has dropped a
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 4 Mar 2008 19:54:13 +0000 (19:54 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 4 Mar 2008 19:54:13 +0000 (19:54 +0000)
commitf3032cbe377ecc570989e1bd2fe1aea455c12cc3
tree0ebdb8d2fefe61172d2c3cabdef0fb5f41da6373
parent089e1a86ca7bd3a48857b91d67d756d11cf0d434
Fix PREPARE TRANSACTION to reject the case where the transaction has dropped a
temporary table; we can't support that because there's no way to clean up the
source backend's internal state if the eventual COMMIT PREPARED is done by
another backend.  This was checked correctly in 8.1 but I broke it in 8.2 :-(.
Patch by Heikki Linnakangas, original trouble report by John Smith.
src/backend/access/heap/heapam.c
src/backend/access/transam/xact.c
src/backend/storage/lmgr/lmgr.c
src/backend/storage/lmgr/lock.c
src/include/access/xact.h
src/include/storage/lmgr.h