pgsql: Remove read_page callback from XLogReader.

From: Thomas Munro <tmunro(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Remove read_page callback from XLogReader.
Date: 2021-04-08 11:23:10
Message-ID: E1lUSkg-0007xJ-CE@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Remove read_page callback from XLogReader.

Previously, the XLogReader module would fetch new input data using a
callback function. Redesign the interface so that it tells the caller
to insert more data with a special return value instead. This API suits
later patches for prefetching, encryption and maybe other future
projects that would otherwise require continually extending the callback
interface.

As incidental cleanup work, move global variables readOff, readLen and
readSegNo inside XlogReaderState.

Author: Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>
Author: Heikki Linnakangas <hlinnaka(at)iki(dot)fi> (parts of earlier version)
Reviewed-by: Antonin Houska <ah(at)cybertec(dot)at>
Reviewed-by: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Reviewed-by: Takashi Menjo <takashi(dot)menjo(at)gmail(dot)com>
Reviewed-by: Andres Freund <andres(at)anarazel(dot)de>
Reviewed-by: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Discussion: https://postgr.es/m/20190418.210257.43726183.horiguchi.kyotaro%40lab.ntt.co.jp

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/323cbe7c7ddcf18aaf24b7f6d682a45a61d4e31b

Modified Files
--------------
src/backend/access/transam/twophase.c | 14 +-
src/backend/access/transam/xlog.c | 126 ++--
src/backend/access/transam/xlogreader.c | 931 +++++++++++++++----------
src/backend/access/transam/xlogutils.c | 24 +-
src/backend/replication/logical/logical.c | 26 +-
src/backend/replication/logical/logicalfuncs.c | 13 +-
src/backend/replication/slotfuncs.c | 18 +-
src/backend/replication/walsender.c | 42 +-
src/bin/pg_rewind/parsexlog.c | 107 +--
src/bin/pg_waldump/pg_waldump.c | 138 ++--
src/include/access/xlogreader.h | 153 ++--
src/include/access/xlogutils.h | 4 +-
src/include/replication/logical.h | 11 +-
13 files changed, 930 insertions(+), 677 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message David Rowley 2021-04-08 11:51:45 pgsql: Speedup ScalarArrayOpExpr evaluation
Previous Message Julien Rouhaud 2021-04-08 10:56:09 Re: pgsql: Move pg_stat_statements query jumbling to core.