24#ifndef SQL_RANGE_OPTIMIZER_INDEX_MERGE_H_
25#define SQL_RANGE_OPTIMIZER_INDEX_MERGE_H_
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
unique_ptr_destroy_only< Unique > unique
Definition: index_merge.h:113
bool DoInit() override
Definition: index_merge.cc:103
int DoRead() override
Definition: index_merge.cc:220
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
A typesafe replacement for DYNAMIC_ARRAY.
Definition: mem_root_array.h:432
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:255
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:169
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
Definition: row_iterator.h:267
TABLE * table() const
Definition: row_iterator.h:279
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:480
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