diff options
| author | Michael Paquier | 2018-07-23 00:37:36 +0000 |
|---|---|---|
| committer | Michael Paquier | 2018-07-23 00:37:36 +0000 |
| commit | e41d0a1090b75fed4c033c2e404643382348f88e (patch) | |
| tree | 96cade6f6ccacf5ed088df67ae0e225720679d47 /src/common | |
| parent | 56df07bb9e50a3ca4d148c537524f00bccc6650e (diff) | |
Add proper errcodes to new error messages for read() failures
Those would use the default ERRCODE_INTERNAL_ERROR, but for foreseeable
failures an errcode ought to be set, ERRCODE_DATA_CORRUPTED making the
most sense here.
While on the way, fix one errcode_for_file_access missing in origin.c
since the code has been created, and remove one assignment of errno to 0
before calling read(), as this was around to fit with what was present
before 811b6e36 where errno would not be set when not enough bytes are
read. I have noticed the first one, and Tom has pinged me about the
second one.
Author: Michael Paquier
Reported-by: Tom Lane
Discussion: https://postgr.es/m/27265.1531925836@sss.pgh.pa.us
Diffstat (limited to 'src/common')
| -rw-r--r-- | src/common/controldata_utils.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/common/controldata_utils.c b/src/common/controldata_utils.c index 60197b24406..e24af48f52e 100644 --- a/src/common/controldata_utils.c +++ b/src/common/controldata_utils.c @@ -83,7 +83,8 @@ get_controlfile(const char *DataDir, const char *progname, bool *crc_ok_p) else #ifndef FRONTEND ereport(ERROR, - (errmsg("could not read file \"%s\": read %d of %zu", + (errcode(ERRCODE_DATA_CORRUPTED), + errmsg("could not read file \"%s\": read %d of %zu", ControlFilePath, r, sizeof(ControlFileData)))); #else { |
