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.
Files changed (205) hide show
  1. package/package.json +1 -1
  2. package/src/duckdb/src/catalog/catalog.cpp +1 -1
  3. package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +17 -41
  4. package/src/duckdb/src/catalog/catalog_entry/macro_catalog_entry.cpp +2 -10
  5. package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +4 -14
  6. package/src/duckdb/src/catalog/catalog_entry/sequence_catalog_entry.cpp +11 -28
  7. package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +11 -38
  8. package/src/duckdb/src/catalog/catalog_entry/view_catalog_entry.cpp +11 -27
  9. package/src/duckdb/src/catalog/catalog_entry.cpp +25 -1
  10. package/src/duckdb/src/common/enum_util.cpp +159 -0
  11. package/src/duckdb/src/common/extra_type_info.cpp +1 -2
  12. package/src/duckdb/src/common/serializer/binary_deserializer.cpp +3 -0
  13. package/src/duckdb/src/common/serializer/binary_serializer.cpp +4 -4
  14. package/src/duckdb/src/common/types/column/column_data_collection.cpp +43 -0
  15. package/src/duckdb/src/common/types/vector.cpp +1 -1
  16. package/src/duckdb/src/common/types.cpp +0 -12
  17. package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +1 -1
  18. package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
  19. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp +1 -2
  20. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/macro_catalog_entry.hpp +1 -4
  21. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp +2 -5
  22. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp +1 -6
  23. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +2 -11
  24. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/view_catalog_entry.hpp +2 -5
  25. package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +14 -0
  26. package/src/duckdb/src/include/duckdb/common/constants.hpp +2 -0
  27. package/src/duckdb/src/include/duckdb/common/enum_util.hpp +32 -0
  28. package/src/duckdb/src/include/duckdb/common/enums/index_type.hpp +1 -1
  29. package/src/duckdb/src/include/duckdb/common/index_vector.hpp +12 -0
  30. package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +28 -4
  31. package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +12 -5
  32. package/src/duckdb/src/include/duckdb/common/serializer/deserialization_data.hpp +110 -0
  33. package/src/duckdb/src/include/duckdb/common/serializer/format_deserializer.hpp +46 -1
  34. package/src/duckdb/src/include/duckdb/common/serializer/format_serializer.hpp +23 -21
  35. package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +12 -4
  36. package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection.hpp +3 -0
  37. package/src/duckdb/src/include/duckdb/function/macro_function.hpp +3 -0
  38. package/src/duckdb/src/include/duckdb/function/scalar_macro_function.hpp +3 -0
  39. package/src/duckdb/src/include/duckdb/function/table_macro_function.hpp +3 -0
  40. package/src/duckdb/src/include/duckdb/parser/column_definition.hpp +6 -5
  41. package/src/duckdb/src/include/duckdb/parser/column_list.hpp +4 -0
  42. package/src/duckdb/src/include/duckdb/parser/constraint.hpp +5 -0
  43. package/src/duckdb/src/include/duckdb/parser/constraints/check_constraint.hpp +3 -0
  44. package/src/duckdb/src/include/duckdb/parser/constraints/foreign_key_constraint.hpp +6 -0
  45. package/src/duckdb/src/include/duckdb/parser/constraints/not_null_constraint.hpp +3 -0
  46. package/src/duckdb/src/include/duckdb/parser/constraints/unique_constraint.hpp +6 -0
  47. package/src/duckdb/src/include/duckdb/parser/expression/between_expression.hpp +1 -1
  48. package/src/duckdb/src/include/duckdb/parser/expression/case_expression.hpp +1 -1
  49. package/src/duckdb/src/include/duckdb/parser/expression/cast_expression.hpp +1 -1
  50. package/src/duckdb/src/include/duckdb/parser/expression/collate_expression.hpp +1 -1
  51. package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +1 -1
  52. package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +1 -1
  53. package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +1 -1
  54. package/src/duckdb/src/include/duckdb/parser/expression/constant_expression.hpp +1 -1
  55. package/src/duckdb/src/include/duckdb/parser/expression/default_expression.hpp +1 -1
  56. package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +1 -1
  57. package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +1 -1
  58. package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +1 -1
  59. package/src/duckdb/src/include/duckdb/parser/expression/parameter_expression.hpp +1 -1
  60. package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +1 -1
  61. package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +1 -1
  62. package/src/duckdb/src/include/duckdb/parser/expression/subquery_expression.hpp +1 -1
  63. package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +1 -1
  64. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_info.hpp +12 -1
  65. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +66 -2
  66. package/src/duckdb/src/include/duckdb/parser/parsed_data/attach_info.hpp +8 -1
  67. package/src/duckdb/src/include/duckdb/parser/parsed_data/copy_info.hpp +8 -1
  68. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +4 -1
  69. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_info.hpp +9 -2
  70. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_macro_info.hpp +3 -0
  71. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_schema_info.hpp +3 -0
  72. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_sequence_info.hpp +3 -0
  73. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_table_info.hpp +3 -0
  74. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_type_info.hpp +3 -0
  75. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_view_info.hpp +3 -0
  76. package/src/duckdb/src/include/duckdb/parser/parsed_data/detach_info.hpp +7 -0
  77. package/src/duckdb/src/include/duckdb/parser/parsed_data/drop_info.hpp +7 -0
  78. package/src/duckdb/src/include/duckdb/parser/parsed_data/exported_table_data.hpp +7 -0
  79. package/src/duckdb/src/include/duckdb/parser/parsed_data/load_info.hpp +13 -3
  80. package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +22 -0
  81. package/src/duckdb/src/include/duckdb/parser/parsed_data/pragma_info.hpp +10 -0
  82. package/src/duckdb/src/include/duckdb/parser/parsed_data/show_select_info.hpp +7 -0
  83. package/src/duckdb/src/include/duckdb/parser/parsed_data/transaction_info.hpp +10 -0
  84. package/src/duckdb/src/include/duckdb/parser/parsed_data/vacuum_info.hpp +10 -0
  85. package/src/duckdb/src/include/duckdb/planner/bound_constraint.hpp +0 -8
  86. package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +6 -0
  87. package/src/duckdb/src/include/duckdb/planner/column_binding.hpp +5 -0
  88. package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +6 -0
  89. package/src/duckdb/src/include/duckdb/planner/expression/bound_case_expression.hpp +6 -0
  90. package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +6 -0
  91. package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +3 -0
  92. package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +3 -0
  93. package/src/duckdb/src/include/duckdb/planner/expression/bound_conjunction_expression.hpp +3 -0
  94. package/src/duckdb/src/include/duckdb/planner/expression/bound_constant_expression.hpp +3 -0
  95. package/src/duckdb/src/include/duckdb/planner/expression/bound_default_expression.hpp +3 -0
  96. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +3 -1
  97. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +3 -0
  98. package/src/duckdb/src/include/duckdb/planner/expression/bound_operator_expression.hpp +3 -0
  99. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_data.hpp +5 -2
  100. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_expression.hpp +7 -0
  101. package/src/duckdb/src/include/duckdb/planner/expression/bound_reference_expression.hpp +3 -0
  102. package/src/duckdb/src/include/duckdb/planner/expression/bound_unnest_expression.hpp +3 -0
  103. package/src/duckdb/src/include/duckdb/planner/expression/list.hpp +1 -0
  104. package/src/duckdb/src/include/duckdb/planner/expression.hpp +3 -0
  105. package/src/duckdb/src/include/duckdb/planner/joinside.hpp +3 -0
  106. package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +3 -0
  107. package/src/duckdb/src/include/duckdb/planner/operator/logical_aggregate.hpp +3 -0
  108. package/src/duckdb/src/include/duckdb/planner/operator/logical_any_join.hpp +3 -0
  109. package/src/duckdb/src/include/duckdb/planner/operator/logical_column_data_get.hpp +4 -0
  110. package/src/duckdb/src/include/duckdb/planner/operator/logical_comparison_join.hpp +9 -2
  111. package/src/duckdb/src/include/duckdb/planner/operator/logical_create.hpp +9 -6
  112. package/src/duckdb/src/include/duckdb/planner/operator/logical_create_index.hpp +2 -16
  113. package/src/duckdb/src/include/duckdb/planner/operator/logical_create_table.hpp +10 -6
  114. package/src/duckdb/src/include/duckdb/planner/operator/logical_cross_product.hpp +3 -0
  115. package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +2 -0
  116. package/src/duckdb/src/include/duckdb/planner/operator/logical_delete.hpp +7 -0
  117. package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +3 -0
  118. package/src/duckdb/src/include/duckdb/planner/operator/logical_distinct.hpp +6 -10
  119. package/src/duckdb/src/include/duckdb/planner/operator/logical_dummy_scan.hpp +2 -0
  120. package/src/duckdb/src/include/duckdb/planner/operator/logical_empty_result.hpp +2 -0
  121. package/src/duckdb/src/include/duckdb/planner/operator/logical_explain.hpp +4 -0
  122. package/src/duckdb/src/include/duckdb/planner/operator/logical_expression_get.hpp +3 -0
  123. package/src/duckdb/src/include/duckdb/planner/operator/logical_filter.hpp +3 -0
  124. package/src/duckdb/src/include/duckdb/planner/operator/logical_insert.hpp +6 -0
  125. package/src/duckdb/src/include/duckdb/planner/operator/logical_limit.hpp +3 -0
  126. package/src/duckdb/src/include/duckdb/planner/operator/logical_limit_percent.hpp +3 -0
  127. package/src/duckdb/src/include/duckdb/planner/operator/logical_materialized_cte.hpp +5 -2
  128. package/src/duckdb/src/include/duckdb/planner/operator/logical_order.hpp +7 -35
  129. package/src/duckdb/src/include/duckdb/planner/operator/logical_pivot.hpp +6 -0
  130. package/src/duckdb/src/include/duckdb/planner/operator/logical_positional_join.hpp +3 -0
  131. package/src/duckdb/src/include/duckdb/planner/operator/logical_projection.hpp +3 -0
  132. package/src/duckdb/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +5 -3
  133. package/src/duckdb/src/include/duckdb/planner/operator/logical_reset.hpp +4 -0
  134. package/src/duckdb/src/include/duckdb/planner/operator/logical_sample.hpp +6 -0
  135. package/src/duckdb/src/include/duckdb/planner/operator/logical_set.hpp +4 -0
  136. package/src/duckdb/src/include/duckdb/planner/operator/logical_set_operation.hpp +4 -0
  137. package/src/duckdb/src/include/duckdb/planner/operator/logical_show.hpp +3 -0
  138. package/src/duckdb/src/include/duckdb/planner/operator/logical_simple.hpp +3 -0
  139. package/src/duckdb/src/include/duckdb/planner/operator/logical_top_n.hpp +4 -0
  140. package/src/duckdb/src/include/duckdb/planner/operator/logical_unnest.hpp +2 -0
  141. package/src/duckdb/src/include/duckdb/planner/operator/logical_update.hpp +6 -0
  142. package/src/duckdb/src/include/duckdb/planner/operator/logical_window.hpp +3 -0
  143. package/src/duckdb/src/include/duckdb/planner/tableref/bound_pivotref.hpp +3 -0
  144. package/src/duckdb/src/optimizer/deliminator.cpp +5 -3
  145. package/src/duckdb/src/parser/column_definition.cpp +20 -32
  146. package/src/duckdb/src/parser/column_list.cpp +8 -0
  147. package/src/duckdb/src/parser/constraints/foreign_key_constraint.cpp +3 -0
  148. package/src/duckdb/src/parser/constraints/unique_constraint.cpp +3 -0
  149. package/src/duckdb/src/parser/expression/case_expression.cpp +0 -12
  150. package/src/duckdb/src/parser/parsed_data/alter_info.cpp +5 -2
  151. package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +38 -0
  152. package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +3 -1
  153. package/src/duckdb/src/parser/parsed_data/create_sequence_info.cpp +2 -0
  154. package/src/duckdb/src/parser/parsed_data/detach_info.cpp +1 -1
  155. package/src/duckdb/src/parser/parsed_data/drop_info.cpp +1 -1
  156. package/src/duckdb/src/parser/parsed_data/sample_options.cpp +0 -18
  157. package/src/duckdb/src/parser/parsed_data/transaction_info.cpp +4 -1
  158. package/src/duckdb/src/parser/parsed_data/vacuum_info.cpp +1 -1
  159. package/src/duckdb/src/parser/query_node.cpp +0 -10
  160. package/src/duckdb/src/parser/result_modifier.cpp +0 -13
  161. package/src/duckdb/src/parser/statement/select_statement.cpp +0 -10
  162. package/src/duckdb/src/parser/tableref/pivotref.cpp +0 -16
  163. package/src/duckdb/src/parser/transform/statement/transform_create_index.cpp +5 -4
  164. package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +1 -1
  165. package/src/duckdb/src/planner/binder/statement/bind_create.cpp +6 -1
  166. package/src/duckdb/src/planner/expression/bound_between_expression.cpp +4 -0
  167. package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +13 -6
  168. package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +20 -12
  169. package/src/duckdb/src/planner/logical_operator.cpp +13 -1
  170. package/src/duckdb/src/planner/operator/logical_comparison_join.cpp +16 -2
  171. package/src/duckdb/src/planner/operator/logical_create.cpp +14 -0
  172. package/src/duckdb/src/planner/operator/logical_create_index.cpp +20 -0
  173. package/src/duckdb/src/planner/operator/logical_create_table.cpp +16 -0
  174. package/src/duckdb/src/planner/operator/logical_delete.cpp +9 -2
  175. package/src/duckdb/src/planner/operator/logical_delim_join.cpp +2 -4
  176. package/src/duckdb/src/planner/operator/logical_distinct.cpp +13 -0
  177. package/src/duckdb/src/planner/operator/logical_explain.cpp +1 -1
  178. package/src/duckdb/src/planner/operator/logical_insert.cpp +8 -2
  179. package/src/duckdb/src/planner/operator/logical_materialized_cte.cpp +3 -2
  180. package/src/duckdb/src/planner/operator/logical_order.cpp +39 -0
  181. package/src/duckdb/src/planner/operator/logical_pivot.cpp +3 -0
  182. package/src/duckdb/src/planner/operator/logical_recursive_cte.cpp +5 -5
  183. package/src/duckdb/src/planner/operator/logical_sample.cpp +3 -0
  184. package/src/duckdb/src/planner/operator/logical_update.cpp +8 -2
  185. package/src/duckdb/src/planner/parsed_data/bound_create_table_info.cpp +4 -2
  186. package/src/duckdb/src/planner/planner.cpp +11 -0
  187. package/src/duckdb/src/storage/checkpoint_manager.cpp +23 -23
  188. package/src/duckdb/src/storage/serialization/serialize_constraint.cpp +98 -0
  189. package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +188 -0
  190. package/src/duckdb/src/storage/serialization/serialize_expression.cpp +274 -0
  191. package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +729 -0
  192. package/src/duckdb/src/storage/serialization/serialize_macro_function.cpp +62 -0
  193. package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +242 -0
  194. package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +419 -0
  195. package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +40 -38
  196. package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +36 -36
  197. package/src/duckdb/src/storage/serialization/serialize_result_modifier.cpp +25 -14
  198. package/src/duckdb/src/storage/serialization/serialize_statement.cpp +22 -0
  199. package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +47 -47
  200. package/src/duckdb/src/storage/serialization/serialize_types.cpp +25 -25
  201. package/src/duckdb/src/storage/storage_info.cpp +3 -2
  202. package/src/duckdb/src/storage/wal_replay.cpp +20 -19
  203. package/src/duckdb/ub_src_parser.cpp +0 -2
  204. package/src/duckdb/ub_src_storage_serialization.cpp +16 -0
  205. package/src/duckdb/src/parser/common_table_expression_info.cpp +0 -21
@@ -13,9 +13,7 @@
13
13
  namespace duckdb {
14
14
 
15
15
  class LogicalRecursiveCTE : public LogicalOperator {
16
- LogicalRecursiveCTE(idx_t table_index, idx_t column_count, bool union_all)
17
- : LogicalOperator(LogicalOperatorType::LOGICAL_RECURSIVE_CTE), union_all(union_all), table_index(table_index),
18
- column_count(column_count) {
16
+ LogicalRecursiveCTE() : LogicalOperator(LogicalOperatorType::LOGICAL_RECURSIVE_CTE) {
19
17
  }
20
18
 
21
19
  public:
@@ -41,6 +39,10 @@ public:
41
39
  }
42
40
  void Serialize(FieldWriter &writer) const override;
43
41
  static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
42
+
43
+ void FormatSerialize(FormatSerializer &serializer) const override;
44
+ static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
45
+
44
46
  vector<idx_t> GetTableIndex() const override;
45
47
  string GetName() const override;
46
48
 
@@ -30,6 +30,10 @@ public:
30
30
  public:
31
31
  void Serialize(FieldWriter &writer) const override;
32
32
  static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
33
+
34
+ void FormatSerialize(FormatSerializer &serializer) const override;
35
+ static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
36
+
33
37
  idx_t EstimateCardinality(ClientContext &context) override;
34
38
 
35
39
  protected:
@@ -31,8 +31,14 @@ public:
31
31
  void Serialize(FieldWriter &writer) const override;
32
32
  static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
33
33
 
34
+ void FormatSerialize(FormatSerializer &serializer) const override;
35
+ static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
36
+
34
37
  protected:
35
38
  void ResolveTypes() override;
39
+
40
+ private:
41
+ LogicalSample();
36
42
  };
37
43
 
38
44
  } // namespace duckdb
