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