Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AfFinalResult ¶
type AfFinalResult struct {
// contains filtered or unexported fields
}
AfFinalResult indicates aggregation functions final result.
type HashAggExec ¶
type HashAggExec struct { PartialAggFuncs []aggfuncs.AggFunc FinalAggFuncs []aggfuncs.AggFunc GroupByItems []expression.Expression // contains filtered or unexported fields }
HashAggExec deals with all the aggregate functions. It is built from the Aggregate Plan. When Next() is called, it reads all the data from Src and updates all the items in PartialAggFuncs. The parallel execution flow is as the following graph shows:
+-------------+ | Main Thread | +------+------+ ^ | + +-+- +-+ | | ...... | | finalOutputCh +++- +-+ ^ | +---------------+ | | +--------------+ +--------------+ | final worker | ...... | final worker | +------------+-+ +-+------------+ ^ ^ | | +-+ +-+ ...... +-+ | | | | | | ... ... ... partialOutputChs | | | | | | +++ +++ +++ ^ ^ ^ +-+ | | | | | +--------o----+ |
inputCh +-+ | +-----------------+---+
| | | | ... +---+------------+ +----+-----------+ | | | partial worker | ...... | partial worker | +++ +--------------+-+ +-+--------------+ | ^ ^ | | | +----v---------+ +++ +-+ +++ | data fetcher | +------> | | | | ...... | | partialInputChs +--------------+ +-+ +-+ +-+
func (*HashAggExec) Close ¶
func (e *HashAggExec) Close() error
Close implements the Interlock Close interface.
type HashAggFinalWorker ¶
type HashAggFinalWorker struct {
// contains filtered or unexported fields
}
HashAggFinalWorker indicates the final workers of parallel hash agg execution, the number of the worker can be set by `MilevaDB_hashagg_final_concurrency`.
type HashAggInput ¶
type HashAggInput struct {
// contains filtered or unexported fields
}
HashAggInput indicates the input of hash agg exec.
type HashAggIntermData ¶
type HashAggIntermData struct {
// contains filtered or unexported fields
}
HashAggIntermData indicates the intermediate data of aggregation execution.
type HashAggPartialWorker ¶
type HashAggPartialWorker struct {
// contains filtered or unexported fields
}
HashAggPartialWorker indicates the partial workers of parallel hash agg execution, the number of the worker can be set by `MilevaDB_hashagg_partial_concurrency`.