mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-21 09:10:48 +00:00
style
This commit is contained in:
parent
b676a292d4
commit
d9c35c3242
@ -1,18 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
#include <IO/WriteHelpers.h>
|
||||
#include <IO/ReadHelpers.h>
|
||||
#include <IO/WriteHelpers.h>
|
||||
|
||||
#include <DataTypes/DataTypesNumber.h>
|
||||
#include <DataTypes/DataTypesDecimal.h>
|
||||
#include <Columns/ColumnsNumber.h>
|
||||
#include <DataTypes/DataTypesDecimal.h>
|
||||
#include <DataTypes/DataTypesNumber.h>
|
||||
|
||||
#include <AggregateFunctions/IAggregateFunction.h>
|
||||
|
||||
|
||||
namespace DB
|
||||
{
|
||||
|
||||
namespace ErrorCodes
|
||||
{
|
||||
extern const int LOGICAL_ERROR;
|
||||
@ -37,7 +36,6 @@ struct AggregateFunctionAvgData
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/// Calculates arithmetic mean of numbers.
|
||||
template <typename Data, typename T, typename F>
|
||||
class AggregateFunctionAvgBase : public IAggregateFunctionDataHelper<Data, F>
|
||||
@ -49,16 +47,13 @@ public:
|
||||
using ColVecResult = std::conditional_t<IsDecimalNumber<T>, ColumnDecimal<T>, ColumnVector<Float64>>;
|
||||
|
||||
/// ctor for native types
|
||||
AggregateFunctionAvgBase(const DataTypes & argument_types_)
|
||||
: IAggregateFunctionDataHelper<Data, F>(argument_types_, {})
|
||||
, scale(0)
|
||||
{}
|
||||
AggregateFunctionAvgBase(const DataTypes & argument_types_) : IAggregateFunctionDataHelper<Data, F>(argument_types_, {}), scale(0) {}
|
||||
|
||||
/// ctor for Decimals
|
||||
AggregateFunctionAvgBase(const IDataType & data_type, const DataTypes & argument_types_)
|
||||
: IAggregateFunctionDataHelper<Data, F>(argument_types_, {})
|
||||
, scale(getDecimalScale(data_type))
|
||||
{}
|
||||
: IAggregateFunctionDataHelper<Data, F>(argument_types_, {}), scale(getDecimalScale(data_type))
|
||||
{
|
||||
}
|
||||
|
||||
DataTypePtr getReturnType() const override
|
||||
{
|
||||
@ -98,18 +93,19 @@ protected:
|
||||
UInt32 scale;
|
||||
};
|
||||
|
||||
|
||||
template <typename T, typename Data>
|
||||
class AggregateFunctionAvg final : public AggregateFunctionAvgBase<Data, T, AggregateFunctionAvg<T, Data>>
|
||||
class AggregateFunctionAvg final : public AggregateFunctionAvgBase<Data, T, AggregateFunctionAvg<T, Data>>
|
||||
{
|
||||
public:
|
||||
|
||||
AggregateFunctionAvg(const DataTypes & argument_types_)
|
||||
: AggregateFunctionAvgBase<Data, T, AggregateFunctionAvg<T, Data>>(argument_types_) {}
|
||||
|
||||
: AggregateFunctionAvgBase<Data, T, AggregateFunctionAvg<T, Data>>(argument_types_)
|
||||
{
|
||||
}
|
||||
|
||||
AggregateFunctionAvg(const IDataType & data_type, const DataTypes & argument_types_)
|
||||
: AggregateFunctionAvgBase<Data, T, AggregateFunctionAvg<T, Data>>(data_type, argument_types_)
|
||||
{}
|
||||
: AggregateFunctionAvgBase<Data, T, AggregateFunctionAvg<T, Data>>(data_type, argument_types_)
|
||||
{
|
||||
}
|
||||
|
||||
using ColVecType = std::conditional_t<IsDecimalNumber<T>, ColumnDecimal<T>, ColumnVector<T>>;
|
||||
void add(AggregateDataPtr place, const IColumn ** columns, size_t row_num, Arena *) const override
|
||||
@ -120,7 +116,6 @@ public:
|
||||
}
|
||||
|
||||
String getName() const override { return "avg"; }
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -4,8 +4,6 @@
|
||||
|
||||
namespace DB
|
||||
{
|
||||
|
||||
|
||||
template <typename T>
|
||||
struct AggregateFunctionAvgWeightedData
|
||||
{
|
||||
@ -29,15 +27,17 @@ template <typename T, typename Data>
|
||||
class AggregateFunctionAvgWeighted final : public AggregateFunctionAvgBase<Data, T, AggregateFunctionAvgWeighted<T, Data>>
|
||||
{
|
||||
public:
|
||||
AggregateFunctionAvgWeighted(const DataTypes & argument_types_)
|
||||
: AggregateFunctionAvgBase<Data, T, AggregateFunctionAvgWeighted<T, Data>>(argument_types_)
|
||||
{
|
||||
}
|
||||
|
||||
AggregateFunctionAvgWeighted(const DataTypes & argument_types_)
|
||||
: AggregateFunctionAvgBase<Data, T, AggregateFunctionAvgWeighted<T, Data>>(argument_types_) {}
|
||||
|
||||
AggregateFunctionAvgWeighted(const IDataType & data_type, const DataTypes & argument_types_)
|
||||
: AggregateFunctionAvgBase<Data, T, AggregateFunctionAvgWeighted<T, Data>>(data_type, argument_types_)
|
||||
{}
|
||||
AggregateFunctionAvgWeighted(const IDataType & data_type, const DataTypes & argument_types_)
|
||||
: AggregateFunctionAvgBase<Data, T, AggregateFunctionAvgWeighted<T, Data>>(data_type, argument_types_)
|
||||
{
|
||||
}
|
||||
|
||||
using ColVecType = std::conditional_t<IsDecimalNumber<T>, ColumnDecimal<T>, ColumnVector<T>>;
|
||||
using ColVecType = std::conditional_t<IsDecimalNumber<T>, ColumnDecimal<T>, ColumnVector<T>>;
|
||||
void add(AggregateDataPtr place, const IColumn ** columns, size_t row_num, Arena *) const override
|
||||
{
|
||||
const auto & values = static_cast<const ColVecType &>(*columns[0]);
|
||||
@ -48,7 +48,6 @@ public:
|
||||
}
|
||||
|
||||
String getName() const override { return "avgWeighted"; }
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user