duckdb 0.8.2-dev1968.0 → 0.8.2-dev2068.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/configure.py +7 -2
- 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/adbc/adbc.cpp +18 -4
- 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/assert.hpp +1 -1
- 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/core_functions/scalar/math_functions.hpp +3 -3
- 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/expression/bound_window_expression.cpp +1 -4
- 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/third_party/concurrentqueue/lightweightsemaphore.h +3 -76
- package/src/duckdb/third_party/libpg_query/pg_functions.cpp +13 -0
- package/src/duckdb/third_party/libpg_query/src_backend_parser_scansup.cpp +9 -0
- 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
@@ -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
|
|
@@ -13,9 +13,7 @@
|
|
13
13
|
namespace duckdb {
|
14
14
|
|
15
15
|
class LogicalRecursiveCTE : public LogicalOperator {
|
16
|
-
LogicalRecursiveCTE(
|
17
|
-
: LogicalOperator(LogicalOperatorType::LOGICAL_RECURSIVE_CTE), union_all(union_all), table_index(table_index),
|
18
|
-
column_count(column_count) {
|
16
|
+
LogicalRecursiveCTE() : LogicalOperator(LogicalOperatorType::LOGICAL_RECURSIVE_CTE) {
|
19
17
|
}
|
20
18
|
|
21
19
|
public:
|
@@ -41,6 +39,10 @@ public:
|
|
41
39
|
}
|
42
40
|
void Serialize(FieldWriter &writer) const override;
|
43
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);
|
45
|
+
|
44
46
|
vector<idx_t> GetTableIndex() const override;
|
45
47
|
string GetName() const override;
|
46
48
|
|
@@ -30,6 +30,10 @@ public:
|
|
30
30
|
public:
|
31
31
|
void Serialize(FieldWriter &writer) const override;
|
32
32
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
33
|
+
|
34
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
35
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
36
|
+
|
33
37
|
idx_t EstimateCardinality(ClientContext &context) override;
|
34
38
|
|
35
39
|
protected:
|
@@ -31,8 +31,14 @@ public:
|
|
31
31
|
void Serialize(FieldWriter &writer) const override;
|
32
32
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
33
33
|
|
34
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
35
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
36
|
+
|
34
37
|
protected:
|
35
38
|
void ResolveTypes() override;
|
39
|
+
|
40
|
+
private:
|
41
|
+
LogicalSample();
|
36
42
|
};
|
37
43
|
|
38
44
|
} // namespace duckdb
|
@@ -31,6 +31,10 @@ public:
|
|
31
31
|
public:
|
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);
|
37
|
+
|
34
38
|
idx_t EstimateCardinality(ClientContext &context) override;
|
35
39
|
|
36
40
|
protected:
|
@@ -40,6 +40,10 @@ public:
|
|
40
40
|
|
41
41
|
void Serialize(FieldWriter &writer) const override;
|
42
42
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
43
|
+
|
44
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
45
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
46
|
+
|
43
47
|
vector<idx_t> GetTableIndex() const override;
|
44
48
|
string GetName() const override;
|
45
49
|
|
@@ -30,6 +30,9 @@ public:
|
|
30
30
|
void Serialize(FieldWriter &writer) const override;
|
31
31
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
32
32
|
|
33
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
34
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
35
|
+
|
33
36
|
protected:
|
34
37
|
void ResolveTypes() override {
|
35
38
|
types = {LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR,
|
@@ -28,6 +28,9 @@ public:
|
|
28
28
|
public:
|
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
|
idx_t EstimateCardinality(ClientContext &context) override;
|
32
35
|
|
33
36
|
protected:
|
@@ -35,6 +35,10 @@ 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);
|
41
|
+
|
38
42
|
idx_t EstimateCardinality(ClientContext &context) override;
|
39
43
|
|
40
44
|
protected:
|
@@ -28,6 +28,8 @@ public:
|
|
28
28
|
vector<ColumnBinding> GetColumnBindings() override;
|
29
29
|
void Serialize(FieldWriter &writer) const override;
|
30
30
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
31
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
32
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
31
33
|
vector<idx_t> GetTableIndex() const override;
|
32
34
|
string GetName() const override;
|
33
35
|
|
@@ -33,11 +33,17 @@ public:
|
|
33
33
|
public:
|
34
34
|
void Serialize(FieldWriter &writer) const override;
|
35
35
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
36
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
37
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
38
|
+
|
36
39
|
idx_t EstimateCardinality(ClientContext &context) override;
|
37
40
|
string GetName() const override;
|
38
41
|
|
39
42
|
protected:
|
40
43
|
vector<ColumnBinding> GetColumnBindings() override;
|
41
44
|
void ResolveTypes() override;
|
45
|
+
|
46
|
+
private:
|
47
|
+
LogicalUpdate(ClientContext &context, const string &catalog, const string &schema, const string &table);
|
42
48
|
};
|
43
49
|
} // namespace duckdb
|
@@ -29,6 +29,9 @@ public:
|
|
29
29
|
vector<ColumnBinding> GetColumnBindings() override;
|
30
30
|
void Serialize(FieldWriter &writer) const override;
|
31
31
|
static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
|
32
|
+
|
33
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
34
|
+
static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
|
32
35
|
vector<idx_t> GetTableIndex() const override;
|
33
36
|
string GetName() const override;
|
34
37
|
|
@@ -25,6 +25,9 @@ struct BoundPivotInfo {
|
|
25
25
|
vector<string> pivot_values;
|
26
26
|
//! The set of aggregate functions that is being executed
|
27
27
|
vector<unique_ptr<Expression>> aggregates;
|
28
|
+
|
29
|
+
void FormatSerialize(FormatSerializer &serializer) const;
|
30
|
+
static BoundPivotInfo FormatDeserialize(FormatDeserializer &deserializer);
|
28
31
|
};
|
29
32
|
|
30
33
|
class BoundPivotRef : public BoundTableRef {
|
@@ -15,10 +15,12 @@ namespace duckdb {
|
|
15
15
|
|
16
16
|
struct DelimCandidate {
|
17
17
|
public:
|
18
|
-
explicit DelimCandidate(
|
18
|
+
explicit DelimCandidate(unique_ptr<LogicalOperator> &op, LogicalDelimJoin &delim_join)
|
19
|
+
: op(op), delim_join(delim_join), delim_get_count(0) {
|
19
20
|
}
|
20
21
|
|
21
22
|
public:
|
23
|
+
unique_ptr<LogicalOperator> &op;
|
22
24
|
LogicalDelimJoin &delim_join;
|
23
25
|
vector<reference<unique_ptr<LogicalOperator>>> joins;
|
24
26
|
idx_t delim_get_count;
|
@@ -61,7 +63,7 @@ unique_ptr<LogicalOperator> Deliminator::Optimize(unique_ptr<LogicalOperator> op
|
|
61
63
|
}
|
62
64
|
}
|
63
65
|
}
|
64
|
-
|
66
|
+
candidate.op = LogicalComparisonJoin::FromDelimJoin(delim_join);
|
65
67
|
}
|
66
68
|
}
|
67
69
|
|
@@ -78,7 +80,7 @@ void Deliminator::FindCandidates(unique_ptr<LogicalOperator> &op, vector<DelimCa
|
|
78
80
|
return;
|
79
81
|
}
|
80
82
|
|
81
|
-
candidates.emplace_back(op->Cast<LogicalDelimJoin>());
|
83
|
+
candidates.emplace_back(op, op->Cast<LogicalDelimJoin>());
|
82
84
|
auto &candidate = candidates.back();
|
83
85
|
|
84
86
|
// DelimGets are in the RHS
|
@@ -13,28 +13,14 @@ ColumnDefinition::ColumnDefinition(string name_p, LogicalType type_p)
|
|
13
13
|
|
14
14
|
ColumnDefinition::ColumnDefinition(string name_p, LogicalType type_p, unique_ptr<ParsedExpression> expression,
|
15
15
|
TableColumnType category)
|
16
|
-
: name(std::move(name_p)), type(std::move(type_p)), category(category) {
|
17
|
-
switch (category) {
|
18
|
-
case TableColumnType::STANDARD: {
|
19
|
-
default_value = std::move(expression);
|
20
|
-
break;
|
21
|
-
}
|
22
|
-
case TableColumnType::GENERATED: {
|
23
|
-
generated_expression = std::move(expression);
|
24
|
-
break;
|
25
|
-
}
|
26
|
-
default: {
|
27
|
-
throw InternalException("Type not implemented for TableColumnType");
|
28
|
-
}
|
29
|
-
}
|
16
|
+
: name(std::move(name_p)), type(std::move(type_p)), category(category), expression(std::move(expression)) {
|
30
17
|
}
|
31
18
|
|
32
19
|
ColumnDefinition ColumnDefinition::Copy() const {
|
33
20
|
ColumnDefinition copy(name, type);
|
34
21
|
copy.oid = oid;
|
35
22
|
copy.storage_oid = storage_oid;
|
36
|
-
copy.
|
37
|
-
copy.generated_expression = generated_expression ? generated_expression->Copy() : nullptr;
|
23
|
+
copy.expression = expression ? expression->Copy() : nullptr;
|
38
24
|
copy.compression_type = compression_type;
|
39
25
|
copy.category = category;
|
40
26
|
return copy;
|
@@ -44,11 +30,7 @@ void ColumnDefinition::Serialize(Serializer &serializer) const {
|
|
44
30
|
FieldWriter writer(serializer);
|
45
31
|
writer.WriteString(name);
|
46
32
|
writer.WriteSerializable(type);
|
47
|
-
|
48
|
-
writer.WriteOptional(generated_expression);
|
49
|
-
} else {
|
50
|
-
writer.WriteOptional(default_value);
|
51
|
-
}
|
33
|
+
writer.WriteOptional(expression);
|
52
34
|
writer.WriteField<TableColumnType>(category);
|
53
35
|
writer.WriteField<duckdb::CompressionType>(compression_type);
|
54
36
|
writer.Finalize();
|
@@ -69,11 +51,17 @@ ColumnDefinition ColumnDefinition::Deserialize(Deserializer &source) {
|
|
69
51
|
}
|
70
52
|
|
71
53
|
const unique_ptr<ParsedExpression> &ColumnDefinition::DefaultValue() const {
|
72
|
-
|
54
|
+
if (Generated()) {
|
55
|
+
throw InternalException("Calling DefaultValue() on a generated column");
|
56
|
+
}
|
57
|
+
return expression;
|
73
58
|
}
|
74
59
|
|
75
60
|
void ColumnDefinition::SetDefaultValue(unique_ptr<ParsedExpression> default_value) {
|
76
|
-
|
61
|
+
if (Generated()) {
|
62
|
+
throw InternalException("Calling SetDefaultValue() on a generated column");
|
63
|
+
}
|
64
|
+
this->expression = std::move(default_value);
|
77
65
|
}
|
78
66
|
|
79
67
|
const LogicalType &ColumnDefinition::Type() const {
|
@@ -168,7 +156,7 @@ static void InnerGetListOfDependencies(ParsedExpression &expr, vector<string> &d
|
|
168
156
|
|
169
157
|
void ColumnDefinition::GetListOfDependencies(vector<string> &dependencies) const {
|
170
158
|
D_ASSERT(Generated());
|
171
|
-
InnerGetListOfDependencies(*
|
159
|
+
InnerGetListOfDependencies(*expression, dependencies);
|
172
160
|
}
|
173
161
|
|
174
162
|
string ColumnDefinition::GetName() const {
|
@@ -179,28 +167,28 @@ LogicalType ColumnDefinition::GetType() const {
|
|
179
167
|
return type;
|
180
168
|
}
|
181
169
|
|
182
|
-
void ColumnDefinition::SetGeneratedExpression(unique_ptr<ParsedExpression>
|
170
|
+
void ColumnDefinition::SetGeneratedExpression(unique_ptr<ParsedExpression> new_expr) {
|
183
171
|
category = TableColumnType::GENERATED;
|
184
172
|
|
185
|
-
if (
|
173
|
+
if (new_expr->HasSubquery()) {
|
186
174
|
throw ParserException("Expression of generated column \"%s\" contains a subquery, which isn't allowed", name);
|
187
175
|
}
|
188
176
|
|
189
|
-
VerifyColumnRefs(*
|
177
|
+
VerifyColumnRefs(*new_expr);
|
190
178
|
if (type.id() == LogicalTypeId::ANY) {
|
191
|
-
|
179
|
+
expression = std::move(new_expr);
|
192
180
|
return;
|
193
181
|
}
|
194
182
|
// Always wrap the expression in a cast, that way we can always update the cast when we change the type
|
195
183
|
// Except if the type is LogicalType::ANY (no type specified)
|
196
|
-
|
184
|
+
expression = make_uniq_base<ParsedExpression, CastExpression>(type, std::move(new_expr));
|
197
185
|
}
|
198
186
|
|
199
187
|
void ColumnDefinition::ChangeGeneratedExpressionType(const LogicalType &type) {
|
200
188
|
D_ASSERT(Generated());
|
201
189
|
// First time the type is set, add a cast around the expression
|
202
190
|
D_ASSERT(this->type.id() == LogicalTypeId::ANY);
|
203
|
-
|
191
|
+
expression = make_uniq_base<ParsedExpression, CastExpression>(type, std::move(expression));
|
204
192
|
// Every generated expression should be wrapped in a cast on creation
|
205
193
|
// D_ASSERT(generated_expression->type == ExpressionType::OPERATOR_CAST);
|
206
194
|
// auto &cast_expr = generated_expression->Cast<CastExpression>();
|
@@ -210,12 +198,12 @@ void ColumnDefinition::ChangeGeneratedExpressionType(const LogicalType &type) {
|
|
210
198
|
|
211
199
|
const ParsedExpression &ColumnDefinition::GeneratedExpression() const {
|
212
200
|
D_ASSERT(Generated());
|
213
|
-
return *
|
201
|
+
return *expression;
|
214
202
|
}
|
215
203
|
|
216
204
|
ParsedExpression &ColumnDefinition::GeneratedExpressionMutable() {
|
217
205
|
D_ASSERT(Generated());
|
218
|
-
return *
|
206
|
+
return *expression;
|
219
207
|
}
|
220
208
|
|
221
209
|
} // namespace duckdb
|
@@ -6,6 +6,14 @@ namespace duckdb {
|
|
6
6
|
|
7
7
|
ColumnList::ColumnList(bool allow_duplicate_names) : allow_duplicate_names(allow_duplicate_names) {
|
8
8
|
}
|
9
|
+
|
10
|
+
ColumnList::ColumnList(vector<ColumnDefinition> columns, bool allow_duplicate_names)
|
11
|
+
: allow_duplicate_names(allow_duplicate_names) {
|
12
|
+
for (auto &col : columns) {
|
13
|
+
AddColumn(std::move(col));
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
9
17
|
void ColumnList::AddColumn(ColumnDefinition column) {
|
10
18
|
auto oid = columns.size();
|
11
19
|
if (!column.Generated()) {
|
@@ -6,6 +6,9 @@
|
|
6
6
|
|
7
7
|
namespace duckdb {
|
8
8
|
|
9
|
+
ForeignKeyConstraint::ForeignKeyConstraint() : Constraint(ConstraintType::FOREIGN_KEY) {
|
10
|
+
}
|
11
|
+
|
9
12
|
ForeignKeyConstraint::ForeignKeyConstraint(vector<string> pk_columns, vector<string> fk_columns, ForeignKeyInfo info)
|
10
13
|
: Constraint(ConstraintType::FOREIGN_KEY), pk_columns(std::move(pk_columns)), fk_columns(std::move(fk_columns)),
|
11
14
|
info(std::move(info)) {
|
@@ -6,6 +6,9 @@
|
|
6
6
|
|
7
7
|
namespace duckdb {
|
8
8
|
|
9
|
+
UniqueConstraint::UniqueConstraint() : Constraint(ConstraintType::UNIQUE), index(DConstants::INVALID_INDEX) {
|
10
|
+
}
|
11
|
+
|
9
12
|
UniqueConstraint::UniqueConstraint(LogicalIndex index, bool is_primary_key)
|
10
13
|
: Constraint(ConstraintType::UNIQUE), index(index), is_primary_key(is_primary_key) {
|
11
14
|
}
|
@@ -8,18 +8,6 @@
|
|
8
8
|
|
9
9
|
namespace duckdb {
|
10
10
|
|
11
|
-
void CaseCheck::FormatSerialize(FormatSerializer &serializer) const {
|
12
|
-
serializer.WriteProperty("when_expr", when_expr);
|
13
|
-
serializer.WriteProperty("then_expr", then_expr);
|
14
|
-
}
|
15
|
-
|
16
|
-
CaseCheck CaseCheck::FormatDeserialize(FormatDeserializer &deserializer) {
|
17
|
-
CaseCheck check;
|
18
|
-
deserializer.ReadProperty("when_expr", check.when_expr);
|
19
|
-
deserializer.ReadProperty("then_expr", check.then_expr);
|
20
|
-
return check;
|
21
|
-
}
|
22
|
-
|
23
11
|
CaseExpression::CaseExpression() : ParsedExpression(ExpressionType::CASE_EXPR, ExpressionClass::CASE) {
|
24
12
|
}
|
25
13
|
|
@@ -8,8 +8,11 @@
|
|
8
8
|
namespace duckdb {
|
9
9
|
|
10
10
|
AlterInfo::AlterInfo(AlterType type, string catalog_p, string schema_p, string name_p, OnEntryNotFound if_not_found)
|
11
|
-
: type(type), if_not_found(if_not_found), catalog(std::move(catalog_p)),
|
12
|
-
name(std::move(name_p)), allow_internal(false) {
|
11
|
+
: ParseInfo(TYPE), type(type), if_not_found(if_not_found), catalog(std::move(catalog_p)),
|
12
|
+
schema(std::move(schema_p)), name(std::move(name_p)), allow_internal(false) {
|
13
|
+
}
|
14
|
+
|
15
|
+
AlterInfo::AlterInfo(AlterType type) : ParseInfo(TYPE), type(type) {
|
13
16
|
}
|
14
17
|
|
15
18
|
AlterInfo::~AlterInfo() {
|
@@ -33,6 +33,9 @@ void ChangeOwnershipInfo::Serialize(FieldWriter &writer) const {
|
|
33
33
|
//===--------------------------------------------------------------------===//
|
34
34
|
// AlterTableInfo
|
35
35
|
//===--------------------------------------------------------------------===//
|
36
|
+
AlterTableInfo::AlterTableInfo(AlterTableType type) : AlterInfo(AlterType::ALTER_TABLE), alter_table_type(type) {
|
37
|
+
}
|
38
|
+
|
36
39
|
AlterTableInfo::AlterTableInfo(AlterTableType type, AlterEntryData data)
|
37
40
|
: AlterInfo(AlterType::ALTER_TABLE, std::move(data.catalog), std::move(data.schema), std::move(data.name),
|
38
41
|
data.if_not_found),
|
@@ -94,6 +97,10 @@ RenameColumnInfo::RenameColumnInfo(AlterEntryData data, string old_name_p, strin
|
|
94
97
|
: AlterTableInfo(AlterTableType::RENAME_COLUMN, std::move(data)), old_name(std::move(old_name_p)),
|
95
98
|
new_name(std::move(new_name_p)) {
|
96
99
|
}
|
100
|
+
|
101
|
+
RenameColumnInfo::RenameColumnInfo() : AlterTableInfo(AlterTableType::RENAME_COLUMN) {
|
102
|
+
}
|
103
|
+
|
97
104
|
RenameColumnInfo::~RenameColumnInfo() {
|
98
105
|
}
|
99
106
|
|
@@ -115,9 +122,13 @@ unique_ptr<AlterInfo> RenameColumnInfo::Deserialize(FieldReader &reader, AlterEn
|
|
115
122
|
//===--------------------------------------------------------------------===//
|
116
123
|
// RenameTableInfo
|
117
124
|
//===--------------------------------------------------------------------===//
|
125
|
+
RenameTableInfo::RenameTableInfo() : AlterTableInfo(AlterTableType::RENAME_TABLE) {
|
126
|
+
}
|
127
|
+
|
118
128
|
RenameTableInfo::RenameTableInfo(AlterEntryData data, string new_name_p)
|
119
129
|
: AlterTableInfo(AlterTableType::RENAME_TABLE, std::move(data)), new_table_name(std::move(new_name_p)) {
|
120
130
|
}
|
131
|
+
|
121
132
|
RenameTableInfo::~RenameTableInfo() {
|
122
133
|
}
|
123
134
|
|
@@ -137,6 +148,10 @@ unique_ptr<AlterInfo> RenameTableInfo::Deserialize(FieldReader &reader, AlterEnt
|
|
137
148
|
//===--------------------------------------------------------------------===//
|
138
149
|
// AddColumnInfo
|
139
150
|
//===--------------------------------------------------------------------===//
|
151
|
+
AddColumnInfo::AddColumnInfo(ColumnDefinition new_column_p)
|
152
|
+
: AlterTableInfo(AlterTableType::ADD_COLUMN), new_column(std::move(new_column_p)) {
|
153
|
+
}
|
154
|
+
|
140
155
|
AddColumnInfo::AddColumnInfo(AlterEntryData data, ColumnDefinition new_column, bool if_column_not_exists)
|
141
156
|
: AlterTableInfo(AlterTableType::ADD_COLUMN, std::move(data)), new_column(std::move(new_column)),
|
142
157
|
if_column_not_exists(if_column_not_exists) {
|
@@ -163,6 +178,9 @@ unique_ptr<AlterInfo> AddColumnInfo::Deserialize(FieldReader &reader, AlterEntry
|
|
163
178
|
//===--------------------------------------------------------------------===//
|
164
179
|
// RemoveColumnInfo
|
165
180
|
//===--------------------------------------------------------------------===//
|
181
|
+
RemoveColumnInfo::RemoveColumnInfo() : AlterTableInfo(AlterTableType::REMOVE_COLUMN) {
|
182
|
+
}
|
183
|
+
|
166
184
|
RemoveColumnInfo::RemoveColumnInfo(AlterEntryData data, string removed_column, bool if_column_exists, bool cascade)
|
167
185
|
: AlterTableInfo(AlterTableType::REMOVE_COLUMN, std::move(data)), removed_column(std::move(removed_column)),
|
168
186
|
if_column_exists(if_column_exists), cascade(cascade) {
|
@@ -190,6 +208,9 @@ unique_ptr<AlterInfo> RemoveColumnInfo::Deserialize(FieldReader &reader, AlterEn
|
|
190
208
|
//===--------------------------------------------------------------------===//
|
191
209
|
// ChangeColumnTypeInfo
|
192
210
|
//===--------------------------------------------------------------------===//
|
211
|
+
ChangeColumnTypeInfo::ChangeColumnTypeInfo() : AlterTableInfo(AlterTableType::ALTER_COLUMN_TYPE) {
|
212
|
+
}
|
213
|
+
|
193
214
|
ChangeColumnTypeInfo::ChangeColumnTypeInfo(AlterEntryData data, string column_name, LogicalType target_type,
|
194
215
|
unique_ptr<ParsedExpression> expression)
|
195
216
|
: AlterTableInfo(AlterTableType::ALTER_COLUMN_TYPE, std::move(data)), column_name(std::move(column_name)),
|
@@ -220,6 +241,9 @@ unique_ptr<AlterInfo> ChangeColumnTypeInfo::Deserialize(FieldReader &reader, Alt
|
|
220
241
|
//===--------------------------------------------------------------------===//
|
221
242
|
// SetDefaultInfo
|
222
243
|
//===--------------------------------------------------------------------===//
|
244
|
+
SetDefaultInfo::SetDefaultInfo() : AlterTableInfo(AlterTableType::SET_DEFAULT) {
|
245
|
+
}
|
246
|
+
|
223
247
|
SetDefaultInfo::SetDefaultInfo(AlterEntryData data, string column_name_p, unique_ptr<ParsedExpression> new_default)
|
224
248
|
: AlterTableInfo(AlterTableType::SET_DEFAULT, std::move(data)), column_name(std::move(column_name_p)),
|
225
249
|
expression(std::move(new_default)) {
|
@@ -246,6 +270,9 @@ unique_ptr<AlterInfo> SetDefaultInfo::Deserialize(FieldReader &reader, AlterEntr
|
|
246
270
|
//===--------------------------------------------------------------------===//
|
247
271
|
// SetNotNullInfo
|
248
272
|
//===--------------------------------------------------------------------===//
|
273
|
+
SetNotNullInfo::SetNotNullInfo() : AlterTableInfo(AlterTableType::SET_NOT_NULL) {
|
274
|
+
}
|
275
|
+
|
249
276
|
SetNotNullInfo::SetNotNullInfo(AlterEntryData data, string column_name_p)
|
250
277
|
: AlterTableInfo(AlterTableType::SET_NOT_NULL, std::move(data)), column_name(std::move(column_name_p)) {
|
251
278
|
}
|
@@ -268,6 +295,9 @@ unique_ptr<AlterInfo> SetNotNullInfo::Deserialize(FieldReader &reader, AlterEntr
|
|
268
295
|
//===--------------------------------------------------------------------===//
|
269
296
|
// DropNotNullInfo
|
270
297
|
//===--------------------------------------------------------------------===//
|
298
|
+
DropNotNullInfo::DropNotNullInfo() : AlterTableInfo(AlterTableType::DROP_NOT_NULL) {
|
299
|
+
}
|
300
|
+
|
271
301
|
DropNotNullInfo::DropNotNullInfo(AlterEntryData data, string column_name_p)
|
272
302
|
: AlterTableInfo(AlterTableType::DROP_NOT_NULL, std::move(data)), column_name(std::move(column_name_p)) {
|
273
303
|
}
|
@@ -290,6 +320,9 @@ unique_ptr<AlterInfo> DropNotNullInfo::Deserialize(FieldReader &reader, AlterEnt
|
|
290
320
|
//===--------------------------------------------------------------------===//
|
291
321
|
// AlterForeignKeyInfo
|
292
322
|
//===--------------------------------------------------------------------===//
|
323
|
+
AlterForeignKeyInfo::AlterForeignKeyInfo() : AlterTableInfo(AlterTableType::FOREIGN_KEY_CONSTRAINT) {
|
324
|
+
}
|
325
|
+
|
293
326
|
AlterForeignKeyInfo::AlterForeignKeyInfo(AlterEntryData data, string fk_table, vector<string> pk_columns,
|
294
327
|
vector<string> fk_columns, vector<PhysicalIndex> pk_keys,
|
295
328
|
vector<PhysicalIndex> fk_keys, AlterForeignKeyType type_p)
|
@@ -328,6 +361,9 @@ unique_ptr<AlterInfo> AlterForeignKeyInfo::Deserialize(FieldReader &reader, Alte
|
|
328
361
|
//===--------------------------------------------------------------------===//
|
329
362
|
// Alter View
|
330
363
|
//===--------------------------------------------------------------------===//
|
364
|
+
AlterViewInfo::AlterViewInfo(AlterViewType type) : AlterInfo(AlterType::ALTER_VIEW) {
|
365
|
+
}
|
366
|
+
|
331
367
|
AlterViewInfo::AlterViewInfo(AlterViewType type, AlterEntryData data)
|
332
368
|
: AlterInfo(AlterType::ALTER_VIEW, std::move(data.catalog), std::move(data.schema), std::move(data.name),
|
333
369
|
data.if_not_found),
|
@@ -368,6 +404,8 @@ unique_ptr<AlterInfo> AlterViewInfo::Deserialize(FieldReader &reader) {
|
|
368
404
|
//===--------------------------------------------------------------------===//
|
369
405
|
// RenameViewInfo
|
370
406
|
//===--------------------------------------------------------------------===//
|
407
|
+
RenameViewInfo::RenameViewInfo() : AlterViewInfo(AlterViewType::RENAME_VIEW) {
|
408
|
+
}
|
371
409
|
RenameViewInfo::RenameViewInfo(AlterEntryData data, string new_name_p)
|
372
410
|
: AlterViewInfo(AlterViewType::RENAME_VIEW, std::move(data)), new_view_name(std::move(new_name_p)) {
|
373
411
|
}
|
@@ -11,7 +11,7 @@ unique_ptr<CreateInfo> CreateIndexInfo::Copy() const {
|
|
11
11
|
result->index_type = index_type;
|
12
12
|
result->index_name = index_name;
|
13
13
|
result->constraint_type = constraint_type;
|
14
|
-
result->table =
|
14
|
+
result->table = table;
|
15
15
|
for (auto &expr : expressions) {
|
16
16
|
result->expressions.push_back(expr->Copy());
|
17
17
|
}
|
@@ -28,6 +28,7 @@ unique_ptr<CreateInfo> CreateIndexInfo::Copy() const {
|
|
28
28
|
void CreateIndexInfo::SerializeInternal(Serializer &serializer) const {
|
29
29
|
FieldWriter writer(serializer);
|
30
30
|
writer.WriteField(index_type);
|
31
|
+
writer.WriteString(table);
|
31
32
|
writer.WriteString(index_name);
|
32
33
|
writer.WriteField(constraint_type);
|
33
34
|
|
@@ -45,6 +46,7 @@ unique_ptr<CreateIndexInfo> CreateIndexInfo::Deserialize(Deserializer &deseriali
|
|
45
46
|
|
46
47
|
FieldReader reader(deserializer);
|
47
48
|
result->index_type = reader.ReadRequired<IndexType>();
|
49
|
+
result->table = reader.ReadRequired<string>();
|
48
50
|
result->index_name = reader.ReadRequired<string>();
|
49
51
|
result->constraint_type = reader.ReadRequired<IndexConstraintType>();
|
50
52
|
|
@@ -27,6 +27,7 @@ unique_ptr<CreateInfo> CreateSequenceInfo::Copy() const {
|
|
27
27
|
void CreateSequenceInfo::SerializeInternal(Serializer &serializer) const {
|
28
28
|
FieldWriter writer(serializer);
|
29
29
|
writer.WriteString(name);
|
30
|
+
writer.WriteString(schema);
|
30
31
|
writer.WriteField(usage_count);
|
31
32
|
writer.WriteField(increment);
|
32
33
|
writer.WriteField(min_value);
|
@@ -42,6 +43,7 @@ unique_ptr<CreateSequenceInfo> CreateSequenceInfo::Deserialize(Deserializer &des
|
|
42
43
|
|
43
44
|
FieldReader reader(deserializer);
|
44
45
|
result->name = reader.ReadRequired<string>();
|
46
|
+
result->schema = reader.ReadRequired<string>();
|
45
47
|
result->usage_count = reader.ReadRequired<uint64_t>();
|
46
48
|
result->increment = reader.ReadRequired<int64_t>();
|
47
49
|
result->min_value = reader.ReadRequired<int64_t>();
|