Received: from localhost (unknown [200.46.204.183]) by postgresql.org (Postfix) with ESMTP id 66B3A650668 for ; Mon, 14 Jul 2008 12:47:32 -0300 (ADT) Received: from postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 15828-07 for ; Mon, 14 Jul 2008 12:47:27 -0300 (ADT) X-Greylist: delayed 00:05:01.394925 by SQLgrey-1.7.6 Received: from nabagan.bluegap.ch (nabagan.bluegap.ch [88.198.58.248]) by postgresql.org (Postfix) with ESMTP id AFB29650660 for ; Mon, 14 Jul 2008 12:47:27 -0300 (ADT) Received: from [192.168.77.34] (p4FC1A2A1.dip0.t-ipconnect.de [::ffff:79.193.162.161]) (AUTH: CRAM-MD5 markus@bluegap.ch, TLS: TLSv1/SSLv3, 256bits, AES256-SHA) by nabagan.bluegap.ch with esmtp; Mon, 14 Jul 2008 17:42:21 +0200 id 0155A501.487B73DD.00004C0C Message-ID: <487B73DD.1030204@programmfabrik.de> Date: Mon, 14 Jul 2008 17:42:21 +0200 From: Markus Wanner User-Agent: Mozilla-Thunderbird 2.0.0.14 (X11/20080509) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=_nabagan.bluegap.ch-19468-1216050142-0001-2" To: PostgreSQL-development Hackers Subject: Postgres-R source code release X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0 tagged_above=0 required=5 tests=none X-Spam-Level: X-Archive-Number: 200807/666 X-Sequence-Number: 120926 This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_nabagan.bluegap.ch-19468-1216050142-0001-2 Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: 7bit Dear Hackers, it has been two years, since I've presented my work on Postgres-R for the first time to a broader audience in Toronto. I continued maintaining that code in my spare time, but to be honest, I didn't have much time for it. As much as I'd like to change that, I now think the best thing for the project itself is to open it up and release the source code. I'd very much like to get others aboard and turn Postgres-R into a real community project again. Of course, the recent core statement about wanting an integrated replication solution also influenced my decision, even though I realize that Postgres-R is way more ambitious path than a log shipping solution. As a first step towards a community project, I've cleaned up the code and tried to comment and document it as good as I can. You are welcome to download the latest patch from http://www.postgres-r.org/downloads/. It expects to be applied against today's CVS HEAD. You'll find a README and a pretty exhaustive TODO file under src/backend/replication/. I plan to write a series of more technical mails following this one, to start the discussion about the internals of Postgres-R and decisions I made. That should give some starting points for those interested it the project. In case you are wondering: I've got married and I'm glad to tell you that I changed my very German sounding name Schiltknecht to a more pronounceable one: my new surname is Wanner. Looking forward to inspiring discussions with fellow hackers. Regards Markus Wanner --=_nabagan.bluegap.ch-19468-1216050142-0001-2 Content-Type: text/plain; name="diffstat.txt"; charset=iso-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="diffstat.txt" configure.in | 9 src/Makefile.global.in | 1 src/backend/Makefile | 4 src/backend/access/transam/varsup.c | 23 src/backend/access/transam/xact.c | 115 + src/backend/bootstrap/bootstrap.c | 3 src/backend/catalog/Makefile | 4 src/backend/catalog/catalog.c | 8 src/backend/catalog/index.c | 10 src/backend/commands/Makefile | 4 src/backend/commands/aggregatecmds.c | 25 src/backend/commands/comment.c | 25 src/backend/commands/conversioncmds.c | 25 src/backend/commands/dbcommands.c | 220 ++- src/backend/commands/functioncmds.c | 64 src/backend/commands/indexcmds.c | 9 src/backend/commands/lockcmds.c | 10 src/backend/commands/opclasscmds.c | 75 + src/backend/commands/operatorcmds.c | 24 src/backend/commands/prepare.c | 20 src/backend/commands/proclang.c | 32 src/backend/commands/replicacmds.c | 188 ++ src/backend/commands/schemacmds.c | 29 src/backend/commands/sequence.c | 193 ++ src/backend/commands/tablecmds.c | 44 src/backend/commands/trigger.c | 30 src/backend/commands/tsearchcmds.c | 136 + src/backend/commands/typecmds.c | 69 src/backend/commands/variable.c | 68 src/backend/executor/execMain.c | 651 +++++++++ src/backend/executor/execUtils.c | 9 src/backend/nodes/copyfuncs.c | 14 src/backend/nodes/equalfuncs.c | 12 src/backend/parser/gram.y | 92 + src/backend/parser/keywords.c | 6 src/backend/postmaster/postmaster.c | 349 ++++ src/backend/replication/HISTORY | 33 src/backend/replication/Makefile | 17 src/backend/replication/README | 93 + src/backend/replication/TODO | 161 ++ src/backend/replication/cset.c | 280 +++ src/backend/replication/gc_egcs.c | 580 ++++++++ src/backend/replication/gc_ensemble.c | 823 +++++++++++ src/backend/replication/gc_spread.c | 432 ++++++ src/backend/replication/gc_utils.c | 93 + src/backend/replication/local.c | 878 ++++++++++++ src/backend/replication/manager.c | 1859 ++++++++++++++++++++++++++ src/backend/replication/recovery.c | 1375 +++++++++++++++++++ src/backend/replication/remote.c | 463 ++++++ src/backend/replication/utils.c | 558 +++++++ src/backend/storage/ipc/Makefile | 4 src/backend/storage/ipc/buffer.c | 308 ++++ src/backend/storage/ipc/imsg.c | 369 +++++ src/backend/storage/ipc/ipci.c | 12 src/backend/storage/ipc/procarray.c | 106 + src/backend/storage/lmgr/lock.c | 2 src/backend/storage/lmgr/proc.c | 70 src/backend/tcop/postgres.c | 421 +++++ src/backend/tcop/utility.c | 6 src/backend/utils/cache/syscache.c | 1 src/backend/utils/init/globals.c | 24 src/backend/utils/init/miscinit.c | 6 src/backend/utils/init/postinit.c | 4 src/backend/utils/misc/check_guc | 4 src/backend/utils/misc/guc.c | 70 src/backend/utils/misc/postgresql.conf.sample | 11 src/include/Makefile | 4 src/include/access/transam.h | 4 src/include/access/xact.h | 10 src/include/catalog/indexing.h | 5 src/include/catalog/pg_database.h | 12 src/include/catalog/pg_replication_gcs.h | 60 src/include/commands/dbcommands.h | 2 src/include/commands/replicacmds.h | 22 src/include/commands/sequence.h | 16 src/include/commands/variable.h | 3 src/include/executor/executor.h | 7 src/include/miscadmin.h | 4 src/include/nodes/execnodes.h | 8 src/include/nodes/nodes.h | 1 src/include/nodes/parsenodes.h | 12 src/include/pg_config.h.in | 3 src/include/replication/cset.h | 121 + src/include/replication/gc.h | 215 +++ src/include/replication/jobcache.h | 30 src/include/replication/manager.h | 113 + src/include/replication/messages.h | 51 src/include/replication/recovery.h | 67 src/include/replication/replication.h | 132 + src/include/replication/utils.h | 71 src/include/storage/buffer.h | 63 src/include/storage/imsg.h | 83 + src/include/storage/proc.h | 20 src/include/storage/procarray.h | 8 src/include/utils/guc_tables.h | 4 src/interfaces/ecpg/preproc/preproc.y | 16 src/test/regress/expected/sanity_check.out | 3 src/test/regress/expected/sequence.out | 12 98 files changed, 12777 insertions(+), 68 deletions(-) --=_nabagan.bluegap.ch-19468-1216050142-0001-2--