In the DYNAMIC, COMPACT and COMPRESSED formats, CHAR columns could be instantly extended in those special cases when they are internally stored as variable-length:
- when the column length (chars*mbmaxlen) exceeds 255 bytes
- when using a variable-length character set (mbminlen!=mbmaxlen), such as UTF-8
- when the column type is CHAR(0)
For the REDUNDANT format, it is best to disallow such instantaneous changes for CHAR columns, and let them remain fixed-size, always explicitly storing the same length for every column. The mbminlen!=mbmaxlen optimization was introduced for COMPACT,DYNAMIC,COMPRESSED only.