Improve some error message strings and errcodes
authorMichael Paquier <michael@paquier.xyz>
Tue, 4 Sep 2018 18:06:04 +0000 (11:06 -0700)
committerMichael Paquier <michael@paquier.xyz>
Tue, 4 Sep 2018 18:06:04 +0000 (11:06 -0700)
This makes a bit less work for translators, by unifying error strings a
bit more with what the rest of the code does, this time for three error
strings in autoprewarm and one in base backup code.

After some code review of slot.c, some file-access errcodes are reported
but lead to an incorrect internal error, while corrupted data makes the
most sense, similarly to the previous work done in e41d0a1.  Also,
after calling rmtree(), a WARNING gets reported, which is a duplicate of
what the internal call report, so make the code more consistent with all
other code paths calling this function.

Author: Michael Paquier
Discussion: https://postgr.es/m/20180902200747.GC1343@paquier.xyz

contrib/pg_prewarm/autoprewarm.c
src/backend/replication/basebackup.c
src/backend/replication/slot.c

index cc5e2dd89cd48de64d5e9dff6f10104f0596aad7..03bf90ce2d890b68d7b39c9df009cdb36ced0493 100644 (file)
@@ -641,7 +641,7 @@ apw_dump_now(bool is_bgworker, bool dump_unlogged)
                errno = save_errno;
                ereport(ERROR,
                                (errcode_for_file_access(),
-                                errmsg("could not write to file \"%s\" : %m",
+                                errmsg("could not write to file \"%s\": %m",
                                                transient_dump_file_path)));
        }
 
@@ -664,7 +664,7 @@ apw_dump_now(bool is_bgworker, bool dump_unlogged)
                        errno = save_errno;
                        ereport(ERROR,
                                        (errcode_for_file_access(),
-                                        errmsg("could not write to file \"%s\" : %m",
+                                        errmsg("could not write to file \"%s\": %m",
                                                        transient_dump_file_path)));
                }
        }
@@ -684,7 +684,7 @@ apw_dump_now(bool is_bgworker, bool dump_unlogged)
                errno = save_errno;
                ereport(ERROR,
                                (errcode_for_file_access(),
-                                errmsg("could not close file \"%s\" : %m",
+                                errmsg("could not close file \"%s\": %m",
                                                transient_dump_file_path)));
        }
 
index 3f1eae38a92fca5240edd72bea43dc5ff022da8f..91ae4489552865347cdc4ab68f6ca4feb8027226 100644 (file)
@@ -333,7 +333,7 @@ perform_base_backup(basebackup_options *opt)
                                if (lstat(XLOG_CONTROL_FILE, &statbuf) != 0)
                                        ereport(ERROR,
                                                        (errcode_for_file_access(),
-                                                        errmsg("could not stat control file \"%s\": %m",
+                                                        errmsg("could not stat file \"%s\": %m",
                                                                        XLOG_CONTROL_FILE)));
                                sendFile(XLOG_CONTROL_FILE, XLOG_CONTROL_FILE, &statbuf, false);
                        }
index cb781e6e9a3b4551bec4ccdbd50f52bfea48409c..800ca144882f69ea16fdf054703a60a7d585f058 100644 (file)
@@ -628,8 +628,7 @@ ReplicationSlotDropPtr(ReplicationSlot *slot)
         */
        if (!rmtree(tmppath, true))
                ereport(WARNING,
-                               (errcode_for_file_access(),
-                                errmsg("could not remove directory \"%s\"", tmppath)));
+                               (errmsg("could not remove directory \"%s\"", tmppath)));
 
        /*
         * We release this at the very end, so that nobody starts trying to create
@@ -1132,8 +1131,8 @@ StartupReplicationSlots(void)
                        if (!rmtree(path, true))
                        {
                                ereport(WARNING,
-                                               (errcode_for_file_access(),
-                                                errmsg("could not remove directory \"%s\"", path)));
+                                               (errmsg("could not remove directory \"%s\"",
+                                                               path)));
                                continue;
                        }
                        fsync_fname("pg_replslot", true);
@@ -1432,21 +1431,21 @@ RestoreSlotFromDisk(const char *name)
        /* verify magic */
        if (cp.magic != SLOT_MAGIC)
                ereport(PANIC,
-                               (errcode_for_file_access(),
+                               (errcode(ERRCODE_DATA_CORRUPTED),
                                 errmsg("replication slot file \"%s\" has wrong magic number: %u instead of %u",
                                                path, cp.magic, SLOT_MAGIC)));
 
        /* verify version */
        if (cp.version != SLOT_VERSION)
                ereport(PANIC,
-                               (errcode_for_file_access(),
+                               (errcode(ERRCODE_DATA_CORRUPTED),
                                 errmsg("replication slot file \"%s\" has unsupported version %u",
                                                path, cp.version)));
 
        /* boundary check on length */
        if (cp.length != ReplicationSlotOnDiskV2Size)
                ereport(PANIC,
-                               (errcode_for_file_access(),
+                               (errcode(ERRCODE_DATA_CORRUPTED),
                                 errmsg("replication slot file \"%s\" has corrupted length %u",
                                                path, cp.length)));
 
@@ -1496,8 +1495,8 @@ RestoreSlotFromDisk(const char *name)
                if (!rmtree(slotdir, true))
                {
                        ereport(WARNING,
-                                       (errcode_for_file_access(),
-                                        errmsg("could not remove directory \"%s\"", slotdir)));
+                                       (errmsg("could not remove directory \"%s\"",
+                                                       slotdir)));
                }
                fsync_fname("pg_replslot", true);
                return;