• Marko Mäkelä's avatar
    MDEV-18719 Assertion (c.prtype ^ o->prtype) & ... failed on ALTER TABLE · bb970dda
    Marko Mäkelä authored
    The prtype & DATA_LONG_TRUE_VARCHAR flag only plays a role when
    converting between InnoDB internal format and the MariaDB SQL layer
    row format. Ideally this flag would never have been persisted in the
    InnoDB data dictionary.
    
    There were bogus assertion failures when an instant ADD, DROP, or
    column reordering was combined with a change of extending a VARCHAR
    from less than 256 bytes to more than 255 bytes. Such changes are
    allowed starting with MDEV-15563 in MariaDB 10.4.3.
    
    dict_table_t::instant_column(), dict_col_t::same_format(): Ignore
    the DATA_LONG_TRUE_VARCHAR flag, because it does not affect the
    persistent storage format.
    bb970dda
handler0alter.cc 314 KB