MySQL 9.3.0
Source Code Documentation
mysql_rest_service_plugin.cc File Reference
#include <algorithm>
#include <array>
#include <map>
#include <memory>
#include <set>
#include <stdexcept>
#include <string>
#include <thread>
#include <vector>
#include "my_sys.h"
#include "my_thread.h"
#include "mysqld_error.h"
#include "socket_operations.h"
#include "keyring/keyring_manager.h"
#include "mysql/harness/loader.h"
#include "mysql/harness/logging/logging.h"
#include "mysql/harness/plugin.h"
#include "mysqlrouter/mysql_rest_service_export.h"
#include "mysqlrouter/server_compatibility.h"
#include "collector/mysql_cache_manager.h"
#include "helper/plugin_monitor.h"
#include "helper/task_control.h"
#include "mrs/authentication/auth_handler_factory.h"
#include "mrs/database/query_factory_proxy.h"
#include "mrs/database/query_router_info.h"
#include "mrs/database/schema_monitor.h"
#include "mrs/database/slow_query_monitor.h"
#include "mrs/endpoint/handler/handler_debug.cc"
#include "mrs/endpoint_configuration.h"
#include "mrs/endpoint_manager.h"
#include "mrs/gtid_manager.h"
#include "mrs/observability/entities_manager.h"
#include "mrs/router_observation_entities.h"
#include "mysql_rest_service_plugin_config.h"
#include "mysqlrouter/http_constants.h"
#include "mysqlrouter/router_config_utils.h"
#include "supported_mysql_rest_service_options.h"

Classes

class  MrsModule
 
class  HttpControl< T >
 

Namespaces

namespace  anonymous_namespace{mysql_rest_service_plugin.cc}
 

Typedefs

using HandlerDebug = mrs::endpoint::handler::HandlerDebug
 
using HandlerCallback = mrs::endpoint::handler::HandlerCallback
 
using HandlerConfiguration = mrs::interface::RestHandler::Configuration
 

Functions

void anonymous_namespace{mysql_rest_service_plugin.cc}::trace_error (const char *variable_user, const char *access, const char *role, const mysqlrouter::MySQLSession::Error &e)
 
std::optional< uint64_t > anonymous_namespace{mysql_rest_service_plugin.cc}::find_existing_routers (mysqlrouter::MySQLSession *session, const std::string &router_name, const std::string &address)
 
static void init (mysql_harness::PluginFuncEnv *env)
 
static void run (mysql_harness::PluginFuncEnv *env)
 
static void stop (mysql_harness::PluginFuncEnv *)
 
static void deinit (mysql_harness::PluginFuncEnv *)
 

Variables

static constexpr const char kSectionName [] {"mysql_rest_service"}
 
static std::unique_ptr< mrs::PluginConfigg_mrs_configuration
 
static std::unique_ptr< MrsModuleg_mrds_module
 
static std::array< const char *, 3 > required = {{"logger", "http_server", "io"}}
 
mysql_harness::Plugin MYSQL_REST_SERVICE_EXPORT harness_plugin_mysql_rest_service
 

Typedef Documentation

◆ HandlerCallback

◆ HandlerConfiguration

◆ HandlerDebug

Function Documentation

◆ deinit()

static void deinit ( mysql_harness::PluginFuncEnv )
static

◆ init()

static void init ( mysql_harness::PluginFuncEnv env)
static

◆ run()

static void run ( mysql_harness::PluginFuncEnv env)
static

◆ stop()

static void stop ( mysql_harness::PluginFuncEnv )
static

Variable Documentation

◆ g_mrds_module

std::unique_ptr<MrsModule> g_mrds_module
static

◆ g_mrs_configuration

std::unique_ptr<mrs::PluginConfig> g_mrs_configuration
static

◆ harness_plugin_mysql_rest_service

mysql_harness::Plugin MYSQL_REST_SERVICE_EXPORT harness_plugin_mysql_rest_service
Initial value:
= {
mysql_harness::PLUGIN_ABI_VERSION,
mysql_harness::ARCHITECTURE_DESCRIPTOR,
"MYSQL_REST_SERVICE", VERSION_NUMBER(0, 0, 1),
required.size(), required.data(),
0, nullptr,
init,
run,
stop,
false,
nullptr
}
static void init(mysql_harness::PluginFuncEnv *env)
Definition: mysql_rest_service_plugin.cc:272
static void stop(mysql_harness::PluginFuncEnv *)
Definition: mysql_rest_service_plugin.cc:351
static std::array< const char *, 3 > required
Definition: mysql_rest_service_plugin.cc:365
static void run(mysql_harness::PluginFuncEnv *env)
Definition: mysql_rest_service_plugin.cc:316
static void deinit(mysql_harness::PluginFuncEnv *)
Definition: mysql_rest_service_plugin.cc:357
static constexpr std::array mysql_rest_service_supported_options
Definition: supported_mysql_rest_service_options.h:31

◆ kSectionName

constexpr const char kSectionName[] {"mysql_rest_service"}
staticconstexpr

◆ required

std::array<const char *, 3> required = {{"logger", "http_server", "io"}}
static