aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/clickhouse/src/Processors/Transforms/ExtractColumnsTransform.h
blob: f8b3d80373605499cef602fa4d0ed6183cafc70f (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
#pragma once
#include <Processors/ISimpleTransform.h>

namespace DB
{

/// Extracts required columns and subcolumns from the block.
class ExtractColumnsTransform final : public ISimpleTransform
{
public:
    ExtractColumnsTransform(
        const Block & header_,
        const NamesAndTypesList & requested_columns_);

    String getName() const override { return "ExtractColumnsTransform"; }

    static Block transformHeader(Block header, const NamesAndTypesList & requested_columns_);

protected:
    void transform(Chunk & chunk) override;

private:
    const NamesAndTypesList requested_columns;
};

}