ClickHouse

Форк
0
/
InterpolateDescription.cpp 
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

14
namespace DB
15
{
16
    InterpolateDescription::InterpolateDescription(ActionsDAGPtr actions_, const Aliases & aliases)
17
        : actions(actions_)
18
    {
19
        for (const auto & name_type : actions->getRequiredColumns())
20
        {
21
            if (const auto & p = aliases.find(name_type.name); p != aliases.end())
22
                required_columns_map[p->second->getColumnName()] = name_type;
23
            else
24
                required_columns_map[name_type.name] = name_type;
25
        }
26

27
        for (const ColumnWithTypeAndName & column : actions->getResultColumns())
28
        {
29
            std::string name = column.name;
30
            if (const auto & p = aliases.find(name); p != aliases.end())
31
                name = p->second->getColumnName();
32

33
            result_columns_set.insert(name);
34
            result_columns_order.push_back(name);
35
        }
36
    }
37
}
38

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.