diff options
author | Eugene Kosov <claprix@yandex.ru> | 2021-09-06 15:48:40 +0600 |
---|---|---|
committer | Eugene Kosov <claprix@yandex.ru> | 2021-09-08 16:08:32 +0600 |
commit | a4b3970c6ec5cbdc03dd7301e5a6fdd1faa81932 (patch) | |
tree | 3ded14ba618890cfce21ec9fb6ee34cfd0eaf740 /mysql-test/suite/perfschema | |
parent | 987903b38ebdb62cd9bcf6b5e1513ddf0fe76171 (diff) | |
download | mariadb-git-a4b3970c6ec5cbdc03dd7301e5a6fdd1faa81932.tar.gz |
MDEV-25951 MariaDB crash after ALTER TABLE convert to utf8mb4bb-10.4-MDEV-25951-instant-utf
Bug happens when partially indexed CHAR or VARCHAR field in converted from
utf8mb3 to utf8mb4.
Fixing by relaxing assertions. For some time dict_index_t and dict_table_t
are becoming not synchronized. Namely, dict_index_t has a new prefix_len which
is a multiple of a user-provided length and charset->mbmaxlen. But
the table still have and old mbmaxlen and assertion fails. This happens only
during utf8mb3 -> utf8mb4 conversions and the magic number 4 comes from
utf8mb_4_.
At the end of ALTER TABLE (innobase_rename_or_enlarge_columns_cache())
dict_index_t and dict_table_t became synchronized
again and will stay so at all times. For, example, they will be synchronized
on table load and newly added assertion proves that.
Diffstat (limited to 'mysql-test/suite/perfschema')
0 files changed, 0 insertions, 0 deletions