MySQL 8.0.40
Source Code Documentation
|
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_t * | cached_clust_rec |
rec_t * | cached_old_vers |
Helper class to cache clust_rec and old_ver.
|
inline |
Constructor.
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.
[in] | prebuilt | prebuilt struct in the handle |
[in] | sec_index | secondary index where rec resides |
[in] | rec | record in a non-clustered index |
[in] | thr | query thread |
[out] | out_rec | clustered 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] | offsets | in: offsets returned by rec_get_offsets(rec, sec_index); out: offsets returned by rec_get_offsets(out_rec, clust_index) |
[in,out] | offset_heap | memory heap from which the offsets are allocated |
[out] | vrow | virtual column to fill |
[in] | mtr | mtr used to get access to the non-clustered record; the same mtr is used to access the clustered index |
[in] | lob_undo | the LOB undo information. |
Does the necessary locking.
|
private |
|
private |