ctype_utf8.test:

Added a test case for bug #11484.
hp_hash.c:
  Fixed bug #11484.
  This bug in the function hp_rec_key_cmp resulted in wrong
  comparison of varchar multibyte keys if the bytes after 
  string values happened to be different. This caused wrong
  results for queries returning DISTINCT varchar fields in
  multibyte charsets (e.g. in utf8).


heap/hp_hash.c:
  Fixed bug #11484.
  This bug in the function hp_rec_key_cmp resulted in wrong
  comparison of varchar multibyte keys if the bytes after 
  string values happened to be different. This caused wrong
  results for queries returning DISTINCT varchar fields in
  multibyte charsets (e.g. in utf8).
mysql-test/t/ctype_utf8.test:
  Added a test case for bug #11484.
This commit is contained in:
unknown 2005-07-08 02:12:31 -07:00
commit 47c921e364
3 changed files with 34 additions and 2 deletions

View file

@ -552,9 +552,9 @@ int hp_rec_key_cmp(HP_KEYDEF *keydef, const byte *rec1, const byte *rec2,
if (cs->mbmaxlen > 1)
{
uint char_length= seg->length / cs->mbmaxlen;
char_length1= my_charpos(cs, pos1, pos1 + char_length1, char_length);
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_length);
char_length2= my_charpos(cs, pos2, pos2 + char_length2, char_length2);
set_if_smaller(char_length2, seg->length);
}