duckdb 0.8.2-dev4142.0 → 0.8.2-dev4203.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 (491) 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/types/column/column_data_collection.cpp +4 -4
  49. package/src/duckdb/src/common/types/data_chunk.cpp +11 -43
  50. package/src/duckdb/src/common/types/hyperloglog.cpp +4 -23
  51. package/src/duckdb/src/common/types/interval.cpp +2 -2
  52. package/src/duckdb/src/common/types/value.cpp +10 -135
  53. package/src/duckdb/src/common/types/vector.cpp +17 -149
  54. package/src/duckdb/src/common/types.cpp +2 -20
  55. package/src/duckdb/src/core_functions/aggregate/algebraic/avg.cpp +0 -1
  56. package/src/duckdb/src/core_functions/aggregate/distributive/string_agg.cpp +6 -7
  57. package/src/duckdb/src/core_functions/aggregate/holistic/approximate_quantile.cpp +5 -28
  58. package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +30 -78
  59. package/src/duckdb/src/core_functions/aggregate/holistic/reservoir_quantile.cpp +5 -30
  60. package/src/duckdb/src/core_functions/scalar/date/date_part.cpp +6 -9
  61. package/src/duckdb/src/core_functions/scalar/list/list_aggregates.cpp +21 -16
  62. package/src/duckdb/src/core_functions/scalar/list/list_lambdas.cpp +15 -23
  63. package/src/duckdb/src/function/macro_function.cpp +0 -42
  64. package/src/duckdb/src/function/scalar/compressed_materialization/compress_integral.cpp +10 -8
  65. package/src/duckdb/src/function/scalar/compressed_materialization/compress_string.cpp +13 -12
  66. package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +9 -11
  67. package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +7 -33
  68. package/src/duckdb/src/function/scalar_function.cpp +1 -2
  69. package/src/duckdb/src/function/scalar_macro_function.cpp +0 -10
  70. package/src/duckdb/src/function/table/copy_csv.cpp +38 -38
  71. package/src/duckdb/src/function/table/read_csv.cpp +5 -174
  72. package/src/duckdb/src/function/table/table_scan.cpp +5 -42
  73. package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
  74. package/src/duckdb/src/function/table_function.cpp +3 -4
  75. package/src/duckdb/src/function/table_macro_function.cpp +0 -10
  76. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp +0 -2
  77. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp +0 -2
  78. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/type_catalog_entry.hpp +0 -2
  79. package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +3 -8
  80. package/src/duckdb/src/include/duckdb/common/constants.hpp +4 -2
  81. package/src/duckdb/src/include/duckdb/common/extra_type_info.hpp +16 -46
  82. package/src/duckdb/src/include/duckdb/common/index_vector.hpp +4 -4
  83. package/src/duckdb/src/include/duckdb/common/multi_file_reader.hpp +2 -6
  84. package/src/duckdb/src/include/duckdb/common/multi_file_reader_options.hpp +0 -4
  85. package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +44 -23
  86. package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +31 -23
  87. package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_reader.hpp +4 -6
  88. package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_writer.hpp +3 -3
  89. package/src/duckdb/src/include/duckdb/common/serializer/deserialization_data.hpp +17 -0
  90. package/src/duckdb/src/include/duckdb/common/serializer/{format_deserializer.hpp → deserializer.hpp} +13 -13
  91. package/src/duckdb/src/include/duckdb/common/serializer/memory_stream.hpp +62 -0
  92. package/src/duckdb/src/include/duckdb/common/serializer/read_stream.hpp +38 -0
  93. package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +15 -13
  94. package/src/duckdb/src/include/duckdb/common/serializer/{format_serializer.hpp → serializer.hpp} +13 -12
  95. package/src/duckdb/src/include/duckdb/common/serializer/write_stream.hpp +36 -0
  96. package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection.hpp +2 -2
  97. package/src/duckdb/src/include/duckdb/common/types/data_chunk.hpp +3 -8
  98. package/src/duckdb/src/include/duckdb/common/types/hyperloglog.hpp +4 -10
  99. package/src/duckdb/src/include/duckdb/common/types/interval.hpp +4 -4
  100. package/src/duckdb/src/include/duckdb/common/types/value.hpp +1 -5
  101. package/src/duckdb/src/include/duckdb/common/types/vector.hpp +2 -7
  102. package/src/duckdb/src/include/duckdb/common/types.hpp +1 -10
  103. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_reader_options.hpp +2 -11
  104. package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +4 -14
  105. package/src/duckdb/src/include/duckdb/function/copy_function.hpp +3 -3
  106. package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +15 -98
  107. package/src/duckdb/src/include/duckdb/function/macro_function.hpp +1 -7
  108. package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +9 -10
  109. package/src/duckdb/src/include/duckdb/function/scalar/strftime_format.hpp +2 -2
  110. package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +2 -12
  111. package/src/duckdb/src/include/duckdb/function/scalar_macro_function.hpp +2 -7
  112. package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +4 -16
  113. package/src/duckdb/src/include/duckdb/function/table_function.hpp +2 -11
  114. package/src/duckdb/src/include/duckdb/function/table_macro_function.hpp +2 -7
  115. package/src/duckdb/src/include/duckdb/parser/column_definition.hpp +1 -4
  116. package/src/duckdb/src/include/duckdb/parser/column_list.hpp +2 -6
  117. package/src/duckdb/src/include/duckdb/parser/common_table_expression_info.hpp +2 -2
  118. package/src/duckdb/src/include/duckdb/parser/constraint.hpp +2 -12
  119. package/src/duckdb/src/include/duckdb/parser/constraints/check_constraint.hpp +2 -5
  120. package/src/duckdb/src/include/duckdb/parser/constraints/foreign_key_constraint.hpp +2 -7
  121. package/src/duckdb/src/include/duckdb/parser/constraints/not_null_constraint.hpp +2 -7
  122. package/src/duckdb/src/include/duckdb/parser/constraints/unique_constraint.hpp +2 -7
  123. package/src/duckdb/src/include/duckdb/parser/expression/between_expression.hpp +2 -5
  124. package/src/duckdb/src/include/duckdb/parser/expression/bound_expression.hpp +1 -4
  125. package/src/duckdb/src/include/duckdb/parser/expression/case_expression.hpp +4 -6
  126. package/src/duckdb/src/include/duckdb/parser/expression/cast_expression.hpp +2 -4
  127. package/src/duckdb/src/include/duckdb/parser/expression/collate_expression.hpp +2 -4
  128. package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +2 -4
  129. package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +2 -4
  130. package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +2 -4
  131. package/src/duckdb/src/include/duckdb/parser/expression/constant_expression.hpp +2 -5
  132. package/src/duckdb/src/include/duckdb/parser/expression/default_expression.hpp +2 -4
  133. package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +2 -4
  134. package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +2 -4
  135. package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +2 -4
  136. package/src/duckdb/src/include/duckdb/parser/expression/parameter_expression.hpp +2 -4
  137. package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +2 -4
  138. package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +2 -4
  139. package/src/duckdb/src/include/duckdb/parser/expression/subquery_expression.hpp +2 -4
  140. package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +2 -4
  141. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_info.hpp +2 -5
  142. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_scalar_function_info.hpp +0 -2
  143. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_function_info.hpp +0 -2
  144. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +24 -51
  145. package/src/duckdb/src/include/duckdb/parser/parsed_data/attach_info.hpp +1 -4
  146. package/src/duckdb/src/include/duckdb/parser/parsed_data/copy_info.hpp +2 -2
  147. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_collation_info.hpp +0 -3
  148. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_copy_function_info.hpp +0 -3
  149. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_function_info.hpp +0 -5
  150. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +2 -7
  151. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_info.hpp +1 -13
  152. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_macro_info.hpp +2 -8
  153. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_schema_info.hpp +2 -12
  154. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_sequence_info.hpp +2 -7
  155. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_table_info.hpp +2 -7
  156. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_type_info.hpp +2 -7
  157. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_view_info.hpp +2 -7
  158. package/src/duckdb/src/include/duckdb/parser/parsed_data/detach_info.hpp +2 -4
  159. package/src/duckdb/src/include/duckdb/parser/parsed_data/drop_info.hpp +2 -5
  160. package/src/duckdb/src/include/duckdb/parser/parsed_data/load_info.hpp +2 -21
  161. package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +2 -2
  162. package/src/duckdb/src/include/duckdb/parser/parsed_data/pragma_info.hpp +2 -2
  163. package/src/duckdb/src/include/duckdb/parser/parsed_data/sample_options.hpp +2 -4
  164. package/src/duckdb/src/include/duckdb/parser/parsed_data/transaction_info.hpp +1 -4
  165. package/src/duckdb/src/include/duckdb/parser/parsed_data/vacuum_info.hpp +5 -7
  166. package/src/duckdb/src/include/duckdb/parser/parsed_expression.hpp +3 -16
  167. package/src/duckdb/src/include/duckdb/parser/query_node/cte_node.hpp +2 -4
  168. package/src/duckdb/src/include/duckdb/parser/query_node/recursive_cte_node.hpp +2 -4
  169. package/src/duckdb/src/include/duckdb/parser/query_node/select_node.hpp +2 -4
  170. package/src/duckdb/src/include/duckdb/parser/query_node/set_operation_node.hpp +2 -4
  171. package/src/duckdb/src/include/duckdb/parser/query_node.hpp +7 -14
  172. package/src/duckdb/src/include/duckdb/parser/result_modifier.hpp +14 -32
  173. package/src/duckdb/src/include/duckdb/parser/statement/select_statement.hpp +4 -9
  174. package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +2 -6
  175. package/src/duckdb/src/include/duckdb/parser/tableref/emptytableref.hpp +2 -6
  176. package/src/duckdb/src/include/duckdb/parser/tableref/expressionlistref.hpp +2 -6
  177. package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +2 -6
  178. package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +6 -14
  179. package/src/duckdb/src/include/duckdb/parser/tableref/subqueryref.hpp +2 -6
  180. package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +2 -6
  181. package/src/duckdb/src/include/duckdb/parser/tableref.hpp +2 -10
  182. package/src/duckdb/src/include/duckdb/parser/transformer.hpp +1 -0
  183. package/src/duckdb/src/include/duckdb/planner/bound_constraint.hpp +0 -1
  184. package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +2 -8
  185. package/src/duckdb/src/include/duckdb/planner/column_binding.hpp +4 -4
  186. package/src/duckdb/src/include/duckdb/planner/expression/bound_aggregate_expression.hpp +2 -4
  187. package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +2 -4
  188. package/src/duckdb/src/include/duckdb/planner/expression/bound_case_expression.hpp +3 -9
  189. package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +2 -5
  190. package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +2 -8
  191. package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +2 -4
  192. package/src/duckdb/src/include/duckdb/planner/expression/bound_conjunction_expression.hpp +2 -5
  193. package/src/duckdb/src/include/duckdb/planner/expression/bound_constant_expression.hpp +2 -5
  194. package/src/duckdb/src/include/duckdb/planner/expression/bound_default_expression.hpp +2 -5
  195. package/src/duckdb/src/include/duckdb/planner/expression/bound_function_expression.hpp +2 -5
  196. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +2 -4
  197. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +2 -8
  198. package/src/duckdb/src/include/duckdb/planner/expression/bound_operator_expression.hpp +2 -5
  199. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_data.hpp +2 -19
  200. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_expression.hpp +2 -5
  201. package/src/duckdb/src/include/duckdb/planner/expression/bound_reference_expression.hpp +2 -5
  202. package/src/duckdb/src/include/duckdb/planner/expression/bound_subquery_expression.hpp +0 -3
  203. package/src/duckdb/src/include/duckdb/planner/expression/bound_unnest_expression.hpp +2 -5
  204. package/src/duckdb/src/include/duckdb/planner/expression/bound_window_expression.hpp +2 -5
  205. package/src/duckdb/src/include/duckdb/planner/expression.hpp +2 -14
  206. package/src/duckdb/src/include/duckdb/planner/filter/conjunction_filter.hpp +4 -8
  207. package/src/duckdb/src/include/duckdb/planner/filter/constant_filter.hpp +2 -4
  208. package/src/duckdb/src/include/duckdb/planner/filter/null_filter.hpp +4 -8
  209. package/src/duckdb/src/include/duckdb/planner/joinside.hpp +1 -6
  210. package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +2 -17
  211. package/src/duckdb/src/include/duckdb/planner/operator/logical_aggregate.hpp +2 -4
  212. package/src/duckdb/src/include/duckdb/planner/operator/logical_any_join.hpp +2 -4
  213. package/src/duckdb/src/include/duckdb/planner/operator/logical_column_data_get.hpp +2 -5
  214. package/src/duckdb/src/include/duckdb/planner/operator/logical_comparison_join.hpp +2 -6
  215. package/src/duckdb/src/include/duckdb/planner/operator/logical_copy_to_file.hpp +2 -4
  216. package/src/duckdb/src/include/duckdb/planner/operator/logical_create.hpp +2 -5
  217. package/src/duckdb/src/include/duckdb/planner/operator/logical_create_index.hpp +2 -5
  218. package/src/duckdb/src/include/duckdb/planner/operator/logical_create_table.hpp +2 -5
  219. package/src/duckdb/src/include/duckdb/planner/operator/logical_cross_product.hpp +2 -5
  220. package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +2 -4
  221. package/src/duckdb/src/include/duckdb/planner/operator/logical_delete.hpp +2 -5
  222. package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +2 -4
  223. package/src/duckdb/src/include/duckdb/planner/operator/logical_dependent_join.hpp +0 -1
  224. package/src/duckdb/src/include/duckdb/planner/operator/logical_distinct.hpp +2 -4
  225. package/src/duckdb/src/include/duckdb/planner/operator/logical_dummy_scan.hpp +2 -4
  226. package/src/duckdb/src/include/duckdb/planner/operator/logical_empty_result.hpp +2 -4
  227. package/src/duckdb/src/include/duckdb/planner/operator/logical_execute.hpp +0 -2
  228. package/src/duckdb/src/include/duckdb/planner/operator/logical_explain.hpp +2 -5
  229. package/src/duckdb/src/include/duckdb/planner/operator/logical_export.hpp +0 -3
  230. package/src/duckdb/src/include/duckdb/planner/operator/logical_expression_get.hpp +2 -4
  231. package/src/duckdb/src/include/duckdb/planner/operator/logical_extension_operator.hpp +2 -4
  232. package/src/duckdb/src/include/duckdb/planner/operator/logical_filter.hpp +2 -4
  233. package/src/duckdb/src/include/duckdb/planner/operator/logical_get.hpp +2 -4
  234. package/src/duckdb/src/include/duckdb/planner/operator/logical_insert.hpp +2 -5
  235. package/src/duckdb/src/include/duckdb/planner/operator/logical_join.hpp +0 -2
  236. package/src/duckdb/src/include/duckdb/planner/operator/logical_limit.hpp +2 -5
  237. package/src/duckdb/src/include/duckdb/planner/operator/logical_limit_percent.hpp +2 -5
  238. package/src/duckdb/src/include/duckdb/planner/operator/logical_materialized_cte.hpp +2 -4
  239. package/src/duckdb/src/include/duckdb/planner/operator/logical_order.hpp +2 -5
  240. package/src/duckdb/src/include/duckdb/planner/operator/logical_pivot.hpp +2 -4
  241. package/src/duckdb/src/include/duckdb/planner/operator/logical_positional_join.hpp +2 -5
  242. package/src/duckdb/src/include/duckdb/planner/operator/logical_pragma.hpp +0 -2
  243. package/src/duckdb/src/include/duckdb/planner/operator/logical_prepare.hpp +0 -2
  244. package/src/duckdb/src/include/duckdb/planner/operator/logical_projection.hpp +2 -4
  245. package/src/duckdb/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +2 -4
  246. package/src/duckdb/src/include/duckdb/planner/operator/logical_reset.hpp +2 -5
  247. package/src/duckdb/src/include/duckdb/planner/operator/logical_sample.hpp +2 -5
  248. package/src/duckdb/src/include/duckdb/planner/operator/logical_set.hpp +2 -5
  249. package/src/duckdb/src/include/duckdb/planner/operator/logical_set_operation.hpp +2 -5
  250. package/src/duckdb/src/include/duckdb/planner/operator/logical_show.hpp +2 -5
  251. package/src/duckdb/src/include/duckdb/planner/operator/logical_simple.hpp +2 -5
  252. package/src/duckdb/src/include/duckdb/planner/operator/logical_top_n.hpp +2 -4
  253. package/src/duckdb/src/include/duckdb/planner/operator/logical_unnest.hpp +2 -4
  254. package/src/duckdb/src/include/duckdb/planner/operator/logical_update.hpp +2 -4
  255. package/src/duckdb/src/include/duckdb/planner/operator/logical_window.hpp +2 -4
  256. package/src/duckdb/src/include/duckdb/planner/operator_extension.hpp +1 -3
  257. package/src/duckdb/src/include/duckdb/planner/parsed_data/bound_create_table_info.hpp +0 -5
  258. package/src/duckdb/src/include/duckdb/planner/table_filter.hpp +3 -12
  259. package/src/duckdb/src/include/duckdb/planner/tableref/bound_pivotref.hpp +2 -2
  260. package/src/duckdb/src/include/duckdb/storage/block.hpp +7 -4
  261. package/src/duckdb/src/include/duckdb/storage/checkpoint/row_group_writer.hpp +3 -2
  262. package/src/duckdb/src/include/duckdb/storage/checkpoint/table_data_writer.hpp +6 -6
  263. package/src/duckdb/src/include/duckdb/storage/checkpoint_manager.hpp +18 -18
  264. package/src/duckdb/src/include/duckdb/storage/data_pointer.hpp +6 -0
  265. package/src/duckdb/src/include/duckdb/storage/data_table.hpp +1 -1
  266. package/src/duckdb/src/include/duckdb/storage/metadata/metadata_manager.hpp +4 -5
  267. package/src/duckdb/src/include/duckdb/storage/metadata/metadata_reader.hpp +2 -1
  268. package/src/duckdb/src/include/duckdb/storage/metadata/metadata_writer.hpp +2 -2
  269. package/src/duckdb/src/include/duckdb/storage/statistics/base_statistics.hpp +2 -11
  270. package/src/duckdb/src/include/duckdb/storage/statistics/column_statistics.hpp +3 -5
  271. package/src/duckdb/src/include/duckdb/storage/statistics/distinct_statistics.hpp +3 -11
  272. package/src/duckdb/src/include/duckdb/storage/statistics/list_stats.hpp +2 -7
  273. package/src/duckdb/src/include/duckdb/storage/statistics/node_statistics.hpp +0 -26
  274. package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats.hpp +2 -7
  275. package/src/duckdb/src/include/duckdb/storage/statistics/string_stats.hpp +2 -7
  276. package/src/duckdb/src/include/duckdb/storage/statistics/struct_stats.hpp +2 -7
  277. package/src/duckdb/src/include/duckdb/storage/storage_info.hpp +4 -6
  278. package/src/duckdb/src/include/duckdb/storage/table/chunk_info.hpp +8 -17
  279. package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +1 -1
  280. package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +2 -2
  281. package/src/duckdb/src/include/duckdb/storage/table/list_column_data.hpp +1 -1
  282. package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +2 -7
  283. package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +2 -2
  284. package/src/duckdb/src/include/duckdb/storage/table/table_statistics.hpp +4 -7
  285. package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +27 -29
  286. package/src/duckdb/src/include/duckdb/verification/statement_verifier.hpp +0 -2
  287. package/src/duckdb/src/main/client_context.cpp +0 -6
  288. package/src/duckdb/src/main/client_verify.cpp +0 -2
  289. package/src/duckdb/src/main/extension/extension_helper.cpp +1 -0
  290. package/src/duckdb/src/parser/column_definition.cpp +0 -25
  291. package/src/duckdb/src/parser/column_list.cpp +0 -13
  292. package/src/duckdb/src/parser/constraint.cpp +0 -33
  293. package/src/duckdb/src/parser/constraints/check_constraint.cpp +0 -11
  294. package/src/duckdb/src/parser/constraints/foreign_key_constraint.cpp +0 -27
  295. package/src/duckdb/src/parser/constraints/not_null_constraint.cpp +0 -11
  296. package/src/duckdb/src/parser/constraints/unique_constraint.cpp +0 -24
  297. package/src/duckdb/src/parser/expression/between_expression.cpp +2 -16
  298. package/src/duckdb/src/parser/expression/case_expression.cpp +2 -29
  299. package/src/duckdb/src/parser/expression/cast_expression.cpp +2 -16
  300. package/src/duckdb/src/parser/expression/collate_expression.cpp +2 -14
  301. package/src/duckdb/src/parser/expression/columnref_expression.cpp +2 -13
  302. package/src/duckdb/src/parser/expression/comparison_expression.cpp +2 -14
  303. package/src/duckdb/src/parser/expression/conjunction_expression.cpp +2 -13
  304. package/src/duckdb/src/parser/expression/constant_expression.cpp +2 -12
  305. package/src/duckdb/src/parser/expression/default_expression.cpp +2 -9
  306. package/src/duckdb/src/parser/expression/function_expression.cpp +2 -32
  307. package/src/duckdb/src/parser/expression/lambda_expression.cpp +2 -14
  308. package/src/duckdb/src/parser/expression/operator_expression.cpp +2 -13
  309. package/src/duckdb/src/parser/expression/parameter_expression.cpp +2 -13
  310. package/src/duckdb/src/parser/expression/positional_reference_expression.cpp +2 -12
  311. package/src/duckdb/src/parser/expression/star_expression.cpp +2 -43
  312. package/src/duckdb/src/parser/expression/subquery_expression.cpp +2 -28
  313. package/src/duckdb/src/parser/expression/window_expression.cpp +2 -53
  314. package/src/duckdb/src/parser/parsed_data/alter_info.cpp +0 -35
  315. package/src/duckdb/src/parser/parsed_data/alter_scalar_function_info.cpp +0 -18
  316. package/src/duckdb/src/parser/parsed_data/alter_table_function_info.cpp +0 -13
  317. package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +1 -189
  318. package/src/duckdb/src/parser/parsed_data/attach_info.cpp +0 -29
  319. package/src/duckdb/src/parser/parsed_data/create_collation_info.cpp +0 -4
  320. package/src/duckdb/src/parser/parsed_data/create_copy_function_info.cpp +0 -4
  321. package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +0 -48
  322. package/src/duckdb/src/parser/parsed_data/create_info.cpp +0 -47
  323. package/src/duckdb/src/parser/parsed_data/create_macro_info.cpp +1 -28
  324. package/src/duckdb/src/parser/parsed_data/create_sequence_info.cpp +0 -31
  325. package/src/duckdb/src/parser/parsed_data/create_table_info.cpp +0 -23
  326. package/src/duckdb/src/parser/parsed_data/create_type_info.cpp +0 -22
  327. package/src/duckdb/src/parser/parsed_data/create_view_info.cpp +0 -23
  328. package/src/duckdb/src/parser/parsed_data/detach_info.cpp +0 -19
  329. package/src/duckdb/src/parser/parsed_data/drop_info.cpp +0 -26
  330. package/src/duckdb/src/parser/parsed_data/sample_options.cpp +2 -25
  331. package/src/duckdb/src/parser/parsed_data/transaction_info.cpp +0 -16
  332. package/src/duckdb/src/parser/parsed_data/vacuum_info.cpp +0 -20
  333. package/src/duckdb/src/parser/parsed_expression.cpp +2 -79
  334. package/src/duckdb/src/parser/query_node/cte_node.cpp +2 -19
  335. package/src/duckdb/src/parser/query_node/recursive_cte_node.cpp +2 -21
  336. package/src/duckdb/src/parser/query_node/select_node.cpp +2 -47
  337. package/src/duckdb/src/parser/query_node/set_operation_node.cpp +2 -17
  338. package/src/duckdb/src/parser/query_node.cpp +2 -62
  339. package/src/duckdb/src/parser/result_modifier.cpp +2 -96
  340. package/src/duckdb/src/parser/statement/select_statement.cpp +2 -13
  341. package/src/duckdb/src/parser/tableref/basetableref.cpp +2 -21
  342. package/src/duckdb/src/parser/tableref/emptytableref.cpp +0 -9
  343. package/src/duckdb/src/parser/tableref/expressionlistref.cpp +2 -28
  344. package/src/duckdb/src/parser/tableref/joinref.cpp +2 -23
  345. package/src/duckdb/src/parser/tableref/pivotref.cpp +0 -61
  346. package/src/duckdb/src/parser/tableref/subqueryref.cpp +2 -15
  347. package/src/duckdb/src/parser/tableref/table_function.cpp +2 -17
  348. package/src/duckdb/src/parser/tableref.cpp +2 -52
  349. package/src/duckdb/src/planner/binder/expression/bind_subquery_expression.cpp +1 -4
  350. package/src/duckdb/src/planner/bound_result_modifier.cpp +0 -33
  351. package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +6 -30
  352. package/src/duckdb/src/planner/expression/bound_between_expression.cpp +0 -19
  353. package/src/duckdb/src/planner/expression/bound_case_expression.cpp +0 -36
  354. package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +0 -15
  355. package/src/duckdb/src/planner/expression/bound_columnref_expression.cpp +0 -20
  356. package/src/duckdb/src/planner/expression/bound_comparison_expression.cpp +0 -13
  357. package/src/duckdb/src/planner/expression/bound_conjunction_expression.cpp +0 -13
  358. package/src/duckdb/src/planner/expression/bound_constant_expression.cpp +0 -11
  359. package/src/duckdb/src/planner/expression/bound_expression.cpp +1 -5
  360. package/src/duckdb/src/planner/expression/bound_function_expression.cpp +8 -28
  361. package/src/duckdb/src/planner/expression/bound_lambda_expression.cpp +0 -4
  362. package/src/duckdb/src/planner/expression/bound_lambdaref_expression.cpp +0 -23
  363. package/src/duckdb/src/planner/expression/bound_operator_expression.cpp +0 -16
  364. package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +0 -18
  365. package/src/duckdb/src/planner/expression/bound_reference_expression.cpp +0 -16
  366. package/src/duckdb/src/planner/expression/bound_subquery_expression.cpp +0 -4
  367. package/src/duckdb/src/planner/expression/bound_unnest_expression.cpp +0 -15
  368. package/src/duckdb/src/planner/expression/bound_window_expression.cpp +7 -60
  369. package/src/duckdb/src/planner/expression.cpp +0 -74
  370. package/src/duckdb/src/planner/filter/conjunction_filter.cpp +0 -21
  371. package/src/duckdb/src/planner/filter/constant_filter.cpp +0 -12
  372. package/src/duckdb/src/planner/filter/null_filter.cpp +0 -14
  373. package/src/duckdb/src/planner/joinside.cpp +0 -24
  374. package/src/duckdb/src/planner/logical_operator.cpp +15 -215
  375. package/src/duckdb/src/planner/operator/logical_aggregate.cpp +0 -46
  376. package/src/duckdb/src/planner/operator/logical_any_join.cpp +0 -14
  377. package/src/duckdb/src/planner/operator/logical_column_data_get.cpp +0 -23
  378. package/src/duckdb/src/planner/operator/logical_comparison_join.cpp +0 -23
  379. package/src/duckdb/src/planner/operator/logical_copy_to_file.cpp +2 -56
  380. package/src/duckdb/src/planner/operator/logical_create.cpp +0 -12
  381. package/src/duckdb/src/planner/operator/logical_create_index.cpp +0 -25
  382. package/src/duckdb/src/planner/operator/logical_create_table.cpp +0 -10
  383. package/src/duckdb/src/planner/operator/logical_cross_product.cpp +0 -9
  384. package/src/duckdb/src/planner/operator/logical_cteref.cpp +0 -18
  385. package/src/duckdb/src/planner/operator/logical_delete.cpp +0 -22
  386. package/src/duckdb/src/planner/operator/logical_delim_get.cpp +0 -12
  387. package/src/duckdb/src/planner/operator/logical_dependent_join.cpp +0 -4
  388. package/src/duckdb/src/planner/operator/logical_distinct.cpp +0 -16
  389. package/src/duckdb/src/planner/operator/logical_dummy_scan.cpp +0 -10
  390. package/src/duckdb/src/planner/operator/logical_empty_result.cpp +0 -15
  391. package/src/duckdb/src/planner/operator/logical_expression_get.cpp +0 -24
  392. package/src/duckdb/src/planner/operator/logical_extension_operator.cpp +6 -19
  393. package/src/duckdb/src/planner/operator/logical_filter.cpp +0 -15
  394. package/src/duckdb/src/planner/operator/logical_get.cpp +12 -97
  395. package/src/duckdb/src/planner/operator/logical_insert.cpp +0 -77
  396. package/src/duckdb/src/planner/operator/logical_join.cpp +0 -17
  397. package/src/duckdb/src/planner/operator/logical_limit.cpp +0 -16
  398. package/src/duckdb/src/planner/operator/logical_limit_percent.cpp +0 -16
  399. package/src/duckdb/src/planner/operator/logical_materialized_cte.cpp +0 -13
  400. package/src/duckdb/src/planner/operator/logical_order.cpp +0 -15
  401. package/src/duckdb/src/planner/operator/logical_pivot.cpp +0 -20
  402. package/src/duckdb/src/planner/operator/logical_positional_join.cpp +0 -10
  403. package/src/duckdb/src/planner/operator/logical_pragma.cpp +0 -8
  404. package/src/duckdb/src/planner/operator/logical_prepare.cpp +0 -8
  405. package/src/duckdb/src/planner/operator/logical_projection.cpp +0 -12
  406. package/src/duckdb/src/planner/operator/logical_recursive_cte.cpp +0 -15
  407. package/src/duckdb/src/planner/operator/logical_reset.cpp +0 -12
  408. package/src/duckdb/src/planner/operator/logical_sample.cpp +0 -11
  409. package/src/duckdb/src/planner/operator/logical_set.cpp +0 -14
  410. package/src/duckdb/src/planner/operator/logical_set_operation.cpp +0 -13
  411. package/src/duckdb/src/planner/operator/logical_simple.cpp +0 -60
  412. package/src/duckdb/src/planner/operator/logical_top_n.cpp +0 -14
  413. package/src/duckdb/src/planner/operator/logical_unnest.cpp +0 -14
  414. package/src/duckdb/src/planner/operator/logical_update.cpp +0 -28
  415. package/src/duckdb/src/planner/operator/logical_window.cpp +0 -13
  416. package/src/duckdb/src/planner/planner.cpp +13 -22
  417. package/src/duckdb/src/planner/table_filter.cpp +0 -59
  418. package/src/duckdb/src/storage/checkpoint/row_group_writer.cpp +7 -17
  419. package/src/duckdb/src/storage/checkpoint/table_data_reader.cpp +7 -4
  420. package/src/duckdb/src/storage/checkpoint/table_data_writer.cpp +24 -22
  421. package/src/duckdb/src/storage/checkpoint_manager.cpp +203 -180
  422. package/src/duckdb/src/storage/data_table.cpp +2 -2
  423. package/src/duckdb/src/storage/metadata/metadata_manager.cpp +11 -9
  424. package/src/duckdb/src/storage/serialization/serialize_constraint.cpp +20 -20
  425. package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +46 -42
  426. package/src/duckdb/src/storage/serialization/serialize_expression.cpp +63 -63
  427. package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +167 -165
  428. package/src/duckdb/src/storage/serialization/serialize_macro_function.cpp +12 -12
  429. package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +54 -54
  430. package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +88 -88
  431. package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +72 -72
  432. package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +20 -20
  433. package/src/duckdb/src/storage/serialization/serialize_result_modifier.cpp +22 -22
  434. package/src/duckdb/src/storage/serialization/serialize_statement.cpp +4 -4
  435. package/src/duckdb/src/storage/serialization/serialize_storage.cpp +41 -6
  436. package/src/duckdb/src/storage/serialization/serialize_table_filter.cpp +24 -24
  437. package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +32 -32
  438. package/src/duckdb/src/storage/serialization/serialize_types.cpp +29 -29
  439. package/src/duckdb/src/storage/single_file_block_manager.cpp +17 -22
  440. package/src/duckdb/src/storage/statistics/base_statistics.cpp +31 -85
  441. package/src/duckdb/src/storage/statistics/column_statistics.cpp +6 -19
  442. package/src/duckdb/src/storage/statistics/distinct_statistics.cpp +0 -26
  443. package/src/duckdb/src/storage/statistics/list_stats.cpp +6 -22
  444. package/src/duckdb/src/storage/statistics/numeric_stats.cpp +20 -135
  445. package/src/duckdb/src/storage/statistics/string_stats.cpp +5 -28
  446. package/src/duckdb/src/storage/statistics/struct_stats.cpp +8 -30
  447. package/src/duckdb/src/storage/storage_info.cpp +1 -1
  448. package/src/duckdb/src/storage/table/chunk_info.cpp +9 -88
  449. package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +2 -2
  450. package/src/duckdb/src/storage/table/column_data.cpp +20 -25
  451. package/src/duckdb/src/storage/table/list_column_data.cpp +16 -9
  452. package/src/duckdb/src/storage/table/row_group.cpp +16 -92
  453. package/src/duckdb/src/storage/table/row_group_collection.cpp +5 -1
  454. package/src/duckdb/src/storage/table/standard_column_data.cpp +10 -7
  455. package/src/duckdb/src/storage/table/struct_column_data.cpp +17 -11
  456. package/src/duckdb/src/storage/table/table_statistics.cpp +13 -22
  457. package/src/duckdb/src/storage/wal_replay.cpp +108 -106
  458. package/src/duckdb/src/storage/write_ahead_log.cpp +135 -64
  459. package/src/duckdb/src/transaction/commit_state.cpp +22 -8
  460. package/src/duckdb/src/verification/deserialized_statement_verifier.cpp +11 -6
  461. package/src/duckdb/src/verification/statement_verifier.cpp +0 -5
  462. package/src/duckdb/third_party/parquet/parquet_types.h +1 -1
  463. package/src/duckdb/ub_src_common.cpp +0 -4
  464. package/src/duckdb/ub_src_common_serializer.cpp +2 -4
  465. package/src/duckdb/ub_src_planner.cpp +0 -2
  466. package/src/duckdb/ub_src_planner_expression.cpp +0 -2
  467. package/src/duckdb/ub_src_planner_operator.cpp +0 -8
  468. package/src/duckdb_node.cpp +6 -12
  469. package/src/duckdb_node.hpp +23 -13
  470. package/src/statement.cpp +15 -16
  471. package/test/database_fail.test.ts +20 -0
  472. package/test/worker.js +7 -0
  473. package/src/duckdb/src/common/field_writer.cpp +0 -97
  474. package/src/duckdb/src/common/serializer/buffered_deserializer.cpp +0 -27
  475. package/src/duckdb/src/common/serializer/buffered_serializer.cpp +0 -36
  476. package/src/duckdb/src/common/serializer.cpp +0 -24
  477. package/src/duckdb/src/include/duckdb/common/field_writer.hpp +0 -379
  478. package/src/duckdb/src/include/duckdb/common/serializer/buffered_deserializer.hpp +0 -41
  479. package/src/duckdb/src/include/duckdb/common/serializer/buffered_serializer.hpp +0 -50
  480. package/src/duckdb/src/include/duckdb/common/serializer.hpp +0 -151
  481. package/src/duckdb/src/include/duckdb/planner/plan_serialization.hpp +0 -44
  482. package/src/duckdb/src/include/duckdb/verification/deserialized_statement_verifier_v2.hpp +0 -32
  483. package/src/duckdb/src/planner/expression/bound_default_expression.cpp +0 -16
  484. package/src/duckdb/src/planner/operator/logical_execute.cpp +0 -12
  485. package/src/duckdb/src/planner/operator/logical_explain.cpp +0 -22
  486. package/src/duckdb/src/planner/operator/logical_export.cpp +0 -13
  487. package/src/duckdb/src/planner/operator/logical_show.cpp +0 -21
  488. package/src/duckdb/src/planner/parsed_data/bound_create_table_info.cpp +0 -22
  489. package/src/duckdb/src/planner/plan_serialization.cpp +0 -20
  490. package/src/duckdb/src/verification/deserialized_statement_verifier_v2.cpp +0 -34
  491. package/src/duckdb/ub_src_planner_parsed_data.cpp +0 -2
