diff options
author | unknown <petr@mysql.com> | 2005-07-21 14:21:23 +0400 |
---|---|---|
committer | unknown <petr@mysql.com> | 2005-07-21 14:21:23 +0400 |
commit | 34fa3be594434bae844c087f7a79bca5103b758f (patch) | |
tree | 29261f504adad5b9145e9497ef5c680c3da1d3fe /server-tools/instance-manager/instance_map.cc | |
parent | 15413296d85b31d518255c4ea1cab84618a99f3f (diff) | |
download | mariadb-git-34fa3be594434bae844c087f7a79bca5103b758f.tar.gz |
WL #2713 Change IM behaviour so, that it only reads and alters one config file only.
Implemented on brian's request.
server-tools/instance-manager/Makefile.am:
define default config file
server-tools/instance-manager/commands.cc:
Use specified or default file to edit with SET commands instead of hardcoded file
server-tools/instance-manager/commands.h:
add member to SET commands
server-tools/instance-manager/instance_map.cc:
rename first_option -> single_defaults_option, made logging a bit more verbose
server-tools/instance-manager/instance_map.h:
rename first_option -> single_defaults_file + made it public
server-tools/instance-manager/manager.cc:
rename first_option -> single_defaults_file
server-tools/instance-manager/mysqlmanager.cc:
goto generic error label instead of simple return
server-tools/instance-manager/options.cc:
skip --defaults-extra file and give a message if it was specified, made IM
to read one config file only
server-tools/instance-manager/options.h:
added new members to the option structure
Diffstat (limited to 'server-tools/instance-manager/instance_map.cc')
-rw-r--r-- | server-tools/instance-manager/instance_map.cc | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/server-tools/instance-manager/instance_map.cc b/server-tools/instance-manager/instance_map.cc index fa8a5d58114..cee8ba5a92d 100644 --- a/server-tools/instance-manager/instance_map.cc +++ b/server-tools/instance-manager/instance_map.cc @@ -22,6 +22,8 @@ #include "buffer.h" #include "instance.h" +#include "log.h" +#include "options.h" #include <m_ctype.h> #include <mysql_com.h> @@ -112,8 +114,9 @@ C_MODE_END Instance_map::Instance_map(const char *default_mysqld_path_arg, - const char *first_option_arg): -mysqld_path(default_mysqld_path_arg), first_option(first_option_arg) + const char *single_defaults_file_option_arg): +mysqld_path(default_mysqld_path_arg), +single_defaults_file_option(single_defaults_file_option_arg) { pthread_mutex_init(&LOCK_instance_map, 0); } @@ -202,7 +205,8 @@ int Instance_map::complete_initialization() hash_free should handle it's deletion => goto err, not err_instance. */ - if (instance->complete_initialization(this, mysqld_path, DEFAULT_SINGLE_INSTANCE)) + if (instance->complete_initialization(this, mysqld_path, + DEFAULT_SINGLE_INSTANCE)) goto err; } else @@ -236,18 +240,25 @@ int Instance_map::load() /* the name of the program may be orbitrary here in fact */ argv_options[0]= "mysqlmanager"; - if (first_option != NULL) + if (single_defaults_file_option != NULL) { argc= 2; - argv_options[1]= first_option; + argv_options[1]= single_defaults_file_option; argv_options[2]= '\0'; } else argv_options[1]= '\0'; - if (my_search_option_files("my", &argc, (char ***) &argv, &args_used, - process_option, (void*) this) || - complete_initialization()) + /* + If the routine failed, we'll simply fallback to defaults in + complete_initialization(). + */ + if (my_search_option_files(Options::default_config_file, &argc, + (char ***) &argv, &args_used, + process_option, (void*) this)) + log_info("Falling back to compiled-in defaults"); + + if (complete_initialization()) return 1; return 0; |