MySQL  8.0.17
Source Code Documentation
server_component.cc File Reference

Functions

const mysql_service_mysql_mutex_v1_t SERVICE_IMPLEMENTATION (mysql_server, mysql_mutex_v1)
 
const mysql_service_mysql_rwlock_v1_t SERVICE_IMPLEMENTATION (mysql_server, mysql_rwlock_v1)
 
 PROVIDES_SERVICE (mysql_server, registry)
 
 PROVIDES_SERVICE (mysql_server, registry_registration)
 
 PROVIDES_SERVICE (mysql_server, registry_query)
 
 PROVIDES_SERVICE (mysql_server, registry_metadata_enumerate)
 
 PROVIDES_SERVICE (mysql_server, registry_metadata_query)
 
 PROVIDES_SERVICE (mysql_server, dynamic_loader)
 
 PROVIDES_SERVICE (mysql_server_path_filter, dynamic_loader_scheme_file)
 
 PROVIDES_SERVICE (mysql_server, persistent_dynamic_loader)
 
 PROVIDES_SERVICE (mysql_server, dynamic_loader_query)
 
 PROVIDES_SERVICE (mysql_server, dynamic_loader_metadata_enumerate)
 
 PROVIDES_SERVICE (mysql_server, dynamic_loader_metadata_query)
 
 PROVIDES_SERVICE (mysql_server, dynamic_loader_scheme_file)
 
 PROVIDES_SERVICE (mysql_server, dynamic_privilege_register)
 
 PROVIDES_SERVICE (mysql_server, global_grants_check)
 
 PROVIDES_SERVICE (mysql_server, mysql_string_factory)
 
 PROVIDES_SERVICE (mysql_server, mysql_string_case)
 
 PROVIDES_SERVICE (mysql_server, mysql_string_converter)
 
 PROVIDES_SERVICE (mysql_server, mysql_string_character_access)
 
 PROVIDES_SERVICE (mysql_server, mysql_string_byte_access)
 
 PROVIDES_SERVICE (mysql_server, mysql_string_iterator)
 
 PROVIDES_SERVICE (mysql_server, mysql_string_ctype)
 
 PROVIDES_SERVICE (mysql_server, log_builtins)
 
 PROVIDES_SERVICE (mysql_server, log_builtins_filter)
 
 PROVIDES_SERVICE (mysql_server, log_builtins_filter_debug)
 
 PROVIDES_SERVICE (mysql_server, log_builtins_string)
 
 PROVIDES_SERVICE (mysql_server, log_builtins_tmp)
 
 PROVIDES_SERVICE (mysql_server, log_builtins_syseventlog)
 
 PROVIDES_SERVICE (mysql_server, udf_registration)
 
 PROVIDES_SERVICE (mysql_server, udf_registration_aggregate)
 
 PROVIDES_SERVICE (mysql_server, component_sys_variable_register)
 
 PROVIDES_SERVICE (mysql_server, component_sys_variable_unregister)
 
 PROVIDES_SERVICE (mysql_server, mysql_cond_v1)
 
 PROVIDES_SERVICE (mysql_server, mysql_mutex_v1)
 
 PROVIDES_SERVICE (mysql_server, mysql_rwlock_v1)
 
 PROVIDES_SERVICE (mysql_server, status_variable_registration)
 
 PROVIDES_SERVICE (mysql_server, system_variable_source)
 
 PROVIDES_SERVICE (mysql_server, mysql_backup_lock)
 
 PROVIDES_SERVICE (mysql_server, clone_protocol)
 
 PROVIDES_SERVICE (mysql_server, mysql_thd_security_context)
 
 PROVIDES_SERVICE (mysql_server, mysql_security_context_factory)
 
 PROVIDES_SERVICE (mysql_server, mysql_account_database_security_context_lookup)
 
 PROVIDES_SERVICE (mysql_server, mysql_security_context_options)
 
 PROVIDES_SERVICE (mysql_server, mysql_ongoing_transactions_query)
 
 PROVIDES_SERVICE (mysql_server, host_application_signal)
 
 PROVIDES_SERVICE (mysql_server, mysql_audit_api_message)
 
 PROVIDES_SERVICE (mysql_server, mysql_page_track)
 
 PROVIDES_SERVICE (mysql_server, mysql_runtime_error)
 
 PROVIDES_SERVICE (mysql_server, mysql_current_thread_reader)
 
 PROVIDES_SERVICE (mysql_server, mysql_keyring_iterator)
 
 END_COMPONENT_PROVIDES ()
 
static BEGIN_COMPONENT_REQUIRES (mysql_server) END_COMPONENT_REQUIRES()
 
 METADATA ("mysql.author", "Oracle Corporation")
 
 METADATA ("mysql.license", "GPL")
 
 END_COMPONENT_METADATA ()
 
bool mysql_services_bootstrap (const mysql_service_registry_t **registry)
 Bootstraps service registry and dynamic loader and make ready all basic server services. More...
 
void shutdown_dynamic_loader ()
 Shutdowns dynamic loader. More...
 
bool mysql_services_shutdown ()
 Shutdowns service registry making sure all basic services are unregistered. More...
 
void mysql_components_handle_std_exception (const char *funcname)
 Checks if last thrown exception is any kind of standard exceptions, i.e. More...
 

Variables

const mysql_service_mysql_cond_v1_t SERVICE_IMPLEMENTATION (mysql_server, mysql_cond_v1)
 
const mysql_service_registry_t imp_mysql_server_registry
 
const mysql_service_registry_registration_t imp_mysql_server_registry_registration
 
const mysql_service_registry_query_t imp_mysql_server_registry_query
 
const mysql_service_registry_metadata_enumerate_t imp_mysql_server_registry_metadata_enumerate
 
const mysql_service_registry_metadata_query_t imp_mysql_server_registry_metadata_query
 
const mysql_service_dynamic_loader_t imp_mysql_server_dynamic_loader
 
const mysql_service_dynamic_loader_query_t imp_mysql_server_dynamic_loader_query
 
const mysql_service_dynamic_loader_metadata_enumerate_t imp_mysql_server_dynamic_loader_metadata_enumerate
 
