diff options
-rw-r--r-- | storage/innobase/dict/dict0load.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/storage/innobase/dict/dict0load.cc b/storage/innobase/dict/dict0load.cc index 623403db3c8..2830aea167f 100644 --- a/storage/innobase/dict/dict0load.cc +++ b/storage/innobase/dict/dict0load.cc @@ -2577,10 +2577,15 @@ corrupted: goto func_exit; } - for (uint i = 0; i < index->n_fields; i++) { - dict_field_t &f = index->fields[i]; - ut_ad(f.col->mbmaxlen == 0 - || f.prefix_len % f.col->mbmaxlen == 0); + // The following assertion doesn't hold for FTS indexes + // as it may have prefix_len=1 with any charset + if (index->type != DICT_FTS) { + for (uint i = 0; i < index->n_fields; i++) { + dict_field_t &f = index->fields[i]; + ut_ad(f.col->mbmaxlen == 0 + || f.prefix_len + % f.col->mbmaxlen == 0); + } } } next_rec: |