![]()  | 
  
    MySQL 9.5.0
    
   Source Code Documentation 
   | 
 
Statement Digest data structures (implementation). More...
#include "storage/perfschema/pfs_digest.h"#include <assert.h>#include <string.h>#include "my_compiler.h"#include "my_murmur3.h"#include "my_sys.h"#include "sql/sql_get_diagnostics.h"#include "sql/sql_lex.h"#include "sql/sql_signal.h"#include "sql_string.h"#include "storage/perfschema/pfs_builtin_memory.h"#include "storage/perfschema/pfs_global.h"#include "storage/perfschema/pfs_instr.h"#include "storage/perfschema/table_helper.h"#include "sql/current_thd.h"#include "sql/debug_sync.h"Functions | |
| int | init_digest (const PFS_global_param *param) | 
| Initialize table EVENTS_STATEMENTS_SUMMARY_BY_DIGEST.  More... | |
| void | cleanup_digest () | 
| Cleanup table EVENTS_STATEMENTS_SUMMARY_BY_DIGEST.  More... | |
| static const uchar * | digest_hash_get_key (const uchar *entry, size_t *length) | 
| static uint | digest_hash_func (const LF_HASH *, const uchar *key, size_t key_len) | 
| static int | digest_hash_cmp_func (const uchar *key1, size_t key_len1, const uchar *key2, size_t key_len2) | 
| int | init_digest_hash (const PFS_global_param *param) | 
| Initialize the digest hash.  More... | |
| void | cleanup_digest_hash () | 
| static LF_PINS * | get_digest_hash_pins (PFS_thread *thread) | 
| PFS_statements_digest_stat * | find_or_create_digest (PFS_thread *thread, const sql_digest_storage *digest_storage, const char *schema_name, uint schema_name_length) | 
| static void | purge_digest (PFS_thread *thread, PFS_digest_key *hash_key) | 
| void | reset_esms_by_digest () | 
| void | reset_histogram_by_digest () | 
Variables | |
| size_t | digest_max = 0 | 
| ulong | digest_lost = 0 | 
| PFS_statements_digest_stat * | statements_digest_stat_array = nullptr | 
| EVENTS_STATEMENTS_SUMMARY_BY_DIGEST buffer.  More... | |
| static unsigned char * | statements_digest_token_array = nullptr | 
| static char * | statements_digest_query_sample_text_array = nullptr | 
| bool | flag_statements_digest = true | 
| Consumer flag for table EVENTS_STATEMENTS_SUMMARY_BY_DIGEST.  More... | |
| static PFS_cacheline_atomic_uint32 | digest_monotonic_index | 
| Current index in Stat array where new record is to be inserted.  More... | |
| bool | digest_full = false | 
| LF_HASH | digest_hash | 
| static bool | digest_hash_inited = false | 
Statement Digest data structures (implementation).
| void cleanup_digest | ( | ) | 
Cleanup table EVENTS_STATEMENTS_SUMMARY_BY_DIGEST.
| void cleanup_digest_hash | ( | ) | 
      
  | 
  static | 
| PFS_statements_digest_stat * find_or_create_digest | ( | PFS_thread * | thread, | 
| const sql_digest_storage * | digest_storage, | ||
| const char * | schema_name, | ||
| uint | schema_name_length | ||
| ) | 
      
  | 
  static | 
| int init_digest | ( | const PFS_global_param * | param | ) | 
Initialize table EVENTS_STATEMENTS_SUMMARY_BY_DIGEST.
| param | performance schema sizing | 
| int init_digest_hash | ( | const PFS_global_param * | param | ) | 
Initialize the digest hash.
      
  | 
  static | 
| void reset_esms_by_digest | ( | ) | 
| void reset_histogram_by_digest | ( | ) | 
| bool digest_full = false | 
| LF_HASH digest_hash | 
      
  | 
  static | 
| ulong digest_lost = 0 | 
| size_t digest_max = 0 | 
      
  | 
  static | 
Current index in Stat array where new record is to be inserted.
index 0 is reserved for "all else" case when entire array is full.
| bool flag_statements_digest = true | 
Consumer flag for table EVENTS_STATEMENTS_SUMMARY_BY_DIGEST.
      
  | 
  static | 
| PFS_statements_digest_stat* statements_digest_stat_array = nullptr | 
EVENTS_STATEMENTS_SUMMARY_BY_DIGEST buffer.
      
  | 
  static |