mirror of
https://github.com/postgres/postgres.git
synced 2025-11-10 17:42:29 +03:00
Move InRecovery and standbyState global vars to xlogutils.c.
They are used in code that runs both during normal operation and during WAL replay, and needs to behave differently during replay. Move them to xlogutils.c, because that's where we have other helper functions used by redo routines. Reviewed-by: Andres Freund Discussion: https://www.postgresql.org/message-id/b3b71061-4919-e882-4857-27e370ab134a%40iki.fi
This commit is contained in:
@@ -88,7 +88,7 @@
|
||||
|
||||
#include "access/heapam_xlog.h"
|
||||
#include "access/visibilitymap.h"
|
||||
#include "access/xlog.h"
|
||||
#include "access/xlogutils.h"
|
||||
#include "miscadmin.h"
|
||||
#include "port/pg_bitutils.h"
|
||||
#include "storage/bufmgr.h"
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#include "access/htup_details.h"
|
||||
#include "access/slru.h"
|
||||
#include "access/transam.h"
|
||||
#include "access/xlogutils.h"
|
||||
#include "catalog/pg_type.h"
|
||||
#include "funcapi.h"
|
||||
#include "miscadmin.h"
|
||||
|
||||
@@ -74,8 +74,8 @@
|
||||
#include "access/twophase.h"
|
||||
#include "access/twophase_rmgr.h"
|
||||
#include "access/xact.h"
|
||||
#include "access/xlog.h"
|
||||
#include "access/xloginsert.h"
|
||||
#include "access/xlogutils.h"
|
||||
#include "catalog/pg_type.h"
|
||||
#include "commands/dbcommands.h"
|
||||
#include "funcapi.h"
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
#include "access/slru.h"
|
||||
#include "access/transam.h"
|
||||
#include "access/xlog.h"
|
||||
#include "access/xlogutils.h"
|
||||
#include "miscadmin.h"
|
||||
#include "pgstat.h"
|
||||
#include "storage/fd.h"
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include "access/subtrans.h"
|
||||
#include "access/transam.h"
|
||||
#include "access/xact.h"
|
||||
#include "access/xlog.h"
|
||||
#include "access/xlogutils.h"
|
||||
#include "commands/dbcommands.h"
|
||||
#include "miscadmin.h"
|
||||
#include "postmaster/autovacuum.h"
|
||||
|
||||
@@ -193,22 +193,6 @@ CheckpointStatsData CheckpointStats;
|
||||
*/
|
||||
TimeLineID ThisTimeLineID = 0;
|
||||
|
||||
/*
|
||||
* Are we doing recovery from XLOG?
|
||||
*
|
||||
* This is only ever true in the startup process; it should be read as meaning
|
||||
* "this process is replaying WAL records", rather than "the system is in
|
||||
* recovery mode". It should be examined primarily by functions that need
|
||||
* to act differently when called from a WAL redo function (e.g., to skip WAL
|
||||
* logging). To check whether the system is in recovery regardless of which
|
||||
* process you're running in, use RecoveryInProgress() but only after shared
|
||||
* memory startup and lock initialization.
|
||||
*/
|
||||
bool InRecovery = false;
|
||||
|
||||
/* Are we in Hot Standby mode? Only valid in startup process, see xlog.h */
|
||||
HotStandbyState standbyState = STANDBY_DISABLED;
|
||||
|
||||
static XLogRecPtr LastRec;
|
||||
|
||||
/* Local copy of WalRcv->flushedUpto */
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "access/xlogutils.h"
|
||||
#include "miscadmin.h"
|
||||
#include "pgstat.h"
|
||||
#include "storage/fd.h"
|
||||
#include "storage/smgr.h"
|
||||
#include "utils/guc.h"
|
||||
#include "utils/hsearch.h"
|
||||
@@ -34,6 +35,25 @@
|
||||
/* GUC variable */
|
||||
bool ignore_invalid_pages = false;
|
||||
|
||||
/*
|
||||
* Are we doing recovery from XLOG?
|
||||
*
|
||||
* This is only ever true in the startup process; it should be read as meaning
|
||||
* "this process is replaying WAL records", rather than "the system is in
|
||||
* recovery mode". It should be examined primarily by functions that need
|
||||
* to act differently when called from a WAL redo function (e.g., to skip WAL
|
||||
* logging). To check whether the system is in recovery regardless of which
|
||||
* process you're running in, use RecoveryInProgress() but only after shared
|
||||
* memory startup and lock initialization.
|
||||
*
|
||||
* This is updated from xlog.c, but lives here because it's mostly read by
|
||||
* WAL redo functions.
|
||||
*/
|
||||
bool InRecovery = false;
|
||||
|
||||
/* Are we in Hot Standby mode? Only valid in startup process, see xlogutils.h */
|
||||
HotStandbyState standbyState = STANDBY_DISABLED;
|
||||
|
||||
/*
|
||||
* During XLOG replay, we may see XLOG records for incremental updates of
|
||||
* pages that no longer exist, because their relation was later dropped or
|
||||
|
||||
Reference in New Issue
Block a user