MySQL 8.3.0
Source Code Documentation
Mysql::Tools::Dump::Object_filter Class Reference

#include <object_filter.h>

Inheritance diagram for Mysql::Tools::Dump::Object_filter:
[legend]

Public Member Functions

 Object_filter (Mysql::Tools::Base::Abstract_program *program)
 
void create_options () override
 Creates all options that will be provided. More...
 
bool is_object_included_in_dump (Abstract_data_object *object)
 
- 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_optiongenerate_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_optioncreate_new_option (std::string name, std::string description)
 Creates and attach new simple option. More...
 
Disabled_optioncreate_new_disabled_option (std::string name, std::string description)
 Creates and attach new disabled option. More...
 
Char_array_optioncreate_new_option (char **value, std::string name, std::string description)
 Creates and attach new string option stored in char* type object. More...
 
Password_optioncreate_new_password_option (std::optional< std::string > *value, std::string name, std::string description)
 Creates and attach new password option. More...
 
String_optioncreate_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_optioncreate_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)
 
- Public Member Functions inherited from Mysql::Tools::Base::Options::I_option_changed_listener
virtual ~I_option_changed_listener ()=default
 

Public Attributes

std::vector< std::pair< std::string, std::string > > m_databases_excluded
 
std::vector< std::pair< std::string, std::string > > m_databases_included
 
std::vector< std::pair< std::string, std::string > > m_tables_excluded
 
std::vector< std::pair< std::string, std::string > > m_tables_included
 

Private Member Functions

bool is_object_included_by_lists (const std::string &schema_name, const std::string &object_name, std::vector< std::pair< std::string, std::string > > *include_list, std::vector< std::pair< std::string, std::string > > *exclude_list)
 
void include_databases_callback (char *)
 
void exclude_databases_callback (char *)
 
void include_tables_callback (char *)
 
void exclude_tables_callback (char *)
 
void include_routines_callback (char *)
 
void exclude_routines_callback (char *)
 
void include_triggers_callback (char *)
 
void exclude_triggers_callback (char *)
 
void include_events_callback (char *)
 
void exclude_events_callback (char *)
 
void include_users_callback (char *)
 
void exclude_users_callback (char *)
 
bool is_user_included_by_lists (const std::string &object_name, std::vector< std::pair< std::string, std::string > > *include_list, std::vector< std::pair< std::string, std::string > > *exclude_list)
 
void process_object_inclusion_string (std::vector< std::pair< std::string, std::string > > &list, bool allow_schema=true, bool is_user_object=false)
 

Private Attributes

std::vector< std::pair< std::string, std::string > > m_routines_excluded
 
std::vector< std::pair< std::string, std::string > > m_routines_included
 
std::vector< std::pair< std::string, std::string > > m_triggers_excluded
 
std::vector< std::pair< std::string, std::string > > m_triggers_included
 
std::vector< std::pair< std::string, std::string > > m_events_excluded
 
std::vector< std::pair< std::string, std::string > > m_events_included
 
std::vector< std::pair< std::string, std::string > > m_users_included
 
std::vector< std::pair< std::string, std::string > > m_users_excluded
 
bool m_dump_routines
 
bool m_dump_triggers
 
bool m_dump_events
 
bool m_dump_users
 
std::optional< std::string > m_include_tmp_string
 
Mysql::Tools::Base::Abstract_programm_program
 

Additional Inherited Members

- 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...
 

Constructor & Destructor Documentation

◆ Object_filter()

Object_filter::Object_filter ( Mysql::Tools::Base::Abstract_program program)
explicit

Member Function Documentation

◆ create_options()

void Object_filter::create_options ( )
overridevirtual

Creates all options that will be provided.

Implements Mysql::Tools::Base::Options::Abstract_options_provider.

◆ exclude_databases_callback()

void Object_filter::exclude_databases_callback ( char *  )
private

◆ exclude_events_callback()

void Object_filter::exclude_events_callback ( char *  )
private

◆ exclude_routines_callback()

void Object_filter::exclude_routines_callback ( char *  )
private

◆ exclude_tables_callback()

void Object_filter::exclude_tables_callback ( char *  )
private

