pgsql: Rethink the way walreceiver is linked into the backend. Instead

From: heikki(at)postgresql(dot)org (Heikki Linnakangas)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Rethink the way walreceiver is linked into the backend. Instead
Date: 2010-01-20 09:16:24
Message-ID: 20100120091624.D69D17541B9@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Rethink the way walreceiver is linked into the backend. Instead than shoving
walreceiver as whole into a dynamically loaded module, split the
libpq-specific parts of it into dynamically loaded module and keep the rest
in the main backend binary.

Although Tom fixed the Windows compilation problems with the old walreceiver
module already, this is a cleaner division of labour and makes the code
more readable. There's also the prospect of adding new transport methods
as pluggable modules in the future, which this patch makes easier, though for
now the API between libpqwalreceiver and walreceiver process should be
considered private.

The libpq-specific module is now in src/backend/replication/libpqwalreceiver,
and the part linked with postgres binary is in
src/backend/replication/walreceiver.c.

Modified Files:
--------------
pgsql/src:
Makefile (r1.49 -> r1.50)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/Makefile?r1=1.49&r2=1.50)
pgsql/src/backend/bootstrap:
bootstrap.c (r1.256 -> r1.257)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/bootstrap/bootstrap.c?r1=1.256&r2=1.257)
pgsql/src/backend/replication:
Makefile (r1.1 -> r1.2)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/replication/Makefile?r1=1.1&r2=1.2)
README (r1.1 -> r1.2)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/replication/README?r1=1.1&r2=1.2)
walreceiverfuncs.c (r1.1 -> r1.2)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/replication/walreceiverfuncs.c?r1=1.1&r2=1.2)
pgsql/src/include/replication:
walreceiver.h (r1.2 -> r1.3)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/replication/walreceiver.h?r1=1.2&r2=1.3)

Added Files:
-----------
pgsql/src/backend/replication:
walreceiver.c (r1.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/replication/walreceiver.c?rev=1.1&content-type=text/x-cvsweb-markup)
pgsql/src/backend/replication/libpqwalreceiver:
Makefile (r1.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/replication/libpqwalreceiver/Makefile?rev=1.1&content-type=text/x-cvsweb-markup)
libpqwalreceiver.c (r1.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c?rev=1.1&content-type=text/x-cvsweb-markup)

Removed Files:
-------------
pgsql/src/backend/replication/walreceiver:
Makefile
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/replication/walreceiver/Makefile)
walreceiver.c
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/replication/walreceiver/walreceiver.c)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2010-01-20 09:22:43 pgsql: Adjust MSVC build script too, now that the walreceiver dynamic
Previous Message Heikki Linnakangas 2010-01-20 09:10:41 pgsql: New Directory