diff options
author | Alexander Barkov <bar@mysql.com> | 2008-09-15 15:29:31 +0500 |
---|---|---|
committer | Alexander Barkov <bar@mysql.com> | 2008-09-15 15:29:31 +0500 |
commit | 94fad7c0c242a15dd90be9fe061d0661a0fedd16 (patch) | |
tree | 30bf1c1adbfeef560d508f207e7c8925f35abd82 /sql/field.cc | |
parent | 08421a83ba827171976041151004f087ce66f2a6 (diff) | |
download | mariadb-git-94fad7c0c242a15dd90be9fe061d0661a0fedd16.tar.gz |
Bug#35720 ucs2 + pad_char_to_full_length = failure
Problem: with @@sql_mode=pad_char_to_full_length
a CHAR column returned additional garbage
after trailing space characters due to
incorrect my_charpos() call.
Fix: call my_charpos() with correct arguments.
Diffstat (limited to 'sql/field.cc')
-rw-r--r-- | sql/field.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/field.cc b/sql/field.cc index 70cc14bda5f..b03cc140ade 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -6610,7 +6610,8 @@ String *Field_string::val_str(String *val_buffer __attribute__((unused)), uint length; if (table->in_use->variables.sql_mode & MODE_PAD_CHAR_TO_FULL_LENGTH) - length= my_charpos(field_charset, ptr, ptr + field_length, field_length); + length= my_charpos(field_charset, ptr, ptr + field_length, + field_length / field_charset->mbmaxlen); else length= field_charset->cset->lengthsp(field_charset, (const char*) ptr, field_length); |