@@ -1,7 +1,6 @@
1
1
  #include "duckdb/common/bind_helpers.hpp"
2
2
  #include "duckdb/common/file_system.hpp"
3
3
  #include "duckdb/common/multi_file_reader.hpp"
4
- #include "duckdb/common/serializer/buffered_serializer.hpp"
5
4
  #include "duckdb/common/string_util.hpp"
6
5
  #include "duckdb/common/types/column/column_data_collection.hpp"
7
6
  #include "duckdb/common/types/string_type.hpp"
@@ -11,6 +10,8 @@
11
10
  #include "duckdb/function/scalar/string_functions.hpp"
12
11
  #include "duckdb/function/table/read_csv.hpp"
13
12
  #include "duckdb/parser/parsed_data/copy_info.hpp"
13
+ #include "duckdb/common/serializer/write_stream.hpp"
14
+ #include "duckdb/common/serializer/memory_stream.hpp"
14
15
 
15
16
  #include <limits>
16
17
 
@@ -37,10 +38,9 @@ void SubstringDetection(char &str_1, string &str_2, const string &name_str_1, co
37
38
  //===--------------------------------------------------------------------===//
38
39
  // Bind
39
40
  //===--------------------------------------------------------------------===//
40
-
41
- void WriteQuoteOrEscape(Serializer &serializer, char quote_or_escape) {
41
+ void WriteQuoteOrEscape(WriteStream &writer, char quote_or_escape) {
42
42
  if (quote_or_escape != '\0') {
43
- serializer.Write(quote_or_escape);
43
+ writer.Write(quote_or_escape);
44
44
  }
45
45
  }
46
46
 
@@ -214,7 +214,7 @@ static bool RequiresQuotes(WriteCSVData &csv_data, const char *str, idx_t len) {
214
214
  return false;
215
215
  }
216
216
 
217
- static void WriteQuotedString(Serializer &serializer, WriteCSVData &csv_data, const char *str, idx_t len,
217
+ static void WriteQuotedString(WriteStream &writer, WriteCSVData &csv_data, const char *str, idx_t len,
218
218
  bool force_quote) {
219
219
  auto &options = csv_data.options;
220
220
  if (!force_quote) {
@@ -236,9 +236,9 @@ static void WriteQuotedString(Serializer &serializer, WriteCSVData &csv_data, co
236
236
 
237
237
  if (!requires_escape) {
238
238
  // fast path: no need to escape anything
239
- WriteQuoteOrEscape(serializer, options.dialect_options.state_machine_options.quote);
240
- serializer.WriteData(const_data_ptr_cast(str), len);
241
- WriteQuoteOrEscape(serializer, options.dialect_options.state_machine_options.quote);
239
+ WriteQuoteOrEscape(writer, options.dialect_options.state_machine_options.quote);
240
+ writer.WriteData(const_data_ptr_cast(str), len);
241
+ WriteQuoteOrEscape(writer, options.dialect_options.state_machine_options.quote);
242
242
  return;
243
243
  }
244
244
 
@@ -252,11 +252,11 @@ static void WriteQuotedString(Serializer &serializer, WriteCSVData &csv_data, co
252
252
  new_val = AddEscapes(options.dialect_options.state_machine_options.quote,
253
253
  options.dialect_options.state_machine_options.escape, new_val);
254
254
  }
255
- WriteQuoteOrEscape(serializer, options.dialect_options.state_machine_options.quote);
256
- serializer.WriteBufferData(new_val);
257
- WriteQuoteOrEscape(serializer, options.dialect_options.state_machine_options.quote);
255
+ WriteQuoteOrEscape(writer, options.dialect_options.state_machine_options.quote);
256
+ writer.WriteData(const_data_ptr_cast(new_val.c_str()), new_val.size());
257
+ WriteQuoteOrEscape(writer, options.dialect_options.state_machine_options.quote);
258
258
  } else {
259
- serializer.WriteData(const_data_ptr_cast(str), len);
259
+ writer.WriteData(const_data_ptr_cast(str), len);
260
260
  }
261
261
  }
262
262
 
@@ -265,7 +265,7 @@ static void WriteQuotedString(Serializer &serializer, WriteCSVData &csv_data, co
265
265
  //===--------------------------------------------------------------------===//
266
266
  struct LocalWriteCSVData : public LocalFunctionData {
267
267
  //! The thread-local buffer to write data into
268
- BufferedSerializer serializer;
268
+ MemoryStream stream;
269
269
  //! A chunk with VARCHAR columns to cast intermediates into
270
270
  DataChunk cast_chunk;
271
271
  //! If we've written any rows yet, allows us to prevent a trailing comma when writing JSON ARRAY
@@ -333,25 +333,25 @@ static unique_ptr<GlobalFunctionData> WriteCSVInitializeGlobal(ClientContext &co
333
333
  }
334
334
 
335
335
  if (options.dialect_options.header) {
336
- BufferedSerializer serializer;
336
+ MemoryStream stream;
337
337
  // write the header line to the file
338
338
  for (idx_t i = 0; i < csv_data.options.name_list.size(); i++) {
339
339
  if (i != 0) {
340
- WriteQuoteOrEscape(serializer, options.dialect_options.state_machine_options.delimiter);
340
+ WriteQuoteOrEscape(stream, options.dialect_options.state_machine_options.delimiter);
341
341
  }
342
- WriteQuotedString(serializer, csv_data, csv_data.options.name_list[i].c_str(),
342
+ WriteQuotedString(stream, csv_data, csv_data.options.name_list[i].c_str(),
343
343
  csv_data.options.name_list[i].size(), false);
344
344
  }
345
- serializer.WriteBufferData(csv_data.newline);
345
+ stream.WriteData(const_data_ptr_cast(csv_data.newline.c_str()), csv_data.newline.size());
346
346
 
347
- global_data->WriteData(serializer.blob.data.get(), serializer.blob.size);
347
+ global_data->WriteData(stream.GetData(), stream.GetPosition());
348
348
  }
349
349
 
350
350
  return std::move(global_data);
351
351
  }
352
352
 
353
353
  static void WriteCSVChunkInternal(ClientContext &context, FunctionData &bind_data, DataChunk &cast_chunk,
354
- BufferedSerializer &writer, DataChunk &input, bool &written_anything) {
354
+ MemoryStream &writer, DataChunk &input, bool &written_anything) {
355
355
  auto &csv_data = bind_data.Cast<WriteCSVData>();
356
356
  auto &options = csv_data.options;
357
357
 
@@ -385,7 +385,7 @@ static void WriteCSVChunkInternal(ClientContext &context, FunctionData &bind_dat
385
385
  if (row_idx == 0 && !written_anything) {
386
386
  written_anything = true;
387
387
  } else {
388
- writer.WriteBufferData(csv_data.newline);
388
+ writer.WriteData(const_data_ptr_cast(csv_data.newline.c_str()), csv_data.newline.size());
389
389
  }
390
390
  // write values
391
391
  for (idx_t col_idx = 0; col_idx < cast_chunk.ColumnCount(); col_idx++) {
@@ -394,7 +394,7 @@ static void WriteCSVChunkInternal(ClientContext &context, FunctionData &bind_dat
394
394
  }
395
395
  if (FlatVector::IsNull(cast_chunk.data[col_idx], row_idx)) {
396
396
  // write null value
397
- writer.WriteBufferData(options.null_str);
397
+ writer.WriteData(const_data_ptr_cast(options.null_str.c_str()), options.null_str.size());
398
398
  continue;
399
399
  }
400
400
 
@@ -416,14 +416,14 @@ static void WriteCSVSink(ExecutionContext &context, FunctionData &bind_data, Glo
416
416
  auto &global_state = gstate.Cast<GlobalWriteCSVData>();
417
417
 
418
418
  // write data into the local buffer
419
- WriteCSVChunkInternal(context.client, bind_data, local_data.cast_chunk, local_data.serializer, input,
419
+ WriteCSVChunkInternal(context.client, bind_data, local_data.cast_chunk, local_data.stream, input,
420
420
  local_data.written_anything);
421
421
 
422
422
  // check if we should flush what we have currently written
423
- auto &writer = local_data.serializer;
424
- if (writer.blob.size >= csv_data.flush_size) {
425
- global_state.WriteRows(writer.blob.data.get(), writer.blob.size, csv_data.newline);
426
- writer.Reset();
423
+ auto &writer = local_data.stream;
424
+ if (writer.GetPosition() >= csv_data.flush_size) {
425
+ global_state.WriteRows(writer.GetData(), writer.GetPosition(), csv_data.newline);
426
+ writer.Rewind();
427
427
  local_data.written_anything = false;
428
428
  }
429
429
  }
@@ -436,11 +436,11 @@ static void WriteCSVCombine(ExecutionContext &context, FunctionData &bind_data,
436
436
  auto &local_data = lstate.Cast<LocalWriteCSVData>();
437
437
  auto &global_state = gstate.Cast<GlobalWriteCSVData>();
438
438
  auto &csv_data = bind_data.Cast<WriteCSVData>();
439
- auto &writer = local_data.serializer;
439
+ auto &writer = local_data.stream;
440
440
  // flush the local writer
441
441
  if (local_data.written_anything) {
442
- global_state.WriteRows(writer.blob.data.get(), writer.blob.size, csv_data.newline);
443
- writer.Reset();
442
+ global_state.WriteRows(writer.GetData(), writer.GetPosition(), csv_data.newline);
443
+ writer.Rewind();
444
444
  }
445
445
  }
446
446
 
@@ -452,13 +452,13 @@ void WriteCSVFinalize(ClientContext &context, FunctionData &bind_data, GlobalFun
452
452
  auto &csv_data = bind_data.Cast<WriteCSVData>();
453
453
  auto &options = csv_data.options;
454
454
 
455
- BufferedSerializer serializer;
455
+ MemoryStream stream;
456
456
  if (!options.suffix.empty()) {
457
- serializer.WriteBufferData(options.suffix);
457
+ stream.WriteData(const_data_ptr_cast(options.suffix.c_str()), options.suffix.size());
458
458
  } else if (global_state.written_anything) {
459
- serializer.WriteBufferData(csv_data.newline);
459
+ stream.WriteData(const_data_ptr_cast(csv_data.newline.c_str()), csv_data.newline.size());
460
460
  }
461
- global_state.WriteData(serializer.blob.data.get(), serializer.blob.size);
461
+ global_state.WriteData(stream.GetData(), stream.GetPosition());
462
462
 
463
463
  global_state.handle->Close();
464
464
  global_state.handle.reset();
@@ -481,7 +481,7 @@ CopyFunctionExecutionMode WriteCSVExecutionMode(bool preserve_insertion_order, b
481
481
  //===--------------------------------------------------------------------===//
482
482
  struct WriteCSVBatchData : public PreparedBatchData {
483
483
  //! The thread-local buffer to write data into
484
- BufferedSerializer serializer;
484
+ MemoryStream stream;
485
485
  };
486
486
 
487
487
  unique_ptr<PreparedBatchData> WriteCSVPrepareBatch(ClientContext &context, FunctionData &bind_data,
@@ -499,7 +499,7 @@ unique_ptr<PreparedBatchData> WriteCSVPrepareBatch(ClientContext &context, Funct
499
499
  bool written_anything = false;
500
500
  auto batch = make_uniq<WriteCSVBatchData>();
501
501
  for (auto &chunk : collection->Chunks()) {
502
- WriteCSVChunkInternal(context, bind_data, cast_chunk, batch->serializer, chunk, written_anything);
502
+ WriteCSVChunkInternal(context, bind_data, cast_chunk, batch->stream, chunk, written_anything);
503
503
  }
504
504
  return std::move(batch);
505
505
  }
@@ -512,9 +512,9 @@ void WriteCSVFlushBatch(ClientContext &context, FunctionData &bind_data, GlobalF
512
512
  auto &csv_batch = batch.Cast<WriteCSVBatchData>();
513
513
  auto &global_state = gstate.Cast<GlobalWriteCSVData>();
514
514
  auto &csv_data = bind_data.Cast<WriteCSVData>();
515
- auto &writer = csv_batch.serializer;
516
- global_state.WriteRows(writer.blob.data.get(), writer.blob.size, csv_data.newline);
517
- writer.Reset();
515
+ auto &writer = csv_batch.stream;
516
+ global_state.WriteRows(writer.GetData(), writer.GetPosition(), csv_data.newline);
517
+ writer.Rewind();
518
518
  }
519
519
 
520
520
  void CSVCopyFunction::RegisterFunction(BuiltinFunctions &set) {
@@ -16,8 +16,8 @@
16
16
  #include "duckdb/parser/tableref/table_function_ref.hpp"
17
17
  #include "duckdb/planner/operator/logical_get.hpp"
18
18
  #include "duckdb/main/extension_helper.hpp"
19
- #include "duckdb/common/serializer/format_serializer.hpp"
20
- #include "duckdb/common/serializer/format_deserializer.hpp"
19
+ #include "duckdb/common/serializer/serializer.hpp"
20
+ #include "duckdb/common/serializer/deserializer.hpp"
21
21
 
22
22
  #include <limits>
23
23
 
@@ -1088,182 +1088,15 @@ unique_ptr<NodeStatistics> CSVReaderCardinality(ClientContext &context, const Fu
1088
1088
  }
1089
1089
  return make_uniq<NodeStatistics>(bind_data.files.size() * per_file_cardinality);
1090
1090
  }
1091
- void CSVStateMachineOptions::Serialize(FieldWriter &writer) const {
1092
- writer.WriteField<char>(delimiter);
1093
- writer.WriteField<char>(quote);
1094
- writer.WriteField<char>(escape);
1095
- }
1096
-
1097
- void DialectOptions::Serialize(FieldWriter &writer) const {
1098
- state_machine_options.Serialize(writer);
1099
- writer.WriteField<bool>(header);
1100
- writer.WriteField<idx_t>(num_cols);
1101
- writer.WriteField<NewLineIdentifier>(new_line);
1102
- writer.WriteField<idx_t>(skip_rows);
1103
- vector<string> csv_formats;
1104
- for (auto &format : date_format) {
1105
- writer.WriteField(has_format.find(format.first)->second);
1106
- csv_formats.push_back(format.second.format_specifier);
1107
- }
1108
- writer.WriteList<string>(csv_formats);
1109
- }
1110
- void CSVStateMachineOptions::Deserialize(FieldReader &reader) {
1111
- delimiter = reader.ReadRequired<char>();
1112
- quote = reader.ReadRequired<char>();
1113
- escape = reader.ReadRequired<char>();
1114
- }
1115
- void DialectOptions::Deserialize(FieldReader &reader) {
1116
- state_machine_options.Deserialize(reader);
1117
- header = reader.ReadRequired<bool>();
1118
- num_cols = reader.ReadRequired<idx_t>();
1119
- new_line = reader.ReadRequired<NewLineIdentifier>();
1120
- skip_rows = reader.ReadRequired<idx_t>();
1121
-
1122
- bool has_date = reader.ReadRequired<bool>();
1123
- bool has_timestamp = reader.ReadRequired<bool>();
1124
- auto formats = reader.ReadRequiredList<string>();
1125
-
1126
- vector<LogicalTypeId> format_types {LogicalTypeId::DATE, LogicalTypeId::TIMESTAMP};
1127
- if (has_date) {
1128
- has_format[LogicalTypeId::DATE] = true;
1129
- }
1130
- if (has_timestamp) {
1131
- has_format[LogicalTypeId::TIMESTAMP] = true;
1132
- }
1133
- for (idx_t f_idx = 0; f_idx < formats.size(); f_idx++) {
1134
- auto &format = formats[f_idx];
1135
- auto &type = format_types[f_idx];
1136
- if (format.empty()) {
1137
- continue;
1138
- }
1139
- StrTimeFormat::ParseFormatSpecifier(format, date_format[type]);
1140
- }
1141
- }
1142
-
1143
- void CSVReaderOptions::Serialize(FieldWriter &writer) const {
1144
- // common options
1145
- writer.WriteField<bool>(has_delimiter);
1146
- writer.WriteField<bool>(has_quote);
1147
- writer.WriteField<bool>(has_escape);
1148
- writer.WriteField<bool>(has_header);
1149
- writer.WriteField<bool>(ignore_errors);
1150
- writer.WriteField<idx_t>(buffer_sample_size);
1151
- writer.WriteString(null_str);
1152
- writer.WriteField<FileCompressionType>(compression);
1153
- writer.WriteField<bool>(allow_quoted_nulls);
1154
- // read options
1155
- writer.WriteField<bool>(skip_rows_set);
1156
- writer.WriteField<idx_t>(maximum_line_size);
1157
- writer.WriteField<bool>(normalize_names);
1158
- writer.WriteListNoReference<bool>(force_not_null);
1159
- writer.WriteField<bool>(all_varchar);
1160
- writer.WriteField<idx_t>(sample_chunk_size);
1161
- writer.WriteField<idx_t>(sample_chunks);
1162
- writer.WriteField<bool>(auto_detect);
1163
- writer.WriteString(file_path);
1164
- writer.WriteString(decimal_separator);
1165
- writer.WriteField<bool>(null_padding);
1166
- writer.WriteField<idx_t>(buffer_size);
1167
- writer.WriteSerializable(file_options);
1168
- // write options
1169
- writer.WriteListNoReference<bool>(force_quote);
1170
-
1171
- // reject options
1172
- writer.WriteString(rejects_table_name);
1173
- writer.WriteField<idx_t>(rejects_limit);
1174
- writer.WriteList<string>(rejects_recovery_columns);
1175
- writer.WriteList<idx_t>(rejects_recovery_column_ids);
1176
-
1177
- // Serialize Dialect Options
1178
- dialect_options.Serialize(writer);
1179
- }
1180
-
1181
- void CSVReaderOptions::Deserialize(FieldReader &reader) {
1182
- // common options
1183
- has_delimiter = reader.ReadRequired<bool>();
1184
- has_quote = reader.ReadRequired<bool>();
1185
- has_escape = reader.ReadRequired<bool>();
1186
- has_header = reader.ReadRequired<bool>();
1187
- ignore_errors = reader.ReadRequired<bool>();
1188
- buffer_sample_size = reader.ReadRequired<idx_t>();
1189
- null_str = reader.ReadRequired<string>();
1190
- compression = reader.ReadRequired<FileCompressionType>();
1191
- allow_quoted_nulls = reader.ReadRequired<bool>();
1192
- // read options
1193
- skip_rows_set = reader.ReadRequired<bool>();
1194
- maximum_line_size = reader.ReadRequired<idx_t>();
1195
- normalize_names = reader.ReadRequired<bool>();
1196
- force_not_null = reader.ReadRequiredList<bool>();
1197
- all_varchar = reader.ReadRequired<bool>();
1198
- sample_chunk_size = reader.ReadRequired<idx_t>();
1199
- sample_chunks = reader.ReadRequired<idx_t>();
1200
- auto_detect = reader.ReadRequired<bool>();
1201
- file_path = reader.ReadRequired<string>();
1202
- decimal_separator = reader.ReadRequired<string>();
1203
- null_padding = reader.ReadRequired<bool>();
1204
- buffer_size = reader.ReadRequired<idx_t>();
1205
- file_options = reader.ReadRequiredSerializable<MultiFileReaderOptions, MultiFileReaderOptions>();
1206
- // write options
1207
- force_quote = reader.ReadRequiredList<bool>();
1208
-
1209
- // rejects options
1210
- rejects_table_name = reader.ReadRequired<string>();
1211
- rejects_limit = reader.ReadRequired<idx_t>();
1212
- rejects_recovery_columns = reader.ReadRequiredList<string>();
1213
- rejects_recovery_column_ids = reader.ReadRequiredList<idx_t>();
1214
-
1215
- // dialect options
1216
- dialect_options.Deserialize(reader);
1217
- }
1218
-
1219
- static void CSVReaderSerialize(FieldWriter &writer, const FunctionData *bind_data_p, const TableFunction &function) {
1220
- auto &bind_data = bind_data_p->Cast<ReadCSVData>();
1221
- writer.WriteString(function.extra_info);
1222
- writer.WriteList<string>(bind_data.files);
1223
- writer.WriteRegularSerializableList<LogicalType>(bind_data.csv_types);
1224
- writer.WriteList<string>(bind_data.csv_names);
1225
- writer.WriteRegularSerializableList<LogicalType>(bind_data.return_types);
1226
- writer.WriteList<string>(bind_data.return_names);
1227
- writer.WriteField<idx_t>(bind_data.filename_col_idx);
1228
- writer.WriteField<idx_t>(bind_data.hive_partition_col_idx);
1229
- bind_data.options.Serialize(writer);
1230
- writer.WriteField<bool>(bind_data.single_threaded);
1231
- writer.WriteSerializable(bind_data.reader_bind);
1232
- writer.WriteField<uint32_t>(bind_data.column_info.size());
1233
- for (auto &col : bind_data.column_info) {
1234
- col.Serialize(writer);
1235
- }
1236
- }
1237
-
1238
- static unique_ptr<FunctionData> CSVReaderDeserialize(PlanDeserializationState &state, FieldReader &reader,
1239
- TableFunction &function) {
1240
- function.extra_info = reader.ReadRequired<string>();
1241
- auto result_data = make_uniq<ReadCSVData>();
1242
- result_data->files = reader.ReadRequiredList<string>();
1243
- result_data->csv_types = reader.ReadRequiredSerializableList<LogicalType, LogicalType>();
1244
- result_data->csv_names = reader.ReadRequiredList<string>();
1245
- result_data->return_types = reader.ReadRequiredSerializableList<LogicalType, LogicalType>();
1246
- result_data->return_names = reader.ReadRequiredList<string>();
1247
- result_data->filename_col_idx = reader.ReadRequired<idx_t>();
1248
- result_data->hive_partition_col_idx = reader.ReadRequired<idx_t>();
1249
- result_data->options.Deserialize(reader);
1250
- result_data->single_threaded = reader.ReadField<bool>(true);
1251
- result_data->reader_bind = reader.ReadRequiredSerializable<MultiFileReaderBindData, MultiFileReaderBindData>();
1252
- uint32_t file_number = reader.ReadRequired<uint32_t>();
1253
- for (idx_t i = 0; i < file_number; i++) {
1254
- result_data->column_info.emplace_back(ColumnInfo::Deserialize(reader));
1255
- }
1256
- return std::move(result_data);
1257
- }
1258
1091
 
1259
- static void CSVReaderFormatSerialize(FormatSerializer &serializer, const optional_ptr<FunctionData> bind_data_p,
1260
- const TableFunction &function) {
1092
+ static void CSVReaderSerialize(Serializer &serializer, const optional_ptr<FunctionData> bind_data_p,
1093
+ const TableFunction &function) {
1261
1094
  auto &bind_data = bind_data_p->Cast<ReadCSVData>();
1262
1095
  serializer.WriteProperty(100, "extra_info", function.extra_info);
1263
1096
  serializer.WriteProperty(101, "csv_data", &bind_data);
1264
1097
  }
1265
1098
 
1266
- static unique_ptr<FunctionData> CSVReaderFormatDeserialize(FormatDeserializer &deserializer, TableFunction &function) {
1099
+ static unique_ptr<FunctionData> CSVReaderDeserialize(Deserializer &deserializer, TableFunction &function) {
1267
1100
  unique_ptr<ReadCSVData> result;
1268
1101
  deserializer.ReadProperty(100, "extra_info", function.extra_info);
1269
1102
  deserializer.ReadProperty(101, "csv_data", result);
@@ -1277,8 +1110,6 @@ TableFunction ReadCSVTableFunction::GetFunction() {
1277
1110
  read_csv.pushdown_complex_filter = CSVComplexFilterPushdown;
1278
1111
  read_csv.serialize = CSVReaderSerialize;
1279
1112
  read_csv.deserialize = CSVReaderDeserialize;
1280
- read_csv.format_serialize = CSVReaderFormatSerialize;
1281
- read_csv.format_deserialize = CSVReaderFormatDeserialize;
1282
1113
  read_csv.get_batch_index = CSVReaderGetBatchIndex;
1283
1114
  read_csv.cardinality = CSVReaderCardinality;
1284
1115
  read_csv.projection_pushdown = true;
@@ -1,7 +1,6 @@
1
1
  #include "duckdb/function/table/table_scan.hpp"
2
2
 
3
3
  #include "duckdb/catalog/catalog_entry/duck_table_entry.hpp"
4
- #include "duckdb/common/field_writer.hpp"
5
4
  #include "duckdb/common/mutex.hpp"
6
5
  #include "duckdb/main/client_config.hpp"
7
6
  #include "duckdb/optimizer/matcher/expression_matcher.hpp"
@@ -15,8 +14,8 @@
15
14
  #include "duckdb/catalog/dependency_list.hpp"
16
15
  #include "duckdb/function/function_set.hpp"
17
16
  #include "duckdb/storage/table/scan_state.hpp"
18
- #include "duckdb/common/serializer/format_serializer.hpp"
19
- #include "duckdb/common/serializer/format_deserializer.hpp"
17
+ #include "duckdb/common/serializer/serializer.hpp"
18
+ #include "duckdb/common/serializer/deserializer.hpp"
20
19
 
21
20
  namespace duckdb {
22
21
 
@@ -417,40 +416,8 @@ string TableScanToString(const FunctionData *bind_data_p) {
417
416
  return result;
418
417
  }
419
418
 
420
- static void TableScanSerialize(FieldWriter &writer, const FunctionData *bind_data_p, const TableFunction &function) {
421
- auto &bind_data = bind_data_p->Cast<TableScanBindData>();
422
-
423
- writer.WriteString(bind_data.table.schema.name);
424
- writer.WriteString(bind_data.table.name);
425
- writer.WriteField<bool>(bind_data.is_index_scan);
426
- writer.WriteField<bool>(bind_data.is_create_index);
427
- writer.WriteList<row_t>(bind_data.result_ids);
428
- writer.WriteString(bind_data.table.schema.catalog.GetName());
429
- }
430
-
431
- static unique_ptr<FunctionData> TableScanDeserialize(PlanDeserializationState &state, FieldReader &reader,
432
- TableFunction &function) {
433
- auto schema_name = reader.ReadRequired<string>();
434
- auto table_name = reader.ReadRequired<string>();
435
- auto is_index_scan = reader.ReadRequired<bool>();
436
- auto is_create_index = reader.ReadRequired<bool>();
437
- auto result_ids = reader.ReadRequiredList<row_t>();
438
- auto catalog_name = reader.ReadField<string>(INVALID_CATALOG);
439
-
440
- auto &catalog_entry = Catalog::GetEntry<TableCatalogEntry>(state.context, catalog_name, schema_name, table_name);
441
- if (catalog_entry.type != CatalogType::TABLE_ENTRY) {
442
- throw SerializationException("Cant find table for %s.%s", schema_name, table_name);
443
- }
444
-
445
- auto result = make_uniq<TableScanBindData>(catalog_entry.Cast<DuckTableEntry>());
446
- result->is_index_scan = is_index_scan;
447
- result->is_create_index = is_create_index;
448
- result->result_ids = std::move(result_ids);
449
- return std::move(result);
450
- }
451
-
452
- static void TableScanFormatSerialize(FormatSerializer &serializer, const optional_ptr<FunctionData> bind_data_p,
453
- const TableFunction &function) {
419
+ static void TableScanSerialize(Serializer &serializer, const optional_ptr<FunctionData> bind_data_p,
420
+ const TableFunction &function) {
454
421
  auto &bind_data = bind_data_p->Cast<TableScanBindData>();
455
422
  serializer.WriteProperty(100, "catalog", bind_data.table.schema.catalog.GetName());
456
423
  serializer.WriteProperty(101, "schema", bind_data.table.schema.name);
@@ -460,7 +427,7 @@ static void TableScanFormatSerialize(FormatSerializer &serializer, const optiona
460
427
  serializer.WriteProperty(105, "result_ids", bind_data.result_ids);
461
428
  }
462
429
 
463
- static unique_ptr<FunctionData> TableScanFormatDeserialize(FormatDeserializer &deserializer, TableFunction &function) {
430
+ static unique_ptr<FunctionData> TableScanDeserialize(Deserializer &deserializer, TableFunction &function) {
464
431
  auto catalog = deserializer.ReadProperty<string>(100, "catalog");
465
432
  auto schema = deserializer.ReadProperty<string>(101, "schema");
466
433
  auto table = deserializer.ReadProperty<string>(102, "table");
@@ -491,8 +458,6 @@ TableFunction TableScanFunction::GetIndexScanFunction() {
491
458
  scan_function.filter_pushdown = false;
492
459
  scan_function.serialize = TableScanSerialize;
493
460
  scan_function.deserialize = TableScanDeserialize;
494
- scan_function.format_serialize = TableScanFormatSerialize;
495
- scan_function.format_deserialize = TableScanFormatDeserialize;
496
461
  return scan_function;
497
462
  }
498
463
 
@@ -513,8 +478,6 @@ TableFunction TableScanFunction::GetFunction() {
513
478
  scan_function.filter_prune = true;
514
479
  scan_function.serialize = TableScanSerialize;
515
480
  scan_function.deserialize = TableScanDeserialize;
516
- scan_function.format_serialize = TableScanFormatSerialize;
517
- scan_function.format_deserialize = TableScanFormatDeserialize;
518
481
  return scan_function;
519
482
  }
520
483
 
@@ -1,8 +1,8 @@
1
1
  #ifndef DUCKDB_VERSION
2
- #define DUCKDB_VERSION "0.8.2-dev4142"
2
+ #define DUCKDB_VERSION "0.8.2-dev4203"
3
3
  #endif
4
4
  #ifndef DUCKDB_SOURCE_ID
5
- #define DUCKDB_SOURCE_ID "d5c4422f72"
5
+ #define DUCKDB_SOURCE_ID "7208022cac"
6
6
  #endif
7
7
  #include "duckdb/function/table/system_functions.hpp"
8
8
  #include "duckdb/main/database.hpp"
@@ -18,8 +18,8 @@ TableFunction::TableFunction(string name, vector<LogicalType> arguments, table_f
18
18
  init_global(init_global), init_local(init_local), function(function), in_out_function(nullptr),
19
19
  in_out_function_final(nullptr), statistics(nullptr), dependency(nullptr), cardinality(nullptr),
20
20
  pushdown_complex_filter(nullptr), to_string(nullptr), table_scan_progress(nullptr), get_batch_index(nullptr),
21
- get_batch_info(nullptr), serialize(nullptr), deserialize(nullptr), format_serialize(nullptr),
22
- format_deserialize(nullptr), projection_pushdown(false), filter_pushdown(false), filter_prune(false) {
21
+ get_batch_info(nullptr), serialize(nullptr), deserialize(nullptr), projection_pushdown(false),
22
+ filter_pushdown(false), filter_prune(false) {
23
23
  }
24
24
 
25
25
  TableFunction::TableFunction(const vector<LogicalType> &arguments, table_function_t function,
@@ -32,8 +32,7 @@ TableFunction::TableFunction()
32
32
  init_local(nullptr), function(nullptr), in_out_function(nullptr), statistics(nullptr), dependency(nullptr),
33
33
  cardinality(nullptr), pushdown_complex_filter(nullptr), to_string(nullptr), table_scan_progress(nullptr),
34
34
  get_batch_index(nullptr), get_batch_info(nullptr), serialize(nullptr), deserialize(nullptr),
35
- format_serialize(nullptr), format_deserialize(nullptr), projection_pushdown(false), filter_pushdown(false),
36
- filter_prune(false) {
35
+ projection_pushdown(false), filter_pushdown(false), filter_prune(false) {
37
36
  }
38
37
 
39
38
  bool TableFunction::Equal(const TableFunction &rhs) const {
@@ -31,14 +31,4 @@ string TableMacroFunction::ToSQL(const string &schema, const string &name) const
31
31
  return MacroFunction::ToSQL(schema, name) + StringUtil::Format("TABLE (%s);", query_node->ToString());
32
32
  }
33
33
 
34
- void TableMacroFunction::SerializeInternal(FieldWriter &writer) const {
35
- writer.WriteSerializable(*query_node);
36
- }
37
-
38
- unique_ptr<MacroFunction> TableMacroFunction::Deserialize(FieldReader &reader) {
39
- auto result = make_uniq<TableMacroFunction>();
40
- result->query_node = reader.ReadRequiredSerializable<QueryNode>();
41
- return std::move(result);
42
- }
43
-
44
34
  } // namespace duckdb
@@ -19,8 +19,6 @@ class StandardEntry;
19
19
  class TableCatalogEntry;
20
20
  class TableFunctionCatalogEntry;
21
21
  class SequenceCatalogEntry;
22
- class Serializer;
23
- class Deserializer;
24
22
 
25
23
  enum class OnCreateConflict : uint8_t;
26
24
 
@@ -14,8 +14,6 @@
14
14
  #include "duckdb/parser/parsed_data/alter_table_info.hpp"
15
15
 
16
16
  namespace duckdb {
17
- class Serializer;
18
- class Deserializer;
19
17
 
20
18
  struct SequenceValue {
21
19
  SequenceValue() : usage_count(0), counter(-1) {
@@ -13,8 +13,6 @@
13
13
  #include "duckdb/parser/parsed_data/create_type_info.hpp"
14
14
 
15
15
  namespace duckdb {
16
- class Serializer;
17
- class Deserializer;
18
16
 
19
17
  //! A type catalog entry
20
18
  class TypeCatalogEntry : public StandardEntry {
@@ -21,8 +21,8 @@ class Catalog;
21
21
  class CatalogSet;
22
22
  class ClientContext;
23
23
  class SchemaCatalogEntry;
24
- class FormatSerializer;
25
- class FormatDeserializer;
24
+ class Serializer;
25
+ class Deserializer;
26
26
 
27
27
  struct CreateInfo;
28
28
 
@@ -74,13 +74,8 @@ public:
74
74
 
75
75
  virtual void Verify(Catalog &catalog);
76
76
 
77
- //! Serialize the meta information of the CatalogEntry a serializer
78
77
  void Serialize(Serializer &serializer) const;
79
- //! Deserializes to a CreateInfo
80
- static unique_ptr<CreateInfo> Deserialize(Deserializer &source);
81
-
82
- void FormatSerialize(FormatSerializer &serializer) const;
83
- static unique_ptr<CreateInfo> FormatDeserialize(FormatDeserializer &deserializer);
78
+ static unique_ptr<CreateInfo> Deserialize(Deserializer &deserializer);
84
79
 
85
80
  public:
86
81
  template <class TARGET>
@@ -17,8 +17,10 @@
17
17
  namespace duckdb {
18
18
  class Serializer;
19
19
  class Deserializer;
20
- class FormatSerializer;
21
- class FormatDeserializer;
20
+ class BinarySerializer;
21
+ class BinaryDeserializer;
22
+ class WriteStream;
23
+ class ReadStream;
22
24
 
23
25
  //! inline std directives that we use frequently
24
26
  #ifndef DUCKDB_DEBUG_MOVE