MySQL 8.0.39
Source Code Documentation
temptable_aggregate_iterator Namespace Reference

Functions

RowIteratorCreateIterator (THD *thd, unique_ptr_destroy_only< RowIterator > subquery_iterator, Temp_table_param *temp_table_param, TABLE *table, unique_ptr_destroy_only< RowIterator > table_iterator, JOIN *join, int ref_slice)
 Create an iterator that aggregates the output rows from another iterator into a temporary table and then sets up a (pre-existing) iterator to access the temporary table. More...
 

Function Documentation

◆ CreateIterator()

RowIterator * temptable_aggregate_iterator::CreateIterator ( THD thd,
unique_ptr_destroy_only< RowIterator subquery_iterator,
Temp_table_param temp_table_param,
TABLE table,
unique_ptr_destroy_only< RowIterator table_iterator,
JOIN join,
int  ref_slice 
)

Create an iterator that aggregates the output rows from another iterator into a temporary table and then sets up a (pre-existing) iterator to access the temporary table.

See also
TemptableAggregateIterator.
Parameters
thdThread handler.
subquery_iteratorinput to aggregation.
temp_table_paramtemporary table settings.
table_iteratorIterator used for scanning the temporary table after materialization.
tablethe temporary table.
jointhe JOIN in which we aggregate.
ref_slicethe slice to set when accessing temporary table; used if anything upstream wants to evaluate values based on its contents.
Returns
the iterator.