]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Use PG_DATA_CHECKSUM_OFF instead of hardcoded value
authorDaniel Gustafsson <dgustafsson@postgresql.org>
Mon, 6 Apr 2026 20:11:53 +0000 (22:11 +0200)
committerDaniel Gustafsson <dgustafsson@postgresql.org>
Mon, 6 Apr 2026 20:11:53 +0000 (22:11 +0200)
For a long time, the online checksums patchset kept the "off" state as
literal zero without a label to be consistent with the previous coding
which only had a label for the "on" state.  Later, when an "off" label
was made not all uses in the code got the memo.  Fix by setting these
to PG_DATA_CHECKSUM_OFF.

While there, fix a duplicate word in a comment introduced by the same
commit.

Author: Aleksander Alekseev <aleksander@tigerdata.com>
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
Discussion: https://postgr.es/m/CAJ7c6TPRTnQFXXX1CRcYoTLXw2swtDH==uSz1MYoMKdLrKZHjA@mail.gmail.com

src/backend/access/transam/xlog.c
src/backend/bootstrap/bootstrap.c
src/bin/pg_checksums/pg_checksums.c
src/bin/pg_combinebackup/pg_combinebackup.c
src/bin/pg_upgrade/controldata.c
src/bin/pg_upgrade/file.c

index b82af9a85c0a0651b102deb9aa6e30c2b87d9740..260fc801ce2e60cd88d5b321eb89462cd7d2bbf0 100644 (file)
@@ -4836,7 +4836,7 @@ SetDataChecksumsOn(void)
 
        /*
         * Await state transition to "on" in all backends. When done we know that
-        * data data checksums are both written and verified in all backends.
+        * data checksums are both written and verified in all backends.
         */
        WaitForProcSignalBarrier(barrier);
 }
@@ -4864,7 +4864,7 @@ SetDataChecksumsOff(void)
        SpinLockAcquire(&XLogCtl->info_lck);
 
        /* If data checksums are already disabled there is nothing to do */
-       if (XLogCtl->data_checksum_version == 0)
+       if (XLogCtl->data_checksum_version == PG_DATA_CHECKSUM_OFF)
        {
                SpinLockRelease(&XLogCtl->info_lck);
                return;
@@ -4931,7 +4931,7 @@ SetDataChecksumsOff(void)
        XLogChecksums(PG_DATA_CHECKSUM_OFF);
 
        SpinLockAcquire(&XLogCtl->info_lck);
-       XLogCtl->data_checksum_version = 0;
+       XLogCtl->data_checksum_version = PG_DATA_CHECKSUM_OFF;
        SpinLockRelease(&XLogCtl->info_lck);
 
        barrier = EmitProcSignalBarrier(PROCSIGNAL_BARRIER_CHECKSUM_OFF);
@@ -6605,7 +6605,7 @@ StartupXLOG(void)
                XLogChecksums(PG_DATA_CHECKSUM_OFF);
 
                SpinLockAcquire(&XLogCtl->info_lck);
-               XLogCtl->data_checksum_version = 0;
+               XLogCtl->data_checksum_version = PG_DATA_CHECKSUM_OFF;
                SetLocalDataChecksumState(XLogCtl->data_checksum_version);
                SpinLockRelease(&XLogCtl->info_lck);
 
@@ -6625,7 +6625,7 @@ StartupXLOG(void)
                XLogChecksums(PG_DATA_CHECKSUM_OFF);
 
                SpinLockAcquire(&XLogCtl->info_lck);
-               XLogCtl->data_checksum_version = 0;
+               XLogCtl->data_checksum_version = PG_DATA_CHECKSUM_OFF;
                SetLocalDataChecksumState(XLogCtl->data_checksum_version);
                SpinLockRelease(&XLogCtl->info_lck);
        }
index 63378ab3d8c2c47589dfaa19af6492da0999e2a2..a4af7bf8fad0b107cd935d787f3f97588fd1bd41 100644 (file)
@@ -241,7 +241,7 @@ BootstrapModeMain(int argc, char *argv[], bool check_only)
        pg_getopt_ctx optctx;
        int                     flag;
        char       *userDoption = NULL;
-       uint32          bootstrap_data_checksum_version = 0;    /* No checksum */
+       uint32          bootstrap_data_checksum_version = PG_DATA_CHECKSUM_OFF;
        yyscan_t        scanner;
 
        Assert(!IsUnderPostmaster);
index 2a38f1d688b31718cca5827b08cac8094e988a80..cfacd1300fc1d98dcf1e140bcec6a9396a6cc71b 100644 (file)
@@ -589,7 +589,7 @@ main(int argc, char *argv[])
                mode == PG_MODE_CHECK)
                pg_fatal("data checksums are not enabled in cluster");
 
-       if (ControlFile->data_checksum_version == 0 &&
+       if (ControlFile->data_checksum_version == PG_DATA_CHECKSUM_OFF &&
                mode == PG_MODE_DISABLE)
                pg_fatal("data checksums are already disabled in cluster");
 
@@ -645,7 +645,7 @@ main(int argc, char *argv[])
        if (mode == PG_MODE_ENABLE || mode == PG_MODE_DISABLE)
        {
                ControlFile->data_checksum_version =
-                       (mode == PG_MODE_ENABLE) ? PG_DATA_CHECKSUM_VERSION : 0;
+                       (mode == PG_MODE_ENABLE) ? PG_DATA_CHECKSUM_VERSION : PG_DATA_CHECKSUM_OFF;
 
                if (do_sync)
                {
index ac7eb0940d574d1d445c51b6f01cff23979df6f2..d13bf63eb1e5f2553f905bbbd76c58b3202d8eb4 100644 (file)
@@ -615,7 +615,7 @@ check_control_files(int n_backups, char **backup_dirs)
 {
        int                     i;
        uint64          system_identifier = 0;  /* placate compiler */
-       uint32          data_checksum_version = 0;      /* placate compiler */
+       uint32          data_checksum_version = PG_DATA_CHECKSUM_OFF;   /* placate compiler */
        bool            data_checksum_mismatch = false;
 
        /* Try to read each control file in turn, last to first. */
@@ -652,7 +652,7 @@ check_control_files(int n_backups, char **backup_dirs)
                 */
                if (i == n_backups - 1)
                        data_checksum_version = control_file->data_checksum_version;
-               else if (data_checksum_version != 0 &&
+               else if (data_checksum_version != PG_DATA_CHECKSUM_OFF &&
                                 data_checksum_version != control_file->data_checksum_version)
                        data_checksum_mismatch = true;
 
index 79053d22dcc49650176a7c9cc67ee1846d502c32..e18687226aebc437fafeb1efbadd1d73a06b27f6 100644 (file)
@@ -206,7 +206,7 @@ get_control_data(ClusterInfo *cluster)
        /* Only in <= 9.2 */
        if (GET_MAJOR_VERSION(cluster->major_version) <= 902)
        {
-               cluster->controldata.data_checksum_version = 0;
+               cluster->controldata.data_checksum_version = PG_DATA_CHECKSUM_OFF;
                got_data_checksum_version = true;
        }
 
@@ -749,11 +749,11 @@ check_control_data(ControlData *oldctrl,
         * We might eventually allow upgrades from checksum to no-checksum
         * clusters.
         */
-       if (oldctrl->data_checksum_version == 0 &&
-               newctrl->data_checksum_version != 0)
+       if (oldctrl->data_checksum_version == PG_DATA_CHECKSUM_OFF &&
+               newctrl->data_checksum_version != PG_DATA_CHECKSUM_OFF)
                pg_fatal("old cluster does not use data checksums but the new one does");
-       else if (oldctrl->data_checksum_version != 0 &&
-                        newctrl->data_checksum_version == 0)
+       else if (oldctrl->data_checksum_version != PG_DATA_CHECKSUM_OFF &&
+                        newctrl->data_checksum_version == PG_DATA_CHECKSUM_OFF)
                pg_fatal("old cluster uses data checksums but the new one does not");
        else if (oldctrl->data_checksum_version != newctrl->data_checksum_version)
                pg_fatal("old and new cluster pg_controldata checksum versions do not match");
index 4692e896326d05ec93f673eadbdefffe66a087cc..5b2760086146d051565833b20e662cd6556fb70f 100644 (file)
@@ -331,7 +331,7 @@ rewriteVisibilityMap(const char *fromfile, const char *tofile,
                                break;
 
                        /* Set new checksum for visibility map page, if enabled */
-                       if (new_cluster.controldata.data_checksum_version != 0)
+                       if (new_cluster.controldata.data_checksum_version != PG_DATA_CHECKSUM_OFF)
                                ((PageHeader) new_vmbuf.data)->pd_checksum =
                                        pg_checksum_page(new_vmbuf.data, new_blkno);