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
@@ -28,7 +28,7 @@ protected:
|
|
28
28
|
public:
|
29
29
|
// Serialize a value
|
30
30
|
template <class T>
|
31
|
-
typename std::enable_if<!std::is_enum<T>::value, void>::type WriteProperty(const char *tag, T &value) {
|
31
|
+
typename std::enable_if<!std::is_enum<T>::value, void>::type WriteProperty(const char *tag, const T &value) {
|
32
32
|
SetTag(tag);
|
33
33
|
WriteValue(value);
|
34
34
|
}
|
@@ -48,22 +48,8 @@ public:
|
|
48
48
|
}
|
49
49
|
|
50
50
|
// Optional pointer
|
51
|
-
template <class
|
52
|
-
void WriteOptionalProperty(const char *tag,
|
53
|
-
SetTag(tag);
|
54
|
-
if (ptr == nullptr) {
|
55
|
-
OnOptionalBegin(false);
|
56
|
-
OnOptionalEnd(false);
|
57
|
-
} else {
|
58
|
-
OnOptionalBegin(true);
|
59
|
-
WriteValue(*ptr);
|
60
|
-
OnOptionalEnd(true);
|
61
|
-
}
|
62
|
-
}
|
63
|
-
|
64
|
-
// Optional unique_ptr
|
65
|
-
template <class T>
|
66
|
-
void WriteOptionalProperty(const char *tag, const unique_ptr<T> &ptr) {
|
51
|
+
template <class POINTER>
|
52
|
+
void WriteOptionalProperty(const char *tag, POINTER &&ptr) {
|
67
53
|
SetTag(tag);
|
68
54
|
if (ptr == nullptr) {
|
69
55
|
OnOptionalBegin(false);
|
@@ -122,10 +108,20 @@ protected:
|
|
122
108
|
OnListEnd(count);
|
123
109
|
}
|
124
110
|
|
111
|
+
template <class T>
|
112
|
+
void WriteValue(const unsafe_vector<T> &vec) {
|
113
|
+
auto count = vec.size();
|
114
|
+
OnListBegin(count);
|
115
|
+
for (auto &item : vec) {
|
116
|
+
WriteValue(item);
|
117
|
+
}
|
118
|
+
OnListEnd(count);
|
119
|
+
}
|
120
|
+
|
125
121
|
// UnorderedSet
|
126
122
|
// Serialized the same way as a list/vector
|
127
123
|
template <class T, class HASH, class CMP>
|
128
|
-
void WriteValue(const unordered_set<T, HASH, CMP> &set) {
|
124
|
+
void WriteValue(const duckdb::unordered_set<T, HASH, CMP> &set) {
|
129
125
|
auto count = set.size();
|
130
126
|
OnListBegin(count);
|
131
127
|
for (auto &item : set) {
|
@@ -137,7 +133,7 @@ protected:
|
|
137
133
|
// Set
|
138
134
|
// Serialized the same way as a list/vector
|
139
135
|
template <class T, class HASH, class CMP>
|
140
|
-
void WriteValue(const set<T, HASH, CMP> &set) {
|
136
|
+
void WriteValue(const duckdb::set<T, HASH, CMP> &set) {
|
141
137
|
auto count = set.size();
|
142
138
|
OnListBegin(count);
|
143
139
|
for (auto &item : set) {
|
@@ -148,7 +144,7 @@ protected:
|
|
148
144
|
|
149
145
|
// Map
|
150
146
|
template <class K, class V, class HASH, class CMP>
|
151
|
-
void WriteValue(const
|
147
|
+
void WriteValue(const duckdb::unordered_map<K, V, HASH, CMP> &map) {
|
152
148
|
auto count = map.size();
|
153
149
|
OnMapBegin(count);
|
154
150
|
for (auto &item : map) {
|
@@ -166,7 +162,7 @@ protected:
|
|
166
162
|
|
167
163
|
// class or struct implementing `FormatSerialize(FormatSerializer& FormatSerializer)`;
|
168
164
|
template <typename T>
|
169
|
-
typename std::enable_if<has_serialize<T>::value>::type WriteValue(T &value) {
|
165
|
+
typename std::enable_if<has_serialize<T>::value>::type WriteValue(const T &value) {
|
170
166
|
// Else, we defer to the .FormatSerialize method
|
171
167
|
OnObjectBegin();
|
172
168
|
value.FormatSerialize(*this);
|
@@ -243,6 +239,12 @@ protected:
|
|
243
239
|
virtual void WriteValue(const char *str) = 0;
|
244
240
|
virtual void WriteValue(interval_t value) = 0;
|
245
241
|
virtual void WriteDataPtr(const_data_ptr_t ptr, idx_t count) = 0;
|
242
|
+
void WriteValue(LogicalIndex value) {
|
243
|
+
WriteValue(value.index);
|
244
|
+
}
|
245
|
+
void WriteValue(PhysicalIndex value) {
|
246
|
+
WriteValue(value.index);
|
247
|
+
}
|
246
248
|
};
|
247
249
|
|
248
250
|
} // namespace duckdb
|
@@ -3,7 +3,8 @@
|
|
3
3
|
#include "duckdb/common/vector.hpp"
|
4
4
|
#include "duckdb/common/unordered_map.hpp"
|
5
5
|
#include "duckdb/common/unordered_set.hpp"
|
6
|
-
|
6
|
+
#include "duckdb/common/set.hpp"
|
7
|
+
#include "duckdb/common/shared_ptr.hpp"
|
7
8
|
namespace duckdb {
|
8
9
|
|
9
10
|
class FormatSerializer; // Forward declare
|
@@ -51,11 +52,18 @@ struct is_vector<typename duckdb::vector<T>> : std::true_type {
|
|
51
52
|
typedef T ELEMENT_TYPE;
|
52
53
|
};
|
53
54
|
|
55
|
+
template <typename T>
|
56
|
+
struct is_unsafe_vector : std::false_type {};
|
57
|
+
template <typename T>
|
58
|
+
struct is_unsafe_vector<typename duckdb::unsafe_vector<T>> : std::true_type {
|
59
|
+
typedef T ELEMENT_TYPE;
|
60
|
+
};
|
61
|
+
|
54
62
|
// Check if T is a unordered map, and provide access to the inner type
|
55
63
|
template <typename T>
|
56
64
|
struct is_unordered_map : std::false_type {};
|
57
65
|
template <typename... Args>
|
58
|
-
struct is_unordered_map<typename
|
66
|
+
struct is_unordered_map<typename duckdb::unordered_map<Args...>> : std::true_type {
|
59
67
|
typedef typename std::tuple_element<0, std::tuple<Args...>>::type KEY_TYPE;
|
60
68
|
typedef typename std::tuple_element<1, std::tuple<Args...>>::type VALUE_TYPE;
|
61
69
|
typedef typename std::tuple_element<2, std::tuple<Args...>>::type HASH_TYPE;
|
@@ -90,7 +98,7 @@ struct is_pair<std::pair<T, U>> : std::true_type {
|
|
90
98
|
template <typename T>
|
91
99
|
struct is_unordered_set : std::false_type {};
|
92
100
|
template <typename... Args>
|
93
|
-
struct is_unordered_set<
|
101
|
+
struct is_unordered_set<duckdb::unordered_set<Args...>> : std::true_type {
|
94
102
|
typedef typename std::tuple_element<0, std::tuple<Args...>>::type ELEMENT_TYPE;
|
95
103
|
typedef typename std::tuple_element<1, std::tuple<Args...>>::type HASH_TYPE;
|
96
104
|
typedef typename std::tuple_element<2, std::tuple<Args...>>::type EQUAL_TYPE;
|
@@ -99,7 +107,7 @@ struct is_unordered_set<std::unordered_set<Args...>> : std::true_type {
|
|
99
107
|
template <typename T>
|
100
108
|
struct is_set : std::false_type {};
|
101
109
|
template <typename... Args>
|
102
|
-
struct is_set<
|
110
|
+
struct is_set<duckdb::set<Args...>> : std::true_type {
|
103
111
|
typedef typename std::tuple_element<0, std::tuple<Args...>>::type ELEMENT_TYPE;
|
104
112
|
typedef typename std::tuple_element<1, std::tuple<Args...>>::type HASH_TYPE;
|
105
113
|
typedef typename std::tuple_element<2, std::tuple<Args...>>::type EQUAL_TYPE;
|
@@ -154,6 +154,9 @@ public:
|
|
154
154
|
//! Get a vector of the segments in this ColumnDataCollection
|
155
155
|
const vector<unique_ptr<ColumnDataCollectionSegment>> &GetSegments() const;
|
156
156
|
|
157
|
+
void FormatSerialize(FormatSerializer &serializer) const;
|
158
|
+
static unique_ptr<ColumnDataCollection> FormatDeserialize(FormatDeserializer &deserializer);
|
159
|
+
|
157
160
|
private:
|
158
161
|
//! Creates a new segment within the ColumnDataCollection
|
159
162
|
void CreateSegment();
|
@@ -48,6 +48,9 @@ public:
|
|
48
48
|
void Serialize(Serializer &serializer) const;
|
49
49
|
static unique_ptr<MacroFunction> Deserialize(Deserializer &deserializer);
|
50
50
|
|
51
|
+
virtual void FormatSerialize(FormatSerializer &serializer) const;
|
52
|
+
static unique_ptr<MacroFunction> FormatDeserialize(FormatDeserializer &deserializer);
|
53
|
+
|
51
54
|
protected:
|
52
55
|
virtual void SerializeInternal(FieldWriter &writer) const = 0;
|
53
56
|
|
@@ -36,6 +36,9 @@ public:
|
|
36
36
|
|
37
37
|
static unique_ptr<MacroFunction> Deserialize(FieldReader &reader);
|
38
38
|
|
39
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
40
|
+
static unique_ptr<MacroFunction> FormatDeserialize(FormatDeserializer &deserializer);
|
41
|
+
|
39
42
|
protected:
|
40
43
|
void SerializeInternal(FieldWriter &writer) const override;
|
41
44
|
};
|
@@ -36,6 +36,9 @@ public:
|
|
36
36
|
|
37
37
|
static unique_ptr<MacroFunction> Deserialize(FieldReader &reader);
|
38
38
|
|
39
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
40
|
+
static unique_ptr<MacroFunction> FormatDeserialize(FormatDeserializer &deserializer);
|
41
|
+
|
39
42
|
protected:
|
40
43
|
void SerializeInternal(FieldWriter &writer) const override;
|
41
44
|
};
|
@@ -29,9 +29,6 @@ public:
|
|
29
29
|
DUCKDB_API ColumnDefinition(string name, LogicalType type, unique_ptr<ParsedExpression> expression,
|
30
30
|
TableColumnType category);
|
31
31
|
|
32
|
-
//! The default value of the column (if any)
|
33
|
-
unique_ptr<ParsedExpression> default_value;
|
34
|
-
|
35
32
|
public:
|
36
33
|
//! default_value
|
37
34
|
const unique_ptr<ParsedExpression> &DefaultValue() const;
|
@@ -70,6 +67,9 @@ public:
|
|
70
67
|
DUCKDB_API void Serialize(Serializer &serializer) const;
|
71
68
|
DUCKDB_API static ColumnDefinition Deserialize(Deserializer &source);
|
72
69
|
|
70
|
+
DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const;
|
71
|
+
DUCKDB_API static ColumnDefinition FormatDeserialize(FormatDeserializer &deserializer);
|
72
|
+
|
73
73
|
//===--------------------------------------------------------------------===//
|
74
74
|
// Generated Columns (VIRTUAL)
|
75
75
|
//===--------------------------------------------------------------------===//
|
@@ -97,8 +97,9 @@ private:
|
|
97
97
|
idx_t oid = DConstants::INVALID_INDEX;
|
98
98
|
//! The category of the column
|
99
99
|
TableColumnType category = TableColumnType::STANDARD;
|
100
|
-
//!
|
101
|
-
|
100
|
+
//! The default value of the column (for non-generated columns)
|
101
|
+
//! The generated column expression (for generated columns)
|
102
|
+
unique_ptr<ParsedExpression> expression;
|
102
103
|
};
|
103
104
|
|
104
105
|
} // namespace duckdb
|
@@ -20,6 +20,7 @@ public:
|
|
20
20
|
|
21
21
|
public:
|
22
22
|
DUCKDB_API ColumnList(bool allow_duplicate_names = false);
|
23
|
+
DUCKDB_API explicit ColumnList(vector<ColumnDefinition> columns, bool allow_duplicate_names = false);
|
23
24
|
|
24
25
|
DUCKDB_API void AddColumn(ColumnDefinition column);
|
25
26
|
void Finalize();
|
@@ -53,6 +54,9 @@ public:
|
|
53
54
|
void Serialize(FieldWriter &writer) const;
|
54
55
|
static ColumnList Deserialize(FieldReader &reader);
|
55
56
|
|
57
|
+
void FormatSerialize(FormatSerializer &serializer) const;
|
58
|
+
static ColumnList FormatDeserialize(FormatDeserializer &deserializer);
|
59
|
+
|
56
60
|
DUCKDB_API ColumnListIterator Logical() const;
|
57
61
|
DUCKDB_API ColumnListIterator Physical() const;
|
58
62
|
|
@@ -16,6 +16,8 @@ namespace duckdb {
|
|
16
16
|
|
17
17
|
class Serializer;
|
18
18
|
class Deserializer;
|
19
|
+
class FormatSerializer;
|
20
|
+
class FormatDeserializer;
|
19
21
|
class FieldWriter;
|
20
22
|
class FieldReader;
|
21
23
|
|
@@ -68,6 +70,9 @@ public:
|
|
68
70
|
//! Deserializes a blob back into a Constraint
|
69
71
|
DUCKDB_API static unique_ptr<Constraint> Deserialize(Deserializer &source);
|
70
72
|
|
73
|
+
DUCKDB_API virtual void FormatSerialize(FormatSerializer &serializer) const;
|
74
|
+
DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
|
75
|
+
|
71
76
|
public:
|
72
77
|
template <class TARGET>
|
73
78
|
TARGET &Cast() {
|
@@ -32,6 +32,9 @@ public:
|
|
32
32
|
|
33
33
|
DUCKDB_API void Serialize(FieldWriter &writer) const override;
|
34
34
|
DUCKDB_API static unique_ptr<Constraint> Deserialize(FieldReader &source);
|
35
|
+
|
36
|
+
DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
|
37
|
+
DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
|
35
38
|
};
|
36
39
|
|
37
40
|
} // namespace duckdb
|
@@ -35,6 +35,12 @@ public:
|
|
35
35
|
DUCKDB_API void Serialize(FieldWriter &writer) const override;
|
36
36
|
//! Deserializes a ParsedConstraint
|
37
37
|
DUCKDB_API static unique_ptr<Constraint> Deserialize(FieldReader &source);
|
38
|
+
|
39
|
+
DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
|
40
|
+
DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
|
41
|
+
|
42
|
+
private:
|
43
|
+
ForeignKeyConstraint();
|
38
44
|
};
|
39
45
|
|
40
46
|
} // namespace duckdb
|
@@ -32,6 +32,9 @@ public:
|
|
32
32
|
DUCKDB_API void Serialize(FieldWriter &writer) const override;
|
33
33
|
//! Deserializes a NotNullConstraint
|
34
34
|
DUCKDB_API static unique_ptr<Constraint> Deserialize(FieldReader &source);
|
35
|
+
|
36
|
+
DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
|
37
|
+
DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
|
35
38
|
};
|
36
39
|
|
37
40
|
} // namespace duckdb
|
@@ -38,6 +38,12 @@ public:
|
|
38
38
|
DUCKDB_API void Serialize(FieldWriter &writer) const override;
|
39
39
|
//! Deserializes a ParsedConstraint
|
40
40
|
DUCKDB_API static unique_ptr<Constraint> Deserialize(FieldReader &source);
|
41
|
+
|
42
|
+
DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
|
43
|
+
DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
|
44
|
+
|
45
|
+
private:
|
46
|
+
UniqueConstraint();
|
41
47
|
};
|
42
48
|
|
43
49
|
} // namespace duckdb
|
@@ -35,7 +35,7 @@ public:
|
|
35
35
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
36
36
|
|
37
37
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
38
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
38
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
39
39
|
|
40
40
|
public:
|
41
41
|
template <class T, class BASE>
|
@@ -42,7 +42,7 @@ public:
|
|
42
42
|
void Serialize(FieldWriter &writer) const override;
|
43
43
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
44
44
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
45
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
45
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
46
46
|
|
47
47
|
public:
|
48
48
|
template <class T, class BASE>
|
@@ -38,7 +38,7 @@ public:
|
|
38
38
|
void Serialize(FieldWriter &writer) const override;
|
39
39
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
40
40
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
41
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
41
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
42
42
|
|
43
43
|
public:
|
44
44
|
template <class T, class BASE>
|
@@ -35,7 +35,7 @@ public:
|
|
35
35
|
void Serialize(FieldWriter &writer) const override;
|
36
36
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
37
37
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
38
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
38
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
39
39
|
|
40
40
|
private:
|
41
41
|
CollateExpression();
|
@@ -49,7 +49,7 @@ public:
|
|
49
49
|
void Serialize(FieldWriter &writer) const override;
|
50
50
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
51
51
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
52
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
52
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
53
53
|
|
54
54
|
private:
|
55
55
|
ColumnRefExpression();
|
@@ -34,7 +34,7 @@ public:
|
|
34
34
|
void Serialize(FieldWriter &writer) const override;
|
35
35
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
36
36
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
37
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
37
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
38
38
|
|
39
39
|
public:
|
40
40
|
template <class T, class BASE>
|
@@ -38,7 +38,7 @@ public:
|
|
38
38
|
void Serialize(FieldWriter &writer) const override;
|
39
39
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
40
40
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
41
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
41
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
42
42
|
|
43
43
|
public:
|
44
44
|
template <class T, class BASE>
|
@@ -36,7 +36,7 @@ public:
|
|
36
36
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
37
37
|
|
38
38
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
39
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
39
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
40
40
|
|
41
41
|
private:
|
42
42
|
ConstantExpression();
|
@@ -31,6 +31,6 @@ public:
|
|
31
31
|
void Serialize(FieldWriter &writer) const override;
|
32
32
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
33
33
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
34
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
34
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
35
35
|
};
|
36
36
|
} // namespace duckdb
|
@@ -59,7 +59,7 @@ public:
|
|
59
59
|
void Serialize(FieldWriter &writer) const override;
|
60
60
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
61
61
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
62
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
62
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
63
63
|
|
64
64
|
void Verify() const override;
|
65
65
|
|
@@ -41,7 +41,7 @@ public:
|
|
41
41
|
void Serialize(FieldWriter &writer) const override;
|
42
42
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
43
43
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
44
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
44
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
45
45
|
|
46
46
|
private:
|
47
47
|
LambdaExpression();
|
@@ -36,7 +36,7 @@ public:
|
|
36
36
|
void Serialize(FieldWriter &writer) const override;
|
37
37
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
38
38
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
39
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
39
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
40
40
|
|
41
41
|
public:
|
42
42
|
template <class T, class BASE>
|
@@ -38,6 +38,6 @@ public:
|
|
38
38
|
void Serialize(FieldWriter &writer) const override;
|
39
39
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
40
40
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
41
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
41
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
42
42
|
};
|
43
43
|
} // namespace duckdb
|
@@ -34,7 +34,7 @@ public:
|
|
34
34
|
void Serialize(FieldWriter &writer) const override;
|
35
35
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
36
36
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
37
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
37
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
38
38
|
|
39
39
|
private:
|
40
40
|
PositionalReferenceExpression();
|
@@ -42,6 +42,6 @@ public:
|
|
42
42
|
void Serialize(FieldWriter &writer) const override;
|
43
43
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
44
44
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
45
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
45
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
46
46
|
};
|
47
47
|
} // namespace duckdb
|
@@ -49,6 +49,6 @@ public:
|
|
49
49
|
void Serialize(FieldWriter &writer) const override;
|
50
50
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
51
51
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
52
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
52
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
53
53
|
};
|
54
54
|
} // namespace duckdb
|
@@ -77,7 +77,7 @@ public:
|
|
77
77
|
void Serialize(FieldWriter &writer) const override;
|
78
78
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
|
79
79
|
void FormatSerialize(FormatSerializer &serializer) const override;
|
80
|
-
static unique_ptr<ParsedExpression> FormatDeserialize(
|
80
|
+
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
81
81
|
|
82
82
|
static ExpressionType WindowToExpressionType(string &fun_name);
|
83
83
|
|
@@ -40,8 +40,12 @@ struct AlterEntryData {
|
|
40
40
|
};
|
41
41
|
|
42
42
|
struct AlterInfo : public ParseInfo {
|
43
|
+
public:
|
44
|
+
static constexpr const ParseInfoType TYPE = ParseInfoType::ALTER_INFO;
|
45
|
+
|
46
|
+
public:
|
43
47
|
AlterInfo(AlterType type, string catalog, string schema, string name, OnEntryNotFound if_not_found);
|
44
|
-
|
48
|
+
~AlterInfo() override;
|
45
49
|
|
46
50
|
AlterType type;
|
47
51
|
//! if exists
|
@@ -61,11 +65,18 @@ public:
|
|
61
65
|
void Serialize(Serializer &serializer) const;
|
62
66
|
virtual void Serialize(FieldWriter &writer) const = 0;
|
63
67
|
static unique_ptr<AlterInfo> Deserialize(Deserializer &source);
|
68
|
+
|
69
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
70
|
+
static unique_ptr<ParseInfo> FormatDeserialize(FormatDeserializer &deserializer);
|
71
|
+
|
64
72
|
virtual string GetColumnName() const {
|
65
73
|
return "";
|
66
74
|
};
|
67
75
|
|
68
76
|
AlterEntryData GetAlterEntryData() const;
|
77
|
+
|
78
|
+
protected:
|
79
|
+
explicit AlterInfo(AlterType type);
|
69
80
|
};
|
70
81
|
|
71
82
|
} // namespace duckdb
|