diff options
author | unknown <serg@serg.mylan> | 2004-10-26 20:31:41 +0200 |
---|---|---|
committer | unknown <serg@serg.mylan> | 2004-10-26 20:31:41 +0200 |
commit | c882c26101149a3e06f27670cc14ef62c0cc2ab9 (patch) | |
tree | c7421140b78475bb87fd5eeb15e3a9107b07d93c /sql/field.cc | |
parent | 28db20e481276cb44cb637c8cc9975608046c5f3 (diff) | |
download | mariadb-git-c882c26101149a3e06f27670cc14ef62c0cc2ab9.tar.gz |
Bug #6019 - SELECT tries to use too short prefix index on utf8 data
Field_string::pack should respect max_length as Field_string::pack_key does
Diffstat (limited to 'sql/field.cc')
-rw-r--r-- | sql/field.cc | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/sql/field.cc b/sql/field.cc index aae507cd0ec..29ebf02f9f3 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -4425,24 +4425,8 @@ void Field_string::sql_type(String &res) const res.length(length); } - char *Field_string::pack(char *to, const char *from, uint max_length) { - const char *end=from+min(field_length,max_length); - uint length; - while (end > from && end[-1] == ' ') - end--; - length= (end-from); - *to++= (char) (uchar) length; - if (field_length > 255) - *to++= (char) (uchar) (length >> 8); - memcpy(to, from, (int) length); - return to+length; -} - - -char *Field_string::pack_key(char *to, const char *from, uint max_length) -{ uint length= min(field_length,max_length); uint char_length= max_length/field_charset->mbmaxlen; if (length > char_length) |