pgsql: Refactor to create generic WAL page read callback

Started by Simon Riggsalmost 10 years ago2 messages
#1Simon Riggs
simon@2ndQuadrant.com

Refactor to create generic WAL page read callback

Previously we didn’t have a generic WAL page read callback function,
surprisingly. Logical decoding has logical_read_local_xlog_page(), which was
actually generic, so move that to xlogfunc.c and rename to
read_local_xlog_page().
Maintain logical_read_local_xlog_page() so existing callers still work.

As requested by Michael Paquier, Alvaro Herrera and Andres Freund

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/422a55a68784fd00f4514834f3649140a9166fa5

Modified Files
--------------
src/backend/access/transam/xlogutils.c | 166 ++++++++++++++++++++++++
src/backend/replication/logical/logicalfuncs.c | 158 +---------------------
src/include/access/xlogutils.h | 3 +
3 files changed, 172 insertions(+), 155 deletions(-)

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#2Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Simon Riggs (#1)
Re: [COMMITTERS] pgsql: Refactor to create generic WAL page read callback

Simon Riggs wrote:

Refactor to create generic WAL page read callback

Previously we didn’t have a generic WAL page read callback function,
surprisingly. Logical decoding has logical_read_local_xlog_page(), which was
actually generic, so move that to xlogfunc.c and rename to
read_local_xlog_page().
Maintain logical_read_local_xlog_page() so existing callers still work.

I wonder why we kept logical_read_local_xlog_page at all in this commit.
I vote for removing it completely and changing all existing code to use
the newer function. If some external module is already calling it for
some reason, surely they can simply add
#define logical_read_local_xlog_page(a,b,c) read_local_xlog_page(a,b,c)
in a compatibility shim.

--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers