duckdb 0.8.2-dev4142.0 → 0.8.2-dev4314.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 (507) hide show
  1. package/binding.gyp +0 -2
  2. package/lib/duckdb.js +3 -3
  3. package/package.json +1 -1
  4. package/src/connection.cpp +9 -8
  5. package/src/database.cpp +5 -8
  6. package/src/duckdb/extension/icu/icu-datepart.cpp +2 -2
  7. package/src/duckdb/extension/icu/icu-strptime.cpp +0 -9
  8. package/src/duckdb/extension/icu/icu_extension.cpp +3 -3
  9. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/gregocal.h +1 -1
  10. package/src/duckdb/extension/json/buffered_json_reader.cpp +3 -17
  11. package/src/duckdb/extension/json/include/buffered_json_reader.hpp +2 -5
  12. package/src/duckdb/extension/json/include/json_deserializer.hpp +2 -2
  13. package/src/duckdb/extension/json/include/json_scan.hpp +5 -12
  14. package/src/duckdb/extension/json/include/json_serializer.hpp +3 -3
  15. package/src/duckdb/extension/json/include/json_transform.hpp +2 -5
  16. package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +1 -1
  17. package/src/duckdb/extension/json/json_functions/json_transform.cpp +2 -18
  18. package/src/duckdb/extension/json/json_scan.cpp +7 -76
  19. package/src/duckdb/extension/json/serialize_json.cpp +8 -8
  20. package/src/duckdb/extension/parquet/column_writer.cpp +46 -45
  21. package/src/duckdb/extension/parquet/include/column_writer.hpp +2 -2
  22. package/src/duckdb/extension/parquet/include/parquet_reader.hpp +2 -5
  23. package/src/duckdb/extension/parquet/include/parquet_rle_bp_encoder.hpp +4 -4
  24. package/src/duckdb/extension/parquet/parquet_extension.cpp +74 -55
  25. package/src/duckdb/extension/parquet/parquet_writer.cpp +3 -2
  26. package/src/duckdb/extension/parquet/serialize_parquet.cpp +4 -4
  27. package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +0 -1
  28. package/src/duckdb/src/catalog/catalog_entry/macro_catalog_entry.cpp +0 -1
  29. package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +0 -1
  30. package/src/duckdb/src/catalog/catalog_entry/sequence_catalog_entry.cpp +0 -1
  31. package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +0 -2
  32. package/src/duckdb/src/catalog/catalog_entry/type_catalog_entry.cpp +1 -3
  33. package/src/duckdb/src/catalog/catalog_entry/view_catalog_entry.cpp +0 -1
  34. package/src/duckdb/src/catalog/catalog_entry.cpp +2 -11
  35. package/src/duckdb/src/catalog/catalog_set.cpp +16 -14
  36. package/src/duckdb/src/catalog/default/default_functions.cpp +2 -2
  37. package/src/duckdb/src/common/arrow/arrow_converter.cpp +0 -1
  38. package/src/duckdb/src/common/constants.cpp +0 -1
  39. package/src/duckdb/src/common/enum_util.cpp +0 -10
  40. package/src/duckdb/src/common/exception.cpp +1 -1
  41. package/src/duckdb/src/common/extra_type_info.cpp +20 -192
  42. package/src/duckdb/src/common/multi_file_reader.cpp +0 -68
  43. package/src/duckdb/src/common/serializer/binary_serializer.cpp +9 -4
  44. package/src/duckdb/src/common/serializer/buffered_file_reader.cpp +3 -11
  45. package/src/duckdb/src/common/serializer/buffered_file_writer.cpp +1 -1
  46. package/src/duckdb/src/common/serializer/memory_stream.cpp +61 -0
  47. package/src/duckdb/src/common/serializer/{format_serializer.cpp → serializer.cpp} +2 -2
  48. package/src/duckdb/src/common/sort/partition_state.cpp +107 -29
  49. package/src/duckdb/src/common/types/column/column_data_collection.cpp +4 -4
  50. package/src/duckdb/src/common/types/data_chunk.cpp +11 -43
  51. package/src/duckdb/src/common/types/hyperloglog.cpp +4 -23
  52. package/src/duckdb/src/common/types/interval.cpp +2 -2
  53. package/src/duckdb/src/common/types/value.cpp +10 -135
  54. package/src/duckdb/src/common/types/vector.cpp +17 -149
  55. package/src/duckdb/src/common/types.cpp +2 -20
  56. package/src/duckdb/src/core_functions/aggregate/algebraic/avg.cpp +0 -1
  57. package/src/duckdb/src/core_functions/aggregate/distributive/string_agg.cpp +6 -7
  58. package/src/duckdb/src/core_functions/aggregate/holistic/approximate_quantile.cpp +5 -28
  59. package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +30 -78
  60. package/src/duckdb/src/core_functions/aggregate/holistic/reservoir_quantile.cpp +5 -30
  61. package/src/duckdb/src/core_functions/scalar/date/date_part.cpp +6 -9
  62. package/src/duckdb/src/core_functions/scalar/list/list_aggregates.cpp +21 -16
  63. package/src/duckdb/src/core_functions/scalar/list/list_lambdas.cpp +15 -23
  64. package/src/duckdb/src/execution/index/art/art.cpp +5 -1
  65. package/src/duckdb/src/execution/index/art/leaf.cpp +13 -10
  66. package/src/duckdb/src/execution/index/art/node48.cpp +0 -2
  67. package/src/duckdb/src/execution/index/fixed_size_allocator.cpp +38 -73
  68. package/src/duckdb/src/execution/index/fixed_size_buffer.cpp +245 -27
  69. package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +2 -3
  70. package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +35 -20
  71. package/src/duckdb/src/function/macro_function.cpp +0 -42
  72. package/src/duckdb/src/function/scalar/compressed_materialization/compress_integral.cpp +10 -8
  73. package/src/duckdb/src/function/scalar/compressed_materialization/compress_string.cpp +13 -12
  74. package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +9 -11
  75. package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +7 -33
  76. package/src/duckdb/src/function/scalar_function.cpp +1 -2
  77. package/src/duckdb/src/function/scalar_macro_function.cpp +0 -10
  78. package/src/duckdb/src/function/table/copy_csv.cpp +38 -38
  79. package/src/duckdb/src/function/table/read_csv.cpp +5 -174
  80. package/src/duckdb/src/function/table/table_scan.cpp +5 -42
  81. package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
  82. package/src/duckdb/src/function/table_function.cpp +3 -4
  83. package/src/duckdb/src/function/table_macro_function.cpp +0 -10
  84. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp +0 -2
  85. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp +0 -2
  86. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/type_catalog_entry.hpp +0 -2
  87. package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +3 -8
  88. package/src/duckdb/src/include/duckdb/common/constants.hpp +4 -2
  89. package/src/duckdb/src/include/duckdb/common/extra_type_info.hpp +16 -46
  90. package/src/duckdb/src/include/duckdb/common/index_vector.hpp +4 -4
  91. package/src/duckdb/src/include/duckdb/common/multi_file_reader.hpp +2 -6
  92. package/src/duckdb/src/include/duckdb/common/multi_file_reader_options.hpp +0 -4
  93. package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +44 -23
  94. package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +31 -23
  95. package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_reader.hpp +4 -6
  96. package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_writer.hpp +3 -3
  97. package/src/duckdb/src/include/duckdb/common/serializer/deserialization_data.hpp +17 -0
  98. package/src/duckdb/src/include/duckdb/common/serializer/{format_deserializer.hpp → deserializer.hpp} +13 -13
  99. package/src/duckdb/src/include/duckdb/common/serializer/memory_stream.hpp +62 -0
  100. package/src/duckdb/src/include/duckdb/common/serializer/read_stream.hpp +38 -0
  101. package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +15 -13
  102. package/src/duckdb/src/include/duckdb/common/serializer/{format_serializer.hpp → serializer.hpp} +13 -12
  103. package/src/duckdb/src/include/duckdb/common/serializer/write_stream.hpp +36 -0
  104. package/src/duckdb/src/include/duckdb/common/sort/partition_state.hpp +14 -4
  105. package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection.hpp +2 -2
  106. package/src/duckdb/src/include/duckdb/common/types/data_chunk.hpp +3 -8
  107. package/src/duckdb/src/include/duckdb/common/types/hyperloglog.hpp +4 -10
  108. package/src/duckdb/src/include/duckdb/common/types/interval.hpp +4 -4
  109. package/src/duckdb/src/include/duckdb/common/types/value.hpp +1 -5
  110. package/src/duckdb/src/include/duckdb/common/types/vector.hpp +2 -7
  111. package/src/duckdb/src/include/duckdb/common/types.hpp +1 -10
  112. package/src/duckdb/src/include/duckdb/execution/index/art/leaf.hpp +2 -0
  113. package/src/duckdb/src/include/duckdb/execution/index/fixed_size_allocator.hpp +1 -7
  114. package/src/duckdb/src/include/duckdb/execution/index/fixed_size_buffer.hpp +38 -8
  115. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_reader_options.hpp +2 -11
  116. package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +4 -14
  117. package/src/duckdb/src/include/duckdb/function/copy_function.hpp +3 -3
  118. package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +15 -98
  119. package/src/duckdb/src/include/duckdb/function/macro_function.hpp +1 -7
  120. package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +9 -10
  121. package/src/duckdb/src/include/duckdb/function/scalar/strftime_format.hpp +2 -2
  122. package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +2 -12
  123. package/src/duckdb/src/include/duckdb/function/scalar_macro_function.hpp +2 -7
  124. package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +4 -16
  125. package/src/duckdb/src/include/duckdb/function/table_function.hpp +2 -11
  126. package/src/duckdb/src/include/duckdb/function/table_macro_function.hpp +2 -7
  127. package/src/duckdb/src/include/duckdb/main/relation.hpp +9 -2
  128. package/src/duckdb/src/include/duckdb/parser/column_definition.hpp +1 -4
  129. package/src/duckdb/src/include/duckdb/parser/column_list.hpp +2 -6
  130. package/src/duckdb/src/include/duckdb/parser/common_table_expression_info.hpp +2 -2
  131. package/src/duckdb/src/include/duckdb/parser/constraint.hpp +2 -12
  132. package/src/duckdb/src/include/duckdb/parser/constraints/check_constraint.hpp +2 -5
  133. package/src/duckdb/src/include/duckdb/parser/constraints/foreign_key_constraint.hpp +2 -7
  134. package/src/duckdb/src/include/duckdb/parser/constraints/not_null_constraint.hpp +2 -7
  135. package/src/duckdb/src/include/duckdb/parser/constraints/unique_constraint.hpp +2 -7
  136. package/src/duckdb/src/include/duckdb/parser/expression/between_expression.hpp +2 -5
  137. package/src/duckdb/src/include/duckdb/parser/expression/bound_expression.hpp +1 -4
  138. package/src/duckdb/src/include/duckdb/parser/expression/case_expression.hpp +4 -6
  139. package/src/duckdb/src/include/duckdb/parser/expression/cast_expression.hpp +2 -4
  140. package/src/duckdb/src/include/duckdb/parser/expression/collate_expression.hpp +2 -4
  141. package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +2 -4
  142. package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +2 -4
  143. package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +2 -4
  144. package/src/duckdb/src/include/duckdb/parser/expression/constant_expression.hpp +2 -5
  145. package/src/duckdb/src/include/duckdb/parser/expression/default_expression.hpp +2 -4
  146. package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +2 -4
  147. package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +2 -4
  148. package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +2 -4
  149. package/src/duckdb/src/include/duckdb/parser/expression/parameter_expression.hpp +2 -4
  150. package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +2 -4
  151. package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +2 -4
  152. package/src/duckdb/src/include/duckdb/parser/expression/subquery_expression.hpp +2 -4
  153. package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +2 -4
  154. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_info.hpp +2 -5
  155. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_scalar_function_info.hpp +0 -2
  156. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_function_info.hpp +0 -2
  157. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +24 -51
  158. package/src/duckdb/src/include/duckdb/parser/parsed_data/attach_info.hpp +1 -4
  159. package/src/duckdb/src/include/duckdb/parser/parsed_data/copy_info.hpp +2 -2
  160. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_collation_info.hpp +0 -3
  161. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_copy_function_info.hpp +0 -3
  162. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_function_info.hpp +0 -5
  163. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +2 -7
  164. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_info.hpp +1 -13
  165. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_macro_info.hpp +2 -8
  166. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_schema_info.hpp +2 -12
  167. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_sequence_info.hpp +2 -7
  168. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_table_info.hpp +2 -7
  169. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_type_info.hpp +2 -7
  170. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_view_info.hpp +2 -7
  171. package/src/duckdb/src/include/duckdb/parser/parsed_data/detach_info.hpp +2 -4
  172. package/src/duckdb/src/include/duckdb/parser/parsed_data/drop_info.hpp +2 -5
  173. package/src/duckdb/src/include/duckdb/parser/parsed_data/load_info.hpp +2 -21
  174. package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +2 -2
  175. package/src/duckdb/src/include/duckdb/parser/parsed_data/pragma_info.hpp +2 -2
  176. package/src/duckdb/src/include/duckdb/parser/parsed_data/sample_options.hpp +2 -4
  177. package/src/duckdb/src/include/duckdb/parser/parsed_data/transaction_info.hpp +1 -4
  178. package/src/duckdb/src/include/duckdb/parser/parsed_data/vacuum_info.hpp +5 -7
  179. package/src/duckdb/src/include/duckdb/parser/parsed_expression.hpp +3 -16
  180. package/src/duckdb/src/include/duckdb/parser/query_node/cte_node.hpp +2 -4
  181. package/src/duckdb/src/include/duckdb/parser/query_node/recursive_cte_node.hpp +2 -4
  182. package/src/duckdb/src/include/duckdb/parser/query_node/select_node.hpp +2 -4
  183. package/src/duckdb/src/include/duckdb/parser/query_node/set_operation_node.hpp +2 -4
  184. package/src/duckdb/src/include/duckdb/parser/query_node.hpp +7 -14
  185. package/src/duckdb/src/include/duckdb/parser/result_modifier.hpp +14 -32
  186. package/src/duckdb/src/include/duckdb/parser/statement/select_statement.hpp +4 -9
  187. package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +2 -6
  188. package/src/duckdb/src/include/duckdb/parser/tableref/emptytableref.hpp +2 -6
  189. package/src/duckdb/src/include/duckdb/parser/tableref/expressionlistref.hpp +2 -6
  190. package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +2 -6
  191. package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +6 -14
  192. package/src/duckdb/src/include/duckdb/parser/tableref/subqueryref.hpp +2 -6
  193. package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +2 -6
  194. package/src/duckdb/src/include/duckdb/parser/tableref.hpp +2 -10
  195. package/src/duckdb/src/include/duckdb/parser/transformer.hpp +1 -0
  196. package/src/duckdb/src/include/duckdb/planner/bound_constraint.hpp +0 -1
  197. package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +2 -8
  198. package/src/duckdb/src/include/duckdb/planner/column_binding.hpp +4 -4
  199. package/src/duckdb/src/include/duckdb/planner/expression/bound_aggregate_expression.hpp +2 -4
  200. package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +2 -4
  201. package/src/duckdb/src/include/duckdb/planner/expression/bound_case_expression.hpp +3 -9
  202. package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +2 -5
  203. package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +2 -8
  204. package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +2 -4
  205. package/src/duckdb/src/include/duckdb/planner/expression/bound_conjunction_expression.hpp +2 -5
  206. package/src/duckdb/src/include/duckdb/planner/expression/bound_constant_expression.hpp +2 -5
  207. package/src/duckdb/src/include/duckdb/planner/expression/bound_default_expression.hpp +2 -5
  208. package/src/duckdb/src/include/duckdb/planner/expression/bound_function_expression.hpp +2 -5
  209. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +2 -4
  210. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +2 -8
  211. package/src/duckdb/src/include/duckdb/planner/expression/bound_operator_expression.hpp +2 -5
  212. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_data.hpp +2 -19
  213. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_expression.hpp +2 -5
  214. package/src/duckdb/src/include/duckdb/planner/expression/bound_reference_expression.hpp +2 -5
  215. package/src/duckdb/src/include/duckdb/planner/expression/bound_subquery_expression.hpp +0 -3
  216. package/src/duckdb/src/include/duckdb/planner/expression/bound_unnest_expression.hpp +2 -5
  217. package/src/duckdb/src/include/duckdb/planner/expression/bound_window_expression.hpp +2 -5
  218. package/src/duckdb/src/include/duckdb/planner/expression.hpp +2 -14
  219. package/src/duckdb/src/include/duckdb/planner/filter/conjunction_filter.hpp +4 -8
  220. package/src/duckdb/src/include/duckdb/planner/filter/constant_filter.hpp +2 -4
  221. package/src/duckdb/src/include/duckdb/planner/filter/null_filter.hpp +4 -8
  222. package/src/duckdb/src/include/duckdb/planner/joinside.hpp +1 -6
  223. package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +2 -17
  224. package/src/duckdb/src/include/duckdb/planner/operator/logical_aggregate.hpp +2 -4
  225. package/src/duckdb/src/include/duckdb/planner/operator/logical_any_join.hpp +2 -4
  226. package/src/duckdb/src/include/duckdb/planner/operator/logical_column_data_get.hpp +2 -5
  227. package/src/duckdb/src/include/duckdb/planner/operator/logical_comparison_join.hpp +2 -6
  228. package/src/duckdb/src/include/duckdb/planner/operator/logical_copy_to_file.hpp +2 -4
  229. package/src/duckdb/src/include/duckdb/planner/operator/logical_create.hpp +2 -5
  230. package/src/duckdb/src/include/duckdb/planner/operator/logical_create_index.hpp +2 -5
  231. package/src/duckdb/src/include/duckdb/planner/operator/logical_create_table.hpp +2 -5
  232. package/src/duckdb/src/include/duckdb/planner/operator/logical_cross_product.hpp +2 -5
  233. package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +2 -4
  234. package/src/duckdb/src/include/duckdb/planner/operator/logical_delete.hpp +2 -5
  235. package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +2 -4
  236. package/src/duckdb/src/include/duckdb/planner/operator/logical_dependent_join.hpp +0 -1
  237. package/src/duckdb/src/include/duckdb/planner/operator/logical_distinct.hpp +2 -4
  238. package/src/duckdb/src/include/duckdb/planner/operator/logical_dummy_scan.hpp +2 -4
  239. package/src/duckdb/src/include/duckdb/planner/operator/logical_empty_result.hpp +2 -4
  240. package/src/duckdb/src/include/duckdb/planner/operator/logical_execute.hpp +0 -2
  241. package/src/duckdb/src/include/duckdb/planner/operator/logical_explain.hpp +2 -5
  242. package/src/duckdb/src/include/duckdb/planner/operator/logical_export.hpp +0 -3
  243. package/src/duckdb/src/include/duckdb/planner/operator/logical_expression_get.hpp +2 -4
  244. package/src/duckdb/src/include/duckdb/planner/operator/logical_extension_operator.hpp +2 -4
  245. package/src/duckdb/src/include/duckdb/planner/operator/logical_filter.hpp +2 -4
  246. package/src/duckdb/src/include/duckdb/planner/operator/logical_get.hpp +2 -4
  247. package/src/duckdb/src/include/duckdb/planner/operator/logical_insert.hpp +2 -5
  248. package/src/duckdb/src/include/duckdb/planner/operator/logical_join.hpp +0 -2
  249. package/src/duckdb/src/include/duckdb/planner/operator/logical_limit.hpp +2 -5
  250. package/src/duckdb/src/include/duckdb/planner/operator/logical_limit_percent.hpp +2 -5
  251. package/src/duckdb/src/include/duckdb/planner/operator/logical_materialized_cte.hpp +2 -4
  252. package/src/duckdb/src/include/duckdb/planner/operator/logical_order.hpp +2 -5
  253. package/src/duckdb/src/include/duckdb/planner/operator/logical_pivot.hpp +2 -4
  254. package/src/duckdb/src/include/duckdb/planner/operator/logical_positional_join.hpp +2 -5
  255. package/src/duckdb/src/include/duckdb/planner/operator/logical_pragma.hpp +0 -2
  256. package/src/duckdb/src/include/duckdb/planner/operator/logical_prepare.hpp +0 -2
  257. package/src/duckdb/src/include/duckdb/planner/operator/logical_projection.hpp +2 -4
  258. package/src/duckdb/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +2 -4
  259. package/src/duckdb/src/include/duckdb/planner/operator/logical_reset.hpp +2 -5
  260. package/src/duckdb/src/include/duckdb/planner/operator/logical_sample.hpp +2 -5
  261. package/src/duckdb/src/include/duckdb/planner/operator/logical_set.hpp +2 -5
  262. package/src/duckdb/src/include/duckdb/planner/operator/logical_set_operation.hpp +2 -5
  263. package/src/duckdb/src/include/duckdb/planner/operator/logical_show.hpp +2 -5
  264. package/src/duckdb/src/include/duckdb/planner/operator/logical_simple.hpp +2 -5
  265. package/src/duckdb/src/include/duckdb/planner/operator/logical_top_n.hpp +2 -4
  266. package/src/duckdb/src/include/duckdb/planner/operator/logical_unnest.hpp +2 -4
  267. package/src/duckdb/src/include/duckdb/planner/operator/logical_update.hpp +2 -4
  268. package/src/duckdb/src/include/duckdb/planner/operator/logical_window.hpp +2 -4
  269. package/src/duckdb/src/include/duckdb/planner/operator_extension.hpp +1 -3
  270. package/src/duckdb/src/include/duckdb/planner/parsed_data/bound_create_table_info.hpp +0 -5
  271. package/src/duckdb/src/include/duckdb/planner/table_filter.hpp +3 -12
  272. package/src/duckdb/src/include/duckdb/planner/tableref/bound_pivotref.hpp +2 -2
  273. package/src/duckdb/src/include/duckdb/storage/block.hpp +7 -4
  274. package/src/duckdb/src/include/duckdb/storage/checkpoint/row_group_writer.hpp +3 -2
  275. package/src/duckdb/src/include/duckdb/storage/checkpoint/table_data_writer.hpp +6 -6
  276. package/src/duckdb/src/include/duckdb/storage/checkpoint_manager.hpp +18 -18
  277. package/src/duckdb/src/include/duckdb/storage/data_pointer.hpp +6 -0
  278. package/src/duckdb/src/include/duckdb/storage/data_table.hpp +1 -1
  279. package/src/duckdb/src/include/duckdb/storage/metadata/metadata_manager.hpp +4 -5
  280. package/src/duckdb/src/include/duckdb/storage/metadata/metadata_reader.hpp +2 -1
  281. package/src/duckdb/src/include/duckdb/storage/metadata/metadata_writer.hpp +2 -2
  282. package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +35 -19
  283. package/src/duckdb/src/include/duckdb/storage/statistics/base_statistics.hpp +2 -11
  284. package/src/duckdb/src/include/duckdb/storage/statistics/column_statistics.hpp +3 -5
  285. package/src/duckdb/src/include/duckdb/storage/statistics/distinct_statistics.hpp +3 -11
  286. package/src/duckdb/src/include/duckdb/storage/statistics/list_stats.hpp +2 -7
  287. package/src/duckdb/src/include/duckdb/storage/statistics/node_statistics.hpp +0 -26
  288. package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats.hpp +2 -7
  289. package/src/duckdb/src/include/duckdb/storage/statistics/string_stats.hpp +2 -7
  290. package/src/duckdb/src/include/duckdb/storage/statistics/struct_stats.hpp +2 -7
  291. package/src/duckdb/src/include/duckdb/storage/storage_info.hpp +4 -6
  292. package/src/duckdb/src/include/duckdb/storage/table/chunk_info.hpp +8 -17
  293. package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +5 -20
  294. package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +2 -2
  295. package/src/duckdb/src/include/duckdb/storage/table/list_column_data.hpp +1 -1
  296. package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +2 -7
  297. package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +2 -2
  298. package/src/duckdb/src/include/duckdb/storage/table/table_statistics.hpp +4 -7
  299. package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +27 -29
  300. package/src/duckdb/src/include/duckdb/verification/statement_verifier.hpp +0 -2
  301. package/src/duckdb/src/main/client_context.cpp +0 -6
  302. package/src/duckdb/src/main/client_verify.cpp +0 -2
  303. package/src/duckdb/src/main/extension/extension_helper.cpp +1 -0
  304. package/src/duckdb/src/main/relation.cpp +15 -2
  305. package/src/duckdb/src/parser/column_definition.cpp +0 -25
  306. package/src/duckdb/src/parser/column_list.cpp +0 -13
  307. package/src/duckdb/src/parser/constraint.cpp +0 -33
  308. package/src/duckdb/src/parser/constraints/check_constraint.cpp +0 -11
  309. package/src/duckdb/src/parser/constraints/foreign_key_constraint.cpp +0 -27
  310. package/src/duckdb/src/parser/constraints/not_null_constraint.cpp +0 -11
  311. package/src/duckdb/src/parser/constraints/unique_constraint.cpp +0 -24
  312. package/src/duckdb/src/parser/expression/between_expression.cpp +2 -16
  313. package/src/duckdb/src/parser/expression/case_expression.cpp +2 -29
  314. package/src/duckdb/src/parser/expression/cast_expression.cpp +2 -16
  315. package/src/duckdb/src/parser/expression/collate_expression.cpp +2 -14
  316. package/src/duckdb/src/parser/expression/columnref_expression.cpp +2 -13
  317. package/src/duckdb/src/parser/expression/comparison_expression.cpp +2 -14
  318. package/src/duckdb/src/parser/expression/conjunction_expression.cpp +2 -13
  319. package/src/duckdb/src/parser/expression/constant_expression.cpp +2 -12
  320. package/src/duckdb/src/parser/expression/default_expression.cpp +2 -9
  321. package/src/duckdb/src/parser/expression/function_expression.cpp +2 -32
  322. package/src/duckdb/src/parser/expression/lambda_expression.cpp +2 -14
  323. package/src/duckdb/src/parser/expression/operator_expression.cpp +2 -13
  324. package/src/duckdb/src/parser/expression/parameter_expression.cpp +2 -13
  325. package/src/duckdb/src/parser/expression/positional_reference_expression.cpp +2 -12
  326. package/src/duckdb/src/parser/expression/star_expression.cpp +2 -43
  327. package/src/duckdb/src/parser/expression/subquery_expression.cpp +2 -28
  328. package/src/duckdb/src/parser/expression/window_expression.cpp +2 -53
  329. package/src/duckdb/src/parser/parsed_data/alter_info.cpp +0 -35
  330. package/src/duckdb/src/parser/parsed_data/alter_scalar_function_info.cpp +0 -18
  331. package/src/duckdb/src/parser/parsed_data/alter_table_function_info.cpp +0 -13
  332. package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +1 -189
  333. package/src/duckdb/src/parser/parsed_data/attach_info.cpp +0 -29
  334. package/src/duckdb/src/parser/parsed_data/create_collation_info.cpp +0 -4
  335. package/src/duckdb/src/parser/parsed_data/create_copy_function_info.cpp +0 -4
  336. package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +0 -48
  337. package/src/duckdb/src/parser/parsed_data/create_info.cpp +0 -47
  338. package/src/duckdb/src/parser/parsed_data/create_macro_info.cpp +1 -28
  339. package/src/duckdb/src/parser/parsed_data/create_sequence_info.cpp +0 -31
  340. package/src/duckdb/src/parser/parsed_data/create_table_info.cpp +0 -23
  341. package/src/duckdb/src/parser/parsed_data/create_type_info.cpp +0 -22
  342. package/src/duckdb/src/parser/parsed_data/create_view_info.cpp +0 -23
  343. package/src/duckdb/src/parser/parsed_data/detach_info.cpp +0 -19
  344. package/src/duckdb/src/parser/parsed_data/drop_info.cpp +0 -26
  345. package/src/duckdb/src/parser/parsed_data/sample_options.cpp +2 -25
  346. package/src/duckdb/src/parser/parsed_data/transaction_info.cpp +0 -16
  347. package/src/duckdb/src/parser/parsed_data/vacuum_info.cpp +0 -20
  348. package/src/duckdb/src/parser/parsed_expression.cpp +2 -79
  349. package/src/duckdb/src/parser/query_node/cte_node.cpp +2 -19
  350. package/src/duckdb/src/parser/query_node/recursive_cte_node.cpp +2 -21
  351. package/src/duckdb/src/parser/query_node/select_node.cpp +2 -47
  352. package/src/duckdb/src/parser/query_node/set_operation_node.cpp +2 -17
  353. package/src/duckdb/src/parser/query_node.cpp +2 -62
  354. package/src/duckdb/src/parser/result_modifier.cpp +2 -96
  355. package/src/duckdb/src/parser/statement/select_statement.cpp +2 -13
  356. package/src/duckdb/src/parser/tableref/basetableref.cpp +2 -21
  357. package/src/duckdb/src/parser/tableref/emptytableref.cpp +0 -9
  358. package/src/duckdb/src/parser/tableref/expressionlistref.cpp +2 -28
  359. package/src/duckdb/src/parser/tableref/joinref.cpp +2 -23
  360. package/src/duckdb/src/parser/tableref/pivotref.cpp +0 -61
  361. package/src/duckdb/src/parser/tableref/subqueryref.cpp +2 -15
  362. package/src/duckdb/src/parser/tableref/table_function.cpp +2 -17
  363. package/src/duckdb/src/parser/tableref.cpp +2 -52
  364. package/src/duckdb/src/planner/binder/expression/bind_subquery_expression.cpp +1 -4
  365. package/src/duckdb/src/planner/bound_result_modifier.cpp +0 -33
  366. package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +6 -30
  367. package/src/duckdb/src/planner/expression/bound_between_expression.cpp +0 -19
  368. package/src/duckdb/src/planner/expression/bound_case_expression.cpp +0 -36
  369. package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +0 -15
  370. package/src/duckdb/src/planner/expression/bound_columnref_expression.cpp +0 -20
  371. package/src/duckdb/src/planner/expression/bound_comparison_expression.cpp +0 -13
  372. package/src/duckdb/src/planner/expression/bound_conjunction_expression.cpp +0 -13
  373. package/src/duckdb/src/planner/expression/bound_constant_expression.cpp +0 -11
  374. package/src/duckdb/src/planner/expression/bound_expression.cpp +1 -5
  375. package/src/duckdb/src/planner/expression/bound_function_expression.cpp +8 -28
  376. package/src/duckdb/src/planner/expression/bound_lambda_expression.cpp +0 -4
  377. package/src/duckdb/src/planner/expression/bound_lambdaref_expression.cpp +0 -23
  378. package/src/duckdb/src/planner/expression/bound_operator_expression.cpp +0 -16
  379. package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +0 -18
  380. package/src/duckdb/src/planner/expression/bound_reference_expression.cpp +0 -16
  381. package/src/duckdb/src/planner/expression/bound_subquery_expression.cpp +0 -4
  382. package/src/duckdb/src/planner/expression/bound_unnest_expression.cpp +0 -15
  383. package/src/duckdb/src/planner/expression/bound_window_expression.cpp +7 -60
  384. package/src/duckdb/src/planner/expression.cpp +0 -74
  385. package/src/duckdb/src/planner/filter/conjunction_filter.cpp +0 -21
  386. package/src/duckdb/src/planner/filter/constant_filter.cpp +0 -12
  387. package/src/duckdb/src/planner/filter/null_filter.cpp +0 -14
  388. package/src/duckdb/src/planner/joinside.cpp +0 -24
  389. package/src/duckdb/src/planner/logical_operator.cpp +15 -215
  390. package/src/duckdb/src/planner/operator/logical_aggregate.cpp +0 -46
  391. package/src/duckdb/src/planner/operator/logical_any_join.cpp +0 -14
  392. package/src/duckdb/src/planner/operator/logical_column_data_get.cpp +0 -23
  393. package/src/duckdb/src/planner/operator/logical_comparison_join.cpp +0 -23
  394. package/src/duckdb/src/planner/operator/logical_copy_to_file.cpp +2 -56
  395. package/src/duckdb/src/planner/operator/logical_create.cpp +0 -12
  396. package/src/duckdb/src/planner/operator/logical_create_index.cpp +0 -25
  397. package/src/duckdb/src/planner/operator/logical_create_table.cpp +0 -10
  398. package/src/duckdb/src/planner/operator/logical_cross_product.cpp +0 -9
  399. package/src/duckdb/src/planner/operator/logical_cteref.cpp +0 -18
  400. package/src/duckdb/src/planner/operator/logical_delete.cpp +0 -22
  401. package/src/duckdb/src/planner/operator/logical_delim_get.cpp +0 -12
  402. package/src/duckdb/src/planner/operator/logical_dependent_join.cpp +0 -4
  403. package/src/duckdb/src/planner/operator/logical_distinct.cpp +0 -16
  404. package/src/duckdb/src/planner/operator/logical_dummy_scan.cpp +0 -10
  405. package/src/duckdb/src/planner/operator/logical_empty_result.cpp +0 -15
  406. package/src/duckdb/src/planner/operator/logical_expression_get.cpp +0 -24
  407. package/src/duckdb/src/planner/operator/logical_extension_operator.cpp +6 -19
  408. package/src/duckdb/src/planner/operator/logical_filter.cpp +0 -15
  409. package/src/duckdb/src/planner/operator/logical_get.cpp +12 -97
  410. package/src/duckdb/src/planner/operator/logical_insert.cpp +0 -77
  411. package/src/duckdb/src/planner/operator/logical_join.cpp +0 -17
  412. package/src/duckdb/src/planner/operator/logical_limit.cpp +0 -16
  413. package/src/duckdb/src/planner/operator/logical_limit_percent.cpp +0 -16
  414. package/src/duckdb/src/planner/operator/logical_materialized_cte.cpp +0 -13
  415. package/src/duckdb/src/planner/operator/logical_order.cpp +0 -15
  416. package/src/duckdb/src/planner/operator/logical_pivot.cpp +0 -20
  417. package/src/duckdb/src/planner/operator/logical_positional_join.cpp +0 -10
  418. package/src/duckdb/src/planner/operator/logical_pragma.cpp +0 -8
  419. package/src/duckdb/src/planner/operator/logical_prepare.cpp +0 -8
  420. package/src/duckdb/src/planner/operator/logical_projection.cpp +0 -12
  421. package/src/duckdb/src/planner/operator/logical_recursive_cte.cpp +0 -15
  422. package/src/duckdb/src/planner/operator/logical_reset.cpp +0 -12
  423. package/src/duckdb/src/planner/operator/logical_sample.cpp +0 -11
  424. package/src/duckdb/src/planner/operator/logical_set.cpp +0 -14
  425. package/src/duckdb/src/planner/operator/logical_set_operation.cpp +0 -13
  426. package/src/duckdb/src/planner/operator/logical_simple.cpp +0 -60
  427. package/src/duckdb/src/planner/operator/logical_top_n.cpp +0 -14
  428. package/src/duckdb/src/planner/operator/logical_unnest.cpp +0 -14
  429. package/src/duckdb/src/planner/operator/logical_update.cpp +0 -28
  430. package/src/duckdb/src/planner/operator/logical_window.cpp +0 -13
  431. package/src/duckdb/src/planner/planner.cpp +13 -22
  432. package/src/duckdb/src/planner/table_filter.cpp +0 -59
  433. package/src/duckdb/src/storage/checkpoint/row_group_writer.cpp +7 -17
  434. package/src/duckdb/src/storage/checkpoint/table_data_reader.cpp +7 -4
  435. package/src/duckdb/src/storage/checkpoint/table_data_writer.cpp +24 -22
  436. package/src/duckdb/src/storage/checkpoint_manager.cpp +203 -180
  437. package/src/duckdb/src/storage/data_table.cpp +2 -2
  438. package/src/duckdb/src/storage/metadata/metadata_manager.cpp +11 -9
  439. package/src/duckdb/src/storage/partial_block_manager.cpp +42 -15
  440. package/src/duckdb/src/storage/serialization/serialize_constraint.cpp +20 -20
  441. package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +46 -42
  442. package/src/duckdb/src/storage/serialization/serialize_expression.cpp +63 -63
  443. package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +167 -165
  444. package/src/duckdb/src/storage/serialization/serialize_macro_function.cpp +12 -12
  445. package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +54 -54
  446. package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +88 -88
  447. package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +72 -72
  448. package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +20 -20
  449. package/src/duckdb/src/storage/serialization/serialize_result_modifier.cpp +22 -22
  450. package/src/duckdb/src/storage/serialization/serialize_statement.cpp +4 -4
  451. package/src/duckdb/src/storage/serialization/serialize_storage.cpp +41 -6
  452. package/src/duckdb/src/storage/serialization/serialize_table_filter.cpp +24 -24
  453. package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +32 -32
  454. package/src/duckdb/src/storage/serialization/serialize_types.cpp +29 -29
  455. package/src/duckdb/src/storage/single_file_block_manager.cpp +17 -22
  456. package/src/duckdb/src/storage/statistics/base_statistics.cpp +31 -85
  457. package/src/duckdb/src/storage/statistics/column_statistics.cpp +6 -19
  458. package/src/duckdb/src/storage/statistics/distinct_statistics.cpp +0 -26
  459. package/src/duckdb/src/storage/statistics/list_stats.cpp +6 -22
  460. package/src/duckdb/src/storage/statistics/numeric_stats.cpp +20 -135
  461. package/src/duckdb/src/storage/statistics/string_stats.cpp +5 -28
  462. package/src/duckdb/src/storage/statistics/struct_stats.cpp +8 -30
  463. package/src/duckdb/src/storage/storage_info.cpp +1 -1
  464. package/src/duckdb/src/storage/table/chunk_info.cpp +9 -88
  465. package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +28 -34
  466. package/src/duckdb/src/storage/table/column_data.cpp +20 -25
  467. package/src/duckdb/src/storage/table/list_column_data.cpp +16 -9
  468. package/src/duckdb/src/storage/table/row_group.cpp +16 -92
  469. package/src/duckdb/src/storage/table/row_group_collection.cpp +5 -1
  470. package/src/duckdb/src/storage/table/standard_column_data.cpp +10 -7
  471. package/src/duckdb/src/storage/table/struct_column_data.cpp +17 -11
  472. package/src/duckdb/src/storage/table/table_statistics.cpp +13 -22
  473. package/src/duckdb/src/storage/wal_replay.cpp +108 -106
  474. package/src/duckdb/src/storage/write_ahead_log.cpp +135 -64
  475. package/src/duckdb/src/transaction/commit_state.cpp +22 -8
  476. package/src/duckdb/src/verification/deserialized_statement_verifier.cpp +11 -6
  477. package/src/duckdb/src/verification/statement_verifier.cpp +0 -5
  478. package/src/duckdb/third_party/parquet/parquet_types.h +1 -1
  479. package/src/duckdb/ub_src_common.cpp +0 -4
  480. package/src/duckdb/ub_src_common_serializer.cpp +2 -4
  481. package/src/duckdb/ub_src_planner.cpp +0 -2
  482. package/src/duckdb/ub_src_planner_expression.cpp +0 -2
  483. package/src/duckdb/ub_src_planner_operator.cpp +0 -8
  484. package/src/duckdb_node.cpp +6 -12
  485. package/src/duckdb_node.hpp +23 -13
  486. package/src/statement.cpp +15 -16
  487. package/test/database_fail.test.ts +20 -0
  488. package/test/worker.js +7 -0
  489. package/src/duckdb/src/common/field_writer.cpp +0 -97
  490. package/src/duckdb/src/common/serializer/buffered_deserializer.cpp +0 -27
  491. package/src/duckdb/src/common/serializer/buffered_serializer.cpp +0 -36
  492. package/src/duckdb/src/common/serializer.cpp +0 -24
  493. package/src/duckdb/src/include/duckdb/common/field_writer.hpp +0 -379
  494. package/src/duckdb/src/include/duckdb/common/serializer/buffered_deserializer.hpp +0 -41
  495. package/src/duckdb/src/include/duckdb/common/serializer/buffered_serializer.hpp +0 -50
  496. package/src/duckdb/src/include/duckdb/common/serializer.hpp +0 -151
  497. package/src/duckdb/src/include/duckdb/planner/plan_serialization.hpp +0 -44
  498. package/src/duckdb/src/include/duckdb/verification/deserialized_statement_verifier_v2.hpp +0 -32
  499. package/src/duckdb/src/planner/expression/bound_default_expression.cpp +0 -16
  500. package/src/duckdb/src/planner/operator/logical_execute.cpp +0 -12
  501. package/src/duckdb/src/planner/operator/logical_explain.cpp +0 -22
  502. package/src/duckdb/src/planner/operator/logical_export.cpp +0 -13
  503. package/src/duckdb/src/planner/operator/logical_show.cpp +0 -21
  504. package/src/duckdb/src/planner/parsed_data/bound_create_table_info.cpp +0 -22
  505. package/src/duckdb/src/planner/plan_serialization.cpp +0 -20
  506. package/src/duckdb/src/verification/deserialized_statement_verifier_v2.cpp +0 -34
  507. package/src/duckdb/ub_src_planner_parsed_data.cpp +0 -2
