Commit 0038c1e2 authored by Fujii Masao's avatar Fujii Masao

Use ereport(ERROR) instead of Assert() to emit syncrep_parser error.

The existing code would either Assert or generate an invalid
SyncRepConfig variable, neither of which is desirable. A regular
error should be thrown instead.

This commit silences compiler warning in non assertion-enabled builds.

Per report from Jeff Janes.
Suggested fix by Tom Lane.
parent f73b2bbb
......@@ -886,9 +886,14 @@ SyncRepUpdateConfig(void)
*/
syncrep_scanner_init(SyncRepStandbyNames);
parse_rc = syncrep_yyparse();
Assert(parse_rc == 0);
syncrep_scanner_finish();
if (parse_rc != 0)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg_internal("synchronous_standby_names parser returned %d",
parse_rc)));
SyncRepConfig = syncrep_parse_result;
syncrep_parse_result = NULL;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment