ClickHouse
41 строка · 998.0 Байт
1#include "AggregateFunctionState.h"2#include "AggregateFunctionMerge.h"3#include "AggregateFunctionCombinatorFactory.h"4
5#include <DataTypes/DataTypeAggregateFunction.h>6
7
8namespace DB9{
10
11namespace
12{
13
14class AggregateFunctionCombinatorState final : public IAggregateFunctionCombinator15{
16public:17String getName() const override { return "State"; }18
19DataTypes transformArguments(const DataTypes & arguments) const override20{21return arguments;22}23
24AggregateFunctionPtr transformAggregateFunction(25const AggregateFunctionPtr & nested_function,26const AggregateFunctionProperties &,27const DataTypes & arguments,28const Array & params) const override29{30return std::make_shared<AggregateFunctionState>(nested_function, arguments, params);31}32};33
34}
35
36void registerAggregateFunctionCombinatorState(AggregateFunctionCombinatorFactory & factory)37{
38factory.registerCombinator(std::make_shared<AggregateFunctionCombinatorState>());39}
40
41}
42