![]() |
MySQL 9.5.0
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.