MySQL 8.0.40
Source Code Documentation
|
A wrapper class to operate on a file segment inode pointer (fseg_inode_t*) More...
#include <fsp0fsp.h>
Public Member Functions | |
File_segment_inode (space_id_t space_id, const page_size_t &page_size, fseg_inode_t *inode, mtr_t *mtr) | |
Constructor. More... | |
void | write_not_full_n_used (uint32_t n_used) |
Update the value of FSEG_NOT_FULL_N_USED. More... | |
uint32_t | read_not_full_n_used () const |
Get the current value of FSEG_NOT_FULL_N_USED. More... | |
uint64_t | get_seg_id () const |
Get the segment identifier value. More... | |
std::ostream & | print (std::ostream &out) const |
Print the current object into the given output stream. More... | |
bool | verify_not_full_n_used () |
Verify the stored FSEG_NOT_FULL_N_USED value. More... | |
Private Member Functions | |
page_no_t | calculate_not_full_n_used () |
Calculate the value of FSEG_NOT_FULL_N_USED by traversing the FSEG_NOT_FULL list. More... | |
bool | do_verify () |
To reduce the cost of verification of FSEG_NOT_FULL_N_USED, do it only when this function returns true. More... | |
Private Attributes | |
space_id_t | m_space_id |
Unique tablespace identifier. More... | |
const page_size_t & | m_page_size |
The page size used in this tablespace. More... | |
fseg_inode_t * | m_fseg_inode |
file segment inode pointer that is being wrapped by this object. More... | |
mtr_t * | m_mtr |
The mini-transaction operation context. More... | |
std::random_device | m_rd |
std::default_random_engine | m_random_engine |
std::uniform_int_distribution< int > | m_dist |
A wrapper class to operate on a file segment inode pointer (fseg_inode_t*)
|
inline |
Constructor.
[in] | space_id | Table space identifier |
[in] | page_size | Size of each page in the tablespace. |
[in] | inode | File segment inode pointer |
[in] | mtr | Mini-transaction context. |
|
private |
Calculate the value of FSEG_NOT_FULL_N_USED by traversing the FSEG_NOT_FULL list.
|
inlineprivate |
To reduce the cost of verification of FSEG_NOT_FULL_N_USED, do it only when this function returns true.
|
inline |
Get the segment identifier value.
std::ostream & File_segment_inode::print | ( | std::ostream & | out | ) | const |
Print the current object into the given output stream.
uint32_t File_segment_inode::read_not_full_n_used | ( | ) | const |
Get the current value of FSEG_NOT_FULL_N_USED.
bool File_segment_inode::verify_not_full_n_used | ( | ) |
Verify the stored FSEG_NOT_FULL_N_USED value.
void File_segment_inode::write_not_full_n_used | ( | uint32_t | n_used | ) |
Update the value of FSEG_NOT_FULL_N_USED.
[in] | n_used | the new value of FSEG_NOT_FULL_N_USED. |
|
private |
|
private |
file segment inode pointer that is being wrapped by this object.
|
private |
The mini-transaction operation context.
|
private |
The page size used in this tablespace.
|
private |
|
private |
|
private |
Unique tablespace identifier.