@@ -31,6 +31,10 @@ public:
31
31
  public:
32
32
  void Serialize(FieldWriter &writer) const override;
33
33
  static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
34
+
35
+ void FormatSerialize(FormatSerializer &serializer) const override;
36
+ static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
37
+
34
38
  idx_t EstimateCardinality(ClientContext &context) override;
35
39
 
36
40
  protected:
@@ -40,6 +40,10 @@ public:
40
40
 
41
41
  void Serialize(FieldWriter &writer) const override;
42
42
  static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
43
+
44
+ void FormatSerialize(FormatSerializer &serializer) const override;
45
+ static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
46
+
43
47
  vector<idx_t> GetTableIndex() const override;
44
48
  string GetName() const override;
45
49
 
@@ -30,6 +30,9 @@ public:
30
30
  void Serialize(FieldWriter &writer) const override;
31
31
  static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
32
32
 
33
+ void FormatSerialize(FormatSerializer &serializer) const override;
34
+ static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
35
+
33
36
  protected:
34
37
  void ResolveTypes() override {
35
38
  types = {LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR,
@@ -28,6 +28,9 @@ public:
28
28
  public:
29
29
  void Serialize(FieldWriter &writer) const override;
30
30
  static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
31
+
32
+ void FormatSerialize(FormatSerializer &serializer) const override;
33
+ static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
31
34
  idx_t EstimateCardinality(ClientContext &context) override;
32
35
 
33
36
  protected:
@@ -35,6 +35,10 @@ public:
35
35
  }
36
36
  void Serialize(FieldWriter &writer) const override;
37
37
  static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
38
+
39
+ void FormatSerialize(FormatSerializer &serializer) const override;
40
+ static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
41
+
38
42
  idx_t EstimateCardinality(ClientContext &context) override;
39
43
 
40
44
  protected:
@@ -28,6 +28,8 @@ public:
28
28
  vector<ColumnBinding> GetColumnBindings() override;
29
29
  void Serialize(FieldWriter &writer) const override;
30
30
  static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
31
+ void FormatSerialize(FormatSerializer &serializer) const override;
32
+ static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
31
33
  vector<idx_t> GetTableIndex() const override;
32
34
  string GetName() const override;
33
35
 
@@ -33,11 +33,17 @@ public:
33
33
  public:
34
34
  void Serialize(FieldWriter &writer) const override;
35
35
  static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
36
+ void FormatSerialize(FormatSerializer &serializer) const override;
37
+ static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
38
+
36
39
  idx_t EstimateCardinality(ClientContext &context) override;
37
40
  string GetName() const override;
38
41
 
39
42
  protected:
40
43
  vector<ColumnBinding> GetColumnBindings() override;
41
44
  void ResolveTypes() override;
45
+
46
+ private:
47
+ LogicalUpdate(ClientContext &context, const string &catalog, const string &schema, const string &table);
42
48
  };
43
49
  } // namespace duckdb
@@ -29,6 +29,9 @@ public:
29
29
  vector<ColumnBinding> GetColumnBindings() override;
30
30
  void Serialize(FieldWriter &writer) const override;
31
31
  static unique_ptr<LogicalOperator> Deserialize(LogicalDeserializationState &state, FieldReader &reader);
32
+
33
+ void FormatSerialize(FormatSerializer &serializer) const override;
34
+ static unique_ptr<LogicalOperator> FormatDeserialize(FormatDeserializer &deserializer);
32
35
  vector<idx_t> GetTableIndex() const override;
33
36
  string GetName() const override;
34
37
 
@@ -25,6 +25,9 @@ struct BoundPivotInfo {
25
25
  vector<string> pivot_values;
26
26
  //! The set of aggregate functions that is being executed
27
27
  vector<unique_ptr<Expression>> aggregates;
28
+
29
+ void FormatSerialize(FormatSerializer &serializer) const;
30
+ static BoundPivotInfo FormatDeserialize(FormatDeserializer &deserializer);
28
31
  };
29
32
 
30
33
  class BoundPivotRef : public BoundTableRef {
@@ -15,10 +15,12 @@ namespace duckdb {
15
15
 
16
16
  struct DelimCandidate {
17
17
  public:
18
- explicit DelimCandidate(LogicalDelimJoin &delim_join) : delim_join(delim_join), delim_get_count(0) {
18
+ explicit DelimCandidate(unique_ptr<LogicalOperator> &op, LogicalDelimJoin &delim_join)
19
+ : op(op), delim_join(delim_join), delim_get_count(0) {
19
20
  }
20
21
 
21
22
  public:
23
+ unique_ptr<LogicalOperator> &op;
22
24
  LogicalDelimJoin &delim_join;
23
25
  vector<reference<unique_ptr<LogicalOperator>>> joins;
24
26
  idx_t delim_get_count;
@@ -61,7 +63,7 @@ unique_ptr<LogicalOperator> Deliminator::Optimize(unique_ptr<LogicalOperator> op
61
63
  }
62
64
  }
63
65
  }
64
- delim_join.type = LogicalOperatorType::LOGICAL_COMPARISON_JOIN;
66
+ candidate.op = LogicalComparisonJoin::FromDelimJoin(delim_join);
65
67
  }
66
68
  }
67
69
 
@@ -78,7 +80,7 @@ void Deliminator::FindCandidates(unique_ptr<LogicalOperator> &op, vector<DelimCa
78
80
  return;
79
81
  }
80
82
 
81
- candidates.emplace_back(op->Cast<LogicalDelimJoin>());
83
+ candidates.emplace_back(op, op->Cast<LogicalDelimJoin>());
82
84
  auto &candidate = candidates.back();
83
85
 
84
86
  // DelimGets are in the RHS
@@ -13,28 +13,14 @@ ColumnDefinition::ColumnDefinition(string name_p, LogicalType type_p)
13
13
 
14
14
  ColumnDefinition::ColumnDefinition(string name_p, LogicalType type_p, unique_ptr<ParsedExpression> expression,
15
15
  TableColumnType category)