const mysql_service_dynamic_loader_metadata_query_t imp_mysql_server_dynamic_loader_metadata_query
 
const mysql_service_dynamic_loader_scheme_file_t imp_mysql_server_path_filter_dynamic_loader_scheme_file
 
const mysql_service_dynamic_loader_scheme_file_t imp_mysql_server_dynamic_loader_scheme_file
 
const mysql_service_persistent_dynamic_loader_t imp_mysql_server_persistent_dynamic_loader
 
const mysql_service_dynamic_privilege_register_t imp_mysql_server_dynamic_privilege_register
 
const mysql_service_global_grants_check_t imp_mysql_server_global_grants_check
 
const mysql_service_mysql_string_factory_t imp_mysql_server_mysql_string_factory
 
const mysql_service_mysql_string_case_t imp_mysql_server_mysql_string_case
 
const mysql_service_mysql_string_converter_t imp_mysql_server_mysql_string_converter
 
const mysql_service_mysql_string_character_access_t imp_mysql_server_mysql_string_character_access
 
const mysql_service_mysql_string_byte_access_t imp_mysql_server_mysql_string_byte_access
 
const mysql_service_mysql_string_iterator_t imp_mysql_server_mysql_string_iterator
 
const mysql_service_mysql_string_ctype_t imp_mysql_server_mysql_string_ctype
 
const mysql_service_log_builtins_t imp_mysql_server_log_builtins
 
const mysql_service_log_builtins_filter_t imp_mysql_server_log_builtins_filter
 
const mysql_service_log_builtins_filter_debug_t imp_mysql_server_log_builtins_filter_debug
 
const mysql_service_log_builtins_string_t imp_mysql_server_log_builtins_string
 
const mysql_service_log_builtins_tmp_t imp_mysql_server_log_builtins_tmp
 
const mysql_service_log_builtins_syseventlog_t imp_mysql_server_log_builtins_syseventlog
 
const mysql_service_udf_registration_t imp_mysql_server_udf_registration
 
const mysql_service_udf_registration_aggregate_t imp_mysql_server_udf_registration_aggregate
 
const mysql_service_component_sys_variable_register_t imp_mysql_server_component_sys_variable_register
 
const mysql_service_component_sys_variable_unregister_t imp_mysql_server_component_sys_variable_unregister
 
const mysql_service_status_variable_registration_t imp_mysql_server_status_variable_registration
 
const mysql_service_system_variable_source_t imp_mysql_server_system_variable_source
 
const mysql_service_mysql_backup_lock_t imp_mysql_server_mysql_backup_lock
 
const mysql_service_clone_protocol_t imp_mysql_server_clone_protocol
 
const mysql_service_mysql_thd_security_context_t imp_mysql_server_mysql_thd_security_context
 
const mysql_service_mysql_security_context_factory_t imp_mysql_server_mysql_security_context_factory
 
const mysql_service_mysql_account_database_security_context_lookup_t imp_mysql_server_mysql_account_database_security_context_lookup
 
const mysql_service_mysql_security_context_options_t imp_mysql_server_mysql_security_context_options
 
const mysql_service_mysql_ongoing_transactions_query_t imp_mysql_server_mysql_ongoing_transactions_query
 
const mysql_service_host_application_signal_t imp_mysql_server_host_application_signal
 
const mysql_service_mysql_audit_api_message_t imp_mysql_server_mysql_audit_api_message
 
const mysql_service_mysql_page_track_t imp_mysql_server_mysql_page_track
 
const mysql_service_mysql_runtime_error_t imp_mysql_server_mysql_runtime_error
 
const mysql_service_mysql_current_thread_reader_t imp_mysql_server_mysql_current_thread_reader
 
const mysql_service_mysql_keyring_iterator_t imp_mysql_server_mysql_keyring_iterator
 
mysql_component_t mysql_component_mysql_server
 

Function Documentation

◆ BEGIN_COMPONENT_REQUIRES()

static BEGIN_COMPONENT_REQUIRES ( mysql_server  )
static

◆ END_COMPONENT_METADATA()

END_COMPONENT_METADATA ( )

◆ END_COMPONENT_PROVIDES()

END_COMPONENT_PROVIDES ( )

◆ METADATA() [1/2]

METADATA ( "mysql.author"  ,
"Oracle Corporation"   
)

◆ METADATA() [2/2]

METADATA ( "mysql.license"  ,
"GPL"   
)

◆ mysql_components_handle_std_exception()

void mysql_components_handle_std_exception ( const char *  funcname)

Checks if last thrown exception is any kind of standard exceptions, i.e.

the exceptions inheriting from std::exception. If so, reports an error message that states exception type and message. On any other thrown value it just reports general error.

◆ mysql_services_bootstrap()

bool mysql_services_bootstrap ( const mysql_service_registry_t **  registry)

Bootstraps service registry and dynamic loader and make ready all basic server services.

Parameters
[out]registryA service handle to registry service. May be NULL.
Returns
Status of performed operation
Return values
falsesuccess
truefailure

◆ mysql_services_shutdown()

bool mysql_services_shutdown ( )

Shutdowns service registry making sure all basic services are unregistered.

Will fail if any service implementation is in use.

Returns
Status of performed operation
Return values
falsesuccess
truefailure

◆ PROVIDES_SERVICE() [1/49]

PROVIDES_SERVICE ( mysql_server  ,
registry   
)

◆ PROVIDES_SERVICE() [2/49]

PROVIDES_SERVICE ( mysql_server  ,
registry_registration   
)

◆ PROVIDES_SERVICE() [3/49]

PROVIDES_SERVICE ( mysql_server  ,
registry_query   
)

◆ PROVIDES_SERVICE() [4/49]

PROVIDES_SERVICE ( mysql_server  ,
registry_metadata_enumerate   
)

◆ PROVIDES_SERVICE() [5/49]

PROVIDES_SERVICE ( mysql_server  ,
registry_metadata_query   
)

◆ PROVIDES_SERVICE() [6/49]

PROVIDES_SERVICE ( mysql_server  ,
dynamic_loader   
)

◆ PROVIDES_SERVICE() [7/49]

PROVIDES_SERVICE ( mysql_server_path_filter  ,
dynamic_loader_scheme_file   
)

◆ PROVIDES_SERVICE() [8/49]

PROVIDES_SERVICE ( mysql_server  ,
persistent_dynamic_loader   
)

◆ PROVIDES_SERVICE() [9/49]

PROVIDES_SERVICE ( mysql_server  ,
dynamic_loader_query   
)

◆ PROVIDES_SERVICE() [10/49]

PROVIDES_SERVICE ( mysql_server  ,
dynamic_loader_metadata_enumerate   
)

◆ PROVIDES_SERVICE() [11/49]

PROVIDES_SERVICE ( mysql_server  ,
dynamic_loader_metadata_query   
)

◆ PROVIDES_SERVICE() [12/49]

PROVIDES_SERVICE ( mysql_server  ,
dynamic_loader_scheme_file   
)

◆ PROVIDES_SERVICE() [13/49]

PROVIDES_SERVICE ( mysql_server  ,
dynamic_privilege_register   
)

◆ PROVIDES_SERVICE() [14/49]

PROVIDES_SERVICE ( mysql_server  ,
global_grants_check   
)

◆ PROVIDES_SERVICE() [15/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_string_factory   
)

◆ PROVIDES_SERVICE() [16/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_string_case   
)

◆ PROVIDES_SERVICE() [17/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_string_converter   
)

◆ PROVIDES_SERVICE() [18/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_string_character_access   
)

◆ PROVIDES_SERVICE() [19/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_string_byte_access   
)

◆ PROVIDES_SERVICE() [20/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_string_iterator   
)

◆ PROVIDES_SERVICE() [21/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_string_ctype   
)

◆ PROVIDES_SERVICE() [22/49]

PROVIDES_SERVICE ( mysql_server  ,
log_builtins   
)

◆ PROVIDES_SERVICE() [23/49]

PROVIDES_SERVICE ( mysql_server  ,
log_builtins_filter   
)

◆ PROVIDES_SERVICE() [24/49]

PROVIDES_SERVICE ( mysql_server  ,
log_builtins_filter_debug   
)

◆ PROVIDES_SERVICE() [25/49]

PROVIDES_SERVICE ( mysql_server  ,
log_builtins_string   
)

◆ PROVIDES_SERVICE() [26/49]

PROVIDES_SERVICE ( mysql_server  ,
log_builtins_tmp   
)

◆ PROVIDES_SERVICE() [27/49]

PROVIDES_SERVICE ( mysql_server  ,
log_builtins_syseventlog   
)

◆ PROVIDES_SERVICE() [28/49]

PROVIDES_SERVICE ( mysql_server  ,
udf_registration   
)

◆ PROVIDES_SERVICE() [29/49]

PROVIDES_SERVICE ( mysql_server  ,
udf_registration_aggregate   
)

◆ PROVIDES_SERVICE() [30/49]

PROVIDES_SERVICE ( mysql_server  ,
component_sys_variable_register   
)

◆ PROVIDES_SERVICE() [31/49]

PROVIDES_SERVICE ( mysql_server  ,
component_sys_variable_unregister   
)

◆ PROVIDES_SERVICE() [32/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_cond_v1   
)

◆ PROVIDES_SERVICE() [33/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_mutex_v1   
)

◆ PROVIDES_SERVICE() [34/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_rwlock_v1   
)

◆ PROVIDES_SERVICE() [35/49]

PROVIDES_SERVICE ( mysql_server  ,
status_variable_registration   
)

◆ PROVIDES_SERVICE() [36/49]

PROVIDES_SERVICE ( mysql_server  ,
system_variable_source   
)

◆ PROVIDES_SERVICE() [37/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_backup_lock   
)

◆ PROVIDES_SERVICE() [38/49]

PROVIDES_SERVICE ( mysql_server  ,
clone_protocol   
)

◆ PROVIDES_SERVICE() [39/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_thd_security_context   
)

◆ PROVIDES_SERVICE() [40/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_security_context_factory   
)

◆ PROVIDES_SERVICE() [41/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_account_database_security_context_lookup   
)

◆ PROVIDES_SERVICE() [42/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_security_context_options   
)

◆ PROVIDES_SERVICE() [43/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_ongoing_transactions_query   
)

◆ PROVIDES_SERVICE() [44/49]

PROVIDES_SERVICE ( mysql_server  ,
host_application_signal   
)

◆ PROVIDES_SERVICE() [45/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_audit_api_message   
)

◆ PROVIDES_SERVICE() [46/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_page_track   
)

◆ PROVIDES_SERVICE() [47/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_runtime_error   
)

◆ PROVIDES_SERVICE() [48/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_current_thread_reader   
)

◆ PROVIDES_SERVICE() [49/49]

PROVIDES_SERVICE ( mysql_server  ,
mysql_keyring_iterator   
)

◆ SERVICE_IMPLEMENTATION() [1/2]

const mysql_service_mysql_mutex_v1_t SERVICE_IMPLEMENTATION ( mysql_server  ,
mysql_mutex_v1   
)

◆ SERVICE_IMPLEMENTATION() [2/2]

const mysql_service_mysql_rwlock_v1_t SERVICE_IMPLEMENTATION ( mysql_server  ,
mysql_rwlock_v1   
)

◆ shutdown_dynamic_loader()

void shutdown_dynamic_loader ( )

Shutdowns dynamic loader.

Variable Documentation

◆ imp_mysql_server_clone_protocol

const mysql_service_clone_protocol_t imp_mysql_server_clone_protocol
Initial value:
= {
int mysql_clone_validate_charsets(THD *thd, Mysql_Clone_Values &char_sets) noexcept
Check if all characters sets are supported by server.
Definition: clone_protocol_service.cc:120
int mysql_clone_get_command(THD *thd, uchar *command, uchar **com_buffer, size_t *buffer_length) noexcept
Get command from client.
Definition: clone_protocol_service.cc:531
void mysql_clone_start_statement(THD *&thd, PSI_thread_key thread_key, PSI_statement_key statement_key) noexcept
Start and set session and statement key form current thread.
Definition: clone_protocol_service.cc:47
int mysql_clone_kill(MYSQL *connection, MYSQL *kill_connection) noexcept
Kill a remote connection.
Definition: clone_protocol_service.cc:467
MYSQL * mysql_clone_connect(THD *thd, const char *host, uint32_t port, const char *user, const char *passwd, mysql_clone_ssl_context *ssl_ctx, MYSQL_SOCKET *socket) noexcept
Connect to a remote server and switch to clone protocol.
Definition: clone_protocol_service.cc:242
int mysql_clone_send_error(THD *thd, uchar err_cmd, bool is_fatal) noexcept
Send error to client.
Definition: clone_protocol_service.cc:601
int mysql_clone_get_response(THD *thd, MYSQL *connection, bool set_active, uint32_t timeout, uchar **packet, size_t *length, size_t *net_length) noexcept
Get response from remote server.
Definition: clone_protocol_service.cc:397
int mysql_clone_send_response(THD *thd, bool secure, uchar *packet, size_t length) noexcept
Send response to client.
Definition: clone_protocol_service.cc:573
void mysql_clone_finish_statement(THD *thd) noexcept
Finish statement and session.
Definition: clone_protocol_service.cc:85
int mysql_clone_send_command(THD *thd, MYSQL *connection, bool set_active, uchar command, uchar *com_buffer, size_t buffer_length) noexcept
Execute clone command on remote server.
Definition: clone_protocol_service.cc:359
int mysql_clone_get_configs(THD *thd, Mysql_Clone_Key_Values &configs) noexcept
Get system configuration parameter values.
Definition: clone_protocol_service.cc:179
int mysql_clone_get_charsets(THD *thd, Mysql_Clone_Values &char_sets) noexcept
Get all character set and collations.
Definition: clone_protocol_service.cc:98
void mysql_clone_get_error(THD *thd, uint32_t *err_num, const char **err_mesg) noexcept
Get error number and message.
Definition: clone_protocol_service.cc:510
int mysql_clone_validate_configs(THD *thd, Mysql_Clone_Key_Values &configs) noexcept
Check if configuration parameter values match.
Definition: clone_protocol_service.cc:198
void mysql_clone_disconnect(THD *thd, MYSQL *mysql, bool is_fatal, bool clear_error) noexcept
Disconnect from a remote server.
Definition: clone_protocol_service.cc:482

◆ imp_mysql_server_component_sys_variable_register

const mysql_service_component_sys_variable_register_t imp_mysql_server_component_sys_variable_register
Initial value:
= {
static mysql_service_status_t get_variable(const char *component_name, const char *var_name, void **val, size_t *out_length_of_val) noexcept
Get the component system variable value from the global structure.
Definition: component_sys_var_service.cc:477
static mysql_service_status_t register_variable(const char *component_name, const char *var_name, int flags, const char *comment, mysql_sys_var_check_func check_func, mysql_sys_var_update_func update_func, void *check_arg, void *variable_value) noexcept
Register's component system variables.
Definition: component_sys_var_service.cc:132

◆ imp_mysql_server_component_sys_variable_unregister

const mysql_service_component_sys_variable_unregister_t imp_mysql_server_component_sys_variable_unregister
Initial value:
= {
}
static mysql_service_status_t unregister_variable(const char *component_name, const char *var_name) noexcept
Unregister's component system variable.
Definition: component_sys_var_service.cc:517

◆ imp_mysql_server_dynamic_loader

const mysql_service_dynamic_loader_t imp_mysql_server_dynamic_loader
Initial value:
= {
static mysql_service_status_t unload(const char *urns[], int component_count) noexcept
Unloads specified group of Components by URN, deinitializes them and unregisters all Service Implemen...
Definition: dynamic_loader.cc:409
static mysql_service_status_t load(const char *urns[], int component_count) noexcept
Loads specified group of Components by URN, initializes them and registers all Service Implementation...
Definition: dynamic_loader.cc:362

◆ imp_mysql_server_dynamic_loader_metadata_enumerate

const mysql_service_dynamic_loader_metadata_enumerate_t imp_mysql_server_dynamic_loader_metadata_enumerate
Initial value:
= {
}
static mysql_service_status_t metadata_iterator_get(my_h_component_metadata_iterator iterator, const char **out_name, const char **out_value) noexcept
Gets the key and value of the metadata pointed to by the specified iterator.
static mysql_service_status_t metadata_iterator_next(my_h_component_metadata_iterator iterator) noexcept
Advances specified iterator to next element.
static mysql_service_status_t metadata_iterator_is_valid(my_h_component_metadata_iterator iterator) noexcept
Checks if specified iterator is valid, i.e.
static void metadata_iterator_release(my_h_component_metadata_iterator iterator) noexcept
Releases the specified iterator.
static mysql_service_status_t metadata_iterator_create(my_h_component_iterator iterator, my_h_component_metadata_iterator *out_iterator) noexcept
Creates iterator that iterates through all metadata for object pointed by the specified iterator...

◆ imp_mysql_server_dynamic_loader_metadata_query

const mysql_service_dynamic_loader_metadata_query_t imp_mysql_server_dynamic_loader_metadata_query
Initial value:
= {
static mysql_service_status_t metadata_get_value(my_h_component_iterator iterator, const char *name, const char **out_value) noexcept
Gets the key and value of the metadata pointed to by the specified object iterator.

◆ imp_mysql_server_dynamic_loader_query

const mysql_service_dynamic_loader_query_t imp_mysql_server_dynamic_loader_query
Initial value:
= {
static mysql_service_status_t iterator_next(my_h_component_iterator iterator) noexcept
Advances specified iterator to next element.
Definition: dynamic_loader.cc:544
static mysql_service_status_t iterator_create(my_h_component_iterator *out_iterator) noexcept
Creates iterator that iterates through all loaded Components.
Definition: dynamic_loader.cc:449
static mysql_service_status_t iterator_is_valid(my_h_component_iterator iterator) noexcept
Checks if specified iterator is valid, i.e.
Definition: dynamic_loader.cc:571
static void iterator_release(my_h_component_iterator iterator) noexcept
Releases Component iterator.
Definition: dynamic_loader.cc:482
static mysql_service_status_t iterator_get(my_h_component_iterator iterator, const char **out_name, const char **out_urn) noexcept
Gets name and URN of Service pointed to by iterator.
Definition: dynamic_loader.cc:510

◆ imp_mysql_server_dynamic_loader_scheme_file

const mysql_service_dynamic_loader_scheme_file_t imp_mysql_server_dynamic_loader_scheme_file
Initial value:
= {
static mysql_service_status_t unload(const char *urn) noexcept
Unloads file that was previously loaded.
Definition: dynamic_loader_scheme_file.cc:172
static mysql_service_status_t load(const char *urn, mysql_component_t **out_data) noexcept
Loads components that are located in executable file specified by URN.
Definition: dynamic_loader_scheme_file.cc:82

◆ imp_mysql_server_dynamic_privilege_register

const mysql_service_dynamic_privilege_register_t imp_mysql_server_dynamic_privilege_register
Initial value:
= {
}
static mysql_service_status_t register_privilege(const char *privilege_str, size_t privilege_str_len) noexcept
Register a privilege identifiers in the list of known identifiers.
Definition: dynamic_privileges_impl.cc:101
static mysql_service_status_t unregister_privilege(const char *privilege_str, size_t privilege_str_len) noexcept
Unregister a previously registered privilege object identifier so that it no longer can be used in GR...
Definition: dynamic_privileges_impl.cc:135

◆ imp_mysql_server_global_grants_check

const mysql_service_global_grants_check_t imp_mysql_server_global_grants_check
Initial value:
= {
static mysql_service_status_t has_global_grant(Security_context_handle, const char *privilege_str, size_t privilege_str_len) noexcept
Check if the supplied security context has the specified privilege identifier granted to it...
Definition: dynamic_privileges_impl.cc:164

◆ imp_mysql_server_host_application_signal

const mysql_service_host_application_signal_t imp_mysql_server_host_application_signal
Initial value:
= {
}
static mysql_service_status_t signal(int signal_no, void *arg) noexcept
Process signals for the mysql server binary.
Definition: host_application_signal_imp.cc:57

◆ imp_mysql_server_log_builtins

const mysql_service_log_builtins_t imp_mysql_server_log_builtins

◆ imp_mysql_server_log_builtins_filter

const mysql_service_log_builtins_filter_t imp_mysql_server_log_builtins_filter
Initial value:
= {
static int filter_run(log_filter_ruleset *ruleset, log_line *ll) noexcept
Apply all matching rules from a filter rule set to a given log line.
Definition: log_builtins_filter.cc:1043
static void filter_ruleset_unlock(log_filter_ruleset *ruleset) noexcept
Release lock on filter rules.
Definition: log_builtins_filter.cc:1000
static int filter_ruleset_lock(log_filter_ruleset *ruleset, log_builtins_filter_lock locktype) noexcept
Lock and get the filter rules.
Definition: log_builtins_filter.cc:995
static void filter_ruleset_drop(log_filter_ruleset *ruleset) noexcept
Drop an entire filter rule-set.
Definition: log_builtins_filter.cc:1005
static log_filter_ruleset * filter_ruleset_new(log_filter_tag *tag, size_t count) noexcept
Create a new set of filter rules.
Definition: log_builtins_filter.cc:989
static int filter_ruleset_move(log_filter_ruleset *from, log_filter_ruleset *to) noexcept
Move rules from one ruleset to another.
Definition: log_builtins_filter.cc:1015
static void * filter_rule_init(log_filter_ruleset *ruleset) noexcept
Initialize a new rule.
Definition: log_builtins_filter.cc:1037
static void filter_ruleset_free(log_filter_ruleset **ruleset) noexcept
Free an entire filter rule-set.
Definition: log_builtins_filter.cc:1010

◆ imp_mysql_server_log_builtins_filter_debug

const mysql_service_log_builtins_filter_debug_t imp_mysql_server_log_builtins_filter_debug
Initial value:
= {
}
static log_filter_ruleset * filter_debug_ruleset_get(void) noexcept
Get filter rules used in built-in filter.
Definition: log_builtins_filter.cc:1048

◆ imp_mysql_server_log_builtins_string

const mysql_service_log_builtins_string_t imp_mysql_server_log_builtins_string
Initial value:
= {
static void free(void *ptr) noexcept
Wrapper for my_free() - free allocated memory.
Definition: log_builtins.cc:3445
static size_t substitutev(char *to, size_t n, const char *fmt, va_list ap) noexcept
Wrapper for vsnprintf() Replace all % in format string with variables from list.
Definition: log_builtins.cc:3512
static char * find_first(const char *s, int c) noexcept
Wrapper for strchr() - find character in string, from the left.
Definition: log_builtins.cc:3460
static size_t substitute(char *to, size_t n, const char *fmt,...) noexcept
Wrapper for vsnprintf() Replace all % in format string with variables from list.
Definition: log_builtins.cc:3521
static char * find_last(const char *s, int c) noexcept
Wrapper for strrchr() - find character in string, from the right.
Definition: log_builtins.cc:3468
static int compare(const char *a, const char *b, size_t len, bool case_insensitive) noexcept
Compare two NUL-terminated byte strings.
Definition: log_builtins.cc:3496
static char * strndup(const char *fm, size_t len) noexcept
Wrapper for my_strndup()
Definition: log_builtins.cc:3438
static void * malloc(size_t len) noexcept
Wrapper for my_malloc()
Definition: log_builtins.cc:3424
static size_t length(const char *s) noexcept
Wrapper for strlen() - length of a nul-terminated byte string.
Definition: log_builtins.cc:3452

◆ imp_mysql_server_log_builtins_syseventlog

const mysql_service_log_builtins_syseventlog_t imp_mysql_server_log_builtins_syseventlog
Initial value:
= {
static int write(enum loglevel level, const char *msg) noexcept
Wrapper for mysys' my_syslog.
Definition: log_builtins.cc:3600
static int open(const char *name, int option, int facility) noexcept
Wrapper for mysys' my_openlog.
Definition: log_builtins.cc:3577
static int close(void) noexcept
Wrapper for mysys' my_closelog.
Definition: log_builtins.cc:3617

◆ imp_mysql_server_log_builtins_tmp

const mysql_service_log_builtins_tmp_t imp_mysql_server_log_builtins_tmp
Initial value:
= {
static size_t notify_client(void *thd, uint severity, uint code, char *to, size_t n, const char *format,...) noexcept
Definition: log_builtins.cc:3538

◆ imp_mysql_server_mysql_account_database_security_context_lookup

const mysql_service_mysql_account_database_security_context_lookup_t imp_mysql_server_mysql_account_database_security_context_lookup
Initial value:
= {
static mysql_service_status_t lookup(Security_context_handle ctx, const char *user, const char *host, const char *ip, const char *db) noexcept
Looks up in the defined user accounts.
Definition: security_context_imp.cc:175

◆ imp_mysql_server_mysql_audit_api_message

const mysql_service_mysql_audit_api_message_t imp_mysql_server_mysql_audit_api_message
Initial value:
= {
static mysql_service_status_t emit(mysql_event_message_subclass_t type, const char *component, size_t component_length, const char *producer, size_t producer_length, const char *message, size_t message_length, mysql_event_message_key_value_t *key_value_map, size_t key_value_map_length) noexcept
Method that generates Audit API message event.
Definition: audit_api_message_service_imp.cc:38

◆ imp_mysql_server_mysql_backup_lock

const mysql_service_mysql_backup_lock_t imp_mysql_server_mysql_backup_lock
Initial value:
= {
mysql_service_status_t mysql_release_backup_lock(THD *opaque_thd) noexcept
Service API to release Backup Lock.
Definition: backup_lock_service.cc:54
mysql_service_status_t mysql_acquire_backup_lock(THD *opaque_thd, enum enum_backup_lock_service_lock_kind lock_kind, unsigned long lock_timeout) noexcept
Service API to acquire shared Backup Lock.
Definition: backup_lock_service.cc:36

◆ imp_mysql_server_mysql_current_thread_reader

const mysql_service_mysql_current_thread_reader_t imp_mysql_server_mysql_current_thread_reader
Initial value:
= {
}
static mysql_service_status_t get(THD **arg) noexcept
Return current thd.
Definition: mysql_current_thread_reader_imp.cc:46

◆ imp_mysql_server_mysql_keyring_iterator

const mysql_service_mysql_keyring_iterator_t imp_mysql_server_mysql_keyring_iterator
Initial value:
= {
static mysql_service_status_t init(my_h_keyring_iterator *iterator) noexcept
Initialize an iterator.
Definition: keyring_iterator_service_imp.cc:35
static mysql_service_status_t deinit(my_h_keyring_iterator iterator) noexcept
Deinitialize an iterator.
Definition: keyring_iterator_service_imp.cc:40
static mysql_service_status_t get(my_h_keyring_iterator iterator, char *key_id, size_t key_id_size, char *user_id, size_t user_id_size) noexcept
Fetch key info stored under key iterator and move it forward.
Definition: keyring_iterator_service_imp.cc:46

◆ imp_mysql_server_mysql_ongoing_transactions_query

const mysql_service_mysql_ongoing_transactions_query_t imp_mysql_server_mysql_ongoing_transactions_query
Initial value:
= {
}
static mysql_service_status_t get_ongoing_server_transactions(unsigned long **thread_ids, unsigned long *length) noexcept
Service that returns the list of thread ids for the currently running transactions in the server...
Definition: ongoing_transaction_query_service.cc:75

◆ imp_mysql_server_mysql_page_track

const mysql_service_mysql_page_track_t imp_mysql_server_mysql_page_track
Initial value:
= {
static int start(THD *opaque_thd, Page_Track_SE se_type, uint64_t *start_id) noexcept
Service API to start page tracking.
Definition: page_track_service.cc:37
static int stop(THD *opaque_thd, Page_Track_SE se_type, uint64_t *stop_id) noexcept
Service API to stop page tracking.
Definition: page_track_service.cc:59
static int get_num_page_ids(THD *opaque_thd, Page_Track_SE se_type, uint64_t *start_id, uint64_t *stop_id, uint64_t *num_pages) noexcept
Service API to get approximate number of pages tracked in the given range.
Definition: page_track_service.cc:127
static int purge(THD *opaque_thd, Page_Track_SE se_type, uint64_t *purge_id) noexcept
Service API to purge page tracking data.
Definition: page_track_service.cc:81
static int get_status(THD *opaque_thd, Page_Track_SE se_type, uint64_t *initial_start_id, uint64_t *last_start_id) noexcept
API to check if page tracking is active or not and to return start id if it's active.
Definition: page_track_service.cc:149
static int get_page_ids(THD *opaque_thd, Page_Track_SE se_type, uint64_t *start_id, uint64_t *stop_id, unsigned char *buffer, size_t buffer_len, Page_Track_Callback cbk_func, void *cbk_ctx) noexcept
Service API to get tracked pages.
Definition: page_track_service.cc:104

◆ imp_mysql_server_mysql_runtime_error

const mysql_service_mysql_runtime_error_t imp_mysql_server_mysql_runtime_error
Initial value:
= {
static void emit(int id, int flags, va_list args) noexcept
It calls the server SQL error generation function and adds the error into the THD's error context...
Definition: mysql_runtime_error.cc:38

◆ imp_mysql_server_mysql_security_context_factory

const mysql_service_mysql_security_context_factory_t imp_mysql_server_mysql_security_context_factory
Initial value:
= {
static mysql_service_status_t copy(Security_context_handle in_ctx, Security_context_handle *out_ctx) noexcept
Duplicates a security context.
Definition: security_context_imp.cc:141
static mysql_service_status_t destroy(Security_context_handle ctx) noexcept
Deallocates a security context.
Definition: security_context_imp.cc:120
static mysql_service_status_t create(Security_context_handle *out_ctx) noexcept
Creates a new security context and initializes it with the defaults (no access, no user etc)...
Definition: security_context_imp.cc:101

◆ imp_mysql_server_mysql_security_context_options

const mysql_service_mysql_security_context_options_t imp_mysql_server_mysql_security_context_options
Initial value:
= {
static mysql_service_status_t get(void *_thd, Security_context_handle *out_ctx) noexcept
Gets the security context for the thread.
Definition: security_context_imp.cc:48
static mysql_service_status_t set(void *_thd, Security_context_handle in_ctx) noexcept
Sets a new security context for the thread.
Definition: security_context_imp.cc:72

◆ imp_mysql_server_mysql_string_byte_access

const mysql_service_mysql_string_byte_access_t imp_mysql_server_mysql_string_byte_access
Initial value:
= {
static mysql_service_status_t get_byte_length(my_h_string string, uint *out_length) noexcept
Gets length of specified string expressed as number of bytes.
Definition: mysql_string_service.cc:324
static mysql_service_status_t get_byte(my_h_string string, uint index, uint *out_char) noexcept
Gets byte code of string at specified index position to a specified 32-bit buffer.
Definition: mysql_string_service.cc:299

◆ imp_mysql_server_mysql_string_case

const mysql_service_mysql_string_case_t imp_mysql_server_mysql_string_case
Initial value:
= {
static mysql_service_status_t toupper(my_h_string *out_string, my_h_string in_string) noexcept
Convert a String pointed by handle to upper case.
Definition: mysql_string_service.cc:122
static mysql_service_status_t tolower(my_h_string *out_string, my_h_string in_string) noexcept
Convert a String pointed by handle to lower case.
Definition: mysql_string_service.cc:87

◆ imp_mysql_server_mysql_string_character_access

const mysql_service_mysql_string_character_access_t imp_mysql_server_mysql_string_character_access
Initial value:
= {
static mysql_service_status_t get_char_length(my_h_string string, uint *out_length) noexcept
Gets length of specified string expressed as number of characters.
Definition: mysql_string_service.cc:275
static mysql_service_status_t get_char(my_h_string string, uint index, ulong *out_char) noexcept
Gets character code of character on specified index position in string to a specified buffer...
Definition: mysql_string_service.cc:246

◆ imp_mysql_server_mysql_string_converter

const mysql_service_mysql_string_converter_t imp_mysql_server_mysql_string_converter
Initial value:
= {
static mysql_service_status_t convert_from_buffer(my_h_string *out_string, const char *in_buffer, uint64 length, const char *charset_name) noexcept
alocates a string object and converts the character buffer to string of specified charset_name...
Definition: mysql_string_service.cc:163
static mysql_service_status_t convert_to_buffer(my_h_string in_string, char *out_buffer, uint64 length, const char *charset_name) noexcept
converts the mysql_string to the character set specified by charset_name parameter.
Definition: mysql_string_service.cc:197

◆ imp_mysql_server_mysql_string_ctype

const mysql_service_mysql_string_ctype_t imp_mysql_server_mysql_string_ctype
Initial value:
= {
static mysql_service_status_t is_upper(my_h_string_iterator iter, bool *out) noexcept
Checks if character on current position the iterator points to is an upper case.
Definition: mysql_string_service.cc:434
static mysql_service_status_t is_lower(my_h_string_iterator iter, bool *out) noexcept
Checks if character on current position the iterator points to is a lower case.
Definition: mysql_string_service.cc:458
static mysql_service_status_t is_digit(my_h_string_iterator iter, bool *out) noexcept
Checks if character on current position the iterator points to is a digit.
Definition: mysql_string_service.cc:480

◆ imp_mysql_server_mysql_string_factory

const mysql_service_mysql_string_factory_t imp_mysql_server_mysql_string_factory
Initial value:
= {
static mysql_service_status_t create(my_h_string *out_string) noexcept
Creates a new instance of string object.
Definition: mysql_string_service.cc:65
static void destroy(my_h_string string) noexcept
Destroys specified string object and data contained by it.
Definition: mysql_string_service.cc:223

◆ imp_mysql_server_mysql_string_iterator

const mysql_service_mysql_string_iterator_t imp_mysql_server_mysql_string_iterator
Initial value:
= {
static mysql_service_status_t iterator_create(my_h_string string, my_h_string_iterator *out_iterator) noexcept
Creates an iterator for a specified string to allow iteration through all characters in the string...
Definition: mysql_string_service.cc:348
static void iterator_destroy(my_h_string_iterator iter) noexcept
Releases the string iterator object specified.
Definition: mysql_string_service.cc:413
static mysql_service_status_t iterator_get_next(my_h_string_iterator iter, int *out_char) noexcept
Retrieves character code at current iterator position and advances the iterator.
Definition: mysql_string_service.cc:378

◆ imp_mysql_server_mysql_thd_security_context

const mysql_service_mysql_thd_security_context_t imp_mysql_server_mysql_thd_security_context
Initial value:
= {
static mysql_service_status_t get(void *_thd, Security_context_handle *out_ctx) noexcept
Gets the security context for the thread.
Definition: security_context_imp.cc:48
static mysql_service_status_t set(void *_thd, Security_context_handle in_ctx) noexcept
Sets a new security context for the thread.
Definition: security_context_imp.cc:72

◆ imp_mysql_server_path_filter_dynamic_loader_scheme_file

const mysql_service_dynamic_loader_scheme_file_t imp_mysql_server_path_filter_dynamic_loader_scheme_file
Initial value:
= {
}
static mysql_service_status_t unload(const char *urn) noexcept
Checks if path specified to load is contained in plug-in directory and change it to absolute one usin...
Definition: dynamic_loader_path_filter.cc:79
static mysql_service_status_t load(const char *urn, mysql_component_t **out_data) noexcept
Checks if path specified to load is contained in plug-in directory and change it to absolute one usin...
Definition: dynamic_loader_path_filter.cc:56

◆ imp_mysql_server_persistent_dynamic_loader

const mysql_service_persistent_dynamic_loader_t imp_mysql_server_persistent_dynamic_loader
Initial value:
= {
static mysql_service_status_t load(void *thd_ptr, const char *urns[], int component_count) noexcept
Loads specified group of components by URN, initializes them and registers all service implementation...
Definition: persistent_dynamic_loader.cc:344
static mysql_service_status_t unload(void *thd_ptr, const char *urns[], int component_count) noexcept
Unloads specified group of Components by URN, deinitializes them and unregisters all service implemen...
Definition: persistent_dynamic_loader.cc:453

◆ imp_mysql_server_registry

const mysql_service_registry_t imp_mysql_server_registry
Initial value:
= {
static mysql_service_status_t release(my_h_service service) noexcept
Releases the Service Implementation previously acquired.
Definition: registry.cc:406
static mysql_service_status_t acquire(const char *service_name, my_h_service *out_service) noexcept
Finds and acquires a Service by name.
Definition: registry.cc:339
static mysql_service_status_t acquire_related(const char *service_name, my_h_service service, my_h_service *out_service) noexcept
Finds a Service by name.
Definition: registry.cc:361

◆ imp_mysql_server_registry_metadata_enumerate

const mysql_service_registry_metadata_enumerate_t imp_mysql_server_registry_metadata_enumerate
Initial value:
= {
static mysql_service_status_t metadata_iterator_create(my_h_service_iterator iterator, my_h_service_metadata_iterator *out_iterator) noexcept
Creates iterator that iterates through all metadata for object pointed by the specified iterator...
static mysql_service_status_t metadata_iterator_get(my_h_service_metadata_iterator iterator, const char **out_name, const char **out_value) noexcept
Gets the key and value of the metadata pointed to by the specified iterator.
static mysql_service_status_t metadata_iterator_is_valid(my_h_service_metadata_iterator iterator) noexcept
Checks if specified iterator is valid, i.e.
static mysql_service_status_t metadata_iterator_next(my_h_service_metadata_iterator iterator) noexcept
Advances specified iterator to next element.
static void metadata_iterator_release(my_h_service_metadata_iterator iterator) noexcept
Releases the specified iterator.

◆ imp_mysql_server_registry_metadata_query

const mysql_service_registry_metadata_query_t imp_mysql_server_registry_metadata_query
Initial value:
= {
static mysql_service_status_t metadata_get_value(my_h_service_iterator iterator, const char *name, const char **out_value) noexcept
Gets the key and value of the metadata pointed to by the specified object iterator.

◆ imp_mysql_server_registry_query

const mysql_service_registry_query_t imp_mysql_server_registry_query
Initial value:
= {
static mysql_service_status_t iterator_create(const char *service_name_pattern, my_h_service_iterator *out_iterator) noexcept
Creates iterator that iterates through all registered Service Implementations.
Definition: registry.cc:513
static void iterator_release(my_h_service_iterator iterator) noexcept
Releases Service implementations iterator.
Definition: registry.cc:546
static mysql_service_status_t iterator_is_valid(my_h_service_iterator iterator) noexcept
Checks if specified iterator is valid, i.e.
Definition: registry.cc:626
static mysql_service_status_t iterator_next(my_h_service_iterator iterator) noexcept
Advances specified iterator to next element.
Definition: registry.cc:600
static mysql_service_status_t iterator_get(my_h_service_iterator iterator, const char **out_name) noexcept
Gets name of Service pointed to by iterator.
Definition: registry.cc:570

◆ imp_mysql_server_registry_registration

const mysql_service_registry_registration_t imp_mysql_server_registry_registration
Initial value:
= {
static mysql_service_status_t register_service(const char *service_implementation_name, my_h_service ptr) noexcept
Registers a new Service Implementation.
Definition: registry.cc:426
static mysql_service_status_t set_default(const char *service_implementation_name) noexcept
Sets new default Service Implementation for corresponding Service name.
Definition: registry.cc:464
static mysql_service_status_t unregister(const char *service_implementation_name) noexcept
Removes previously registered Service Implementation from registry.
Definition: registry.cc:447

◆ imp_mysql_server_status_variable_registration

const mysql_service_status_variable_registration_t imp_mysql_server_status_variable_registration
Initial value:
= {
}
static mysql_service_status_t unregister_variable(SHOW_VAR *status_var) noexcept
Unregister's status variable.
Definition: component_status_var_service.cc:70
static mysql_service_status_t register_variable(SHOW_VAR *status_var) noexcept
Register status variable.
Definition: component_status_var_service.cc:50

◆ imp_mysql_server_system_variable_source

const mysql_service_system_variable_source_t imp_mysql_server_system_variable_source
Initial value:
= {
static mysql_service_status_t get(const char *name, unsigned int length, enum enum_variable_source *source) noexcept
Get source information of given system variable.
Definition: system_variable_source_imp.cc:43

◆ imp_mysql_server_udf_registration

const mysql_service_udf_registration_t imp_mysql_server_udf_registration
Initial value:
= {
static mysql_service_status_t udf_register(const char *name, Item_result return_type, Udf_func_any func, Udf_func_init init_func, Udf_func_deinit deinit_func) noexcept
udf_registration::udf_register
Definition: sql_udf.cc:831
static mysql_service_status_t udf_unregister(const char *name, int *was_present) noexcept
udf_registration::udf_unregister and udf_registration_aggregate::udf_register
Definition: sql_udf.cc:863

◆ imp_mysql_server_udf_registration_aggregate

const mysql_service_udf_registration_aggregate_t imp_mysql_server_udf_registration_aggregate
Initial value:
= {
static mysql_service_status_t udf_register_aggregate(const char *func_name, enum Item_result return_type, Udf_func_any func, Udf_func_init init_func, Udf_func_deinit deinit_func, Udf_func_add add_func, Udf_func_clear clear_func) noexcept
udf_registration_aggregate::udf_register
Definition: sql_udf.cc:847
static mysql_service_status_t udf_unregister(const char *name, int *was_present) noexcept
udf_registration::udf_unregister and udf_registration_aggregate::udf_register
Definition: sql_udf.cc:863

◆ mysql_component_mysql_server

mysql_component_t mysql_component_mysql_server
Initial value:
= { "mysql:core" , __mysql_server_provides, __mysql_server_requires, __mysql_server_metadata,
Sergei Dialog Client Authentication NULL
Definition: dialog.cc:352

◆ SERVICE_IMPLEMENTATION

const mysql_service_mysql_rwlock_v1_t SERVICE_IMPLEMENTATION(mysql_server, mysql_rwlock_v1) ( mysql_server  ,
mysql_cond_v1   
)