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_STATEMENT_VERSION_4 4
82#define PSI_CURRENT_STATEMENT_VERSION 4
140#define PSI_SCHEMA_NAME_LEN (64 * 3)
283 const char *db,
unsigned int db_length,
284 const char *src_file,
285 unsigned int src_line);
297 unsigned int text_len);
306 unsigned long long query_id);
314 unsigned long long lock_time);
322 unsigned long long count);
386 unsigned long count);
402 unsigned long count);
410 unsigned long count);
418 unsigned long count);
463 const char *stmt_name,
size_t stmt_name_length,
const char *sql_text,
464 size_t sql_text_length);
494 unsigned int text_len);
529 unsigned int object_type,
const char *schema_name,
530 unsigned int schema_name_length,
const char *object_name,
531 unsigned int object_name_length);
544typedef void (*
drop_sp_v1_t)(
unsigned int object_type,
const char *schema_name,
545 unsigned int schema_name_length,
546 const char *object_name,
547 unsigned int object_name_length);
struct PSI_digest_locker PSI_digest_locker
Definition: psi_statement_bits.h:103
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:470
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:393
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:409
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:361
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:295
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:377
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:385
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:501
void(* register_statement_v1_t)(const char *category, struct PSI_statement_info_v1 *info, int count)
Statement registration API.
Definition: psi_statement_bits.h:248
void(* reprepare_prepared_stmt_v1_t)(PSI_prepared_stmt *prepared_stmt)
reprepare a prepare statement.
Definition: psi_statement_bits.h:476
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:417
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:483
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:424
struct PSI_prepared_stmt PSI_prepared_stmt
Definition: psi_statement_bits.h:96
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:401
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:282
struct PSI_sp_locker PSI_sp_locker
Definition: psi_statement_bits.h:117
void(* release_sp_share_v1_t)(struct PSI_sp_share *share)
Release a stored program share.
Definition: psi_statement_bits.h:537
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:305
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:439
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:544
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:329
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:431
#define PSI_SCHEMA_NAME_LEN
Definition: psi_statement_bits.h:140
struct PSI_sp_share PSI_sp_share
Definition: psi_statement_bits.h:110
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:516
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:369
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 statement event.
Definition: psi_statement_bits.h:492
void(* end_sp_v1_t)(struct PSI_sp_locker *locker)
Definition: psi_statement_bits.h:542
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:353
void(* end_statement_v1_t)(struct PSI_statement_locker *locker, void *stmt_da)
End a statement event.
Definition: psi_statement_bits.h:448
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:313
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:321
struct PSI_statement_locker PSI_statement_locker
Definition: psi_statement_bits.h:89
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:337
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:345
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:169
Performance schema instrumentation interface.
required string key
Definition: replication_asynchronous_connection_failover.proto:59
Definition: psi_statement_bits.h:228
unsigned long long m_timer_start
Timer start.
Definition: psi_statement_bits.h:234
PSI_sp_share * m_sp_share
Stored Procedure share.
Definition: psi_statement_bits.h:238
unsigned long long(* m_timer)(void)
Timer function.
Definition: psi_statement_bits.h:236
unsigned int m_flags
Internal state.
Definition: psi_statement_bits.h:230
struct PSI_thread * m_thread
Current thread.
Definition: psi_statement_bits.h:232
Statement instrument information.
Definition: psi_statement_bits.h:124
const char * m_name
The name of the statement instrument to register.
Definition: psi_statement_bits.h:128
PSI_statement_key m_key
The registered statement key.
Definition: psi_statement_bits.h:126
const char * m_documentation
Documentation.
Definition: psi_statement_bits.h:135
unsigned int m_flags
The flags of the statement instrument to register.
Definition: psi_statement_bits.h:133
State data storage for get_thread_statement_locker_v4_t.
Definition: psi_statement_bits.h:151
unsigned long m_created_tmp_disk_tables
Metric, temporary tables created on disk.
Definition: psi_statement_bits.h:187
void * m_statement
Internal data.
Definition: psi_statement_bits.h:179
unsigned long long m_lock_time
Locked time.
Definition: psi_statement_bits.h:181
unsigned char m_no_index_used
Metric, no index used flag.
Definition: psi_statement_bits.h:157
size_t m_total_local_size_start
State temporary data for TOTAL_MEMORY.
Definition: psi_statement_bits.h:175
size_t m_total_stmt_size_start
State temporary data for MAX_TOTAL_MEMORY.
Definition: psi_statement_bits.h:177
bool m_discarded
Discarded flag.
Definition: psi_statement_bits.h:153
PSI_prepared_stmt * m_parent_prepared_stmt
Definition: psi_statement_bits.h:224
unsigned long m_sort_merge_passes
Metric, number of sort merge passes.
Definition: psi_statement_bits.h:201
PSI_sp_share * m_parent_sp_share
Definition: psi_statement_bits.h:223
unsigned long long m_rows_examined
Rows examined.
Definition: psi_statement_bits.h:185
unsigned long m_sort_scan
Metric, number of sort scans.
Definition: psi_statement_bits.h:207
unsigned long long m_timer_start
Timer start.
Definition: psi_statement_bits.h:167
void * m_class
Instrumentation class.
Definition: psi_statement_bits.h:163
unsigned long long m_cpu_time_start
THREAD CPU time start.
Definition: psi_statement_bits.h:169
unsigned long long m_rows_sent
Rows sent.
Definition: psi_statement_bits.h:183
unsigned long m_select_range
Metric, number of select range.
Definition: psi_statement_bits.h:195
const char * m_query_sample
Statement query sample.
Definition: psi_statement_bits.h:217
unsigned long m_sort_rows
Metric, number of sort rows.
Definition: psi_statement_bits.h:205
const struct sql_digest_storage * m_digest
Statement digest.
Definition: psi_statement_bits.h:209
bool m_in_prepare
In prepare flag.
Definition: psi_statement_bits.h:155
unsigned long m_created_tmp_tables
Metric, temporary tables created.
Definition: psi_statement_bits.h:189
unsigned long m_select_full_join
Metric, number of select full join.
Definition: psi_statement_bits.h:191
unsigned int m_cs_number
Statement character set number.
Definition: psi_statement_bits.h:215
unsigned int m_query_sample_length
Length in bytes of m_query_sample.
Definition: psi_statement_bits.h:219
char m_schema_name[PSI_SCHEMA_NAME_LEN]
Current schema name.
Definition: psi_statement_bits.h:211
size_t m_controlled_local_size_start
State temporary data for CONTROLLED_MEMORY.
Definition: psi_statement_bits.h:171
unsigned int m_schema_name_length
Length in bytes of m_schema_name.
Definition: psi_statement_bits.h:213
unsigned long m_sort_range
Metric, number of sort merge.
Definition: psi_statement_bits.h:203
bool m_query_sample_truncated
True if m_query_sample was truncated.
Definition: psi_statement_bits.h:221
unsigned long m_select_scan
Metric, number of select scan.
Definition: psi_statement_bits.h:199
unsigned long m_select_range_check
Metric, number of select range check.
Definition: psi_statement_bits.h:197
struct PSI_thread * m_thread
Current thread.
Definition: psi_statement_bits.h:165
unsigned char m_no_good_index_used
Metric, no good index used flag.
Definition: psi_statement_bits.h:159
unsigned int m_flags
Internal state.
Definition: psi_statement_bits.h:161
unsigned long m_select_full_range_join
Metric, number of select full range join.
Definition: psi_statement_bits.h:193
size_t m_controlled_stmt_size_start
State temporary data for MAX_CONTROLLED_MEMORY.
Definition: psi_statement_bits.h:173
Structure to store token count/array for a statement on which digest is to be calculated.
Definition: sql_digest.h:97