summaryrefslogtreecommitdiff
path: root/storage/heap
diff options
context:
space:
mode:
authortulin@dl145c.mysql.com <>2005-09-12 14:22:06 +0200
committertulin@dl145c.mysql.com <>2005-09-12 14:22:06 +0200
commita29132cdc5f6fcfbf4a648774ff6b905c411d6b8 (patch)
treeafba2d45e117fc50e4bf3d7191e8a92db5432faa /storage/heap
parentdc287e7caa187b55792cd1a13b02248b1449f614 (diff)
parente382a0fb12acc20f0090371e7ee7bbd8fe57e1b9 (diff)
downloadmariadb-git-a29132cdc5f6fcfbf4a648774ff6b905c411d6b8.tar.gz
Merge
Diffstat (limited to 'storage/heap')
-rw-r--r--storage/heap/hp_hash.c10
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,