• Marko Mäkelä's avatar
    MDEV-17989 InnoDB: Failing assertion: dict_tf2_is_valid(flags, flags2) · e3dda3d9
    Marko Mäkelä authored
    With innodb_default_row_format=redundant, InnoDB would crash when
    using table options that are incompatible with ROW_FORMAT=REDUNDANT.
    
    create_table_info_t::m_default_row_format: Cache the value of
    innodb_default_row_format.
    
    create_table_info_t::check_table_options(): Validate ROW_TYPE_DEFAULT
    with m_default_row_format.
    
    create_table_info_t::innobase_table_flags(): Use the
    cached m_default_row_format.
    
    create_table_info_t: Never read m_form->s->row_type.
    Use m_create_info->row_type instead.
    
    dict_tf_set(): Never set invalid flags for ROW_FORMAT=REDUNDANT.
    
    ha_innobase::truncate(): Set info.row_type based on the ROW_FORMAT
    of the current table.
    e3dda3d9
ha_innodb.h 28.4 KB