23#ifndef PFS_TABLE_PROVIDER_H
24#define PFS_TABLE_PROVIDER_H
36#ifdef HAVE_PSI_TABLE_INTERFACE
37#if defined(MYSQL_SERVER) || defined(PFS_DIRECT_CALL)
38#ifndef MYSQL_DYNAMIC_PLUGIN
39#ifndef WITH_LOCK_ORDER
45#define PSI_TABLE_CALL(M) pfs_##M##_v1
53 int schema_name_length,
const char *
table_name,
54 int table_name_length);
68 uint index,
const char *src_file,
struct PSI_table_locker PSI_table_locker
Definition: psi_table_bits.h:42
PSI_table_io_operation
IO operation performed on an instrumented table.
Definition: psi_table_bits.h:45
struct PSI_table_share PSI_table_share
Definition: psi_table_bits.h:99
PSI_table_lock_operation
Lock operation performed on an instrumented table.
Definition: psi_table_bits.h:109
struct PSI_table PSI_table
Definition: psi_table_bits.h:106
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:55
Defines various enable/disable and HAVE_ macros related to the performance schema instrumentation sys...
static PFS_engine_table_share_proxy table
Definition: pfs.cc:60
const char * table_name
Definition: rules_table_service.cc:55
void pfs_end_table_io_wait_v1(PSI_table_locker *locker, ulonglong numrows)
Implementation of the table instrumentation interface.
Definition: pfs.cc:5342
void pfs_close_table_v1(struct TABLE_SHARE *server_share, PSI_table *table)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2912
PSI_table_share * pfs_get_table_share_v1(bool temporary, struct TABLE_SHARE *share)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2742
void pfs_end_table_lock_wait_v1(PSI_table_locker *locker)
Implementation of the table instrumentation interface.
Definition: pfs.cc:5434
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:2775
void pfs_release_table_share_v1(PSI_table_share *share)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2761
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:2846
void pfs_unbind_table_v1(PSI_table *table)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2834
void pfs_unlock_table_v1(PSI_table *table)
Definition: pfs.cc:8726
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:4103
PSI_table * pfs_open_table_v1(PSI_table_share *share, const void *identity)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2795
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:4197
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:68
This structure is shared between different table objects.
Definition: table.h:698