Обсуждение: pgsql: Don't take ProcArrayLock while exiting a transaction that has no
pgsql: Don't take ProcArrayLock while exiting a transaction that has no
От
tgl@postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
Don't take ProcArrayLock while exiting a transaction that has no XID; there is
no need for serialization against snapshot-taking because the xact doesn't
affect anyone else's snapshot anyway. Per discussion. Also, move various
info about the interlocking of transactions and snapshots out of code comments
and into a hopefully-more-cohesive discussion in access/transam/README.
Also, remove a couple of now-obsolete comments about having to force some WAL
to be written to persuade RecordTransactionCommit to do its thing.
Modified Files:
--------------
pgsql/src/backend/access/heap:
heapam.c (r1.238 -> r1.239)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c?r1=1.238&r2=1.239)
pgsql/src/backend/access/transam:
README (r1.7 -> r1.8)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/README?r1=1.7&r2=1.8)
xact.c (r1.248 -> r1.249)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xact.c?r1=1.248&r2=1.249)
pgsql/src/backend/commands:
copy.c (r1.285 -> r1.286)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/copy.c?r1=1.285&r2=1.286)
pgsql/src/backend/executor:
execMain.c (r1.296 -> r1.297)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execMain.c?r1=1.296&r2=1.297)
pgsql/src/backend/storage/ipc:
procarray.c (r1.31 -> r1.32)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/procarray.c?r1=1.31&r2=1.32)