Ho letto codice sorgente MySQL 5.5 e sono stato confuso dalla macro HAVE_PSI_INTERFACE, che è presente in molti file sorgente dell'intero progetto.Per che cosa viene utilizzata la macro HAVE_PSI_INTERFACE?
Per esempio, nella memoria file sorgente/es/ha_example.cc, c'è il seguente codice:
#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
Che cosa vuol dire il HAVE_PSI_INTERFACE? In particolare, cosa significa la PSI? E a cosa serve la macro HAVE_PSI_INTERFACE?
Grazie.
Grazie. Ho avuto più familiarità con la strumentazione di recente. – lulyon