diff options
Diffstat (limited to 'sql/field_conv.cc')
-rw-r--r-- | sql/field_conv.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sql/field_conv.cc b/sql/field_conv.cc index d648c90e114..64d0bc6c452 100644 --- a/sql/field_conv.cc +++ b/sql/field_conv.cc @@ -487,10 +487,11 @@ static void do_cut_string_complex(Copy_field *copy) memcpy(copy->to_ptr, copy->from_ptr, copy_length); /* Check if we lost any important characters */ - if (prefix.well_formed_error_pos() || - cs->cset->scan(cs, (char*) copy->from_ptr + copy_length, - (char*) from_end, - MY_SEQ_SPACES) < (copy->from_length - copy_length)) + if (unlikely(prefix.well_formed_error_pos() || + cs->cset->scan(cs, (char*) copy->from_ptr + copy_length, + (char*) from_end, + MY_SEQ_SPACES) < + (copy->from_length - copy_length))) { copy->to_field->set_warning(Sql_condition::WARN_LEVEL_WARN, WARN_DATA_TRUNCATED, 1); |