Commit fa6c6062 authored by Marko Mäkelä's avatar Marko Mäkelä

MDEV-20814 Assertion index->is_instant() failed on trivial upgrade from 10.1

rec_init_offsets(): Relax the assertion that was added in
commit 01f45bec
to catch ROW_FORMAT=REDUNDANT records that have fewer fields
than expected.

This assertion would fail when accessing the records of the
built-in InnoDB table SYS_INDEXES. The column MERGE_THRESHOLD
had been effectively instantly added in MariaDB Server 10.2
(and MySQL 5.7), but is_instant() does not hold for that index.
Relax the assertion, so that it will not fail in this case.
parent bb450b1f
......@@ -742,7 +742,9 @@ rec_init_offsets(
}
if (i < rec_offs_n_fields(offsets)) {
ut_ad(index->is_instant());
ut_ad(index->is_instant()
|| i + (index->id == DICT_INDEXES_ID)
== rec_offs_n_fields(offsets));
offs = (rec_offs_base(offsets)[i] & REC_OFFS_MASK)
| REC_OFFS_DEFAULT;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment