|  | MySQL 9.5.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.