• evgen@moonbone.local's avatar
    Fixed bug#15962: CONCAT() in UNION may lead to a data trucation. · d027dd7c
    evgen@moonbone.local authored
    To calculate its max_length the CONCAT() function is simply sums max_lengths
    of its arguments but when the collation of an argument differs from the 
    collation of the CONCAT() max_length will be wrong. This may lead to a data
    truncation when a tmp table is used, in UNIONS for example.
    
    The Item_func_concat::fix_length_and_dec() function now recalculates the 
    max_length of an argument when the mbmaxlen of the argument differs from the
    mbmaxlen of the CONCAT().
    d027dd7c
item_strfunc.cc 77.3 KB