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) ...@@ -886,9 +886,14 @@ SyncRepUpdateConfig(void)
*/ */
syncrep_scanner_init(SyncRepStandbyNames); syncrep_scanner_init(SyncRepStandbyNames);
parse_rc = syncrep_yyparse(); parse_rc = syncrep_yyparse();
Assert(parse_rc == 0);
syncrep_scanner_finish(); 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; SyncRepConfig = syncrep_parse_result;
syncrep_parse_result = NULL; 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