mariadb/storage/innobase/btr
Marko Mäkelä 6087bdae8c MDEV-37244: Avoid page lookup after read
buf_read_page(): Return a pointer to a buffer-fixed, non-read-fixed page,
or nullptr in case of an error.

IORequest::read_complete(): Assert that the page is both read-fixed
and buffer-fixed. Sample recv_sys.recovery_on only once.
Buffer-unfix the page when the asynchronous read completes.

buf_page_t::read_complete(): Assert that the page is both
read-fixed and buffer-fixed. Remove a hard-to-test condition
on innodb_force_recovery that made a difference when the page number
in the read frame did not match. It makes no sense to ignore such
corruption.

buf_page_t::read_wait(): Wait for a read-fixed and buffer-fixed page
to be only buffer-fixed, by acquiring a shared latch.

buf_page_init_for_read(): Return a pointer to a buffer-fixed block
descriptor pointer, bitwise-ORed with 1 in case the block already
exists in the buffer pool.

buf_page_create_low(): Before invoking buf_relocate() on a
compressed-only ROW_FORMAT=COMPRESSED page, wait for any concurrent
IORequest::read_complete() to release its buffer-fix. This is similar
to what buf_pool_t::unzip() already did.

buf_read_release_count(): Common code for freeing a spare block if needed
as well as updating some statistics counters.

buf_read_page_low(): Replace the parameter sync with err, which will
return an error code to a synchronous caller.
Return the pointer to the block, or the special values nullptr
(read failure) or -1 or -2 for asynchronous reads.
Increment the statistics when a synchronous read was requested.
In a synchronous read, if the page has already been allocated in
the buffer pool but it is read-fixed, wait for the read to complete.

buf_page_get_zip(): Get a buffer-fixed page from buf_read_page(),
and unfix() it. Our caller is relying solely on a page latch.

buf_read_page_background(): Update the statistics if supplied.
2025-10-17 12:35:34 +03:00
..
btr0btr.cc MDEV-37152: Remove many calls to _current_thd() 2025-09-29 14:35:02 +03:00
btr0bulk.cc MDEV-37152: Remove many calls to _current_thd() 2025-09-29 14:35:02 +03:00
btr0cur.cc MDEV-37244: Avoid page lookup after read 2025-10-17 12:35:34 +03:00
btr0pcur.cc MDEV-36190: Optimize transaction_lock_guard use 2025-09-29 09:05:59 +03:00
btr0sea.cc MDEV-37152: Remove many calls to _current_thd() 2025-09-29 14:35:02 +03:00