diff options
author | tulin@dl145c.mysql.com <> | 2005-09-12 14:22:06 +0200 |
---|---|---|
committer | tulin@dl145c.mysql.com <> | 2005-09-12 14:22:06 +0200 |
commit | a29132cdc5f6fcfbf4a648774ff6b905c411d6b8 (patch) | |
tree | afba2d45e117fc50e4bf3d7191e8a92db5432faa /storage/heap | |
parent | dc287e7caa187b55792cd1a13b02248b1449f614 (diff) | |
parent | e382a0fb12acc20f0090371e7ee7bbd8fe57e1b9 (diff) | |
download | mariadb-git-a29132cdc5f6fcfbf4a648774ff6b905c411d6b8.tar.gz |
Merge
Diffstat (limited to 'storage/heap')
-rw-r--r-- | storage/heap/hp_hash.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/storage/heap/hp_hash.c b/storage/heap/hp_hash.c index d643f776731..77f3cf6d80b 100644 --- a/storage/heap/hp_hash.c +++ b/storage/heap/hp_hash.c @@ -551,11 +551,13 @@ int hp_rec_key_cmp(HP_KEYDEF *keydef, const byte *rec1, const byte *rec2, } if (cs->mbmaxlen > 1) { + uint safe_length1= char_length1; + uint safe_length2= char_length2; uint char_length= seg->length / cs->mbmaxlen; - char_length1= my_charpos(cs, pos1, pos1 + char_length1, char_length1); - set_if_smaller(char_length1, seg->length); - char_length2= my_charpos(cs, pos2, pos2 + char_length2, char_length2); - set_if_smaller(char_length2, seg->length); + char_length1= my_charpos(cs, pos1, pos1 + char_length1, char_length); + set_if_smaller(char_length1, safe_length1); + char_length2= my_charpos(cs, pos2, pos2 + char_length2, char_length); + set_if_smaller(char_length2, safe_length2); } if (cs->coll->strnncollsp(seg->charset, |