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
index a3a83a9d36762365a0108d7008a104b13f0d68dd..04510094a80c80f1273ce9f5d74c220ba380dae9 100644 (file)
#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"
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);
index beb735d87b64473d6b8360222d71530114ee4c3c..ce0c9127bca340313829b307918020ee0ad45cdd 100644 (file)
#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);
/*
index 3f74bc84939380443a2e7484d87cd8401605c3a4..76ec3c7dd09c8ee7462984097928d89e6a42b32c 100644 (file)
#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.
*/
deleted file mode 100644
(file)
index
67c3fa1..0000000
+++ /dev/null
-/*-------------------------------------------------------------------------
- * 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