mirror of
https://github.com/MariaDB/server.git
synced 2026-05-07 07:35:32 +02:00
Merge 10.3 into 10.4
This commit is contained in:
commit
edd1a53a55
23 changed files with 244 additions and 377 deletions
|
|
@ -484,24 +484,28 @@ fsp_reserve_free_extents(
|
|||
mtr_t* mtr,
|
||||
ulint n_pages = 2);
|
||||
|
||||
/**********************************************************************//**
|
||||
Frees a single page of a segment. */
|
||||
/** Free a page in a file segment.
|
||||
@param[in,out] seg_header file segment header
|
||||
@param[in,out] space tablespace
|
||||
@param[in] offset page number
|
||||
@param[in] ahi whether we may need to drop the adaptive
|
||||
hash index
|
||||
@param[in,out] mtr mini-transaction */
|
||||
void
|
||||
fseg_free_page_func(
|
||||
fseg_header_t* seg_header, /*!< in: segment header */
|
||||
ulint space_id, /*!< in: space id */
|
||||
ulint page, /*!< in: page offset */
|
||||
fseg_header_t* seg_header,
|
||||
fil_space_t* space,
|
||||
ulint offset,
|
||||
#ifdef BTR_CUR_HASH_ADAPT
|
||||
bool ahi, /*!< in: whether we may need to drop
|
||||
the adaptive hash index */
|
||||
bool ahi,
|
||||
#endif /* BTR_CUR_HASH_ADAPT */
|
||||
mtr_t* mtr); /*!< in/out: mini-transaction */
|
||||
mtr_t* mtr);
|
||||
#ifdef BTR_CUR_HASH_ADAPT
|
||||
# define fseg_free_page(header, space_id, page, ahi, mtr) \
|
||||
fseg_free_page_func(header, space_id, page, ahi, mtr)
|
||||
# define fseg_free_page(header, space, offset, ahi, mtr) \
|
||||
fseg_free_page_func(header, space, offset, ahi, mtr)
|
||||
#else /* BTR_CUR_HASH_ADAPT */
|
||||
# define fseg_free_page(header, space_id, page, ahi, mtr) \
|
||||
fseg_free_page_func(header, space_id, page, mtr)
|
||||
# define fseg_free_page(header, space, offset, ahi, mtr) \
|
||||
fseg_free_page_func(header, space, offset, mtr)
|
||||
#endif /* BTR_CUR_HASH_ADAPT */
|
||||
/** Determine whether a page is free.
|
||||
@param[in,out] space tablespace
|
||||
|
|
@ -606,6 +610,26 @@ inline bool fsp_descr_page(const page_id_t page_id, ulint physical_size)
|
|||
@param[in,out] block buffer pool block */
|
||||
void fsp_apply_init_file_page(buf_block_t* block);
|
||||
|
||||
/** Initialize a file page.
|
||||
@param[in] space tablespace
|
||||
@param[in,out] block file page
|
||||
@param[in,out] mtr mini-transaction */
|
||||
inline void fsp_init_file_page(
|
||||
#ifdef UNIV_DEBUG
|
||||
const fil_space_t* space,
|
||||
#endif
|
||||
buf_block_t* block, mtr_t* mtr)
|
||||
{
|
||||
ut_d(space->modify_check(*mtr));
|
||||
ut_ad(space->id == block->page.id.space());
|
||||
fsp_apply_init_file_page(block);
|
||||
mlog_write_initial_log_record(block->frame, MLOG_INIT_FILE_PAGE2, mtr);
|
||||
}
|
||||
|
||||
#ifndef UNIV_DEBUG
|
||||
# define fsp_init_file_page(space, block, mtr) fsp_init_file_page(block, mtr)
|
||||
#endif
|
||||
|
||||
#ifdef UNIV_BTR_PRINT
|
||||
/*******************************************************************//**
|
||||
Writes info of a segment. */
|
||||
|
|
@ -764,8 +788,9 @@ xdes_get_bit(
|
|||
@return descriptor index */
|
||||
inline ulint xdes_calc_descriptor_index(ulint zip_size, ulint offset)
|
||||
{
|
||||
return(ut_2pow_remainder(offset, zip_size ? zip_size : srv_page_size)
|
||||
/ FSP_EXTENT_SIZE);
|
||||
return ut_2pow_remainder<ulint>(offset,
|
||||
zip_size ? zip_size : srv_page_size)
|
||||
/ FSP_EXTENT_SIZE;
|
||||
}
|
||||
|
||||
/** Determine the descriptor page number for a page.
|
||||
|
|
@ -790,7 +815,8 @@ inline ulint xdes_calc_descriptor_page(ulint zip_size, ulint offset)
|
|||
ut_ad(!zip_size
|
||||
|| zip_size > XDES_ARR_OFFSET
|
||||
+ (zip_size / FSP_EXTENT_SIZE) * XDES_SIZE);
|
||||
return ut_2pow_round(offset, zip_size ? zip_size : srv_page_size);
|
||||
return ut_2pow_round<ulint>(offset,
|
||||
zip_size ? zip_size : srv_page_size);
|
||||
}
|
||||
|
||||
#endif /* UNIV_INNOCHECKSUM */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue