MySQL  8.0.27
Source Code Documentation
pfs_example.cc File Reference

Functions

static void do_something_part_1 ()
 
static void do_something_part_2 ()
 
static mysql_service_status_t pfs_example_init ()
 
static mysql_service_status_t pfs_example_deinit ()
 
static void test_mysql_mutex_part_1 ()
 
static void test_mysql_mutex_part_2 ()
 
static void test_psi_mutex_part_1 ()
 
static void test_psi_mutex_part_2 ()
 
static void test_mysql_rwlock_part_1 ()
 
static void test_mysql_rwlock_part_2 ()
 
static void test_psi_rwlock_part_1 ()
 
static void test_psi_rwlock_part_2 ()
 
static void test_mysql_cond_part_1 ()
 
static void test_mysql_cond_part_2 ()
 
 END_COMPONENT_PROVIDES ()
 
 END_COMPONENT_REQUIRES ()
 
 METADATA ("mysql.author", "Oracle Corporation")
 
 METADATA ("mysql.license", "GPL")
 
 END_COMPONENT_METADATA ()
 

Variables

static PSI_mutex_key key_mutex_x = 0
 
static PSI_mutex_key key_mutex_y = 0
 
static PSI_mutex_info all_example_mutex []
 
static mysql_mutex_t my_mutex_x
 
static mysql_mutex_t my_mutex_y
 
static PSI_mutex_key key_mutex_z = 0
 
static PSI_mutex_key key_mutex_t = 0
 
static PSI_mutex_info all_example_psi_mutex []
 
static PSI_mutexpsi_mutex_z
 
static PSI_mutexpsi_mutex_t
 
static PSI_rwlock_key key_rwlock_x = 0
 
static PSI_rwlock_key key_rwlock_y = 0
 
static PSI_rwlock_key key_prlock_z = 0
 
static PSI_rwlock_key key_prlock_t = 0
 
static PSI_rwlock_info all_example_rwlock []
 
static mysql_rwlock_t my_rwlock_x
 
static mysql_rwlock_t my_rwlock_y
 
static mysql_prlock_t my_prlock_z
 
static mysql_prlock_t my_prlock_t
 
static PSI_rwlock_key key_rwlock_s1 = 0
 
static PSI_rwlock_key key_rwlock_s2 = 0
 
static PSI_rwlock_info all_example_psi_rwlock []
 
static PSI_rwlockpsi_rwlock_s1
 
static PSI_rwlockpsi_rwlock_s2
 
static PSI_cond_key key_cond_x = 0
 
static PSI_cond_key key_cond_y = 0
 
static PSI_cond_info all_example_cond []
 
static mysql_cond_t my_cond_x
 
static mysql_cond_t my_cond_y
 
 REQUIRES_MYSQL_MUTEX_SERVICE_PLACEHOLDER
 
 REQUIRES_MYSQL_RWLOCK_SERVICE_PLACEHOLDER
 
 REQUIRES_MYSQL_COND_SERVICE_PLACEHOLDER
 
 REQUIRES_PSI_COND_SERVICE_PLACEHOLDER
 
 REQUIRES_PSI_ERROR_SERVICE_PLACEHOLDER
 
 REQUIRES_PSI_FILE_SERVICE_PLACEHOLDER
 
 REQUIRES_PSI_IDLE_SERVICE_PLACEHOLDER
 
 REQUIRES_PSI_MDL_SERVICE_PLACEHOLDER
 
 REQUIRES_PSI_MEMORY_SERVICE_PLACEHOLDER
 
 REQUIRES_PSI_MUTEX_SERVICE_PLACEHOLDER
 
 REQUIRES_PSI_RWLOCK_SERVICE_PLACEHOLDER
 
 REQUIRES_PSI_SOCKET_SERVICE_PLACEHOLDER
 
 REQUIRES_PSI_STAGE_SERVICE_PLACEHOLDER
 
 REQUIRES_PSI_STATEMENT_SERVICE_PLACEHOLDER
 
 REQUIRES_PSI_TABLE_SERVICE_PLACEHOLDER
 
 REQUIRES_PSI_THREAD_SERVICE_PLACEHOLDER
 
 REQUIRES_PSI_TRANSACTION_SERVICE_PLACEHOLDER
 
 REQUIRES_PSI_TLS_CHANNEL_SERVICE_PLACEHOLDER
 
 REQUIRES_MYSQL_MUTEX_SERVICE
 
 REQUIRES_MYSQL_RWLOCK_SERVICE
 
 REQUIRES_MYSQL_COND_SERVICE
 
 REQUIRES_PSI_COND_SERVICE
 
 REQUIRES_PSI_ERROR_SERVICE
 
 REQUIRES_PSI_FILE_SERVICE
 
 REQUIRES_PSI_IDLE_SERVICE
 
 REQUIRES_PSI_MDL_SERVICE
 
 REQUIRES_PSI_MEMORY_SERVICE
 
 REQUIRES_PSI_MUTEX_SERVICE
 
 REQUIRES_PSI_RWLOCK_SERVICE
 
 REQUIRES_PSI_SOCKET_SERVICE
 
 REQUIRES_PSI_STAGE_SERVICE
 
 REQUIRES_PSI_STATEMENT_SERVICE
 
 REQUIRES_PSI_TABLE_SERVICE
 
 REQUIRES_PSI_THREAD_SERVICE
 
 REQUIRES_PSI_TRANSACTION_SERVICE
 
 REQUIRES_PSI_TLS_CHANNEL_SERVICE
 
mysql_component_t mysql_component_pfs_example
 

Function Documentation

◆ do_something_part_1()

static void do_something_part_1 ( )
static

◆ do_something_part_2()

static void do_something_part_2 ( )
static

◆ END_COMPONENT_METADATA()

END_COMPONENT_METADATA ( )

◆ END_COMPONENT_PROVIDES()

END_COMPONENT_PROVIDES ( )

◆ END_COMPONENT_REQUIRES()

END_COMPONENT_REQUIRES ( )

◆ METADATA() [1/2]

METADATA ( "mysql.author"  ,
"Oracle Corporation"   
)

◆ METADATA() [2/2]

METADATA ( "mysql.license"  ,
"GPL"   
)

◆ pfs_example_deinit()

static mysql_service_status_t pfs_example_deinit ( )
static

◆ pfs_example_init()

static mysql_service_status_t pfs_example_init ( )
static

◆ test_mysql_cond_part_1()

static void test_mysql_cond_part_1 ( )
static

◆ test_mysql_cond_part_2()

static void test_mysql_cond_part_2 ( )
static

◆ test_mysql_mutex_part_1()

static void test_mysql_mutex_part_1 ( )
static

◆ test_mysql_mutex_part_2()

static void test_mysql_mutex_part_2 ( )
static

◆ test_mysql_rwlock_part_1()

static void test_mysql_rwlock_part_1 ( )
static

◆ test_mysql_rwlock_part_2()

static void test_mysql_rwlock_part_2 ( )
static

◆ test_psi_mutex_part_1()

static void test_psi_mutex_part_1 ( )
static

◆ test_psi_mutex_part_2()

static void test_psi_mutex_part_2 ( )
static

◆ test_psi_rwlock_part_1()

static void test_psi_rwlock_part_1 ( )
static

◆ test_psi_rwlock_part_2()

static void test_psi_rwlock_part_2 ( )
static

Variable Documentation

◆ all_example_cond

PSI_cond_info all_example_cond[]
static
Initial value:
= {{&key_cond_x, "X", 0, 0, ""},
{&key_cond_y, "Y", 0, 0, ""}}
static PSI_cond_key key_cond_y
Definition: pfs_example.cc:104
static PSI_cond_key key_cond_x
Definition: pfs_example.cc:103

◆ all_example_mutex

PSI_mutex_info all_example_mutex[]
static
Initial value:
= {
"Example doc, permanent mutex, singleton."},
"Example doc, very volatile mutexes."}}
#define PSI_FLAG_SINGLETON
Singleton flag.
Definition: component_common.h:34
#define PSI_VOLATILITY_QUERY
Definition: psi_bits.h:144
#define PSI_VOLATILITY_PERMANENT
Definition: psi_bits.h:138
static PSI_mutex_key key_mutex_x
Definition: pfs_example.cc:47
static PSI_mutex_key key_mutex_y
Definition: pfs_example.cc:48

◆ all_example_psi_mutex

PSI_mutex_info all_example_psi_mutex[]
static
Initial value:
= {
"Another example."},
{&key_mutex_t, "T", 0, PSI_VOLATILITY_DDL, "And more."}}
#define PSI_VOLATILITY_PROVISIONING
Definition: psi_bits.h:139
#define PSI_VOLATILITY_DDL
Definition: psi_bits.h:140
static PSI_mutex_key key_mutex_z
Definition: pfs_example.cc:61
static PSI_mutex_key key_mutex_t
Definition: pfs_example.cc:62

