49
49
/* Place for hash_keys */
50
50
DYNAMIC_ARRAY array;
51
51
hash_get_key get_key;
53
53
const CHARSET_INFO *charset;
56
56
/* A search iterator state */
57
57
typedef uint32_t HASH_SEARCH_STATE;
60
_hash_init(HASH *hash,uint32_t growth_size, const CHARSET_INFO * const charset,
61
uint32_t size, size_t key_offset, size_t key_length,
63
hash_free_key free_element, uint32_t flags);
59
64
#define hash_init(A,B,C,D,E,F,G,H) _hash_init(A,0,B,C,D,E,F,G,H)
60
65
#define hash_init2(A,B,C,D,E,F,G,H,I) _hash_init(A,B,C,D,E,F,G,H,I)
61
bool _hash_init(HASH *hash, uint32_t growth_size,
62
const CHARSET_INFO * const charset,
63
uint32_t default_array_elements, size_t key_offset,
64
size_t key_length, hash_get_key get_key,
65
void (*free_element)(void*), uint32_t flags);
66
66
void hash_free(HASH *tree);
67
67
void my_hash_reset(HASH *hash);
68
68
unsigned char *hash_element(HASH *hash,uint32_t idx);