1 | //===----------------------------------------------------------------------===// |
---|---|
2 | // DuckDB |
3 | // |
4 | // duckdb/planner/plan_serialization.hpp |
5 | // |
6 | // |
7 | //===----------------------------------------------------------------------===// |
8 | |
9 | #pragma once |
10 | |
11 | #include "duckdb/common/enums/logical_operator_type.hpp" |
12 | #include "duckdb/common/enums/expression_type.hpp" |
13 | #include "duckdb/planner/bound_parameter_map.hpp" |
14 | |
15 | namespace duckdb { |
16 | class ClientContext; |
17 | class LogicalOperator; |
18 | struct BoundParameterData; |
19 | |
20 | struct PlanDeserializationState { |
21 | PlanDeserializationState(ClientContext &context); |
22 | ~PlanDeserializationState(); |
23 | |
24 | ClientContext &context; |
25 | bound_parameter_map_t parameter_data; |
26 | }; |
27 | |
28 | struct LogicalDeserializationState { |
29 | LogicalDeserializationState(PlanDeserializationState &gstate, LogicalOperatorType type, |
30 | vector<unique_ptr<LogicalOperator>> &children); |
31 | |
32 | PlanDeserializationState &gstate; |
33 | LogicalOperatorType type; |
34 | vector<unique_ptr<LogicalOperator>> &children; |
35 | }; |
36 | |
37 | struct ExpressionDeserializationState { |
38 | ExpressionDeserializationState(PlanDeserializationState &gstate, ExpressionType type); |
39 | |
40 | PlanDeserializationState &gstate; |
41 | ExpressionType type; |
42 | }; |
43 | |
44 | } // namespace duckdb |
45 |