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
@@ -12,7 +12,6 @@
12
12
  #include "duckdb/common/map.hpp"
13
13
  #include "duckdb/function/scalar/strftime_format.hpp"
14
14
  #include "duckdb/common/types/value.hpp"
15
- #include "duckdb/common/field_writer.hpp"
16
15
  #include "duckdb/common/case_insensitive_map.hpp"
17
16
  #include "duckdb/common/types.hpp"
18
17
  #include "duckdb/common/multi_file_reader_options.hpp"
@@ -45,9 +44,6 @@ struct CSVStateMachineOptions {
45
44
  bool operator==(const CSVStateMachineOptions &other) const {
46
45
  return delimiter == other.delimiter && quote == other.quote && escape == other.escape;
47
46
  }
48
-
49
- void Serialize(FieldWriter &writer) const;
50
- void Deserialize(FieldReader &reader);
51
47
  };
52
48
 
53
49
  struct DialectOptions {
@@ -66,9 +62,6 @@ struct DialectOptions {
66
62
  idx_t skip_rows = 0;
67
63
  //! True start of the first CSV Buffer (After skipping empty lines, headers, notes and so on)
68
64
  idx_t true_start = 0;
69
-
70
- void Serialize(FieldWriter &writer) const;
71
- void Deserialize(FieldReader &reader);
72
65
  };
73
66
 
74
67
  struct CSVReaderOptions {
@@ -169,10 +162,8 @@ struct CSVReaderOptions {
169
162
  //! The date format to use for writing (if any is specified)
170
163
  map<LogicalTypeId, StrfTimeFormat> write_date_format = {{LogicalTypeId::DATE, {}}, {LogicalTypeId::TIMESTAMP, {}}};
171
164
 
172
- void Serialize(FieldWriter &writer) const;
173
- void Deserialize(FieldReader &reader);
174
- void FormatSerialize(FormatSerializer &serializer) const;
175
- static CSVReaderOptions FormatDeserialize(FormatDeserializer &deserializer);
165
+ void Serialize(Serializer &serializer) const;
166
+ static CSVReaderOptions Deserialize(Deserializer &deserializer);
176
167
 
177
168
  void SetCompression(const string &compression);
178
169
  void SetHeader(bool has_header);
@@ -46,15 +46,9 @@ typedef void (*aggregate_window_t)(Vector inputs[], const ValidityMask &filter_m
46
46
  const FrameBounds &frame, const FrameBounds &prev, Vector &result, idx_t rid,
47
47
  idx_t bias);
48
48
 
49
- typedef void (*aggregate_serialize_t)(FieldWriter &writer, const FunctionData *bind_data,
49
+ typedef void (*aggregate_serialize_t)(Serializer &serializer, const optional_ptr<FunctionData> bind_data,
50
50
  const AggregateFunction &function);
51
- typedef unique_ptr<FunctionData> (*aggregate_deserialize_t)(PlanDeserializationState &context, FieldReader &reader,
52
- AggregateFunction &function);
53
-
54
- typedef void (*aggregate_format_serialize_t)(FormatSerializer &serializer, const optional_ptr<FunctionData> bind_data,
55
- const AggregateFunction &function);
56
- typedef unique_ptr<FunctionData> (*aggregate_format_deserialize_t)(FormatDeserializer &deserializer,
57
- AggregateFunction &function);
51
+ typedef unique_ptr<FunctionData> (*aggregate_deserialize_t)(Deserializer &deserializer, AggregateFunction &function);
58
52
 
59
53
  class AggregateFunction : public BaseScalarFunction {
60
54
  public:
@@ -70,8 +64,7 @@ public:
70
64
  LogicalType(LogicalTypeId::INVALID), null_handling),
71
65
  state_size(state_size), initialize(initialize), update(update), combine(combine), finalize(finalize),
72
66
  simple_update(simple_update), window(window), bind(bind), destructor(destructor), statistics(statistics),
73
- serialize(serialize), deserialize(deserialize), format_serialize(nullptr), format_deserialize(nullptr),
74
- order_dependent(AggregateOrderDependent::ORDER_DEPENDENT) {
67
+ serialize(serialize), deserialize(deserialize), order_dependent(AggregateOrderDependent::ORDER_DEPENDENT) {
75
68
  }
76
69
 
77
70
  AggregateFunction(const string &name, const vector<LogicalType> &arguments, const LogicalType &return_type,
@@ -85,8 +78,7 @@ public:
85
78
  LogicalType(LogicalTypeId::INVALID)),
86
79
  state_size(state_size), initialize(initialize), update(update), combine(combine), finalize(finalize),
87
80
  simple_update(simple_update), window(window), bind(bind), destructor(destructor), statistics(statistics),
88
- serialize(serialize), deserialize(deserialize), format_serialize(nullptr), format_deserialize(nullptr),
89
- order_dependent(AggregateOrderDependent::ORDER_DEPENDENT) {
81
+ serialize(serialize), deserialize(deserialize), order_dependent(AggregateOrderDependent::ORDER_DEPENDENT) {
90
82
  }
91
83
 
92
84
  AggregateFunction(const vector<LogicalType> &arguments, const LogicalType &return_type, aggregate_size_t state_size,
@@ -137,8 +129,6 @@ public:
137
129
 
138
130
  aggregate_serialize_t serialize;
139
131
  aggregate_deserialize_t deserialize;
140
- aggregate_format_serialize_t format_serialize;
141
- aggregate_format_deserialize_t format_deserialize;
142
132
  //! Whether or not the aggregate is order dependent
143
133
  AggregateOrderDependent order_dependent;
144
134
 
@@ -82,10 +82,10 @@ typedef void (*copy_to_combine_t)(ExecutionContext &context, FunctionData &bind_
82
82
  LocalFunctionData &lstate);
83
83
  typedef void (*copy_to_finalize_t)(ClientContext &context, FunctionData &bind_data, GlobalFunctionData &gstate);
84
84
 
85
- typedef void (*copy_to_serialize_t)(FieldWriter &writer, const FunctionData &bind_data, const CopyFunction &function);
85
+ typedef void (*copy_to_serialize_t)(Serializer &serializer, const FunctionData &bind_data,
86
+ const CopyFunction &function);
86
87
 
87
- typedef unique_ptr<FunctionData> (*copy_to_deserialize_t)(ClientContext &context, FieldReader &reader,
88
- CopyFunction &function);
88
+ typedef unique_ptr<FunctionData> (*copy_to_deserialize_t)(Deserializer &deserializer, CopyFunction &function);
89
89
 
90
90
  typedef unique_ptr<FunctionData> (*copy_from_bind_t)(ClientContext &context, CopyInfo &info,
91
91
  vector<string> &expected_names,
@@ -8,111 +8,27 @@
8
8
 
9
9
  #pragma once
10
10
 
11
- #include "duckdb/common/field_writer.hpp"
12
11
  #include "duckdb/main/client_context.hpp"
13
12
  #include "duckdb/catalog/catalog_entry/table_function_catalog_entry.hpp"
14
- #include "duckdb/common/serializer/format_serializer.hpp"
15
- #include "duckdb/common/serializer/format_deserializer.hpp"
13
+ #include "duckdb/common/serializer/serializer.hpp"
14
+ #include "duckdb/common/serializer/deserializer.hpp"
16
15
 
17
16
  namespace duckdb {
18
17
 
19
18
  class FunctionSerializer {
20
19
  public:
21
20
  template <class FUNC>
22
- static void SerializeBase(FieldWriter &writer, const FUNC &function, FunctionData *bind_info) {
23
- D_ASSERT(!function.name.empty());
24
- writer.WriteString(function.name);
25
- writer.WriteRegularSerializableList(function.arguments);
26
- writer.WriteRegularSerializableList(function.original_arguments);
27
- bool serialize = function.serialize;
28
- writer.WriteField(serialize);
29
- if (serialize) {
30
- function.serialize(writer, bind_info, function);
31
- // First check if serialize throws a NotImplementedException, in which case it doesn't require a deserialize
32
- // function
33
- D_ASSERT(function.deserialize);
34
- }
35
- }
36
-
37
- template <class FUNC>
38
- static void Serialize(FieldWriter &writer, const FUNC &function, const LogicalType &return_type,
39
- const vector<unique_ptr<Expression>> &children, FunctionData *bind_info) {
40
- SerializeBase(writer, function, bind_info);
41
- writer.WriteSerializable(return_type);
42
- writer.WriteSerializableList(children);
43
- }
44
-
45
- template <class FUNC, class CATALOG_ENTRY>
46
- static FUNC DeserializeBaseInternal(FieldReader &reader, PlanDeserializationState &state, CatalogType type,
47
- unique_ptr<FunctionData> &bind_info, bool &has_deserialize) {
48
- auto &context = state.context;
49
- auto name = reader.ReadRequired<string>();
50
- auto arguments = reader.ReadRequiredSerializableList<LogicalType, LogicalType>();
51
- // note: original_arguments are optional (can be list of size 0)
52
- auto original_arguments = reader.ReadRequiredSerializableList<LogicalType, LogicalType>();
53
-
54
- auto &func_catalog = Catalog::GetEntry(context, type, SYSTEM_CATALOG, DEFAULT_SCHEMA, name);
55
- if (func_catalog.type != type) {
56
- throw InternalException("Cant find catalog entry for function %s", name);
57
- }
58
-
59
- auto &functions = func_catalog.Cast<CATALOG_ENTRY>();
60
- auto function = functions.functions.GetFunctionByArguments(
61
- state.context, original_arguments.empty() ? arguments : original_arguments);
62
- function.arguments = std::move(arguments);
63
- function.original_arguments = std::move(original_arguments);
64
-
65
- has_deserialize = reader.ReadRequired<bool>();
66
- if (has_deserialize) {
67
- if (!function.deserialize) {
68
- throw SerializationException("Function requires deserialization but no deserialization function for %s",
69
- function.name);
70
- }
71
- bind_info = function.deserialize(state, reader, function);
72
- } else {
73
- D_ASSERT(!function.serialize);
74
- D_ASSERT(!function.deserialize);
75
- }
76
- return function;
77
- }
78
- template <class FUNC, class CATALOG_ENTRY>
79
- static FUNC DeserializeBase(FieldReader &reader, PlanDeserializationState &state, CatalogType type,
80
- unique_ptr<FunctionData> &bind_info) {
81
- bool has_deserialize;
82
- return DeserializeBaseInternal<FUNC, CATALOG_ENTRY>(reader, state, type, bind_info, has_deserialize);
83
- }
84
-
85
- template <class FUNC, class CATALOG_ENTRY>
86
- static FUNC Deserialize(FieldReader &reader, ExpressionDeserializationState &state, CatalogType type,
87
- vector<unique_ptr<Expression>> &children, unique_ptr<FunctionData> &bind_info) {
88
- bool has_deserialize;
89
- auto function =
90
- DeserializeBaseInternal<FUNC, CATALOG_ENTRY>(reader, state.gstate, type, bind_info, has_deserialize);
91
- auto return_type = reader.ReadRequiredSerializable<LogicalType, LogicalType>();
92
- children = reader.ReadRequiredSerializableList<Expression>(state.gstate);
93
-
94
- // we re-bind the function only if the function did not have an explicit deserialize method
95
- auto &context = state.gstate.context;
96
- if (!has_deserialize && function.bind) {
97
- bind_info = function.bind(context, function, children);
98
- }
99
- function.return_type = return_type;
100
- return function;
101
- }
102
-
103
- template <class FUNC>
104
- static void FormatSerialize(FormatSerializer &serializer, const FUNC &function,
105
- optional_ptr<FunctionData> bind_info) {
21
+ static void Serialize(Serializer &serializer, const FUNC &function, optional_ptr<FunctionData> bind_info) {
106
22
  D_ASSERT(!function.name.empty());
107
23
  serializer.WriteProperty(500, "name", function.name);
108
24
  serializer.WriteProperty(501, "arguments", function.arguments);
109
25
  serializer.WriteProperty(502, "original_arguments", function.original_arguments);
110
- bool has_serialize = function.format_serialize;
26
+ bool has_serialize = function.serialize;
111
27
  serializer.WriteProperty(503, "has_serialize", has_serialize);
112
28
  if (has_serialize) {
113
29
  serializer.WriteObject(504, "function_data",
114
- [&](FormatSerializer &obj) { function.format_serialize(obj, bind_info, function); });
115
- D_ASSERT(function.format_deserialize);
30
+ [&](Serializer &obj) { function.serialize(obj, bind_info, function); });
31
+ D_ASSERT(function.deserialize);
116
32
  }
117
33
  }
118
34
 
@@ -132,7 +48,7 @@ public:
132
48
  }
133
49
 
134
50
  template <class FUNC, class CATALOG_ENTRY>
135
- static pair<FUNC, bool> FormatDeserializeBase(FormatDeserializer &deserializer, CatalogType catalog_type) {
51
+ static pair<FUNC, bool> DeserializeBase(Deserializer &deserializer, CatalogType catalog_type) {
136
52
  auto &context = deserializer.Get<ClientContext &>();
137
53
  auto name = deserializer.ReadProperty<string>(500, "name");
138
54
  auto arguments = deserializer.ReadProperty<vector<LogicalType>>(501, "arguments");
@@ -144,23 +60,23 @@ public:
144
60
  }
145
61
 
146
62
  template <class FUNC>
147
- static unique_ptr<FunctionData> FunctionDeserialize(FormatDeserializer &deserializer, FUNC &function) {
148
- if (!function.format_deserialize) {
63
+ static unique_ptr<FunctionData> FunctionDeserialize(Deserializer &deserializer, FUNC &function) {
64
+ if (!function.deserialize) {
149
65
  throw SerializationException("Function requires deserialization but no deserialization function for %s",
150
66
  function.name);
151
67
  }
152
68
  unique_ptr<FunctionData> result;
153
69
  deserializer.ReadObject(504, "function_data",
154
- [&](FormatDeserializer &obj) { result = function.format_deserialize(obj, function); });
70
+ [&](Deserializer &obj) { result = function.deserialize(obj, function); });
155
71
  return result;
156
72
  }
157
73
 
158
74
  template <class FUNC, class CATALOG_ENTRY>
159
- static pair<FUNC, unique_ptr<FunctionData>> FormatDeserialize(FormatDeserializer &deserializer,
160
- CatalogType catalog_type,
161
- vector<unique_ptr<Expression>> &children) {
75
+ static pair<FUNC, unique_ptr<FunctionData>> Deserialize(Deserializer &deserializer, CatalogType catalog_type,
76
+ vector<unique_ptr<Expression>> &children,
77
+ LogicalType return_type) {
162
78
  auto &context = deserializer.Get<ClientContext &>();
163
- auto entry = FormatDeserializeBase<FUNC, CATALOG_ENTRY>(deserializer, catalog_type);
79
+ auto entry = DeserializeBase<FUNC, CATALOG_ENTRY>(deserializer, catalog_type);
164
80
  auto &function = entry.first;
165
81
  auto has_serialize = entry.second;
166
82
 
@@ -175,6 +91,7 @@ public:
175
91
  throw SerializationException("Error during bind of function in deserialization: %s", ex.what());
176
92
  }
177
93
  }
94
+ function.return_type = std::move(return_type);
178
95
  return make_pair(std::move(function), std::move(bind_data));
179
96
  }
180
97
  };
@@ -45,15 +45,9 @@ public:
45
45
 
46
46
  virtual string ToSQL(const string &schema, const string &name) const;
47
47
 
48
- void Serialize(Serializer &serializer) const;
48
+ virtual void Serialize(Serializer &serializer) const;
49
49
  static unique_ptr<MacroFunction> Deserialize(Deserializer &deserializer);
50
50
 
51
- virtual void FormatSerialize(FormatSerializer &serializer) const;
52
- static unique_ptr<MacroFunction> FormatDeserialize(FormatDeserializer &deserializer);
53
-
54
- protected:
55
- virtual void SerializeInternal(FieldWriter &writer) const = 0;
56
-
57
51
  public:
58
52
  template <class TARGET>
59
53
  TARGET &Cast() {
@@ -12,9 +12,10 @@
12
12
  #include "duckdb/function/scalar_function.hpp"
13
13
  #include "duckdb/common/map.hpp"
14
14
  #include "duckdb/common/unordered_map.hpp"
15
- #include "duckdb/common/field_writer.hpp"
16
15
  #include "duckdb/function/built_in_functions.hpp"
17
16
  #include "duckdb/function/scalar/list/contains_or_position.hpp"
17
+ #include "duckdb/common/serializer/serializer.hpp"
18
+ #include "duckdb/common/serializer/deserializer.hpp"
18
19
 
19
20
  namespace duckdb {
20
21
 
@@ -58,19 +59,17 @@ struct VariableReturnBindData : public FunctionData {
58
59
  return make_uniq<VariableReturnBindData>(stype);
59
60
  }
60
61
  bool Equals(const FunctionData &other_p) const override {
61
- auto &other = (const VariableReturnBindData &)other_p;
62
+ auto &other = other_p.Cast<VariableReturnBindData>();
62
63
  return stype == other.stype;
63
64
  }
64
-
65
- static void Serialize(FieldWriter &writer, const FunctionData *bind_data_p, const ScalarFunction &function) {
66
- D_ASSERT(bind_data_p);
67
- auto &info = bind_data_p->Cast<VariableReturnBindData>();
68
- writer.WriteSerializable(info.stype);
65
+ static void Serialize(Serializer &serializer, const optional_ptr<FunctionData> bind_data,
66
+ const ScalarFunction &function) {
67
+ auto &info = bind_data->Cast<VariableReturnBindData>();
68
+ serializer.WriteProperty(100, "variable_return_type", info.stype);
69
69
  }
70
70
 
71
- static unique_ptr<FunctionData> Deserialize(PlanDeserializationState &context, FieldReader &reader,
72
- ScalarFunction &bound_function) {
73
- auto stype = reader.ReadRequiredSerializable<LogicalType, LogicalType>();
71
+ static unique_ptr<FunctionData> Deserialize(Deserializer &deserializer, ScalarFunction &bound_function) {
72
+ auto stype = deserializer.ReadProperty<LogicalType>(100, "variable_return_type");
74
73
  return make_uniq<VariableReturnBindData>(std::move(stype));
75
74
  }
76
75
  };
@@ -150,8 +150,8 @@ public:
150
150
  date_t ParseDate(string_t str);
151
151
  timestamp_t ParseTimestamp(string_t str);
152
152
 
153
- void FormatSerialize(FormatSerializer &serializer) const;
154
- static StrpTimeFormat FormatDeserialize(FormatDeserializer &deserializer);
153
+ void Serialize(Serializer &serializer) const;
154
+ static StrpTimeFormat Deserialize(Deserializer &deserializer);
155
155
 
156
156
  protected:
157
157
  static string FormatStrpTimeError(const string &input, idx_t position);
@@ -14,7 +14,6 @@
14
14
  #include "duckdb/common/vector_operations/vector_operations.hpp"
15
15
  #include "duckdb/execution/expression_executor_state.hpp"
16
16
  #include "duckdb/function/function.hpp"
17
- #include "duckdb/planner/plan_serialization.hpp"
18
17
  #include "duckdb/storage/statistics/base_statistics.hpp"
19
18
  #include "duckdb/common/optional_ptr.hpp"
20
19
 
@@ -64,15 +63,9 @@ typedef unique_ptr<BaseStatistics> (*function_statistics_t)(ClientContext &conte
64
63
  //! Adds the dependencies of this BoundFunctionExpression to the set of dependencies
65
64
  typedef void (*dependency_function_t)(BoundFunctionExpression &expr, DependencyList &dependencies);
66
65
 
67
- typedef void (*function_serialize_t)(FieldWriter &writer, const FunctionData *bind_data,
66
+ typedef void (*function_serialize_t)(Serializer &serializer, const optional_ptr<FunctionData> bind_data,
68
67
  const ScalarFunction &function);
69
- typedef unique_ptr<FunctionData> (*function_deserialize_t)(PlanDeserializationState &state, FieldReader &reader,
70
- ScalarFunction &function);
71
-
72
- typedef void (*function_format_serialize_t)(FormatSerializer &serializer, const optional_ptr<FunctionData> bind_data,
73
- const ScalarFunction &function);
74
- typedef unique_ptr<FunctionData> (*function_format_deserialize_t)(FormatDeserializer &deserializer,
75
- ScalarFunction &function);
68
+ typedef unique_ptr<FunctionData> (*function_deserialize_t)(Deserializer &deserializer, ScalarFunction &function);
76
69
 
77
70
  class ScalarFunction : public BaseScalarFunction {
78
71
  public:
@@ -105,9 +98,6 @@ public:
105
98
  function_serialize_t serialize;
106
99
  function_deserialize_t deserialize;
107
100
 
108
- function_format_serialize_t format_serialize;
109
- function_format_deserialize_t format_deserialize;
110
-
111
101
  DUCKDB_API bool operator==(const ScalarFunction &rhs) const;
112
102
  DUCKDB_API bool operator!=(const ScalarFunction &rhs) const;
113
103
 
@@ -34,13 +34,8 @@ public:
34
34
 
35
35
  string ToSQL(const string &schema, const string &name) const override;
36
36
 
37
- static unique_ptr<MacroFunction> Deserialize(FieldReader &reader);
38
-
39
- void FormatSerialize(FormatSerializer &serializer) const override;
40
- static unique_ptr<MacroFunction> FormatDeserialize(FormatDeserializer &deserializer);
41
-
42
- protected:
43
- void SerializeInternal(FieldWriter &writer) const override;
37
+ void Serialize(Serializer &serializer) const override;
38
+ static unique_ptr<MacroFunction> Deserialize(Deserializer &deserializer);
44
39
  };
45
40
 
46
41
  } // namespace duckdb
@@ -65,20 +65,8 @@ struct ColumnInfo {
65
65
  names = std::move(names_p);
66
66
  types = std::move(types_p);
67
67
  }
68
- void Serialize(FieldWriter &writer) const {
69
- writer.WriteList<string>(names);
70
- writer.WriteRegularSerializableList<LogicalType>(types);
71
- }
72
-
73
- static ColumnInfo Deserialize(FieldReader &reader) {
74
- ColumnInfo info;
75
- info.names = reader.ReadRequiredList<string>();
76
- info.types = reader.ReadRequiredSerializableList<LogicalType, LogicalType>();
77
- return info;
78
- }
79
-
80
- void FormatSerialize(FormatSerializer &serializer) const;
81
- static ColumnInfo FormatDeserialize(FormatDeserializer &deserializer);
68
+ void Serialize(Serializer &serializer) const;
69
+ static ColumnInfo Deserialize(Deserializer &deserializer);
82
70
 
83
71
  vector<std::string> names;
84
72
  vector<LogicalType> types;
@@ -115,8 +103,8 @@ struct ReadCSVData : public BaseCSVData {
115
103
  }
116
104
  void FinalizeRead(ClientContext &context);
117
105
 
118
- void FormatSerialize(FormatSerializer &serializer) const;
119
- static unique_ptr<ReadCSVData> FormatDeserialize(FormatDeserializer &deserializer);
106
+ void Serialize(Serializer &serializer) const;
107
+ static unique_ptr<ReadCSVData> Deserialize(Deserializer &deserializer);
120
108
  };
121
109
 
122
110
  struct CSVCopyFunction {
@@ -202,16 +202,9 @@ typedef void (*table_function_pushdown_complex_filter_t)(ClientContext &context,
202
202
  vector<unique_ptr<Expression>> &filters);
203
203
  typedef string (*table_function_to_string_t)(const FunctionData *bind_data);
204
204
 
205
- typedef void (*table_function_serialize_t)(FieldWriter &writer, const FunctionData *bind_data,
205
+ typedef void (*table_function_serialize_t)(Serializer &serializer, const optional_ptr<FunctionData> bind_data,
206
206
  const TableFunction &function);
207
- typedef unique_ptr<FunctionData> (*table_function_deserialize_t)(PlanDeserializationState &context, FieldReader &reader,
208
- TableFunction &function);
209
-
210
- typedef void (*table_function_format_serialize_t)(FormatSerializer &serializer,
211
- const optional_ptr<FunctionData> bind_data,
212
- const TableFunction &function);
213
- typedef unique_ptr<FunctionData> (*table_function_format_deserialize_t)(FormatDeserializer &deserializer,
214
- TableFunction &function);
207
+ typedef unique_ptr<FunctionData> (*table_function_deserialize_t)(Deserializer &deserializer, TableFunction &function);
215
208
 
216
209
  class TableFunction : public SimpleNamedParameterFunction {
217
210
  public:
@@ -271,8 +264,6 @@ public:
271
264
 
272
265
  table_function_serialize_t serialize;
273
266
  table_function_deserialize_t deserialize;
274
- table_function_format_serialize_t format_serialize;
275
- table_function_format_deserialize_t format_deserialize;
276
267
  bool verify_serialization = true;
277
268
 
278
269
  //! Whether or not the table function supports projection pushdown. If not supported a projection will be added
@@ -34,13 +34,8 @@ public:
34
34
 
35
35
  string ToSQL(const string &schema, const string &name) const override;
36
36
 
37
- static unique_ptr<MacroFunction> Deserialize(FieldReader &reader);
38
-
39
- void FormatSerialize(FormatSerializer &serializer) const override;
40
- static unique_ptr<MacroFunction> FormatDeserialize(FormatDeserializer &deserializer);
41
-
42
- protected:
43
- void SerializeInternal(FieldWriter &writer) const override;
37
+ void Serialize(Serializer &serializer) const override;
38
+ static unique_ptr<MacroFunction> Deserialize(Deserializer &deserializer);
44
39
  };
45
40
 
46
41
  } // namespace duckdb
@@ -19,8 +19,11 @@
19
19
  #include "duckdb/main/client_context.hpp"
20
20
  #include "duckdb/main/external_dependencies.hpp"
21
21
  #include "duckdb/parser/statement/explain_statement.hpp"
22
-
23
- #include <memory>
22
+ #include "duckdb/parser/parsed_expression.hpp"
23
+ #include "duckdb/parser/result_modifier.hpp"
24
+ #include "duckdb/common/unique_ptr.hpp"
25
+ #include "duckdb/common/vector.hpp"
26
+ #include "duckdb/common/helper.hpp"
24
27
 
25
28
  namespace duckdb {
26
29
  struct BoundStatement;
@@ -81,9 +84,12 @@ public:
81
84
  DUCKDB_API shared_ptr<Relation> Project(const string &select_list, const vector<string> &aliases);
82
85
  DUCKDB_API shared_ptr<Relation> Project(const vector<string> &expressions);
83
86
  DUCKDB_API shared_ptr<Relation> Project(const vector<string> &expressions, const vector<string> &aliases);
87
+ DUCKDB_API shared_ptr<Relation> Project(vector<unique_ptr<ParsedExpression>> expressions,
88
+ const vector<string> &aliases);
84
89
 
85
90
  // FILTER
86
91
  DUCKDB_API shared_ptr<Relation> Filter(const string &expression);
92
+ DUCKDB_API shared_ptr<Relation> Filter(unique_ptr<ParsedExpression> expression);
87
93
  DUCKDB_API shared_ptr<Relation> Filter(const vector<string> &expressions);
88
94
 
89
95
  // LIMIT
@@ -92,6 +98,7 @@ public:
92
98
  // ORDER
93
99
  DUCKDB_API shared_ptr<Relation> Order(const string &expression);
94
100
  DUCKDB_API shared_ptr<Relation> Order(const vector<string> &expressions);
101
+ DUCKDB_API shared_ptr<Relation> Order(vector<OrderByNode> expressions);
95
102
 
96
103
  // JOIN operation
97
104
  DUCKDB_API shared_ptr<Relation> Join(const shared_ptr<Relation> &other, const string &condition,
@@ -65,10 +65,7 @@ public:
65
65
  DUCKDB_API ColumnDefinition Copy() const;
66
66
 
67
67
  DUCKDB_API void Serialize(Serializer &serializer) const;
68
- DUCKDB_API static ColumnDefinition Deserialize(Deserializer &source);
69
-
70
- DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const;
71
- DUCKDB_API static ColumnDefinition FormatDeserialize(FormatDeserializer &deserializer);
68
+ DUCKDB_API static ColumnDefinition Deserialize(Deserializer &deserializer);
72
69
 
73
70
  //===--------------------------------------------------------------------===//
74
71
  // Generated Columns (VIRTUAL)
@@ -9,7 +9,6 @@
9
9
  #pragma once
10
10
 
11
11
  #include "duckdb/parser/column_definition.hpp"
12
- #include "duckdb/common/field_writer.hpp"
13
12
 
14
13
  namespace duckdb {
15
14
 
@@ -51,11 +50,8 @@ public:
51
50
  }
52
51
 
53
52
  ColumnList Copy() const;
54
- void Serialize(FieldWriter &writer) const;
55
- static ColumnList Deserialize(FieldReader &reader);
56
-
57
- void FormatSerialize(FormatSerializer &serializer) const;
58
- static ColumnList FormatDeserialize(FormatDeserializer &deserializer);
53
+ void Serialize(Serializer &serializer) const;
54
+ static ColumnList Deserialize(Deserializer &deserializer);
59
55
 
60
56
  DUCKDB_API ColumnListIterator Logical() const;
61
57
  DUCKDB_API ColumnListIterator Physical() const;
@@ -20,8 +20,8 @@ struct CommonTableExpressionInfo {
20
20
  unique_ptr<SelectStatement> query;
21
21
  CTEMaterialize materialized = CTEMaterialize::CTE_MATERIALIZE_DEFAULT;
22
22
 
23
- void FormatSerialize(FormatSerializer &serializer) const;
24
- static unique_ptr<CommonTableExpressionInfo> FormatDeserialize(FormatDeserializer &deserializer);
23
+ void Serialize(Serializer &serializer) const;
24
+ static unique_ptr<CommonTableExpressionInfo> Deserialize(Deserializer &deserializer);
25
25
  unique_ptr<CommonTableExpressionInfo> Copy();
26
26
  };
27
27
 
@@ -16,10 +16,6 @@ namespace duckdb {
16
16
 
17
17
  class Serializer;
18
18
  class Deserializer;
19
- class FormatSerializer;
20
- class FormatDeserializer;
21
- class FieldWriter;
22
- class FieldReader;
23
19
 
24
20
  //===--------------------------------------------------------------------===//
25
21
  // Constraint Types
@@ -63,15 +59,9 @@ public:
63
59
  DUCKDB_API void Print() const;
64
60
 
65
61
  DUCKDB_API virtual unique_ptr<Constraint> Copy() const = 0;
66
- //! Serializes a Constraint to a stand-alone binary blob
67
- DUCKDB_API void Serialize(Serializer &serializer) const;
68
- //! Serializes a Constraint to a stand-alone binary blob
69
- DUCKDB_API virtual void Serialize(FieldWriter &writer) const = 0;
70
- //! Deserializes a blob back into a Constraint
71
- DUCKDB_API static unique_ptr<Constraint> Deserialize(Deserializer &source);
72
62
 
73
- DUCKDB_API virtual void FormatSerialize(FormatSerializer &serializer) const;
74
- DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
63
+ DUCKDB_API virtual void Serialize(Serializer &serializer) const;
64
+ DUCKDB_API static unique_ptr<Constraint> Deserialize(Deserializer &deserializer);
75
65
 
76
66
  public:
77
67
  template <class TARGET>
@@ -30,11 +30,8 @@ public:
30
30
 
31
31
  DUCKDB_API unique_ptr<Constraint> Copy() const override;
32
32
 
33
- DUCKDB_API void Serialize(FieldWriter &writer) const override;
34
- DUCKDB_API static unique_ptr<Constraint> Deserialize(FieldReader &source);
35
-
36
- DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
37
- DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
33
+ DUCKDB_API void Serialize(Serializer &serializer) const override;
34
+ DUCKDB_API static unique_ptr<Constraint> Deserialize(Deserializer &deserializer);
38
35
  };
39
36
 
40
37
  } // namespace duckdb
@@ -31,13 +31,8 @@ public:
31
31
 
32
32
  DUCKDB_API unique_ptr<Constraint> Copy() const override;
33
33
 
34
- //! Serialize to a stand-alone binary blob
35
- DUCKDB_API void Serialize(FieldWriter &writer) const override;
36
- //! Deserializes a ParsedConstraint
37
- DUCKDB_API static unique_ptr<Constraint> Deserialize(FieldReader &source);
38
-
39
- DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
40
- DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
34
+ DUCKDB_API void Serialize(Serializer &serializer) const override;
35
+ DUCKDB_API static unique_ptr<Constraint> Deserialize(Deserializer &deserializer);
41
36
 
42
37
  private:
43
38
  ForeignKeyConstraint();
@@ -28,13 +28,8 @@ public:
28
28
 
29
29
  DUCKDB_API unique_ptr<Constraint> Copy() const override;
30
30
 
31
- //! Serialize to a stand-alone binary blob
32
- DUCKDB_API void Serialize(FieldWriter &writer) const override;
33
- //! Deserializes a NotNullConstraint
34
- DUCKDB_API static unique_ptr<Constraint> Deserialize(FieldReader &source);
35
-
36
- DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
37
- DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
31
+ DUCKDB_API void Serialize(Serializer &serializer) const override;
32
+ DUCKDB_API static unique_ptr<Constraint> Deserialize(Deserializer &deserializer);
38
33
  };
39
34
 
40
35
  } // namespace duckdb