Postgres-R source code release - Mailing list pgsql-hackers

From Markus Wanner
Subject Postgres-R source code release
Date
Msg-id 487B73DD.1030204@programmfabrik.de
Whole thread Raw
Responses Re: Postgres-R source code release
Re: Postgres-R source code release
Re: Postgres-R source code release
List pgsql-hackers
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

 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(-)

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Building under Visual Studio 2008 - pqcomm.c compile error
Next
From: "Dave Page"
Date:
Subject: Re: Building under Visual Studio 2008 - pqcomm.c compile error