summaryrefslogtreecommitdiff
path: root/storage/innobase/btr/btr0cur.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/btr/btr0cur.cc')
-rw-r--r--storage/innobase/btr/btr0cur.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/storage/innobase/btr/btr0cur.cc b/storage/innobase/btr/btr0cur.cc
index 2b984b24fd1..2ae6da00549 100644
--- a/storage/innobase/btr/btr0cur.cc
+++ b/storage/innobase/btr/btr0cur.cc
@@ -2316,6 +2316,15 @@ any_extern:
rec = page_cur_get_rec(page_cursor);
}
+ /* We limit max record size to 16k for 64k page size. */
+ if (!dict_table_is_comp(index->table)
+ && new_rec_size > REDUNDANT_REC_MAX_DATA_SIZE) {
+ ut_ad(srv_page_size == UNIV_PAGE_SIZE_MAX);
+ err = DB_OVERFLOW;
+
+ goto func_exit;
+ }
+
if (UNIV_UNLIKELY(new_rec_size
>= (page_get_free_space_of_empty(page_is_comp(page))
/ 2))) {