2006-05-18 18:57:50 +04:00
|
|
|
#ifndef INCLUDES_MYSQL_INSTANCE_MANAGER_USER_MANAGEMENT_CMD_H
|
|
|
|
#define INCLUDES_MYSQL_INSTANCE_MANAGER_USER_MANAGEMENT_CMD_H
|
|
|
|
|
|
|
|
/*
|
|
|
|
Copyright (C) 2006 MySQL AB
|
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program; if not, write to the Free Software
|
|
|
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
This header contains declarations of classes inteded to support
|
|
|
|
user-management commands (such as add user, get list of users, etc).
|
|
|
|
|
|
|
|
The general idea is to have one interface (pure abstract class) for such a
|
|
|
|
command. Each concrete user-management command is implemented in concrete
|
|
|
|
class, derived from the common interface.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#if defined(__GNUC__) && defined(USE_PRAGMA_INTERFACE)
|
|
|
|
#pragma interface
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
User_management_cmd -- base class for User-management commands.
|
|
|
|
*************************************************************************/
|
|
|
|
|
|
|
|
class User_management_cmd
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
User_management_cmd()
|
|
|
|
{ }
|
|
|
|
|
|
|
|
virtual ~User_management_cmd()
|
|
|
|
{ }
|
|
|
|
|
|
|
|
public:
|
|
|
|
/*
|
|
|
|
Executes user-management command.
|
|
|
|
|
Port cleanups, trivial refactoring and code rearrangements from
Alik's patch for BUG#22306: STOP INSTANCE can not be applied for
instances in Crashed, Failed and Abandoned" to ease review process.
Evaluate global variable linuxthreads before starting threads to avoid
a race.
server-tools/instance-manager/buffer.cc:
Fix spelling.
server-tools/instance-manager/command.h:
Fix spelling.
server-tools/instance-manager/commands.cc:
Fix spelling.
server-tools/instance-manager/commands.h:
Fix spelling, tidy up.
server-tools/instance-manager/guardian.cc:
Cleanup logging, options.get_shutdown_delay() is a method, tidy up.
server-tools/instance-manager/instance.cc:
Rearrange methods to be the same as in Alik's patch, fix spelling errors,
clean up logging texts, port comments from Alik's patch,
implement some basic renames from his patch.
No real changes.
server-tools/instance-manager/instance.h:
Tidy up, renames.
server-tools/instance-manager/instance_map.cc:
Fix spellings, port some refactoring from Alik's patch.
server-tools/instance-manager/instance_map.h:
Cleanup.
server-tools/instance-manager/instance_options.cc:
Cleanup. Implement Instance_options::get_shutdown_delay() and
Instance_options::get_mysqld_port().
server-tools/instance-manager/instance_options.h:
Cleanup.
server-tools/instance-manager/listener.cc:
Cleanup.
server-tools/instance-manager/log.cc:
Fix spelling.
server-tools/instance-manager/manager.cc:
Cleanup.
server-tools/instance-manager/manager.h:
Add getters for Manager members.
server-tools/instance-manager/mysqlmanager.cc:
Evaluate linuxthreads before starting threads to avoid a race.
server-tools/instance-manager/parse_output.cc:
Fix spelling.
server-tools/instance-manager/priv.cc:
Cleanup.
server-tools/instance-manager/priv.h:
Cleanup.
server-tools/instance-manager/user_management_commands.cc:
Fix spelling.
server-tools/instance-manager/user_management_commands.h:
Fix spelling.
server-tools/instance-manager/user_map.cc:
Fix spelling.
2006-11-18 01:34:44 +03:00
|
|
|
SYNOPSIS
|
2006-05-18 18:57:50 +04:00
|
|
|
execute()
|
|
|
|
|
|
|
|
RETURN
|
|
|
|
See exit_codes.h for possible values.
|
|
|
|
*/
|
|
|
|
|
|
|
|
virtual int execute() = 0;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************
|
2006-06-19 14:41:29 +04:00
|
|
|
Print_password_line_cmd: support for --print-password-line command-line
|
|
|
|
option.
|
2006-05-18 18:57:50 +04:00
|
|
|
*************************************************************************/
|
|
|
|
|
2006-11-21 17:01:11 +03:00
|
|
|
class Print_password_line_cmd: public User_management_cmd
|
2006-05-18 18:57:50 +04:00
|
|
|
{
|
|
|
|
public:
|
2006-06-19 14:41:29 +04:00
|
|
|
Print_password_line_cmd()
|
2006-05-18 18:57:50 +04:00
|
|
|
{ }
|
|
|
|
|
|
|
|
public:
|
|
|
|
virtual int execute();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
Add_user_cmd: support for --add-user command-line option.
|
|
|
|
*************************************************************************/
|
|
|
|
|
2006-11-21 17:01:11 +03:00
|
|
|
class Add_user_cmd: public User_management_cmd
|
2006-05-18 18:57:50 +04:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
Add_user_cmd()
|
|
|
|
{ }
|
|
|
|
|
|
|
|
public:
|
|
|
|
virtual int execute();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
Drop_user_cmd: support for --drop-user command-line option.
|
|
|
|
*************************************************************************/
|
|
|
|
|
2006-11-21 17:01:11 +03:00
|
|
|
class Drop_user_cmd: public User_management_cmd
|
2006-05-18 18:57:50 +04:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
Drop_user_cmd()
|
|
|
|
{ }
|
|
|
|
|
|
|
|
public:
|
|
|
|
virtual int execute();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
Edit_user_cmd: support for --edit-user command-line option.
|
|
|
|
*************************************************************************/
|
|
|
|
|
2006-11-21 17:01:11 +03:00
|
|
|
class Edit_user_cmd: public User_management_cmd
|
2006-05-18 18:57:50 +04:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
Edit_user_cmd()
|
|
|
|
{ }
|
|
|
|
|
|
|
|
public:
|
|
|
|
virtual int execute();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
Clean_db_cmd: support for --clean-db command-line option.
|
|
|
|
*************************************************************************/
|
|
|
|
|
2006-11-21 17:01:11 +03:00
|
|
|
class Clean_db_cmd: public User_management_cmd
|
2006-05-18 18:57:50 +04:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
Clean_db_cmd()
|
|
|
|
{ }
|
|
|
|
|
|
|
|
public:
|
|
|
|
virtual int execute();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
Check_db_cmd: support for --check-db command-line option.
|
|
|
|
*************************************************************************/
|
|
|
|
|
2006-11-21 17:01:11 +03:00
|
|
|
class Check_db_cmd: public User_management_cmd
|
2006-05-18 18:57:50 +04:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
Check_db_cmd()
|
|
|
|
{ }
|
|
|
|
|
|
|
|
public:
|
|
|
|
virtual int execute();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
List_users_cmd: support for --list-users command-line option.
|
|
|
|
*************************************************************************/
|
|
|
|
|
2006-11-21 17:01:11 +03:00
|
|
|
class List_users_cmd: public User_management_cmd
|
2006-05-18 18:57:50 +04:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
List_users_cmd()
|
|
|
|
{ }
|
|
|
|
|
|
|
|
public:
|
|
|
|
virtual int execute();
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // INCLUDES_MYSQL_INSTANCE_MANAGER_USER_MANAGEMENT_CMD_H
|