mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
more review fixes
This commit is contained in:
@@ -21,8 +21,8 @@
|
|||||||
#include "command.h"
|
#include "command.h"
|
||||||
|
|
||||||
|
|
||||||
Command::Command(Instance_map *imap_arg)
|
Command::Command(Instance_map *instance_map_arg)
|
||||||
:instance_map(imap_arg)
|
:instance_map(instance_map_arg)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
Command::~Command()
|
Command::~Command()
|
||||||
|
@@ -60,7 +60,7 @@ int Show_instances::do_command(struct st_net *net)
|
|||||||
|
|
||||||
{
|
{
|
||||||
Instance *instance;
|
Instance *instance;
|
||||||
Imap_iterator iterator(instance_map);
|
Instance_map::Iterator iterator(instance_map);
|
||||||
|
|
||||||
instance_map->lock();
|
instance_map->lock();
|
||||||
while (instance= iterator.next())
|
while (instance= iterator.next())
|
||||||
@@ -110,9 +110,9 @@ int Flush_instances::execute(struct st_net *net, ulong connection_id)
|
|||||||
|
|
||||||
/* implementation for Show_instance_status: */
|
/* implementation for Show_instance_status: */
|
||||||
|
|
||||||
Show_instance_status::Show_instance_status(Instance_map *imap_arg,
|
Show_instance_status::Show_instance_status(Instance_map *instance_map_arg,
|
||||||
const char *name, uint len)
|
const char *name, uint len)
|
||||||
:Command(imap_arg)
|
:Command(instance_map_arg)
|
||||||
{
|
{
|
||||||
Instance *instance;
|
Instance *instance;
|
||||||
|
|
||||||
@@ -212,9 +212,9 @@ int Show_instance_status::execute(struct st_net *net, ulong connection_id)
|
|||||||
|
|
||||||
/* Implementation for Show_instance_options */
|
/* Implementation for Show_instance_options */
|
||||||
|
|
||||||
Show_instance_options::Show_instance_options(Instance_map *imap_arg,
|
Show_instance_options::Show_instance_options(Instance_map *instance_map_arg,
|
||||||
const char *name, uint len):
|
const char *name, uint len):
|
||||||
Command(imap_arg)
|
Command(instance_map_arg)
|
||||||
{
|
{
|
||||||
Instance *instance;
|
Instance *instance;
|
||||||
|
|
||||||
@@ -333,9 +333,9 @@ int Show_instance_options::execute(struct st_net *net, ulong connection_id)
|
|||||||
|
|
||||||
/* Implementation for Start_instance */
|
/* Implementation for Start_instance */
|
||||||
|
|
||||||
Start_instance::Start_instance(Instance_map *imap_arg,
|
Start_instance::Start_instance(Instance_map *instance_map_arg,
|
||||||
const char *name, uint len)
|
const char *name, uint len)
|
||||||
:Command(imap_arg)
|
:Command(instance_map_arg)
|
||||||
{
|
{
|
||||||
/* we make a search here, since we don't want t store the name */
|
/* we make a search here, since we don't want t store the name */
|
||||||
if (instance= instance_map->find(name, len))
|
if (instance= instance_map->find(name, len))
|
||||||
@@ -366,9 +366,9 @@ int Start_instance::execute(struct st_net *net, ulong connection_id)
|
|||||||
|
|
||||||
/* Implementation for Stop_instance: */
|
/* Implementation for Stop_instance: */
|
||||||
|
|
||||||
Stop_instance::Stop_instance(Instance_map *imap_arg,
|
Stop_instance::Stop_instance(Instance_map *instance_map_arg,
|
||||||
const char *name, uint len)
|
const char *name, uint len)
|
||||||
:Command(imap_arg)
|
:Command(instance_map_arg)
|
||||||
{
|
{
|
||||||
/* we make a search here, since we don't want t store the name */
|
/* we make a search here, since we don't want t store the name */
|
||||||
if (instance= instance_map->find(name, len))
|
if (instance= instance_map->find(name, len))
|
||||||
|
@@ -27,7 +27,7 @@
|
|||||||
class Show_instances : public Command
|
class Show_instances : public Command
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Show_instances(Instance_map *imap_arg): Command(imap_arg)
|
Show_instances(Instance_map *instance_map_arg): Command(instance_map_arg)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
int do_command(struct st_net *net);
|
int do_command(struct st_net *net);
|
||||||
@@ -43,7 +43,7 @@ public:
|
|||||||
class Flush_instances : public Command
|
class Flush_instances : public Command
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Flush_instances(Instance_map *imap_arg): Command(imap_arg)
|
Flush_instances(Instance_map *instance_map_arg): Command(instance_map_arg)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
int execute(struct st_net *net, ulong connection_id);
|
int execute(struct st_net *net, ulong connection_id);
|
||||||
@@ -59,7 +59,7 @@ class Show_instance_status : public Command
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
Show_instance_status(Instance_map *imap_arg, const char *name, uint len);
|
Show_instance_status(Instance_map *instance_map_arg, const char *name, uint len);
|
||||||
int do_command(struct st_net *net, const char *instance_name);
|
int do_command(struct st_net *net, const char *instance_name);
|
||||||
int execute(struct st_net *net, ulong connection_id);
|
int execute(struct st_net *net, ulong connection_id);
|
||||||
const char *instance_name;
|
const char *instance_name;
|
||||||
@@ -75,7 +75,7 @@ class Show_instance_options : public Command
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
Show_instance_options(Instance_map *imap_arg, const char *name, uint len);
|
Show_instance_options(Instance_map *instance_map_arg, const char *name, uint len);
|
||||||
|
|
||||||
int execute(struct st_net *net, ulong connection_id);
|
int execute(struct st_net *net, ulong connection_id);
|
||||||
int do_command(struct st_net *net, const char *instance_name);
|
int do_command(struct st_net *net, const char *instance_name);
|
||||||
@@ -91,7 +91,7 @@ public:
|
|||||||
class Start_instance : public Command
|
class Start_instance : public Command
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Start_instance(Instance_map *imap_arg, const char *name, uint len);
|
Start_instance(Instance_map *instance_map_arg, const char *name, uint len);
|
||||||
|
|
||||||
int execute(struct st_net *net, ulong connection_id);
|
int execute(struct st_net *net, ulong connection_id);
|
||||||
const char *instance_name;
|
const char *instance_name;
|
||||||
@@ -107,7 +107,7 @@ public:
|
|||||||
class Stop_instance : public Command
|
class Stop_instance : public Command
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Stop_instance(Instance_map *imap_arg, const char *name, uint len);
|
Stop_instance(Instance_map *instance_map_arg, const char *name, uint len);
|
||||||
|
|
||||||
Instance *instance;
|
Instance *instance;
|
||||||
int execute(struct st_net *net, ulong connection_id);
|
int execute(struct st_net *net, ulong connection_id);
|
||||||
|
@@ -107,7 +107,7 @@ void Guardian_thread::run()
|
|||||||
int Guardian_thread::start()
|
int Guardian_thread::start()
|
||||||
{
|
{
|
||||||
Instance *instance;
|
Instance *instance;
|
||||||
Imap_iterator iterator(instance_map);
|
Instance_map::Iterator iterator(instance_map);
|
||||||
|
|
||||||
instance_map->lock();
|
instance_map->lock();
|
||||||
while (instance= iterator.next())
|
while (instance= iterator.next())
|
||||||
|
@@ -226,26 +226,20 @@ int Instance_map::load()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Instance *Instance_map::get_instance(uint instance_number)
|
/*--- Implementaton of the Instance map iterator class ---*/
|
||||||
{
|
|
||||||
if (instance_number < hash.records)
|
|
||||||
return (Instance *) hash_element(&hash, instance_number);
|
|
||||||
else
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*--- Implementaton of the Instance map iterator class (Imap_iterator) ---*/
|
void Instance_map::Iterator::go_to_first()
|
||||||
|
|
||||||
|
|
||||||
void Imap_iterator::go_to_first()
|
|
||||||
{
|
{
|
||||||
current_instance=0;
|
current_instance=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Instance *Imap_iterator::next()
|
Instance *Instance_map::Iterator::next()
|
||||||
{
|
{
|
||||||
return instance_map->get_instance(current_instance++);
|
if (current_instance < instance_map->hash.records)
|
||||||
|
return (Instance *) hash_element(&instance_map->hash, current_instance++);
|
||||||
|
else
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -38,6 +38,22 @@ extern void free_groups(char **groups);
|
|||||||
|
|
||||||
class Instance_map
|
class Instance_map
|
||||||
{
|
{
|
||||||
|
friend class Iterator;
|
||||||
|
public:
|
||||||
|
/* Instance_map iterator */
|
||||||
|
class Iterator
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
uint current_instance;
|
||||||
|
Instance_map *instance_map;
|
||||||
|
public:
|
||||||
|
Iterator(Instance_map *instance_map_arg) :
|
||||||
|
instance_map(instance_map_arg), current_instance(0)
|
||||||
|
{}
|
||||||
|
|
||||||
|
void go_to_first();
|
||||||
|
Instance *next();
|
||||||
|
};
|
||||||
public:
|
public:
|
||||||
/* returns a pointer to the instance or NULL, if there is no such instance */
|
/* returns a pointer to the instance or NULL, if there is no such instance */
|
||||||
Instance *find(const char *name, uint name_len);
|
Instance *find(const char *name, uint name_len);
|
||||||
@@ -47,7 +63,6 @@ public:
|
|||||||
int cleanup();
|
int cleanup();
|
||||||
int lock();
|
int lock();
|
||||||
int unlock();
|
int unlock();
|
||||||
Instance *get_instance(uint instance_number);
|
|
||||||
|
|
||||||
Instance_map();
|
Instance_map();
|
||||||
~Instance_map();
|
~Instance_map();
|
||||||
@@ -72,22 +87,4 @@ private:
|
|||||||
HASH hash;
|
HASH hash;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/* Instance_map iterator */
|
|
||||||
|
|
||||||
class Imap_iterator
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
uint current_instance;
|
|
||||||
Instance_map *instance_map;
|
|
||||||
public:
|
|
||||||
Imap_iterator(Instance_map *instance_map_arg) :
|
|
||||||
instance_map(instance_map_arg), current_instance(0)
|
|
||||||
{}
|
|
||||||
|
|
||||||
void go_to_first();
|
|
||||||
Instance *next();
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* INCLUDES_MYSQL_INSTANCE_MANAGER_INSTANCE_MAP_H */
|
#endif /* INCLUDES_MYSQL_INSTANCE_MANAGER_INSTANCE_MAP_H */
|
||||||
|
Reference in New Issue
Block a user