duckdb 0.8.2-dev2700.0 → 0.8.2-dev2842.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/extension/icu/icu-makedate.cpp +12 -6
- package/src/duckdb/extension/json/include/json_deserializer.hpp +1 -1
- package/src/duckdb/extension/json/include/json_serializer.hpp +1 -1
- package/src/duckdb/extension/json/json_deserializer.cpp +10 -10
- package/src/duckdb/extension/json/json_scan.cpp +2 -2
- package/src/duckdb/extension/json/json_serializer.cpp +11 -10
- package/src/duckdb/extension/json/serialize_json.cpp +44 -44
- package/src/duckdb/extension/parquet/parquet_extension.cpp +11 -10
- package/src/duckdb/extension/parquet/serialize_parquet.cpp +6 -6
- package/src/duckdb/src/common/adbc/adbc.cpp +52 -21
- package/src/duckdb/src/common/adbc/driver_manager.cpp +12 -2
- package/src/duckdb/src/common/enum_util.cpp +5 -0
- package/src/duckdb/src/common/extra_type_info.cpp +2 -2
- package/src/duckdb/src/common/serializer/binary_deserializer.cpp +5 -3
- package/src/duckdb/src/common/serializer/binary_serializer.cpp +10 -5
- package/src/duckdb/src/common/types/column/column_data_collection.cpp +4 -4
- package/src/duckdb/src/common/types/row/row_data_collection_scanner.cpp +35 -5
- package/src/duckdb/src/common/types/value.cpp +33 -33
- package/src/duckdb/src/common/types/vector.cpp +20 -20
- package/src/duckdb/src/core_functions/aggregate/holistic/approximate_quantile.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +6 -6
- package/src/duckdb/src/core_functions/aggregate/holistic/reservoir_quantile.cpp +4 -4
- package/src/duckdb/src/core_functions/scalar/list/list_lambdas.cpp +4 -4
- package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +283 -91
- package/src/duckdb/src/execution/operator/filter/physical_filter.cpp +1 -1
- package/src/duckdb/src/execution/operator/join/physical_comparison_join.cpp +1 -2
- package/src/duckdb/src/execution/operator/scan/physical_table_scan.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan_generator.cpp +1 -6
- package/src/duckdb/src/execution/window_executor.cpp +10 -1
- package/src/duckdb/src/function/table/read_csv.cpp +4 -4
- package/src/duckdb/src/function/table/table_scan.cpp +14 -14
- package/src/duckdb/src/function/table/version/pragma_version.cpp +5 -2
- package/src/duckdb/src/include/duckdb/common/adbc/adbc.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/enums/pending_execution_result.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/index_vector.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +7 -3
- package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/serializer/format_deserializer.hpp +18 -17
- package/src/duckdb/src/include/duckdb/common/serializer/format_serializer.hpp +10 -9
- package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +4 -0
- package/src/duckdb/src/include/duckdb/common/types/row/row_data_collection_scanner.hpp +5 -1
- package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +0 -2
- package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +10 -10
- package/src/duckdb/src/include/duckdb/main/pending_query_result.hpp +5 -0
- package/src/duckdb/src/include/duckdb/main/relation/aggregate_relation.hpp +4 -1
- package/src/duckdb/src/include/duckdb/optimizer/join_order/cardinality_estimator.hpp +37 -63
- package/src/duckdb/src/include/duckdb/optimizer/join_order/cost_model.hpp +37 -0
- package/src/duckdb/src/include/duckdb/optimizer/join_order/join_node.hpp +14 -29
- package/src/duckdb/src/include/duckdb/optimizer/join_order/join_order_optimizer.hpp +7 -21
- package/src/duckdb/src/include/duckdb/optimizer/join_order/join_relation.hpp +0 -11
- package/src/duckdb/src/include/duckdb/optimizer/join_order/plan_enumerator.hpp +89 -0
- package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph.hpp +17 -31
- package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph_manager.hpp +113 -0
- package/src/duckdb/src/include/duckdb/optimizer/join_order/relation_manager.hpp +73 -0
- package/src/duckdb/src/include/duckdb/optimizer/join_order/relation_statistics_helper.hpp +73 -0
- package/src/duckdb/src/include/duckdb/parallel/task_scheduler.hpp +4 -1
- package/src/duckdb/src/include/duckdb/parser/group_by_node.hpp +11 -0
- package/src/duckdb/src/include/duckdb/parser/parser.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +0 -2
- package/src/duckdb/src/include/duckdb.h +11 -1
- package/src/duckdb/src/main/capi/pending-c.cpp +17 -0
- package/src/duckdb/src/main/pending_query_result.cpp +9 -1
- package/src/duckdb/src/main/relation/aggregate_relation.cpp +20 -10
- package/src/duckdb/src/main/relation.cpp +4 -4
- package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +79 -325
- package/src/duckdb/src/optimizer/join_order/cost_model.cpp +19 -0
- package/src/duckdb/src/optimizer/join_order/join_node.cpp +5 -37
- package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +48 -1078
- package/src/duckdb/src/optimizer/join_order/plan_enumerator.cpp +552 -0
- package/src/duckdb/src/optimizer/join_order/query_graph.cpp +32 -29
- package/src/duckdb/src/optimizer/join_order/query_graph_manager.cpp +409 -0
- package/src/duckdb/src/optimizer/join_order/relation_manager.cpp +356 -0
- package/src/duckdb/src/optimizer/join_order/relation_statistics_helper.cpp +351 -0
- package/src/duckdb/src/parallel/executor.cpp +6 -0
- package/src/duckdb/src/parallel/task_scheduler.cpp +7 -0
- package/src/duckdb/src/parser/parser.cpp +18 -3
- package/src/duckdb/src/parser/tableref/pivotref.cpp +6 -6
- package/src/duckdb/src/planner/binder/statement/bind_execute.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +10 -10
- package/src/duckdb/src/planner/expression/bound_function_expression.cpp +6 -6
- package/src/duckdb/src/planner/expression/bound_window_expression.cpp +24 -24
- package/src/duckdb/src/planner/operator/logical_extension_operator.cpp +2 -2
- package/src/duckdb/src/planner/operator/logical_get.cpp +26 -22
- package/src/duckdb/src/storage/serialization/serialize_constraint.cpp +26 -26
- package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +66 -66
- package/src/duckdb/src/storage/serialization/serialize_expression.cpp +78 -78
- package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +250 -250
- package/src/duckdb/src/storage/serialization/serialize_macro_function.cpp +10 -10
- package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +206 -206
- package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +116 -116
- package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +110 -110
- package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +48 -48
- package/src/duckdb/src/storage/serialization/serialize_result_modifier.cpp +16 -16
- package/src/duckdb/src/storage/serialization/serialize_statement.cpp +2 -2
- package/src/duckdb/src/storage/serialization/serialize_table_filter.cpp +10 -10
- package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +54 -54
- package/src/duckdb/src/storage/serialization/serialize_types.cpp +22 -22
- package/src/duckdb/src/storage/table/update_segment.cpp +1 -1
- package/src/duckdb/ub_src_optimizer_join_order.cpp +10 -0
@@ -13,11 +13,11 @@
|
|
13
13
|
namespace duckdb {
|
14
14
|
|
15
15
|
void TableFilter::FormatSerialize(FormatSerializer &serializer) const {
|
16
|
-
serializer.WriteProperty("filter_type", filter_type);
|
16
|
+
serializer.WriteProperty(100, "filter_type", filter_type);
|
17
17
|
}
|
18
18
|
|
19
19
|
unique_ptr<TableFilter> TableFilter::FormatDeserialize(FormatDeserializer &deserializer) {
|
20
|
-
auto filter_type = deserializer.ReadProperty<TableFilterType>("filter_type");
|
20
|
+
auto filter_type = deserializer.ReadProperty<TableFilterType>(100, "filter_type");
|
21
21
|
unique_ptr<TableFilter> result;
|
22
22
|
switch (filter_type) {
|
23
23
|
case TableFilterType::CONJUNCTION_AND:
|
@@ -43,35 +43,35 @@ unique_ptr<TableFilter> TableFilter::FormatDeserialize(FormatDeserializer &deser
|
|
43
43
|
|
44
44
|
void ConjunctionAndFilter::FormatSerialize(FormatSerializer &serializer) const {
|
45
45
|
TableFilter::FormatSerialize(serializer);
|
46
|
-
serializer.WriteProperty("child_filters", child_filters);
|
46
|
+
serializer.WriteProperty(200, "child_filters", child_filters);
|
47
47
|
}
|
48
48
|
|
49
49
|
unique_ptr<TableFilter> ConjunctionAndFilter::FormatDeserialize(FormatDeserializer &deserializer) {
|
50
50
|
auto result = duckdb::unique_ptr<ConjunctionAndFilter>(new ConjunctionAndFilter());
|
51
|
-
deserializer.ReadProperty("child_filters", result->child_filters);
|
51
|
+
deserializer.ReadProperty(200, "child_filters", result->child_filters);
|
52
52
|
return std::move(result);
|
53
53
|
}
|
54
54
|
|
55
55
|
void ConjunctionOrFilter::FormatSerialize(FormatSerializer &serializer) const {
|
56
56
|
TableFilter::FormatSerialize(serializer);
|
57
|
-
serializer.WriteProperty("child_filters", child_filters);
|
57
|
+
serializer.WriteProperty(200, "child_filters", child_filters);
|
58
58
|
}
|
59
59
|
|
60
60
|
unique_ptr<TableFilter> ConjunctionOrFilter::FormatDeserialize(FormatDeserializer &deserializer) {
|
61
61
|
auto result = duckdb::unique_ptr<ConjunctionOrFilter>(new ConjunctionOrFilter());
|
62
|
-
deserializer.ReadProperty("child_filters", result->child_filters);
|
62
|
+
deserializer.ReadProperty(200, "child_filters", result->child_filters);
|
63
63
|
return std::move(result);
|
64
64
|
}
|
65
65
|
|
66
66
|
void ConstantFilter::FormatSerialize(FormatSerializer &serializer) const {
|
67
67
|
TableFilter::FormatSerialize(serializer);
|
68
|
-
serializer.WriteProperty("comparison_type", comparison_type);
|
69
|
-
serializer.WriteProperty("constant", constant);
|
68
|
+
serializer.WriteProperty(200, "comparison_type", comparison_type);
|
69
|
+
serializer.WriteProperty(201, "constant", constant);
|
70
70
|
}
|
71
71
|
|
72
72
|
unique_ptr<TableFilter> ConstantFilter::FormatDeserialize(FormatDeserializer &deserializer) {
|
73
|
-
auto comparison_type = deserializer.ReadProperty<ExpressionType>("comparison_type");
|
74
|
-
auto constant = deserializer.ReadProperty<Value>("constant");
|
73
|
+
auto comparison_type = deserializer.ReadProperty<ExpressionType>(200, "comparison_type");
|
74
|
+
auto constant = deserializer.ReadProperty<Value>(201, "constant");
|
75
75
|
auto result = duckdb::unique_ptr<ConstantFilter>(new ConstantFilter(comparison_type, constant));
|
76
76
|
return std::move(result);
|
77
77
|
}
|
@@ -10,15 +10,15 @@
|
|
10
10
|
namespace duckdb {
|
11
11
|
|
12
12
|
void TableRef::FormatSerialize(FormatSerializer &serializer) const {
|
13
|
-
serializer.WriteProperty("type", type);
|
14
|
-
serializer.WriteProperty("alias", alias);
|
15
|
-
serializer.WriteOptionalProperty("sample", sample);
|
13
|
+
serializer.WriteProperty(100, "type", type);
|
14
|
+
serializer.WriteProperty(101, "alias", alias);
|
15
|
+
serializer.WriteOptionalProperty(102, "sample", sample);
|
16
16
|
}
|
17
17
|
|
18
18
|
unique_ptr<TableRef> TableRef::FormatDeserialize(FormatDeserializer &deserializer) {
|
19
|
-
auto type = deserializer.ReadProperty<TableReferenceType>("type");
|
20
|
-
auto alias = deserializer.ReadProperty<string>("alias");
|
21
|
-
auto sample = deserializer.ReadOptionalProperty<unique_ptr<SampleOptions>>("sample");
|
19
|
+
auto type = deserializer.ReadProperty<TableReferenceType>(100, "type");
|
20
|
+
auto alias = deserializer.ReadProperty<string>(101, "alias");
|
21
|
+
auto sample = deserializer.ReadOptionalProperty<unique_ptr<SampleOptions>>(102, "sample");
|
22
22
|
unique_ptr<TableRef> result;
|
23
23
|
switch (type) {
|
24
24
|
case TableReferenceType::BASE_TABLE:
|
@@ -52,18 +52,18 @@ unique_ptr<TableRef> TableRef::FormatDeserialize(FormatDeserializer &deserialize
|
|
52
52
|
|
53
53
|
void BaseTableRef::FormatSerialize(FormatSerializer &serializer) const {
|
54
54
|
TableRef::FormatSerialize(serializer);
|
55
|
-
serializer.WriteProperty("schema_name", schema_name);
|
56
|
-
serializer.WriteProperty("table_name", table_name);
|
57
|
-
serializer.WriteProperty("column_name_alias", column_name_alias);
|
58
|
-
serializer.WriteProperty("catalog_name", catalog_name);
|
55
|
+
serializer.WriteProperty(200, "schema_name", schema_name);
|
56
|
+
serializer.WriteProperty(201, "table_name", table_name);
|
57
|
+
serializer.WriteProperty(202, "column_name_alias", column_name_alias);
|
58
|
+
serializer.WriteProperty(203, "catalog_name", catalog_name);
|
59
59
|
}
|
60
60
|
|
61
61
|
unique_ptr<TableRef> BaseTableRef::FormatDeserialize(FormatDeserializer &deserializer) {
|
62
62
|
auto result = duckdb::unique_ptr<BaseTableRef>(new BaseTableRef());
|
63
|
-
deserializer.ReadProperty("schema_name", result->schema_name);
|
64
|
-
deserializer.ReadProperty("table_name", result->table_name);
|
65
|
-
deserializer.ReadProperty("column_name_alias", result->column_name_alias);
|
66
|
-
deserializer.ReadProperty("catalog_name", result->catalog_name);
|
63
|
+
deserializer.ReadProperty(200, "schema_name", result->schema_name);
|
64
|
+
deserializer.ReadProperty(201, "table_name", result->table_name);
|
65
|
+
deserializer.ReadProperty(202, "column_name_alias", result->column_name_alias);
|
66
|
+
deserializer.ReadProperty(203, "catalog_name", result->catalog_name);
|
67
67
|
return std::move(result);
|
68
68
|
}
|
69
69
|
|
@@ -78,86 +78,86 @@ unique_ptr<TableRef> EmptyTableRef::FormatDeserialize(FormatDeserializer &deseri
|
|
78
78
|
|
79
79
|
void ExpressionListRef::FormatSerialize(FormatSerializer &serializer) const {
|
80
80
|
TableRef::FormatSerialize(serializer);
|
81
|
-
serializer.WriteProperty("expected_names", expected_names);
|
82
|
-
serializer.WriteProperty("expected_types", expected_types);
|
83
|
-
serializer.WriteProperty("values", values);
|
81
|
+
serializer.WriteProperty(200, "expected_names", expected_names);
|
82
|
+
serializer.WriteProperty(201, "expected_types", expected_types);
|
83
|
+
serializer.WriteProperty(202, "values", values);
|
84
84
|
}
|
85
85
|
|
86
86
|
unique_ptr<TableRef> ExpressionListRef::FormatDeserialize(FormatDeserializer &deserializer) {
|
87
87
|
auto result = duckdb::unique_ptr<ExpressionListRef>(new ExpressionListRef());
|
88
|
-
deserializer.ReadProperty("expected_names", result->expected_names);
|
89
|
-
deserializer.ReadProperty("expected_types", result->expected_types);
|
90
|
-
deserializer.ReadProperty("values", result->values);
|
88
|
+
deserializer.ReadProperty(200, "expected_names", result->expected_names);
|
89
|
+
deserializer.ReadProperty(201, "expected_types", result->expected_types);
|
90
|
+
deserializer.ReadProperty(202, "values", result->values);
|
91
91
|
return std::move(result);
|
92
92
|
}
|
93
93
|
|
94
94
|
void JoinRef::FormatSerialize(FormatSerializer &serializer) const {
|
95
95
|
TableRef::FormatSerialize(serializer);
|
96
|
-
serializer.WriteProperty("left", *left);
|
97
|
-
serializer.WriteProperty("right", *right);
|
98
|
-
serializer.WriteOptionalProperty("condition", condition);
|
99
|
-
serializer.WriteProperty("join_type", type);
|
100
|
-
serializer.WriteProperty("ref_type", ref_type);
|
101
|
-
serializer.WriteProperty("using_columns", using_columns);
|
96
|
+
serializer.WriteProperty(200, "left", *left);
|
97
|
+
serializer.WriteProperty(201, "right", *right);
|
98
|
+
serializer.WriteOptionalProperty(202, "condition", condition);
|
99
|
+
serializer.WriteProperty(203, "join_type", type);
|
100
|
+
serializer.WriteProperty(204, "ref_type", ref_type);
|
101
|
+
serializer.WriteProperty(205, "using_columns", using_columns);
|
102
102
|
}
|
103
103
|
|
104
104
|
unique_ptr<TableRef> JoinRef::FormatDeserialize(FormatDeserializer &deserializer) {
|
105
105
|
auto result = duckdb::unique_ptr<JoinRef>(new JoinRef());
|
106
|
-
deserializer.ReadProperty("left", result->left);
|
107
|
-
deserializer.ReadProperty("right", result->right);
|
108
|
-
deserializer.ReadOptionalProperty("condition", result->condition);
|
109
|
-
deserializer.ReadProperty("join_type", result->type);
|
110
|
-
deserializer.ReadProperty("ref_type", result->ref_type);
|
111
|
-
deserializer.ReadProperty("using_columns", result->using_columns);
|
106
|
+
deserializer.ReadProperty(200, "left", result->left);
|
107
|
+
deserializer.ReadProperty(201, "right", result->right);
|
108
|
+
deserializer.ReadOptionalProperty(202, "condition", result->condition);
|
109
|
+
deserializer.ReadProperty(203, "join_type", result->type);
|
110
|
+
deserializer.ReadProperty(204, "ref_type", result->ref_type);
|
111
|
+
deserializer.ReadProperty(205, "using_columns", result->using_columns);
|
112
112
|
return std::move(result);
|
113
113
|
}
|
114
114
|
|
115
115
|
void PivotRef::FormatSerialize(FormatSerializer &serializer) const {
|
116
116
|
TableRef::FormatSerialize(serializer);
|
117
|
-
serializer.WriteProperty("source", *source);
|
118
|
-
serializer.WriteProperty("aggregates", aggregates);
|
119
|
-
serializer.WriteProperty("unpivot_names", unpivot_names);
|
120
|
-
serializer.WriteProperty("pivots", pivots);
|
121
|
-
serializer.WriteProperty("groups", groups);
|
122
|
-
serializer.WriteProperty("column_name_alias", column_name_alias);
|
123
|
-
serializer.WriteProperty("include_nulls", include_nulls);
|
117
|
+
serializer.WriteProperty(200, "source", *source);
|
118
|
+
serializer.WriteProperty(201, "aggregates", aggregates);
|
119
|
+
serializer.WriteProperty(202, "unpivot_names", unpivot_names);
|
120
|
+
serializer.WriteProperty(203, "pivots", pivots);
|
121
|
+
serializer.WriteProperty(204, "groups", groups);
|
122
|
+
serializer.WriteProperty(205, "column_name_alias", column_name_alias);
|
123
|
+
serializer.WriteProperty(206, "include_nulls", include_nulls);
|
124
124
|
}
|
125
125
|
|
126
126
|
unique_ptr<TableRef> PivotRef::FormatDeserialize(FormatDeserializer &deserializer) {
|
127
127
|
auto result = duckdb::unique_ptr<PivotRef>(new PivotRef());
|
128
|
-
deserializer.ReadProperty("source", result->source);
|
129
|
-
deserializer.ReadProperty("aggregates", result->aggregates);
|
130
|
-
deserializer.ReadProperty("unpivot_names", result->unpivot_names);
|
131
|
-
deserializer.ReadProperty("pivots", result->pivots);
|
132
|
-
deserializer.ReadProperty("groups", result->groups);
|
133
|
-
deserializer.ReadProperty("column_name_alias", result->column_name_alias);
|
134
|
-
deserializer.ReadProperty("include_nulls", result->include_nulls);
|
128
|
+
deserializer.ReadProperty(200, "source", result->source);
|
129
|
+
deserializer.ReadProperty(201, "aggregates", result->aggregates);
|
130
|
+
deserializer.ReadProperty(202, "unpivot_names", result->unpivot_names);
|
131
|
+
deserializer.ReadProperty(203, "pivots", result->pivots);
|
132
|
+
deserializer.ReadProperty(204, "groups", result->groups);
|
133
|
+
deserializer.ReadProperty(205, "column_name_alias", result->column_name_alias);
|
134
|
+
deserializer.ReadProperty(206, "include_nulls", result->include_nulls);
|
135
135
|
return std::move(result);
|
136
136
|
}
|
137
137
|
|
138
138
|
void SubqueryRef::FormatSerialize(FormatSerializer &serializer) const {
|
139
139
|
TableRef::FormatSerialize(serializer);
|
140
|
-
serializer.WriteProperty("subquery", *subquery);
|
141
|
-
serializer.WriteProperty("column_name_alias", column_name_alias);
|
140
|
+
serializer.WriteProperty(200, "subquery", *subquery);
|
141
|
+
serializer.WriteProperty(201, "column_name_alias", column_name_alias);
|
142
142
|
}
|
143
143
|
|
144
144
|
unique_ptr<TableRef> SubqueryRef::FormatDeserialize(FormatDeserializer &deserializer) {
|
145
145
|
auto result = duckdb::unique_ptr<SubqueryRef>(new SubqueryRef());
|
146
|
-
deserializer.ReadProperty("subquery", result->subquery);
|
147
|
-
deserializer.ReadProperty("column_name_alias", result->column_name_alias);
|
146
|
+
deserializer.ReadProperty(200, "subquery", result->subquery);
|
147
|
+
deserializer.ReadProperty(201, "column_name_alias", result->column_name_alias);
|
148
148
|
return std::move(result);
|
149
149
|
}
|
150
150
|
|
151
151
|
void TableFunctionRef::FormatSerialize(FormatSerializer &serializer) const {
|
152
152
|
TableRef::FormatSerialize(serializer);
|
153
|
-
serializer.WriteProperty("function", *function);
|
154
|
-
serializer.WriteProperty("column_name_alias", column_name_alias);
|
153
|
+
serializer.WriteProperty(200, "function", *function);
|
154
|
+
serializer.WriteProperty(201, "column_name_alias", column_name_alias);
|
155
155
|
}
|
156
156
|
|
157
157
|
unique_ptr<TableRef> TableFunctionRef::FormatDeserialize(FormatDeserializer &deserializer) {
|
158
158
|
auto result = duckdb::unique_ptr<TableFunctionRef>(new TableFunctionRef());
|
159
|
-
deserializer.ReadProperty("function", result->function);
|
160
|
-
deserializer.ReadProperty("column_name_alias", result->column_name_alias);
|
159
|
+
deserializer.ReadProperty(200, "function", result->function);
|
160
|
+
deserializer.ReadProperty(201, "column_name_alias", result->column_name_alias);
|
161
161
|
return std::move(result);
|
162
162
|
}
|
163
163
|
|
@@ -10,13 +10,13 @@
|
|
10
10
|
namespace duckdb {
|
11
11
|
|
12
12
|
void ExtraTypeInfo::FormatSerialize(FormatSerializer &serializer) const {
|
13
|
-
serializer.WriteProperty("type", type);
|
14
|
-
serializer.WriteProperty("alias", alias);
|
13
|
+
serializer.WriteProperty(100, "type", type);
|
14
|
+
serializer.WriteProperty(101, "alias", alias);
|
15
15
|
}
|
16
16
|
|
17
17
|
shared_ptr<ExtraTypeInfo> ExtraTypeInfo::FormatDeserialize(FormatDeserializer &deserializer) {
|
18
|
-
auto type = deserializer.ReadProperty<ExtraTypeInfoType>("type");
|
19
|
-
auto alias = deserializer.ReadProperty<string>("alias");
|
18
|
+
auto type = deserializer.ReadProperty<ExtraTypeInfoType>(100, "type");
|
19
|
+
auto alias = deserializer.ReadProperty<string>(101, "alias");
|
20
20
|
shared_ptr<ExtraTypeInfo> result;
|
21
21
|
switch (type) {
|
22
22
|
case ExtraTypeInfoType::AGGREGATE_STATE_TYPE_INFO:
|
@@ -54,73 +54,73 @@ shared_ptr<ExtraTypeInfo> ExtraTypeInfo::FormatDeserialize(FormatDeserializer &d
|
|
54
54
|
|
55
55
|
void AggregateStateTypeInfo::FormatSerialize(FormatSerializer &serializer) const {
|
56
56
|
ExtraTypeInfo::FormatSerialize(serializer);
|
57
|
-
serializer.WriteProperty("function_name", state_type.function_name);
|
58
|
-
serializer.WriteProperty("return_type", state_type.return_type);
|
59
|
-
serializer.WriteProperty("bound_argument_types", state_type.bound_argument_types);
|
57
|
+
serializer.WriteProperty(200, "function_name", state_type.function_name);
|
58
|
+
serializer.WriteProperty(201, "return_type", state_type.return_type);
|
59
|
+
serializer.WriteProperty(202, "bound_argument_types", state_type.bound_argument_types);
|
60
60
|
}
|
61
61
|
|
62
62
|
shared_ptr<ExtraTypeInfo> AggregateStateTypeInfo::FormatDeserialize(FormatDeserializer &deserializer) {
|
63
63
|
auto result = duckdb::shared_ptr<AggregateStateTypeInfo>(new AggregateStateTypeInfo());
|
64
|
-
deserializer.ReadProperty("function_name", result->state_type.function_name);
|
65
|
-
deserializer.ReadProperty("return_type", result->state_type.return_type);
|
66
|
-
deserializer.ReadProperty("bound_argument_types", result->state_type.bound_argument_types);
|
64
|
+
deserializer.ReadProperty(200, "function_name", result->state_type.function_name);
|
65
|
+
deserializer.ReadProperty(201, "return_type", result->state_type.return_type);
|
66
|
+
deserializer.ReadProperty(202, "bound_argument_types", result->state_type.bound_argument_types);
|
67
67
|
return std::move(result);
|
68
68
|
}
|
69
69
|
|
70
70
|
void DecimalTypeInfo::FormatSerialize(FormatSerializer &serializer) const {
|
71
71
|
ExtraTypeInfo::FormatSerialize(serializer);
|
72
|
-
serializer.WriteProperty("width", width);
|
73
|
-
serializer.WriteProperty("scale", scale);
|
72
|
+
serializer.WriteProperty(200, "width", width);
|
73
|
+
serializer.WriteProperty(201, "scale", scale);
|
74
74
|
}
|
75
75
|
|
76
76
|
shared_ptr<ExtraTypeInfo> DecimalTypeInfo::FormatDeserialize(FormatDeserializer &deserializer) {
|
77
77
|
auto result = duckdb::shared_ptr<DecimalTypeInfo>(new DecimalTypeInfo());
|
78
|
-
deserializer.ReadProperty("width", result->width);
|
79
|
-
deserializer.ReadProperty("scale", result->scale);
|
78
|
+
deserializer.ReadProperty(200, "width", result->width);
|
79
|
+
deserializer.ReadProperty(201, "scale", result->scale);
|
80
80
|
return std::move(result);
|
81
81
|
}
|
82
82
|
|
83
83
|
void ListTypeInfo::FormatSerialize(FormatSerializer &serializer) const {
|
84
84
|
ExtraTypeInfo::FormatSerialize(serializer);
|
85
|
-
serializer.WriteProperty("child_type", child_type);
|
85
|
+
serializer.WriteProperty(200, "child_type", child_type);
|
86
86
|
}
|
87
87
|
|
88
88
|
shared_ptr<ExtraTypeInfo> ListTypeInfo::FormatDeserialize(FormatDeserializer &deserializer) {
|
89
89
|
auto result = duckdb::shared_ptr<ListTypeInfo>(new ListTypeInfo());
|
90
|
-
deserializer.ReadProperty("child_type", result->child_type);
|
90
|
+
deserializer.ReadProperty(200, "child_type", result->child_type);
|
91
91
|
return std::move(result);
|
92
92
|
}
|
93
93
|
|
94
94
|
void StringTypeInfo::FormatSerialize(FormatSerializer &serializer) const {
|
95
95
|
ExtraTypeInfo::FormatSerialize(serializer);
|
96
|
-
serializer.WriteProperty("collation", collation);
|
96
|
+
serializer.WriteProperty(200, "collation", collation);
|
97
97
|
}
|
98
98
|
|
99
99
|
shared_ptr<ExtraTypeInfo> StringTypeInfo::FormatDeserialize(FormatDeserializer &deserializer) {
|
100
100
|
auto result = duckdb::shared_ptr<StringTypeInfo>(new StringTypeInfo());
|
101
|
-
deserializer.ReadProperty("collation", result->collation);
|
101
|
+
deserializer.ReadProperty(200, "collation", result->collation);
|
102
102
|
return std::move(result);
|
103
103
|
}
|
104
104
|
|
105
105
|
void StructTypeInfo::FormatSerialize(FormatSerializer &serializer) const {
|
106
106
|
ExtraTypeInfo::FormatSerialize(serializer);
|
107
|
-
serializer.WriteProperty("child_types", child_types);
|
107
|
+
serializer.WriteProperty(200, "child_types", child_types);
|
108
108
|
}
|
109
109
|
|
110
110
|
shared_ptr<ExtraTypeInfo> StructTypeInfo::FormatDeserialize(FormatDeserializer &deserializer) {
|
111
111
|
auto result = duckdb::shared_ptr<StructTypeInfo>(new StructTypeInfo());
|
112
|
-
deserializer.ReadProperty("child_types", result->child_types);
|
112
|
+
deserializer.ReadProperty(200, "child_types", result->child_types);
|
113
113
|
return std::move(result);
|
114
114
|
}
|
115
115
|
|
116
116
|
void UserTypeInfo::FormatSerialize(FormatSerializer &serializer) const {
|
117
117
|
ExtraTypeInfo::FormatSerialize(serializer);
|
118
|
-
serializer.WriteProperty("user_type_name", user_type_name);
|
118
|
+
serializer.WriteProperty(200, "user_type_name", user_type_name);
|
119
119
|
}
|
120
120
|
|
121
121
|
shared_ptr<ExtraTypeInfo> UserTypeInfo::FormatDeserialize(FormatDeserializer &deserializer) {
|
122
122
|
auto result = duckdb::shared_ptr<UserTypeInfo>(new UserTypeInfo());
|
123
|
-
deserializer.ReadProperty("user_type_name", result->user_type_name);
|
123
|
+
deserializer.ReadProperty(200, "user_type_name", result->user_type_name);
|
124
124
|
return std::move(result);
|
125
125
|
}
|
126
126
|
|
@@ -427,7 +427,7 @@ void UpdateSegment::FetchRow(TransactionData transaction, idx_t row_id, Vector &
|
|
427
427
|
if (!root->info[vector_index]) {
|
428
428
|
return;
|
429
429
|
}
|
430
|
-
idx_t row_in_vector = row_id - vector_index * STANDARD_VECTOR_SIZE;
|
430
|
+
idx_t row_in_vector = (row_id - column_data.start) - vector_index * STANDARD_VECTOR_SIZE;
|
431
431
|
fetch_row_function(transaction.start_time, transaction.transaction_id, root->info[vector_index]->info.get(),
|
432
432
|
row_in_vector, result, result_idx);
|
433
433
|
}
|
@@ -10,3 +10,13 @@
|
|
10
10
|
|
11
11
|
#include "src/optimizer/join_order/cardinality_estimator.cpp"
|
12
12
|
|
13
|
+
#include "src/optimizer/join_order/cost_model.cpp"
|
14
|
+
|
15
|
+
#include "src/optimizer/join_order/plan_enumerator.cpp"
|
16
|
+
|
17
|
+
#include "src/optimizer/join_order/relation_manager.cpp"
|
18
|
+
|
19
|
+
#include "src/optimizer/join_order/query_graph_manager.cpp"
|
20
|
+
|
21
|
+
#include "src/optimizer/join_order/relation_statistics_helper.cpp"
|
22
|
+
|