blob: 1f6a2cf33de1bea85e4bb5a10883a212ef394311 (
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
27
28
29
30
|
#pragma once
#include <yql/essentials/core/type_ann/type_ann_core.h>
#include <library/cpp/yson/writer.h>
#include <optional>
namespace NYql {
struct TPlanSettings {
TPlanSettings& SetWithLimits(bool limits) {
WithLimits = limits;
return *this;
}
bool WithLimits = true;
};
class IPlanBuilder {
public:
virtual ~IPlanBuilder() {};
virtual void Clear() = 0;
virtual void WritePlan(NYson::TYsonWriter& writer, const TExprNode::TPtr& root, const TPlanSettings& settings = {}) = 0;
};
TAutoPtr<IPlanBuilder> CreatePlanBuilder(TTypeAnnotationContext& types);
}
|