@@ -16,8 +16,6 @@
16
16
 
17
17
  namespace duckdb {
18
18
  class BaseStatistics;
19
- class FieldWriter;
20
- class FieldReader;
21
19
  struct SelectionVector;
22
20
  class Vector;
23
21
 
@@ -61,11 +59,8 @@ struct NumericStats {
61
59
 
62
60
  DUCKDB_API static void Merge(BaseStatistics &stats, const BaseStatistics &other_p);
63
61
 
64
- DUCKDB_API static void Serialize(const BaseStatistics &stats, FieldWriter &writer);
65
- DUCKDB_API static BaseStatistics Deserialize(FieldReader &reader, LogicalType type);
66
-
67
- DUCKDB_API static void FormatSerialize(const BaseStatistics &stats, FormatSerializer &serializer);
68
- DUCKDB_API static BaseStatistics FormatDeserialize(FormatDeserializer &deserializer, LogicalType type);
62
+ DUCKDB_API static void Serialize(const BaseStatistics &stats, Serializer &serializer);
63
+ DUCKDB_API static void Deserialize(Deserializer &deserializer, BaseStatistics &stats);
69
64
 
70
65
  DUCKDB_API static string ToString(const BaseStatistics &stats);
71
66
 
@@ -17,8 +17,6 @@
17
17
 
18
18
  namespace duckdb {
19
19
  class BaseStatistics;
20
- class FieldWriter;
21
- class FieldReader;
22
20
  struct SelectionVector;
23
21
  class Vector;
24
22
 
@@ -58,11 +56,8 @@ struct StringStats {
58
56
  //! FIXME: make this part of Set on statistics
59
57
  DUCKDB_API static void SetContainsUnicode(BaseStatistics &stats);
60
58
 
61
- DUCKDB_API static void Serialize(const BaseStatistics &stats, FieldWriter &writer);
62
- DUCKDB_API static BaseStatistics Deserialize(FieldReader &reader, LogicalType type);
63
-
64
- DUCKDB_API static void FormatSerialize(const BaseStatistics &stats, FormatSerializer &serializer);
65
- DUCKDB_API static BaseStatistics FormatDeserialize(FormatDeserializer &deserializer, LogicalType type);
59
+ DUCKDB_API static void Serialize(const BaseStatistics &stats, Serializer &serializer);
60
+ DUCKDB_API static void Deserialize(Deserializer &deserializer, BaseStatistics &base);
66
61
 
67
62
  DUCKDB_API static string ToString(const BaseStatistics &stats);
68
63
 
@@ -13,8 +13,6 @@
13
13
 
14
14
  namespace duckdb {
15
15
  class BaseStatistics;
16
- class FieldWriter;
17
- class FieldReader;
18
16
  struct SelectionVector;
19
17
  class Vector;
20
18
 
@@ -29,11 +27,8 @@ struct StructStats {
29
27
  DUCKDB_API static void SetChildStats(BaseStatistics &stats, idx_t i, const BaseStatistics &new_stats);
30
28
  DUCKDB_API static void SetChildStats(BaseStatistics &stats, idx_t i, unique_ptr<BaseStatistics> new_stats);
31
29
 
32
- DUCKDB_API static void Serialize(const BaseStatistics &stats, FieldWriter &writer);
33
- DUCKDB_API static BaseStatistics Deserialize(FieldReader &reader, LogicalType type);
34
-
35
- DUCKDB_API static void FormatSerialize(const BaseStatistics &stats, FormatSerializer &serializer);
36
- DUCKDB_API static BaseStatistics FormatDeserialize(FormatDeserializer &deserializer, LogicalType type);
30
+ DUCKDB_API static void Serialize(const BaseStatistics &stats, Serializer &serializer);
31
+ DUCKDB_API static void Deserialize(Deserializer &deserializer, BaseStatistics &base);
37
32
 
38
33
  DUCKDB_API static string ToString(const BaseStatistics &stats);
39
34
 
@@ -12,8 +12,6 @@
12
12
  #include "duckdb/common/vector_size.hpp"
13
13
 
14
14
  namespace duckdb {
15
- class Serializer;
16
- class Deserializer;
17
15
  struct FileHandle;
18
16
 
19
17
  #define STANDARD_ROW_GROUPS_SIZE 122880
@@ -53,8 +51,8 @@ struct MainHeader {
53
51
 
54
52
  static void CheckMagicBytes(FileHandle &handle);
55
53
 
56
- void Serialize(Serializer &ser);
57
- static MainHeader Deserialize(Deserializer &source);
54
+ void Write(WriteStream &ser);
55
+ static MainHeader Read(ReadStream &source);
58
56
  };
59
57
 
60
58
  //! The DatabaseHeader contains information about the current state of the database. Every storage file has two
@@ -72,8 +70,8 @@ struct DatabaseHeader {
72
70
  //! block_count any blocks appearing AFTER block_count are implicitly part of the free_list.
73
71
  uint64_t block_count;
74
72
 
75
- void Serialize(Serializer &ser);
76
- static DatabaseHeader Deserialize(Deserializer &source);
73
+ void Write(WriteStream &ser);
74
+ static DatabaseHeader Read(ReadStream &source);
77
75
  };
78
76
 
79
77
  } // namespace duckdb
@@ -18,8 +18,8 @@ struct SelectionVector;
18
18
  class Transaction;
19
19
  struct TransactionData;
20
20
 
21
- class FormatSerializer;
22
- class FormatDeserializer;
21
+ class Serializer;
22
+ class Deserializer;
23
23
 
24
24
  enum class ChunkInfoType : uint8_t { CONSTANT_INFO, VECTOR_INFO, EMPTY_INFO };
25
25
 
@@ -46,11 +46,8 @@ public:
46
46
  virtual void CommitAppend(transaction_t commit_id, idx_t start, idx_t end) = 0;
47
47
  virtual idx_t GetCommittedDeletedCount(idx_t max_count) = 0;
48
48
 
49
- virtual void Serialize(Serializer &serialize) = 0;
50
- static unique_ptr<ChunkInfo> Deserialize(Deserializer &source);
51
-
52
- virtual void FormatSerialize(FormatSerializer &serializer) const = 0;
53
- static unique_ptr<ChunkInfo> FormatDeserialize(FormatDeserializer &deserializer);
49
+ virtual void Serialize(Serializer &serializer) const = 0;
50
+ static unique_ptr<ChunkInfo> Deserialize(Deserializer &deserializer);
54
51
 
55
52
  public:
56
53
  template <class TARGET>
@@ -88,11 +85,8 @@ public:
88
85
  void CommitAppend(transaction_t commit_id, idx_t start, idx_t end) override;
89
86
  idx_t GetCommittedDeletedCount(idx_t max_count) override;
90
87
 
91
- void Serialize(Serializer &serialize) override;
92
- static unique_ptr<ChunkInfo> Deserialize(Deserializer &source);
93
-
94
- void FormatSerialize(FormatSerializer &serializer) const override;
95
- static unique_ptr<ChunkInfo> FormatDeserialize(FormatDeserializer &deserializer);
88
+ void Serialize(Serializer &serializer) const override;
89
+ static unique_ptr<ChunkInfo> Deserialize(Deserializer &deserializer);
96
90
 
97
91
  private:
98
92
  template <class OP>
@@ -136,11 +130,8 @@ public:
136
130
  idx_t Delete(transaction_t transaction_id, row_t rows[], idx_t count);
137
131
  void CommitDelete(transaction_t commit_id, row_t rows[], idx_t count);
138
132
 
139
- void Serialize(Serializer &serialize) override;
140
- static unique_ptr<ChunkInfo> Deserialize(Deserializer &source);
141
-
142
- void FormatSerialize(FormatSerializer &serializer) const override;
143
- static unique_ptr<ChunkInfo> FormatDeserialize(FormatDeserializer &deserializer);
133
+ void Serialize(Serializer &serializer) const override;
134
+ static unique_ptr<ChunkInfo> Deserialize(Deserializer &deserializer);
144
135
 
145
136
  private:
146
137
  template <class OP>
@@ -41,7 +41,7 @@ public:
41
41
  virtual unique_ptr<BaseStatistics> GetStatistics();
42
42
 
43
43
  virtual void FlushSegment(unique_ptr<ColumnSegment> segment, idx_t segment_size);
44
- virtual void WriteDataPointers(RowGroupWriter &writer);
44
+ virtual void WriteDataPointers(RowGroupWriter &writer, Serializer &serializer);
45
45
 
46
46
  public:
47
47
  template <class TARGET>
@@ -68,37 +68,22 @@ struct PartialBlockForCheckpoint : public PartialBlock {
68
68
  };
69
69
 
70
70
  public:
71
- PartialBlockForCheckpoint(ColumnData &data, ColumnSegment &segment, BlockManager &block_manager,
72
- PartialBlockState state);
71
+ PartialBlockForCheckpoint(ColumnData &data, ColumnSegment &segment, PartialBlockState state,
72
+ BlockManager &block_manager);
73
73
  ~PartialBlockForCheckpoint() override;
74
74
 
75
75
  // We will copy all segment data into the memory of the shared block.
76
76
  // Once the block is full (or checkpoint is complete) we'll invoke Flush().
77
77
  // This will cause the block to get written to storage (via BlockManger::ConvertToPersistent),
78
78
  // and all segments to have their references updated (via ColumnSegment::ConvertToPersistent)
79
- BlockManager &block_manager;
80
- shared_ptr<BlockHandle> block;
81
79
  vector<PartialColumnSegment> segments;
82
80
 
83
- private:
84
- struct UninitializedRegion {
85
- idx_t start;
86
- idx_t end;
87
- };
88
- vector<UninitializedRegion> uninitialized_regions;
89
-
90
81
  public:
91
82
  bool IsFlushed();
92
-
93
- void AddUninitializedRegion(idx_t start, idx_t end) override;
94
-
95
- void Flush(idx_t free_space_left) override;
96
-
97
- void Clear() override;
98
-
83
+ void Flush(const idx_t free_space_left) override;
99
84
  void Merge(PartialBlock &other, idx_t offset, idx_t other_size) override;
100
-
101
85
  void AddSegmentToTail(ColumnData &data, ColumnSegment &segment, uint32_t offset_in_block);
86
+ void Clear() override;
102
87
  };
103
88
 
104
89
  } // namespace duckdb
@@ -125,9 +125,9 @@ public:
125
125
  virtual void CheckpointScan(ColumnSegment &segment, ColumnScanState &state, idx_t row_group_start, idx_t count,
126
126
  Vector &scan_vector);
127
127
 
128
- virtual void DeserializeColumn(Deserializer &source);
128
+ virtual void DeserializeColumn(Deserializer &deserializer);
129
129
  static shared_ptr<ColumnData> Deserialize(BlockManager &block_manager, DataTableInfo &info, idx_t column_index,
130
- idx_t start_row, Deserializer &source, const LogicalType &type,
130
+ idx_t start_row, ReadStream &source, const LogicalType &type,
131
131
  optional_ptr<ColumnData> parent);
132
132
 
133
133
  virtual void GetColumnSegmentInfo(idx_t row_group_index, vector<idx_t> col_path, vector<ColumnSegmentInfo> &result);
@@ -56,7 +56,7 @@ public:
56
56
  unique_ptr<ColumnCheckpointState> Checkpoint(RowGroup &row_group, PartialBlockManager &partial_block_manager,
57
57
  ColumnCheckpointInfo &checkpoint_info) override;
58
58
 
59
- void DeserializeColumn(Deserializer &source) override;
59
+ void DeserializeColumn(Deserializer &deserializer) override;
60
60
 
61
61
  void GetColumnSegmentInfo(duckdb::idx_t row_group_index, vector<duckdb::idx_t> col_path,
62
62
  vector<duckdb::ColumnSegmentInfo> &result) override;
@@ -124,8 +124,6 @@ public:
124
124
  RowGroupWriteData WriteToDisk(PartialBlockManager &manager, const vector<CompressionType> &compression_types);
125
125
  bool AllDeleted();
126
126
  RowGroupPointer Checkpoint(RowGroupWriter &writer, TableStatistics &global_stats);
127
- static void Serialize(RowGroupPointer &pointer, Serializer &serializer);
128
- static RowGroupPointer Deserialize(Deserializer &source, const vector<LogicalType> &columns);
129
127
 
130
128
  void InitializeAppend(RowGroupAppendState &append_state);
131
129
  void Append(RowGroupAppendState &append_state, DataChunk &chunk, idx_t append_count);
@@ -148,8 +146,8 @@ public:
148
146
  void NextVector(CollectionScanState &state);
149
147
 
150
148
  // Serialization
151
- static void FormatSerialize(RowGroupPointer &pointer, FormatSerializer &serializer);
152
- static RowGroupPointer FormatDeserialize(FormatDeserializer &deserializer);
149
+ static void Serialize(RowGroupPointer &pointer, Serializer &serializer);
150
+ static RowGroupPointer Deserialize(Deserializer &deserializer);
153
151
 
154
152
  private:
155
153
  ChunkInfo *GetChunkInfo(idx_t vector_idx);
@@ -160,9 +158,6 @@ private:
160
158
  template <TableScanType TYPE>
161
159
  void TemplatedScan(TransactionData transaction, CollectionScanState &state, DataChunk &result);
162
160
 
163
- static void CheckpointDeletes(VersionNode *versions, Serializer &serializer);
164
- static shared_ptr<VersionNode> DeserializeDeletes(Deserializer &source);
165
-
166
161
  private:
167
162
  mutex row_group_lock;
168
163
  mutex stats_lock;
@@ -54,11 +54,11 @@ public:
54
54
  void CheckpointScan(ColumnSegment &segment, ColumnScanState &state, idx_t row_group_start, idx_t count,
55
55
  Vector &scan_vector) override;
56
56
 
57
- void DeserializeColumn(Deserializer &source) override;
58
-
59
57
  void GetColumnSegmentInfo(duckdb::idx_t row_group_index, vector<duckdb::idx_t> col_path,
60
58
  vector<duckdb::ColumnSegmentInfo> &result) override;
61
59
 
60
+ void DeserializeColumn(Deserializer &deserializer) override;
61
+
62
62
  void Verify(RowGroup &parent) override;
63
63
  };
64
64
 
@@ -16,8 +16,8 @@
16
16
  namespace duckdb {
17
17
  class ColumnList;
18
18
  class PersistentTableData;
19
- class FormatSerializer;
20
- class FormatDeserializer;
19
+ class Serializer;
20
+ class Deserializer;
21
21
 
22
22
  class TableStatisticsLock {
23
23
  public:
@@ -49,11 +49,8 @@ public:
49
49
 
50
50
  unique_ptr<TableStatisticsLock> GetLock();
51
51
 
52
- void Serialize(Serializer &serializer);
53
- void Deserialize(Deserializer &source, ColumnList &columns);
54
-
55
- void FormatSerialize(FormatSerializer &serializer);
56
- void FormatDeserialize(FormatDeserializer &deserializer, ColumnList &columns);
52
+ void Serialize(Serializer &serializer) const;
53
+ void Deserialize(Deserializer &deserializer, ColumnList &columns);
57
54
 
58
55
  private:
59
56
  //! The statistics lock
@@ -24,7 +24,6 @@ namespace duckdb {
24
24
  struct AlterInfo;
25
25
 
26
26
  class AttachedDatabase;
27
- class BufferedSerializer;
28
27
  class Catalog;
29
28
  class DatabaseInstance;
30
29
  class SchemaCatalogEntry;
@@ -38,53 +37,52 @@ class TransactionManager;
38
37
 
39
38
  class ReplayState {
40
39
  public:
41
- ReplayState(AttachedDatabase &db, ClientContext &context, Deserializer &source)
42
- : db(db), context(context), catalog(db.GetCatalog()), source(source), deserialize_only(false) {
40
+ ReplayState(AttachedDatabase &db, ClientContext &context)
41
+ : db(db), context(context), catalog(db.GetCatalog()), deserialize_only(false) {
43
42
  }
44
43
 
45
44
  AttachedDatabase &db;
46
45
  ClientContext &context;
47
46
  Catalog &catalog;
48
- Deserializer &source;
49
47
  optional_ptr<TableCatalogEntry> current_table;
50
48
  bool deserialize_only;
51
49
  MetaBlockPointer checkpoint_id;
52
50
 
53
51
  public:
54
- void ReplayEntry(WALType entry_type);
52
+ void ReplayEntry(WALType entry_type, BinaryDeserializer &deserializer);
55
53
 
56
54
  protected:
57
- virtual void ReplayCreateTable();
58
- void ReplayDropTable();
59
- void ReplayAlter();
55
+ virtual void ReplayCreateTable(BinaryDeserializer &deserializer);
56
+ void ReplayDropTable(BinaryDeserializer &deserializer);
57
+ void ReplayAlter(BinaryDeserializer &deserializer);
60
58
 
61
- void ReplayCreateView();
62
- void ReplayDropView();
59
+ void ReplayCreateView(BinaryDeserializer &deserializer);
60
+ void ReplayDropView(BinaryDeserializer &deserializer);
63
61
 
64
- void ReplayCreateSchema();
65
- void ReplayDropSchema();
62
+ void ReplayCreateSchema(BinaryDeserializer &deserializer);
63
+ void ReplayDropSchema(BinaryDeserializer &deserializer);
66
64
 
67
- void ReplayCreateType();
68
- void ReplayDropType();
65
+ void ReplayCreateType(BinaryDeserializer &deserializer);
66
+ void ReplayDropType(BinaryDeserializer &deserializer);
69
67
 
70
- void ReplayCreateSequence();
71
- void ReplayDropSequence();
72
- void ReplaySequenceValue();
68
+ void ReplayCreateSequence(BinaryDeserializer &deserializer);
69
+ void ReplayDropSequence(BinaryDeserializer &deserializer);
70
+ void ReplaySequenceValue(BinaryDeserializer &deserializer);
73
71
 
74
- void ReplayCreateMacro();
75
- void ReplayDropMacro();
72
+ void ReplayCreateMacro(BinaryDeserializer &deserializer);
73
+ void ReplayDropMacro(BinaryDeserializer &deserializer);
76
74
 
77
- void ReplayCreateTableMacro();
78
- void ReplayDropTableMacro();
75
+ void ReplayCreateTableMacro(BinaryDeserializer &deserializer);
76
+ void ReplayDropTableMacro(BinaryDeserializer &deserializer);
79
77
 
80
- void ReplayCreateIndex();
81
- void ReplayDropIndex();
78
+ void ReplayCreateIndex(BinaryDeserializer &deserializer);
79
+ void ReplayDropIndex(BinaryDeserializer &deserializer);
82
80
 
83
- void ReplayUseTable();
84
- void ReplayInsert();
85
- void ReplayDelete();
86
- void ReplayUpdate();
87
- void ReplayCheckpoint();
81
+ void ReplayUseTable(BinaryDeserializer &deserializer);
82
+ void ReplayInsert(BinaryDeserializer &deserializer);
83
+ void ReplayDelete(BinaryDeserializer &deserializer);
84
+ void ReplayUpdate(BinaryDeserializer &deserializer);
85
+ void ReplayCheckpoint(BinaryDeserializer &deserializer);
88
86
  };
89
87
 
90
88
  //! The WriteAheadLog (WAL) is a log that is used to provide durability. Prior
@@ -136,7 +134,7 @@ public:
136
134
  //! Sets the table used for subsequent insert/delete/update commands
137
135
  void WriteSetTable(string &schema, string &table);
138
136
 
139
- void WriteAlter(data_ptr_t ptr, idx_t data_size);
137
+ void WriteAlter(const AlterInfo &info);
140
138
 
141
139
  void WriteInsert(DataChunk &chunk);
142
140
  void WriteDelete(DataChunk &chunk);
@@ -18,8 +18,6 @@ enum class VerificationType : uint8_t {
18
18
  ORIGINAL,
19
19
  COPIED,
20
20
  DESERIALIZED,
21
- DESERIALIZED_V2,
22
- DESERIALIZED_V2_NO_DEFAULT,
23
21
  PARSED,
24
22
  UNOPTIMIZED,
25
23
  NO_OPERATOR_CACHING,
@@ -7,9 +7,7 @@
7
7
  #include "duckdb/common/http_state.hpp"
8
8
  #include "duckdb/common/preserved_error.hpp"
9
9
  #include "duckdb/common/progress_bar/progress_bar.hpp"
10
- #include "duckdb/common/serializer/buffered_deserializer.hpp"
11
10
  #include "duckdb/common/serializer/buffered_file_writer.hpp"
12
- #include "duckdb/common/serializer/buffered_serializer.hpp"
13
11
  #include "duckdb/common/types/column/column_data_collection.hpp"
14
12
  #include "duckdb/execution/column_binding_resolver.hpp"
15
13
  #include "duckdb/execution/operator/helper/physical_result_collector.hpp"
@@ -27,11 +25,9 @@
27
25
  #include "duckdb/main/relation.hpp"
28
26
  #include "duckdb/main/stream_query_result.hpp"
29
27
  #include "duckdb/optimizer/optimizer.hpp"
30
- #include "duckdb/parallel/task_scheduler.hpp"
31
28
  #include "duckdb/parser/expression/constant_expression.hpp"
32
29
  #include "duckdb/parser/expression/parameter_expression.hpp"
33
30
  #include "duckdb/parser/parsed_data/create_function_info.hpp"
34
- #include "duckdb/parser/parsed_expression_iterator.hpp"
35
31
  #include "duckdb/parser/parser.hpp"
36
32
  #include "duckdb/parser/query_node/select_node.hpp"
37
33
  #include "duckdb/parser/statement/drop_statement.hpp"
@@ -43,9 +39,7 @@
43
39
  #include "duckdb/planner/operator/logical_execute.hpp"
44
40
  #include "duckdb/planner/planner.hpp"
45
41
  #include "duckdb/planner/pragma_handler.hpp"
46
- #include "duckdb/storage/data_table.hpp"
47
42
  #include "duckdb/transaction/meta_transaction.hpp"
48
- #include "duckdb/transaction/transaction.hpp"
49
43
  #include "duckdb/transaction/transaction_manager.hpp"
50
44
 
51
45
  namespace duckdb {
@@ -40,8 +40,6 @@ PreservedError ClientContext::VerifyQuery(ClientContextLock &lock, const string
40
40
  if (config.query_verification_enabled) {
41
41
  statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::COPIED, stmt));
42
42
  statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::DESERIALIZED, stmt));
43
- statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::DESERIALIZED_V2, stmt));
44
- statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::DESERIALIZED_V2_NO_DEFAULT, stmt));
45
43
  statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::UNOPTIMIZED, stmt));
46
44
  prepared_statement_verifier = StatementVerifier::Create(VerificationType::PREPARED, stmt);
47
45
  #ifdef DUCKDB_DEBUG_ASYNC_SINK_SOURCE
@@ -118,6 +118,7 @@ static DefaultExtension internal_extensions[] = {
118
118
  {"spatial", "Geospatial extension that adds support for working with spatial data and functions", false},
119
119
  {"substrait", "Adds support for the Substrait integration", false},
120
120
  {"aws", "Provides features that depend on the AWS SDK", false},
121
+ {"arrow", "A zero-copy data integration between Apache Arrow and DuckDB", false},
121
122
  {"azure", "Adds a filesystem abstraction for Azure blob storage to DuckDB", false},
122
123
  {"iceberg", "Adds support for Apache Iceberg", false},
123
124
  {"visualizer", "Creates an HTML-based visualization of the query plan", false},
@@ -47,6 +47,11 @@ shared_ptr<Relation> Relation::Project(const vector<string> &expressions) {
47
47
  return Project(expressions, aliases);
48
48
  }
49
49
 
50
+ shared_ptr<Relation> Relation::Project(vector<unique_ptr<ParsedExpression>> expressions,
51
+ const vector<string> &aliases) {
52
+ return make_shared<ProjectionRelation>(shared_from_this(), std::move(expressions), aliases);
53
+ }
54
+
50
55
  static vector<unique_ptr<ParsedExpression>> StringListToExpressionList(ClientContext &context,
51
56
  const vector<string> &expressions) {
52
57
  if (expressions.empty()) {
@@ -73,7 +78,11 @@ shared_ptr<Relation> Relation::Filter(const string &expression) {
73
78
  if (expression_list.size() != 1) {
74
79
  throw ParserException("Expected a single expression as filter condition");
75
80
  }
76
- return make_shared<FilterRelation>(shared_from_this(), std::move(expression_list[0]));
81
+ return Filter(std::move(expression_list[0]));
82
+ }
83
+
84
+ shared_ptr<Relation> Relation::Filter(unique_ptr<ParsedExpression> expression) {
85
+ return make_shared<FilterRelation>(shared_from_this(), std::move(expression));
77
86
  }
78
87
 
79
88
  shared_ptr<Relation> Relation::Filter(const vector<string> &expressions) {
@@ -95,6 +104,10 @@ shared_ptr<Relation> Relation::Limit(int64_t limit, int64_t offset) {
95
104
 
96
105
  shared_ptr<Relation> Relation::Order(const string &expression) {
97
106
  auto order_list = Parser::ParseOrderList(expression, context.GetContext()->GetParserOptions());
107
+ return Order(std::move(order_list));
108
+ }
109
+
110
+ shared_ptr<Relation> Relation::Order(vector<OrderByNode> order_list) {
98
111
  return make_shared<OrderRelation>(shared_from_this(), std::move(order_list));
99
112
  }
100
113
 
@@ -110,7 +123,7 @@ shared_ptr<Relation> Relation::Order(const vector<string> &expressions) {
110
123
  }
111
124
  order_list.push_back(std::move(inner_list[0]));
112
125
  }
113
- return make_shared<OrderRelation>(shared_from_this(), std::move(order_list));
126
+ return Order(std::move(order_list));
114
127
  }
115
128
 
116
129
  shared_ptr<Relation> Relation::Join(const shared_ptr<Relation> &other, const string &condition, JoinType type,
@@ -1,5 +1,4 @@
1
1
  #include "duckdb/parser/column_definition.hpp"
2
- #include "duckdb/common/field_writer.hpp"
3
2
  #include "duckdb/parser/parsed_expression_iterator.hpp"
4
3
  #include "duckdb/parser/expression/columnref_expression.hpp"
5
4
  #include "duckdb/parser/parsed_data/alter_table_info.hpp"
@@ -26,30 +25,6 @@ ColumnDefinition ColumnDefinition::Copy() const {
26
25
  return copy;
27
26
  }
28
27
 
29
- void ColumnDefinition::Serialize(Serializer &serializer) const {
30
- FieldWriter writer(serializer);
31
- writer.WriteString(name);
32
- writer.WriteSerializable(type);
33
- writer.WriteOptional(expression);
34
- writer.WriteField<TableColumnType>(category);
35
- writer.WriteField<duckdb::CompressionType>(compression_type);
36
- writer.Finalize();
37
- }
38
-
39
- ColumnDefinition ColumnDefinition::Deserialize(Deserializer &source) {
40
- FieldReader reader(source);
41
- auto column_name = reader.ReadRequired<string>();
42
- auto column_type = reader.ReadRequiredSerializable<LogicalType, LogicalType>();
43
- auto expression = reader.ReadOptional<ParsedExpression>(nullptr);
44
- auto category = reader.ReadField<TableColumnType>(TableColumnType::STANDARD);
45
- auto compression_type = reader.ReadField<duckdb::CompressionType>(duckdb::CompressionType::COMPRESSION_AUTO);
46
- reader.Finalize();
47
-
48
- ColumnDefinition result(column_name, column_type, std::move(expression), category);
49
- result.compression_type = compression_type;
50
- return result;
51
- }
52
-
53
28
  const unique_ptr<ParsedExpression> &ColumnDefinition::DefaultValue() const {
54
29
  if (Generated()) {
55
30
  throw InternalException("Calling DefaultValue() on a generated column");
@@ -158,19 +158,6 @@ ColumnList ColumnList::Copy() const {
158
158
  return result;
159
159
  }
160
160
 
161
- void ColumnList::Serialize(FieldWriter &writer) const {
162
- writer.WriteRegularSerializableList(columns);
163
- }
164
-
165
- ColumnList ColumnList::Deserialize(FieldReader &reader) {
166
- ColumnList result;
167
- auto columns = reader.ReadRequiredSerializableList<ColumnDefinition, ColumnDefinition>();
168
- for (auto &col : columns) {
169
- result.AddColumn(std::move(col));
170
- }
171
- return result;
172
- }
173
-
174
161
  ColumnList::ColumnListIterator ColumnList::Logical() const {
175
162
  return ColumnListIterator(*this, false);
176
163
  }
@@ -1,9 +1,7 @@
1
1
  #include "duckdb/parser/constraint.hpp"
2
2
 
3
3
  #include "duckdb/common/printer.hpp"
4
- #include "duckdb/common/serializer.hpp"
5
4
  #include "duckdb/parser/constraints/list.hpp"
6
- #include "duckdb/common/field_writer.hpp"
7
5
 
8
6
  namespace duckdb {
9
7
 
@@ -13,37 +11,6 @@ Constraint::Constraint(ConstraintType type) : type(type) {
13
11
  Constraint::~Constraint() {
14
12
  }
15
13
 
16
- void Constraint::Serialize(Serializer &serializer) const {
17
- FieldWriter writer(serializer);
18
- writer.WriteField<ConstraintType>(type);
19
- Serialize(writer);
20
- writer.Finalize();
21
- }
22
-
23
- unique_ptr<Constraint> Constraint::Deserialize(Deserializer &source) {
24
- FieldReader reader(source);
25
- auto type = reader.ReadRequired<ConstraintType>();
26
- unique_ptr<Constraint> result;
27
- switch (type) {
28
- case ConstraintType::NOT_NULL:
29
- result = NotNullConstraint::Deserialize(reader);
30
- break;
31
- case ConstraintType::CHECK:
32
- result = CheckConstraint::Deserialize(reader);
33
- break;
34
- case ConstraintType::UNIQUE:
35
- result = UniqueConstraint::Deserialize(reader);
36
- break;
37
- case ConstraintType::FOREIGN_KEY:
38
- result = ForeignKeyConstraint::Deserialize(reader);
39
- break;
40
- default:
41
- throw InternalException("Unrecognized constraint type for serialization");
42
- }
43
- reader.Finalize();
44
- return result;
45
- }
46
-
47
14
  void Constraint::Print() const {
48
15
  Printer::Print(ToString());
49
16
  }
@@ -1,7 +1,5 @@
1
1
  #include "duckdb/parser/constraints/check_constraint.hpp"
2
2
 
3
- #include "duckdb/common/field_writer.hpp"
4
-
5
3
  namespace duckdb {
6
4
 
7
5
  CheckConstraint::CheckConstraint(unique_ptr<ParsedExpression> expression)
@@ -16,13 +14,4 @@ unique_ptr<Constraint> CheckConstraint::Copy() const {
16
14
  return make_uniq<CheckConstraint>(expression->Copy());
17
15
  }
18
16
 
19
- void CheckConstraint::Serialize(FieldWriter &writer) const {
20
- writer.WriteSerializable(*expression);
21
- }
22
-
23
- unique_ptr<Constraint> CheckConstraint::Deserialize(FieldReader &source) {
24
- auto expression = source.ReadRequiredSerializable<ParsedExpression>();
25
- return make_uniq<CheckConstraint>(std::move(expression));
26
- }
27
-
28
17
  } // namespace duckdb