diff options
author | bar@mysql.com <> | 2004-10-14 14:14:50 +0500 |
---|---|---|
committer | bar@mysql.com <> | 2004-10-14 14:14:50 +0500 |
commit | 2f8f0f2eb28da31f728639623fc9292e04b79ba9 (patch) | |
tree | e6dd8da123b6a0004ace0158a653a4df8170f35d /sql/field.cc | |
parent | 9b2cc44e74ba85752f0b746d16e8e9c9bc120a11 (diff) | |
download | mariadb-git-2f8f0f2eb28da31f728639623fc9292e04b79ba9.tar.gz |
Bug #6043 erratic searching for diacriticals in indexed MyISAM UTF-8 table
Diffstat (limited to 'sql/field.cc')
-rw-r--r-- | sql/field.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sql/field.cc b/sql/field.cc index ec3bd72878d..3dc1375dff3 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -5000,10 +5000,10 @@ String *Field_blob::val_str(String *val_buffer __attribute__((unused)), int Field_blob::cmp(const char *a,uint32 a_length, const char *b, uint32 b_length) { - int diff=my_strnncoll(field_charset, - (const uchar*)a,min(a_length,b_length), - (const uchar*)b,min(a_length,b_length)); - return diff ? diff : (int) (a_length - b_length); + return field_charset->coll->strnncoll(field_charset, + (const uchar*)a, a_length, + (const uchar*)b, b_length, + 0); } @@ -5087,8 +5087,8 @@ void Field_blob::get_key_image(char *buff,uint length, get_ptr(&blob); uint char_length= length / cs->mbmaxlen; - char_length= my_charpos(cs, blob, blob + length, char_length); - set_if_smaller(length, char_length); + char_length= my_charpos(cs, blob, blob + blob_length, char_length); + set_if_smaller(blob_length, char_length); if ((uint32) length > blob_length) { |