41#define HP_MIN_RECORDS_IN_BLOCK 16
42#define HP_MAX_RECORDS_IN_BLOCK 8192
48#define test_active(info) \
49 if (!(info->update & HA_STATE_AKTIV)) { \
50 set_my_errno(HA_ERR_NO_ACTIVE_RECORD); \
53#define hp_find_hash(A, B) ((HASH_INFO *)hp_find_block((A), (B)))
56#define hp_find_record(info, pos) \
57 (info)->current_ptr = hp_find_block(&(info)->s->block, pos)
121#ifdef HAVE_PSI_INTERFACE
unsigned int PSI_memory_key
Instrumented memory key.
Definition: psi_memory_bits.h:49
uchar * hp_free_level(HP_BLOCK *block, uint level, HP_PTRS *pos, uchar *last_pos)
Definition: hp_block.cc:132
LIST * heap_share_list
Definition: heapdef.h:46
uint64 hp_hashnr(HP_KEYDEF *keyinfo, const uchar *key)
Definition: hp_hash.cc:228
void hp_make_key(HP_KEYDEF *keydef, uchar *key, const uchar *rec)
Definition: hp_hash.cc:527
uint hp_rb_pack_key(const HP_KEYDEF *keydef, uchar *key, const uchar *old, key_part_map keypart_map)
Definition: hp_hash.cc:630
int hp_write_key(HP_INFO *info, HP_KEYDEF *keyinfo, const uchar *record, uchar *recpos)
Definition: hp_write.cc:204
int hp_rec_key_cmp(HP_KEYDEF *keydef, const uchar *rec1, const uchar *rec2)
Definition: hp_hash.cc:367
uint hp_rb_var_key_length(HP_KEYDEF *keydef, const uchar *key)
Definition: hp_hash.cc:706
uint hp_rb_key_length(HP_KEYDEF *keydef, const uchar *key)
Definition: hp_hash.cc:691
uint hp_rb_make_key(HP_KEYDEF *keydef, uchar *key, const uchar *rec, uchar *recpos)
Definition: hp_hash.cc:558
LIST * heap_open_list
Definition: hp_static.cc:37
PSI_memory_key hp_key_memory_HP_KEYDEF
Definition: hp_static.cc:42
int hp_close(HP_INFO *info)
Definition: hp_close.cc:42
PSI_memory_key hp_key_memory_HP_PTRS
Definition: hp_static.cc:41
uchar * hp_search_next(HP_INFO *info, HP_KEYDEF *keyinfo, const uchar *key, HASH_INFO *pos)
Definition: hp_hash.cc:176
int hp_rb_write_key(HP_INFO *info, HP_KEYDEF *keyinfo, const uchar *record, uchar *recpos)
Definition: hp_write.cc:108
uint hp_rb_null_key_length(HP_KEYDEF *keydef, const uchar *key)
Definition: hp_hash.cc:695
uchar * hp_search(HP_INFO *info, HP_KEYDEF *keyinfo, const uchar *key, uint nextflag)
Definition: hp_hash.cc:107
void init_heap_psi_keys()
Definition: hp_static.cc:52
mysql_mutex_t THR_LOCK_heap
Definition: my_thr_init.cc:74
uint64 hp_mask(uint64 hashnr, uint64 buffmax, uint64 maxlength)
Definition: hp_hash.cc:205
int hp_rb_delete_key(HP_INFO *info, HP_KEYDEF *keyinfo, const uchar *record, uchar *recpos, int flag)
Definition: hp_delete.cc:76
int hp_rectest(HP_INFO *info, const uchar *old)
Definition: _rectest.cc:31
void hp_free(HP_SHARE *info)
Definition: hp_create.cc:312
uchar * hp_find_block(HP_BLOCK *info, ulong pos)
Definition: hp_block.cc:42
int hp_get_new_block(HP_BLOCK *info, size_t *alloc_length)
Definition: hp_block.cc:68
uint64 hp_rec_hashnr(HP_KEYDEF *keyinfo, const uchar *rec)
Definition: hp_hash.cc:295
bool hp_if_null_in_key(HP_KEYDEF *keyinfo, const uchar *record)
Definition: hp_hash.cc:728
int hp_key_cmp(HP_KEYDEF *keydef, const uchar *rec, const uchar *key)
Definition: hp_hash.cc:445
PSI_memory_key hp_key_memory_HP_SHARE
Definition: hp_static.cc:39
void hp_clear(HP_SHARE *info)
Definition: hp_clear.cc:38
HP_SHARE * hp_find_named_heap(const char *name)
Definition: hp_open.cc:137
void hp_clear_keys(HP_SHARE *info)
Definition: hp_clear.cc:83
int hp_delete_key(HP_INFO *info, HP_KEYDEF *keyinfo, const uchar *record, uchar *recpos, int flag)
Definition: hp_delete.cc:110
HASH_INFO * _heap_find_hash(HP_BLOCK *block, ulong pos)
void hp_movelink(HASH_INFO *pos, HASH_INFO *next_link, HASH_INFO *newlink)
Definition: hp_hash.cc:217
PSI_memory_key hp_key_memory_HP_INFO
Definition: hp_static.cc:40
static int flag
Definition: hp_test1.cc:40
This file includes constants used by all storage engines.
ulong key_part_map
Definition: my_base.h:1008
unsigned char uchar
Definition: my_inttypes.h:52
uint64_t uint64
Definition: my_inttypes.h:69
Common header for many mysys elements.
Defines to make different thread packages compatible.
static int record
Definition: mysqltest.cc:195
required string key
Definition: replication_asynchronous_connection_failover.proto:60
case opt name
Definition: sslopt-case.h:29
HASH_INFO * next_key
Definition: heapdef.h:60
ulong hash
Definition: heapdef.h:62
uchar * ptr_to_rec
Definition: heapdef.h:61
Definition: my_compare.h:60
uint key_length
Definition: heapdef.h:67
uint search_flag
Definition: heapdef.h:68
HA_KEYSEG * keyseg
Definition: heapdef.h:66
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:50