MySQL  8.0.22
Source Code Documentation
lob0lob.cc File Reference
#include <sys/types.h>
#include "btr0pcur.h"
#include "fil0fil.h"
#include "lob0first.h"
#include "lob0inf.h"
#include "lob0lob.h"
#include "lob0zip.h"
#include "row0upd.h"
#include "zlob0first.h"
#include "my_dbug.h"

Classes

struct  lob::Being_modified
 This is used to take action when we enter and exit a scope. More...
 

Namespaces

 lob
 Provides the large objects (LOB) module.
 

Functions

ulint lob::btr_rec_get_field_ref_offs (const ulint *offsets, ulint n)
 Gets the offset of the pointer to the externally stored part of a field. More...
 
dberr_t lob::btr_store_big_rec_extern_fields (trx_t *trx, btr_pcur_t *pcur, const upd_t *upd, ulint *offsets, const big_rec_t *big_rec_vec, mtr_t *btr_mtr, opcode op)
 Stores the fields in big_rec_vec to the tablespace and puts pointers to them in rec. More...
 
bytelob::btr_rec_copy_externally_stored_field_func (trx_t *trx, const dict_index_t *index, const rec_t *rec, const ulint *offsets, const page_size_t &page_size, ulint no, ulint *len, size_t *lob_version, bool is_sdi, mem_heap_t *heap)
 Copies an externally stored field of a record to mem heap. More...
 
static page_no_t lob::btr_blob_get_next_page_no (const byte *blob_header)
 Returns the page number where the next BLOB part is stored. More...
 
static void lob::btr_check_blob_fil_page_type (space_id_t space_id, page_no_t page_no, const page_t *page, ibool read)
 Check the FIL_PAGE_TYPE on an uncompressed BLOB page. More...
 
static ulint lob::btr_blob_get_part_len (const byte *blob_header)
 Returns the length of a BLOB part stored on the header page. More...
 
ulint lob::btr_copy_externally_stored_field_prefix_func (trx_t *trx, const dict_index_t *index, byte *buf, ulint len, const page_size_t &page_size, const byte *data, bool is_sdi, ulint local_len)
 Copies the prefix of an externally stored field of a record. More...
 
bytelob::btr_copy_externally_stored_field_func (trx_t *trx, const dict_index_t *index, ulint *len, size_t *lob_version, const byte *data, const page_size_t &page_size, ulint local_len, bool is_sdi, mem_heap_t *heap)
 Copies an externally stored field of a record to mem heap. More...
 
void lob::blob_free (dict_index_t *index, buf_block_t *block, bool all, mtr_t *mtr)
 Deallocate a buffer block that was reserved for a BLOB part. More...
 
ulint lob::btr_rec_get_externally_stored_len (const rec_t *rec, const ulint *offsets)
 Gets the externally stored size of a record, in units of a database page. More...
 
bool lob::rec_check_lobref_space_id (dict_index_t *index, const rec_t *rec, const ulint *offsets)
 Check if all the LOB references in the given clustered index record has valid space_id in it. More...
 
dberr_t lob::mark_not_partially_updatable (trx_t *trx, dict_index_t *index, const upd_t *update, const mtr_t *btr_mtr)
 Mark an LOB that it is not partially updatable anymore. More...