diff options
author | unknown <ram@mysql.r18.ru> | 2003-02-19 21:14:50 +0400 |
---|---|---|
committer | unknown <ram@mysql.r18.ru> | 2003-02-19 21:14:50 +0400 |
commit | 75d1d877b3585346e9202e78c6126bcea3cded96 (patch) | |
tree | 7a33696a40357fbbb5d14a020b3a3919830880c4 /myisam/rt_index.c | |
parent | 19f00e0abe39dad5475e466aeeb49347ef10550f (diff) | |
download | mariadb-git-75d1d877b3585346e9202e78c6126bcea3cded96.tar.gz |
Bug fix: we should set have_rtree value in case of table reopen.
Code cleanup.
myisam/mi_open.c:
Bug fix: we should set have_rtree value in case of table reopen.
myisam/myisamdef.h:
code cleanup
myisam/rt_index.c:
code cleanup
Diffstat (limited to 'myisam/rt_index.c')
-rw-r--r-- | myisam/rt_index.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/myisam/rt_index.c b/myisam/rt_index.c index 567d91c74be..ac436245c0f 100644 --- a/myisam/rt_index.c +++ b/myisam/rt_index.c @@ -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; |