Commit c9c52df8 authored by igor@rurik.mysql.com's avatar igor@rurik.mysql.com

Merge rurik.mysql.com:/home/igor/dev/mysql-4.1-0

into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
parents db9d5080 5514c948
...@@ -107,8 +107,7 @@ uint _mi_make_key(register MI_INFO *info, uint keynr, uchar *key, ...@@ -107,8 +107,7 @@ uint _mi_make_key(register MI_INFO *info, uint keynr, uchar *key,
} }
if (keyseg->flag & HA_SPACE_PACK) if (keyseg->flag & HA_SPACE_PACK)
{ {
FIX_LENGTH(cs, pos, length, char_length); end= pos + length;
end= pos + char_length;
if (type != HA_KEYTYPE_NUM) if (type != HA_KEYTYPE_NUM)
{ {
while (end > pos && end[-1] == ' ') while (end > pos && end[-1] == ' ')
...@@ -119,7 +118,8 @@ uint _mi_make_key(register MI_INFO *info, uint keynr, uchar *key, ...@@ -119,7 +118,8 @@ uint _mi_make_key(register MI_INFO *info, uint keynr, uchar *key,
while (pos < end && pos[0] == ' ') while (pos < end && pos[0] == ' ')
pos++; pos++;
} }
char_length= (uint) (end - pos); length=(uint) (end-pos);
FIX_LENGTH(cs, pos, length, char_length);
store_key_length_inc(key,char_length); store_key_length_inc(key,char_length);
memcpy((byte*) key,(byte*) pos,(size_t) char_length); memcpy((byte*) key,(byte*) pos,(size_t) char_length);
key+=char_length; key+=char_length;
......
...@@ -68,7 +68,7 @@ int mi_rnext_same(MI_INFO *info, byte *buf) ...@@ -68,7 +68,7 @@ int mi_rnext_same(MI_INFO *info, byte *buf)
info->lastkey_length,SEARCH_BIGGER, info->lastkey_length,SEARCH_BIGGER,
info->s->state.key_root[inx]))) info->s->state.key_root[inx])))
break; break;
if (ha_key_cmp(keyinfo->seg,info->lastkey2,info->lastkey, if (ha_key_cmp(keyinfo->seg, info->lastkey, info->lastkey2,
info->last_rkey_length, SEARCH_FIND, &not_used)) info->last_rkey_length, SEARCH_FIND, &not_used))
{ {
error=1; error=1;
......
...@@ -901,4 +901,7 @@ insert into t1 values (2,'Durban'); ...@@ -901,4 +901,7 @@ insert into t1 values (2,'Durban');
select * from t1 where city = 'Durban'; select * from t1 where city = 'Durban';
id city id city
2 Durban 2 Durban
select * from t1 where city = 'Durban ';
id city
2 Durban
drop table t1; drop table t1;
...@@ -744,4 +744,5 @@ create table t1 ( ...@@ -744,4 +744,5 @@ create table t1 (
insert into t1 values (1,'Durban North'); insert into t1 values (1,'Durban North');
insert into t1 values (2,'Durban'); insert into t1 values (2,'Durban');
select * from t1 where city = 'Durban'; select * from t1 where city = 'Durban';
select * from t1 where city = 'Durban ';
drop table t1; drop table t1;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment