diff options
author | Marko Mäkelä <marko.makela@oracle.com> | 2012-01-16 14:22:03 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@oracle.com> | 2012-01-16 14:22:03 +0200 |
commit | 97e83eae2d359466801ada81c99d617d82a0cd20 (patch) | |
tree | 2908401f593dc337c2aac38fdeab8b830ead6663 | |
parent | 9b0fdd650f5939fcfc70d8c3f1b3b42ea533071f (diff) | |
download | mariadb-git-97e83eae2d359466801ada81c99d617d82a0cd20.tar.gz |
Bug#13496818 ASSERTION: REC_PAGE_NO > 4 IN IBUF CONTRACTION
Relax a bogus debug assertion.
Approved by Jimmy Yang on IM.
-rw-r--r-- | storage/innobase/ibuf/ibuf0ibuf.c | 10 | ||||
-rw-r--r-- | storage/innodb_plugin/ChangeLog | 15 | ||||
-rw-r--r-- | storage/innodb_plugin/ibuf/ibuf0ibuf.c | 12 |
3 files changed, 29 insertions, 8 deletions
diff --git a/storage/innobase/ibuf/ibuf0ibuf.c b/storage/innobase/ibuf/ibuf0ibuf.c index 1406b2de4e9..476d78e79ba 100644 --- a/storage/innobase/ibuf/ibuf0ibuf.c +++ b/storage/innobase/ibuf/ibuf0ibuf.c @@ -2009,7 +2009,15 @@ ibuf_get_merge_page_nos( } else { rec_page_no = ibuf_rec_get_page_no(rec); rec_space_id = ibuf_rec_get_space(rec); - ut_ad(rec_page_no > IBUF_TREE_ROOT_PAGE_NO); + /* In the system tablespace, the smallest + possible secondary index leaf page number is + bigger than IBUF_TREE_ROOT_PAGE_NO (4). In + other tablespaces, the clustered index tree is + created at page 3, which makes page 4 the + smallest possible secondary index leaf page + (and that only after DROP INDEX). */ + ut_ad(rec_page_no + > IBUF_TREE_ROOT_PAGE_NO - (rec_space_id != 0)); } #ifdef UNIV_IBUF_DEBUG diff --git a/storage/innodb_plugin/ChangeLog b/storage/innodb_plugin/ChangeLog index 61de897bed4..97647b679e2 100644 --- a/storage/innodb_plugin/ChangeLog +++ b/storage/innodb_plugin/ChangeLog @@ -1,7 +1,12 @@ 2012-01-16 The InnoDB Team + * ibuf/ibuf0ibuf.c: + Fix Bug#13496818 ASSERTION: REC_PAGE_NO > 4 IN IBUF CONTRACTION + +2012-01-16 The InnoDB Team + * handler/ha_innodb.cc: - Fix Bug#11765438: 58406: ISSUES WITH COPYING PARTITIONED INNODB + Fix Bug#11765438: 58406: ISSUES WITH COPYING PARTITIONED INNODB TABLES FROM LINUX TO WINDOWS 2012-01-04 The InnoDB Team @@ -17,8 +22,8 @@ 2011-12-13 The InnoDB Team * handler/ha_innodb.cc, innodb.test, innodb.result: - Fix Bug#13117023: InnoDB was incrementing the handler_read_key, - also the SSV::ha_read_key_count, at the wrong place. + Fix Bug#13117023: InnoDB was incrementing the handler_read_key, + also the SSV::ha_read_key_count, at the wrong place. 2011-12-10 The InnoDB Team @@ -279,7 +284,7 @@ 2011-01-06 The InnoDB Team * dict/dict0dict.c, handler/ha_innodb.cc, handler/i_s.cc, - include/univ.i: + include/univ.i: Fix Bug#58643 InnoDB: too long table name 2011-01-06 The InnoDB Team @@ -545,7 +550,7 @@ * handler/ha_innodb.cc, include/row0mysql.h, row/row0mysql.c: Fix Bug#53592: crash replacing duplicates into table after fast - alter table added unique key + alter table added unique key 2010-05-24 The InnoDB Team diff --git a/storage/innodb_plugin/ibuf/ibuf0ibuf.c b/storage/innodb_plugin/ibuf/ibuf0ibuf.c index a22de3b0e70..9a243d83bd5 100644 --- a/storage/innodb_plugin/ibuf/ibuf0ibuf.c +++ b/storage/innodb_plugin/ibuf/ibuf0ibuf.c @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2011, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2012, Oracle and/or its affiliates. All Rights Reserved. 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 @@ -2090,7 +2090,15 @@ ibuf_get_merge_page_nos( } else { rec_page_no = ibuf_rec_get_page_no(rec); rec_space_id = ibuf_rec_get_space(rec); - ut_ad(rec_page_no > IBUF_TREE_ROOT_PAGE_NO); + /* In the system tablespace, the smallest + possible secondary index leaf page number is + bigger than IBUF_TREE_ROOT_PAGE_NO (4). In + other tablespaces, the clustered index tree is + created at page 3, which makes page 4 the + smallest possible secondary index leaf page + (and that only after DROP INDEX). */ + ut_ad(rec_page_no + > IBUF_TREE_ROOT_PAGE_NO - (rec_space_id != 0)); } #ifdef UNIV_IBUF_DEBUG |