2022-03-17 05:51:35 +00:00
|
|
|
#pragma once
|
|
|
|
|
2022-03-24 19:29:29 +00:00
|
|
|
#include <unordered_map>
|
2022-03-17 05:51:35 +00:00
|
|
|
#include <memory>
|
|
|
|
#include <cstddef>
|
|
|
|
#include <string>
|
|
|
|
#include <Core/Field.h>
|
|
|
|
#include <Core/SettingsEnums.h>
|
|
|
|
#include <Common/IntervalKind.h>
|
|
|
|
#include <Parsers/ASTOrderByElement.h>
|
|
|
|
#include <Parsers/ASTInterpolateElement.h>
|
|
|
|
#include <Functions/FunctionsMiscellaneous.h>
|
2022-03-28 23:15:53 +00:00
|
|
|
#include <Interpreters/Aliases.h>
|
2022-03-17 05:51:35 +00:00
|
|
|
|
|
|
|
|
|
|
|
namespace DB
|
|
|
|
{
|
|
|
|
|
|
|
|
/// Interpolate description
|
2022-03-24 19:29:29 +00:00
|
|
|
struct InterpolateDescription
|
2022-03-17 05:51:35 +00:00
|
|
|
{
|
2022-03-30 20:34:19 +00:00
|
|
|
explicit InterpolateDescription(ActionsDAGPtr actions, const Aliases & aliases);
|
2022-03-17 05:51:35 +00:00
|
|
|
|
2022-03-30 20:34:19 +00:00
|
|
|
ActionsDAGPtr actions;
|
2022-03-28 23:15:53 +00:00
|
|
|
|
|
|
|
std::unordered_map<std::string, NameAndTypePair> required_columns_map; /// input column name -> {alias, type}
|
2022-03-30 20:34:19 +00:00
|
|
|
std::unordered_set<std::string> result_columns_set; /// result block columns
|
2022-03-31 15:51:13 +00:00
|
|
|
std::vector<std::string> result_columns_order; /// result block columns order
|
2022-03-17 05:51:35 +00:00
|
|
|
};
|
|
|
|
|
2022-03-24 19:29:29 +00:00
|
|
|
using InterpolateDescriptionPtr = std::shared_ptr<InterpolateDescription>;
|
2022-03-17 05:51:35 +00:00
|
|
|
|
|
|
|
}
|