InnoDB Plugin
1.0
|
Macros | |
#define | ha_node_set_data(n, b, d) ha_node_set_data_func(n,b,d) |
Functions | |
UNIV_INTERN void | ha_delete_hash_node (hash_table_t *table, ha_node_t *del_node) |
UNIV_INLINE const rec_t * | ha_node_get_data (const ha_node_t *node) |
UNIV_INLINE void | ha_node_set_data_func (ha_node_t *node, buf_block_t *block, const rec_t *data) |
UNIV_INLINE ha_node_t * | ha_chain_get_next (ha_node_t *node) |
UNIV_INLINE ha_node_t * | ha_chain_get_first (hash_table_t *table, ulint fold) |
UNIV_INLINE void | hash_assert_can_modify (hash_table_t *table, ulint fold) |
UNIV_INLINE void | hash_assert_can_search (hash_table_t *table, ulint fold) |
UNIV_INLINE const rec_t * | ha_search_and_get_data (hash_table_t *table, ulint fold) |
UNIV_INLINE ha_node_t * | ha_search_with_data (hash_table_t *table, ulint fold, const rec_t *data) |
UNIV_INLINE ibool | ha_search_and_delete_if_found (hash_table_t *table, ulint fold, const rec_t *data) |
The hash table with external chains
Created 8/18/1994 Heikki Tuuri
#define ha_node_set_data | ( | n, | |
b, | |||
d | |||
) | ha_node_set_data_func(n,b,d) |
Sets hash node data.
n | in: hash chain node |
b | in: buffer block containing the data |
d | in: pointer to the data |
UNIV_INLINE ha_node_t* ha_chain_get_first | ( | hash_table_t * | table, |
ulint | fold | ||
) |
Gets the first node in a hash chain.
table | in: hash table |
fold | in: fold value determining the chain |
Gets the next node in a hash chain.
node | in: hash chain node |
UNIV_INTERN void ha_delete_hash_node | ( | hash_table_t * | table, |
ha_node_t * | del_node | ||
) |
Deletes a hash node. in: node to be deleted
table | in: hash table |
UNIV_INLINE const rec_t* ha_node_get_data | ( | const ha_node_t * | node | ) |
Gets a hash node data.
node | in: hash chain node |
UNIV_INLINE void ha_node_set_data_func | ( | ha_node_t * | node, |
buf_block_t * | block, | ||
const rec_t * | data | ||
) |
Sets hash node data.
node | in: hash chain node |
block | in: buffer block containing the data |
data | in: pointer to the data |
UNIV_INLINE ibool ha_search_and_delete_if_found | ( | hash_table_t * | table, |
ulint | fold, | ||
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.
table | in: hash table |
fold | in: folded value of the searched data |
data | in: pointer to the data |
UNIV_INLINE const rec_t* ha_search_and_get_data | ( | hash_table_t * | table, |
ulint | fold | ||
) |
Looks for an element in a hash table.
table | in: hash table |
fold | in: folded value of the searched data |
UNIV_INLINE ha_node_t* ha_search_with_data | ( | hash_table_t * | table, |
ulint | fold, | ||
const rec_t * | data | ||
) |
Looks for an element when we know the pointer to the data.
table | in: hash table |
fold | in: folded value of the searched data |
data | in: pointer to the data |
UNIV_INLINE void hash_assert_can_modify | ( | hash_table_t * | table, |
ulint | fold | ||
) |
Assert that the synchronization object in a hash operation involving possible change in the hash table is held. Note that in case of mutexes we assert that mutex is owned while in case of rw-locks we assert that it is held in exclusive mode.
table | in: hash table |
fold | in: fold value |
UNIV_INLINE void hash_assert_can_search | ( | hash_table_t * | table, |
ulint | fold | ||
) |
Assert that the synchronization object in a hash search operation is held. Note that in case of mutexes we assert that mutex is owned while in case of rw-locks we assert that it is held either in x-mode or s-mode.
table | in: hash table |
fold | in: fold value |