pgsql: Arrange for GetSnapshotData to copy live-subtransaction XIDs from

Started by Tom Lanealmost 20 years ago1 messagescomitters
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

Log Message:
-----------
Arrange for GetSnapshotData to copy live-subtransaction XIDs from the
PGPROC array into snapshots, and use this information to avoid visits
to pg_subtrans in HeapTupleSatisfiesSnapshot. This appears to solve
the pg_subtrans-related context swap storm problem that's been reported
by several people for 8.1. While at it, modify GetSnapshotData to not
take an exclusive lock on ProcArrayLock, as closer analysis shows that
shared lock is always sufficient.
Itagaki Takahiro and Tom Lane

Modified Files:
--------------
pgsql/src/backend/access/transam:
varsup.c (r1.72 -> r1.73)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/varsup.c.diff?r1=1.72&r2=1.73)
pgsql/src/backend/storage/ipc:
procarray.c (r1.16 -> r1.17)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/procarray.c.diff?r1=1.16&r2=1.17)
pgsql/src/backend/utils/time:
tqual.c (r1.95 -> r1.96)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/time/tqual.c.diff?r1=1.95&r2=1.96)
pgsql/src/include/utils:
tqual.h (r1.62 -> r1.63)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/tqual.h.diff?r1=1.62&r2=1.63)