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:23 +0000 (19:54 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 4 Mar 2008 19:54:23 +0000 (19:54 +0000)
commita31e41e19a5f0239d6e714f1564a44162bc48fb4
treef554979747a511a1ac65549741ce58bf94836c7c
parentf2a0027f2a39cfa25c476b4bf0e3f70e3e58d6d5
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