MDEV-21608 Assertion `n_ext == dtuple_get_n_ext(dtuple)' failed during updation of PK

- n_ext value may be less than dtuple_get_n_ext(dtuple) when PK is being
updated and new record inherits the externally stored fields from
delete mark old record.
This commit is contained in:
Thirunarayanan Balathandayuthapani 2020-02-07 16:01:31 +05:30
commit 3be751d5b9
3 changed files with 18 additions and 1 deletions

View file

@ -1626,7 +1626,11 @@ rec_get_converted_size(
data_size = dtuple_get_data_size(dtuple, 0);
ut_ad(n_ext == dtuple_get_n_ext(dtuple));
/* If primary key is being updated then the new record inherits
externally stored fields from the delete-marked old record.
In that case, n_ext may be less value than
dtuple_get_n_ext(tuple). */
ut_ad(n_ext <= dtuple_get_n_ext(dtuple));
extra_size = rec_get_converted_extra_size(
data_size, dtuple_get_n_fields(dtuple), n_ext);