summaryrefslogtreecommitdiff
path: root/server-tools/instance-manager/instance_map.cc
diff options
context:
space:
mode:
authorunknown <petr@mysql.com>2005-07-21 14:21:23 +0400
committerunknown <petr@mysql.com>2005-07-21 14:21:23 +0400
commit34fa3be594434bae844c087f7a79bca5103b758f (patch)
tree29261f504adad5b9145e9497ef5c680c3da1d3fe /server-tools/instance-manager/instance_map.cc
parent15413296d85b31d518255c4ea1cab84618a99f3f (diff)
downloadmariadb-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.cc27
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;