24#ifndef SQL_RANGE_OPTIMIZER_INDEX_MERGE_H_
25#define SQL_RANGE_OPTIMIZER_INDEX_MERGE_H_
109 bool Init()
override;
Definition: index_merge.h:99
unique_ptr_destroy_only< RowIterator > pk_quick_select
Definition: index_merge.h:119
unique_ptr_destroy_only< RowIterator > read_record
Definition: index_merge.h:116
~IndexMergeIterator() override
Definition: index_merge.cc:65
Mem_root_array< unique_ptr_destroy_only< RowIterator > > m_children
Definition: index_merge.h:122
MEM_ROOT * mem_root
Definition: index_merge.h:127
bool doing_pk_scan
Definition: index_merge.h:125
int Read() override
Read a single row.
Definition: index_merge.cc:220
unique_ptr_destroy_only< Unique > unique
Definition: index_merge.h:113
IndexMergeIterator(THD *thd, MEM_ROOT *mem_root, TABLE *table, unique_ptr_destroy_only< RowIterator > pk_quick_select, Mem_root_array< unique_ptr_destroy_only< RowIterator > > children)
Definition: index_merge.cc:56
bool Init() override
Initialize or reinitialize the iterator.
Definition: index_merge.cc:103
A typesafe replacement for DYNAMIC_ARRAY.
Definition: mem_root_array.h:426
A context for reading through a single table using a chosen access method: index read,...
Definition: row_iterator.h:82
THD * thd() const
Definition: row_iterator.h:228
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:168
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:34
Definition: row_iterator.h:234
TABLE * table() const
Definition: row_iterator.h:246
Unique – class for unique (removing of duplicates).
Definition: uniques.h:53
This file follows Google coding style, except for the name MEM_ROOT (which is kept for historical rea...
std::unique_ptr< T, Destroy_only< T > > unique_ptr_destroy_only
std::unique_ptr, but only destroying.
Definition: my_alloc.h:489
The MEM_ROOT is a simple arena, where allocations are carved out of larger blocks.
Definition: my_alloc.h:83
Definition: my_bitmap.h:43