Thread: pgsql-server: Some mop-up work for savepoints (nested transactions).

pgsql-server: Some mop-up work for savepoints (nested transactions).

From
tgl@svr1.postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Some mop-up work for savepoints (nested transactions).  Store a small
number of active subtransaction XIDs in each backend's PGPROC entry,
and use this to avoid expensive probes into pg_subtrans during
TransactionIdIsInProgress.  Extend EOXactCallback API to allow add-on
modules to get control at subxact start/end.  (This is deliberately
not compatible with the former API, since any uses of that API probably
need manual review anyway.)  Add basic reference documentation for
SAVEPOINT and related commands.  Minor other cleanups to check off some
of the open issues for subtransactions.
Alvaro Herrera and Tom Lane.

Modified Files:
--------------
    pgsql-server/doc/src/sgml:
        advanced.sgml (r1.41 -> r1.42)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/doc/src/sgml/advanced.sgml.diff?r1=1.41&r2=1.42)
        reference.sgml (r1.50 -> r1.51)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/doc/src/sgml/reference.sgml.diff?r1=1.50&r2=1.51)
    pgsql-server/doc/src/sgml/ref:
        allfiles.sgml (r1.59 -> r1.60)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/doc/src/sgml/ref/allfiles.sgml.diff?r1=1.59&r2=1.60)
        begin.sgml (r1.30 -> r1.31)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/doc/src/sgml/ref/begin.sgml.diff?r1=1.30&r2=1.31)
        rollback.sgml (r1.17 -> r1.18)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/doc/src/sgml/ref/rollback.sgml.diff?r1=1.17&r2=1.18)
        start_transaction.sgml (r1.11 -> r1.12)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/doc/src/sgml/ref/start_transaction.sgml.diff?r1=1.11&r2=1.12)
    pgsql-server/src/backend/access/transam:
        varsup.c (r1.56 -> r1.57)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/transam/varsup.c.diff?r1=1.56&r2=1.57)
        xact.c (r1.174 -> r1.175)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/transam/xact.c.diff?r1=1.174&r2=1.175)
    pgsql-server/src/backend/catalog:
        index.c (r1.234 -> r1.235)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/catalog/index.c.diff?r1=1.234&r2=1.235)
    pgsql-server/src/backend/storage/ipc:
        sinval.c (r1.66 -> r1.67)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/storage/ipc/sinval.c.diff?r1=1.66&r2=1.67)
    pgsql-server/src/backend/tcop:
        utility.c (r1.221 -> r1.222)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/tcop/utility.c.diff?r1=1.221&r2=1.222)
    pgsql-server/src/backend/utils/init:
        miscinit.c (r1.129 -> r1.130)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/init/miscinit.c.diff?r1=1.129&r2=1.130)
    pgsql-server/src/include/access:
        htup.h (r1.67 -> r1.68)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/access/htup.h.diff?r1=1.67&r2=1.68)
        xact.h (r1.68 -> r1.69)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/access/xact.h.diff?r1=1.68&r2=1.69)
    pgsql-server/src/include:
        miscadmin.h (r1.163 -> r1.164)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/miscadmin.h.diff?r1=1.163&r2=1.164)
    pgsql-server/src/include/storage:
        proc.h (r1.71 -> r1.72)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/storage/proc.h.diff?r1=1.71&r2=1.72)
        sinval.h (r1.35 -> r1.36)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/storage/sinval.h.diff?r1=1.35&r2=1.36)
    pgsql-server/src/pl/plpgsql/src:
        pl_exec.c (r1.111 -> r1.112)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/pl/plpgsql/src/pl_exec.c.diff?r1=1.111&r2=1.112)
        pl_handler.c (r1.22 -> r1.23)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/pl/plpgsql/src/pl_handler.c.diff?r1=1.22&r2=1.23)
        plpgsql.h (r1.49 -> r1.50)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/pl/plpgsql/src/plpgsql.h.diff?r1=1.49&r2=1.50)

Added Files:
-----------
    pgsql-server/doc/src/sgml/ref:
        release.sgml (r1.1)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/doc/src/sgml/ref/release.sgml?rev=1.1&content-type=text/x-cvsweb-markup)
        rollback_to.sgml (r1.1)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/doc/src/sgml/ref/rollback_to.sgml?rev=1.1&content-type=text/x-cvsweb-markup)
        savepoint.sgml (r1.1)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/doc/src/sgml/ref/savepoint.sgml?rev=1.1&content-type=text/x-cvsweb-markup)