mariadb/storage/innobase/lock
Marko Mäkelä 10901d7502 MDEV-36190: Optimize transaction_lock_guard use
buf_pool_t::page_guess(): Avoid a memory transaction, because
we would be checking several conditions inside it. Synchronize
with buf_page_t::init() in order to avoid false guesses.

buf_page_t::init(): Release-store the state after storing id_,
in order to properly synchronize-with buf_pool_t::page_guess().

buf_pool_t::page_hash_table::append(): Define non-inline.

buf_pool_t::page_hash_table::replace(),
buf_pool_t::page_hash_table::remove(): Move the inline definition
to the compilation unit of the only caller, to declutter the header.

buf_page_create_low(), buf_page_init_for_read(): Do not initialize
the block descriptor before holding a latch on buf_pool.page_hash,
in order to avoid false positive matches in buf_pool_t::page_guess().

trx_undo_report_row_operation(): Check the cheaper and less likely
condition first.

Also, remove several redundant TRANSACTIONAL_TARGET.
Some of the remaining ones will be made redundant by
commit 9c8bdc6c15 (MDEV-35049).
2025-09-23 16:17:58 +03:00
..
lock0iter.cc MDEV-20612: Replace lock_sys.mutex with lock_sys.latch 2021-02-11 14:52:10 +02:00
lock0lock.cc MDEV-36190: Optimize transaction_lock_guard use 2025-09-23 16:17:58 +03:00
lock0prdt.cc MDEV-34877 Port "Bug #11745929 Change lock priority so that the transaction holding S-lock gets X-lock first" fix from MySQL to MariaDB 2025-01-23 17:38:32 +03:00