Convert configuration file parmeter "failover_mode" to an enum

We might want to add more modes in the future.
This commit is contained in:
Ian Barwick
2017-06-21 09:53:41 +09:00
parent 94a88326ef
commit 5ab2ac0e9a
3 changed files with 14 additions and 11 deletions

View File

@@ -233,7 +233,7 @@ _parse_config(t_configuration_options *options, ItemList *error_list, ItemList *
/* repmgrd settings /* repmgrd settings
* ---------------- */ * ---------------- */
options->failover_mode = MANUAL_FAILOVER; options->failover_mode = FAILOVER_MANUAL;
options->priority = DEFAULT_PRIORITY; options->priority = DEFAULT_PRIORITY;
memset(options->promote_command, 0, sizeof(options->promote_command)); memset(options->promote_command, 0, sizeof(options->promote_command));
memset(options->follow_command, 0, sizeof(options->follow_command)); memset(options->follow_command, 0, sizeof(options->follow_command));
@@ -374,15 +374,16 @@ _parse_config(t_configuration_options *options, ItemList *error_list, ItemList *
{ {
if (strcmp(value, "manual") == 0) if (strcmp(value, "manual") == 0)
{ {
options->failover_mode = MANUAL_FAILOVER; options->failover_mode = FAILOVER_MANUAL;
} }
else if (strcmp(value, "automatic") == 0) else if (strcmp(value, "automatic") == 0)
{ {
options->failover_mode = AUTOMATIC_FAILOVER; options->failover_mode = FAILOVER_MANUAL;
} }
else else
{ {
item_list_append(error_list, _("value for 'failover' must be 'automatic' or 'manual'\n")); item_list_append(error_list,
_("value for \"failover\" must be \"automatic\" or \"manual\"\n"));
} }
} }
else if (strcmp(name, "priority") == 0) else if (strcmp(name, "priority") == 0)
@@ -461,19 +462,19 @@ _parse_config(t_configuration_options *options, ItemList *error_list, ItemList *
else if (strcmp(name, "failover") == 0) else if (strcmp(name, "failover") == 0)
{ {
item_list_append(warning_list, item_list_append(warning_list,
_("parameter \"failover\" has been renamed 'failover_mode'")); _("parameter \"failover\" has been renamed to \"failover_mode\""));
known_parameter = false; known_parameter = false;
} }
else if (strcmp(name, "node") == 0) else if (strcmp(name, "node") == 0)
{ {
item_list_append(warning_list, item_list_append(warning_list,
_("parameter \"node\" has been renamed 'node_id'")); _("parameter \"node\" has been renamed to \"node_id\""));
known_parameter = false; known_parameter = false;
} }
else if (strcmp(name, "upstream_node") == 0) else if (strcmp(name, "upstream_node") == 0)
{ {
item_list_append(warning_list, item_list_append(warning_list,
_("parameter \"upstream_node\" has been renamed 'upstream_node_id'")); _("parameter \"upstream_node\" has been renamed to \"upstream_node_id\""));
known_parameter = false; known_parameter = false;
} }
else else

View File

@@ -14,6 +14,10 @@
#define MAXLINELENGTH 4096 #define MAXLINELENGTH 4096
extern bool config_file_found; extern bool config_file_found;
typedef enum {
FAILOVER_MANUAL,
FAILOVER_AUTOMATIC
} failover_mode_opt;
typedef struct EventNotificationListCell typedef struct EventNotificationListCell
{ {
@@ -68,7 +72,7 @@ typedef struct
TablespaceList tablespace_mapping; TablespaceList tablespace_mapping;
/* repmgrd settings */ /* repmgrd settings */
int failover_mode; failover_mode_opt failover_mode;
int priority; int priority;
char promote_command[MAXLEN]; char promote_command[MAXLEN];
char follow_command[MAXLEN]; char follow_command[MAXLEN];
@@ -116,7 +120,7 @@ typedef struct
/* standby clone settings */ \ /* standby clone settings */ \
false, "", "", "", "", { NULL, NULL }, \ false, "", "", "", "", { NULL, NULL }, \
/* repmgrd settings */ \ /* repmgrd settings */ \
MANUAL_FAILOVER, DEFAULT_PRIORITY, "", "", 2, 60, 6, 10, 300, false, \ FAILOVER_MANUAL, DEFAULT_PRIORITY, "", "", 2, 60, 6, 10, 300, false, \
/* witness settings */ \ /* witness settings */ \
30, \ 30, \
/* service settings */ \ /* service settings */ \

View File

@@ -33,8 +33,6 @@
#define BDR_MONITORING_LOCAL 1 #define BDR_MONITORING_LOCAL 1
#define BDR_MONITORING_PRIORITY 2 #define BDR_MONITORING_PRIORITY 2
#define MANUAL_FAILOVER 0
#define AUTOMATIC_FAILOVER 1
#define DEFAULT_PRIORITY 100 #define DEFAULT_PRIORITY 100
#define FAILOVER_NODES_MAX_CHECK 50 #define FAILOVER_NODES_MAX_CHECK 50