aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Conway <mail@joeconway.com>2016-03-07 15:14:20 -0800
committerJoe Conway <mail@joeconway.com>2016-03-07 15:14:20 -0800
commit7b077af5000cb94b8547b62ee45697cf6bf806ef (patch)
tree9c2d59de4dd6bc50dfcd16f9414d5e175976a5a0
parentb63bea5fd3bba4d7a61c3beaba51a06f24b38da6 (diff)
downloadpostgresql-7b077af5000cb94b8547b62ee45697cf6bf806ef.tar.gz
postgresql-7b077af5000cb94b8547b62ee45697cf6bf806ef.zip
Make get_controlfile() error logging consistent with src/common
As originally committed, get_controlfile() used a non-standard approach to error logging. Make it consistent with the majority of error logging done in src/common. Applies to master only.
-rw-r--r--src/common/controldata_utils.c40
1 files changed, 23 insertions, 17 deletions
diff --git a/src/common/controldata_utils.c b/src/common/controldata_utils.c
index b6d0a128f7f..6867c03bee5 100644
--- a/src/common/controldata_utils.c
+++ b/src/common/controldata_utils.c
@@ -28,19 +28,6 @@
#include "common/controldata_utils.h"
#include "port/pg_crc32c.h"
-#ifndef FRONTEND
-/* NOTE: caller must provide gettext call around the format string */
-#define log_error(...) \
- elog(ERROR, __VA_ARGS__)
-#else
-#define log_error(...) \
- do { \
- char *buf = psprintf(__VA_ARGS__); \
- fprintf(stderr, "%s: %s\n", progname, buf); \
- exit(2); \
- } while (0)
-#endif
-
/*
* get_controlfile(char *DataDir, const char *progname)
*
@@ -59,12 +46,31 @@ get_controlfile(char *DataDir, const char *progname)
snprintf(ControlFilePath, MAXPGPATH, "%s/global/pg_control", DataDir);
if ((fd = open(ControlFilePath, O_RDONLY | PG_BINARY, 0)) == -1)
- log_error(_("could not open file \"%s\" for reading: %s"),
- ControlFilePath, strerror(errno));
+#ifndef FRONTEND
+ ereport(ERROR,
+ (errcode_for_file_access(),
+ errmsg("could not open file \"%s\" for reading: %m",
+ ControlFilePath)));
+#else
+ {
+ fprintf(stderr, _("%s: could not open file \"%s\" for reading: %s\n"),
+ progname, ControlFilePath, strerror(errno));
+ exit(EXIT_FAILURE);
+ }
+#endif
if (read(fd, ControlFile, sizeof(ControlFileData)) != sizeof(ControlFileData))
- log_error(_("could not read file \"%s\": %s"),
- ControlFilePath, strerror(errno));
+#ifndef FRONTEND
+ ereport(ERROR,
+ (errcode_for_file_access(),
+ errmsg("could not read file \"%s\": %m", ControlFilePath)));
+#else
+ {
+ fprintf(stderr, _("%s: could not read file \"%s\": %s\n"),
+ progname, ControlFilePath, strerror(errno));
+ exit(EXIT_FAILURE);
+ }
+#endif
close(fd);