24#ifndef PFS_TABLE_PROVIDER_H
25#define PFS_TABLE_PROVIDER_H
37#ifdef HAVE_PSI_TABLE_INTERFACE
38#if defined(MYSQL_SERVER) || defined(PFS_DIRECT_CALL)
39#ifndef MYSQL_DYNAMIC_PLUGIN
40#ifndef WITH_LOCK_ORDER
46#define PSI_TABLE_CALL(M) pfs_##M##_v1
54 int schema_name_length,
const char *
table_name,
55 int table_name_length);
69 uint index,
const char *src_file,
struct PSI_table_locker PSI_table_locker
Definition: psi_table_bits.h:43
PSI_table_io_operation
IO operation performed on an instrumented table.
Definition: psi_table_bits.h:46
struct PSI_table_share PSI_table_share
Definition: psi_table_bits.h:100
PSI_table_lock_operation
Lock operation performed on an instrumented table.
Definition: psi_table_bits.h:110
struct PSI_table PSI_table
Definition: psi_table_bits.h:107
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:56
Defines various enable/disable and HAVE_ macros related to the performance schema instrumentation sys...
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
const char * table_name
Definition: rules_table_service.cc:56
void pfs_end_table_io_wait_v1(PSI_table_locker *locker, ulonglong numrows)
Implementation of the table instrumentation interface.
Definition: pfs.cc:5377
void pfs_close_table_v1(struct TABLE_SHARE *server_share, PSI_table *table)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2920
PSI_table_share * pfs_get_table_share_v1(bool temporary, struct TABLE_SHARE *share)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2750
void pfs_end_table_lock_wait_v1(PSI_table_locker *locker)
Implementation of the table instrumentation interface.
Definition: pfs.cc:5469
void pfs_drop_table_share_v1(bool temporary, const char *schema_name, int schema_name_length, const char *table_name, int table_name_length)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2783
void pfs_release_table_share_v1(PSI_table_share *share)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2769
PSI_table * pfs_rebind_table_v1(PSI_table_share *share, const void *identity, PSI_table *table)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2854
void pfs_unbind_table_v1(PSI_table *table)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2842
void pfs_unlock_table_v1(PSI_table *table)
Definition: pfs.cc:8767
PSI_table_locker * pfs_start_table_io_wait_v1(PSI_table_locker_state *state, PSI_table *table, PSI_table_io_operation op, uint index, const char *src_file, uint src_line)
Implementation of the table instrumentation interface.
Definition: pfs.cc:4138
PSI_table * pfs_open_table_v1(PSI_table_share *share, const void *identity)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2803
PSI_table_locker * pfs_start_table_lock_wait_v1(PSI_table_locker_state *state, PSI_table *table, PSI_table_lock_operation op, ulong op_flags, const char *src_file, uint src_line)
Implementation of the table instrumentation interface.
Definition: pfs.cc:4232
Performance schema instrumentation interface.
State data storage for start_table_io_wait_v1_t, start_table_lock_wait_v1_t.
Definition: psi_table_bits.h:69
This structure is shared between different table objects.
Definition: table.h:701