diff --git a/myisam/rt_index.c b/myisam/rt_index.c index ad0d593ee0ae36ec64691bf63347cb72867ac4e1..567d91c74be5b6379ded411c1d151f75c191ccaa 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 0980206a2487ccda8281581faa021307082ac978..7cf24c20db780761612bd31f1093bc606bc30067 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 65613bad47fe5c5f8609a0e2812f3db9bfe0cc74..f5fd2018f010207c1d331c6f90ce64dccf8fe99c 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;