MySQL 8.0.39
Source Code Documentation
|
The subclass of the multi-value entry builder, for non-INSERT cases, With this class, there should be no need to build separate entries for different values in the same multi-value field. More...
#include <row0row.h>
Public Member Functions | |
Multi_value_entry_builder_normal (const dtuple_t *row, const row_ext_t *ext, dict_index_t *index, mem_heap_t *heap, bool check, bool selected) | |
Constructor. More... | |
Public Member Functions inherited from Multi_value_entry_builder | |
Multi_value_entry_builder (dict_index_t *index, dtuple_t *entry, bool selected) | |
Constructor. More... | |
virtual | ~Multi_value_entry_builder ()=default |
dtuple_t * | begin (uint32_t pos=0) |
Get the first index entry. More... | |
dtuple_t * | next () |
Get next index entry based on next multi-value data. More... | |
uint32_t | last_multi_value_position () const |
Get the position of last generated multi-value data. More... | |
Private Member Functions | |
dfield_t * | find_multi_value_field () override |
Find the multi-value field from the passed in entry or row. More... | |
void | prepare_entry_if_necessary () override |
Prepare the entry when the entry is not passed in. More... | |
uint32_t | skip () override |
Skip the not selected values and stop m_pos at the next selected one. More... | |
Private Attributes | |
const dtuple_t * | m_row |
Based on which complete row to build the index row. More... | |
const row_ext_t * | m_ext |
Externally stored column prefixes, or nullptr. More... | |
mem_heap_t * | m_heap |
Memory heap. More... | |
const bool | m_check |
True if dfield type should be checked, otherwise false. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Multi_value_entry_builder | |
virtual bool | prepare_multi_value_field () |
Prepare the corresponding multi-value field from the row. More... | |
Protected Attributes inherited from Multi_value_entry_builder | |
dict_index_t * | m_index |
Based on which index to build the entry. More... | |
const bool | m_selected |
True if only the selected(bitmap set) multi-value data would be used to build the entries, otherwise false. More... | |
dtuple_t * | m_entry |
Entry built for the index. More... | |
uint32_t | m_pos |
Multi-value data position. More... | |
const multi_value_data * | m_mv_data |
Multi-value data. More... | |
uint32_t | m_mv_field_no |
Field number of multi-value data on the index. More... | |
The subclass of the multi-value entry builder, for non-INSERT cases, With this class, there should be no need to build separate entries for different values in the same multi-value field.
|
inline |
Constructor.
[in] | row | based on which complete row to build the index row |
[in] | ext | externally stored column prefixes of the row |
[in,out] | index | multi-value index |
[in,out] | heap | memory heap |
[in] | check | true if type can be checked, otherwise skip checking |
[in] | selected | true if only the selected(bitmap set) multi-value data would be used to build the entries, otherwise false. |
|
overrideprivatevirtual |
Find the multi-value field from the passed in entry or row.
m_mv_field_no should be set once the multi-value field found.
Implements Multi_value_entry_builder.
|
inlineoverrideprivatevirtual |
Prepare the entry when the entry is not passed in.
Reimplemented from Multi_value_entry_builder.
|
inlineoverrideprivatevirtual |
Skip the not selected values and stop m_pos at the next selected one.
Reimplemented from Multi_value_entry_builder.
|
private |
True if dfield type should be checked, otherwise false.
|
private |
Externally stored column prefixes, or nullptr.
|
private |
Memory heap.
|
private |
Based on which complete row to build the index row.