MySQL 8.3.0
Source Code Documentation
Collaboration diagram for Metadata Lock Instrumentation (ABI):

Classes

struct  PSI_metadata_locker_state_v1
 State data storage for start_metadata_wait_v1_t. More...
 
struct  PSI_mdl_bootstrap
 Entry point for the performance schema interface. More...
 
struct  PSI_mdl_service_v1
 Performance Schema Metadata Lock Interface, version 1. More...
 
struct  PSI_mdl_service_v2
 Performance Schema Metadata Lock Interface, version 2. More...
 

Macros

#define PSI_MDL_VERSION_1   1
 Performance Schema Metadata Lock Interface number for version 1. More...
 
#define PSI_MDL_VERSION_2   2
 Performance Schema Metadata Lock Interface number for version 2. More...
 
#define PSI_CURRENT_MDL_VERSION   2
 Performance Schema Metadata Lock Interface number for the most recent version. More...
 

Typedefs

typedef int opaque_mdl_type
 
typedef int opaque_mdl_duration
 
typedef int opaque_mdl_status
 
typedef struct PSI_metadata_lock PSI_metadata_lock
 
typedef struct PSI_metadata_locker PSI_metadata_locker
 
typedef struct PSI_metadata_locker_state_v1 PSI_metadata_locker_state_v1
 
typedef PSI_metadata_lock *(* create_metadata_lock_v1_t) (void *identity, const struct MDL_key *key, opaque_mdl_type mdl_type, opaque_mdl_duration mdl_duration, opaque_mdl_status mdl_status, const char *src_file, unsigned int src_line)
 
typedef void(* set_metadata_lock_status_v1_t) (PSI_metadata_lock *lock, opaque_mdl_status mdl_status)
 
typedef void(* set_metadata_lock_duration_v2_t) (PSI_metadata_lock *lock, opaque_mdl_duration mdl_duration)
 
typedef void(* destroy_metadata_lock_v1_t) (PSI_metadata_lock *lock)
 
typedef struct PSI_metadata_locker *(* start_metadata_wait_v1_t) (struct PSI_metadata_locker_state_v1 *state, struct PSI_metadata_lock *mdl, const char *src_file, unsigned int src_line)
 
typedef void(* end_metadata_wait_v1_t) (struct PSI_metadata_locker *locker, int rc)
 
typedef struct PSI_metadata_locker_state_v1 PSI_metadata_locker_state
 
typedef struct PSI_mdl_bootstrap PSI_mdl_bootstrap
 
typedef struct PSI_mdl_service_v2 PSI_mdl_service_t
 

Variables

MYSQL_PLUGIN_IMPORT PSI_mdl_service_tpsi_mdl_service
 

Detailed Description

Macro Definition Documentation

◆ PSI_CURRENT_MDL_VERSION

#define PSI_CURRENT_MDL_VERSION   2

Performance Schema Metadata Lock Interface number for the most recent version.

The most current version is PSI_MDL_VERSION_2

◆ PSI_MDL_VERSION_1

#define PSI_MDL_VERSION_1   1

Performance Schema Metadata Lock Interface number for version 1.

Deprecated in MySQL 8.0.24

◆ PSI_MDL_VERSION_2

#define PSI_MDL_VERSION_2   2

Performance Schema Metadata Lock Interface number for version 2.

Introduced in MySQL 8.0.24 This version is supported.

Typedef Documentation

◆ create_metadata_lock_v1_t

typedef PSI_metadata_lock *(* create_metadata_lock_v1_t) (void *identity, const struct MDL_key *key, opaque_mdl_type mdl_type, opaque_mdl_duration mdl_duration, opaque_mdl_status mdl_status, const char *src_file, unsigned int src_line)

◆ destroy_metadata_lock_v1_t

typedef void(* destroy_metadata_lock_v1_t) (PSI_metadata_lock *lock)

◆ end_metadata_wait_v1_t

typedef void(* end_metadata_wait_v1_t) (struct PSI_metadata_locker *locker, int rc)

◆ opaque_mdl_duration

typedef int opaque_mdl_duration
See also
enum_mdl_duration.

◆ opaque_mdl_status

typedef int opaque_mdl_status
See also
MDL_wait::enum_wait_status.

◆ opaque_mdl_type

typedef int opaque_mdl_type
See also
enum_mdl_type.

◆ PSI_mdl_bootstrap

◆ PSI_mdl_service_t

◆ PSI_metadata_lock

◆ PSI_metadata_locker

◆ PSI_metadata_locker_state

◆ PSI_metadata_locker_state_v1

◆ set_metadata_lock_duration_v2_t

typedef void(* set_metadata_lock_duration_v2_t) (PSI_metadata_lock *lock, opaque_mdl_duration mdl_duration)

◆ set_metadata_lock_status_v1_t

typedef void(* set_metadata_lock_status_v1_t) (PSI_metadata_lock *lock, opaque_mdl_status mdl_status)

◆ start_metadata_wait_v1_t

typedef struct PSI_metadata_locker *(* start_metadata_wait_v1_t) (struct PSI_metadata_locker_state_v1 *state, struct PSI_metadata_lock *mdl, const char *src_file, unsigned int src_line)

Variable Documentation

◆ psi_mdl_service

MYSQL_PLUGIN_IMPORT PSI_mdl_service_t* psi_mdl_service
extern