From 11abd6c90f1094eaeee32e1c57d250c9db5102cb Mon Sep 17 00:00:00 2001 From: Andres Freund <andres@anarazel.de> Date: Tue, 21 Oct 2014 00:20:08 +0200 Subject: [PATCH] Renumber CHECKPOINT_* flags. Commit 7dbb6069382 added a new CHECKPOINT_FLUSH_ALL flag. As that commit needed to be backpatched I didn't change the numeric values of the existing flags as that could lead to nastly problems if any external code issued checkpoints. That's not a concern on master, so renumber them there. Also add a comment about CHECKPOINT_FLUSH_ALL above CreateCheckPoint(). --- src/backend/access/transam/xlog.c | 1 + src/include/access/xlog.h | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index a9df3a5806d..a5b26d880b2 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -7892,6 +7892,7 @@ LogCheckpointEnd(bool restartpoint) * CHECKPOINT_FORCE: force a checkpoint even if no XLOG activity has occurred * since the last one (implied by CHECKPOINT_IS_SHUTDOWN or * CHECKPOINT_END_OF_RECOVERY). + * CHECKPOINT_FLUSH_ALL: also flush buffers of unlogged tables. * * Note: flags contains other bits, of interest here only for logging purposes. * In particular note that this routine is synchronous and does not pay diff --git a/src/include/access/xlog.h b/src/include/access/xlog.h index ca35f3e65f7..0ae110f18b7 100644 --- a/src/include/access/xlog.h +++ b/src/include/access/xlog.h @@ -248,13 +248,13 @@ extern bool XLOG_DEBUG; * recovery */ #define CHECKPOINT_IMMEDIATE 0x0004 /* Do it without delays */ #define CHECKPOINT_FORCE 0x0008 /* Force even if no activity */ +#define CHECKPOINT_FLUSH_ALL 0x0010 /* Flush all pages, including those + * belonging to unlogged tables */ /* These are important to RequestCheckpoint */ -#define CHECKPOINT_WAIT 0x0010 /* Wait for completion */ +#define CHECKPOINT_WAIT 0x0020 /* Wait for completion */ /* These indicate the cause of a checkpoint request */ -#define CHECKPOINT_CAUSE_XLOG 0x0020 /* XLOG consumption */ -#define CHECKPOINT_CAUSE_TIME 0x0040 /* Elapsed time */ -#define CHECKPOINT_FLUSH_ALL 0x0080 /* Flush all pages, including those - * belonging to unlogged tables */ +#define CHECKPOINT_CAUSE_XLOG 0x0040 /* XLOG consumption */ +#define CHECKPOINT_CAUSE_TIME 0x0080 /* Elapsed time */ /* Checkpoint statistics */ typedef struct CheckpointStatsData -- GitLab