MySQL 8.4.2
Source Code Documentation
pfs_program.cc File Reference

Statement Digest data structures (implementation). More...

#include "storage/perfschema/pfs_program.h"
#include <assert.h>
#include <string.h>
#include "my_compiler.h"
#include "my_inttypes.h"
#include "my_sys.h"
#include "mysql/strings/m_ctype.h"
#include "sql/mysqld_cs.h"
#include "sql_string.h"
#include "storage/perfschema/pfs_buffer_container.h"
#include "storage/perfschema/pfs_global.h"
#include "storage/perfschema/pfs_instr.h"
#include "storage/perfschema/pfs_setup_object.h"

Functions

int init_program (const PFS_global_param *param)
 Initialize table EVENTS_STATEMENTS_SUMMARY_BY_PROGRAM. More...
 
void cleanup_program ()
 Cleanup table EVENTS_STATEMENTS_SUMMARY_BY_PROGRAM. More...
 
static const ucharprogram_hash_get_key (const uchar *entry, size_t *length)
 
static uint program_hash_func (const LF_HASH *, const uchar *key, size_t key_len)
 
static int program_hash_cmp_func (const uchar *key1, size_t key_len1, const uchar *key2, size_t key_len2)
 
int init_program_hash (const PFS_global_param *param)
 Initialize the program hash. More...
 
void cleanup_program_hash ()
 Cleanup the program hash. More...
 
static void set_program_key (PFS_program_key *key, enum_object_type object_type, const char *schema_name, uint schema_name_length, const char *object_name, uint object_name_length)
 
static void fct_reset_esms_by_program (PFS_program *pfs)
 
void reset_esms_by_program ()
 
static LF_PINSget_program_hash_pins (PFS_thread *thread)
 
PFS_programfind_or_create_program (PFS_thread *thread, enum_object_type object_type, const char *object_name, uint object_name_length, const char *schema_name, uint schema_name_length)
 
void drop_program (PFS_thread *thread, enum_object_type object_type, const char *object_name, uint object_name_length, const char *schema_name, uint schema_name_length)
 

Variables

LF_HASH program_hash
 
static bool program_hash_inited = false
 

Detailed Description

Statement Digest data structures (implementation).

Function Documentation

◆ cleanup_program()

void cleanup_program ( )

Cleanup table EVENTS_STATEMENTS_SUMMARY_BY_PROGRAM.

◆ cleanup_program_hash()

void cleanup_program_hash ( )

Cleanup the program hash.

◆ drop_program()

void drop_program ( PFS_thread thread,
enum_object_type  object_type,
const char *  object_name,
uint  object_name_length,
const char *  schema_name,
uint  schema_name_length 
)

◆ fct_reset_esms_by_program()

static void fct_reset_esms_by_program ( PFS_program pfs)
static

◆ find_or_create_program()

PFS_program * find_or_create_program ( PFS_thread thread,
enum_object_type  object_type,
const char *  object_name,
uint  object_name_length,
const char *  schema_name,
uint  schema_name_length 
)

◆ get_program_hash_pins()

static LF_PINS * get_program_hash_pins ( PFS_thread thread)
static

◆ init_program()

int init_program ( const PFS_global_param param)

Initialize table EVENTS_STATEMENTS_SUMMARY_BY_PROGRAM.

Parameters
paramperformance schema sizing

◆ init_program_hash()

int init_program_hash ( const PFS_global_param param)

Initialize the program hash.

Returns
0 on success

◆ program_hash_cmp_func()

static int program_hash_cmp_func ( const uchar key1,
size_t  key_len1,
const uchar key2,
size_t  key_len2 
)
static

◆ program_hash_func()

static uint program_hash_func ( const LF_HASH ,
const uchar key,
size_t  key_len 
)
static

◆ program_hash_get_key()

static const uchar * program_hash_get_key ( const uchar entry,
size_t *  length 
)
static

◆ reset_esms_by_program()

void reset_esms_by_program ( )

◆ set_program_key()

static void set_program_key ( PFS_program_key key,
enum_object_type  object_type,
const char *  schema_name,
uint  schema_name_length,
const char *  object_name,
uint  object_name_length 
)
static

Variable Documentation

◆ program_hash

LF_HASH program_hash

◆ program_hash_inited

bool program_hash_inited = false
static