diff options
Diffstat (limited to 'storage/innobase/ibuf/ibuf0ibuf.cc')
-rw-r--r-- | storage/innobase/ibuf/ibuf0ibuf.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/storage/innobase/ibuf/ibuf0ibuf.cc b/storage/innobase/ibuf/ibuf0ibuf.cc index 0ab1a35dfc7..5d73b16e06b 100644 --- a/storage/innobase/ibuf/ibuf0ibuf.cc +++ b/storage/innobase/ibuf/ibuf0ibuf.cc @@ -3145,7 +3145,7 @@ or clustered @param[in] zip_size ROW_FORMAT=COMPRESSED page size, or 0 @param[in,out] thr query thread @return DB_SUCCESS, DB_STRONG_FAIL or other error */ -static MY_ATTRIBUTE((warn_unused_result)) +static TRANSACTIONAL_TARGET MY_ATTRIBUTE((warn_unused_result)) dberr_t ibuf_insert_low( ulint mode, @@ -3310,7 +3310,8 @@ fail_exit: /* We check if the index page is suitable for buffered entries */ - if (buf_pool.page_hash_contains(page_id)) { + if (buf_pool.page_hash_contains( + page_id, buf_pool.page_hash.cell_get(page_id.fold()))) { commit_exit: ibuf_mtr_commit(&bitmap_mtr); goto fail_exit; @@ -3469,6 +3470,7 @@ is clustered or unique. @param[in] zip_size ROW_FORMAT=COMPRESSED page size, or 0 @param[in,out] thr query thread @return true if success */ +TRANSACTIONAL_TARGET bool ibuf_insert( ibuf_op_t op, @@ -3556,7 +3558,8 @@ check_watch: that the issuer of IBUF_OP_DELETE has called buf_pool_t::watch_set(). */ - if (buf_pool.page_hash_contains<true>(page_id)) { + if (buf_pool.page_hash_contains<true>( + page_id, buf_pool.page_hash.cell_get(page_id.fold()))) { /* A buffer pool watch has been set or the page has been read into the buffer pool. Do not buffer the request. If a purge operation |