mirror of
https://github.com/MariaDB/server.git
synced 2026-05-07 07:35:32 +02:00
MDEV-21174: Replace mlog_write_ulint() with mtr_t::write()
mtr_t::write(): Replaces mlog_write_ulint(), mlog_write_ull(). Optimize away writes if the page contents does not change, except when a dummy write has been explicitly requested. Because the member function template takes a block descriptor as a parameter, it is possible to introduce better consistency checks. Due to this, the code for handling file-based lists, undo logs and user transactions was refactored to pass around buf_block_t.
This commit is contained in:
parent
504823bcce
commit
56f6dab1d0
53 changed files with 2758 additions and 3554 deletions
|
|
@ -101,7 +101,6 @@ see the table in fsp0types.h @{ */
|
|||
#define FSP_HEADER_OFFSET FIL_PAGE_DATA
|
||||
|
||||
/* The data structures in files are defined just as byte strings in C */
|
||||
typedef byte fsp_header_t;
|
||||
typedef byte xdes_t;
|
||||
|
||||
/* SPACE HEADER
|
||||
|
|
@ -207,7 +206,7 @@ typedef byte fseg_inode_t;
|
|||
(16 + 3 * FLST_BASE_NODE_SIZE \
|
||||
+ FSEG_FRAG_ARR_N_SLOTS * FSEG_FRAG_SLOT_SIZE)
|
||||
|
||||
#define FSEG_MAGIC_N_VALUE 97937874
|
||||
static constexpr uint32_t FSEG_MAGIC_N_VALUE= 97937874;
|
||||
|
||||
#define FSEG_FILLFACTOR 8 /* If this value is x, then if
|
||||
the number of unused but reserved
|
||||
|
|
@ -534,7 +533,7 @@ by repeatedly calling this function in different mini-transactions.
|
|||
Doing the freeing in a single mini-transaction might result in
|
||||
too big a mini-transaction.
|
||||
@return TRUE if freeing completed */
|
||||
ibool
|
||||
bool
|
||||
fseg_free_step_func(
|
||||
fseg_header_t* header, /*!< in, own: segment header; NOTE: if the header
|
||||
resides on the first page of the frag list
|
||||
|
|
@ -554,8 +553,8 @@ fseg_free_step_func(
|
|||
/**********************************************************************//**
|
||||
Frees part of a segment. Differs from fseg_free_step because this function
|
||||
leaves the header page unfreed.
|
||||
@return TRUE if freeing completed, except the header page */
|
||||
ibool
|
||||
@return true if freeing completed, except the header page */
|
||||
bool
|
||||
fseg_free_step_not_header_func(
|
||||
fseg_header_t* header, /*!< in: segment header which must reside on
|
||||
the first fragment page of the segment */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue