23#ifndef COMPONENTS_SERVICES_BITS_PSI_STATEMENT_BITS_H
24#define COMPONENTS_SERVICES_BITS_PSI_STATEMENT_BITS_H
26#ifndef MYSQL_ABI_CHECK
54#define PSI_STATEMENT_VERSION_1 1
61#define PSI_STATEMENT_VERSION_2 2
68#define PSI_STATEMENT_VERSION_3 3
75#define PSI_CURRENT_STATEMENT_VERSION 3
133#define PSI_SCHEMA_NAME_LEN (64 * 3)
269 const char *db,
unsigned int db_length,
270 const char *src_file,
271 unsigned int src_line);
283 unsigned int text_len);
292 unsigned long long query_id);
300 unsigned long long lock_time);
308 unsigned long long count);
372 unsigned long count);
388 unsigned long count);
396 unsigned long count);
404 unsigned long count);
449 const char *stmt_name,
size_t stmt_name_length,
const char *sql_text,
450 size_t sql_text_length);
480 unsigned int text_len);
515 unsigned int object_type,
const char *schema_name,
516 unsigned int schema_name_length,
const char *object_name,
517 unsigned int object_name_length);
530typedef void (*
drop_sp_v1_t)(
unsigned int object_type,
const char *schema_name,
531 unsigned int schema_name_length,
532 const char *object_name,
533 unsigned int object_name_length);
struct PSI_digest_locker PSI_digest_locker
Definition: psi_statement_bits.h:96
unsigned int PSI_statement_key
Instrumented statement key.
Definition: psi_statement_bits.h:47
void(* destroy_prepared_stmt_v1_t)(PSI_prepared_stmt *prepared_stmt)
destroy a prepare statement.
Definition: psi_statement_bits.h:456
void(* inc_statement_sort_merge_passes_t)(struct PSI_statement_locker *locker, unsigned long count)
Increment a statement event "sort merge passes" metric.
Definition: psi_statement_bits.h:379
void(* inc_statement_sort_rows_t)(struct PSI_statement_locker *locker, unsigned long count)
Increment a statement event "sort rows" metric.
Definition: psi_statement_bits.h:395
void(* inc_statement_select_full_range_join_t)(struct PSI_statement_locker *locker, unsigned long count)
Increment a statement event "select full range join" metric.
Definition: psi_statement_bits.h:347
void(* set_statement_text_v1_t)(struct PSI_statement_locker *locker, const char *text, unsigned int text_len)
Set the statement text for a statement event.
Definition: psi_statement_bits.h:281
void(* inc_statement_select_range_check_t)(struct PSI_statement_locker *locker, unsigned long count)
Increment a statement event "select range check" metric.
Definition: psi_statement_bits.h:363
void(* inc_statement_select_scan_t)(struct PSI_statement_locker *locker, unsigned long count)
Increment a statement event "select scan" metric.
Definition: psi_statement_bits.h:371
void(* set_prepared_stmt_secondary_engine_v3_t)(PSI_prepared_stmt *prepared_stmt, bool secondary)
Set a prepared statement EXECUTION_ENGINE attribute.
Definition: psi_statement_bits.h:487
void(* register_statement_v1_t)(const char *category, struct PSI_statement_info_v1 *info, int count)
Statement registration API.
Definition: psi_statement_bits.h:234
void(* reprepare_prepared_stmt_v1_t)(PSI_prepared_stmt *prepared_stmt)
reprepare a prepare statement.
Definition: psi_statement_bits.h:462
void(* inc_statement_sort_scan_t)(struct PSI_statement_locker *locker, unsigned long count)
Increment a statement event "sort scan" metric.
Definition: psi_statement_bits.h:403
void(* execute_prepared_stmt_v1_t)(PSI_statement_locker *locker, PSI_prepared_stmt *prepared_stmt)
Record a prepare statement instrumentation execute event.
Definition: psi_statement_bits.h:469
void(* set_statement_no_index_used_t)(struct PSI_statement_locker *locker)
Set a statement event "no index used" metric.
Definition: psi_statement_bits.h:410
struct PSI_prepared_stmt PSI_prepared_stmt
Definition: psi_statement_bits.h:89
void(* inc_statement_sort_range_t)(struct PSI_statement_locker *locker, unsigned long count)
Increment a statement event "sort range" metric.
Definition: psi_statement_bits.h:387
void(* start_statement_v1_t)(struct PSI_statement_locker *locker, const char *db, unsigned int db_length, const char *src_file, unsigned int src_line)
Start a new statement event.
Definition: psi_statement_bits.h:268
struct PSI_sp_locker PSI_sp_locker
Definition: psi_statement_bits.h:110
void(* release_sp_share_v1_t)(struct PSI_sp_share *share)
Release a stored program share.
Definition: psi_statement_bits.h:523
void(* set_statement_query_id_t)(struct PSI_statement_locker *locker, unsigned long long query_id)
Set a statement query id.
Definition: psi_statement_bits.h:291
void(* set_statement_secondary_engine_v3_t)(struct PSI_statement_locker *locker, bool secondary)
Set a statement EXECUTION_ENGINE attribute.
Definition: psi_statement_bits.h:425
void(* drop_sp_v1_t)(unsigned int object_type, const char *schema_name, unsigned int schema_name_length, const char *object_name, unsigned int object_name_length)
Definition: psi_statement_bits.h:530
void(* set_statement_rows_examined_t)(struct PSI_statement_locker *locker, unsigned long long count)
Set a statement event rows examined metric.
Definition: psi_statement_bits.h:315
void(* set_statement_no_good_index_used_t)(struct PSI_statement_locker *locker)
Set a statement event "no good index used" metric.
Definition: psi_statement_bits.h:417
#define PSI_SCHEMA_NAME_LEN
Definition: psi_statement_bits.h:133
struct PSI_sp_share PSI_sp_share
Definition: psi_statement_bits.h:103
void(* digest_end_v1_t)(struct PSI_digest_locker *locker, const struct sql_digest_storage *digest)
Add a computed digest to the current digest instrumentation.
Definition: psi_statement_bits.h:502
void(* inc_statement_select_range_t)(struct PSI_statement_locker *locker, unsigned long count)
Increment a statement event "select range join" metric.
Definition: psi_statement_bits.h:355
void(* set_prepared_stmt_text_v1_t)(PSI_prepared_stmt *prepared_stmt, const char *text, unsigned int text_len)
Set the statement text for a prepared statment event.
Definition: psi_statement_bits.h:478
void(* end_sp_v1_t)(struct PSI_sp_locker *locker)
Definition: psi_statement_bits.h:528
void(* inc_statement_select_full_join_t)(struct PSI_statement_locker *locker, unsigned long count)
Increment a statement event "select full join" metric.
Definition: psi_statement_bits.h:339
void(* end_statement_v1_t)(struct PSI_statement_locker *locker, void *stmt_da)
End a statement event.
Definition: psi_statement_bits.h:434
void(* set_statement_lock_time_t)(struct PSI_statement_locker *locker, unsigned long long lock_time)
Set a statement event lock time.
Definition: psi_statement_bits.h:299
void(* set_statement_rows_sent_t)(struct PSI_statement_locker *locker, unsigned long long count)
Set a statement event rows sent metric.
Definition: psi_statement_bits.h:307
struct PSI_statement_locker PSI_statement_locker
Definition: psi_statement_bits.h:82
void(* inc_statement_created_tmp_disk_tables_t)(struct PSI_statement_locker *locker, unsigned long count)
Increment a statement event "created tmp disk tables" metric.
Definition: psi_statement_bits.h:323
void(* inc_statement_created_tmp_tables_t)(struct PSI_statement_locker *locker, unsigned long count)
Increment a statement event "created tmp tables" metric.
Definition: psi_statement_bits.h:331
struct PSI_thread PSI_thread
Definition: psi_thread_bits.h:81
static int count
Definition: myisam_ftdump.cc:42
const std::string charset("charset")
static const char * category
Definition: sha2_password.cc:168
Performance schema instrumentation interface.
required string key
Definition: replication_asynchronous_connection_failover.proto:59
Definition: psi_statement_bits.h:214
unsigned long long m_timer_start
Timer start.
Definition: psi_statement_bits.h:220
PSI_sp_share * m_sp_share
Stored Procedure share.
Definition: psi_statement_bits.h:224
unsigned long long(* m_timer)(void)
Timer function.
Definition: psi_statement_bits.h:222
unsigned int m_flags
Internal state.
Definition: psi_statement_bits.h:216
struct PSI_thread * m_thread
Current thread.
Definition: psi_statement_bits.h:218
Statement instrument information.
Definition: psi_statement_bits.h:117
const char * m_name
The name of the statement instrument to register.
Definition: psi_statement_bits.h:121
PSI_statement_key m_key
The registered statement key.
Definition: psi_statement_bits.h:119
const char * m_documentation
Documentation.
Definition: psi_statement_bits.h:128
unsigned int m_flags
The flags of the statement instrument to register.
Definition: psi_statement_bits.h:126
State data storage for get_thread_statement_locker_v1_t, get_thread_statement_locker_v1_t.
Definition: psi_statement_bits.h:145
unsigned long m_sort_range
Metric, number of sort merge.
Definition: psi_statement_bits.h:189
PSI_sp_share * m_parent_sp_share
Definition: psi_statement_bits.h:209
unsigned long m_created_tmp_disk_tables
Metric, temporary tables created on disk.
Definition: psi_statement_bits.h:173
const struct sql_digest_storage * m_digest
Statement digest.
Definition: psi_statement_bits.h:195
bool m_query_sample_truncated
True if m_query_sample was truncated.
Definition: psi_statement_bits.h:207
unsigned int m_schema_name_length
Length in bytes of m_schema_name.
Definition: psi_statement_bits.h:199
bool m_discarded
Discarded flag.
Definition: psi_statement_bits.h:147
unsigned long m_sort_rows
Metric, number of sort rows.
Definition: psi_statement_bits.h:191
unsigned int m_cs_number
Statement character set number.
Definition: psi_statement_bits.h:201
unsigned long long m_cpu_time_start
THREAD CPU time start.
Definition: psi_statement_bits.h:163
unsigned char m_no_good_index_used
Metric, no good index used flag.
Definition: psi_statement_bits.h:153
unsigned long long m_lock_time
Locked time.
Definition: psi_statement_bits.h:167
unsigned long m_sort_scan
Metric, number of sort scans.
Definition: psi_statement_bits.h:193
char m_schema_name[PSI_SCHEMA_NAME_LEN]
Current schema name.
Definition: psi_statement_bits.h:197
unsigned long long m_rows_examined
Rows examined.
Definition: psi_statement_bits.h:171
void * m_class
Instrumentation class.
Definition: psi_statement_bits.h:157
PSI_prepared_stmt * m_parent_prepared_stmt
Definition: psi_statement_bits.h:210
unsigned long m_sort_merge_passes
Metric, number of sort merge passes.
Definition: psi_statement_bits.h:187
void * m_statement
Internal data.
Definition: psi_statement_bits.h:165
unsigned long m_select_full_join
Metric, number of select full join.
Definition: psi_statement_bits.h:177
unsigned long m_select_range
Metric, number of select range.
Definition: psi_statement_bits.h:181
bool m_in_prepare
In prepare flag.
Definition: psi_statement_bits.h:149
unsigned long long m_timer_start
Timer start.
Definition: psi_statement_bits.h:161
const char * m_query_sample
Statement query sample.
Definition: psi_statement_bits.h:203
struct PSI_thread * m_thread
Current thread.
Definition: psi_statement_bits.h:159
unsigned long m_created_tmp_tables
Metric, temporary tables created.
Definition: psi_statement_bits.h:175
unsigned long m_select_full_range_join
Metric, number of select full range join.
Definition: psi_statement_bits.h:179
unsigned long long m_rows_sent
Rows sent.
Definition: psi_statement_bits.h:169
unsigned int m_flags
Internal state.
Definition: psi_statement_bits.h:155
unsigned int m_query_sample_length
Length in bytes of m_query_sample.
Definition: psi_statement_bits.h:205
unsigned long m_select_scan
Metric, number of select scan.
Definition: psi_statement_bits.h:185
unsigned long m_select_range_check
Metric, number of select range check.
Definition: psi_statement_bits.h:183
unsigned char m_no_index_used
Metric, no index used flag.
Definition: psi_statement_bits.h:151
Structure to store token count/array for a statement on which digest is to be calculated.
Definition: sql_digest.h:97