2014-12-30 12:58:02 +00:00
|
|
|
#pragma once
|
|
|
|
|
2020-12-09 11:14:40 +00:00
|
|
|
#include <AggregateFunctions/IAggregateFunction.h>
|
2017-04-01 09:19:00 +00:00
|
|
|
#include <Core/ColumnNumbers.h>
|
|
|
|
#include <Core/Names.h>
|
2021-01-30 01:16:44 +00:00
|
|
|
#include <Core/Types.h>
|
2014-12-30 12:58:02 +00:00
|
|
|
|
|
|
|
namespace DB
|
|
|
|
{
|
|
|
|
|
2021-04-14 14:07:56 +00:00
|
|
|
namespace JSONBuilder { class JSONMap; }
|
|
|
|
|
2014-12-30 12:58:02 +00:00
|
|
|
struct AggregateDescription
|
|
|
|
{
|
|
|
|
AggregateFunctionPtr function;
|
2017-06-02 21:37:28 +00:00
|
|
|
Array parameters; /// Parameters of the (parametric) aggregate function.
|
2022-06-27 11:16:52 +00:00
|
|
|
Names argument_names;
|
2017-06-02 21:37:28 +00:00
|
|
|
String column_name; /// What name to use for a column with aggregate function values
|
2020-06-23 16:06:56 +00:00
|
|
|
|
2020-07-07 19:51:32 +00:00
|
|
|
void explain(WriteBuffer & out, size_t indent) const; /// Get description for EXPLAIN query.
|
2021-04-14 14:07:56 +00:00
|
|
|
void explain(JSONBuilder::JSONMap & map) const;
|
2014-12-30 12:58:02 +00:00
|
|
|
};
|
|
|
|
|
2016-05-28 10:35:44 +00:00
|
|
|
using AggregateDescriptions = std::vector<AggregateDescription>;
|
2014-12-30 12:58:02 +00:00
|
|
|
}
|