diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2015-05-29 11:57:33 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2015-05-29 11:57:33 -0400 |
commit | da33a3894e0fc440ac53cdc0f2e360e703b13b8c (patch) | |
tree | c003e9fb63647d9467964d137688bce2d087fc77 | |
parent | d8179b001ae574da00c8f4549577095bf90f3337 (diff) | |
download | postgresql-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).
-rw-r--r-- | src/backend/utils/misc/guc.c | 10 | ||||
-rw-r--r-- | src/include/utils/guc.h | 1 |
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; |