duckdb 0.8.2-dev1968.0 → 0.8.2-dev2044.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/duckdb/src/catalog/catalog.cpp +1 -1
- package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +17 -41
- package/src/duckdb/src/catalog/catalog_entry/macro_catalog_entry.cpp +2 -10
- package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +4 -14
- package/src/duckdb/src/catalog/catalog_entry/sequence_catalog_entry.cpp +11 -28
- package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +11 -38
- package/src/duckdb/src/catalog/catalog_entry/view_catalog_entry.cpp +11 -27
- package/src/duckdb/src/catalog/catalog_entry.cpp +25 -1
- package/src/duckdb/src/common/enum_util.cpp +159 -0
- package/src/duckdb/src/common/extra_type_info.cpp +1 -2
- package/src/duckdb/src/common/serializer/binary_deserializer.cpp +3 -0
- package/src/duckdb/src/common/serializer/binary_serializer.cpp +4 -4
- package/src/duckdb/src/common/types/column/column_data_collection.cpp +43 -0
- package/src/duckdb/src/common/types/vector.cpp +1 -1
- package/src/duckdb/src/common/types.cpp +0 -12
- package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +1 -1
- package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp +1 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/macro_catalog_entry.hpp +1 -4
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp +2 -5
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp +1 -6
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +2 -11
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/view_catalog_entry.hpp +2 -5
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +14 -0
- package/src/duckdb/src/include/duckdb/common/constants.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/enum_util.hpp +32 -0
- package/src/duckdb/src/include/duckdb/common/enums/index_type.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/index_vector.hpp +12 -0
- package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +28 -4
- package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +12 -5
- package/src/duckdb/src/include/duckdb/common/serializer/deserialization_data.hpp +110 -0
- package/src/duckdb/src/include/duckdb/common/serializer/format_deserializer.hpp +46 -1
- package/src/duckdb/src/include/duckdb/common/serializer/format_serializer.hpp +23 -21
- package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +12 -4
- package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection.hpp +3 -0
- package/src/duckdb/src/include/duckdb/function/macro_function.hpp +3 -0
- package/src/duckdb/src/include/duckdb/function/scalar_macro_function.hpp +3 -0
- package/src/duckdb/src/include/duckdb/function/table_macro_function.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/column_definition.hpp +6 -5
- package/src/duckdb/src/include/duckdb/parser/column_list.hpp +4 -0
- package/src/duckdb/src/include/duckdb/parser/constraint.hpp +5 -0
- package/src/duckdb/src/include/duckdb/parser/constraints/check_constraint.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/constraints/foreign_key_constraint.hpp +6 -0
- package/src/duckdb/src/include/duckdb/parser/constraints/not_null_constraint.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/constraints/unique_constraint.hpp +6 -0
- package/src/duckdb/src/include/duckdb/parser/expression/between_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/case_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/cast_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/collate_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/constant_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/default_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/parameter_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/subquery_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_info.hpp +12 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +66 -2
- package/src/duckdb/src/include/duckdb/parser/parsed_data/attach_info.hpp +8 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/copy_info.hpp +8 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +4 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_info.hpp +9 -2
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_macro_info.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_schema_info.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_sequence_info.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_table_info.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_type_info.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_view_info.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/detach_info.hpp +7 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/drop_info.hpp +7 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/exported_table_data.hpp +7 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/load_info.hpp +13 -3
- package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +22 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/pragma_info.hpp +10 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/show_select_info.hpp +7 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/transaction_info.hpp +10 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/vacuum_info.hpp +10 -0
- package/src/duckdb/src/include/duckdb/planner/bound_constraint.hpp +0 -8
- package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/column_binding.hpp +5 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_case_expression.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_conjunction_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_constant_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_default_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +3 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_operator_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_data.hpp +5 -2
- package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_expression.hpp +7 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_reference_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_unnest_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/list.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/joinside.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_aggregate.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_any_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_column_data_get.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_comparison_join.hpp +9 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_create.hpp +9 -6
- package/src/duckdb/src/include/duckdb/planner/operator/logical_create_index.hpp +2 -16
- package/src/duckdb/src/include/duckdb/planner/operator/logical_create_table.hpp +10 -6
- package/src/duckdb/src/include/duckdb/planner/operator/logical_cross_product.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_delete.hpp +7 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_distinct.hpp +6 -10
- package/src/duckdb/src/include/duckdb/planner/operator/logical_dummy_scan.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_empty_result.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_explain.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_expression_get.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_filter.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_insert.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_limit.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_limit_percent.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_materialized_cte.hpp +5 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_order.hpp +7 -35
- package/src/duckdb/src/include/duckdb/planner/operator/logical_pivot.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_positional_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_projection.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +5 -3
- package/src/duckdb/src/include/duckdb/planner/operator/logical_reset.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_sample.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_set.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_set_operation.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_show.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_simple.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_top_n.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_unnest.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_update.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_window.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_pivotref.hpp +3 -0
- package/src/duckdb/src/optimizer/deliminator.cpp +5 -3
- package/src/duckdb/src/parser/column_definition.cpp +20 -32
- package/src/duckdb/src/parser/column_list.cpp +8 -0
- package/src/duckdb/src/parser/constraints/foreign_key_constraint.cpp +3 -0
- package/src/duckdb/src/parser/constraints/unique_constraint.cpp +3 -0
- package/src/duckdb/src/parser/expression/case_expression.cpp +0 -12
- package/src/duckdb/src/parser/parsed_data/alter_info.cpp +5 -2
- package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +38 -0
- package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +3 -1
- package/src/duckdb/src/parser/parsed_data/create_sequence_info.cpp +2 -0
- package/src/duckdb/src/parser/parsed_data/detach_info.cpp +1 -1
- package/src/duckdb/src/parser/parsed_data/drop_info.cpp +1 -1
- package/src/duckdb/src/parser/parsed_data/sample_options.cpp +0 -18
- package/src/duckdb/src/parser/parsed_data/transaction_info.cpp +4 -1
- package/src/duckdb/src/parser/parsed_data/vacuum_info.cpp +1 -1
- package/src/duckdb/src/parser/query_node.cpp +0 -10
- package/src/duckdb/src/parser/result_modifier.cpp +0 -13
- package/src/duckdb/src/parser/statement/select_statement.cpp +0 -10
- package/src/duckdb/src/parser/tableref/pivotref.cpp +0 -16
- package/src/duckdb/src/parser/transform/statement/transform_create_index.cpp +5 -4
- package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +1 -1
- package/src/duckdb/src/planner/binder/statement/bind_create.cpp +6 -1
- package/src/duckdb/src/planner/expression/bound_between_expression.cpp +4 -0
- package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +13 -6
- package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +20 -12
- package/src/duckdb/src/planner/logical_operator.cpp +13 -1
- package/src/duckdb/src/planner/operator/logical_comparison_join.cpp +16 -2
- package/src/duckdb/src/planner/operator/logical_create.cpp +14 -0
- package/src/duckdb/src/planner/operator/logical_create_index.cpp +20 -0
- package/src/duckdb/src/planner/operator/logical_create_table.cpp +16 -0
- package/src/duckdb/src/planner/operator/logical_delete.cpp +9 -2
- package/src/duckdb/src/planner/operator/logical_delim_join.cpp +2 -4
- package/src/duckdb/src/planner/operator/logical_distinct.cpp +13 -0
- package/src/duckdb/src/planner/operator/logical_explain.cpp +1 -1
- package/src/duckdb/src/planner/operator/logical_insert.cpp +8 -2
- package/src/duckdb/src/planner/operator/logical_materialized_cte.cpp +3 -2
- package/src/duckdb/src/planner/operator/logical_order.cpp +39 -0
- package/src/duckdb/src/planner/operator/logical_pivot.cpp +3 -0
- package/src/duckdb/src/planner/operator/logical_recursive_cte.cpp +5 -5
- package/src/duckdb/src/planner/operator/logical_sample.cpp +3 -0
- package/src/duckdb/src/planner/operator/logical_update.cpp +8 -2
- package/src/duckdb/src/planner/parsed_data/bound_create_table_info.cpp +4 -2
- package/src/duckdb/src/planner/planner.cpp +11 -0
- package/src/duckdb/src/storage/checkpoint_manager.cpp +23 -23
- package/src/duckdb/src/storage/serialization/serialize_constraint.cpp +98 -0
- package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +188 -0
- package/src/duckdb/src/storage/serialization/serialize_expression.cpp +274 -0
- package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +729 -0
- package/src/duckdb/src/storage/serialization/serialize_macro_function.cpp +62 -0
- package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +242 -0
- package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +419 -0
- package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +40 -38
- package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +36 -36
- package/src/duckdb/src/storage/serialization/serialize_result_modifier.cpp +25 -14
- package/src/duckdb/src/storage/serialization/serialize_statement.cpp +22 -0
- package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +47 -47
- package/src/duckdb/src/storage/serialization/serialize_types.cpp +25 -25
- package/src/duckdb/src/storage/storage_info.cpp +3 -2
- package/src/duckdb/src/storage/wal_replay.cpp +20 -19
- package/src/duckdb/ub_src_parser.cpp +0 -2
- package/src/duckdb/ub_src_storage_serialization.cpp +16 -0
- package/src/duckdb/src/parser/common_table_expression_info.cpp +0 -21
@@ -31,6 +31,9 @@ public:
|
|
31
31
|
void Serialize(FieldWriter &writer) const override;
|
32
32
|
static unique_ptr<Expression> Deserialize(ExpressionDeserializationState &state, FieldReader &reader);
|
33
33
|
|
34
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
35
|
+
static unique_ptr<Expression> FormatDeserialize(FormatDeserializer &deserializer);
|
36
|
+
|
34
37
|
public:
|
35
38
|
static LogicalType BindComparison(LogicalType left_type, LogicalType right_type);
|
36
39
|
};
|
@@ -33,5 +33,8 @@ public:
|
|
33
33
|
|
34
34
|
void Serialize(FieldWriter &writer) const override;
|
35
35
|
static unique_ptr<Expression> Deserialize(ExpressionDeserializationState &state, FieldReader &reader);
|
36
|
+
|
37
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
38
|
+
static unique_ptr<Expression> FormatDeserialize(FormatDeserializer &deserializer);
|
36
39
|
};
|
37
40
|
} // namespace duckdb
|
@@ -32,5 +32,8 @@ public:
|
|
32
32
|
|
33
33
|
void Serialize(FieldWriter &writer) const override;
|
34
34
|
static unique_ptr<Expression> Deserialize(ExpressionDeserializationState &state, FieldReader &reader);
|
35
|
+
|
36
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
37
|
+
static unique_ptr<Expression> FormatDeserialize(FormatDeserializer &deserializer);
|
35
38
|
};
|
36
39
|
} // namespace duckdb
|
@@ -39,5 +39,8 @@ public:
|
|
39
39
|
|
40
40
|
void Serialize(FieldWriter &writer) const override;
|
41
41
|
static unique_ptr<Expression> Deserialize(ExpressionDeserializationState &state, FieldReader &reader);
|
42
|
+
|
43
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
44
|
+
static unique_ptr<Expression> FormatDeserialize(FormatDeserializer &deserializer);
|
42
45
|
};
|
43
46
|
} // namespace duckdb
|
@@ -33,6 +33,8 @@ public:
|
|
33
33
|
unique_ptr<Expression> Copy() override;
|
34
34
|
|
35
35
|
void Serialize(FieldWriter &writer) const override;
|
36
|
-
|
36
|
+
|
37
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
38
|
+
static unique_ptr<Expression> FormatDeserialize(FormatDeserializer &deserializer);
|
37
39
|
};
|
38
40
|
} // namespace duckdb
|
@@ -53,5 +53,8 @@ public:
|
|
53
53
|
|
54
54
|
void Serialize(FieldWriter &writer) const override;
|
55
55
|
static unique_ptr<Expression> Deserialize(ExpressionDeserializationState &state, FieldReader &reader);
|
56
|
+
|
57
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
58
|
+
static unique_ptr<Expression> FormatDeserialize(FormatDeserializer &deserializer);
|
56
59
|
};
|
57
60
|
} // namespace duckdb
|
@@ -30,5 +30,8 @@ public:
|
|
30
30
|
|
31
31
|
void Serialize(FieldWriter &writer) const override;
|
32
32
|
static unique_ptr<Expression> Deserialize(ExpressionDeserializationState &state, FieldReader &reader);
|
33
|
+
|
34
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
35
|
+
static unique_ptr<Expression> FormatDeserialize(FormatDeserializer &deserializer);
|
33
36
|
};
|
34
37
|
} // namespace duckdb
|
@@ -17,7 +17,7 @@ namespace duckdb {
|
|
17
17
|
struct BoundParameterData {
|
18
18
|
BoundParameterData() {
|
19
19
|
}
|
20
|
-
BoundParameterData(Value val) : value(std::move(val)), return_type(value.type()) {
|
20
|
+
explicit BoundParameterData(Value val) : value(std::move(val)), return_type(value.type()) {
|
21
21
|
}
|
22
22
|
|
23
23
|
Value value;
|
@@ -39,10 +39,13 @@ public:
|
|
39
39
|
reader.Finalize();
|
40
40
|
return result;
|
41
41
|
}
|
42
|
+
|
43
|
+
void FormatSerialize(FormatSerializer &serializer) const;
|
44
|
+
static shared_ptr<BoundParameterData> FormatDeserialize(FormatDeserializer &deserializer);
|
42
45
|
};
|
43
46
|
|
44
47
|
struct BoundParameterMap {
|
45
|
-
BoundParameterMap(vector<BoundParameterData> ¶meter_data) : parameter_data(parameter_data) {
|
48
|
+
explicit BoundParameterMap(vector<BoundParameterData> ¶meter_data) : parameter_data(parameter_data) {
|
46
49
|
}
|
47
50
|
|
48
51
|
bound_parameter_map_t parameters;
|
@@ -42,6 +42,13 @@ public:
|
|
42
42
|
|
43
43
|
void Serialize(FieldWriter &writer) const override;
|
44
44
|
static unique_ptr<Expression> Deserialize(ExpressionDeserializationState &state, FieldReader &reader);
|
45
|
+
|
46
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
47
|
+
static unique_ptr<Expression> FormatDeserialize(FormatDeserializer &deserializer);
|
48
|
+
|
49
|
+
private:
|
50
|
+
BoundParameterExpression(bound_parameter_map_t &global_parameter_set, idx_t parameter_nr, LogicalType return_type,
|
51
|
+
shared_ptr<BoundParameterData> parameter_data);
|
45
52
|
};
|
46
53
|
|
47
54
|
} // namespace duckdb
|
@@ -41,5 +41,8 @@ public:
|
|
41
41
|
|
42
42
|
void Serialize(FieldWriter &writer) const override;
|
43
43
|
static unique_ptr<Expression> Deserialize(ExpressionDeserializationState &state, FieldReader &reader);
|
44
|
+
|
45
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
46
|
+
static unique_ptr<Expression> FormatDeserialize(FormatDeserializer &deserializer);
|
44
47
|
};
|
45
48
|
} // namespace duckdb
|
@@ -33,5 +33,8 @@ public:
|
|
33
33
|
|
34
34
|
void Serialize(FieldWriter &writer) const override;
|
35
35
|
static unique_ptr<Expression> Deserialize(ExpressionDeserializationState &state, FieldReader &reader);
|
36
|
+
|
37
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
38
|
+
static unique_ptr<Expression> FormatDeserialize(FormatDeserializer &deserializer);
|
36
39
|
};
|
37
40
|
} // namespace duckdb
|
@@ -9,6 +9,7 @@
|
|
9
9
|
#include "duckdb/planner/expression/bound_default_expression.hpp"
|
10
10
|
#include "duckdb/planner/expression/bound_function_expression.hpp"
|
11
11
|
#include "duckdb/planner/expression/bound_lambda_expression.hpp"
|
12
|
+
#include "duckdb/planner/expression/bound_lambdaref_expression.hpp"
|
12
13
|
#include "duckdb/planner/expression/bound_operator_expression.hpp"
|
13
14
|
#include "duckdb/planner/expression/bound_parameter_expression.hpp"
|
14
15
|
#include "duckdb/planner/expression/bound_reference_expression.hpp"
|
@@ -64,6 +64,9 @@ public:
|
|
64
64
|
//! SerializationException]
|
65
65
|
static unique_ptr<Expression> Deserialize(Deserializer &source, PlanDeserializationState &state);
|
66
66
|
|
67
|
+
virtual void FormatSerialize(FormatSerializer &serializer) const;
|
68
|
+
static unique_ptr<Expression> FormatDeserialize(FormatDeserializer &deserializer);
|
69
|
+
|
67
70
|
protected:
|
68
71
|
//! Copy base Expression properties from another expression to this one,
|
69
72
|
//! used in Copy method
|
@@ -29,6 +29,9 @@ public:
|
|
29
29
|
//! Deserializes a blob back into a JoinCondition
|
30
30
|
static JoinCondition Deserialize(Deserializer &source, PlanDeserializationState &state);
|
31
31
|
|
32
|
+
void FormatSerialize(FormatSerializer &serializer) const;
|
33
|
+
static JoinCondition FormatDeserialize(FormatDeserializer &deserializer);
|
34
|
+
|
32
35
|
public:
|
33
36
|
unique_ptr<Expression> left;
|
34
37
|
unique_ptr<Expression> right;
|
@@ -77,6 +77,9 @@ public:
|
|
77
77
|
|
78
78
|
static unique_ptr<LogicalOperator> Deserialize(Deserializer &deserializer, PlanDeserializationState &state);
|
79
79
|
|
80
|
+
virtual void FormatSerialize(FormatSerializer &serializer) const;
|
81
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
82
|
+
|
80
83
|
virtual unique_ptr<LogicalOperator> Copy(ClientContext &context) const;
|
81
84
|
|
82
85
|
virtual bool RequireOptimizer() const {
|
@@ -45,6 +45,9 @@ public:
|
|
45
45
|
vector<ColumnBinding> GetColumnBindings() override;
|
46
46
|
void Serialize(FieldWriter &writer) const override;
|
47
47
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
48
|
+
|
49
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
50
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
48
51
|
idx_t EstimateCardinality(ClientContext &context) override;
|
49
52
|
vector<idx_t> GetTableIndex() const override;
|
50
53
|
string GetName() const override;
|
@@ -28,6 +28,9 @@ public:
|
|
28
28
|
string ParamsToString() const override;
|
29
29
|
void Serialize(FieldWriter &writer) const override;
|
30
30
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
31
|
+
|
32
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
33
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
31
34
|
};
|
32
35
|
|
33
36
|
} // namespace duckdb
|
@@ -33,6 +33,10 @@ public:
|
|
33
33
|
|
34
34
|
void Serialize(FieldWriter &writer) const override;
|
35
35
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
36
|
+
|
37
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
38
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
39
|
+
|
36
40
|
vector<idx_t> GetTableIndex() const override;
|
37
41
|
string GetName() const override;
|
38
42
|
|
@@ -15,6 +15,7 @@
|
|
15
15
|
#include "duckdb/planner/operator/logical_join.hpp"
|
16
16
|
|
17
17
|
namespace duckdb {
|
18
|
+
class LogicalDelimJoin;
|
18
19
|
|
19
20
|
//! LogicalComparisonJoin represents a join that involves comparisons between the LHS and RHS
|
20
21
|
class LogicalComparisonJoin : public LogicalJoin {
|
@@ -27,8 +28,8 @@ public:
|
|
27
28
|
|
28
29
|
//! The conditions of the join
|
29
30
|
vector<JoinCondition> conditions;
|
30
|
-
//! Used for duplicate-eliminated joins
|
31
|
-
vector<LogicalType>
|
31
|
+
//! Used for duplicate-eliminated MARK joins
|
32
|
+
vector<LogicalType> mark_types;
|
32
33
|
|
33
34
|
public:
|
34
35
|
string ParamsToString() const override;
|
@@ -37,6 +38,12 @@ public:
|
|
37
38
|
static void Deserialize(LogicalComparisonJoin &comparison_join, LogicalDeserializationState &state,
|
38
39
|
FieldReader &reader);
|
39
40
|
|
41
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
42
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
43
|
+
|
44
|
+
//! Turn a delim join into a regular comparison join (after all required delim scans have been pruned)
|
45
|
+
static unique_ptr<LogicalOperator> FromDelimJoin(LogicalDelimJoin &join);
|
46
|
+
|
40
47
|
public:
|
41
48
|
static unique_ptr<LogicalOperator> CreateJoin(ClientContext &context, JoinType type, JoinRefType ref_type,
|
42
49
|
unique_ptr<LogicalOperator> left_child,
|
@@ -20,9 +20,7 @@ public:
|
|
20
20
|
|
21
21
|
public:
|
22
22
|
LogicalCreate(LogicalOperatorType type, unique_ptr<CreateInfo> info,
|
23
|
-
optional_ptr<SchemaCatalogEntry> schema = nullptr)
|
24
|
-
: LogicalOperator(type), schema(schema), info(std::move(info)) {
|
25
|
-
}
|
23
|
+
optional_ptr<SchemaCatalogEntry> schema = nullptr);
|
26
24
|
|
27
25
|
optional_ptr<SchemaCatalogEntry> schema;
|
28
26
|
unique_ptr<CreateInfo> info;
|
@@ -30,11 +28,16 @@ public:
|
|
30
28
|
public:
|
31
29
|
void Serialize(FieldWriter &writer) const override;
|
32
30
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
31
|
+
|
32
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
33
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
34
|
+
|
33
35
|
idx_t EstimateCardinality(ClientContext &context) override;
|
34
36
|
|
35
37
|
protected:
|
36
|
-
void ResolveTypes() override
|
37
|
-
|
38
|
-
|
38
|
+
void ResolveTypes() override;
|
39
|
+
|
40
|
+
private:
|
41
|
+
LogicalCreate(LogicalOperatorType type, ClientContext &context, unique_ptr<CreateInfo> info);
|
39
42
|
};
|
40
43
|
} // namespace duckdb
|
@@ -21,19 +21,7 @@ public:
|
|
21
21
|
public:
|
22
22
|
LogicalCreateIndex(unique_ptr<FunctionData> bind_data_p, unique_ptr<CreateIndexInfo> info_p,
|
23
23
|
vector<unique_ptr<Expression>> expressions_p, TableCatalogEntry &table_p,
|
24
|
-
TableFunction function_p)
|
25
|
-
: LogicalOperator(LogicalOperatorType::LOGICAL_CREATE_INDEX), bind_data(std::move(bind_data_p)),
|
26
|
-
info(std::move(info_p)), table(table_p), function(std::move(function_p)) {
|
27
|
-
|
28
|
-
for (auto &expr : expressions_p) {
|
29
|
-
this->unbound_expressions.push_back(expr->Copy());
|
30
|
-
}
|
31
|
-
this->expressions = std::move(expressions_p);
|
32
|
-
|
33
|
-
if (info->column_ids.empty()) {
|
34
|
-
throw BinderException("CREATE INDEX does not refer to any columns in the base table!");
|
35
|
-
}
|
36
|
-
}
|
24
|
+
TableFunction function_p);
|
37
25
|
|
38
26
|
//! The bind data of the function
|
39
27
|
unique_ptr<FunctionData> bind_data;
|
@@ -53,8 +41,6 @@ public:
|
|
53
41
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
54
42
|
|
55
43
|
protected:
|
56
|
-
void ResolveTypes() override
|
57
|
-
types.emplace_back(LogicalType::BIGINT);
|
58
|
-
}
|
44
|
+
void ResolveTypes() override;
|
59
45
|
};
|
60
46
|
} // namespace duckdb
|
@@ -18,9 +18,7 @@ public:
|
|
18
18
|
static constexpr const LogicalOperatorType TYPE = LogicalOperatorType::LOGICAL_CREATE_TABLE;
|
19
19
|
|
20
20
|
public:
|
21
|
-
LogicalCreateTable(SchemaCatalogEntry &schema, unique_ptr<BoundCreateTableInfo> info)
|
22
|
-
: LogicalOperator(LogicalOperatorType::LOGICAL_CREATE_TABLE), schema(schema), info(std::move(info)) {
|
23
|
-
}
|
21
|
+
LogicalCreateTable(SchemaCatalogEntry &schema, unique_ptr<BoundCreateTableInfo> info);
|
24
22
|
|
25
23
|
//! Schema to insert to
|
26
24
|
SchemaCatalogEntry &schema;
|
@@ -30,11 +28,17 @@ public:
|
|
30
28
|
public:
|
31
29
|
void Serialize(FieldWriter &writer) const override;
|
32
30
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
31
|
+
|
32
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
33
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
34
|
+
|
33
35
|
idx_t EstimateCardinality(ClientContext &context) override;
|
34
36
|
|
35
37
|
protected:
|
36
|
-
void ResolveTypes() override
|
37
|
-
|
38
|
-
|
38
|
+
void ResolveTypes() override;
|
39
|
+
|
40
|
+
private:
|
41
|
+
LogicalCreateTable(ClientContext &context, const string &catalog, const string &schema,
|
42
|
+
unique_ptr<CreateInfo> info);
|
39
43
|
};
|
40
44
|
} // namespace duckdb
|
@@ -27,5 +27,8 @@ public:
|
|
27
27
|
|
28
28
|
void Serialize(FieldWriter &writer) const override;
|
29
29
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
30
|
+
|
31
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
32
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
30
33
|
};
|
31
34
|
} // namespace duckdb
|
@@ -45,6 +45,8 @@ public:
|
|
45
45
|
}
|
46
46
|
void Serialize(FieldWriter &writer) const override;
|
47
47
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
48
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
49
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
48
50
|
vector<idx_t> GetTableIndex() const override;
|
49
51
|
string GetName() const override;
|
50
52
|
|
@@ -27,6 +27,10 @@ public:
|
|
27
27
|
public:
|
28
28
|
void Serialize(FieldWriter &writer) const override;
|
29
29
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
30
|
+
|
31
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
32
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
33
|
+
|
30
34
|
idx_t EstimateCardinality(ClientContext &context) override;
|
31
35
|
vector<idx_t> GetTableIndex() const override;
|
32
36
|
string GetName() const override;
|
@@ -34,5 +38,8 @@ public:
|
|
34
38
|
protected:
|
35
39
|
vector<ColumnBinding> GetColumnBindings() override;
|
36
40
|
void ResolveTypes() override;
|
41
|
+
|
42
|
+
private:
|
43
|
+
LogicalDelete(ClientContext &context, const string &catalog, const string &schema, const string &table);
|
37
44
|
};
|
38
45
|
} // namespace duckdb
|
@@ -35,6 +35,9 @@ public:
|
|
35
35
|
}
|
36
36
|
void Serialize(FieldWriter &writer) const override;
|
37
37
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
38
|
+
|
39
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
40
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
38
41
|
vector<idx_t> GetTableIndex() const override;
|
39
42
|
string GetName() const override;
|
40
43
|
|
@@ -19,13 +19,8 @@ public:
|
|
19
19
|
static constexpr const LogicalOperatorType TYPE = LogicalOperatorType::LOGICAL_DISTINCT;
|
20
20
|
|
21
21
|
public:
|
22
|
-
explicit LogicalDistinct(DistinctType distinct_type)
|
23
|
-
|
24
|
-
}
|
25
|
-
explicit LogicalDistinct(vector<unique_ptr<Expression>> targets, DistinctType distinct_type)
|
26
|
-
: LogicalOperator(LogicalOperatorType::LOGICAL_DISTINCT), distinct_type(distinct_type),
|
27
|
-
distinct_targets(std::move(targets)) {
|
28
|
-
}
|
22
|
+
explicit LogicalDistinct(DistinctType distinct_type);
|
23
|
+
explicit LogicalDistinct(vector<unique_ptr<Expression>> targets, DistinctType distinct_type);
|
29
24
|
|
30
25
|
//! Whether or not this is a DISTINCT or DISTINCT ON
|
31
26
|
DistinctType distinct_type;
|
@@ -43,9 +38,10 @@ public:
|
|
43
38
|
void Serialize(FieldWriter &writer) const override;
|
44
39
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
45
40
|
|
41
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
42
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
43
|
+
|
46
44
|
protected:
|
47
|
-
void ResolveTypes() override
|
48
|
-
types = children[0]->types;
|
49
|
-
}
|
45
|
+
void ResolveTypes() override;
|
50
46
|
};
|
51
47
|
} // namespace duckdb
|
@@ -34,6 +34,8 @@ public:
|
|
34
34
|
}
|
35
35
|
void Serialize(FieldWriter &writer) const override;
|
36
36
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
37
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
38
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
37
39
|
vector<idx_t> GetTableIndex() const override;
|
38
40
|
string GetName() const override;
|
39
41
|
|
@@ -34,6 +34,8 @@ public:
|
|
34
34
|
}
|
35
35
|
void Serialize(FieldWriter &writer) const override;
|
36
36
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
37
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
38
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
37
39
|
idx_t EstimateCardinality(ClientContext &context) override {
|
38
40
|
return 0;
|
39
41
|
}
|
@@ -34,6 +34,10 @@ public:
|
|
34
34
|
public:
|
35
35
|
void Serialize(FieldWriter &writer) const override;
|
36
36
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
37
|
+
|
38
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
39
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
40
|
+
|
37
41
|
idx_t EstimateCardinality(ClientContext &context) override {
|
38
42
|
return 3;
|
39
43
|
}
|
@@ -37,6 +37,9 @@ public:
|
|
37
37
|
}
|
38
38
|
void Serialize(FieldWriter &writer) const override;
|
39
39
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
40
|
+
|
41
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
42
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
40
43
|
idx_t EstimateCardinality(ClientContext &context) override {
|
41
44
|
return expressions.size();
|
42
45
|
}
|
@@ -28,6 +28,9 @@ public:
|
|
28
28
|
void Serialize(FieldWriter &writer) const override;
|
29
29
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
30
30
|
|
31
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
32
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
33
|
+
|
31
34
|
bool SplitPredicates() {
|
32
35
|
return SplitPredicates(expressions);
|
33
36
|
}
|
@@ -63,6 +63,9 @@ public:
|
|
63
63
|
void Serialize(FieldWriter &writer) const override;
|
64
64
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
65
65
|
|
66
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
67
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
68
|
+
|
66
69
|
protected:
|
67
70
|
vector<ColumnBinding> GetColumnBindings() override;
|
68
71
|
void ResolveTypes() override;
|
@@ -70,5 +73,8 @@ protected:
|
|
70
73
|
idx_t EstimateCardinality(ClientContext &context) override;
|
71
74
|
vector<idx_t> GetTableIndex() const override;
|
72
75
|
string GetName() const override;
|
76
|
+
|
77
|
+
private:
|
78
|
+
LogicalInsert(ClientContext &context, const string &catalog, const string &schema, const string &table);
|
73
79
|
};
|
74
80
|
} // namespace duckdb
|
@@ -35,6 +35,9 @@ public:
|
|
35
35
|
void Serialize(FieldWriter &writer) const override;
|
36
36
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
37
37
|
|
38
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
39
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
40
|
+
|
38
41
|
protected:
|
39
42
|
void ResolveTypes() override;
|
40
43
|
};
|
@@ -39,6 +39,9 @@ public:
|
|
39
39
|
|
40
40
|
void Serialize(FieldWriter &writer) const override;
|
41
41
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
42
|
+
|
43
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
44
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
42
45
|
idx_t EstimateCardinality(ClientContext &context) override;
|
43
46
|
|
44
47
|
protected:
|
@@ -13,8 +13,7 @@
|
|
13
13
|
namespace duckdb {
|
14
14
|
|
15
15
|
class LogicalMaterializedCTE : public LogicalOperator {
|
16
|
-
LogicalMaterializedCTE(
|
17
|
-
: LogicalOperator(LogicalOperatorType::LOGICAL_MATERIALIZED_CTE), table_index(table_index) {
|
16
|
+
explicit LogicalMaterializedCTE() : LogicalOperator(LogicalOperatorType::LOGICAL_MATERIALIZED_CTE) {
|
18
17
|
}
|
19
18
|
|
20
19
|
public:
|
@@ -39,6 +38,10 @@ public:
|
|
39
38
|
}
|
40
39
|
void Serialize(FieldWriter &writer) const override;
|
41
40
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
41
|
+
|
42
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
43
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
44
|
+
|
42
45
|
vector<idx_t> GetTableIndex() const override;
|
43
46
|
|
44
47
|
protected:
|
@@ -21,51 +21,23 @@ public:
|
|
21
21
|
static constexpr const LogicalOperatorType TYPE = LogicalOperatorType::LOGICAL_ORDER_BY;
|
22
22
|
|
23
23
|
public:
|
24
|
-
explicit LogicalOrder(vector<BoundOrderByNode> orders)
|
25
|
-
: LogicalOperator(LogicalOperatorType::LOGICAL_ORDER_BY), orders(std::move(orders)) {
|
26
|
-
}
|
24
|
+
explicit LogicalOrder(vector<BoundOrderByNode> orders);
|
27
25
|
|
28
26
|
vector<BoundOrderByNode> orders;
|
29
27
|
vector<idx_t> projections;
|
30
28
|
|
31
29
|
public:
|
32
|
-
vector<ColumnBinding> GetColumnBindings() override
|
33
|
-
auto child_bindings = children[0]->GetColumnBindings();
|
34
|
-
if (projections.empty()) {
|
35
|
-
return child_bindings;
|
36
|
-
}
|
37
|
-
|
38
|
-
vector<ColumnBinding> result;
|
39
|
-
for (auto &col_idx : projections) {
|
40
|
-
result.push_back(child_bindings[col_idx]);
|
41
|
-
}
|
42
|
-
return result;
|
43
|
-
}
|
30
|
+
vector<ColumnBinding> GetColumnBindings() override;
|
44
31
|
|
45
32
|
void Serialize(FieldWriter &writer) const override;
|
46
33
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
47
34
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
result += "\n";
|
53
|
-
}
|
54
|
-
result += orders[i].expression->GetName();
|
55
|
-
}
|
56
|
-
return result;
|
57
|
-
}
|
35
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
36
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
37
|
+
|
38
|
+
string ParamsToString() const override;
|
58
39
|
|
59
40
|
protected:
|
60
|
-
void ResolveTypes() override
|
61
|
-
const auto child_types = children[0]->types;
|
62
|
-
if (projections.empty()) {
|
63
|
-
types = child_types;
|
64
|
-
} else {
|
65
|
-
for (auto &col_idx : projections) {
|
66
|
-
types.push_back(child_types[col_idx]);
|
67
|
-
}
|
68
|
-
}
|
69
|
-
}
|
41
|
+
void ResolveTypes() override;
|
70
42
|
};
|
71
43
|
} // namespace duckdb
|
@@ -31,10 +31,16 @@ public:
|
|
31
31
|
vector<ColumnBinding> GetColumnBindings() override;
|
32
32
|
void Serialize(FieldWriter &writer) const override;
|
33
33
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
34
|
+
|
35
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
36
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
34
37
|
vector<idx_t> GetTableIndex() const override;
|
35
38
|
string GetName() const override;
|
36
39
|
|
37
40
|
protected:
|
38
41
|
void ResolveTypes() override;
|
42
|
+
|
43
|
+
private:
|
44
|
+
LogicalPivot();
|
39
45
|
};
|
40
46
|
} // namespace duckdb
|
@@ -27,5 +27,8 @@ public:
|
|
27
27
|
|
28
28
|
void Serialize(FieldWriter &writer) const override;
|
29
29
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
30
|
+
|
31
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
32
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
30
33
|
};
|
31
34
|
} // namespace duckdb
|
@@ -26,6 +26,9 @@ public:
|
|
26
26
|
vector<ColumnBinding> GetColumnBindings() override;
|
27
27
|
void Serialize(FieldWriter &writer) const override;
|
28
28
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
29
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
30
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
31
|
+
|
29
32
|
vector<idx_t> GetTableIndex() const override;
|
30
33
|
string GetName() const override;
|
31
34
|
|