24#ifndef MYSQL_SERVER_PERSISTENT_DYNAMIC_LOADER_H
25#define MYSQL_SERVER_PERSISTENT_DYNAMIC_LOADER_H
78 static bool init(
void *thdp);
109 int component_count));
133 int component_count));
Allows to wrap another Service Implementation of the Dynamic Loader service and add ability to store ...
Definition: persistent_dynamic_loader_imp.h:60
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:371
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:476
static bool is_initialized
Indicates the initialization status of dynamic loader persistence.
Definition: persistent_dynamic_loader_imp.h:160
static std::map< std::string, uint64 > component_id_by_urn
Stores mapping of component URNs to their component_id used in component table, to ease row deletion.
Definition: persistent_dynamic_loader_imp.h:156
static bool init(void *thdp)
Initializes persistence store, loads all groups of components registered in component table.
Definition: persistent_dynamic_loader.cc:210
static int remove_from_cache(const char *urns[], int component_count)
Removes the entries from the in-memory cache.
Definition: persistent_dynamic_loader.cc:342
static bool initialized()
Initialisation status of persistence loader.
Definition: persistent_dynamic_loader.cc:338
static mysql_mutex_t component_id_by_urn_mutex
Serializes access to component_id_by_urn.
Definition: persistent_dynamic_loader_imp.h:165
static void deinit()
De-initializes persistence loader.
Definition: persistent_dynamic_loader.cc:324
static std::atomic< uint64 > s_group_id
Stores last group ID used in component table.
Definition: persistent_dynamic_loader_imp.h:151
Some integer typedefs for easier portability.
void persistent_dynamic_loader_deinit()
Definition: persistent_dynamic_loader.cc:584
bool persistent_dynamic_loader_init(void *thd)
Initializes persistence store, loads all groups of components registered in component table.
Definition: persistent_dynamic_loader.cc:579
Instrumentation helpers for mutexes.
Specifies macros to define Service Implementations.
#define DEFINE_BOOL_METHOD(name, args)
A short macro to define method that returns bool, which is the most common case.
Definition: service_implementation.h:88
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:50