MySQL 8.0.40
Source Code Documentation
Row_sel_get_clust_rec_for_mysql Class Reference

Helper class to cache clust_rec and old_ver. More...

Public Member Functions

 Row_sel_get_clust_rec_for_mysql ()
 Constructor. More...
 
dberr_t operator() (row_prebuilt_t *prebuilt, dict_index_t *sec_index, const rec_t *rec, que_thr_t *thr, const rec_t **out_rec, ulint **offsets, mem_heap_t **offset_heap, const dtuple_t **vrow, mtr_t *mtr, lob::undo_vers_t *lob_undo)
 Retrieve the clustered index record corresponding to a record in a non-clustered index. More...
 

Private Attributes

const rec_tcached_clust_rec
 
rec_tcached_old_vers
 

Detailed Description

Helper class to cache clust_rec and old_ver.

Constructor & Destructor Documentation

◆ Row_sel_get_clust_rec_for_mysql()

Row_sel_get_clust_rec_for_mysql::Row_sel_get_clust_rec_for_mysql ( )
inline

Constructor.

Member Function Documentation

◆ operator()()

dberr_t Row_sel_get_clust_rec_for_mysql::operator() ( row_prebuilt_t prebuilt,
dict_index_t sec_index,
const rec_t rec,
que_thr_t thr,
const rec_t **  out_rec,
ulint **  offsets,
mem_heap_t **  offset_heap,
const dtuple_t **  vrow,
mtr_t mtr,
lob::undo_vers_t lob_undo 
)

Retrieve the clustered index record corresponding to a record in a non-clustered index.

Does the necessary locking.

Parameters
[in]prebuiltprebuilt struct in the handle
[in]sec_indexsecondary index where rec resides
[in]recrecord in a non-clustered index
[in]thrquery thread
[out]out_recclustered record or an old version of it, NULL if the old version did not exist in the read view, i.e., it was a fresh inserted version
[in,out]offsetsin: offsets returned by rec_get_offsets(rec, sec_index); out: offsets returned by rec_get_offsets(out_rec, clust_index)
[in,out]offset_heapmemory heap from which the offsets are allocated
[out]vrowvirtual column to fill
[in]mtrmtr used to get access to the non-clustered record; the same mtr is used to access the clustered index
[in]lob_undothe LOB undo information.
Returns
DB_SUCCESS, DB_SUCCESS_LOCKED_REC, or error code

Does the necessary locking.

Returns
DB_SUCCESS, DB_SUCCESS_LOCKED_REC, or error code

Member Data Documentation

◆ cached_clust_rec

const rec_t* Row_sel_get_clust_rec_for_mysql::cached_clust_rec
private

◆ cached_old_vers

rec_t* Row_sel_get_clust_rec_for_mysql::cached_old_vers
private

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