summaryrefslogtreecommitdiff
path: root/sql/field.cc
diff options
context:
space:
mode:
authorbar@mysql.com <>2004-10-14 14:14:50 +0500
committerbar@mysql.com <>2004-10-14 14:14:50 +0500
commit2f8f0f2eb28da31f728639623fc9292e04b79ba9 (patch)
treee6dd8da123b6a0004ace0158a653a4df8170f35d /sql/field.cc
parent9b2cc44e74ba85752f0b746d16e8e9c9bc120a11 (diff)
downloadmariadb-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.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)
{