postgresql/src/include/access
Heikki Linnakangas cd87b6f8a5 Fix an old bug in multixact and two-phase commit. Prepared transactions can
be part of multixacts, so allocate a slot for each prepared transaction in
the "oldest member" array in multixact.c. On PREPARE TRANSACTION, transfer
the oldest member value from the current backends slot to the prepared xact
slot. Also save and recover the value from the 2pc state file.

The symptom of the bug was that after a transaction prepared, a shared lock
still held by the prepared transaction was sometimes ignored by other
transactions.

Fix back to 8.1, where both 2PC and multixact were introduced.
2009-11-23 09:58:36 +00:00
..
attnum.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
clog.h 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
genam.h Department of second thoughts: let's show the exact key during unique index 2009-08-01 20:59:17 +00:00
gin.h Make sure that GIN fast-insert and regular code paths enforce the same 2009-10-02 21:14:04 +00:00
gist_private.h 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
gist.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
gistscan.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
hash.h Dept of second thoughts: after studying index_getnext() a bit more I realize 2009-11-01 22:30:54 +00:00
heapam.h Fix a violation of WAL coding rules in the recent patch to include an 2009-08-24 02:18:32 +00:00
hio.h 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
htup.h 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
itup.h Improve unique-constraint-violation error messages to include the exact 2009-08-01 19:59:41 +00:00
multixact.h Fix an old bug in multixact and two-phase commit. Prepared transactions can 2009-11-23 09:58:36 +00:00
nbtree.h Support deferrable uniqueness constraints. 2009-07-29 20:56:21 +00:00
printtup.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
reloptions.h 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
relscan.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
rewriteheap.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
rmgr.h Rethink the way FSM truncation works. Instead of WAL-logging FSM 2008-11-19 10:34:52 +00:00
sdir.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
skey.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
slru.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
subtrans.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
sysattr.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
transam.h Force VACUUM to recalculate oldestXmin even when we haven't changed our 2009-09-01 04:46:49 +00:00
tupconvert.h Improve plpgsql's ability to cope with rowtypes containing dropped columns, 2009-08-06 20:44:32 +00:00
tupdesc.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
tupmacs.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
tuptoaster.h Tweak TOAST code so that columns marked with MAIN storage strategy are 2009-07-22 01:21:22 +00:00
twophase_rmgr.h Fix an old bug in multixact and two-phase commit. Prepared transactions can 2009-11-23 09:58:36 +00:00
twophase.h Fix an old bug in multixact and two-phase commit. Prepared transactions can 2009-11-23 09:58:36 +00:00
valid.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
visibilitymap.h Fix a violation of WAL coding rules in the recent patch to include an 2009-08-24 02:18:32 +00:00
xact.h 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
xlog_internal.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
xlog.h Cleanup and code review for the patch that made bgwriter active during 2009-06-26 20:29:04 +00:00
xlogdefs.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
xlogutils.h 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00