pgsql: Fix PREPARE TRANSACTION to reject the case where the transaction

Lists: pgsql-committers
From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix PREPARE TRANSACTION to reject the case where the transaction
Date: 2008-03-04 19:54:23
Message-ID: 20080304195423.8B615754108@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers

Log Message:
-----------
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.

Tags:
----
REL8_2_STABLE

Modified Files:
--------------
pgsql/src/backend/access/heap:
heapam.c (r1.222.2.1 -> r1.222.2.2)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c?r1=1.222.2.1&r2=1.222.2.2)
pgsql/src/backend/access/transam:
xact.c (r1.229.2.3 -> r1.229.2.4)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xact.c?r1=1.229.2.3&r2=1.229.2.4)
pgsql/src/backend/storage/lmgr:
lmgr.c (r1.89 -> r1.89.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/lmgr.c?r1=1.89&r2=1.89.2.1)
lock.c (r1.174.2.1 -> r1.174.2.2)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/lock.c?r1=1.174.2.1&r2=1.174.2.2)
pgsql/src/include/access:
xact.h (r1.83 -> r1.83.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/xact.h?r1=1.83&r2=1.83.2.1)
pgsql/src/include/storage:
lmgr.h (r1.56 -> r1.56.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/lmgr.h?r1=1.56&r2=1.56.2.1)