MySQL  8.0.17
Source Code Documentation
dynamic_loader.cc File Reference
#include <mysql/components/my_service.h>
#include <mysql/components/service_implementation.h>
#include <mysql/components/services/dynamic_loader.h>
#include <mysql/components/services/dynamic_loader_scheme_file.h>
#include <mysql/components/services/mysql_runtime_error_service.h>
#include <mysql/components/services/registry.h>
#include <mysqld_error.h>
#include <stddef.h>
#include <functional>
#include <map>
#include <memory>
#include <set>
#include "c_string_less.h"
#include "depth_first_search.h"
#include "dynamic_loader.h"
#include "my_dbug.h"
#include "my_inttypes.h"
#include "my_psi_config.h"
#include "my_sys.h"
#include "mysql_component.h"
#include "registry.h"
#include "rwlock_scoped_lock.h"
#include "scope_guard.h"
#include "server_component.h"
#include "registry_metadata.cc.inc"

Classes

struct  my_h_component_iterator_imp
 
struct  my_h_component_metadata_iterator_imp
 

Macros

#define REGISTRY_IMP   mysql_dynamic_loader_imp
 
#define REGISTRY   mysql_dynamic_loader_imp::components_list
 
#define REGISTRY_TYPE   my_component_registry
 
#define LOCK   mysql_dynamic_loader_imp::LOCK_dynamic_loader
 
#define ITERATOR_TYPE   my_h_component_iterator_imp
 
#define METADATA_ITERATOR_TYPE   my_h_component_metadata_iterator_imp
 
#define OBJECT_ITERATOR   my_h_component_iterator
 
#define METADATA_ITERATOR   my_h_component_metadata_iterator
 

Functions

 REQUIRES_SERVICE_PLACEHOLDER (mysql_runtime_error)
 This place holder is required for the mysql_runtime_error service. More...
 
static void init_dynamic_loader_psi_keys (void)
 
void dynamic_loader_init ()
 
void dynamic_loader_deinit ()
 

Variables

my_h_service h_err_service
 
static PSI_rwlock_key key_rwlock_LOCK_dynamic_loader
 
static PSI_rwlock_info all_dynamic_loader_rwlocks []
 

Macro Definition Documentation

◆ ITERATOR_TYPE

#define ITERATOR_TYPE   my_h_component_iterator_imp

◆ LOCK

◆ METADATA_ITERATOR

#define METADATA_ITERATOR   my_h_component_metadata_iterator

◆ METADATA_ITERATOR_TYPE

#define METADATA_ITERATOR_TYPE   my_h_component_metadata_iterator_imp

◆ OBJECT_ITERATOR

#define OBJECT_ITERATOR   my_h_component_iterator

◆ REGISTRY

◆ REGISTRY_IMP

#define REGISTRY_IMP   mysql_dynamic_loader_imp

◆ REGISTRY_TYPE

#define REGISTRY_TYPE   my_component_registry

Function Documentation

◆ dynamic_loader_deinit()

void dynamic_loader_deinit ( )

◆ dynamic_loader_init()

void dynamic_loader_init ( )

◆ init_dynamic_loader_psi_keys()

static void init_dynamic_loader_psi_keys ( void  )
static

◆ REQUIRES_SERVICE_PLACEHOLDER()

REQUIRES_SERVICE_PLACEHOLDER ( mysql_runtime_error  )

This place holder is required for the mysql_runtime_error service.

The service is used in mysql_error_service_printf() api, which is the replacement for my_error() server api.

Variable Documentation

◆ all_dynamic_loader_rwlocks

PSI_rwlock_info all_dynamic_loader_rwlocks[]
static
Initial value:
= {
#define PSI_FLAG_SINGLETON
Singleton flag.
Definition: psi_base.h:54
static PSI_rwlock_key key_rwlock_LOCK_dynamic_loader
Definition: dynamic_loader.cc:286
#define PSI_DOCUMENT_ME
Definition: psi_base.h:46

◆ h_err_service

my_h_service h_err_service

◆ key_rwlock_LOCK_dynamic_loader

PSI_rwlock_key key_rwlock_LOCK_dynamic_loader
static