Back-patch some minor bug fixes in GUC code.
authorTom Lane
Sun, 28 Jun 2015 22:38:06 +0000 (18:38 -0400)
committerTom Lane
Sun, 28 Jun 2015 22:38:06 +0000 (18:38 -0400)
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.

src/backend/utils/misc/guc-file.l

index 68917be326188ccc3ab9612af73a5a98e227480f..3b19b6dd6cfcfc0a756a95795bff9f63ccdab8fe 100644 (file)
@@ -587,7 +587,6 @@ ParseConfigFp(FILE *fp, const char *config_file, int depth, int elevel,
                                 head_p, tail_p))
                OK = false;
            yy_switch_to_buffer(lex_buffer);
-           ConfigFileLineno = save_ConfigFileLineno;
            pfree(opt_name);
            pfree(opt_value);
        }