16
- : name(std::move(name_p)), type(std::move(type_p)), category(category) {
17
- switch (category) {
18
- case TableColumnType::STANDARD: {
19
- default_value = std::move(expression);
20
- break;
21
- }
22
- case TableColumnType::GENERATED: {
23
- generated_expression = std::move(expression);
24
- break;
25
- }
26
- default: {
27
- throw InternalException("Type not implemented for TableColumnType");
28
- }
29
- }
16
+ : name(std::move(name_p)), type(std::move(type_p)), category(category), expression(std::move(expression)) {
30
17
  }
31
18
 
32
19
  ColumnDefinition ColumnDefinition::Copy() const {
33
20
  ColumnDefinition copy(name, type);
34
21
  copy.oid = oid;
35
22
  copy.storage_oid = storage_oid;
36
- copy.SetDefaultValue(default_value ? default_value->Copy() : nullptr);
37
- copy.generated_expression = generated_expression ? generated_expression->Copy() : nullptr;
23
+ copy.expression = expression ? expression->Copy() : nullptr;
38
24
  copy.compression_type = compression_type;
39
25
  copy.category = category;
40
26
  return copy;
@@ -44,11 +30,7 @@ void ColumnDefinition::Serialize(Serializer &serializer) const {
44
30
  FieldWriter writer(serializer);
45
31
  writer.WriteString(name);
46
32
  writer.WriteSerializable(type);
47
- if (Generated()) {
48
- writer.WriteOptional(generated_expression);
49
- } else {
50
- writer.WriteOptional(default_value);
51
- }
33
+ writer.WriteOptional(expression);
52
34
  writer.WriteField<TableColumnType>(category);
53
35
  writer.WriteField<duckdb::CompressionType>(compression_type);
54
36
  writer.Finalize();
@@ -69,11 +51,17 @@ ColumnDefinition ColumnDefinition::Deserialize(Deserializer &source) {
69
51
  }
70
52
 
71
53
  const unique_ptr<ParsedExpression> &ColumnDefinition::DefaultValue() const {
72
- return default_value;
54
+ if (Generated()) {
55
+ throw InternalException("Calling DefaultValue() on a generated column");
56
+ }
57
+ return expression;
73
58
  }
74
59
 
75
60
  void ColumnDefinition::SetDefaultValue(unique_ptr<ParsedExpression> default_value) {
76
- this->default_value = std::move(default_value);
61
+ if (Generated()) {
62
+ throw InternalException("Calling SetDefaultValue() on a generated column");
63
+ }
64
+ this->expression = std::move(default_value);
77
65
  }
78
66
 
79
67
  const LogicalType &ColumnDefinition::Type() const {
@@ -168,7 +156,7 @@ static void InnerGetListOfDependencies(ParsedExpression &expr, vector<string> &d
168
156
 
169
157
  void ColumnDefinition::GetListOfDependencies(vector<string> &dependencies) const {
170
158
  D_ASSERT(Generated());
171
- InnerGetListOfDependencies(*generated_expression, dependencies);
159
+ InnerGetListOfDependencies(*expression, dependencies);
172
160
  }
173
161
 
174
162
  string ColumnDefinition::GetName() const {
@@ -179,28 +167,28 @@ LogicalType ColumnDefinition::GetType() const {
179
167
  return type;
180
168
  }
181
169
 
182
- void ColumnDefinition::SetGeneratedExpression(unique_ptr<ParsedExpression> expression) {
170
+ void ColumnDefinition::SetGeneratedExpression(unique_ptr<ParsedExpression> new_expr) {
183
171
  category = TableColumnType::GENERATED;
184
172
 
185
- if (expression->HasSubquery()) {
173
+ if (new_expr->HasSubquery()) {
186
174
  throw ParserException("Expression of generated column \"%s\" contains a subquery, which isn't allowed", name);
187
175
  }
188
176
 
189
- VerifyColumnRefs(*expression);
177
+ VerifyColumnRefs(*new_expr);
190
178
  if (type.id() == LogicalTypeId::ANY) {
191
- generated_expression = std::move(expression);
179
+ expression = std::move(new_expr);
192
180
  return;
193
181
  }
194
182
  // Always wrap the expression in a cast, that way we can always update the cast when we change the type
195
183
  // Except if the type is LogicalType::ANY (no type specified)
196
- generated_expression = make_uniq_base<ParsedExpression, CastExpression>(type, std::move(expression));
184
+ expression = make_uniq_base<ParsedExpression, CastExpression>(type, std::move(new_expr));
197
185
  }
198
186
 
199
187
  void ColumnDefinition::ChangeGeneratedExpressionType(const LogicalType &type) {
200
188
  D_ASSERT(Generated());
201
189
  // First time the type is set, add a cast around the expression
202
190
  D_ASSERT(this->type.id() == LogicalTypeId::ANY);
203
- generated_expression = make_uniq_base<ParsedExpression, CastExpression>(type, std::move(generated_expression));
191
+ expression = make_uniq_base<ParsedExpression, CastExpression>(type, std::move(expression));
204
192
  // Every generated expression should be wrapped in a cast on creation
205
193
  // D_ASSERT(generated_expression->type == ExpressionType::OPERATOR_CAST);
206
194
  // auto &cast_expr = generated_expression->Cast<CastExpression>();
@@ -210,12 +198,12 @@ void ColumnDefinition::ChangeGeneratedExpressionType(const LogicalType &type) {
210
198
 
211
199
  const ParsedExpression &ColumnDefinition::GeneratedExpression() const {
212
200
  D_ASSERT(Generated());
213
- return *generated_expression;
201
+ return *expression;
214
202
  }
215
203
 
216
204
  ParsedExpression &ColumnDefinition::GeneratedExpressionMutable() {
217
205
  D_ASSERT(Generated());
218
- return *generated_expression;
206
+ return *expression;
219
207
  }
220
208
 
221
209
  } // namespace duckdb
@@ -6,6 +6,14 @@ namespace duckdb {
6
6
 
7
7
  ColumnList::ColumnList(bool allow_duplicate_names) : allow_duplicate_names(allow_duplicate_names) {
8
8
  }
9
+
10
+ ColumnList::ColumnList(vector<ColumnDefinition> columns, bool allow_duplicate_names)
11
+ : allow_duplicate_names(allow_duplicate_names) {
12
+ for (auto &col : columns) {
13
+ AddColumn(std::move(col));
14
+ }
15
+ }
16
+
9
17
  void ColumnList::AddColumn(ColumnDefinition column) {
10
18
  auto oid = columns.size();
11
19
  if (!column.Generated()) {
@@ -6,6 +6,9 @@
6
6
 
7
7
  namespace duckdb {
8
8
 
9
+ ForeignKeyConstraint::ForeignKeyConstraint() : Constraint(ConstraintType::FOREIGN_KEY) {
10
+ }
11
+
9
12
  ForeignKeyConstraint::ForeignKeyConstraint(vector<string> pk_columns, vector<string> fk_columns, ForeignKeyInfo info)
10
13
  : Constraint(ConstraintType::FOREIGN_KEY), pk_columns(std::move(pk_columns)), fk_columns(std::move(fk_columns)),
11
14
  info(std::move(info)) {
@@ -6,6 +6,9 @@
6
6
 
7
7
  namespace duckdb {
8
8
 
9
+ UniqueConstraint::UniqueConstraint() : Constraint(ConstraintType::UNIQUE), index(DConstants::INVALID_INDEX) {
10
+ }
11
+
9
12
  UniqueConstraint::UniqueConstraint(LogicalIndex index, bool is_primary_key)
10
13
  : Constraint(ConstraintType::UNIQUE), index(index), is_primary_key(is_primary_key) {
11
14
  }
@@ -8,18 +8,6 @@
8
8
 
9
9
  namespace duckdb {
10
10
 
11
- void CaseCheck::FormatSerialize(FormatSerializer &serializer) const {
12
- serializer.WriteProperty("when_expr", when_expr);
13
- serializer.WriteProperty("then_expr", then_expr);
14
- }
15
-
16
- CaseCheck CaseCheck::FormatDeserialize(FormatDeserializer &deserializer) {
17
- CaseCheck check;
18
- deserializer.ReadProperty("when_expr", check.when_expr);
19
- deserializer.ReadProperty("then_expr", check.then_expr);
20
- return check;
21
- }
22
-
23
11
  CaseExpression::CaseExpression() : ParsedExpression(ExpressionType::CASE_EXPR, ExpressionClass::CASE) {
24
12
  }
25
13
 
@@ -8,8 +8,11 @@
8
8
  namespace duckdb {
9
9
 
10
10
  AlterInfo::AlterInfo(AlterType type, string catalog_p, string schema_p, string name_p, OnEntryNotFound if_not_found)
11
- : type(type), if_not_found(if_not_found), catalog(std::move(catalog_p)), schema(std::move(schema_p)),
12
- name(std::move(name_p)), allow_internal(false) {
11
+ : ParseInfo(TYPE), type(type), if_not_found(if_not_found), catalog(std::move(catalog_p)),
12
+ schema(std::move(schema_p)), name(std::move(name_p)), allow_internal(false) {
13
+ }
14
+
15
+ AlterInfo::AlterInfo(AlterType type) : ParseInfo(TYPE), type(type) {
13
16
  }
14
17
 
15
18
  AlterInfo::~AlterInfo() {
@@ -33,6 +33,9 @@ void ChangeOwnershipInfo::Serialize(FieldWriter &writer) const {
33
33
  //===--------------------------------------------------------------------===//
34
34
  // AlterTableInfo
35
35
  //===--------------------------------------------------------------------===//
36
+ AlterTableInfo::AlterTableInfo(AlterTableType type) : AlterInfo(AlterType::ALTER_TABLE), alter_table_type(type) {
37
+ }
38
+
36
39
  AlterTableInfo::AlterTableInfo(AlterTableType type, AlterEntryData data)
37
40
  : AlterInfo(AlterType::ALTER_TABLE, std::move(data.catalog), std::move(data.schema), std::move(data.name),
38
41
  data.if_not_found),
@@ -94,6 +97,10 @@ RenameColumnInfo::RenameColumnInfo(AlterEntryData data, string old_name_p, strin
94
97
  : AlterTableInfo(AlterTableType::RENAME_COLUMN, std::move(data)), old_name(std::move(old_name_p)),
95
98
  new_name(std::move(new_name_p)) {
96
99
  }
100
+
101
+ RenameColumnInfo::RenameColumnInfo() : AlterTableInfo(AlterTableType::RENAME_COLUMN) {
102
+ }
103
+
97
104
  RenameColumnInfo::~RenameColumnInfo() {
98
105
  }
99
106
 
@@ -115,9 +122,13 @@ unique_ptr<AlterInfo> RenameColumnInfo::Deserialize(FieldReader &reader, AlterEn
115
122
  //===--------------------------------------------------------------------===//
116
123
  // RenameTableInfo
117
124
  //===--------------------------------------------------------------------===//
125
+ RenameTableInfo::RenameTableInfo() : AlterTableInfo(AlterTableType::RENAME_TABLE) {
126
+ }
127
+
118
128
  RenameTableInfo::RenameTableInfo(AlterEntryData data, string new_name_p)
119
129
  : AlterTableInfo(AlterTableType::RENAME_TABLE, std::move(data)), new_table_name(std::move(new_name_p)) {
120
130
  }
131
+
121
132
  RenameTableInfo::~RenameTableInfo() {
122
133
  }
123
134
 
@@ -137,6 +148,10 @@ unique_ptr<AlterInfo> RenameTableInfo::Deserialize(FieldReader &reader, AlterEnt
137
148
  //===--------------------------------------------------------------------===//
138
149
  // AddColumnInfo
139
150
  //===--------------------------------------------------------------------===//
151
+ AddColumnInfo::AddColumnInfo(ColumnDefinition new_column_p)
152
+ : AlterTableInfo(AlterTableType::ADD_COLUMN), new_column(std::move(new_column_p)) {
153
+ }
154
+
140
155
  AddColumnInfo::AddColumnInfo(AlterEntryData data, ColumnDefinition new_column, bool if_column_not_exists)
141
156
  : AlterTableInfo(AlterTableType::ADD_COLUMN, std::move(data)), new_column(std::move(new_column)),
142
157
  if_column_not_exists(if_column_not_exists) {
@@ -163,6 +178,9 @@ unique_ptr<AlterInfo> AddColumnInfo::Deserialize(FieldReader &reader, AlterEntry
163
178
  //===--------------------------------------------------------------------===//
164
179
  // RemoveColumnInfo
165
180
  //===--------------------------------------------------------------------===//
181
+ RemoveColumnInfo::RemoveColumnInfo() : AlterTableInfo(AlterTableType::REMOVE_COLUMN) {
182
+ }
183
+
166
184
  RemoveColumnInfo::RemoveColumnInfo(AlterEntryData data, string removed_column, bool if_column_exists, bool cascade)
167
185
  : AlterTableInfo(AlterTableType::REMOVE_COLUMN, std::move(data)), removed_column(std::move(removed_column)),
168
186
  if_column_exists(if_column_exists), cascade(cascade) {
@@ -190,6 +208,9 @@ unique_ptr<AlterInfo> RemoveColumnInfo::Deserialize(FieldReader &reader, AlterEn
190
208
  //===--------------------------------------------------------------------===//
191
209
  // ChangeColumnTypeInfo
192
210
  //===--------------------------------------------------------------------===//
211
+ ChangeColumnTypeInfo::ChangeColumnTypeInfo() : AlterTableInfo(AlterTableType::ALTER_COLUMN_TYPE) {
212
+ }
213
+
193
214
  ChangeColumnTypeInfo::ChangeColumnTypeInfo(AlterEntryData data, string column_name, LogicalType target_type,
194
215
  unique_ptr<ParsedExpression> expression)
195
216
  : AlterTableInfo(AlterTableType::ALTER_COLUMN_TYPE, std::move(data)), column_name(std::move(column_name)),
@@ -220,6 +241,9 @@ unique_ptr<AlterInfo> ChangeColumnTypeInfo::Deserialize(FieldReader &reader, Alt
220
241
  //===--------------------------------------------------------------------===//
221
242
  // SetDefaultInfo
222
243
  //===--------------------------------------------------------------------===//
244
+ SetDefaultInfo::SetDefaultInfo() : AlterTableInfo(AlterTableType::SET_DEFAULT) {
245
+ }
246
+
223
247
  SetDefaultInfo::SetDefaultInfo(AlterEntryData data, string column_name_p, unique_ptr<ParsedExpression> new_default)
224
248
  : AlterTableInfo(AlterTableType::SET_DEFAULT, std::move(data)), column_name(std::move(column_name_p)),
225
249
  expression(std::move(new_default)) {
@@ -246,6 +270,9 @@ unique_ptr<AlterInfo> SetDefaultInfo::Deserialize(FieldReader &reader, AlterEntr
246
270
  //===--------------------------------------------------------------------===//
247
271
  // SetNotNullInfo
248
272
  //===--------------------------------------------------------------------===//
273
+ SetNotNullInfo::SetNotNullInfo() : AlterTableInfo(AlterTableType::SET_NOT_NULL) {
274
+ }
275
+
249
276
  SetNotNullInfo::SetNotNullInfo(AlterEntryData data, string column_name_p)
250
277
  : AlterTableInfo(AlterTableType::SET_NOT_NULL, std::move(data)), column_name(std::move(column_name_p)) {
251
278
  }
@@ -268,6 +295,9 @@ unique_ptr<AlterInfo> SetNotNullInfo::Deserialize(FieldReader &reader, AlterEntr
268
295
  //===--------------------------------------------------------------------===//
269
296
  // DropNotNullInfo
270
297
  //===--------------------------------------------------------------------===//
298
+ DropNotNullInfo::DropNotNullInfo() : AlterTableInfo(AlterTableType::DROP_NOT_NULL) {
299
+ }
300
+
271
301
  DropNotNullInfo::DropNotNullInfo(AlterEntryData data, string column_name_p)
272
302
  : AlterTableInfo(AlterTableType::DROP_NOT_NULL, std::move(data)), column_name(std::move(column_name_p)) {
273
303
  }
@@ -290,6 +320,9 @@ unique_ptr<AlterInfo> DropNotNullInfo::Deserialize(FieldReader &reader, AlterEnt
290
320
  //===--------------------------------------------------------------------===//
291
321
  // AlterForeignKeyInfo
292
322
  //===--------------------------------------------------------------------===//
323
+ AlterForeignKeyInfo::AlterForeignKeyInfo() : AlterTableInfo(AlterTableType::FOREIGN_KEY_CONSTRAINT) {
324
+ }
325
+
293
326
  AlterForeignKeyInfo::AlterForeignKeyInfo(AlterEntryData data, string fk_table, vector<string> pk_columns,
294
327
  vector<string> fk_columns, vector<PhysicalIndex> pk_keys,
295
328
  vector<PhysicalIndex> fk_keys, AlterForeignKeyType type_p)
@@ -328,6 +361,9 @@ unique_ptr<AlterInfo> AlterForeignKeyInfo::Deserialize(FieldReader &reader, Alte
328
361
  //===--------------------------------------------------------------------===//
329
362
  // Alter View
330
363
  //===--------------------------------------------------------------------===//
364
+ AlterViewInfo::AlterViewInfo(AlterViewType type) : AlterInfo(AlterType::ALTER_VIEW) {
365
+ }
366
+
331
367
  AlterViewInfo::AlterViewInfo(AlterViewType type, AlterEntryData data)
332
368
  : AlterInfo(AlterType::ALTER_VIEW, std::move(data.catalog), std::move(data.schema), std::move(data.name),
333
369
  data.if_not_found),
@@ -368,6 +404,8 @@ unique_ptr<AlterInfo> AlterViewInfo::Deserialize(FieldReader &reader) {
368
404
  //===--------------------------------------------------------------------===//
369
405
  // RenameViewInfo
370
406
  //===--------------------------------------------------------------------===//
407
+ RenameViewInfo::RenameViewInfo() : AlterViewInfo(AlterViewType::RENAME_VIEW) {
408
+ }
371
409
  RenameViewInfo::RenameViewInfo(AlterEntryData data, string new_name_p)
372
410
  : AlterViewInfo(AlterViewType::RENAME_VIEW, std::move(data)), new_view_name(std::move(new_name_p)) {
373
411
  }
@@ -11,7 +11,7 @@ unique_ptr<CreateInfo> CreateIndexInfo::Copy() const {
11
11
  result->index_type = index_type;
12
12
  result->index_name = index_name;
13
13
  result->constraint_type = constraint_type;
14
- result->table = unique_ptr_cast<TableRef, BaseTableRef>(table->Copy());
14
+ result->table = table;
15
15
  for (auto &expr : expressions) {
16
16
  result->expressions.push_back(expr->Copy());
17
17
  }
@@ -28,6 +28,7 @@ unique_ptr<CreateInfo> CreateIndexInfo::Copy() const {
28
28
  void CreateIndexInfo::SerializeInternal(Serializer &serializer) const {
29
29
  FieldWriter writer(serializer);
30
30
  writer.WriteField(index_type);
31
+ writer.WriteString(table);
31
32
  writer.WriteString(index_name);
32
33
  writer.WriteField(constraint_type);
33
34
 
@@ -45,6 +46,7 @@ unique_ptr<CreateIndexInfo> CreateIndexInfo::Deserialize(Deserializer &deseriali
45
46
 
46
47
  FieldReader reader(deserializer);
47
48
  result->index_type = reader.ReadRequired<IndexType>();
49
+ result->table = reader.ReadRequired<string>();
48
50
  result->index_name = reader.ReadRequired<string>();
49
51
  result->constraint_type = reader.ReadRequired<IndexConstraintType>();
50
52
 
@@ -27,6 +27,7 @@ unique_ptr<CreateInfo> CreateSequenceInfo::Copy() const {
27
27
  void CreateSequenceInfo::SerializeInternal(Serializer &serializer) const {
28
28
  FieldWriter writer(serializer);
29
29
  writer.WriteString(name);
30
+ writer.WriteString(schema);
30
31
  writer.WriteField(usage_count);
31
32
  writer.WriteField(increment);
32
33
  writer.WriteField(min_value);
@@ -42,6 +43,7 @@ unique_ptr<CreateSequenceInfo> CreateSequenceInfo::Deserialize(Deserializer &des
42
43
 
43
44
  FieldReader reader(deserializer);
44
45
  result->name = reader.ReadRequired<string>();
46
+ result->schema = reader.ReadRequired<string>();
45
47
  result->usage_count = reader.ReadRequired<uint64_t>();
46
48
  result->increment = reader.ReadRequired<int64_t>();
47
49
  result->min_value = reader.ReadRequired<int64_t>();
@@ -3,7 +3,7 @@
3
3
 
4
4
  namespace duckdb {
5
5
 
6
- DetachInfo::DetachInfo() {
6
+ DetachInfo::DetachInfo() : ParseInfo(TYPE) {
7
7
  }
8
8
 
9
9
  unique_ptr<DetachInfo> DetachInfo::Copy() const {
@@ -2,7 +2,7 @@
2
2
 
3
3
  namespace duckdb {
4
4
 
5
- DropInfo::DropInfo() : catalog(INVALID_CATALOG), schema(INVALID_SCHEMA), cascade(false) {
5
+ DropInfo::DropInfo() : ParseInfo(TYPE), catalog(INVALID_CATALOG), schema(INVALID_SCHEMA), cascade(false) {
6
6
  }
7
7
 
8
8
  unique_ptr<DropInfo> DropInfo::Copy() const {
@@ -19,24 +19,6 @@ void SampleOptions::Serialize(Serializer &serializer) {
19
19
  writer.Finalize();
20
20
  }
21
21
 
22
- void SampleOptions::FormatSerialize(FormatSerializer &serializer) const {
23
- serializer.WriteProperty("sample_size", sample_size);
24
- serializer.WriteProperty("is_percentage", is_percentage);
25
- serializer.WriteProperty("method", method);
26
- serializer.WriteProperty("seed", seed);
27
- }
28
-
29
- unique_ptr<SampleOptions> SampleOptions::FormatDeserialize(FormatDeserializer &deserializer) {
30
- auto result = make_uniq<SampleOptions>();
31
-
32
- deserializer.ReadProperty("sample_size", result->sample_size);
33
- deserializer.ReadProperty("is_percentage", result->is_percentage);
34
- deserializer.ReadProperty("method", result->method);
35
- deserializer.ReadProperty("seed", result->seed);
36
-
37
- return result;
38
- }
39
-
40
22
  unique_ptr<SampleOptions> SampleOptions::Deserialize(Deserializer &source) {
41
23
  auto result = make_uniq<SampleOptions>();
42
24
 
@@ -3,7 +3,10 @@
3
3
 
4
4
  namespace duckdb {
5
5
 
6
- TransactionInfo::TransactionInfo(TransactionType type) : type(type) {
6
+ TransactionInfo::TransactionInfo() : ParseInfo(TYPE) {
7
+ }
8
+
9
+ TransactionInfo::TransactionInfo(TransactionType type) : ParseInfo(TYPE), type(type) {
7
10
  }
8
11
 
9
12
  void TransactionInfo::Serialize(Serializer &serializer) const {
@@ -3,7 +3,7 @@
3
3
 
4
4
  namespace duckdb {
5
5
 
6
- VacuumInfo::VacuumInfo(VacuumOptions options) : options(options), has_table(false) {
6
+ VacuumInfo::VacuumInfo(VacuumOptions options) : ParseInfo(TYPE), options(options), has_table(false) {
7
7
  }
8
8
 
9
9
  unique_ptr<VacuumInfo> VacuumInfo::Copy() {
@@ -75,16 +75,6 @@ string CommonTableExpressionMap::ToString() const {
75
75
  return result;
76
76
  }
77
77
 
78
- void CommonTableExpressionMap::FormatSerialize(FormatSerializer &serializer) const {
79
- serializer.WriteProperty("map", map);
80
- }
81
-
82
- CommonTableExpressionMap CommonTableExpressionMap::FormatDeserialize(FormatDeserializer &deserializer) {
83
- auto result = CommonTableExpressionMap();
84
- deserializer.ReadProperty("map", result.map);
85
- return result;
86
- }
87
-
88
78
  string QueryNode::ResultModifiersToString() const {
89
79
  string result;
90
80
  for (idx_t modifier_idx = 0; modifier_idx < modifiers.size(); modifier_idx++) {