1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-24730 Insert log operation fails after purge resets n_core_fields

Online log for insert operation of redundant table fails with
index->is_instant() assert. Purge can reset the n_core_fields when
alter is waiting to upgrade MDL for commit phase of DDL. In the
meantime, any insert DML tries to log the operation fails with
index is not being instant.

row_log_get_n_core_fields(): Get the n_core_fields of online log
for the given index.

rec_get_converted_size_comp_prefix_low(): Use n_core_fields of online
log when InnoDB calculates the size of data tuple during redundant
row format table rebuild.

rec_convert_dtuple_to_rec_comp(): Use n_core_fields of online log
when InnoDB does the conversion of data tuple to record during
redudant row format table rebuild.

- Adding the test case which has more than 129 instant columns.
This commit is contained in:
Thirunarayanan Balathandayuthapani
2021-03-06 05:55:14 +05:30
parent 08e8ad7c71
commit eb7c5530ec
8 changed files with 94 additions and 36 deletions

View File

@ -0,0 +1,4 @@
[redundant]
innodb_default_row_format=redundant
[dynamic]
innodb_default_row_format=dynamic