summaryrefslogtreecommitdiff
path: root/storage/innobase/page/page0cur.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2019-03-25 17:18:15 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2019-03-25 17:18:15 +0200
commit8b480df63ec76963fd96d2e00b911a801b912591 (patch)
tree4bc43fd486fbbfef4e05977a2080c4e1dbb59da9 /storage/innobase/page/page0cur.cc
parentc0ba036b774b8e35567dccce421890d2199f30ce (diff)
parentdbc0d576a3f402ae52423fe424ed0a68f49537ef (diff)
downloadmariadb-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.cc11
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)) {