diff options
author | unknown <aivanov@mysql.com> | 2006-07-26 07:47:29 +0400 |
---|---|---|
committer | unknown <aivanov@mysql.com> | 2006-07-26 07:47:29 +0400 |
commit | 03637f493e21efc5681d6cb141a484ea0bbe838c (patch) | |
tree | 1a23979a2a3ac702c03933ec7c8a6c940e18c71d /innobase | |
parent | 868fee4dde4d73c2cd999f8a2ffc915f040e9e0b (diff) | |
download | mariadb-git-03637f493e21efc5681d6cb141a484ea0bbe838c.tar.gz |
Applied innodb-4.1-ss32 snapshot.
innobase/ibuf/ibuf0ibuf.c:
Applied innodb-4.1-ss32 snapshot.
ibuf_fixed_addr_page(): Add parameter space. As the insert
buffer B-tree is only located in the system tablespace
(space 0), IBUF_TREE_ROOT_PAGE_NO is only special in space 0.
Diffstat (limited to 'innobase')
-rw-r--r-- | innobase/ibuf/ibuf0ibuf.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/innobase/ibuf/ibuf0ibuf.c b/innobase/ibuf/ibuf0ibuf.c index 2191cdc0ee6..a0011629427 100644 --- a/innobase/ibuf/ibuf0ibuf.c +++ b/innobase/ibuf/ibuf0ibuf.c @@ -945,14 +945,11 @@ ibool ibuf_fixed_addr_page( /*=================*/ /* out: TRUE if a fixed address ibuf i/o page */ + ulint space, /* in: space id */ ulint page_no)/* in: page number */ { - if ((ibuf_bitmap_page(page_no)) - || (page_no == IBUF_TREE_ROOT_PAGE_NO)) { - return(TRUE); - } - - return(FALSE); + return((space == 0 && page_no == IBUF_TREE_ROOT_PAGE_NO) + || ibuf_bitmap_page(page_no)); } /*************************************************************************** @@ -976,7 +973,7 @@ ibuf_page( return(FALSE); } - if (ibuf_fixed_addr_page(page_no)) { + if (ibuf_fixed_addr_page(space, page_no)) { return(TRUE); } @@ -1024,7 +1021,7 @@ ibuf_page_low( return(FALSE); } #endif - if (ibuf_fixed_addr_page(page_no)) { + if (ibuf_fixed_addr_page(space, page_no)) { return(TRUE); } @@ -2931,7 +2928,7 @@ ibuf_merge_or_delete_for_page( return; } #endif - if (ibuf_fixed_addr_page(page_no) || fsp_descr_page(page_no) + if (ibuf_fixed_addr_page(space, page_no) || fsp_descr_page(page_no) || trx_sys_hdr_page(space, page_no)) { return; } |