MySQL 8.4.2
Source Code Documentation
|
Mini-transaction buffer. More...
#include "mtr0mtr.h"
#include "buf0buf.h"
#include "buf0flu.h"
#include "clone0api.h"
#include "fsp0sysspace.h"
#include "log0meb.h"
#include "clone0clone.h"
#include "log0buf.h"
#include "log0chkp.h"
#include "log0recv.h"
#include "log0test.h"
#include "log0write.h"
#include "mtr0log.h"
#include "my_dbug.h"
#include "page0types.h"
#include "trx0purge.h"
Classes | |
struct | Iterate< Functor > |
Iterate over a memo block in reverse. More... | |
struct | Find |
Find specific object. More... | |
struct | Find_page |
Find a page frame. More... | |
struct | Mtr_memo_print |
struct | Mtr_memo_contains |
struct | Release_all |
Release the latches and blocks acquired by the mini-transaction. More... | |
struct | Debug_check |
Check that all slots have been handled. More... | |
struct | Debug_check_no_latching |
Assure that there are no slots that are latching any resources. More... | |
struct | Add_dirty_blocks_to_flush_list |
Add blocks modified by the mini-transaction to the flush list. More... | |
class | mtr_t::Command |
struct | mtr_write_log_t |
Write the block contents to the REDO log. More... | |
struct | FlaggedCheck |
Debug check for flags. More... | |
Functions | |
static void | memo_slot_release (mtr_memo_slot_t *slot) |
Release latches and decrement the buffer fix count. More... | |
lsn_t | mtr_commit_mlog_test (size_t payload) |
Reserves space in the log buffer and writes a single MLOG_TEST. More... | |
static void | mtr_commit_mlog_test_filling_block_low (log_t &log, size_t req_space_left, size_t recursive_level) |
void | mtr_commit_mlog_test_filling_block (log_t &log, size_t req_space_left) |
Reserves space in the log buffer and writes a single MLOG_TEST. More... | |
Mini-transaction buffer.
Created 11/26/1995 Heikki Tuuri
|
static |
Release latches and decrement the buffer fix count.
[in] | slot | memo slot |
lsn_t mtr_commit_mlog_test | ( | size_t | payload = 0 | ) |
Reserves space in the log buffer and writes a single MLOG_TEST.
[in] | payload | number of extra bytes within the record, not greater than 1024 |
void mtr_commit_mlog_test_filling_block | ( | log_t & | log, |
size_t | space_left = 0 |
||
) |
Reserves space in the log buffer and writes a single MLOG_TEST.
Adjusts size of the payload in the record, in order to fill the current block up to its boundary. If nothing else is happening in parallel, we could expect to see afterwards: (cur_lsn + space_left) % OS_FILE_LOG_BLOCK_SIZE == LOG_BLOCK_HDR_SIZE, where cur_lsn = log_get_lsn(log).
[in,out] | log | redo log |
[in] | space_left | extra bytes left to the boundary of block, must be not greater than 496 |
|
static |