MySQL 26.10.0
Source Code Documentation
mrs_component.h File Reference
#include <atomic>
#include <memory>
#include <string>
#include "components/mysql_rest_service/mrs_component_backend.h"
#include "mysql/components/component_implementation.h"
#include "mysql/components/service.h"
#include "mysql/components/services/component_status_var_service.h"
#include "mysql/components/services/dynamic_privilege.h"
#include "mysql/components/services/mysql_command_services.h"
#include "mysql/components/services/mysql_command_session_state.h"
#include "mysql/components/services/mysql_debug_keyword_service.h"
#include "mysql/components/services/mysql_debug_sync_service.h"
#include "mysql/components/services/mysql_statement_service.h"
#include "mysql/components/services/mysql_status_variable_reader.h"
#include "mysql/components/services/mysql_string.h"
#include "mysql/components/services/mysql_system_variable.h"
#include "mysql/components/services/mysql_thd_attributes.h"
#include "mysql/components/services/psi_thread.h"
#include "mysql/components/services/security_context.h"
#include "mysql/components/services/table_access_service.h"
#include "mysql/components/services/udf_metadata.h"
#include "mysql/components/services/udf_registration.h"
#include "components/mysql_rest_service/mrs_component_log.h"
#include "components/mysql_rest_service/mrs_component_server_config.h"
#include "components/mysql_rest_service/mrs_component_status_vars.h"
#include "components/mysql_rest_service/mrs_component_system_vars.h"
#include "components/mysql_rest_service/mrs_component_udfs.h"
#include <mysqld_error.h>

Go to the source code of this file.

Classes

class  mrs_component::MRSComponent
 Coordinates registration and lifecycle of the MySQL REST Service component. More...
 

Namespaces

namespace  mrs_component
 

Functions

 REQUIRES_SERVICE_PLACEHOLDER_AS (log_builtins, log_bi)
 Component Service placeholders. More...
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (log_builtins_string, log_bs)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_system_variable_reader, sysvar_reader)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (component_sys_variable_register, sysvar_register)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (component_sys_variable_unregister, sysvar_unregister)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_status_variable_string, statusvar_reader)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (status_variable_registration, statusvar_register)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_command_factory, cmd_factory)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_command_options, cmd_options)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_command_query, cmd_query)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_command_thread, cmd_thread)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_command_query_result, cmd_query_result)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_command_field_info, cmd_field_info)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_command_error_info, cmd_error_info)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_command_field_metadata, cmd_field_meta)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_command_session_state, cmd_session_state)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_stmt_factory, stmt_factory)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_stmt_execute, stmt_execute)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_stmt_metadata, stmt_metadata)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_stmt_bind, stmt_bind)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_stmt_get_string, stmt_get_string)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_stmt_get_time, stmt_get_time)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_stmt_get_double, stmt_get_double)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_stmt_get_unsigned_integer, stmt_get_unsigned_integer)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_stmt_get_integer, stmt_get_integer)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_stmt_diagnostics, stmt_diagnostics)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_stmt_resultset_metadata, stmt_resultset_metadata)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_stmt_result, stmt_result)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_stmt_attributes, stmt_attributes)
 
 REQUIRES_SERVICE_PLACEHOLDER (mysql_current_thread_reader)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_thd_attributes, thd_attributes)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_thd_security_context, thread_security_ctx)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_security_context_factory, security_ctx_factory)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_account_database_security_context_lookup, security_ctx_lookup)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_security_context_options, thread_security_ctx_opts)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (dynamic_privilege_register, dynamic_privilege_registry)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (global_grants_check, global_grants_checker)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_string_factory, string_factory)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_string_get_data_in_charset, string_get_data_in_charset)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_string_converter, string_converter)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (table_access_factory_v1, table_access_factory)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (table_access_v1, table_access)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (field_varchar_access_v1, field_varchar_access)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (table_access_scan_v1, table_access_scan)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (field_access_nullability_v1, field_access_nullability)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (field_any_access_v1, field_any_access)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (udf_registration, udf_registry)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_udf_metadata, udf_metadata)
 
 REQUIRES_SERVICE_PLACEHOLDER_AS (mysql_debug_keyword_service, debug_keyword_service)
 
 REQUIRES_SERVICE_PLACEHOLDER (mysql_debug_sync_service)
 
