From: Michael Paquier Date: Tue, 4 Sep 2018 18:06:04 +0000 (-0700) Subject: Improve some error message strings and errcodes X-Git-Tag: REL_12_BETA1~1614 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d6e98ebe375e115c29028f9bd090f0f7e07e2527;p=thirdparty%2Fpostgresql.git Improve some error message strings and errcodes 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 --- diff --git a/contrib/pg_prewarm/autoprewarm.c b/contrib/pg_prewarm/autoprewarm.c index cc5e2dd89cd..03bf90ce2d8 100644 --- a/contrib/pg_prewarm/autoprewarm.c +++ b/contrib/pg_prewarm/autoprewarm.c @@ -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))); } diff --git a/src/backend/replication/basebackup.c b/src/backend/replication/basebackup.c index 3f1eae38a92..91ae4489552 100644 --- a/src/backend/replication/basebackup.c +++ b/src/backend/replication/basebackup.c @@ -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); } diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c index cb781e6e9a3..800ca144882 100644 --- a/src/backend/replication/slot.c +++ b/src/backend/replication/slot.c @@ -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;