mtr_t * get_mtr()
Get the associated mini-transaction.
Definition: lob0lob.h:1041
dict_table_t * table() const
Get the table object.
Definition: lob0lob.h:978
dict_index_t * index() const
Get the index object.
Definition: lob0lob.h:974
bool rec_offs_validate() const
Validate the record offsets array.
Definition: lob0lob.h:1032
bool validate_zblob_page_type(const page_t *page) const
Check if the page type is set correctly.
Definition: lob0del.h:74
void x_latch_rec_page()
Obtain an x-latch on the clustered index record page.
Definition: lob0del.cc:33
mtr_t m_mtr
Definition: lob0del.h:119
bool can_free() const
Check if the BLOB can be freed.
Definition: lob0del.cc:139
bool validate_page_type(const page_t *page) const
Validate the page type of the given page frame.
Definition: lob0del.h:66
dberr_t free_first_page()
Free the first page of the BLOB and update the BLOB reference in the clustered index.
Definition: lob0del.cc:57
dberr_t destroy()
Free the LOB object.
Definition: lob0del.cc:107
DeleteContext & m_ctx
Definition: lob0del.h:118
bool validate_blob_page_type(const page_t *page) const
Check if the page type is set correctly.
Definition: lob0del.h:90
Deleter(DeleteContext &ctx)
Constructor.
Definition: lob0del.h:38
int page
Definition: ctype-mb.cc:1236
dberr_t
Definition: db0err.h:39
static rw_lock_t * dict_index_get_lock(dict_index_t *index)
Gets the read-write lock of the index tree.
constexpr page_type_t FIL_PAGE_TYPE_ZBLOB
First compressed BLOB page.
Definition: fil0fil.h:1240
uint16_t page_type_t
Definition: fil0fil.h:1193
constexpr page_type_t FIL_PAGE_TYPE_ZBLOB2
Subsequent compressed BLOB page.
Definition: fil0fil.h:1243
constexpr page_type_t FIL_PAGE_SDI_ZBLOB
Compressed SDI BLOB page.
Definition: fil0fil.h:1265
page_type_t fil_page_get_type(const byte *page)
Get the file page type.
Definition: fil0fil.h:1807
constexpr page_type_t FIL_PAGE_SDI_BLOB
Uncompressed SDI BLOB page.
Definition: fil0fil.h:1262
constexpr page_type_t FIL_PAGE_TYPE_BLOB
Uncompressed BLOB page.
Definition: fil0fil.h:1237
Implements the large objects (LOB) module.
#define mtr_is_page_fix(m, p, t, table)
Check if memo contains the given page ignore if table is intrinsic.
Definition: mtr0mtr.h:102
#define mtr_memo_contains_flagged(m, p, l)
Definition: mtr0mtr.h:137
@ MTR_MEMO_X_LOCK
Definition: mtr0types.h:285
@ MTR_MEMO_PAGE_X_FIX
Definition: mtr0types.h:273
@ MTR_MEMO_SX_LOCK
Definition: mtr0types.h:287
Provides the large objects (LOB) module.
Definition: lob0del.h:32
byte page_t
Type of the index page.
Definition: page0types.h:152
required string type
Definition: replication_group_member_actions.proto:34
bool is_clustered() const
Definition: dict0mem.h:1311
bool is_intrinsic() const
Determine whether the table is intrinsic.
Definition: dict0mem.h:2684
The context information when the delete operation on LOB is taking place.
Definition: lob0lob.h:1380
bool is_compressed() const
Determine if it is compressed page format.
Definition: lob0lob.h:1407
bool validate_blobref() const
Validate the LOB reference object.
Definition: lob0lob.h:1428
bool has_atomic_blobs() const
Check if tablespace supports atomic blobs.
Definition: lob0lob.h:1411
ref_t m_blobref
the BLOB reference or external field reference.
Definition: lob0lob.h:1446
page_t * page_align() const
Get the start of a page containing this blob reference.
Definition: lob0lob.h:463
Mini-transaction handle and buffer.
Definition: mtr0mtr.h:177
#define ut_error
Abort execution.
Definition: ut0dbg.h:65
#define ut_ad(EXPR)
Debug assertion.
Definition: ut0dbg.h:69