61 uint64_t hash_value,
const rec_t *data,
136#ifndef UNIV_HOTBACKUP
147#if defined UNIV_AHI_DEBUG || defined UNIV_DEBUG
169#if defined UNIV_AHI_DEBUG || defined UNIV_DEBUG
app_data_ptr new_data(u_int n, char *val, cons_type consensus)
The database buffer pool global types for the directory.
Definition: hash0hash.h:375
int page
Definition: ctype-mb.cc:1236
static void ha_insert_for_hash(hash_table_t *t, uint64_t f, buf_block_t *b, const rec_t *d)
Inserts an entry into a hash table.
Definition: ha0ha.h:120
void ha_print_info(FILE *file, hash_table_t *table)
Prints info of a hash table.
Definition: ha0ha.cc:326
void ha_remove_a_node_to_page(hash_table_t *table, uint64_t hash_value, const page_t *page)
Removes from the chain determined by hash value a single node whose data pointer points to the page g...
Definition: ha0ha.cc:261
static bool ha_search_and_delete_if_found(hash_table_t *table, uint64_t hash_value, const rec_t *data)
Looks for an element when we know the pointer to the data and deletes it from the hash table if found...
static const rec_t * ha_search_and_get_data(hash_table_t *table, uint64_t hash_value)
Looks for an element in a hash table.
hash_table_t * ib_create(size_t n, latch_id_t id, size_t n_sync_obj, uint32_t type)
Creates a hash table with at least n array cells.
Definition: ha0ha.cc:44
bool ha_insert_for_hash_func(hash_table_t *table, uint64_t hash_value, buf_block_t *block, const rec_t *data)
Inserts an entry into a hash table.
Definition: ha0ha.cc:115
bool ha_search_and_update_if_found_func(hash_table_t *table, uint64_t hash_value, const rec_t *data, buf_block_t *new_block, const rec_t *new_data)
Looks for an element when we know the pointer to the data and updates the pointer to data if found.
Definition: ha0ha.cc:224
static bool ha_search_and_update_if_found(hash_table_t *table, uint64_t hash_value, const rec_t *data, buf_block_t *new_block, const rec_t *new_data)
Looks for an element when we know the pointer to the data and updates the pointer to data if found.
Definition: ha0ha.h:72
void ha_clear(hash_table_t *table)
Empties a hash table and frees the memory heaps.
Definition: ha0ha.cc:74
bool ha_validate(hash_table_t *table, uint64_t start_index, uint64_t end_index)
Validates a given range of the cells in hash table.
Definition: ha0ha.cc:289
The hash table with external chains.
The simple hash table utility.
const std::string FILE("FILE")
byte page_t
Type of the index page.
Definition: page0types.h:152
Record manager global types.
byte rec_t
Definition: rem0types.h:41
required string type
Definition: replication_group_member_actions.proto:34
#define MONITOR_ATOMIC_INC(monitor)
Atomically increment a monitor counter.
Definition: srv0mon.h:681
@ MONITOR_ADAPTIVE_HASH_ROW_ADDED
Definition: srv0mon.h:430
The buffer control block structure.
Definition: buf0buf.h:1690
The hash table external chain node.
Definition: ha0ha.h:164
ha_node_t * next
next chain node or NULL if none
Definition: ha0ha.h:168
const rec_t * data
pointer to the data
Definition: ha0ha.h:174
buf_block_t * block
buffer block containing the data, or NULL
Definition: ha0ha.h:171
uint64_t hash_value
hash value for the data
Definition: ha0ha.h:166
latch_id_t
Each latch has an ID.
Definition: sync0types.h:344
Version control for database, common definitions, and include files.
#define IF_AHI_DEBUG(...)
Definition: univ.i:692
int n
Definition: xcom_base.cc:509