Commit c0d72084 authored by ram@mysql.r18.ru's avatar ram@mysql.r18.ru

Bug fix: we should not use info->buff for searching after we found last key in page

parent e9244b21
...@@ -115,7 +115,6 @@ static int rtree_find_req(MI_INFO *info, MI_KEYDEF *keyinfo, uint search_flag, u ...@@ -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 ...@@ -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, ...@@ -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;
......
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