From 45f7a939149e457403935db8c6b131baf6193f36 Mon Sep 17 00:00:00 2001 From: Guilhem Bichot Date: Mon, 26 Jan 2009 22:14:43 +0100 Subject: [PATCH 1/2] Putting back some fixes lost in a colleague's merge a while back; that was about problems when the R-tree index is not the first index. --- storage/maria/ma_rt_index.c | 2 +- storage/myisam/rt_index.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/storage/maria/ma_rt_index.c b/storage/maria/ma_rt_index.c index ccdddf5906d..15202c335b2 100644 --- a/storage/maria/ma_rt_index.c +++ b/storage/maria/ma_rt_index.c @@ -433,7 +433,7 @@ int maria_rtree_get_first(MARIA_HA *info, uint keynr, uint key_length) info->maria_rtree_recursion_depth= -1; info->keyread_buff_used= 1; - return maria_rtree_get_req(info, &keyinfo[keynr], key_length, root, 0); + return maria_rtree_get_req(info, keyinfo, key_length, root, 0); } diff --git a/storage/myisam/rt_index.c b/storage/myisam/rt_index.c index b1375d99bd0..822983b718c 100644 --- a/storage/myisam/rt_index.c +++ b/storage/myisam/rt_index.c @@ -378,6 +378,7 @@ err1: int rtree_get_first(MI_INFO *info, uint keynr, uint key_length) { my_off_t root; + MI_KEYDEF *keyinfo = info->s->keyinfo + keynr; if ((root = info->s->state.key_root[keynr]) == HA_OFFSET_ERROR) { @@ -388,7 +389,7 @@ int rtree_get_first(MI_INFO *info, uint keynr, uint key_length) info->rtree_recursion_depth = -1; info->buff_used = 1; - return rtree_get_req(info, info->s->keyinfo, key_length, root, 0); + return rtree_get_req(info, keyinfo, key_length, root, 0); } From 1cd1ae6d4bfb5dcbb84471d421eeb846437a6a8c Mon Sep 17 00:00:00 2001 From: Guilhem Bichot Date: Mon, 26 Jan 2009 22:19:13 +0100 Subject: [PATCH 2/2] In ctype_utf8.test, use a column large enough to provoke a failure in Maria too, not only in MyISAM (this is to ease ./mtr --mysqld=--default-storage-engine=maria) --- mysql-test/r/ctype_utf8.result | 2 +- mysql-test/t/ctype_utf8.test | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/ctype_utf8.result b/mysql-test/r/ctype_utf8.result index 6f4ae965ca0..4cfd06149f1 100644 --- a/mysql-test/r/ctype_utf8.result +++ b/mysql-test/r/ctype_utf8.result @@ -240,7 +240,7 @@ select hex(s1) from t1; hex(s1) 41 drop table t1; -create table t1 (a text character set utf8, primary key(a(360))); +create table t1 (a text character set utf8, primary key(a(371))); ERROR 42000: Specified key was too long; max key length is 1000 bytes CREATE TABLE t1 ( a varchar(10) ) CHARACTER SET utf8; INSERT INTO t1 VALUES ( 'test' ); diff --git a/mysql-test/t/ctype_utf8.test b/mysql-test/t/ctype_utf8.test index f0c769251cf..bb64319f1e4 100644 --- a/mysql-test/t/ctype_utf8.test +++ b/mysql-test/t/ctype_utf8.test @@ -164,7 +164,7 @@ drop table t1; # UTF8 breaks primary keys for cols > 333 characters # --error 1071 -create table t1 (a text character set utf8, primary key(a(360))); +create table t1 (a text character set utf8, primary key(a(371))); #