MySQL 9.1.0
Source Code Documentation
|
Class to build a series of entries based on one multi-value field. More...
#include <row0row.h>
Public Member Functions | |
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... | |
Protected Member Functions | |
virtual dfield_t * | find_multi_value_field ()=0 |
Find the multi-value field from the passed in entry or row. More... | |
virtual bool | prepare_multi_value_field () |
Prepare the corresponding multi-value field from the row. More... | |
virtual void | prepare_entry_if_necessary () |
Prepare the entry when the entry is not passed in. More... | |
virtual uint32_t | skip () |
Skip the not selected values and stop m_pos at the next selected one. More... | |
Protected Attributes | |
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... | |
Class to build a series of entries based on one multi-value field.
It assumes that there is only one multi-value field on multi-value index.
|
inline |
Constructor.
|
virtualdefault |
|
inline |
Get the first index entry.
If the multi-value field on the index is null, then it's the entry including the null field, otherwise, it should be the entry with multi-value data at the 'pos' position.
[in] | pos | position of the multi-value array, default value will always start from 0 |
|
protectedpure virtual |
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.
Implemented in Multi_value_entry_builder_normal, and Multi_value_entry_builder_insert.
|
inline |
Get the position of last generated multi-value data.
|
inline |
Get next index entry based on next multi-value data.
If the previous value is null, then always no next.
|
inlineprotectedvirtual |
Prepare the entry when the entry is not passed in.
Reimplemented in Multi_value_entry_builder_normal.
|
inlineprotectedvirtual |
Prepare the corresponding multi-value field from the row.
This function will set the m_mv_data if the proper field found.
|
inlineprotectedvirtual |
Skip the not selected values and stop m_pos at the next selected one.
Reimplemented in Multi_value_entry_builder_normal.
|
protected |
Entry built for the index.
|
protected |
Based on which index to build the entry.
|
protected |
Multi-value data.
|
protected |
Field number of multi-value data on the index.
|
protected |
Multi-value data position.
|
protected |
True if only the selected(bitmap set) multi-value data would be used to build the entries, otherwise false.