Commit deba12cd authored by unknown's avatar unknown
Browse files

some more cleanups and fixes


server-tools/instance-manager/commands.cc:
  typo fixed
server-tools/instance-manager/instance.cc:
  moved options.complete_initialization to the instance::complete_initialization
server-tools/instance-manager/instance.h:
  moved options.complete_initialization to the Instance::complete_initialization
server-tools/instance-manager/instance_map.cc:
  moved options.complete_initialization to the Instance::complete_initialization, added code to create
  default instance if none is given iin config. file
server-tools/instance-manager/instance_map.h:
  complete_initialization now returns an error in case of a problem
server-tools/instance-manager/instance_options.cc:
  some error handling added
server-tools/instance-manager/instance_options.h:
  error handling added
server-tools/instance-manager/manager.cc:
  error handling added
server-tools/instance-manager/mysqlmanager.cc:
  stop mysqlmanager if options were not loaded correctly
server-tools/instance-manager/options.cc:
  return-value added
server-tools/instance-manager/options.h:
  return-value added to the OPtions::load()
server-tools/instance-manager/parse_output.cc:
  no need to examine mysqld --help -v termination status
parent 5bd60778
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -276,7 +276,7 @@ int Show_instance_options::do_command(struct st_net *net,
        goto err;
    }

    if (instance->options.nonguarded == NULL)
    if (instance->options.nonguarded != NULL)
    {
      position= 0;
      store_to_string(&send_buff, (char *) "nonguarded", &position);
+3 −2
Original line number Diff line number Diff line
@@ -296,8 +296,9 @@ int Instance::init(const char *name_arg)
}


int Instance::complete_initialization(Instance_map *instance_map_arg)
int Instance::complete_initialization(Instance_map *instance_map_arg,
                                      const char *mysqld_path)
{
  instance_map= instance_map_arg;
  return 0;
  return options.complete_initialization(mysqld_path);
}
+2 −1
Original line number Diff line number Diff line
@@ -34,7 +34,8 @@ class Instance

  ~Instance();
  int init(const char *name);
  int complete_initialization(Instance_map *instance_map_arg);
  int complete_initialization(Instance_map *instance_map_arg,
                              const char *mysqld_path);

  bool is_running();
  int start();
+34 −13
Original line number Diff line number Diff line
@@ -178,18 +178,41 @@ Instance_map::find(const char *name, uint name_len)
}


void Instance_map::complete_initialization()
int Instance_map::complete_initialization()
{
  Instance *instance;
  uint i= 0;

  if (hash.records == 0)                        /* no instances found */
  {
    if ((instance= new Instance) == 0)
      goto err;

    if (instance->init("mysqld") || add_instance(instance))
      goto err_instance;

    /*
      After an instance have been added to the instance_map,
      hash_free should handle it's deletion.
    */
    if (instance->complete_initialization(this, mysqld_path))
      goto err;
  }
  else
    while (i < hash.records)
    {
      instance= (Instance *) hash_element(&hash, i);
    instance->complete_initialization(this);
    instance->options.complete_initialization(mysqld_path);
      if (instance->complete_initialization(this, mysqld_path))
        goto err;
      i++;
    }

  return 0;
err:
  return 1;
err_instance:
  delete instance;
  return 1;
}


@@ -197,13 +220,11 @@ void Instance_map::complete_initialization()

int Instance_map::load()
{
  int error;

  error= process_default_option_files("my", process_option, (void *) this);

  complete_initialization();
  if (process_default_option_files("my", process_option, (void *) this) ||
      complete_initialization())
    return 1;

  return error;
  return 0;
}


+1 −1
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ class Instance_map
  /* adds instance to internal hash */
  int add_instance(Instance *instance);
  /* inits instances argv's after all options have been loaded */
  void complete_initialization();
  int complete_initialization();

public:
  const char *mysqld_path;
Loading