aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/clickhouse/src/Core/InterpolateDescription.h
blob: 8aabce1470e5831cfa7fe590be875d52431e456f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#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>
#include <Interpreters/Aliases.h>


namespace DB
{

/// Interpolate description
struct InterpolateDescription
{
    explicit InterpolateDescription(ActionsDAGPtr actions, const Aliases & aliases);

    ActionsDAGPtr actions;

    std::unordered_map<std::string, NameAndTypePair> required_columns_map; /// input column name -> {alias, type}
    std::unordered_set<std::string> result_columns_set; /// result block columns
    std::vector<std::string> result_columns_order; /// result block columns order
};

using InterpolateDescriptionPtr = std::shared_ptr<InterpolateDescription>;

}