aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/public/purecalc/common/transformations/root_to_blocks.h
blob: 13a7a9dfc11a8761b64cd767a0223a38f34eaf44 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once

#include <yql/essentials/public/purecalc/common/processor_mode.h>

#include <yql/essentials/core/yql_graph_transformer.h>

namespace NYql {
    namespace NPureCalc {
        /**
         * A transformer which rewrite the root to respect block types.
         *
         * @param acceptsBlock allows using this transformer in pipeline and
         *        skip this phase if no block output is required.
         * @param processorMode specifies the top-most container of the result.
         * @return a graph transformer for rewriting the root node.
         */
        TAutoPtr<IGraphTransformer> MakeRootToBlocks(
            bool acceptsBlocks,
            EProcessorMode processorMode
        );
    }
}