HashAgg
buildHashAgg
HashAggExec
HashAggExec 主要有如下几种gorotine, 他们之间通过ch来协作,每个go routine 主要功能如下
fetchChildData负责从child Exec中读取chunk数据HashAggPartialWorker处理fetchChildData的输出数据,调用AggFunc的UpdatePartialResult, 做一个预处理.HashAggFinalWorker处理HashAggPartialWorker的输出数据,调用AggFunc的MergePartialResult和AppendFinalResult2Chunk, 输出最终结果到finalOutputCh中HashAggExec.Next从finalOutputCh中获取最后结果,输出给上层调用者。