| 80 | } |
| 81 | |
| 82 | static std::vector<AggregateFunction> getAggFunctions(const expression_vector& aggregates) { |
| 83 | std::vector<AggregateFunction> aggregateFunctions; |
| 84 | for (auto& expression : aggregates) { |
| 85 | auto aggExpr = expression->constPtrCast<AggregateFunctionExpression>(); |
| 86 | aggregateFunctions.push_back(aggExpr->getFunction().copy()); |
| 87 | } |
| 88 | return aggregateFunctions; |
| 89 | } |
| 90 | |
| 91 | static void writeAggResultWithNullToVector(ValueVector& vector, uint64_t pos, |
| 92 | AggregateState* aggregateState) { |
no test coverage detected