summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <bar@mysql.com>2004-10-14 14:14:50 +0500
committerunknown <bar@mysql.com>2004-10-14 14:14:50 +0500
commit81914f489ea2d9b838acdb93318c8d3549e03d55 (patch)
treee6dd8da123b6a0004ace0158a653a4df8170f35d /sql
parent761ae02ca77722f34744a912315d52a0c0f7fca6 (diff)
downloadmariadb-git-81914f489ea2d9b838acdb93318c8d3549e03d55.tar.gz
Bug #6043 erratic searching for diacriticals in indexed MyISAM UTF-8 table
Diffstat (limited to 'sql')
-rw-r--r--sql/field.cc12
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)
{