aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/providers/common/dq/yql_dq_optimization_impl.h
blob: 1427b50b0aaa294f1fb82836114c422e38378d3c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#pragma once

#include <yql/essentials/core/dq_integration/yql_dq_optimization.h>

namespace NYql {

class TDqOptimizationBase: public IDqOptimization {
public:
    TExprNode::TPtr RewriteRead(const TExprNode::TPtr& read, TExprContext& ctx) override;
    TExprNode::TPtr RewriteLookupRead(const TExprNode::TPtr& read, TExprContext& ctx) override;
    TExprNode::TPtr ApplyExtractMembers(const TExprNode::TPtr& read, const TExprNode::TPtr& members, TExprContext& ctx) override;
    TExprNode::TPtr ApplyTakeOrSkip(const TExprNode::TPtr& read, const TExprNode::TPtr& countBase, TExprContext& ctx) override;
    TExprNode::TPtr ApplyUnordered(const TExprNode::TPtr& read, TExprContext& ctx) override;
    TExprNode::TListType ApplyExtend(const TExprNode::TListType& reads, bool ordered, TExprContext& ctx) override;
};

} // namespace NYql