ClickHouse
37 строк · 1.2 Кб
1#include <Core/Block.h>2#include <IO/Operators.h>3#include <Common/JSONBuilder.h>4#include <Core/InterpolateDescription.h>5#include <Interpreters/convertFieldToType.h>6#include <Core/SettingsEnums.h>7#include <Common/IntervalKind.h>8#include <Parsers/ASTOrderByElement.h>9#include <Parsers/ASTInterpolateElement.h>10#include <Interpreters/Aliases.h>11#include <Interpreters/ActionsDAG.h>12
13
14namespace DB15{
16InterpolateDescription::InterpolateDescription(ActionsDAGPtr actions_, const Aliases & aliases)17: actions(actions_)18{19for (const auto & name_type : actions->getRequiredColumns())20{21if (const auto & p = aliases.find(name_type.name); p != aliases.end())22required_columns_map[p->second->getColumnName()] = name_type;23else24required_columns_map[name_type.name] = name_type;25}26
27for (const ColumnWithTypeAndName & column : actions->getResultColumns())28{29std::string name = column.name;30if (const auto & p = aliases.find(name); p != aliases.end())31name = p->second->getColumnName();32
33result_columns_set.insert(name);34result_columns_order.push_back(name);35}36}37}
38