Thread: pgsql: Make the server track an 'XID epoch', that is, maintain

pgsql: Make the server track an 'XID epoch', that is, maintain

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Make the server track an 'XID epoch', that is, maintain higher-order bits
of the transaction ID counter.  Nothing is done with the epoch except to
store it in checkpoint records, but this provides a foundation with which
add-on code can pretend that XIDs never wrap around.  This is a severely
trimmed and rewritten version of the xxid patch submitted by Marko Kreen.
Per discussion, the epoch counter seems the only part of xxid that really
needs to be in the core server.

Modified Files:
--------------
    pgsql/doc/src/sgml/ref:
        pg_resetxlog.sgml (r1.16 -> r1.17)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/pg_resetxlog.sgml.diff?r1=1.16&r2=1.17)
    pgsql/src/backend/access/transam:
        xlog.c (r1.248 -> r1.249)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c.diff?r1=1.248&r2=1.249)
    pgsql/src/bin/pg_controldata:
        pg_controldata.c (r1.30 -> r1.31)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_controldata/pg_controldata.c.diff?r1=1.30&r2=1.31)
    pgsql/src/bin/pg_resetxlog:
        pg_resetxlog.c (r1.51 -> r1.52)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_resetxlog/pg_resetxlog.c.diff?r1=1.51&r2=1.52)
    pgsql/src/include/access:
        xlog.h (r1.73 -> r1.74)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/xlog.h.diff?r1=1.73&r2=1.74)
    pgsql/src/include/catalog:
        pg_control.h (r1.31 -> r1.32)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_control.h.diff?r1=1.31&r2=1.32)