MCPcopy Create free account
hub / github.com/ByConity/ByConity / finalizeAggregates

Method finalizeAggregates

src/DataStreams/TTLAggregationAlgorithm.cpp:204–232  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

202}
203
204void TTLAggregationAlgorithm::finalizeAggregates(MutableColumns & result_columns)
205{
206 if (!aggregation_result.empty())
207 {
208 auto aggregated_res = aggregator->convertToBlocks(aggregation_result, true, 1);
209
210 for (auto & agg_block : aggregated_res)
211 {
212 for (const auto & it : description.set_parts)
213 it.expression->execute(agg_block);
214
215 for (const auto & name : description.group_by_keys)
216 {
217 const IColumn * values_column = agg_block.getByName(name).column.get();
218 auto & result_column = result_columns[header.getPositionByName(name)];
219 result_column->insertRangeFrom(*values_column, 0, agg_block.rows());
220 }
221
222 for (const auto & it : description.set_parts)
223 {
224 const IColumn * values_column = agg_block.getByName(it.expression_result_column_name).column.get();
225 auto & result_column = result_columns[header.getPositionByName(it.column_name)];
226 result_column->insertRangeFrom(*values_column, 0, agg_block.rows());
227 }
228 }
229 }
230
231 aggregation_result.invalidate();
232}
233
234void TTLAggregationAlgorithm::finalize(const MutableDataPartPtr & data_part) const
235{

Callers

nothing calls this directly

Calls 9

convertToBlocksMethod · 0.80
getByNameMethod · 0.80
emptyMethod · 0.45
executeMethod · 0.45
getMethod · 0.45
getPositionByNameMethod · 0.45
insertRangeFromMethod · 0.45
rowsMethod · 0.45
invalidateMethod · 0.45

Tested by

no test coverage detected