Re: logical changeset generation v4 - Heikki's thoughts about the patch state

From: Andres Freund <andres(at)2ndquadrant(dot)com>
To: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Stephen Frost <sfrost(at)snowman(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com>, Phil Sorber <phil(at)omniti(dot)com>, Josh Berkus <josh(at)agliodbs(dot)com>, Dimitri Fontaine <dimitri(at)2ndquadrant(dot)fr>, Jeff Janes <jeff(dot)janes(at)gmail(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com>, Magnus Hagander <magnus(at)hagander(dot)net>, Abhijit Menon-Sen <ams(at)2ndquadrant(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: logical changeset generation v4 - Heikki's thoughts about the patch state
Date: 2013-01-25 01:35:08
Message-ID: 20130125013508.GB15706@awork2.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2013-01-24 20:53:18 +0200, Heikki Linnakangas wrote:
> That said (hah, you knew there would be a "but" ;-)), now that I see what
> that looks like, I'm feeling that maybe it wasn't such a good idea after
> all. It sounded like a fairly small patch that greatly reduces the overhead
> in the master with existing replication systems like slony, but it turned
> out to be a huge patch with a lot of new concepts and interfaces.

Heh, I know the feeling that there must be a simpler way. But after
trying several approaches (more than I dare to admit) I don't really
think there's any that provides the asked for flexibility.
I really think the flexibility is whats required to satisfy the very
diverse aims people have for a feature like this.

And if you look at the overall diffstat, without minor changes, example
code and documentation:

src/backend/access/heap/heapam.c | 286 ++-
src/backend/replication/logical/decode.c | 514 ++++++
src/backend/replication/logical/logical.c | 943 ++++++++++
src/backend/replication/logical/logicalfuncs.c | 115 ++
src/backend/replication/logical/reorderbuffer.c | 1947 ++++++++++++++++++++
src/backend/replication/logical/snapbuild.c | 1596 ++++++++++++++++
src/backend/replication/walsender.c | 620 ++++++-
src/bin/pg_basebackup/pg_receivellog.c | 869 +++++++++
src/include/replication/decode.h | 20 +
src/include/replication/logical.h | 205 +++
src/include/replication/logicalfuncs.h | 14 +
src/include/replication/output_plugin.h | 73 +
src/include/replication/reorderbuffer.h | 296 +++
src/include/replication/snapbuild.h | 176 ++
src/include/replication/walsender_private.h | 6 +-
src/backend/storage/ipc/procarray.c | 63 +-
src/backend/utils/time/tqual.c | 272 ++-

Its not *that* big compared to other patches that have been committed.

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Greg Stark 2013-01-25 01:35:54 Re: patch submission: truncate trailing nulls from heap rows to reduce the size of the null bitmap [Review]
Previous Message Bruce Momjian 2013-01-25 01:28:41 Re: logical changeset generation v4 - Heikki's thoughts about the patch state