24#ifndef PLUGIN_PFS_TABLE_PLUGIN_pfs_example_employee_name_H_
25#define PLUGIN_PFS_TABLE_PLUGIN_pfs_example_employee_name_H_
39#define EMPLOYEE_NAME_LEN 20 * 4
42#define EMPLOYEEE_NAME_MAX_ROWS 100
151 unsigned int idx,
int find_flag);
Definition: pfs_example_employee_name.h:72
void set_at(Ename_POS *pos)
Definition: pfs_example_employee_name.h:92
unsigned int get_index()
Definition: pfs_example_employee_name.h:88
unsigned int m_index
Definition: pfs_example_employee_name.h:74
void set_at(unsigned int index)
Definition: pfs_example_employee_name.h:90
void next()
Definition: pfs_example_employee_name.h:84
bool has_more()
Definition: pfs_example_employee_name.h:80
Ename_POS()
Definition: pfs_example_employee_name.h:78
void set_after(Ename_POS *pos)
Definition: pfs_example_employee_name.h:94
void reset()
Definition: pfs_example_employee_name.h:86
Definition: pfs_example_employee_name.h:114
bool match(Ename_Record *record) override
Definition: pfs_example_employee_name.h:119
PSI_plugin_key_string m_emp_fname
Definition: pfs_example_employee_name.h:116
char m_emp_fname_buffer[EMPLOYEE_NAME_LEN]
Definition: pfs_example_employee_name.h:117
Definition: pfs_example_employee_name.h:104
PSI_plugin_key_integer m_emp_num
Definition: pfs_example_employee_name.h:106
bool match(Ename_Record *record) override
Definition: pfs_example_employee_name.h:108
Definition: pfs_example_employee_name.h:97
virtual bool match(Ename_Record *record)=0
virtual ~Ename_index()=default
static int record
Definition: mysqltest.cc:188
static int handle(int sql_errno, const char *sqlstate, const char *message, void *state)
Bridge function between the C++ API offered by this module and the C API of the parser service.
Definition: services.cc:64
int ename_delete_all_rows(void)
Definition: pfs_example_employee_name.cc:381
#define EMPLOYEEE_NAME_MAX_ROWS
Definition: pfs_example_employee_name.h:42
int ename_write_row_values(PSI_table_handle *handle)
Definition: pfs_example_employee_name.cc:249
PSI_table_handle * ename_open_table(PSI_pos **pos)
Instantiate Ename_Table_Handle at plugin code when corresponding table in performance schema is opene...
Definition: pfs_example_employee_name.cc:64
int ename_rnd_init(PSI_table_handle *h, bool scan)
Definition: pfs_example_employee_name.cc:111
int ename_read_column_value(PSI_table_handle *handle, PSI_field *field, uint index)
Definition: pfs_example_employee_name.cc:224
int ename_update_row_values(PSI_table_handle *handle)
Definition: pfs_example_employee_name.cc:319
PFS_engine_table_share_proxy ename_st_share
Definition: pfs_example_employee_name.cc:28
const mysql_service_pfs_plugin_column_integer_v1_t * col_int_svc
Definition: pfs_example_plugin_employee.cc:90
unsigned long long ename_get_row_count(void)
Definition: pfs_example_employee_name.cc:391
int ename_update_column_value(PSI_table_handle *handle, PSI_field *field, unsigned int index)
Definition: pfs_example_employee_name.cc:338
void ename_close_table(PSI_table_handle *handle)
Destroy the Ename_Table_Handle at plugin code when corresponding table in performance schema is close...
Definition: pfs_example_employee_name.cc:78
const mysql_service_pfs_plugin_column_string_v2_t * col_string_svc
Definition: pfs_example_plugin_employee.cc:92
void init_ename_share(PFS_engine_table_share_proxy *share)
Definition: pfs_example_employee_name.cc:393
Ename_Record ename_records_array[EMPLOYEEE_NAME_MAX_ROWS]
An array to keep rows of the tables.
Definition: pfs_example_employee_name.cc:37
void ename_reset_position(PSI_table_handle *handle)
Definition: pfs_example_employee_name.cc:216
int ename_write_column_value(PSI_table_handle *handle, PSI_field *field, unsigned int index)
Definition: pfs_example_employee_name.cc:291
int ename_index_next(PSI_table_handle *handle)
Definition: pfs_example_employee_name.cc:184
int ename_delete_row_values(PSI_table_handle *handle)
Definition: pfs_example_employee_name.cc:366
int ename_rnd_pos(PSI_table_handle *handle)
Definition: pfs_example_employee_name.cc:117
int ename_index_init(PSI_table_handle *handle, uint idx, bool sorted, PSI_index_handle **index)
Definition: pfs_example_employee_name.cc:130
#define EMPLOYEE_NAME_LEN
Definition: pfs_example_employee_name.h:39
int ename_index_read(PSI_index_handle *index, PSI_key_reader *reader, unsigned int idx, int find_flag)
Definition: pfs_example_employee_name.cc:162
int ename_rnd_next(PSI_table_handle *handle)
Definition: pfs_example_employee_name.cc:94
mysql_mutex_t LOCK_ename_records_array
Definition: pfs_example_employee_name.cc:29
struct PSI_table_handle PSI_table_handle
This is an opaque structure to denote table handle in plugin/component code.
Definition: pfs_plugin_table_service.h:97
struct PSI_pos PSI_pos
This is an opaque structure to denote cursor position in plugin/component code.
Definition: pfs_plugin_table_service.h:102
#define PSI_int
Definition: pfs_plugin_table_service.h:148
struct PSI_key_reader PSI_key_reader
This is an opaque structure to denote Key Reader in plugin/component code.
Definition: pfs_plugin_table_service.h:106
struct PSI_index_handle PSI_index_handle
This is an opaque structure to denote Index Handle in plugin/component code.
Definition: pfs_plugin_table_service.h:110
struct PSI_field PSI_field
This is an opaque structure to denote filed in plugin/component code.
Definition: pfs_plugin_table_service.h:93
#define SERVICE_TYPE(name)
Generates the standard Service type name.
Definition: service.h:76
Specifies macros to define Service Implementations.
Definition: pfs_example_employee_name.h:52
char l_name[EMPLOYEE_NAME_LEN]
Definition: pfs_example_employee_name.h:57
unsigned int l_name_length
Definition: pfs_example_employee_name.h:58
bool m_exist
Definition: pfs_example_employee_name.h:61
PSI_int e_number
Definition: pfs_example_employee_name.h:54
char f_name[EMPLOYEE_NAME_LEN]
Definition: pfs_example_employee_name.h:55
unsigned int f_name_length
Definition: pfs_example_employee_name.h:56
Definition: pfs_example_employee_name.h:126
Ename_POS m_next_pos
Definition: pfs_example_employee_name.h:130
Ename_index_by_emp_fname m_emp_fname_index
Definition: pfs_example_employee_name.h:137
Ename_POS m_pos
Definition: pfs_example_employee_name.h:128
Ename_index_by_emp_num m_emp_num_index
Definition: pfs_example_employee_name.h:136
Ename_Record current_row
Definition: pfs_example_employee_name.h:133
unsigned int index_num
Definition: pfs_example_employee_name.h:140
A share to be initialized by plugin/component code and to be provided to add_table() service method o...
Definition: pfs_plugin_table_service.h:463
A structure to denote a key of type long in an index.
Definition: pfs_plugin_table_service.h:160
A structure to denote a key of type string in an index.
Definition: pfs_plugin_table_service.h:226
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:50
bool(* match_key)(bool record_null, long record_value, PSI_plugin_key_integer *key)
Definition: pfs_plugin_table_service.h:570
bool(* match_key_string)(bool record_null, const char *record_string_value, unsigned int record_string_length, PSI_plugin_key_string *key)
Definition: pfs_plugin_table_service.h:624
unsigned int uint
Definition: uca9-dump.cc:75