| Lists: | pgsql-committers | 
|---|
| From: | tgl(at)postgresql(dot)org (Tom Lane) | 
|---|---|
| To: | pgsql-committers(at)postgresql(dot)org | 
| Subject: | pgsql: Don't take ProcArrayLock while exiting a transaction that has no | 
| Date: | 2007-09-07 20:59:26 | 
| Message-ID: | [email protected] | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Lists: | pgsql-committers | 
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)