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
@@ -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
@@ -13,8 +13,6 @@
13
13
 
14
14
  namespace duckdb {
15
15
 
16
- class FieldReader;
17
-
18
16
  //! Extra Type Info Type
19
17
  enum class ExtraTypeInfoType : uint8_t {
20
18
  INVALID_TYPE_INFO = 0,
@@ -38,15 +36,9 @@ struct ExtraTypeInfo {
38
36
 
39
37
  public:
40
38
  bool Equals(ExtraTypeInfo *other_p) const;
41
- //! Serializes a ExtraTypeInfo to a stand-alone binary blob
42
- virtual void Serialize(FieldWriter &writer) const;
43
- //! Serializes a ExtraTypeInfo to a stand-alone binary blob
44
- static void Serialize(ExtraTypeInfo *info, FieldWriter &writer);
45
- //! Deserializes a blob back into an ExtraTypeInfo
46
- static shared_ptr<ExtraTypeInfo> Deserialize(FieldReader &reader);
47
39
 
48
- virtual void FormatSerialize(FormatSerializer &serializer) const;
49
- static shared_ptr<ExtraTypeInfo> FormatDeserialize(FormatDeserializer &source);
40
+ virtual void Serialize(Serializer &serializer) const;
41
+ static shared_ptr<ExtraTypeInfo> Deserialize(Deserializer &source);
50
42
 
51
43
  template <class TARGET>
52
44
  TARGET &Cast() {
@@ -70,11 +62,8 @@ struct DecimalTypeInfo : public ExtraTypeInfo {
70
62
  uint8_t scale;
71
63
 
72
64
  public:
73
- void Serialize(FieldWriter &writer) const override;
74
- void FormatSerialize(FormatSerializer &serializer) const override;
75
-
76
- static shared_ptr<ExtraTypeInfo> FormatDeserialize(FormatDeserializer &source);
77
- static shared_ptr<ExtraTypeInfo> Deserialize(FieldReader &reader);
65
+ void Serialize(Serializer &serializer) const override;
66
+ static shared_ptr<ExtraTypeInfo> Deserialize(Deserializer &source);
78
67
 
79
68
  protected:
80
69
  bool EqualsInternal(ExtraTypeInfo *other_p) const override;
@@ -89,11 +78,8 @@ struct StringTypeInfo : public ExtraTypeInfo {
89
78
  string collation;
90
79
 
91
80
  public:
92
- void Serialize(FieldWriter &writer) const override;
93
- static shared_ptr<ExtraTypeInfo> Deserialize(FieldReader &reader);
94
-
95
- void FormatSerialize(FormatSerializer &serializer) const override;
96
- static shared_ptr<ExtraTypeInfo> FormatDeserialize(FormatDeserializer &source);
81
+ void Serialize(Serializer &serializer) const override;
82
+ static shared_ptr<ExtraTypeInfo> Deserialize(Deserializer &source);
97
83
 
98
84
  protected:
99
85
  bool EqualsInternal(ExtraTypeInfo *other_p) const override;
@@ -108,11 +94,8 @@ struct ListTypeInfo : public ExtraTypeInfo {
108
94
  LogicalType child_type;
109
95
 
110
96
  public:
111
- void Serialize(FieldWriter &writer) const override;
112
- void FormatSerialize(FormatSerializer &serializer) const override;
113
-
114
- static shared_ptr<ExtraTypeInfo> Deserialize(FieldReader &reader);
115
- static shared_ptr<ExtraTypeInfo> FormatDeserialize(FormatDeserializer &source);
97
+ void Serialize(Serializer &serializer) const override;
98
+ static shared_ptr<ExtraTypeInfo> Deserialize(Deserializer &source);
116
99
 
117
100
  protected:
118
101
  bool EqualsInternal(ExtraTypeInfo *other_p) const override;
@@ -127,12 +110,8 @@ struct StructTypeInfo : public ExtraTypeInfo {
127
110
  child_list_t<LogicalType> child_types;
128
111
 
129
112
  public:
130
- void Serialize(FieldWriter &writer) const override;
131
- void FormatSerialize(FormatSerializer &serializer) const override;
132
-
133
- static shared_ptr<ExtraTypeInfo> Deserialize(FieldReader &reader);
134
-
135
- static shared_ptr<ExtraTypeInfo> FormatDeserialize(FormatDeserializer &deserializer);
113
+ void Serialize(Serializer &serializer) const override;
114
+ static shared_ptr<ExtraTypeInfo> Deserialize(Deserializer &deserializer);
136
115
 
137
116
  protected:
138
117
  bool EqualsInternal(ExtraTypeInfo *other_p) const override;
@@ -147,11 +126,8 @@ struct AggregateStateTypeInfo : public ExtraTypeInfo {
147
126
  aggregate_state_t state_type;
148
127
 
149
128
  public:
150
- void Serialize(FieldWriter &writer) const override;
151
- void FormatSerialize(FormatSerializer &serializer) const override;
152
-
153
- static shared_ptr<ExtraTypeInfo> FormatDeserialize(FormatDeserializer &source);
154
- static shared_ptr<ExtraTypeInfo> Deserialize(FieldReader &reader);
129
+ void Serialize(Serializer &serializer) const override;
130
+ static shared_ptr<ExtraTypeInfo> Deserialize(Deserializer &source);
155
131
 
156
132
  protected:
157
133
  bool EqualsInternal(ExtraTypeInfo *other_p) const override;
@@ -166,11 +142,8 @@ struct UserTypeInfo : public ExtraTypeInfo {
166
142
  string user_type_name;
167
143
 
168
144
  public:
169
- void Serialize(FieldWriter &writer) const override;
170
- void FormatSerialize(FormatSerializer &serializer) const override;
171
-
172
- static shared_ptr<ExtraTypeInfo> Deserialize(FieldReader &reader);
173
- static shared_ptr<ExtraTypeInfo> FormatDeserialize(FormatDeserializer &source);
145
+ void Serialize(Serializer &serializer) const override;
146
+ static shared_ptr<ExtraTypeInfo> Deserialize(Deserializer &source);
174
147
 
175
148
  protected:
176
149
  bool EqualsInternal(ExtraTypeInfo *other_p) const override;
@@ -195,11 +168,8 @@ public:
195
168
 
196
169
  static LogicalType CreateType(Vector &ordered_data, idx_t size);
197
170
 
198
- void Serialize(FieldWriter &writer) const override;
199
- static shared_ptr<ExtraTypeInfo> Deserialize(FieldReader &reader);
200
-
201
- void FormatSerialize(FormatSerializer &serializer) const override;
202
- static shared_ptr<ExtraTypeInfo> FormatDeserialize(FormatDeserializer &source);
171
+ void Serialize(Serializer &serializer) const override;
172
+ static shared_ptr<ExtraTypeInfo> Deserialize(Deserializer &source);
203
173
 
204
174
  protected:
205
175
  // Equalities are only used in enums with different catalog entries
@@ -10,8 +10,8 @@
10
10
 
11
11
  #include "duckdb/common/constants.hpp"
12
12
  #include "duckdb/common/vector.hpp"
13
- #include "duckdb/common/serializer/format_serializer.hpp"
14
- #include "duckdb/common/serializer/format_deserializer.hpp"
13
+ #include "duckdb/common/serializer/serializer.hpp"
14
+ #include "duckdb/common/serializer/deserializer.hpp"
15
15
 
16
16
  namespace duckdb {
17
17
 
@@ -61,11 +61,11 @@ public:
61
61
  return internal_vector.end();
62
62
  }
63
63
 
64
- void FormatSerialize(FormatSerializer &serializer) const {
64
+ void Serialize(Serializer &serializer) const {
65
65
  serializer.WriteProperty(100, "internal_vector", internal_vector);
66
66
  }
67
67
 
68
- static IndexVector<T, INDEX_TYPE> FormatDeserialize(FormatDeserializer &deserializer) {
68
+ static IndexVector<T, INDEX_TYPE> Deserialize(Deserializer &deserializer) {
69
69
  IndexVector<T, INDEX_TYPE> result;
70
70
  deserializer.ReadProperty(100, "internal_vector", result.internal_vector);
71
71
  return result;
@@ -31,9 +31,7 @@ struct HivePartitioningIndex {
31
31
  idx_t index;
32
32
 
33
33
  DUCKDB_API void Serialize(Serializer &serializer) const;
34
- DUCKDB_API static HivePartitioningIndex Deserialize(Deserializer &source);
35
- DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const;
36
- DUCKDB_API static HivePartitioningIndex FormatDeserialize(FormatDeserializer &deserializer);
34
+ DUCKDB_API static HivePartitioningIndex Deserialize(Deserializer &deserializer);
37
35
  };
38
36
 
39
37
  //! The bind data for the multi-file reader, obtained through MultiFileReader::BindReader
@@ -44,9 +42,7 @@ struct MultiFileReaderBindData {
44
42
  vector<HivePartitioningIndex> hive_partitioning_indexes;
45
43
 
46
44
  DUCKDB_API void Serialize(Serializer &serializer) const;
47
- DUCKDB_API static MultiFileReaderBindData Deserialize(Deserializer &source);
48
- DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const;
49
- DUCKDB_API static MultiFileReaderBindData FormatDeserialize(FormatDeserializer &deserializer);
45
+ DUCKDB_API static MultiFileReaderBindData Deserialize(Deserializer &deserializer);
50
46
  };
51
47
 
52
48
  struct MultiFileFilterEntry {
@@ -14,8 +14,6 @@
14
14
  #include "duckdb/main/client_context.hpp"
15
15
 
16
16
  namespace duckdb {
17
- class Serializer;
18
- class Deserializer;
19
17
  struct BindInfo;
20
18
 
21
19
  struct MultiFileReaderOptions {
@@ -28,8 +26,6 @@ struct MultiFileReaderOptions {
28
26
 
29
27
  DUCKDB_API void Serialize(Serializer &serializer) const;
30
28
  DUCKDB_API static MultiFileReaderOptions Deserialize(Deserializer &source);
31
- DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const;
32
- DUCKDB_API static MultiFileReaderOptions FormatDeserialize(FormatDeserializer &source);
33
29
  DUCKDB_API void AddBatchInfo(BindInfo &bind_info) const;
34
30
  DUCKDB_API void AutoDetectHivePartitioning(const vector<string> &files, ClientContext &context);
35
31
  DUCKDB_API static bool AutoDetectHivePartitioningInternal(const vector<string> &files, ClientContext &context);
@@ -8,50 +8,64 @@
8
8
 
9
9
  #pragma once
10
10
 
11
- #include "duckdb/common/serializer/format_deserializer.hpp"
11
+ #include "duckdb/common/serializer/deserializer.hpp"
12
12
  #include "duckdb/common/serializer/encoding_util.hpp"
13
+ #include "duckdb/common/serializer/read_stream.hpp"
13
14
 
14
15
  namespace duckdb {
15
16
  class ClientContext;
16
17
 
17
- class BinaryDeserializer : public FormatDeserializer {
18
+ class BinaryDeserializer : public Deserializer {
18
19
  public:
20
+ explicit BinaryDeserializer(ReadStream &stream) : stream(stream) {
21
+ deserialize_enum_from_string = false;
22
+ }
23
+
19
24
  template <class T>
20
25
  unique_ptr<T> Deserialize() {
21
26
  OnObjectBegin();
22
- auto result = T::FormatDeserialize(*this);
27
+ auto result = T::Deserialize(*this);
23
28
  OnObjectEnd();
24
29
  D_ASSERT(nesting_level == 0); // make sure we are at the root level
25
30
  return result;
26
31
  }
27
32
 
28
33
  template <class T>
29
- static unique_ptr<T> Deserialize(data_ptr_t ptr, idx_t length) {
30
- BinaryDeserializer deserializer(ptr, length);
34
+ static unique_ptr<T> Deserialize(ReadStream &stream) {
35
+ BinaryDeserializer deserializer(stream);
31
36
  return deserializer.template Deserialize<T>();
32
37
  }
33
38
 
34
39
  template <class T>
35
- static unique_ptr<T> Deserialize(ClientContext &context, bound_parameter_map_t &parameters, data_ptr_t ptr,
36
- idx_t length) {
37
- BinaryDeserializer deserializer(ptr, length);
40
+ static unique_ptr<T> Deserialize(ReadStream &stream, ClientContext &context, bound_parameter_map_t &parameters) {
41
+ BinaryDeserializer deserializer(stream);
38
42
  deserializer.Set<ClientContext &>(context);
39
43
  deserializer.Set<bound_parameter_map_t &>(parameters);
40
44
  return deserializer.template Deserialize<T>();
41
45
  }
42
46
 
43
- private:
44
- explicit BinaryDeserializer(data_ptr_t ptr, idx_t length) : ptr(ptr), end_ptr(ptr + length) {
45
- deserialize_enum_from_string = false;
47
+ void Begin() {
48
+ OnObjectBegin();
49
+ }
50
+
51
+ void End() {
52
+ OnObjectEnd();
53
+ D_ASSERT(nesting_level == 0); // make sure we are at the root level
54
+ }
55
+
56
+ ReadStream &GetStream() {
57
+ return stream;
46
58
  }
47
59
 
48
- data_ptr_t ptr;
49
- data_ptr_t end_ptr;
60
+ private:
61
+ ReadStream &stream;
50
62
  idx_t nesting_level = 0;
51
63
 
52
64
  // Allow peeking 1 field ahead
53
65
  bool has_buffered_field = false;
54
66
  field_id_t buffered_field = 0;
67
+
68
+ private:
55
69
  field_id_t PeekField() {
56
70
  if (!has_buffered_field) {
57
71
  buffered_field = ReadPrimitive<field_id_t>();
@@ -74,6 +88,10 @@ private:
74
88
  return ReadPrimitive<field_id_t>();
75
89
  }
76
90
 
91
+ void ReadData(data_ptr_t buffer, idx_t read_size) {
92
+ stream.ReadData(buffer, read_size);
93
+ }
94
+
77
95
  template <class T>
78
96
  T ReadPrimitive() {
79
97
  T value;
@@ -81,19 +99,22 @@ private:
81
99
  return value;
82
100
  }
83
101
 
84
- void ReadData(data_ptr_t buffer, idx_t read_size) {
85
- if (ptr + read_size > end_ptr) {
86
- throw InternalException("Failed to deserialize: not enough data in buffer to fulfill read request");
87
- }
88
- memcpy(buffer, ptr, read_size);
89
- ptr += read_size;
90
- }
91
-
92
102
  template <class T>
93
103
  T VarIntDecode() {
104
+ // FIXME: maybe we should pass a source to EncodingUtil instead
105
+ uint8_t buffer[16];
106
+ idx_t varint_size;
107
+ for (varint_size = 0; varint_size < 16; varint_size++) {
108
+ ReadData(buffer + varint_size, 1);
109
+ if (!(buffer[varint_size] & 0x80)) {
110
+ varint_size++;
111
+ break;
112
+ }
113
+ }
94
114
  T value;
95
- auto read_size = EncodingUtil::DecodeLEB128<T>(ptr, value);
96
- ptr += read_size;
115
+ auto read_size = EncodingUtil::DecodeLEB128<T>(buffer, value);
116
+ D_ASSERT(read_size == varint_size);
117
+ (void)read_size;
97
118
  return value;
98
119
  }
99
120
 
@@ -8,13 +8,20 @@
8
8
 
9
9
  #pragma once
10
10
 
11
- #include "duckdb/common/serializer/format_serializer.hpp"
11
+ #include "duckdb/common/serializer/serializer.hpp"
12
+ #include "duckdb/common/serializer/write_stream.hpp"
12
13
  #include "duckdb/common/pair.hpp"
13
14
  #include "duckdb/common/serializer/encoding_util.hpp"
14
15
 
15
16
  namespace duckdb {
16
17
 
17
- struct BinarySerializer : public FormatSerializer {
18
+ class BinarySerializer : public Serializer {
19
+ public:
20
+ explicit BinarySerializer(WriteStream &stream, bool serialize_default_values_p = false) : stream(stream) {
21
+ serialize_default_values = serialize_default_values_p;
22
+ serialize_enum_as_string = false;
23
+ }
24
+
18
25
  private:
19
26
  struct DebugState {
20
27
  unordered_set<const char *> seen_field_tags;
@@ -22,19 +29,17 @@ private:
22
29
  vector<pair<const char *, field_id_t>> seen_fields;
23
30
  };
24
31
 
25
- vector<DebugState> debug_stack;
26
- vector<data_t> data;
32
+ void WriteData(const_data_ptr_t buffer, idx_t write_size) {
33
+ stream.WriteData(buffer, write_size);
34
+ }
27
35
 
28
36
  template <class T>
29
37
  void Write(T element) {
30
38
  static_assert(std::is_trivially_destructible<T>(), "Write element must be trivially destructible");
31
- WriteDataInternal(const_data_ptr_cast(&element), sizeof(T));
39
+ WriteData(const_data_ptr_cast(&element), sizeof(T));
32
40
  }
33
- void WriteDataInternal(const_data_ptr_t buffer, idx_t write_size) {
34
- data.insert(data.end(), buffer, buffer + write_size);
35
- }
36
- void WriteDataInternal(const char *ptr, idx_t write_size) {
37
- WriteDataInternal(const_data_ptr_cast(ptr), write_size);
41
+ void WriteData(const char *ptr, idx_t write_size) {
42
+ WriteData(const_data_ptr_cast(ptr), write_size);
38
43
  }
39
44
 
40
45
  template <class T>
@@ -42,27 +47,26 @@ private:
42
47
  uint8_t buffer[16];
43
48
  auto write_size = EncodingUtil::EncodeLEB128<T>(buffer, value);
44
49
  D_ASSERT(write_size <= sizeof(buffer));
45
- WriteDataInternal(buffer, write_size);
46
- }
47
-
48
- explicit BinarySerializer(bool serialize_default_values_p) {
49
- serialize_default_values = serialize_default_values_p;
50
- serialize_enum_as_string = false;
50
+ WriteData(buffer, write_size);
51
51
  }
52
52
 
53
53
  public:
54
- //! Serializes the given object into a binary blob, optionally serializing default values if
55
- //! serialize_default_values is set to true, otherwise properties set to their provided default value
56
- //! will not be serialized
57
54
  template <class T>
58
- static vector<data_t> Serialize(T &obj, bool serialize_default_values) {
59
- BinarySerializer serializer(serialize_default_values);
55
+ static void Serialize(const T &value, WriteStream &stream, bool serialize_default_values = false) {
56
+ BinarySerializer serializer(stream, serialize_default_values);
60
57
  serializer.OnObjectBegin();
61
- obj.FormatSerialize(serializer);
58
+ value.Serialize(serializer);
62
59
  serializer.OnObjectEnd();
63
- return std::move(serializer.data);
64
60
  }
65
61
 
62
+ void Begin() {
63
+ OnObjectBegin();
64
+ }
65
+ void End() {
66
+ OnObjectEnd();
67
+ }
68
+
69
+ protected:
66
70
  //-------------------------------------------------------------------------
67
71
  // Nested Type Hooks
68
72
  //-------------------------------------------------------------------------
@@ -99,6 +103,10 @@ public:
99
103
  void WriteValue(const char *value) final;
100
104
  void WriteValue(bool value) final;
101
105
  void WriteDataPtr(const_data_ptr_t ptr, idx_t count) final;
106
+
107
+ private:
108
+ vector<DebugState> debug_stack;
109
+ WriteStream &stream;
102
110
  };
103
111
 
104
112
  } // namespace duckdb
@@ -9,13 +9,14 @@
9
9
  #pragma once
10
10
 
11
11
  #include "duckdb/common/serializer/buffered_file_writer.hpp"
12
+ #include "duckdb/common/serializer/read_stream.hpp"
12
13
 
13
14
  namespace duckdb {
14
15
 
15
- class BufferedFileReader : public Deserializer {
16
+ class BufferedFileReader : public ReadStream {
16
17
  public:
17
- BufferedFileReader(FileSystem &fs, const char *path, optional_ptr<ClientContext> context,
18
- FileLockType lock_type = FileLockType::READ_LOCK, optional_ptr<FileOpener> opener = nullptr);
18
+ BufferedFileReader(FileSystem &fs, const char *path, FileLockType lock_type = FileLockType::READ_LOCK,
19
+ optional_ptr<FileOpener> opener = nullptr);
19
20
 
20
21
  FileSystem &fs;
21
22
  unsafe_unique_array<data_t> data;
@@ -35,12 +36,9 @@ public:
35
36
  void Seek(uint64_t location);
36
37
  uint64_t CurrentOffset();
37
38
 
38
- ClientContext &GetContext() override;
39
-
40
39
  private:
41
40
  idx_t file_size;
42
41
  idx_t total_read;
43
- optional_ptr<ClientContext> context;
44
42
  };
45
43
 
46
44
  } // namespace duckdb
@@ -8,14 +8,14 @@
8
8
 
9
9
  #pragma once
10
10
 
11
- #include "duckdb/common/serializer.hpp"
11
+ #include "duckdb/common/serializer/write_stream.hpp"
12
12
  #include "duckdb/common/file_system.hpp"
13
13
 
14
14
  namespace duckdb {
15
15
 
16
16
  #define FILE_BUFFER_SIZE 4096
17
17
 
18
- class BufferedFileWriter : public Serializer {
18
+ class BufferedFileWriter : public WriteStream {
19
19
  public:
20
20
  static constexpr uint8_t DEFAULT_OPEN_FLAGS = FileFlags::FILE_FLAGS_WRITE | FileFlags::FILE_FLAGS_FILE_CREATE;
21
21
 
@@ -31,7 +31,7 @@ public:
31
31
  unique_ptr<FileHandle> handle;
32
32
 
33
33
  public:
34
- DUCKDB_API void WriteData(const_data_ptr_t buffer, uint64_t write_size) override;
34
+ DUCKDB_API void WriteData(const_data_ptr_t buffer, idx_t write_size) override;
35
35
  //! Flush the buffer to disk and sync the file to ensure writing is completed
36
36
  DUCKDB_API void Sync();
37
37
  //! Flush the buffer to the file (without sync)
@@ -74,6 +74,23 @@ inline void DeserializationData::Unset<LogicalOperatorType>() {
74
74
  enums.pop();
75
75
  }
76
76
 
77
+ template <>
78
+ inline void DeserializationData::Set(CatalogType type) {
79
+ enums.push(idx_t(type));
80
+ }
81
+
82
+ template <>
83
+ inline CatalogType DeserializationData::Get() {
84
+ AssertNotEmpty(enums);
85
+ return CatalogType(enums.top());
86
+ }
87
+
88
+ template <>
89
+ inline void DeserializationData::Unset<CatalogType>() {
90
+ AssertNotEmpty(enums);
91
+ enums.pop();
92
+ }
93
+
77
94
  template <>
78
95
  inline void DeserializationData::Set(ClientContext &context) {
79
96
  contexts.push(context);
@@ -8,8 +8,6 @@
8
8
 
9
9
  #pragma once
10
10
 
11
- #include "duckdb/common/field_writer.hpp"
12
- #include "duckdb/common/serializer.hpp"
13
11
  #include "duckdb/common/enum_util.hpp"
14
12
  #include "duckdb/common/serializer/serialization_traits.hpp"
15
13
  #include "duckdb/common/serializer/deserialization_data.hpp"
@@ -19,18 +17,21 @@
19
17
 
20
18
  namespace duckdb {
21
19
 
22
- class FormatDeserializer {
20
+ class Deserializer {
23
21
  protected:
24
22
  bool deserialize_enum_from_string = false;
25
23
  DeserializationData data;
26
24
 
27
25
  public:
26
+ virtual ~Deserializer() {
27
+ }
28
+
28
29
  class List {
29
- friend FormatDeserializer;
30
+ friend Deserializer;
30
31
 
31
32
  private:
32
- FormatDeserializer &deserializer;
33
- explicit List(FormatDeserializer &deserializer) : deserializer(deserializer) {
33
+ Deserializer &deserializer;
34
+ explicit List(Deserializer &deserializer) : deserializer(deserializer) {
34
35
  }
35
36
 
36
37
  public:
@@ -58,7 +59,6 @@ public:
58
59
  OnPropertyBegin(field_id, tag);
59
60
  auto ret = Read<T>();
60
61
  OnPropertyEnd();
61
- ;
62
62
  return ret;
63
63
  }
64
64
 
@@ -134,11 +134,11 @@ public:
134
134
  }
135
135
 
136
136
  private:
137
- // Deserialize anything implementing a FormatDeserialize method
137
+ // Deserialize anything implementing a Deserialize method
138
138
  template <typename T = void>
139
139
  inline typename std::enable_if<has_deserialize<T>::value, T>::type Read() {
140
140
  OnObjectBegin();
141
- auto val = T::FormatDeserialize(*this);
141
+ auto val = T::Deserialize(*this);
142
142
  OnObjectEnd();
143
143
  return val;
144
144
  }
@@ -150,7 +150,7 @@ private:
150
150
  auto is_present = OnNullableBegin();
151
151
  if (is_present) {
152
152
  OnObjectBegin();
153
- ptr = ELEMENT_TYPE::FormatDeserialize(*this);
153
+ ptr = ELEMENT_TYPE::Deserialize(*this);
154
154
  OnObjectEnd();
155
155
  }
156
156
  OnNullableEnd();
@@ -165,7 +165,7 @@ private:
165
165
  auto is_present = OnNullableBegin();
166
166
  if (is_present) {
167
167
  OnObjectBegin();
168
- ptr = ELEMENT_TYPE::FormatDeserialize(*this);
168
+ ptr = ELEMENT_TYPE::Deserialize(*this);
169
169
  OnObjectEnd();
170
170
  }
171
171
  OnNullableEnd();
@@ -416,14 +416,14 @@ protected:
416
416
  };
417
417
 
418
418
  template <class FUNC>
419
- void FormatDeserializer::List::ReadObject(FUNC f) {
419
+ void Deserializer::List::ReadObject(FUNC f) {
420
420
  deserializer.OnObjectBegin();
421
421
  f(deserializer);
422
422
  deserializer.OnObjectEnd();
423
423
  }
424
424
 
425
425
  template <class T>
426
- T FormatDeserializer::List::ReadElement() {
426
+ T Deserializer::List::ReadElement() {
427
427
  return deserializer.Read<T>();
428
428
  }
429
429