• Sergei Golubchik's avatar
    MDEV-23330 Server crash or ASAN negative-size-param in my_strnncollsp_binary /... · cd2924ba
    Sergei Golubchik authored
    MDEV-23330 Server crash or ASAN negative-size-param in my_strnncollsp_binary / SORT_FIELD_ATTR::compare_packed_varstrings
    
    and
    MDEV-23414 Assertion `res->charset() == item->collation.collation' failed in Type_handler_string_result::make_packed_sort_key_part
    
    pack_sort_string() *must* take a collation from the Item, not from the
    String value. Because when casting a string to _binary the original
    String is not copied for performance reasons, it's reused but its
    collation does not match Item's collation anymore.
    
    Note, that String's collation cannot be simply changed to _binary,
    because for an Item_string literal the original String must stay
    unchanged for the duration of the query.
    
    this partially reverts 61c15ebe
    cd2924ba
field.cc 322 KB