diff --git a/myisam/rt_index.c b/myisam/rt_index.c index ad0d593ee0a..567d91c74be 100644 --- a/myisam/rt_index.c +++ b/myisam/rt_index.c @@ -785,7 +785,7 @@ int rtree_delete(MI_INFO *info, uint keynr, uchar *key, uint key_length) goto err1; } if (ReinsertList.pages) - free(ReinsertList.pages); + my_free((byte*) ReinsertList.pages, MYF(0)); /* check for redundant root (not leaf, 1 child) and eliminate */ if ((old_root = info->s->state.key_root[keynr]) == HA_OFFSET_ERROR) diff --git a/myisam/rt_key.c b/myisam/rt_key.c index 0980206a248..7cf24c20db7 100644 --- a/myisam/rt_key.c +++ b/myisam/rt_key.c @@ -69,7 +69,7 @@ int rtree_delete_key(MI_INFO *info, uchar *page_buf, uchar *key, uchar *key_start; key_start= key - nod_flag; - if (nod_flag) + if (!nod_flag) key_length += info->s->base.rec_reflength; memmove(key_start, key + key_length, page_size - key_length - diff --git a/myisam/rt_test.c b/myisam/rt_test.c index 65613bad47f..f5fd2018f01 100644 --- a/myisam/rt_test.c +++ b/myisam/rt_test.c @@ -55,7 +55,7 @@ int run_test(const char *filename) int key_type=HA_KEYTYPE_DOUBLE; int key_length=8; int null_fields=0; - int nrecords=30; + int nrecords=300; int rec_length=0; int uniques=0; int i;