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.
Files changed (100) hide show
  1. package/package.json +1 -1
  2. package/src/duckdb/extension/icu/icu-makedate.cpp +12 -6
  3. package/src/duckdb/extension/json/include/json_deserializer.hpp +1 -1
  4. package/src/duckdb/extension/json/include/json_serializer.hpp +1 -1
  5. package/src/duckdb/extension/json/json_deserializer.cpp +10 -10
  6. package/src/duckdb/extension/json/json_scan.cpp +2 -2
  7. package/src/duckdb/extension/json/json_serializer.cpp +11 -10
  8. package/src/duckdb/extension/json/serialize_json.cpp +44 -44
  9. package/src/duckdb/extension/parquet/parquet_extension.cpp +11 -10
  10. package/src/duckdb/extension/parquet/serialize_parquet.cpp +6 -6
  11. package/src/duckdb/src/common/adbc/adbc.cpp +52 -21
  12. package/src/duckdb/src/common/adbc/driver_manager.cpp +12 -2
  13. package/src/duckdb/src/common/enum_util.cpp +5 -0
  14. package/src/duckdb/src/common/extra_type_info.cpp +2 -2
  15. package/src/duckdb/src/common/serializer/binary_deserializer.cpp +5 -3
  16. package/src/duckdb/src/common/serializer/binary_serializer.cpp +10 -5
  17. package/src/duckdb/src/common/types/column/column_data_collection.cpp +4 -4
  18. package/src/duckdb/src/common/types/row/row_data_collection_scanner.cpp +35 -5
  19. package/src/duckdb/src/common/types/value.cpp +33 -33
  20. package/src/duckdb/src/common/types/vector.cpp +20 -20
  21. package/src/duckdb/src/core_functions/aggregate/holistic/approximate_quantile.cpp +2 -2
  22. package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +6 -6
  23. package/src/duckdb/src/core_functions/aggregate/holistic/reservoir_quantile.cpp +4 -4
  24. package/src/duckdb/src/core_functions/scalar/list/list_lambdas.cpp +4 -4
  25. package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +283 -91
  26. package/src/duckdb/src/execution/operator/filter/physical_filter.cpp +1 -1
  27. package/src/duckdb/src/execution/operator/join/physical_comparison_join.cpp +1 -2
  28. package/src/duckdb/src/execution/operator/scan/physical_table_scan.cpp +1 -1
  29. package/src/duckdb/src/execution/physical_plan_generator.cpp +1 -6
  30. package/src/duckdb/src/execution/window_executor.cpp +10 -1
  31. package/src/duckdb/src/function/table/read_csv.cpp +4 -4
  32. package/src/duckdb/src/function/table/table_scan.cpp +14 -14
  33. package/src/duckdb/src/function/table/version/pragma_version.cpp +5 -2
  34. package/src/duckdb/src/include/duckdb/common/adbc/adbc.hpp +2 -0
  35. package/src/duckdb/src/include/duckdb/common/enums/pending_execution_result.hpp +1 -1
  36. package/src/duckdb/src/include/duckdb/common/index_vector.hpp +2 -2
  37. package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +7 -3
  38. package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +2 -1
  39. package/src/duckdb/src/include/duckdb/common/serializer/format_deserializer.hpp +18 -17
  40. package/src/duckdb/src/include/duckdb/common/serializer/format_serializer.hpp +10 -9
  41. package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +4 -0
  42. package/src/duckdb/src/include/duckdb/common/types/row/row_data_collection_scanner.hpp +5 -1
  43. package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +0 -2
  44. package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +10 -10
  45. package/src/duckdb/src/include/duckdb/main/pending_query_result.hpp +5 -0
  46. package/src/duckdb/src/include/duckdb/main/relation/aggregate_relation.hpp +4 -1
  47. package/src/duckdb/src/include/duckdb/optimizer/join_order/cardinality_estimator.hpp +37 -63
  48. package/src/duckdb/src/include/duckdb/optimizer/join_order/cost_model.hpp +37 -0
  49. package/src/duckdb/src/include/duckdb/optimizer/join_order/join_node.hpp +14 -29
  50. package/src/duckdb/src/include/duckdb/optimizer/join_order/join_order_optimizer.hpp +7 -21
  51. package/src/duckdb/src/include/duckdb/optimizer/join_order/join_relation.hpp +0 -11
  52. package/src/duckdb/src/include/duckdb/optimizer/join_order/plan_enumerator.hpp +89 -0
  53. package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph.hpp +17 -31
  54. package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph_manager.hpp +113 -0
  55. package/src/duckdb/src/include/duckdb/optimizer/join_order/relation_manager.hpp +73 -0
  56. package/src/duckdb/src/include/duckdb/optimizer/join_order/relation_statistics_helper.hpp +73 -0
  57. package/src/duckdb/src/include/duckdb/parallel/task_scheduler.hpp +4 -1
  58. package/src/duckdb/src/include/duckdb/parser/group_by_node.hpp +11 -0
  59. package/src/duckdb/src/include/duckdb/parser/parser.hpp +4 -0
  60. package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +0 -2
  61. package/src/duckdb/src/include/duckdb.h +11 -1
  62. package/src/duckdb/src/main/capi/pending-c.cpp +17 -0
  63. package/src/duckdb/src/main/pending_query_result.cpp +9 -1
  64. package/src/duckdb/src/main/relation/aggregate_relation.cpp +20 -10
  65. package/src/duckdb/src/main/relation.cpp +4 -4
  66. package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +79 -325
  67. package/src/duckdb/src/optimizer/join_order/cost_model.cpp +19 -0
  68. package/src/duckdb/src/optimizer/join_order/join_node.cpp +5 -37
  69. package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +48 -1078
  70. package/src/duckdb/src/optimizer/join_order/plan_enumerator.cpp +552 -0
  71. package/src/duckdb/src/optimizer/join_order/query_graph.cpp +32 -29
  72. package/src/duckdb/src/optimizer/join_order/query_graph_manager.cpp +409 -0
  73. package/src/duckdb/src/optimizer/join_order/relation_manager.cpp +356 -0
  74. package/src/duckdb/src/optimizer/join_order/relation_statistics_helper.cpp +351 -0
  75. package/src/duckdb/src/parallel/executor.cpp +6 -0
  76. package/src/duckdb/src/parallel/task_scheduler.cpp +7 -0
  77. package/src/duckdb/src/parser/parser.cpp +18 -3
  78. package/src/duckdb/src/parser/tableref/pivotref.cpp +6 -6
  79. package/src/duckdb/src/planner/binder/statement/bind_execute.cpp +1 -1
  80. package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +10 -10
  81. package/src/duckdb/src/planner/expression/bound_function_expression.cpp +6 -6
  82. package/src/duckdb/src/planner/expression/bound_window_expression.cpp +24 -24
  83. package/src/duckdb/src/planner/operator/logical_extension_operator.cpp +2 -2
  84. package/src/duckdb/src/planner/operator/logical_get.cpp +26 -22
  85. package/src/duckdb/src/storage/serialization/serialize_constraint.cpp +26 -26
  86. package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +66 -66
  87. package/src/duckdb/src/storage/serialization/serialize_expression.cpp +78 -78
  88. package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +250 -250
  89. package/src/duckdb/src/storage/serialization/serialize_macro_function.cpp +10 -10
  90. package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +206 -206
  91. package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +116 -116
  92. package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +110 -110
  93. package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +48 -48
  94. package/src/duckdb/src/storage/serialization/serialize_result_modifier.cpp +16 -16
  95. package/src/duckdb/src/storage/serialization/serialize_statement.cpp +2 -2
  96. package/src/duckdb/src/storage/serialization/serialize_table_filter.cpp +10 -10
  97. package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +54 -54
  98. package/src/duckdb/src/storage/serialization/serialize_types.cpp +22 -22
  99. package/src/duckdb/src/storage/table/update_segment.cpp +1 -1
  100. 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
+