mirror of
https://github.com/EnterpriseDB/repmgr.git
synced 2026-03-27 17:06:29 +00:00
Correctly handle error message pointer when parsing strings.
When parsing conninfo strings, ensure the error message pointer is actually returned to the caller. Not a criticial issue, just meant the contents of the error message were not being displayed.
This commit is contained in:
3
HISTORY
3
HISTORY
@@ -1,3 +1,6 @@
|
|||||||
|
4.0.5 2018-??-??
|
||||||
|
repmgr: fix display of conninfo parsing error messages (Ian)
|
||||||
|
|
||||||
4.0.4 2018-03-09
|
4.0.4 2018-03-09
|
||||||
repmgr: add "standby clone --recovery-conf-only" option; GitHub #382 (Ian)
|
repmgr: add "standby clone --recovery-conf-only" option; GitHub #382 (Ian)
|
||||||
repmgr: make "standby promote" timeout values configurable; GitHub #387 (Ian)
|
repmgr: make "standby promote" timeout values configurable; GitHub #387 (Ian)
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ _establish_db_connection(const char *conninfo, const bool exit_on_error, const b
|
|||||||
|
|
||||||
initialize_conninfo_params(&conninfo_params, false);
|
initialize_conninfo_params(&conninfo_params, false);
|
||||||
|
|
||||||
parse_success = parse_conninfo_string(conninfo, &conninfo_params, errmsg, false);
|
parse_success = parse_conninfo_string(conninfo, &conninfo_params, &errmsg, false);
|
||||||
|
|
||||||
if (parse_success == false)
|
if (parse_success == false)
|
||||||
{
|
{
|
||||||
@@ -549,12 +549,12 @@ param_get(t_conninfo_param_list *param_list, const char *param)
|
|||||||
* don't copy that node's values
|
* don't copy that node's values
|
||||||
*/
|
*/
|
||||||
bool
|
bool
|
||||||
parse_conninfo_string(const char *conninfo_str, t_conninfo_param_list *param_list, char *errmsg, bool ignore_local_params)
|
parse_conninfo_string(const char *conninfo_str, t_conninfo_param_list *param_list, char **errmsg, bool ignore_local_params)
|
||||||
{
|
{
|
||||||
PQconninfoOption *connOptions = NULL;
|
PQconninfoOption *connOptions = NULL;
|
||||||
PQconninfoOption *option = NULL;
|
PQconninfoOption *option = NULL;
|
||||||
|
|
||||||
connOptions = PQconninfoParse(conninfo_str, &errmsg);
|
connOptions = PQconninfoParse(conninfo_str, errmsg);
|
||||||
|
|
||||||
if (connOptions == NULL)
|
if (connOptions == NULL)
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -364,7 +364,7 @@ void conn_to_param_list(PGconn *conn, t_conninfo_param_list *param_list);
|
|||||||
void param_set(t_conninfo_param_list *param_list, const char *param, const char *value);
|
void param_set(t_conninfo_param_list *param_list, const char *param, const char *value);
|
||||||
void param_set_ine(t_conninfo_param_list *param_list, const char *param, const char *value);
|
void param_set_ine(t_conninfo_param_list *param_list, const char *param, const char *value);
|
||||||
char *param_get(t_conninfo_param_list *param_list, const char *param);
|
char *param_get(t_conninfo_param_list *param_list, const char *param);
|
||||||
bool parse_conninfo_string(const char *conninfo_str, t_conninfo_param_list *param_list, char *errmsg, bool ignore_local_params);
|
bool parse_conninfo_string(const char *conninfo_str, t_conninfo_param_list *param_list, char **errmsg, bool ignore_local_params);
|
||||||
char *param_list_to_string(t_conninfo_param_list *param_list);
|
char *param_list_to_string(t_conninfo_param_list *param_list);
|
||||||
bool has_passfile(void);
|
bool has_passfile(void);
|
||||||
|
|
||||||
|
|||||||
@@ -349,7 +349,7 @@ do_standby_clone(void)
|
|||||||
* `application_name`, if set
|
* `application_name`, if set
|
||||||
*/
|
*/
|
||||||
|
|
||||||
parse_success = parse_conninfo_string(recovery_conninfo_str, &recovery_conninfo, errmsg, true);
|
parse_success = parse_conninfo_string(recovery_conninfo_str, &recovery_conninfo, &errmsg, true);
|
||||||
|
|
||||||
if (parse_success == false)
|
if (parse_success == false)
|
||||||
{
|
{
|
||||||
@@ -2356,7 +2356,7 @@ do_standby_follow_internal(PGconn *primary_conn, t_node_info *primary_node_recor
|
|||||||
initialize_conninfo_params(&recovery_conninfo, false);
|
initialize_conninfo_params(&recovery_conninfo, false);
|
||||||
|
|
||||||
/* We ignore any application_name set in the primary's conninfo */
|
/* We ignore any application_name set in the primary's conninfo */
|
||||||
parse_conninfo_string(primary_node_record->conninfo, &recovery_conninfo, errmsg, true);
|
parse_conninfo_string(primary_node_record->conninfo, &recovery_conninfo, &errmsg, true);
|
||||||
|
|
||||||
{
|
{
|
||||||
t_conninfo_param_list local_node_conninfo = T_CONNINFO_PARAM_LIST_INITIALIZER;
|
t_conninfo_param_list local_node_conninfo = T_CONNINFO_PARAM_LIST_INITIALIZER;
|
||||||
@@ -2364,7 +2364,7 @@ do_standby_follow_internal(PGconn *primary_conn, t_node_info *primary_node_recor
|
|||||||
|
|
||||||
initialize_conninfo_params(&local_node_conninfo, false);
|
initialize_conninfo_params(&local_node_conninfo, false);
|
||||||
|
|
||||||
parse_success = parse_conninfo_string(local_node_record.conninfo, &local_node_conninfo, errmsg, false);
|
parse_success = parse_conninfo_string(local_node_record.conninfo, &local_node_conninfo, &errmsg, false);
|
||||||
|
|
||||||
if (parse_success == false)
|
if (parse_success == false)
|
||||||
{
|
{
|
||||||
@@ -4016,7 +4016,7 @@ check_source_server_via_barman()
|
|||||||
* parse_conninfo_string() here will remove the upstream's
|
* parse_conninfo_string() here will remove the upstream's
|
||||||
* `application_name`, if set
|
* `application_name`, if set
|
||||||
*/
|
*/
|
||||||
parse_success = parse_conninfo_string(barman_conninfo_str, &barman_conninfo, errmsg, true);
|
parse_success = parse_conninfo_string(barman_conninfo_str, &barman_conninfo, &errmsg, true);
|
||||||
|
|
||||||
if (parse_success == false)
|
if (parse_success == false)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user