From 20fab71b144f85be9e2ccc145d24d257b0e9df7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Tue, 2 Jan 2018 21:41:39 +0200 Subject: [PATCH] Follow-up to MDEV-14799: Remove bogus debug assertions trx_undo_rec_get_partial_row(): When the PRIMARY KEY includes a column prefix of an externally stored column, the already parsed part of the undo log record may contain a reference to an off-page column. This is the case in the bug58912 test in innodb.innodb. --- storage/innobase/trx/trx0rec.c | 3 --- storage/xtradb/trx/trx0rec.c | 3 --- 2 files changed, 6 deletions(-) diff --git a/storage/innobase/trx/trx0rec.c b/storage/innobase/trx/trx0rec.c index 19e934fc667..aba5e707c4f 100644 --- a/storage/innobase/trx/trx0rec.c +++ b/storage/innobase/trx/trx0rec.c @@ -1100,9 +1100,6 @@ trx_undo_rec_get_partial_row( for (; uf != ue; uf++) { ulint c = dict_index_get_nth_col(index, uf->field_no)->ind; - ut_ad(uf->orig_len == UNIV_SQL_NULL - || uf->orig_len < UNIV_EXTERN_STORAGE_FIELD); - ut_ad(!dfield_is_ext(&uf->new_val)); *dtuple_get_nth_field(*row, c) = uf->new_val; } diff --git a/storage/xtradb/trx/trx0rec.c b/storage/xtradb/trx/trx0rec.c index 17d51ecf8d2..167e6b356d3 100644 --- a/storage/xtradb/trx/trx0rec.c +++ b/storage/xtradb/trx/trx0rec.c @@ -1113,9 +1113,6 @@ trx_undo_rec_get_partial_row( for (; uf != ue; uf++) { ulint c = dict_index_get_nth_col(index, uf->field_no)->ind; - ut_ad(uf->orig_len == UNIV_SQL_NULL - || uf->orig_len < UNIV_EXTERN_STORAGE_FIELD); - ut_ad(!dfield_is_ext(&uf->new_val)); *dtuple_get_nth_field(*row, c) = uf->new_val; }