• Alexander Barkov's avatar
    Bug#58005 utf8 + get_format causes failed assertion: !str || str != Ptr' · 0e1c167e
    Alexander Barkov authored
    Problem: When GET_FORMAT() is called two times from the upper
    level function (e.g. LEAST in the bug report), on the second
    call "res= args[0]->val_str(...)" and str point to the same
    String object.
    
    1. Fix: changing the order from
    - get val_str into tmp_value then convert to str
    to
    - get val_str into str then convert to tmp_value
    
    The new order is more correct: the purpose of "str" parameter
    is exactly to call val_str() for arguments.
    The purpose of String class members (like tmp_value) is to do further
    actions on the result.
    Doing it in the other way around give unexpected surprises.
    
    2. Using str_value instead of str to do padding, for the same reason.
    0e1c167e
date_formats.test 11.7 KB