From facada7a8e574e021f3986eb2ae0027c8f8fc081 Mon Sep 17 00:00:00 2001 From: Anastasia Date: Thu, 16 Aug 2018 23:02:59 +0300 Subject: [PATCH] Throw an error if WAL file is from different database system. Fix: add this check for all wal readers --- src/parsexlog.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/parsexlog.c b/src/parsexlog.c index f8fba342..9411d291 100644 --- a/src/parsexlog.c +++ b/src/parsexlog.c @@ -149,9 +149,9 @@ doExtractPageMap(void *arg) private_data = &extract_arg->private_data; xlogreader = XLogReaderAllocate(&SimpleXLogPageRead, private_data); - xlogreader->system_identifier = system_identifier; if (xlogreader == NULL) elog(ERROR, "out of memory"); + xlogreader->system_identifier = system_identifier; found = XLogFindNextRecord(xlogreader, extract_arg->startpoint); @@ -870,6 +870,7 @@ InitXLogPageRead(XLogPageReadPrivate *private_data, const char *archivedir, xlogreader = XLogReaderAllocate(&SimpleXLogPageRead, private_data); if (xlogreader == NULL) elog(ERROR, "out of memory"); + xlogreader->system_identifier = system_identifier; } return xlogreader;