bdr: Introduce "replication_identifiers" to keep track of remote nodes
authorAndres Freund <andres@anarazel.de>
Fri, 22 Feb 2013 16:43:27 +0000 (17:43 +0100)
committerAndres Freund <andres@anarazel.de>
Fri, 17 May 2013 16:40:36 +0000 (18:40 +0200)
commit8459040789b40335c34403e4b9c84e0d1d1f43ed
tree509bf94b3ac819cf9b101654be8dcbefdd72e622
parent14a5c30982a3a78dd6509d1d014d8b5db86f8518
bdr: Introduce "replication_identifiers" to keep track of remote nodes

Replication identifiers can be used to track & lookup remote nodes identified
via (sysid, tlid, remote_dbid, local_dbid, name) and map that tuple to a local
uint16.
Keyed by that replication identifier the remote lsn and the local lsn is
tracked in a crash safe manner.

Support for tracking that via output plugins is added as well.

Needs a catversion bump.
26 files changed:
src/backend/access/rmgrdesc/xactdesc.c
src/backend/access/transam/xact.c
src/backend/access/transam/xlog.c
src/backend/catalog/Makefile
src/backend/catalog/catalog.c
src/backend/replication/logical/Makefile
src/backend/replication/logical/decode.c
src/backend/replication/logical/logical.c
src/backend/replication/logical/reorderbuffer.c
src/backend/replication/logical/replication_identifier.c [new file with mode: 0644]
src/backend/storage/ipc/ipci.c
src/backend/utils/cache/syscache.c
src/backend/utils/misc/guc.c
src/backend/utils/misc/postgresql.conf.sample
src/bin/initdb/initdb.c
src/bin/pg_resetxlog/pg_resetxlog.c
src/include/access/xact.h
src/include/access/xlog.h
src/include/access/xlogdefs.h
src/include/catalog/indexing.h
src/include/catalog/pg_replication_identifier.h [new file with mode: 0644]
src/include/replication/logical.h
src/include/replication/reorderbuffer.h
src/include/replication/replication_identifier.h [new file with mode: 0644]
src/include/utils/syscache.h
src/test/regress/expected/sanity_check.out