MySQL 8.0.39
Source Code Documentation
|
Base class for all MySQL client tools. More...
#include <abstract_program.h>
Public Member Functions | |
~Abstract_program () override | |
const std::string | get_name () |
Returns null-terminated string with name of current program. More... | |
my_option * | get_options_array () |
Returns pointer to array of options for usage in handle_options. More... | |
void | run (int argc, char **argv) |
Does all initialization and exit work, calls execute(). More... | |
virtual std::string | get_version ()=0 |
Returns string describing current version of this program. More... | |
virtual int | get_first_release_year ()=0 |
Returns year of first release of this program. More... | |
virtual std::string | get_description ()=0 |
Returns string describing shortly current program. More... | |
virtual void | error (const Message_data &message)=0 |
Handles general errors. More... | |
virtual int | execute (const std::vector< std::string > &positional_options)=0 |
Runs main program code. More... | |
virtual void | short_usage ()=0 |
Prints program invocation message. More... | |
virtual int | get_error_code ()=0 |
Return error code. More... | |
Public Member Functions inherited from Mysql::Tools::Base::Options::Composite_options_provider | |
void | add_providers (I_options_provider *first,...) |
Adds new providers to list. More... | |
void | add_provider (I_options_provider *options_provider) |
Adds new provider to list. More... | |
void | options_parsed () override |
This callback is to be called after all options were parsed. More... | |
std::vector< my_option > | generate_options () override |
Aggregates all options from itsself and all contained providers. More... | |
Public Member Functions inherited from Mysql::Tools::Base::Options::Abstract_options_provider | |
Simple_option * | create_new_option (std::string name, std::string description) |
Creates and attach new simple option. More... | |
Disabled_option * | create_new_disabled_option (std::string name, std::string description) |
Creates and attach new disabled option. More... | |
Char_array_option * | create_new_option (char **value, std::string name, std::string description) |
Creates and attach new string option stored in char* type object. More... | |
Password_option * | create_new_password_option (std::optional< std::string > *value, std::string name, std::string description) |
Creates and attach new password option. More... | |
String_option * | create_new_option (std::optional< std::string > *value, std::string name, std::string description) |
Creates and attach new string option. More... | |
Number_option< int32 > * | create_new_option (int32 *value, std::string name, std::string description) |
Creates and attach new 32-bit signed number option. More... | |
Number_option< uint32 > * | create_new_option (uint32 *value, std::string name, std::string description) |
Creates and attach new 32-bit unsigned number option. More... | |
Number_option< int64 > * | create_new_option (int64 *value, std::string name, std::string description) |
Creates and attach new 64-bit signed number option. More... | |
Number_option< uint64 > * | create_new_option (uint64 *value, std::string name, std::string description) |
Creates and attach new 64-bit unsigned number option. More... | |
Number_option< double > * | create_new_option (double *value, std::string name, std::string description) |
Creates and attach new floating-point number option. More... | |
Bool_option * | create_new_option (bool *value, std::string name, std::string description) |
Creates and attach new boolean option with value received from argument. More... | |
template<typename T_type , typename T_typelib > | |
Enum_option< T_type, T_typelib > * | create_new_enum_option (T_type *value, const T_typelib *type, std::string name, std::string description) |
virtual void | create_options ()=0 |
Creates all options that will be provided. More... | |
Public Member Functions inherited from Mysql::Tools::Base::Options::I_option_changed_listener | |
virtual | ~I_option_changed_listener ()=default |
Protected Member Functions | |
Abstract_program () | |
Protected Member Functions inherited from Mysql::Tools::Base::Options::Abstract_options_provider | |
Abstract_options_provider () | |
~Abstract_options_provider () override | |
void | set_option_changed_listener (I_option_changed_listener *listener) override |
Sets optional option changes listener to which all changes in all options contained in this provider should be reported. More... | |
Private Member Functions | |
void | init_name (char *name_from_cmd_line) |
Initializes program name. More... | |
void | aggregate_options () |
Gathers all options from option providers and save in array to be used in my_getopt functionality. More... | |
Static Private Member Functions | |
static bool | options_by_name_comparer (const my_option &a, const my_option &b) |
Compares option structures by long name. More... | |
static bool | callback_option_parsed (int optid, const struct my_option *opt, char *argument) |
Private Attributes | |
Options::Debug_options | m_debug_options |
Options::Help_options | m_help_options |
std::vector< my_option > | m_options |
MEM_ROOT | m_argv_alloc {PSI_NOT_INSTRUMENTED, 512} |
std::string | m_name |
Friends | |
class | Abstract_connection_program |
Base class for all MySQL client tools.
|
overridedefault |
|
protected |
|
private |
Gathers all options from option providers and save in array to be used in my_getopt functionality.
|
staticprivate |
|
pure virtual |
Handles general errors.
Implemented in Mysql::Tools::Upgrade::Program, and Mysql::Tools::Dump::Program.
|
pure virtual |
Runs main program code.
Implemented in Mysql::Tools::Dump::Program.
|
pure virtual |
Returns string describing shortly current program.
Implemented in Mysql::Tools::Dump::Program, and Mysql::Tools::Upgrade::Program.
|
pure virtual |
Return error code.
Implemented in Mysql::Tools::Dump::Program, and Mysql::Tools::Upgrade::Program.
|
pure virtual |
Returns year of first release of this program.
Implemented in Mysql::Tools::Dump::Program, and Mysql::Tools::Upgrade::Program.
const string Abstract_program::get_name | ( | ) |
Returns null-terminated string with name of current program.
my_option * Abstract_program::get_options_array | ( | ) |
Returns pointer to array of options for usage in handle_options.
Array has empty sentinel at the end, as handle_options expects.
|
pure virtual |
Returns string describing current version of this program.
Implemented in Mysql::Tools::Dump::Program, and Mysql::Tools::Upgrade::Program.
|
private |
Initializes program name.
|
staticprivate |
Compares option structures by long name.
Keeps –help first.
void Abstract_program::run | ( | int | argc, |
char ** | argv | ||
) |
Does all initialization and exit work, calls execute().
|
pure virtual |
Prints program invocation message.
Implemented in Mysql::Tools::Dump::Program, and Mysql::Tools::Upgrade::Program.
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |