mirror of
https://github.com/MariaDB/server.git
synced 2025-09-25 18:39:15 +02:00
![]() 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
|
||
---|---|---|
.. | ||
btr0btr.cc | ||
btr0bulk.cc | ||
btr0cur.cc | ||
btr0pcur.cc | ||
btr0sea.cc |