duckdb 0.8.2-dev4126.0 → 0.8.2-dev4203.0

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