Bug fix: we should not use info->buff for searching after we found last key in page
This commit is contained in:
parent
23544ee8bf
commit
596dc3857a
@ -115,7 +115,6 @@ static int rtree_find_req(MI_INFO *info, MI_KEYDEF *keyinfo, uint search_flag, u
|
|||||||
info->lastpos = _mi_dpos(info, 0, after_key);
|
info->lastpos = _mi_dpos(info, 0, after_key);
|
||||||
info->lastkey_length = k_len + info->s->base.rec_reflength;
|
info->lastkey_length = k_len + info->s->base.rec_reflength;
|
||||||
memcpy(info->lastkey, k, info->lastkey_length);
|
memcpy(info->lastkey, k, info->lastkey_length);
|
||||||
|
|
||||||
info->rtree_recursion_depth = level;
|
info->rtree_recursion_depth = level;
|
||||||
*saved_key = k - page_buf;
|
*saved_key = k - page_buf;
|
||||||
|
|
||||||
@ -126,6 +125,10 @@ static int rtree_find_req(MI_INFO *info, MI_KEYDEF *keyinfo, uint search_flag, u
|
|||||||
info->int_maxpos = rt_PAGE_END(info->buff);
|
info->int_maxpos = rt_PAGE_END(info->buff);
|
||||||
info->buff_used = 0;
|
info->buff_used = 0;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
info->buff_used = 1;
|
||||||
|
}
|
||||||
|
|
||||||
res = 0;
|
res = 0;
|
||||||
goto ok;
|
goto ok;
|
||||||
@ -309,6 +312,10 @@ static int rtree_get_req(MI_INFO *info, MI_KEYDEF *keyinfo, uint key_length,
|
|||||||
info->int_maxpos = rt_PAGE_END(info->buff);
|
info->int_maxpos = rt_PAGE_END(info->buff);
|
||||||
info->buff_used = 0;
|
info->buff_used = 0;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
info->buff_used = 1;
|
||||||
|
}
|
||||||
|
|
||||||
res = 0;
|
res = 0;
|
||||||
goto ok;
|
goto ok;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user