MySQL 8.0.40
Source Code Documentation
row0ext.h File Reference

Caching of externally stored column prefixes. More...

#include "data0types.h"
#include "dict0types.h"
#include "mem0mem.h"
#include "page0size.h"
#include "row0types.h"
#include "univ.i"
#include "row0ext.ic"

Go to the source code of this file.

Classes

struct  row_ext_t
 Prefixes of externally stored columns. More...
 

Functions

row_ext_trow_ext_create_func (const dict_index_t *index, ulint n_ext, const ulint *ext, uint32_t flags, const dtuple_t *tuple, bool is_sdi, mem_heap_t *heap)
 Creates a cache of column prefixes of externally stored columns. More...
 
static row_ext_trow_ext_create (const dict_index_t *index, ulint n_ext, const ulint *ext, uint32_t flags, const dtuple_t *tuple, bool is_sdi, mem_heap_t *heap)
 
static const byterow_ext_lookup_ith (const row_ext_t *ext, ulint i, ulint *len)
 Looks up a column prefix of an externally stored column. More...
 
static const byterow_ext_lookup (const row_ext_t *ext, ulint col, ulint *len)
 Looks up a column prefix of an externally stored column. More...
 
std::ostream & operator<< (std::ostream &out, const row_ext_t &obj)
 

Detailed Description

Caching of externally stored column prefixes.

Created September 2006 Marko Makela

Function Documentation

◆ operator<<()

std::ostream & operator<< ( std::ostream &  out,
const row_ext_t obj 
)
inline

◆ row_ext_create()

static row_ext_t * row_ext_create ( const dict_index_t index,
ulint  n_ext,
const ulint ext,
uint32_t  flags,
const dtuple_t tuple,
bool  is_sdi,
mem_heap_t heap 
)
inlinestatic

◆ row_ext_create_func()

row_ext_t * row_ext_create_func ( const dict_index_t index,
ulint  n_ext,
const ulint ext,
uint32_t  flags,
const dtuple_t tuple,
bool  is_sdi,
mem_heap_t heap 
)

Creates a cache of column prefixes of externally stored columns.

Parameters
[in]indexthe index to which LOB belongs.
[in]n_extnumber of externally stored columns
[in]extcol_no's of externally stored columns in the InnoDB table object, as reported by dict_col_get_no(); NOT relative to the records in the clustered index
[in]flagstable->flags
[in]tupledata tuple containing the field references of the externally stored columns; must be indexed by col_no; the clustered index record must be covered by a lock or a page latch to prevent deletion (rollback or purge)
[in]is_sditrue for SDI Indexes
[in,out]heapheap where created
Returns
own: column prefix cache

◆ row_ext_lookup()

static const byte * row_ext_lookup ( const row_ext_t ext,
ulint  col,
ulint len 
)
inlinestatic

Looks up a column prefix of an externally stored column.

Parameters
[in]extcolumn prefix cache
[in]colcolumn number in the InnoDB table object, as reported by dict_col_get_no(); NOT relative to the records in the clustered index
[out]lenlength of prefix, in bytes, at most the length determined by DICT_MAX_FIELD_LEN_BY_FORMAT()
Returns
column prefix, or NULL if the column is not stored externally, or pointer to field_ref_zero if the BLOB pointer is unset

◆ row_ext_lookup_ith()

static const byte * row_ext_lookup_ith ( const row_ext_t ext,
ulint  i,
ulint len 
)
inlinestatic

Looks up a column prefix of an externally stored column.

Parameters
[in,out]extcolumn prefix cache
[in]iindex of ext->ext[]
[out]lenlength of prefix, in bytes, at most the length determined by DICT_MAX_FIELD_LEN_BY_FORMAT()
Returns
column prefix, or NULL if the column is not stored externally, or pointer to field_ref_zero if the BLOB pointer is unset