MySQL 8.0.40
Source Code Documentation
lob::Deleter Class Reference

#include <lob0del.h>

Public Member Functions

 Deleter (DeleteContext &ctx)
 Constructor. More...
 
dberr_t destroy ()
 Free the LOB object. More...
 
dberr_t free_first_page ()
 Free the first page of the BLOB and update the BLOB reference in the clustered index. More...
 

Private Member Functions

void x_latch_rec_page ()
 Obtain an x-latch on the clustered index record page. More...
 
bool validate_page_type (const page_t *page) const
 Validate the page type of the given page frame. More...
 
bool validate_zblob_page_type (const page_t *page) const
 Check if the page type is set correctly. More...
 
bool validate_blob_page_type (const page_t *page) const
 Check if the page type is set correctly. More...
 
bool can_free () const
 Check if the BLOB can be freed. More...
 

Private Attributes

DeleteContextm_ctx
 
mtr_t m_mtr
 

Constructor & Destructor Documentation

◆ Deleter()

lob::Deleter::Deleter ( DeleteContext ctx)
inline

Constructor.

Member Function Documentation

◆ can_free()

bool Deleter< class >::can_free ( ) const
private

Check if the BLOB can be freed.

If the clustered index record is not the owner of the LOB, then it cannot be freed. Also, during rollback, if inherited flag is set, then LOB will not be freed.

Returns
true if the BLOB can be freed, false otherwise.

◆ destroy()

dberr_t Deleter< class >::destroy ( )

Free the LOB object.

Returns
DB_SUCCESS on success.

◆ free_first_page()

dberr_t Deleter< class >::free_first_page ( )

Free the first page of the BLOB and update the BLOB reference in the clustered index.

Returns
DB_SUCCESS on pass, error code on failure.

◆ validate_blob_page_type()

bool lob::Deleter::validate_blob_page_type ( const page_t page) const
inlineprivate

Check if the page type is set correctly.

Parameters
[in]pagethe page frame.
Returns
true if page type is correct.

◆ validate_page_type()

bool lob::Deleter::validate_page_type ( const page_t page) const
inlineprivate

Validate the page type of the given page frame.

Parameters
[in]pagethe page frame.
Returns
true if valid, false otherwise.

◆ validate_zblob_page_type()

bool lob::Deleter::validate_zblob_page_type ( const page_t page) const
inlineprivate

Check if the page type is set correctly.

Parameters
[in]pagethe page frame.
Returns
true if page type is correct.

◆ x_latch_rec_page()

void Deleter< class >::x_latch_rec_page ( )
private

Obtain an x-latch on the clustered index record page.

Member Data Documentation

◆ m_ctx

DeleteContext& lob::Deleter::m_ctx
private

◆ m_mtr

mtr_t lob::Deleter::m_mtr
private

The documentation for this class was generated from the following files: