aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2015-05-29 11:57:33 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2015-05-29 11:57:33 -0400
commitda33a3894e0fc440ac53cdc0f2e360e703b13b8c (patch)
treec003e9fb63647d9467964d137688bce2d087fc77 /src
parentd8179b001ae574da00c8f4549577095bf90f3337 (diff)
downloadpostgresql-da33a3894e0fc440ac53cdc0f2e360e703b13b8c.tar.gz
postgresql-da33a3894e0fc440ac53cdc0f2e360e703b13b8c.zip
Revert exporting of internal GUC variable "data_directory".
This undoes a poorly-thought-out choice in commit 970a18687f9b3058, namely to export guc.c's internal variable data_directory. The authoritative variable so far as C code is concerned is DataDir; there is no reason for anything except specific bits of GUC code to look at the GUC variable. After yesterday's commits fixing the fsync-on-restart patch, the only remaining misuse of data_directory was in AlterSystemSetConfigFile(), which would be much better off just using a relative path anyhow: it's less code and it doesn't break if the DBA moves the data directory of a running system, which is a case we've taken some pains over in the past. This is mostly cosmetic, so no need for a back-patch (and I'd be hesitant to remove a global variable in stable branches anyway).
Diffstat (limited to 'src')
-rw-r--r--src/backend/utils/misc/guc.c10
-rw-r--r--src/include/utils/guc.h1
2 files changed, 5 insertions, 6 deletions
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index be7ba4f29d8..b3c9f14ea4d 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -435,7 +435,6 @@ int temp_file_limit = -1;
int num_temp_buffers = 1024;
char *cluster_name = "";
-char *data_directory;
char *ConfigFileName;
char *HbaFileName;
char *IdentFileName;
@@ -476,6 +475,7 @@ static char *timezone_string;
static char *log_timezone_string;
static char *timezone_abbreviations_string;
static char *XactIsoLevel_string;
+static char *data_directory;
static char *session_authorization_string;
static int max_function_args;
static int max_index_keys;
@@ -6895,11 +6895,11 @@ AlterSystemSetConfigFile(AlterSystemStmt *altersysstmt)
}
/*
- * Use data directory as reference path for PG_AUTOCONF_FILENAME and its
- * corresponding temporary file.
+ * PG_AUTOCONF_FILENAME and its corresponding temporary file are always in
+ * the data directory, so we can reference them by simple relative paths.
*/
- join_path_components(AutoConfFileName, data_directory, PG_AUTOCONF_FILENAME);
- canonicalize_path(AutoConfFileName);
+ snprintf(AutoConfFileName, sizeof(AutoConfFileName), "%s",
+ PG_AUTOCONF_FILENAME);
snprintf(AutoConfTmpFileName, sizeof(AutoConfTmpFileName), "%s.%s",
AutoConfFileName,
"tmp");
diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h
index a8191c94c39..ffe1168ccc1 100644
--- a/src/include/utils/guc.h
+++ b/src/include/utils/guc.h
@@ -247,7 +247,6 @@ extern int temp_file_limit;
extern int num_temp_buffers;
extern char *cluster_name;
-extern char *data_directory;
extern char *ConfigFileName;
extern char *HbaFileName;
extern char *IdentFileName;