1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Bug fix: we should set have_rtree value in case of table reopen.

Code cleanup.
This commit is contained in:
ram@mysql.r18.ru
2003-02-19 21:14:50 +04:00
parent e1428907b2
commit e5418e04c6
3 changed files with 11 additions and 7 deletions

View File

@@ -53,7 +53,7 @@ static int rtree_find_req(MI_INFO *info, MI_KEYDEF *keyinfo, uint search_flag, u
int res;
uchar *page_buf;
int k_len;
int *saved_key = (int*)(info->rtree_recursion_state + level * sizeof(int));
uint *saved_key = (uint*) (info->rtree_recursion_state) + level;
if (!(page_buf = (uchar*)my_alloca((uint)keyinfo->block_length)))
{
@@ -114,7 +114,7 @@ static int rtree_find_req(MI_INFO *info, MI_KEYDEF *keyinfo, uint search_flag, u
uchar *after_key = rt_PAGE_NEXT_KEY(k, k_len, nod_flag);
info->lastpos = _mi_dpos(info, 0, after_key);
info->lastkey_length = k_len + info->s->base.rec_reflength;
memcpy(info->lastkey, k, k_len + info->s->base.rec_reflength);
memcpy(info->lastkey, k, info->lastkey_length);
info->rtree_recursion_depth = level;
*saved_key = k - page_buf;
@@ -205,7 +205,7 @@ int rtree_find_next(MI_INFO *info, uint keynr, uint search_flag)
info->lastpos = _mi_dpos(info, 0, after_key);
info->lastkey_length = k_len + info->s->base.rec_reflength;
memcpy(info->lastkey, key, k_len + info->s->base.rec_reflength);
memcpy(info->lastkey, key, info->lastkey_length);
*(int*)info->int_keypos = key - info->buff;
if (after_key >= info->int_maxpos)
@@ -246,7 +246,7 @@ static int rtree_get_req(MI_INFO *info, MI_KEYDEF *keyinfo, uint key_length,
int res;
uchar *page_buf;
uint k_len;
int *saved_key = (int*)(info->rtree_recursion_state + level*sizeof(int));
uint *saved_key = (uint*) (info->rtree_recursion_state) + level;
if (!(page_buf = (uchar*)my_alloca((uint)keyinfo->block_length)))
return -1;
@@ -297,7 +297,7 @@ static int rtree_get_req(MI_INFO *info, MI_KEYDEF *keyinfo, uint key_length,
uchar *after_key = rt_PAGE_NEXT_KEY(k, k_len, nod_flag);
info->lastpos = _mi_dpos(info, 0, after_key);
info->lastkey_length = k_len + info->s->base.rec_reflength;
memcpy(info->lastkey, k, k_len + info->s->base.rec_reflength);
memcpy(info->lastkey, k, info->lastkey_length);
info->rtree_recursion_depth = level;
*saved_key = k - page_buf;