summaryrefslogtreecommitdiff
path: root/myisam/rt_split.c
diff options
context:
space:
mode:
authorunknown <istruewing@chilla.local>2007-03-08 10:10:17 +0100
committerunknown <istruewing@chilla.local>2007-03-08 10:10:17 +0100
commit6e969d2b70df86534262c5c8ae75f5a22f97e1f7 (patch)
tree37fad2c1b98c25e66c459e403ace73d13fcfa5f9 /myisam/rt_split.c
parent446672d42f17b90428086e8053995c7fc5f8a24f (diff)
parent548a39a104e7abeff3b3429938085b25d2a28c70 (diff)
downloadmariadb-git-6e969d2b70df86534262c5c8ae75f5a22f97e1f7.tar.gz
Merge chilla.local:/home/mydev/mysql-4.1-bug25673
into chilla.local:/home/mydev/mysql-5.0-bug25673 myisam/rt_index.c: Auto merged myisam/rt_key.c: Auto merged mysql-test/t/gis-rtree.test: Auto merged myisam/rt_split.c: Bug#25673 - spatial index corruption, error 126 incorrect key file for table Manual merge from 4.1 mysql-test/r/gis-rtree.result: Bug#25673 - spatial index corruption, error 126 incorrect key file for table Manual merge from 4.1
Diffstat (limited to 'myisam/rt_split.c')
-rw-r--r--myisam/rt_split.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/myisam/rt_split.c b/myisam/rt_split.c
index 9f25ee608d8..0f6dc872958 100644
--- a/myisam/rt_split.c
+++ b/myisam/rt_split.c
@@ -264,13 +264,15 @@ int rtree_split_page(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page, uchar *key,
uint full_length= key_length + (nod_flag ? nod_flag :
info->s->base.rec_reflength);
int max_keys= (mi_getint(page)-2) / (full_length);
+ DBUG_ENTER("rtree_split_page");
+ DBUG_PRINT("rtree", ("splitting block"));
n_dim = keyinfo->keysegs / 2;
if (!(coord_buf= (double*) my_alloca(n_dim * 2 * sizeof(double) *
(max_keys + 1 + 4) +
sizeof(SplitStruct) * (max_keys + 1))))
- return -1;
+ DBUG_RETURN(-1); /* purecov: inspected */
task= (SplitStruct *)(coord_buf + n_dim * 2 * (max_keys + 1 + 4));
@@ -341,12 +343,13 @@ int rtree_split_page(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page, uchar *key,
else
err_code= _mi_write_keypage(info, keyinfo, *new_page_offs,
DFLT_INIT_HITS, new_page);
+ DBUG_PRINT("rtree", ("split new block: %lu", (ulong) *new_page_offs));
my_afree((byte*)new_page);
split_err:
my_afree((byte*) coord_buf);
- return err_code;
+ DBUG_RETURN(err_code);
}
#endif /*HAVE_RTREE_KEYS*/