ClickHouse/src/Core/InterpolateDescription.h

34 lines
896 B
C++
Raw Normal View History

#pragma once
#include <unordered_map>
#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>
namespace DB
{
/// Interpolate description
struct InterpolateDescription
{
2022-03-30 20:34:19 +00:00
explicit InterpolateDescription(ActionsDAGPtr actions, const Aliases & aliases);
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
};
using InterpolateDescriptionPtr = std::shared_ptr<InterpolateDescription>;
}