diff options
| author | Tom Lane | 2015-06-28 22:38:06 +0000 |
|---|---|---|
| committer | Tom Lane | 2015-06-28 22:38:06 +0000 |
| commit | 1afc1fe9c7bb72652ff9681c2e59a5751a33cda1 (patch) | |
| tree | d6a3e6c45c7b97bbd7cce479fe4535f9c9b1e8c1 /src/include/utils | |
| parent | f9f71503767f0212a1d4141a2370dfc63c7ec050 (diff) | |
Back-patch some minor bug fixes in GUC code.
In 9.4, fix a 9.4.1 regression that allowed multiple entries for a
PGC_POSTMASTER variable to cause bogus complaints in the postmaster log.
(The issue here was that commit bf007a27acd7b2fb unintentionally reverted
3e3f65973a3c94a6, which suppressed any duplicate entries within
ParseConfigFp. Back-patch the reimplementation just made in HEAD, which
makes use of an "ignore" field to prevent application of superseded items.)
Add missed failure check in AlterSystemSetConfigFile(). We don't really
expect ParseConfigFp() to fail, but that's not an excuse for not checking.
In both 9.3 and 9.4, remove mistaken assignment to ConfigFileLineno that
caused line counting after an include_dir directive to be completely wrong.
Diffstat (limited to 'src/include/utils')
| -rw-r--r-- | src/include/utils/guc.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h index ed6515a07e5..7212964ec0d 100644 --- a/src/include/utils/guc.h +++ b/src/include/utils/guc.h @@ -110,8 +110,11 @@ typedef enum } GucSource; /* - * Parsing the configuration file will return a list of name-value pairs + * Parsing the configuration file(s) will return a list of name-value pairs * with source location info. + * + * If "ignore" is true, don't attempt to apply the item (it might be an item + * we determined to be duplicate, for instance). */ typedef struct ConfigVariable { @@ -120,6 +123,7 @@ typedef struct ConfigVariable char *filename; int sourceline; struct ConfigVariable *next; + bool ignore; } ConfigVariable; extern bool ParseConfigFile(const char *config_file, const char *calling_file, |
