diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-03-25 17:18:15 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-03-25 17:18:15 +0200 |
commit | 8b480df63ec76963fd96d2e00b911a801b912591 (patch) | |
tree | 4bc43fd486fbbfef4e05977a2080c4e1dbb59da9 /storage/innobase/page/page0cur.cc | |
parent | c0ba036b774b8e35567dccce421890d2199f30ce (diff) | |
parent | dbc0d576a3f402ae52423fe424ed0a68f49537ef (diff) | |
download | mariadb-git-8b480df63ec76963fd96d2e00b911a801b912591.tar.gz |
Merge 10.3 into 10.4
Diffstat (limited to 'storage/innobase/page/page0cur.cc')
-rw-r--r-- | storage/innobase/page/page0cur.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/storage/innobase/page/page0cur.cc b/storage/innobase/page/page0cur.cc index 25b2d202168..9d1e37405b7 100644 --- a/storage/innobase/page/page0cur.cc +++ b/storage/innobase/page/page0cur.cc @@ -2,7 +2,7 @@ Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 2012, Facebook Inc. -Copyright (c) 2018, MariaDB Corporation. +Copyright (c) 2018, 2019, MariaDB Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -1982,12 +1982,14 @@ page_parse_copy_rec_list_to_created_page( return(rec_end); } + ut_ad(fil_page_index_page_check(block->frame)); /* This function is never invoked on the clustered index root page, except in the redo log apply of page_copy_rec_list_end_to_created_page() which was logged by. page_copy_rec_list_to_created_page_write_log(). For other pages, this field must be zero-initialized. */ - ut_ad(!page_get_instant(block->frame) || page_is_root(block->frame)); + ut_ad(!page_get_instant(block->frame) + || !page_has_siblings(block->frame)); while (ptr < rec_end) { ptr = page_cur_parse_insert_rec(TRUE, ptr, end_ptr, @@ -2043,9 +2045,10 @@ page_copy_rec_list_end_to_created_page( ut_ad(page_dir_get_n_heap(new_page) == PAGE_HEAP_NO_USER_LOW); ut_ad(page_align(rec) != new_page); ut_ad(page_rec_is_comp(rec) == page_is_comp(new_page)); + ut_ad(fil_page_index_page_check(new_page)); /* This function is never invoked on the clustered index root page, except in btr_lift_page_up(). */ - ut_ad(!page_get_instant(new_page) || page_is_root(new_page)); + ut_ad(!page_get_instant(new_page) || !page_has_siblings(new_page)); if (page_rec_is_infimum(rec)) { @@ -2138,6 +2141,8 @@ page_copy_rec_list_end_to_created_page( rec = page_rec_get_next(rec); } while (!page_rec_is_supremum(rec)); + ut_ad(n_recs); + if ((slot_index > 0) && (count + 1 + (PAGE_DIR_SLOT_MAX_N_OWNED + 1) / 2 <= PAGE_DIR_SLOT_MAX_N_OWNED)) { |