• Alexey Kopytov's avatar
    Fix for bug #41078: With CURSOR_TYPE_READ_ONLY mysql_stmt_fetch() · 32164609
    Alexey Kopytov authored
    returns short string value. 
     
    Multibyte character sets were not taken into account when 
    calculating max_length in Item_param::convert_str_value(). As a 
    result, string parameters of a prepared statement could be 
    truncated later when calculating string length in characters by 
    dividing length in bytes by the charset's mbmaxlen value (e.g. in 
    Field_varstring::store()). 
     
    Fixed by taking charset's mbmaxlen into account when calculating 
    max_length in Item_param::convert_str_value().
    
    
    sql/item.cc:
      Multiply string's length in characters by charset's mbmaxlen when 
      calculating max_length.
    tests/mysql_client_test.c:
      Added a test case for bug #41078.
    32164609
item.cc 194 KB