#include <ref_row_iterators.h>
◆ DynamicRangeIterator()
DynamicRangeIterator::DynamicRangeIterator |
( |
THD * |
thd, |
|
|
TABLE * |
table, |
|
|
QEP_TAB * |
qep_tab, |
|
|
ha_rows * |
examined_rows |
|
) |
| |
◆ ~DynamicRangeIterator()
DynamicRangeIterator::~DynamicRangeIterator |
( |
| ) |
|
|
override |
◆ Init()
bool DynamicRangeIterator::Init |
( |
| ) |
|
|
overridevirtual |
Initialize or reinitialize the iterator.
You must always call Init() before trying a Read() (but Init() does not imply Read()).
You can call Init() multiple times; subsequent calls will rewind the iterator (or reposition it, depending on whether the iterator takes in e.g. a Index_lookup) and allow you to read the records anew.
Implements RowIterator.
◆ Read()
int DynamicRangeIterator::Read |
( |
| ) |
|
|
overridevirtual |
Read a single row.
The row data is not actually returned from the function; it is put in the table's (or tables', in case of a join) record buffer, ie., table->records[0].
- Return values
-
0 | OK |
-1 | End of records |
1 | Error |
Implements RowIterator.
◆ m_examined_rows
ha_rows* const DynamicRangeIterator::m_examined_rows |
|
private |
◆ m_iterator
◆ m_mem_root
MEM_ROOT DynamicRangeIterator::m_mem_root |
|
private |
◆ m_qep_tab
QEP_TAB* DynamicRangeIterator::m_qep_tab |
|
private |
◆ m_quick_traced_before
bool DynamicRangeIterator::m_quick_traced_before = false |
|
private |
Used by optimizer tracing to decide whether or not dynamic range analysis of this select has been traced already.
If optimizer trace option DYNAMIC_RANGE is enabled, range analysis will be traced with different ranges for every record to the left of this table in the join. If disabled, range analysis will only be traced for the first range.
The documentation for this class was generated from the following files: