我一直在阅读MySQL 5.5的源代码,并对宏HAVE_PSI_INTERFACE感到困惑,它出现在整个项目的许多源文件中.
例如,在源文件storage / example / ha_example.cc中,有以下代码:
#ifdef HAVE_PSI_INTERFACE
static PSI_mutex_key ex_key_mutex_example,ex_key_mutex_EXAMPLE_SHARE_mutex;
static PSI_mutex_info all_example_mutexes[]=
{
{ &ex_key_mutex_example,"example",PSI_FLAG_GLOBAL},{ &ex_key_mutex_EXAMPLE_SHARE_mutex,"EXAMPLE_SHARE::mutex",0}
};
static void init_example_psi_keys()
{
const char* category= "example";
int count;
if (PSI_server == NULL)
return;
count= array_elements(all_example_mutexes);
PSI_server->register_mutex(category,all_example_mutexes,count);
}
#endif
那么HAVE_PSI_INTERFACE意味着什么?具体来说,PSI代表什么?什么是宏HAVE_PSI_INTERFACE用于?
谢谢.
最佳答案
原文链接:https://www.f2er.com/mysql/434279.html