1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-02 09:41:40 +03:00

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
This commit is contained in:
unknown
2005-07-21 14:21:23 +04:00
parent 15413296d8
commit 34fa3be594
9 changed files with 108 additions and 35 deletions

View File

@@ -22,6 +22,7 @@
#include "mysql_manager_error.h"
#include "protocol.h"
#include "buffer.h"
#include "options.h"
#include <m_string.h>
#include <mysql.h>
@@ -643,6 +644,12 @@ Set_option::Set_option(Instance_map *instance_map_arg,
if ((instance= instance_map->find(name, len)))
{
instance_name= instance->options.instance_name;
if (instance_map->single_defaults_file_option != NULL)
single_defaults_file=
strchr(instance_map->single_defaults_file_option, '=') + 1;
else
single_defaults_file= NULL;
/* add prefix for add_option */
if ((option_len_arg < MAX_OPTION_LEN - 1) ||
(option_value_len_arg < MAX_OPTION_LEN - 1))
@@ -689,15 +696,26 @@ int Set_option::correct_file(int skip)
{
int error;
error= modify_defaults_file("/etc/my.cnf", option,
option_value, instance_name, skip);
if (error > 0)
return ER_OUT_OF_RESOURCES;
else if (error < 0)
return ER_ACCESS_OPTION_FILE;
if (single_defaults_file != NULL)
error= modify_defaults_file(single_defaults_file, option,
option_value, instance_name, skip);
else
error= modify_defaults_file(Options::default_config_file, option,
option_value, instance_name, skip);
/* everything was fine */
return 0;
switch (error)
{
case 0:
return 0; /* everything was fine */
case 1:
return ER_OUT_OF_RESOURCES;
case 2:
return ER_ACCESS_OPTION_FILE;
default:
DBUG_ASSERT(0); /* should never get here */
}
return 0; /* keep compiler happy */
}