Commit 5d0c2d5e authored by Alvaro Herrera's avatar Alvaro Herrera

Remove logical_read_local_xlog_page

It devolved into a content-less wrapper over read_local_xlog_page, with
nothing to add, plus it's easily confused with walsender's
logical_read_xlog_page.  There doesn't seem to be any reason for it to
stay.

src/include/replication/logicalfuncs.h becomes empty, so remove it too.
The prototypes it initially had were absorbed by generated fmgrprotos.h.

Discussion: https://postgr.es/m/20191115214102.GA15616@alvherre.pgsql
parent bcd1c363
......@@ -28,7 +28,6 @@
#include "nodes/makefuncs.h"
#include "replication/decode.h"
#include "replication/logical.h"
#include "replication/logicalfuncs.h"
#include "replication/message.h"
#include "storage/fd.h"
#include "utils/array.h"
......@@ -105,14 +104,6 @@ check_permissions(void)
errmsg("must be superuser or replication role to use replication slots")));
}
int
logical_read_local_xlog_page(XLogReaderState *state, XLogRecPtr targetPagePtr,
int reqLen, XLogRecPtr targetRecPtr, char *cur_page)
{
return read_local_xlog_page(state, targetPagePtr, reqLen,
targetRecPtr, cur_page);
}
/*
* Helper function for the various SQL callable logical decoding functions.
*/
......@@ -242,7 +233,7 @@ pg_logical_slot_get_changes_guts(FunctionCallInfo fcinfo, bool confirm, bool bin
ctx = CreateDecodingContext(InvalidXLogRecPtr,
options,
false,
logical_read_local_xlog_page,
read_local_xlog_page,
LogicalOutputPrepareWrite,
LogicalOutputWrite, NULL);
......
......@@ -14,11 +14,11 @@
#include "access/htup_details.h"
#include "access/xlog_internal.h"
#include "access/xlogutils.h"
#include "funcapi.h"
#include "miscadmin.h"
#include "replication/decode.h"
#include "replication/logical.h"
#include "replication/logicalfuncs.h"
#include "replication/slot.h"
#include "utils/builtins.h"
#include "utils/inval.h"
......@@ -152,7 +152,7 @@ create_logical_replication_slot(char *name, char *plugin,
ctx = CreateInitDecodingContext(plugin, NIL,
false, /* just catalogs is OK */
restart_lsn,
logical_read_local_xlog_page, NULL, NULL,
read_local_xlog_page, NULL, NULL,
NULL);
/*
......@@ -424,7 +424,7 @@ pg_logical_replication_slot_advance(XLogRecPtr moveto)
ctx = CreateDecodingContext(InvalidXLogRecPtr,
NIL,
true, /* fast_forward */
logical_read_local_xlog_page,
read_local_xlog_page,
NULL, NULL, NULL);
/*
......
......@@ -70,7 +70,6 @@
#include "replication/basebackup.h"
#include "replication/decode.h"
#include "replication/logical.h"
#include "replication/logicalfuncs.h"
#include "replication/slot.h"
#include "replication/snapbuild.h"
#include "replication/syncrep.h"
......@@ -759,7 +758,7 @@ StartReplication(StartReplicationCmd *cmd)
/*
* read_page callback for logical decoding contexts, as a walsender process.
*
* Inside the walsender we can do better than logical_read_local_xlog_page,
* Inside the walsender we can do better than read_local_xlog_page,
* which has to do a plain sleep/busy loop, because the walsender's latch gets
* set every time WAL is flushed.
*/
......
/*-------------------------------------------------------------------------
* logicalfuncs.h
* PostgreSQL WAL to logical transformation support functions
*
* Copyright (c) 2012-2020, PostgreSQL Global Development Group
*
*-------------------------------------------------------------------------
*/
#ifndef LOGICALFUNCS_H
#define LOGICALFUNCS_H
#include "replication/logical.h"
extern int logical_read_local_xlog_page(XLogReaderState *state,
XLogRecPtr targetPagePtr,
int reqLen, XLogRecPtr targetRecPtr,
char *cur_page);
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment