Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 935e675

Browse files
committed
Get rid of a global variable
bootstrap_data_checksum_version can just as easily be passed to where it is used via function arguments. Reviewed-by: Andres Freund <andres@anarazel.de> Discussion: https://www.postgresql.org/message-id/flat/e0a62134-83da-4ba4-8cdb-ceb0111c95ce@eisentraut.org
1 parent ffb0603 commit 935e675

File tree

3 files changed

+8
-11
lines changed

3 files changed

+8
-11
lines changed

src/backend/access/transam/xlog.c

+5-7
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,6 @@
105105
#include "utils/timestamp.h"
106106
#include "utils/varlena.h"
107107

108-
extern uint32 bootstrap_data_checksum_version;
109-
110108
/* timeline ID to be used when bootstrapping */
111109
#define BootstrapTimeLineID 1
112110

@@ -683,7 +681,7 @@ static void ValidateXLOGDirectoryStructure(void);
683681
static void CleanupBackupHistory(void);
684682
static void UpdateMinRecoveryPoint(XLogRecPtr lsn, bool force);
685683
static bool PerformRecoveryXLogAction(void);
686-
static void InitControlFile(uint64 sysidentifier);
684+
static void InitControlFile(uint64 sysidentifier, uint32 data_checksum_version);
687685
static void WriteControlFile(void);
688686
static void ReadControlFile(void);
689687
static void UpdateControlFile(void);
@@ -4190,7 +4188,7 @@ CleanupBackupHistory(void)
41904188
*/
41914189

41924190
static void
4193-
InitControlFile(uint64 sysidentifier)
4191+
InitControlFile(uint64 sysidentifier, uint32 data_checksum_version)
41944192
{
41954193
char mock_auth_nonce[MOCK_AUTH_NONCE_LEN];
41964194

@@ -4221,7 +4219,7 @@ InitControlFile(uint64 sysidentifier)
42214219
ControlFile->wal_level = wal_level;
42224220
ControlFile->wal_log_hints = wal_log_hints;
42234221
ControlFile->track_commit_timestamp = track_commit_timestamp;
4224-
ControlFile->data_checksum_version = bootstrap_data_checksum_version;
4222+
ControlFile->data_checksum_version = data_checksum_version;
42254223
}
42264224

42274225
static void
@@ -4997,7 +4995,7 @@ XLOGShmemInit(void)
49974995
* and the initial XLOG segment.
49984996
*/
49994997
void
5000-
BootStrapXLOG(void)
4998+
BootStrapXLOG(uint32 data_checksum_version)
50014999
{
50025000
CheckPoint checkPoint;
50035001
char *buffer;
@@ -5139,7 +5137,7 @@ BootStrapXLOG(void)
51395137
openLogFile = -1;
51405138

51415139
/* Now create pg_control */
5142-
InitControlFile(sysidentifier);
5140+
InitControlFile(sysidentifier, data_checksum_version);
51435141
ControlFile->time = checkPoint.time;
51445142
ControlFile->checkPoint = checkPoint.redo;
51455143
ControlFile->checkPointCopy = checkPoint;

src/backend/bootstrap/bootstrap.c

+2-3
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@
4141
#include "utils/rel.h"
4242
#include "utils/relmapper.h"
4343

44-
uint32 bootstrap_data_checksum_version = 0; /* No checksum */
45-
4644

4745
static void CheckerModeMain(void);
4846
static void bootstrap_signals(void);
@@ -202,6 +200,7 @@ BootstrapModeMain(int argc, char *argv[], bool check_only)
202200
char *progname = argv[0];
203201
int flag;
204202
char *userDoption = NULL;
203+
uint32 bootstrap_data_checksum_version = 0; /* No checksum */
205204

206205
Assert(!IsUnderPostmaster);
207206

@@ -332,7 +331,7 @@ BootstrapModeMain(int argc, char *argv[], bool check_only)
332331
BaseInit();
333332

334333
bootstrap_signals();
335-
BootStrapXLOG();
334+
BootStrapXLOG(bootstrap_data_checksum_version);
336335

337336
/*
338337
* To ensure that src/common/link-canary.c is linked into the backend, we

src/include/access/xlog.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ extern bool DataChecksumsEnabled(void);
231231
extern XLogRecPtr GetFakeLSNForUnloggedRel(void);
232232
extern Size XLOGShmemSize(void);
233233
extern void XLOGShmemInit(void);
234-
extern void BootStrapXLOG(void);
234+
extern void BootStrapXLOG(uint32 data_checksum_version);
235235
extern void InitializeWalConsistencyChecking(void);
236236
extern void LocalProcessControlFile(bool reset);
237237
extern WalLevel GetActiveWalLevelOnStandby(void);

0 commit comments

Comments
 (0)