• Alexander Barkov's avatar
    MDEV-9407 Illegal mix of collation when using GROUP_CONCAT in a VIEW · 7b50447a
    Alexander Barkov authored
    MDEV-9408 CREATE TABLE SELECT MAX(int_column) creates different columns for table vs view
    
    There were three almost identical pieces of the code:
    - Field *Item_func::tmp_table_field();
    - Field *Item_sum::create_tmp_field();
    - Field *create_tmp_field_from_item();
    with a difference in very small details (hence the bugs):
    Only Item_func::tmp_table_field() was correct, the other two were not.
    Removing the two incorrect pieces of the redundant code.
    Joining these three functions/methods into a single virtual method
    Item::create_tmp_field().
    Additionally, moving Item::make_string_field() and
    Item::tmp_table_field_from_field_type() from the public into the
    protected section of the class declaration, as they are now not
    needed outside of Item.
    7b50447a
item_func.h 67.7 KB