• Alexander Barkov's avatar
    - MDEV-6695 Bad column name for UCS2 string literals · 9392d0e2
    Alexander Barkov authored
      The Item_string constructors called set_name() on the source string,
      which was wrong because in case of UCS2/UTF16/UTF32 the source value
      might be a not well formed string (e.g. have incomplete leftmost character).
      Now set_name() is called on str_value after its copied 
      (with optionally left zero padding) from the source string.
    - MDEV-6694 Illegal mix of collation with a PS parameter
      Item_param::convert_str_value() did not set repertoire.
      Introducing a new structure MY_STRING_METADATA to collect
      character length and repertoire of a string in a single loop,
      to avoid two separate loops. Adding a new class Item_basic_value::Metadata
      as a convenience wrapper around MY_STRING_METADATA, to reuse the
      code between Item_string and Item_param.
    9392d0e2
ctype.c 32.1 KB