23#ifndef TABLE_UVAR_BY_THREAD_H
24#define TABLE_UVAR_BY_THREAD_H
83 assert(
pfs !=
nullptr);
171 int rnd_pos(
const void *pos)
override;
173 int index_init(uint idx,
bool sorted)
override;
178 bool read_all)
override;
Definition: pfs_engine_table.h:299
An abstract PERFORMANCE_SCHEMA table.
Definition: pfs_engine_table.h:69
Definition: table_uvar_by_thread.h:141
PFS_key_thread_id m_key_1
Definition: table_uvar_by_thread.h:154
PFS_key_variable_name m_key_2
Definition: table_uvar_by_thread.h:155
~PFS_index_uvar_by_thread() override=default
PFS_index_uvar_by_thread()
Definition: table_uvar_by_thread.h:143
virtual bool match(PFS_thread *pfs)
Definition: table_uvar_by_thread.cc:151
Definition: table_helper.h:1251
Definition: table_helper.h:1531
Class to hold information regarding a table to be created on behalf of a plugin.
Definition: plugin_table.h:39
void clear()
Removes (and destroys) all elements.
Definition: prealloced_array.h:600
Element_type & at(size_t n)
Definition: prealloced_array.h:230
size_t size() const
Definition: prealloced_array.h:226
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:33
Definition: table_uvar_by_thread.h:67
void reset()
Definition: table_uvar_by_thread.h:74
PFS_thread * m_pfs
Definition: table_uvar_by_thread.h:103
User_variables()
Definition: table_uvar_by_thread.h:71
bool is_materialized(PFS_thread *pfs)
Definition: table_uvar_by_thread.h:82
User_variable_array m_array
Definition: table_uvar_by_thread.h:105
void materialize(PFS_thread *pfs, THD *thd)
Definition: table_uvar_by_thread.cc:66
Prealloced_array< User_variable, 100 > User_variable_array
Definition: table_uvar_by_thread.h:68
ulonglong m_thread_internal_id
Definition: table_uvar_by_thread.h:104
const User_variable * get(uint index) const
Definition: table_uvar_by_thread.h:93
Table PERFORMANCE_SCHEMA.USER_VARIABLES_BY_THREAD.
Definition: table_uvar_by_thread.h:159
int rnd_pos(const void *pos) override
Fetch a row by position.
Definition: table_uvar_by_thread.cc:217
int index_init(uint idx, bool sorted) override
Definition: table_uvar_by_thread.cc:235
static THR_LOCK m_table_lock
Table share lock.
Definition: table_uvar_by_thread.h:191
pos_uvar_by_thread pos_t
Definition: table_uvar_by_thread.h:160
int rnd_next() override
Fetch the next row in this cursor.
Definition: table_uvar_by_thread.cc:194
int make_row(PFS_thread *thread, const User_variable *uvar)
Definition: table_uvar_by_thread.cc:298
int read_row_values(TABLE *table, unsigned char *buf, Field **fields, bool read_all) override
Read the current row values.
Definition: table_uvar_by_thread.cc:318
User_variables m_THD_cache
Current THD user variables.
Definition: table_uvar_by_thread.h:196
static PFS_engine_table_share m_share
Table share.
Definition: table_uvar_by_thread.h:164
int index_next() override
Find key in index, read record.
Definition: table_uvar_by_thread.cc:244
static Plugin_table m_table_def
Table definition.
Definition: table_uvar_by_thread.h:193
~table_uvar_by_thread() override
Definition: table_uvar_by_thread.h:183
int materialize(PFS_thread *thread)
Definition: table_uvar_by_thread.cc:274
pos_t m_pos
Current position.
Definition: table_uvar_by_thread.h:200
row_uvar_by_thread m_row
Current row.
Definition: table_uvar_by_thread.h:198
static ha_rows get_row_count()
Definition: table_uvar_by_thread.cc:173
void reset_position() override
Reset the cursor position to the beginning of the table.
Definition: table_uvar_by_thread.cc:189
PFS_index_uvar_by_thread * m_opened_index
Definition: table_uvar_by_thread.h:204
table_uvar_by_thread()
Definition: table_uvar_by_thread.cc:186
static PFS_engine_table * create(PFS_engine_table_share *)
Definition: table_uvar_by_thread.cc:169
pos_t m_next_pos
Next position.
Definition: table_uvar_by_thread.h:202
const char * p
Definition: ctype-mb.cc:1234
Fido Client Authentication nullptr
Definition: fido_client_plugin.cc:221
static constexpr unsigned PSI_INSTRUMENT_ME
Definition: psi_bits.h:42
This file includes constants used by all storage engines.
my_off_t ha_rows
Definition: my_base.h:1139
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:55
static PFS_engine_table_share_proxy table
Definition: pfs.cc:60
Definition: buf0block_hint.cc:29
Performance schema tables (declarations).
Performance schema instruments (declarations).
Performance schema instrumentation interface.
static const LEX_CSTRING pfs
Definition: sql_show_processlist.cc:65
Position of a double cursor, for iterations using 2 nested loops.
Definition: pfs_engine_table.h:592
uint m_index_1
Outer index.
Definition: pfs_engine_table.h:594
uint m_index_2
Current index within index_1.
Definition: pfs_engine_table.h:596
A PERFORMANCE_SCHEMA table share.
Definition: pfs_engine_table.h:357
Instrumented thread implementation.
Definition: pfs_instr.h:374
Definition: table_helper.h:1122
Definition: table_helper.h:1087
Definition: thr_lock.h:138
Definition: table_uvar_by_thread.h:55
User_variable(const User_variable &uv)=default
PFS_user_variable_value_row m_value
Definition: table_uvar_by_thread.h:64
PFS_variable_name_row m_name
Definition: table_uvar_by_thread.h:63
Position of a cursor on PERFORMANCE_SCHEMA.USER_VARIABLES_BY_THREAD.
Definition: table_uvar_by_thread.h:127
void reset()
Definition: table_uvar_by_thread.h:130
void next_thread()
Definition: table_uvar_by_thread.h:135
pos_uvar_by_thread()
Definition: table_uvar_by_thread.h:128
A row of table PERFORMANCE_SCHEMA.USER_VARIABLES_BY_THREAD.
Definition: table_uvar_by_thread.h:112
ulonglong m_thread_internal_id
Column THREAD_ID.
Definition: table_uvar_by_thread.h:114
const PFS_variable_name_row * m_variable_name
Column VARIABLE_NAME.
Definition: table_uvar_by_thread.h:116
const PFS_user_variable_value_row * m_variable_value
Column VARIABLE_VALUE.
Definition: table_uvar_by_thread.h:118
Helpers to implement a performance schema table.