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.
This commit is contained in:
parent
f73b2bbbdc
commit
0038c1e218
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user