Commit 7762b38d authored by unknown's avatar unknown

fix for HEAP rb-tree indexes and BIG_TABLES problem (serg: thanks for discovery)

parent 6e1cdfb6
......@@ -91,7 +91,7 @@ void *tree_search_edge(TREE *tree, TREE_ELEMENT **parents,
TREE_ELEMENT ***last_pos, int child_offs);
void *tree_search_next(TREE *tree, TREE_ELEMENT ***last_pos, int l_offs,
int r_offs);
uint tree_record_pos(TREE *tree, const void *key,
ha_rows tree_record_pos(TREE *tree, const void *key,
enum ha_rkey_function search_flag, void *custom_arg);
#ifdef __cplusplus
}
......
......@@ -439,14 +439,14 @@ void *tree_search_next(TREE *tree, TREE_ELEMENT ***last_pos, int l_offs,
Expected that tree is fully balanced
(each path from root to leaf has the same length)
*/
uint tree_record_pos(TREE *tree, const void *key,
ha_rows tree_record_pos(TREE *tree, const void *key,
enum ha_rkey_function flag, void *custom_arg)
{
int cmp;
TREE_ELEMENT *element= tree->root;
double left= 1;
double right= tree->elements_in_tree;
uint last_equal_pos= HA_POS_ERROR;
ha_rows last_equal_pos= HA_POS_ERROR;
while (element != &tree->null_element)
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment