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
@@ -4,8 +4,6 @@
4
4
  #include "duckdb/catalog/catalog_entry/schema_catalog_entry.hpp"
5
5
  #include "duckdb/common/algorithm.hpp"
6
6
  #include "duckdb/common/exception.hpp"
7
- #include "duckdb/common/field_writer.hpp"
8
- #include "duckdb/common/serializer.hpp"
9
7
  #include "duckdb/main/database.hpp"
10
8
  #include "duckdb/parser/constraints/list.hpp"
11
9
  #include "duckdb/parser/parsed_data/create_table_info.hpp"
@@ -1,11 +1,9 @@
1
+ #include "duckdb/catalog/catalog.hpp"
1
2
  #include "duckdb/catalog/catalog_entry/type_catalog_entry.hpp"
2
-
3
3
  #include "duckdb/catalog/catalog_entry/schema_catalog_entry.hpp"
4
4
  #include "duckdb/common/exception.hpp"
5
5
  #include "duckdb/common/limits.hpp"
6
- #include "duckdb/common/field_writer.hpp"
7
6
  #include "duckdb/parser/keyword_helper.hpp"
8
- #include "duckdb/common/types/vector.hpp"
9
7
  #include <algorithm>
10
8
  #include <sstream>
11
9
 
@@ -2,7 +2,6 @@
2
2
 
3
3
  #include "duckdb/catalog/catalog_entry/schema_catalog_entry.hpp"
4
4
  #include "duckdb/common/exception.hpp"
5
- #include "duckdb/common/field_writer.hpp"
6
5
  #include "duckdb/parser/parsed_data/alter_table_info.hpp"
7
6
  #include "duckdb/parser/parsed_data/create_view_info.hpp"
8
7
  #include "duckdb/common/limits.hpp"
@@ -55,17 +55,8 @@ void CatalogEntry::Serialize(Serializer &serializer) const {
55
55
  info->Serialize(serializer);
56
56
  }
57
57
 
58
- unique_ptr<CreateInfo> CatalogEntry::Deserialize(Deserializer &source) {
59
- return CreateInfo::Deserialize(source);
60
- }
61
-
62
- void CatalogEntry::FormatSerialize(FormatSerializer &serializer) const {
63
- const auto info = GetInfo();
64
- info->FormatSerialize(serializer);
65
- }
66
-
67
- unique_ptr<CreateInfo> CatalogEntry::FormatDeserialize(FormatDeserializer &deserializer) {
68
- return CreateInfo::FormatDeserialize(deserializer);
58
+ unique_ptr<CreateInfo> CatalogEntry::Deserialize(Deserializer &deserializer) {
59
+ return CreateInfo::Deserialize(deserializer);
69
60
  }
70
61
 
71
62
  void CatalogEntry::Verify(Catalog &catalog_p) {
@@ -1,18 +1,18 @@
1
1
  #include "duckdb/catalog/catalog_set.hpp"
2
2
 
3
+ #include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp"
4
+ #include "duckdb/catalog/catalog_entry/type_catalog_entry.hpp"
5
+ #include "duckdb/catalog/dependency_manager.hpp"
3
6
  #include "duckdb/catalog/duck_catalog.hpp"
7
+ #include "duckdb/catalog/mapping_value.hpp"
4
8
  #include "duckdb/common/exception.hpp"
5
- #include "duckdb/transaction/transaction_manager.hpp"
6
- #include "duckdb/transaction/duck_transaction.hpp"
7
- #include "duckdb/common/serializer/buffered_serializer.hpp"
8
- #include "duckdb/parser/parsed_data/alter_table_info.hpp"
9
- #include "duckdb/catalog/dependency_manager.hpp"
9
+ #include "duckdb/common/serializer/memory_stream.hpp"
10
+ #include "duckdb/common/serializer/binary_serializer.hpp"
10
11
  #include "duckdb/common/string_util.hpp"
11
- #include "duckdb/parser/column_definition.hpp"
12
12
  #include "duckdb/parser/expression/constant_expression.hpp"
13
- #include "duckdb/catalog/mapping_value.hpp"
14
- #include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp"
15
- #include "duckdb/catalog/catalog_entry/type_catalog_entry.hpp"
13
+ #include "duckdb/parser/parsed_data/alter_table_info.hpp"
14
+ #include "duckdb/transaction/duck_transaction.hpp"
15
+ #include "duckdb/transaction/transaction_manager.hpp"
16
16
 
17
17
  namespace duckdb {
18
18
 
@@ -252,15 +252,17 @@ bool CatalogSet::AlterEntry(CatalogTransaction transaction, const string &name,
252
252
  PutEntry(std::move(entry_index), std::move(value));
253
253
 
254
254
  // serialize the AlterInfo into a temporary buffer
255
- BufferedSerializer serializer;
256
- serializer.WriteString(alter_info.GetColumnName());
257
- alter_info.Serialize(serializer);
258
- BinaryData serialized_alter = serializer.GetData();
255
+ MemoryStream stream;
256
+ BinarySerializer serializer(stream);
257
+ serializer.Begin();
258
+ serializer.WriteProperty(100, "column_name", alter_info.GetColumnName());
259
+ serializer.WriteProperty(101, "alter_info", &alter_info);
260
+ serializer.End();
259
261
 
260
262
  // push the old entry in the undo buffer for this transaction
261
263
  if (transaction.transaction) {
262
264
  auto &dtransaction = transaction.transaction->Cast<DuckTransaction>();
263
- dtransaction.PushCatalogEntry(*new_entry->child, serialized_alter.data.get(), serialized_alter.size);
265
+ dtransaction.PushCatalogEntry(*new_entry->child, stream.GetData(), stream.GetPosition());
264
266
  }
265
267
 
266
268
  // Check the dependency manager to verify that there are no conflicting dependencies with this alter
@@ -165,12 +165,12 @@ unique_ptr<CreateMacroInfo> DefaultFunctionGenerator::CreateInternalTableMacroIn
165
165
  make_uniq<ColumnRefExpression>(default_macro.parameters[param_idx]));
166
166
  }
167
167
 
168
- auto bind_info = make_uniq<CreateMacroInfo>();
168
+ auto type = function->type == MacroType::TABLE_MACRO ? CatalogType::TABLE_MACRO_ENTRY : CatalogType::MACRO_ENTRY;
169
+ auto bind_info = make_uniq<CreateMacroInfo>(type);
169
170
  bind_info->schema = default_macro.schema;
170
171
  bind_info->name = default_macro.name;
171
172
  bind_info->temporary = true;
172
173
  bind_info->internal = true;
173
- bind_info->type = function->type == MacroType::TABLE_MACRO ? CatalogType::TABLE_MACRO_ENTRY : CatalogType::MACRO_ENTRY;
174
174
  bind_info->function = std::move(function);
175
175
  return bind_info;
176
176
 
@@ -4,7 +4,6 @@
4
4
  #include "duckdb/common/arrow/arrow_converter.hpp"
5
5
  #include "duckdb/common/exception.hpp"
6
6
  #include "duckdb/common/helper.hpp"
7
- #include "duckdb/common/serializer.hpp"
8
7
  #include "duckdb/common/types/interval.hpp"
9
8
  #include "duckdb/common/types/sel_cache.hpp"
10
9
  #include "duckdb/common/types/vector_cache.hpp"
@@ -2,7 +2,6 @@
2
2
 
3
3
  #include "duckdb/common/limits.hpp"
4
4
  #include "duckdb/common/vector_size.hpp"
5
- #include "duckdb/common/serializer.hpp"
6
5
 
7
6
  namespace duckdb {
8
7
 
@@ -6114,10 +6114,6 @@ const char* EnumUtil::ToChars<VerificationType>(VerificationType value) {
6114
6114
  return "COPIED";
6115
6115
  case VerificationType::DESERIALIZED:
6116
6116
  return "DESERIALIZED";
6117
- case VerificationType::DESERIALIZED_V2:
6118
- return "DESERIALIZED_V2";
6119
- case VerificationType::DESERIALIZED_V2_NO_DEFAULT:
6120
- return "DESERIALIZED_V2_NO_DEFAULT";
6121
6117
  case VerificationType::PARSED:
6122
6118
  return "PARSED";
6123
6119
  case VerificationType::UNOPTIMIZED:
@@ -6146,12 +6142,6 @@ VerificationType EnumUtil::FromString<VerificationType>(const char *value) {
6146
6142
  if (StringUtil::Equals(value, "DESERIALIZED")) {
6147
6143
  return VerificationType::DESERIALIZED;
6148
6144
  }
6149
- if (StringUtil::Equals(value, "DESERIALIZED_V2")) {
6150
- return VerificationType::DESERIALIZED_V2;
6151
- }
6152
- if (StringUtil::Equals(value, "DESERIALIZED_V2_NO_DEFAULT")) {
6153
- return VerificationType::DESERIALIZED_V2_NO_DEFAULT;
6154
- }
6155
6145
  if (StringUtil::Equals(value, "PARSED")) {
6156
6146
  return VerificationType::PARSED;
6157
6147
  }
@@ -355,7 +355,7 @@ MissingExtensionException::MissingExtensionException(const string &msg)
355
355
 
356
356
  AutoloadException::AutoloadException(const string &extension_name, Exception &e)
357
357
  : Exception(ExceptionType::AUTOLOAD,
358
- "An error occured while trying to automatically install the required extension '" + extension_name +
358
+ "An error occurred while trying to automatically install the required extension '" + extension_name +
359
359
  "':\n" + e.RawMessage()),
360
360
  wrapped_exception(e) {
361
361
  }
@@ -1,9 +1,8 @@
1
1
  #include "duckdb/common/extra_type_info.hpp"
2
- #include "duckdb/common/serializer/format_deserializer.hpp"
2
+ #include "duckdb/common/serializer/deserializer.hpp"
3
3
  #include "duckdb/common/enum_util.hpp"
4
- #include "duckdb/common/serializer/format_serializer.hpp"
4
+ #include "duckdb/common/serializer/serializer.hpp"
5
5
  #include "duckdb/catalog/catalog_entry/schema_catalog_entry.hpp"
6
- #include "duckdb/catalog/catalog_entry/type_catalog_entry.hpp"
7
6
  #include "duckdb/common/string_map_set.hpp"
8
7
 
9
8
  namespace duckdb {
@@ -42,63 +41,6 @@ bool ExtraTypeInfo::Equals(ExtraTypeInfo *other_p) const {
42
41
  return alias == other_p->alias && EqualsInternal(other_p);
43
42
  }
44
43
 
45
- void ExtraTypeInfo::Serialize(FieldWriter &writer) const {
46
- }
47
-
48
- void ExtraTypeInfo::Serialize(ExtraTypeInfo *info, FieldWriter &writer) {
49
- if (!info) {
50
- writer.WriteField<ExtraTypeInfoType>(ExtraTypeInfoType::INVALID_TYPE_INFO);
51
- writer.WriteString(string());
52
- } else {
53
- writer.WriteField<ExtraTypeInfoType>(info->type);
54
- info->Serialize(writer);
55
- writer.WriteString(info->alias);
56
- }
57
- }
58
-
59
- shared_ptr<ExtraTypeInfo> ExtraTypeInfo::Deserialize(FieldReader &reader) {
60
- auto type = reader.ReadRequired<ExtraTypeInfoType>();
61
- shared_ptr<ExtraTypeInfo> extra_info;
62
- switch (type) {
63
- case ExtraTypeInfoType::INVALID_TYPE_INFO: {
64
- auto alias = reader.ReadField<string>(string());
65
- if (!alias.empty()) {
66
- return make_shared<ExtraTypeInfo>(type, alias);
67
- }
68
- return nullptr;
69
- }
70
- case ExtraTypeInfoType::GENERIC_TYPE_INFO: {
71
- extra_info = make_shared<ExtraTypeInfo>(type);
72
- } break;
73
- case ExtraTypeInfoType::DECIMAL_TYPE_INFO:
74
- extra_info = DecimalTypeInfo::Deserialize(reader);
75
- break;
76
- case ExtraTypeInfoType::STRING_TYPE_INFO:
77
- extra_info = StringTypeInfo::Deserialize(reader);
78
- break;
79
- case ExtraTypeInfoType::LIST_TYPE_INFO:
80
- extra_info = ListTypeInfo::Deserialize(reader);
81
- break;
82
- case ExtraTypeInfoType::STRUCT_TYPE_INFO:
83
- extra_info = StructTypeInfo::Deserialize(reader);
84
- break;
85
- case ExtraTypeInfoType::USER_TYPE_INFO:
86
- extra_info = UserTypeInfo::Deserialize(reader);
87
- break;
88
- case ExtraTypeInfoType::ENUM_TYPE_INFO:
89
- extra_info = EnumTypeInfo::Deserialize(reader);
90
- break;
91
- case ExtraTypeInfoType::AGGREGATE_STATE_TYPE_INFO:
92
- extra_info = AggregateStateTypeInfo::Deserialize(reader);
93
- break;
94
- default:
95
- throw InternalException("Unimplemented type info in ExtraTypeInfo::Deserialize");
96
- }
97
- auto alias = reader.ReadField<string>(string());
98
- extra_info->alias = alias;
99
- return extra_info;
100
- }
101
-
102
44
  bool ExtraTypeInfo::EqualsInternal(ExtraTypeInfo *other_p) const {
103
45
  // Do nothing
104
46
  return true;
@@ -115,17 +57,6 @@ DecimalTypeInfo::DecimalTypeInfo(uint8_t width_p, uint8_t scale_p)
115
57
  D_ASSERT(width_p >= scale_p);
116
58
  }
117
59
 
118
- void DecimalTypeInfo::Serialize(FieldWriter &writer) const {
119
- writer.WriteField<uint8_t>(width);
120
- writer.WriteField<uint8_t>(scale);
121
- }
122
-
123
- shared_ptr<ExtraTypeInfo> DecimalTypeInfo::Deserialize(FieldReader &reader) {
124
- auto width = reader.ReadRequired<uint8_t>();
125
- auto scale = reader.ReadRequired<uint8_t>();
126
- return make_shared<DecimalTypeInfo>(width, scale);
127
- }
128
-
129
60
  bool DecimalTypeInfo::EqualsInternal(ExtraTypeInfo *other_p) const {
130
61
  auto &other = other_p->Cast<DecimalTypeInfo>();
131
62
  return width == other.width && scale == other.scale;
@@ -141,15 +72,6 @@ StringTypeInfo::StringTypeInfo(string collation_p)
141
72
  : ExtraTypeInfo(ExtraTypeInfoType::STRING_TYPE_INFO), collation(std::move(collation_p)) {
142
73
  }
143
74
 
144
- void StringTypeInfo::Serialize(FieldWriter &writer) const {
145
- writer.WriteString(collation);
146
- }
147
-
148
- shared_ptr<ExtraTypeInfo> StringTypeInfo::Deserialize(FieldReader &reader) {
149
- auto collation = reader.ReadRequired<string>();
150
- return make_shared<StringTypeInfo>(std::move(collation));
151
- }
152
-
153
75
  bool StringTypeInfo::EqualsInternal(ExtraTypeInfo *other_p) const {
154
76
  // collation info has no impact on equality
155
77
  return true;
@@ -165,15 +87,6 @@ ListTypeInfo::ListTypeInfo(LogicalType child_type_p)
165
87
  : ExtraTypeInfo(ExtraTypeInfoType::LIST_TYPE_INFO), child_type(std::move(child_type_p)) {
166
88
  }
167
89
 
168
- void ListTypeInfo::Serialize(FieldWriter &writer) const {
169
- writer.WriteSerializable(child_type);
170
- }
171
-
172
- shared_ptr<ExtraTypeInfo> ListTypeInfo::Deserialize(FieldReader &reader) {
173
- auto child_type = reader.ReadRequiredSerializable<LogicalType, LogicalType>();
174
- return make_shared<ListTypeInfo>(std::move(child_type));
175
- }
176
-
177
90
  bool ListTypeInfo::EqualsInternal(ExtraTypeInfo *other_p) const {
178
91
  auto &other = other_p->Cast<ListTypeInfo>();
179
92
  return child_type == other.child_type;
@@ -189,27 +102,6 @@ StructTypeInfo::StructTypeInfo(child_list_t<LogicalType> child_types_p)
189
102
  : ExtraTypeInfo(ExtraTypeInfoType::STRUCT_TYPE_INFO), child_types(std::move(child_types_p)) {
190
103
  }
191
104
 
192
- void StructTypeInfo::Serialize(FieldWriter &writer) const {
193
- writer.WriteField<uint32_t>(child_types.size());
194
- auto &serializer = writer.GetSerializer();
195
- for (idx_t i = 0; i < child_types.size(); i++) {
196
- serializer.WriteString(child_types[i].first);
197
- child_types[i].second.Serialize(serializer);
198
- }
199
- }
200
-
201
- shared_ptr<ExtraTypeInfo> StructTypeInfo::Deserialize(FieldReader &reader) {
202
- child_list_t<LogicalType> child_list;
203
- auto child_types_size = reader.ReadRequired<uint32_t>();
204
- auto &source = reader.GetSource();
205
- for (uint32_t i = 0; i < child_types_size; i++) {
206
- auto name = source.Read<string>();
207
- auto type = LogicalType::Deserialize(source);
208
- child_list.emplace_back(std::move(name), std::move(type));
209
- }
210
- return make_shared<StructTypeInfo>(std::move(child_list));
211
- }
212
-
213
105
  bool StructTypeInfo::EqualsInternal(ExtraTypeInfo *other_p) const {
214
106
  auto &other = other_p->Cast<StructTypeInfo>();
215
107
  return child_types == other.child_types;
@@ -225,32 +117,6 @@ AggregateStateTypeInfo::AggregateStateTypeInfo(aggregate_state_t state_type_p)
225
117
  : ExtraTypeInfo(ExtraTypeInfoType::AGGREGATE_STATE_TYPE_INFO), state_type(std::move(state_type_p)) {
226
118
  }
227
119
 
228
- void AggregateStateTypeInfo::Serialize(FieldWriter &writer) const {
229
- auto &serializer = writer.GetSerializer();
230
- writer.WriteString(state_type.function_name);
231
- state_type.return_type.Serialize(serializer);
232
- writer.WriteField<uint32_t>(state_type.bound_argument_types.size());
233
- for (idx_t i = 0; i < state_type.bound_argument_types.size(); i++) {
234
- state_type.bound_argument_types[i].Serialize(serializer);
235
- }
236
- }
237
-
238
- shared_ptr<ExtraTypeInfo> AggregateStateTypeInfo::Deserialize(FieldReader &reader) {
239
- auto &source = reader.GetSource();
240
-
241
- auto function_name = reader.ReadRequired<string>();
242
- auto return_type = LogicalType::Deserialize(source);
243
- auto bound_argument_types_size = reader.ReadRequired<uint32_t>();
244
- vector<LogicalType> bound_argument_types;
245
-
246
- for (uint32_t i = 0; i < bound_argument_types_size; i++) {
247
- auto type = LogicalType::Deserialize(source);
248
- bound_argument_types.push_back(std::move(type));
249
- }
250
- return make_shared<AggregateStateTypeInfo>(
251
- aggregate_state_t(std::move(function_name), std::move(return_type), std::move(bound_argument_types)));
252
- }
253
-
254
120
  bool AggregateStateTypeInfo::EqualsInternal(ExtraTypeInfo *other_p) const {
255
121
  auto &other = other_p->Cast<AggregateStateTypeInfo>();
256
122
  return state_type.function_name == other.state_type.function_name &&
@@ -268,15 +134,6 @@ UserTypeInfo::UserTypeInfo(string name_p)
268
134
  : ExtraTypeInfo(ExtraTypeInfoType::USER_TYPE_INFO), user_type_name(std::move(name_p)) {
269
135
  }
270
136
 
271
- void UserTypeInfo::Serialize(FieldWriter &writer) const {
272
- writer.WriteString(user_type_name);
273
- }
274
-
275
- shared_ptr<ExtraTypeInfo> UserTypeInfo::Deserialize(FieldReader &reader) {
276
- auto enum_name = reader.ReadRequired<string>();
277
- return make_shared<UserTypeInfo>(std::move(enum_name));
278
- }
279
-
280
137
  bool UserTypeInfo::EqualsInternal(ExtraTypeInfo *other_p) const {
281
138
  auto &other = other_p->Cast<UserTypeInfo>();
282
139
  return other.user_type_name == user_type_name;
@@ -320,16 +177,12 @@ struct EnumTypeInfoTemplated : public EnumTypeInfo {
320
177
  }
321
178
  }
322
179
 
323
- static shared_ptr<EnumTypeInfoTemplated> Deserialize(FieldReader &reader, uint32_t size) {
180
+ static shared_ptr<EnumTypeInfoTemplated> Deserialize(Deserializer &deserializer, uint32_t size) {
324
181
  Vector values_insert_order(LogicalType::VARCHAR, size);
325
- values_insert_order.Deserialize(size, reader.GetSource());
326
- return make_shared<EnumTypeInfoTemplated>(values_insert_order, size);
327
- }
182
+ auto strings = FlatVector::GetData<string_t>(values_insert_order);
328
183
 
329
- static shared_ptr<EnumTypeInfoTemplated> FormatDeserialize(FormatDeserializer &deserializer, uint32_t size) {
330
- Vector values_insert_order(LogicalType::VARCHAR, size);
331
- deserializer.ReadObject(201, "values_insert_order", [&](FormatDeserializer &source) {
332
- values_insert_order.FormatDeserialize(source, size);
184
+ deserializer.ReadList(201, "values", [&](Deserializer::List &list, idx_t i) {
185
+ strings[i] = StringVector::AddStringOrBlob(values_insert_order, list.ReadElement<string>());
333
186
  });
334
187
  return make_shared<EnumTypeInfoTemplated>(values_insert_order, size);
335
188
  }
@@ -411,32 +264,16 @@ string_t EnumType::GetString(const LogicalType &type, idx_t pos) {
411
264
  return FlatVector::GetData<string_t>(EnumType::GetValuesInsertOrder(type))[pos];
412
265
  }
413
266
 
414
- shared_ptr<ExtraTypeInfo> EnumTypeInfo::Deserialize(FieldReader &reader) {
415
- // deserialize the enum data
416
- auto enum_size = reader.ReadRequired<uint32_t>();
417
- auto enum_internal_type = EnumTypeInfo::DictType(enum_size);
267
+ shared_ptr<ExtraTypeInfo> EnumTypeInfo::Deserialize(Deserializer &deserializer) {
268
+ auto values_count = deserializer.ReadProperty<idx_t>(200, "values_count");
269
+ auto enum_internal_type = EnumTypeInfo::DictType(values_count);
418
270
  switch (enum_internal_type) {
419
271
  case PhysicalType::UINT8:
420
- return EnumTypeInfoTemplated<uint8_t>::Deserialize(reader, enum_size);
272
+ return EnumTypeInfoTemplated<uint8_t>::Deserialize(deserializer, values_count);
421
273
  case PhysicalType::UINT16:
422
- return EnumTypeInfoTemplated<uint16_t>::Deserialize(reader, enum_size);
274
+ return EnumTypeInfoTemplated<uint16_t>::Deserialize(deserializer, values_count);
423
275
  case PhysicalType::UINT32:
424
- return EnumTypeInfoTemplated<uint32_t>::Deserialize(reader, enum_size);
425
- default:
426
- throw InternalException("Invalid Physical Type for ENUMs");
427
- }
428
- }
429
-
430
- shared_ptr<ExtraTypeInfo> EnumTypeInfo::FormatDeserialize(FormatDeserializer &deserializer) {
431
- auto enum_size = deserializer.ReadProperty<idx_t>(200, "enum_size");
432
- auto enum_internal_type = EnumTypeInfo::DictType(enum_size);
433
- switch (enum_internal_type) {
434
- case PhysicalType::UINT8:
435
- return EnumTypeInfoTemplated<uint8_t>::FormatDeserialize(deserializer, enum_size);
436
- case PhysicalType::UINT16:
437
- return EnumTypeInfoTemplated<uint16_t>::FormatDeserialize(deserializer, enum_size);
438
- case PhysicalType::UINT32:
439
- return EnumTypeInfoTemplated<uint32_t>::FormatDeserialize(deserializer, enum_size);
276
+ return EnumTypeInfoTemplated<uint32_t>::Deserialize(deserializer, values_count);
440
277
  default:
441
278
  throw InternalException("Invalid Physical Type for ENUMs");
442
279
  }
@@ -465,23 +302,14 @@ bool EnumTypeInfo::EqualsInternal(ExtraTypeInfo *other_p) const {
465
302
  return true;
466
303
  }
467
304
 
468
- void EnumTypeInfo::Serialize(FieldWriter &writer) const {
469
- if (dict_type != EnumDictType::VECTOR_DICT) {
470
- throw InternalException("Cannot serialize non-vector dictionary ENUM types");
471
- }
472
- auto dict_size = GetDictSize();
473
- // Store Dictionary Size
474
- writer.WriteField<uint32_t>(dict_size);
475
- // Store Vector Order By Insertion
476
- ((Vector &)GetValuesInsertOrder()).Serialize(dict_size, writer.GetSerializer()); // NOLINT - FIXME
477
- }
478
-
479
- void EnumTypeInfo::FormatSerialize(FormatSerializer &serializer) const {
480
- ExtraTypeInfo::FormatSerialize(serializer);
481
- serializer.WriteProperty(200, "dict_size", dict_size);
482
- serializer.WriteObject(201, "values_insert_order", [&](FormatSerializer &serializer) {
483
- ((Vector &)GetValuesInsertOrder()).FormatSerialize(serializer, dict_size); // NOLINT - FIXME
484
- });
305
+ void EnumTypeInfo::Serialize(Serializer &serializer) const {
306
+ ExtraTypeInfo::Serialize(serializer);
307
+
308
+ // Enums are special in that we serialize their values as a list instead of dumping the whole vector
309
+ auto strings = FlatVector::GetData<string_t>(values_insert_order);
310
+ serializer.WriteProperty(200, "values_count", dict_size);
311
+ serializer.WriteList(201, "values", dict_size,
312
+ [&](Serializer::List &list, idx_t i) { list.WriteElement(strings[i]); });
485
313
  }
486
314
 
487
315
  } // namespace duckdb
@@ -339,77 +339,9 @@ TableFunctionSet MultiFileReader::CreateFunctionSet(TableFunction table_function
339
339
  return function_set;
340
340
  }
341
341
 
342
- void MultiFileReaderOptions::Serialize(Serializer &serializer) const {
343
- FieldWriter writer(serializer);
344
- writer.WriteField<bool>(filename);
345
- writer.WriteField<bool>(hive_partitioning);
346
- writer.WriteField<bool>(auto_detect_hive_partitioning);
347
- writer.WriteField<bool>(union_by_name);
348
- writer.WriteField<bool>(hive_types_autocast);
349
- // serialize hive_types_schema
350
- const uint32_t schema_size = hive_types_schema.size();
351
- writer.WriteField<uint32_t>(schema_size);
352
- for (auto &hive_type : hive_types_schema) {
353
- writer.WriteString(hive_type.first);
354
- writer.WriteString(hive_type.second.ToString());
355
- }
356
- writer.Finalize();
357
- }
358
-
359
- MultiFileReaderOptions MultiFileReaderOptions::Deserialize(Deserializer &source) {
360
- MultiFileReaderOptions result;
361
- FieldReader reader(source);
362
- result.filename = reader.ReadRequired<bool>();
363
- result.hive_partitioning = reader.ReadRequired<bool>();
364
- result.auto_detect_hive_partitioning = reader.ReadRequired<bool>();
365
- result.union_by_name = reader.ReadRequired<bool>();
366
- result.hive_types_autocast = reader.ReadRequired<bool>();
367
- // deserialize hive_types_schema
368
- const uint32_t schema_size = reader.ReadRequired<uint32_t>();
369
- for (idx_t i = 0; i < schema_size; i++) {
370
- const string name = reader.ReadRequired<string>();
371
- const LogicalType type = TransformStringToLogicalType(reader.ReadRequired<string>());
372
- result.hive_types_schema[name] = type;
373
- }
374
- reader.Finalize();
375
- return result;
376
- }
377
-
378
- void MultiFileReaderBindData::Serialize(Serializer &serializer) const {
379
- FieldWriter writer(serializer);
380
- writer.WriteField(filename_idx);
381
- writer.WriteRegularSerializableList<HivePartitioningIndex>(hive_partitioning_indexes);
382
- writer.Finalize();
383
- }
384
-
385
- MultiFileReaderBindData MultiFileReaderBindData::Deserialize(Deserializer &source) {
386
- MultiFileReaderBindData result;
387
- FieldReader reader(source);
388
- result.filename_idx = reader.ReadRequired<idx_t>();
389
- result.hive_partitioning_indexes =
390
- reader.ReadRequiredSerializableList<HivePartitioningIndex, HivePartitioningIndex>();
391
- reader.Finalize();
392
- return result;
393
- }
394
-
395
342
  HivePartitioningIndex::HivePartitioningIndex(string value_p, idx_t index) : value(std::move(value_p)), index(index) {
396
343
  }
397
344
 
398
- void HivePartitioningIndex::Serialize(Serializer &serializer) const {
399
- FieldWriter writer(serializer);
400
- writer.WriteString(value);
401
- writer.WriteField<idx_t>(index);
402
- writer.Finalize();
403
- }
404
-
405
- HivePartitioningIndex HivePartitioningIndex::Deserialize(Deserializer &source) {
406
- FieldReader reader(source);
407
- auto value = reader.ReadRequired<string>();
408
- auto index = reader.ReadRequired<idx_t>();
409
- reader.Finalize();
410
- return HivePartitioningIndex(std::move(value), index);
411
- }
412
-
413
345
  void MultiFileReaderOptions::AddBatchInfo(BindInfo &bind_info) const {
414
346
  bind_info.InsertOption("filename", Value::BOOLEAN(filename));
415
347
  bind_info.InsertOption("hive_partitioning", Value::BOOLEAN(hive_partitioning));
@@ -10,6 +10,11 @@ void BinarySerializer::OnPropertyBegin(const field_id_t field_id, const char *ta
10
10
  // Just write the field id straight up
11
11
  Write<field_id_t>(field_id);
12
12
  #ifdef DEBUG
13
+ // First of check that we are inside an object
14
+ if (debug_stack.empty()) {
15
+ throw InternalException("OnPropertyBegin called outside of object");
16
+ }
17
+
13
18
  // Check that the tag is unique
14
19
  auto &state = debug_stack.back();
15
20
  auto &seen_field_ids = state.seen_field_ids;
@@ -142,24 +147,24 @@ void BinarySerializer::WriteValue(double value) {
142
147
  void BinarySerializer::WriteValue(const string &value) {
143
148
  uint32_t len = value.length();
144
149
  VarIntEncode(len);
145
- WriteDataInternal(value.c_str(), len);
150
+ WriteData(value.c_str(), len);
146
151
  }
147
152
 
148
153
  void BinarySerializer::WriteValue(const string_t value) {
149
154
  uint32_t len = value.GetSize();
150
155
  VarIntEncode(len);
151
- WriteDataInternal(value.GetDataUnsafe(), len);
156
+ WriteData(value.GetDataUnsafe(), len);
152
157
  }
153
158
 
154
159
  void BinarySerializer::WriteValue(const char *value) {
155
160
  uint32_t len = strlen(value);
156
161
  VarIntEncode(len);
157
- WriteDataInternal(value, len);
162
+ WriteData(value, len);
158
163
  }
159
164
 
160
165
  void BinarySerializer::WriteDataPtr(const_data_ptr_t ptr, idx_t count) {
161
166
  VarIntEncode(static_cast<uint64_t>(count));
162
- WriteDataInternal(ptr, count);
167
+ WriteData(ptr, count);
163
168
  }
164
169
 
165
170
  } // namespace duckdb
@@ -7,10 +7,9 @@
7
7
 
8
8
  namespace duckdb {
9
9
 
10
- BufferedFileReader::BufferedFileReader(FileSystem &fs, const char *path, optional_ptr<ClientContext> context,
11
- FileLockType lock_type, optional_ptr<FileOpener> opener)
12
- : fs(fs), data(make_unsafe_uniq_array<data_t>(FILE_BUFFER_SIZE)), offset(0), read_data(0), total_read(0),
13
- context(context) {
10
+ BufferedFileReader::BufferedFileReader(FileSystem &fs, const char *path, FileLockType lock_type,
11
+ optional_ptr<FileOpener> opener)
12
+ : fs(fs), data(make_unsafe_uniq_array<data_t>(FILE_BUFFER_SIZE)), offset(0), read_data(0), total_read(0) {
14
13
  handle = fs.OpenFile(path, FileFlags::FILE_FLAGS_READ, lock_type, FileSystem::DEFAULT_COMPRESSION, opener.get());
15
14
  file_size = fs.GetFileSize(*handle);
16
15
  }
@@ -56,11 +55,4 @@ uint64_t BufferedFileReader::CurrentOffset() {
56
55
  return total_read + offset;
57
56
  }
58
57
 
59
- ClientContext &BufferedFileReader::GetContext() {
60
- if (!context) {
61
- throw InternalException("Trying to acquire a client context that does not exist");
62
- }
63
- return *context;
64
- }
65
-
66
58
  } // namespace duckdb
@@ -21,7 +21,7 @@ idx_t BufferedFileWriter::GetTotalWritten() {
21
21
  return total_written + offset;
22
22
  }
23
23
 
24
- void BufferedFileWriter::WriteData(const_data_ptr_t buffer, uint64_t write_size) {
24
+ void BufferedFileWriter::WriteData(const_data_ptr_t buffer, idx_t write_size) {
25
25
  // first copy anything we can from the buffer
26
26
  const_data_ptr_t end_ptr = buffer + write_size;
27
27
  while (buffer < end_ptr) {