MySQL 8.0.40
Source Code Documentation
|
An entry representing one fragment page. More...
#include <lob0impl.h>
Public Member Functions | |
z_frag_entry_t (flst_node_t *node, mtr_t *mtr) | |
Constructor. More... | |
z_frag_entry_t () | |
Constructor. More... | |
z_frag_entry_t (mtr_t *mtr) | |
Constructor. More... | |
void | init () |
Initialize the fragment entry contents. More... | |
void | set_null () |
Set the current fragment entry to null. More... | |
bool | is_null () const |
Check if the current fragment entry is null. More... | |
fil_addr_t | get_self_addr () const |
void | update (const z_frag_page_t &frag_page) |
Update the current fragment entry with information about the given fragment page. More... | |
void | remove (flst_base_node_t *bnode) |
Remove this node from the given list. More... | |
void | push_back (flst_base_node_t *bnode) |
Add this node as the last node in the given list. More... | |
void | push_front (flst_base_node_t *bnode) |
Add this node as the first node in the given list. More... | |
void | reset (flst_node_t *node) |
Point to another frag entry. More... | |
void | set_prev_null () |
Set the previous frag entry as null. More... | |
void | set_prev (const fil_addr_t &addr) |
Set the previous frag entry as null. More... | |
fil_addr_t | get_prev () const |
Get the location of previous frag entry. More... | |
void | set_next_null () |
Set the next frag entry as null. More... | |
void | set_next (const fil_addr_t &addr) |
Set the next frag entry. More... | |
fil_addr_t | get_next () const |
Get the location of next frag entry. More... | |
page_no_t | get_page_no () const |
Get the frag page number. More... | |
void | set_page_no (page_no_t page_no) const |
Set the frag page number. More... | |
void | free_frag_page (mtr_t *mtr, dict_index_t *index) |
Free the fragment page pointed to by this entry. More... | |
ulint | get_n_frags () const |
Get the frag page number. More... | |
void | set_n_frags (ulint frags) const |
Set the frag page number. More... | |
ulint | get_used_len () const |
Get the used bytes. More... | |
void | set_used_len (ulint used) const |
Set the used bytes. More... | |
ulint | get_total_free_len () const |
Get the total cumulative free bytes. More... | |
ulint | get_big_free_len () const |
Get the biggest free frag bytes. More... | |
void | set_total_free_len (ulint n) |
Set the total free bytes. More... | |
void | set_big_free_len (ulint n) |
Set the big free frag bytes. More... | |
void | purge (flst_base_node_t *used_lst, flst_base_node_t *free_lst) |
std::ostream & | print (std::ostream &out) const |
Static Public Attributes | |
static const ulint | OFFSET_PREV = 0 |
Offset within frag entry pointing to prev frag entry. More... | |
static const ulint | OFFSET_NEXT = OFFSET_PREV + FIL_ADDR_SIZE |
Offset within frag entry pointing to next frag entry. More... | |
static const ulint | OFFSET_PAGE_NO = OFFSET_NEXT + FIL_ADDR_SIZE |
Offset within frag entry holding the page number of frag page. More... | |
static const ulint | OFFSET_N_FRAGS = OFFSET_PAGE_NO + 4 |
Number of used fragments. More... | |
static const ulint | OFFSET_USED_LEN = OFFSET_N_FRAGS + 2 |
Used space in bytes. More... | |
static const ulint | OFFSET_TOTAL_FREE_LEN = OFFSET_USED_LEN + 2 |
Total free space in bytes. More... | |
static const ulint | OFFSET_BIG_FREE_LEN = OFFSET_TOTAL_FREE_LEN + 2 |
The biggest free frag space in bytes. More... | |
static const ulint | SIZE = OFFSET_BIG_FREE_LEN + 2 |
Total size of one frag entry. More... | |
Private Attributes | |
flst_node_t * | m_node |
The location where the fragment entry node is located. More... | |
mtr_t * | m_mtr |
The mini-transaction context for operating on this fragment entry. More... | |
An entry representing one fragment page.
|
inline |
Constructor.
|
inline |
Constructor.
|
inline |
Constructor.
void lob::z_frag_entry_t::free_frag_page | ( | mtr_t * | mtr, |
dict_index_t * | index | ||
) |
Free the fragment page pointed to by this entry.
[in] | mtr | Mini-transaction to be used for this operation. |
[in] | index | The index to which this LOB belongs. |
|
inline |
Get the biggest free frag bytes.
|
inline |
Get the frag page number.
|
inline |
Get the location of next frag entry.
|
inline |
Get the frag page number.
|
inline |
Get the location of previous frag entry.
|
inline |
|
inline |
Get the total cumulative free bytes.
|
inline |
Get the used bytes.
|
inline |
Initialize the fragment entry contents.
For this to correctly work, the current object must be initialized with proper file list node and the mini-transaction context.
|
inline |
Check if the current fragment entry is null.
std::ostream & lob::z_frag_entry_t::print | ( | std::ostream & | out | ) | const |
void lob::z_frag_entry_t::purge | ( | flst_base_node_t * | used_lst, |
flst_base_node_t * | free_lst | ||
) |
|
inline |
Add this node as the last node in the given list.
[in] | bnode | the base node of the file list. |
|
inline |
Add this node as the first node in the given list.
[in] | bnode | the base node of the file list. |
|
inline |
Remove this node from the given list.
[in] | bnode | the base node of the list from which to remove current node. |
|
inline |
Point to another frag entry.
[in] | node | point to this file list node. |
|
inline |
Set the big free frag bytes.
|
inline |
Set the frag page number.
|
inline |
Set the next frag entry.
|
inline |
Set the next frag entry as null.
|
inline |
Set the current fragment entry to null.
|
inline |
Set the frag page number.
|
inline |
Set the previous frag entry as null.
|
inline |
Set the previous frag entry as null.
|
inline |
Set the total free bytes.
|
inline |
Set the used bytes.
void lob::z_frag_entry_t::update | ( | const z_frag_page_t & | frag_page | ) |
Update the current fragment entry with information about the given fragment page.
[in] | frag_page | the fragment page whose information will be stored in current fragment entry. |
|
private |
The mini-transaction context for operating on this fragment entry.
|
private |
The location where the fragment entry node is located.
|
static |
The biggest free frag space in bytes.
|
static |
Number of used fragments.
|
static |
Offset within frag entry pointing to next frag entry.
|
static |
Offset within frag entry holding the page number of frag page.
|
static |
Offset within frag entry pointing to prev frag entry.
|
static |
Total free space in bytes.
|
static |
Used space in bytes.
|
static |
Total size of one frag entry.