void mrs_component::register_io_thread_instrumentation ()
 
void mrs_component::initialize_io_thread_instrumentation (size_t index)
 
void mrs_component::deinitialize_io_thread_instrumentation (size_t)
 
MRSComponent & mrs_component::mrs_component ()
 Returns the active MRS component instance. More...
 

Variables

constexpr const char mrs_component::kMysqlRestServiceAdmin [] = "MYSQL_REST_SERVICE_ADMIN"
 

Function Documentation

◆ REQUIRES_SERVICE_PLACEHOLDER() [1/2]

REQUIRES_SERVICE_PLACEHOLDER ( mysql_current_thread_reader  )

◆ REQUIRES_SERVICE_PLACEHOLDER() [2/2]

REQUIRES_SERVICE_PLACEHOLDER ( mysql_debug_sync_service  )

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [1/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( component_sys_variable_register  ,
sysvar_register   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [2/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( component_sys_variable_unregister  ,
sysvar_unregister   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [3/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( dynamic_privilege_register  ,
dynamic_privilege_registry   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [4/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( field_access_nullability_v1  ,
field_access_nullability   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [5/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( field_any_access_v1  ,
field_any_access   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [6/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( field_varchar_access_v1  ,
field_varchar_access   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [7/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( global_grants_check  ,
global_grants_checker   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [8/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( log_builtins  ,
log_bi   
)

Component Service placeholders.

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [9/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( log_builtins_string  ,
log_bs   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [10/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_account_database_security_context_lookup  ,
security_ctx_lookup   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [11/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_command_error_info  ,
cmd_error_info   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [12/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_command_factory  ,
cmd_factory   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [13/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_command_field_info  ,
cmd_field_info   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [14/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_command_field_metadata  ,
cmd_field_meta   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [15/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_command_options  ,
cmd_options   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [16/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_command_query  ,
cmd_query   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [17/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_command_query_result  ,
cmd_query_result   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [18/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_command_session_state  ,
cmd_session_state   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [19/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_command_thread  ,
cmd_thread   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [20/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_debug_keyword_service  ,
debug_keyword_service   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [21/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_security_context_factory  ,
security_ctx_factory   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [22/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_security_context_options  ,
thread_security_ctx_opts   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [23/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_status_variable_string  ,
statusvar_reader   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [24/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_stmt_attributes  ,
stmt_attributes   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [25/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_stmt_bind  ,
stmt_bind   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [26/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_stmt_diagnostics  ,
stmt_diagnostics   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [27/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_stmt_execute  ,
stmt_execute   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [28/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_stmt_factory  ,
stmt_factory   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [29/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_stmt_get_double  ,
stmt_get_double   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [30/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_stmt_get_integer  ,
stmt_get_integer   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [31/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_stmt_get_string  ,
stmt_get_string   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [32/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_stmt_get_time  ,
stmt_get_time   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [33/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_stmt_get_unsigned_integer  ,
stmt_get_unsigned_integer   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [34/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_stmt_metadata  ,
stmt_metadata   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [35/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_stmt_result  ,
stmt_result   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [36/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_stmt_resultset_metadata  ,
stmt_resultset_metadata   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [37/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_string_converter  ,
string_converter   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [38/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_string_factory  ,
string_factory   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [39/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_string_get_data_in_charset  ,
string_get_data_in_charset   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [40/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_system_variable_reader  ,
sysvar_reader   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [41/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_thd_attributes  ,
thd_attributes   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [42/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_thd_security_context  ,
thread_security_ctx   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [43/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( mysql_udf_metadata  ,
udf_metadata   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [44/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( status_variable_registration  ,
statusvar_register   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [45/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( table_access_factory_v1  ,
table_access_factory   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [46/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( table_access_scan_v1  ,
table_access_scan   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [47/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( table_access_v1  ,
table_access   
)

◆ REQUIRES_SERVICE_PLACEHOLDER_AS() [48/48]

REQUIRES_SERVICE_PLACEHOLDER_AS ( udf_registration  ,
udf_registry   
)