◆ exclude_triggers_callback()

void Object_filter::exclude_triggers_callback ( char *  )
private

◆ exclude_users_callback()

void Object_filter::exclude_users_callback ( char *  )
private

◆ include_databases_callback()

void Object_filter::include_databases_callback ( char *  )
private

◆ include_events_callback()

void Object_filter::include_events_callback ( char *  )
private

◆ include_routines_callback()

void Object_filter::include_routines_callback ( char *  )
private

◆ include_tables_callback()

void Object_filter::include_tables_callback ( char *  )
private

◆ include_triggers_callback()

void Object_filter::include_triggers_callback ( char *  )
private

◆ include_users_callback()

void Object_filter::include_users_callback ( char *  )
private

◆ is_object_included_by_lists()

bool Object_filter::is_object_included_by_lists ( const std::string &  schema_name,
const std::string &  object_name,
std::vector< std::pair< std::string, std::string > > *  include_list,
std::vector< std::pair< std::string, std::string > > *  exclude_list 
)
private

◆ is_object_included_in_dump()

bool Object_filter::is_object_included_in_dump ( Abstract_data_object object)

◆ is_user_included_by_lists()

bool Object_filter::is_user_included_by_lists ( const std::string &  object_name,
std::vector< std::pair< std::string, std::string > > *  include_list,
std::vector< std::pair< std::string, std::string > > *  exclude_list 
)
private

◆ process_object_inclusion_string()

void Object_filter::process_object_inclusion_string ( std::vector< std::pair< std::string, std::string > > &  list,
bool  allow_schema = true,
bool  is_user_object = false 
)
private

Member Data Documentation

◆ m_databases_excluded

std::vector<std::pair<std::string, std::string> > Mysql::Tools::Dump::Object_filter::m_databases_excluded

◆ m_databases_included

std::vector<std::pair<std::string, std::string> > Mysql::Tools::Dump::Object_filter::m_databases_included

◆ m_dump_events

bool Mysql::Tools::Dump::Object_filter::m_dump_events
private

◆ m_dump_routines

bool Mysql::Tools::Dump::Object_filter::m_dump_routines
private

◆ m_dump_triggers

bool Mysql::Tools::Dump::Object_filter::m_dump_triggers
private

◆ m_dump_users

bool Mysql::Tools::Dump::Object_filter::m_dump_users
private

◆ m_events_excluded

std::vector<std::pair<std::string, std::string> > Mysql::Tools::Dump::Object_filter::m_events_excluded
private

◆ m_events_included

std::vector<std::pair<std::string, std::string> > Mysql::Tools::Dump::Object_filter::m_events_included
private

◆ m_include_tmp_string

std::optional<std::string> Mysql::Tools::Dump::Object_filter::m_include_tmp_string
private

◆ m_program

Mysql::Tools::Base::Abstract_program* Mysql::Tools::Dump::Object_filter::m_program
private

◆ m_routines_excluded

std::vector<std::pair<std::string, std::string> > Mysql::Tools::Dump::Object_filter::m_routines_excluded
private

◆ m_routines_included

std::vector<std::pair<std::string, std::string> > Mysql::Tools::Dump::Object_filter::m_routines_included
private

◆ m_tables_excluded

std::vector<std::pair<std::string, std::string> > Mysql::Tools::Dump::Object_filter::m_tables_excluded

◆ m_tables_included

std::vector<std::pair<std::string, std::string> > Mysql::Tools::Dump::Object_filter::m_tables_included

◆ m_triggers_excluded

std::vector<std::pair<std::string, std::string> > Mysql::Tools::Dump::Object_filter::m_triggers_excluded
private

◆ m_triggers_included

std::vector<std::pair<std::string, std::string> > Mysql::Tools::Dump::Object_filter::m_triggers_included
private

◆ m_users_excluded

std::vector<std::pair<std::string, std::string> > Mysql::Tools::Dump::Object_filter::m_users_excluded
private

◆ m_users_included

std::vector<std::pair<std::string, std::string> > Mysql::Tools::Dump::Object_filter::m_users_included
private

The documentation for this class was generated from the following files: