diff options
author | Thirunarayanan Balathandayuthapani <thiru@mariadb.com> | 2020-02-07 16:01:31 +0530 |
---|---|---|
committer | Thirunarayanan Balathandayuthapani <thiru@mariadb.com> | 2020-02-07 16:01:31 +0530 |
commit | 3be751d5b9076239baaa07677ab81304fcd92207 (patch) | |
tree | 7192bf26bdfd7337b0857f421090e81548723b27 /storage/innobase | |
parent | ebbc572b828007e519aee8595dd98938aa2d2f9d (diff) | |
download | mariadb-git-3be751d5b9076239baaa07677ab81304fcd92207.tar.gz |
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.
Diffstat (limited to 'storage/innobase')
-rw-r--r-- | storage/innobase/include/rem0rec.ic | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/storage/innobase/include/rem0rec.ic b/storage/innobase/include/rem0rec.ic index 7a9b31648da..eae1c52a2a5 100644 --- a/storage/innobase/include/rem0rec.ic +++ b/storage/innobase/include/rem0rec.ic @@ -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); |