36#if defined(MYSQL_SERVER) || defined(PFS_DIRECT_CALL)
42#define PSI_PS_CALL(M) psi_statement_service->M
45#ifdef HAVE_PSI_PS_INTERFACE
47#define MYSQL_CREATE_PS(IDENTITY, ID, LOCKER, NAME, NAME_LENGTH, SQLTEXT, \
49 inline_mysql_create_prepared_stmt(IDENTITY, ID, LOCKER, NAME, NAME_LENGTH, \
50 SQLTEXT, SQLTEXT_LENGTH)
51#define MYSQL_EXECUTE_PS(LOCKER, PREPARED_STMT) \
52 inline_mysql_execute_prepared_stmt(LOCKER, PREPARED_STMT)
53#define MYSQL_DESTROY_PS(PREPARED_STMT) \
54 inline_mysql_destroy_prepared_stmt(PREPARED_STMT)
55#define MYSQL_REPREPARE_PS(PREPARED_STMT) \
56 inline_mysql_reprepare_prepared_stmt(PREPARED_STMT)
57#define MYSQL_SET_PS_TEXT(PREPARED_STMT, SQLTEXT, SQLTEXT_LENGTH) \
58 inline_mysql_set_prepared_stmt_text(PREPARED_STMT, SQLTEXT, SQLTEXT_LENGTH)
59#define MYSQL_SET_PS_SECONDARY_ENGINE(PREPARED_STMT, SECONDARY) \
60 inline_mysql_set_prepared_stmt_secondary_engine(PREPARED_STMT, SECONDARY)
64#define MYSQL_CREATE_PS(IDENTITY, ID, LOCKER, NAME, NAME_LENGTH, SQLTEXT, \
67#define MYSQL_EXECUTE_PS(LOCKER, PREPARED_STMT) \
70#define MYSQL_DESTROY_PS(PREPARED_STMT) \
73#define MYSQL_REPREPARE_PS(PREPARED_STMT) \
76#define MYSQL_SET_PS_TEXT(PREPARED_STMT, SQLTEXT, SQLTEXT_LENGTH) \
79#define MYSQL_SET_PS_SECONDARY_ENGINE(PREPARED_STMT, SECONDARY) \
85#ifdef HAVE_PSI_PS_INTERFACE
88 const char *stmt_name,
size_t stmt_name_length,
const char *sqltext,
89 size_t sqltext_length) {
90 if (locker ==
nullptr) {
94 stmt_name_length, sqltext,
100 if (prepared_stmt !=
nullptr && locker !=
nullptr) {
101 PSI_PS_CALL(execute_prepared_stmt)(locker, prepared_stmt);
107 if (prepared_stmt !=
nullptr) {
114 if (prepared_stmt !=
nullptr) {
115 PSI_PS_CALL(reprepare_prepared_stmt)(prepared_stmt);
121 if (prepared_stmt !=
nullptr) {
122 PSI_PS_CALL(set_prepared_stmt_text)(prepared_stmt, text, text_len);
128 if (prepared_stmt !=
nullptr) {
129 PSI_PS_CALL(set_prepared_stmt_secondary_engine)(prepared_stmt, secondary);
struct PSI_prepared_stmt PSI_prepared_stmt
Definition: psi_statement_bits.h:104
struct PSI_statement_locker PSI_statement_locker
Definition: psi_statement_bits.h:97
Defines various enable/disable and HAVE_ macros related to the performance schema instrumentation sys...
static void inline_mysql_reprepare_prepared_stmt(PSI_prepared_stmt *prepared_stmt)
Definition: mysql_ps.h:112
static struct PSI_prepared_stmt * inline_mysql_create_prepared_stmt(void *identity, uint stmt_id, PSI_statement_locker *locker, const char *stmt_name, size_t stmt_name_length, const char *sqltext, size_t sqltext_length)
Definition: mysql_ps.h:86
static void inline_mysql_set_prepared_stmt_text(PSI_prepared_stmt *prepared_stmt, const char *text, uint text_len)
Definition: mysql_ps.h:119
static void inline_mysql_destroy_prepared_stmt(PSI_prepared_stmt *prepared_stmt)
Definition: mysql_ps.h:105
static void inline_mysql_set_prepared_stmt_secondary_engine(PSI_prepared_stmt *prepared_stmt, bool secondary)
Definition: mysql_ps.h:126
static void inline_mysql_execute_prepared_stmt(PSI_statement_locker *locker, PSI_prepared_stmt *prepared_stmt)
Definition: mysql_ps.h:98
PFS_prepared_stmt * create_prepared_stmt(void *identity, PFS_thread *thread, PFS_program *pfs_program, PFS_events_statements *pfs_stmt, uint stmt_id, const char *stmt_name, uint stmt_name_length, const char *sqltext, uint sqltext_length)
Definition: pfs_prepared_stmt.cc:72
Performance schema instrumentation (declarations).
#define PSI_PS_CALL(M)
Definition: pfs_statement_provider.h:51
Performance schema instrumentation interface.
unsigned int uint
Definition: uca9-dump.cc:74