diff options
Diffstat (limited to 'storage/xtradb/dict/dict0dict.cc')
-rw-r--r-- | storage/xtradb/dict/dict0dict.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/storage/xtradb/dict/dict0dict.cc b/storage/xtradb/dict/dict0dict.cc index a1cfeb3860f..f7a2ae423f8 100644 --- a/storage/xtradb/dict/dict0dict.cc +++ b/storage/xtradb/dict/dict0dict.cc @@ -2430,9 +2430,13 @@ dict_index_too_big_for_tree( rec_max_size = 2; } else { /* The maximum allowed record size is half a B-tree - page. No additional sparse page directory entry will - be generated for the first few user records. */ - page_rec_max = page_get_free_space_of_empty(comp) / 2; + page(16k for 64k page size). No additional sparse + page directory entry will be generated for the first + few user records. */ + page_rec_max = (comp || UNIV_PAGE_SIZE < UNIV_PAGE_SIZE_MAX) + ? page_get_free_space_of_empty(comp) / 2 + : REDUNDANT_REC_MAX_DATA_SIZE; + page_ptr_max = page_rec_max; /* Each record has a header. */ rec_max_size = comp @@ -2516,7 +2520,6 @@ add_field_size: /* Check the size limit on leaf pages. */ if (UNIV_UNLIKELY(rec_max_size >= page_rec_max)) { - return(TRUE); } |