◆ all_example_psi_rwlock

PSI_rwlock_info all_example_psi_rwlock[]
static
Initial value:
= {
#define PSI_FLAG_RWLOCK_SX
Shared Exclusive flag.
Definition: psi_bits.h:87
static PSI_rwlock_key key_rwlock_s1
Definition: pfs_example.cc:91
static PSI_rwlock_key key_rwlock_s2
Definition: pfs_example.cc:92

◆ all_example_rwlock

PSI_rwlock_info all_example_rwlock[]
static
Initial value:
= {{&key_rwlock_x, "X", 0, 0, ""},
{&key_rwlock_y, "Y", 0, 0, ""},
{&key_prlock_z, "Z", 0, 0, ""},
{&key_prlock_t, "T", 0, 0, ""}}
static PSI_rwlock_key key_prlock_z
Definition: pfs_example.cc:76
static PSI_rwlock_key key_rwlock_x
Definition: pfs_example.cc:74
static PSI_rwlock_key key_rwlock_y
Definition: pfs_example.cc:75
static PSI_rwlock_key key_prlock_t
Definition: pfs_example.cc:77

◆ key_cond_x

PSI_cond_key key_cond_x = 0
static

◆ key_cond_y

PSI_cond_key key_cond_y = 0
static

◆ key_mutex_t

PSI_mutex_key key_mutex_t = 0
static

◆ key_mutex_x

PSI_mutex_key key_mutex_x = 0
static

◆ key_mutex_y

PSI_mutex_key key_mutex_y = 0
static

◆ key_mutex_z

PSI_mutex_key key_mutex_z = 0
static

◆ key_prlock_t

PSI_rwlock_key key_prlock_t = 0
static

◆ key_prlock_z

PSI_rwlock_key key_prlock_z = 0
static

◆ key_rwlock_s1

PSI_rwlock_key key_rwlock_s1 = 0
static

◆ key_rwlock_s2

PSI_rwlock_key key_rwlock_s2 = 0
static

◆ key_rwlock_x

PSI_rwlock_key key_rwlock_x = 0
static

◆ key_rwlock_y

PSI_rwlock_key key_rwlock_y = 0
static

◆ my_cond_x

mysql_cond_t my_cond_x
static

◆ my_cond_y

mysql_cond_t my_cond_y
static

◆ my_mutex_x

mysql_mutex_t my_mutex_x
static

◆ my_mutex_y

mysql_mutex_t my_mutex_y
static

◆ my_prlock_t

mysql_prlock_t my_prlock_t
static

◆ my_prlock_z

mysql_prlock_t my_prlock_z
static

◆ my_rwlock_x

mysql_rwlock_t my_rwlock_x
static

◆ my_rwlock_y

mysql_rwlock_t my_rwlock_y
static

◆ mysql_component_pfs_example

mysql_component_t mysql_component_pfs_example
Initial value:
= { "mysql:pfs_example" , __pfs_example_provides, __pfs_example_requires, __pfs_example_metadata,
static mysql_service_status_t pfs_example_init()
Definition: pfs_example.cc:115
static mysql_service_status_t pfs_example_deinit()
Definition: pfs_example.cc:128

◆ psi_mutex_t

PSI_mutex* psi_mutex_t
static

◆ psi_mutex_z

PSI_mutex* psi_mutex_z
static

◆ psi_rwlock_s1

PSI_rwlock* psi_rwlock_s1
static

◆ psi_rwlock_s2

PSI_rwlock* psi_rwlock_s2
static

◆ REQUIRES_MYSQL_COND_SERVICE

REQUIRES_MYSQL_COND_SERVICE

◆ REQUIRES_MYSQL_COND_SERVICE_PLACEHOLDER

REQUIRES_MYSQL_COND_SERVICE_PLACEHOLDER

◆ REQUIRES_MYSQL_MUTEX_SERVICE

REQUIRES_MYSQL_MUTEX_SERVICE

◆ REQUIRES_MYSQL_MUTEX_SERVICE_PLACEHOLDER

REQUIRES_MYSQL_MUTEX_SERVICE_PLACEHOLDER

◆ REQUIRES_MYSQL_RWLOCK_SERVICE

REQUIRES_MYSQL_RWLOCK_SERVICE

◆ REQUIRES_MYSQL_RWLOCK_SERVICE_PLACEHOLDER

REQUIRES_MYSQL_RWLOCK_SERVICE_PLACEHOLDER

◆ REQUIRES_PSI_COND_SERVICE

REQUIRES_PSI_COND_SERVICE

◆ REQUIRES_PSI_COND_SERVICE_PLACEHOLDER

REQUIRES_PSI_COND_SERVICE_PLACEHOLDER

◆ REQUIRES_PSI_ERROR_SERVICE

REQUIRES_PSI_ERROR_SERVICE

◆ REQUIRES_PSI_ERROR_SERVICE_PLACEHOLDER

REQUIRES_PSI_ERROR_SERVICE_PLACEHOLDER

◆ REQUIRES_PSI_FILE_SERVICE

REQUIRES_PSI_FILE_SERVICE

◆ REQUIRES_PSI_FILE_SERVICE_PLACEHOLDER

REQUIRES_PSI_FILE_SERVICE_PLACEHOLDER

◆ REQUIRES_PSI_IDLE_SERVICE

REQUIRES_PSI_IDLE_SERVICE

◆ REQUIRES_PSI_IDLE_SERVICE_PLACEHOLDER

REQUIRES_PSI_IDLE_SERVICE_PLACEHOLDER

◆ REQUIRES_PSI_MDL_SERVICE

REQUIRES_PSI_MDL_SERVICE

◆ REQUIRES_PSI_MDL_SERVICE_PLACEHOLDER

REQUIRES_PSI_MDL_SERVICE_PLACEHOLDER

◆ REQUIRES_PSI_MEMORY_SERVICE

REQUIRES_PSI_MEMORY_SERVICE

◆ REQUIRES_PSI_MEMORY_SERVICE_PLACEHOLDER

REQUIRES_PSI_MEMORY_SERVICE_PLACEHOLDER

◆ REQUIRES_PSI_MUTEX_SERVICE

REQUIRES_PSI_MUTEX_SERVICE

◆ REQUIRES_PSI_MUTEX_SERVICE_PLACEHOLDER

REQUIRES_PSI_MUTEX_SERVICE_PLACEHOLDER

◆ REQUIRES_PSI_RWLOCK_SERVICE

REQUIRES_PSI_RWLOCK_SERVICE

◆ REQUIRES_PSI_RWLOCK_SERVICE_PLACEHOLDER

REQUIRES_PSI_RWLOCK_SERVICE_PLACEHOLDER

◆ REQUIRES_PSI_SOCKET_SERVICE

REQUIRES_PSI_SOCKET_SERVICE

◆ REQUIRES_PSI_SOCKET_SERVICE_PLACEHOLDER

REQUIRES_PSI_SOCKET_SERVICE_PLACEHOLDER

◆ REQUIRES_PSI_STAGE_SERVICE

REQUIRES_PSI_STAGE_SERVICE

◆ REQUIRES_PSI_STAGE_SERVICE_PLACEHOLDER

REQUIRES_PSI_STAGE_SERVICE_PLACEHOLDER

◆ REQUIRES_PSI_STATEMENT_SERVICE

REQUIRES_PSI_STATEMENT_SERVICE

◆ REQUIRES_PSI_STATEMENT_SERVICE_PLACEHOLDER

REQUIRES_PSI_STATEMENT_SERVICE_PLACEHOLDER

◆ REQUIRES_PSI_TABLE_SERVICE

REQUIRES_PSI_TABLE_SERVICE

◆ REQUIRES_PSI_TABLE_SERVICE_PLACEHOLDER

REQUIRES_PSI_TABLE_SERVICE_PLACEHOLDER

◆ REQUIRES_PSI_THREAD_SERVICE

REQUIRES_PSI_THREAD_SERVICE

◆ REQUIRES_PSI_THREAD_SERVICE_PLACEHOLDER

REQUIRES_PSI_THREAD_SERVICE_PLACEHOLDER

◆ REQUIRES_PSI_TLS_CHANNEL_SERVICE

REQUIRES_PSI_TLS_CHANNEL_SERVICE

◆ REQUIRES_PSI_TLS_CHANNEL_SERVICE_PLACEHOLDER

REQUIRES_PSI_TLS_CHANNEL_SERVICE_PLACEHOLDER

◆ REQUIRES_PSI_TRANSACTION_SERVICE

REQUIRES_PSI_TRANSACTION_SERVICE

◆ REQUIRES_PSI_TRANSACTION_SERVICE_PLACEHOLDER

REQUIRES_PSI_TRANSACTION_SERVICE_PLACEHOLDER