duckdb 0.8.2-dev1862.0 → 0.8.2-dev2044.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 (283) hide show
  1. package/binding.gyp +9 -9
  2. package/package.json +1 -1
  3. package/src/duckdb/src/catalog/catalog.cpp +1 -1
  4. package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +17 -41
  5. package/src/duckdb/src/catalog/catalog_entry/macro_catalog_entry.cpp +2 -10
  6. package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +4 -14
  7. package/src/duckdb/src/catalog/catalog_entry/sequence_catalog_entry.cpp +11 -28
  8. package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +11 -38
  9. package/src/duckdb/src/catalog/catalog_entry/view_catalog_entry.cpp +11 -27
  10. package/src/duckdb/src/catalog/catalog_entry.cpp +25 -1
  11. package/src/duckdb/src/common/enum_util.cpp +187 -0
  12. package/src/duckdb/src/common/extra_type_info.cpp +1 -2
  13. package/src/duckdb/src/common/serializer/binary_deserializer.cpp +3 -0
  14. package/src/duckdb/src/common/serializer/binary_serializer.cpp +4 -4
  15. package/src/duckdb/src/common/types/column/column_data_collection.cpp +43 -0
  16. package/src/duckdb/src/common/types/hugeint.cpp +40 -0
  17. package/src/duckdb/src/common/types/vector.cpp +1 -1
  18. package/src/duckdb/src/common/types.cpp +0 -12
  19. package/src/duckdb/src/core_functions/function_list.cpp +1 -0
  20. package/src/duckdb/src/core_functions/scalar/string/to_base.cpp +66 -0
  21. package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +14 -11
  22. package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +6 -4
  23. package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +14 -12
  24. package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +6 -4
  25. package/src/duckdb/src/execution/operator/helper/physical_batch_collector.cpp +8 -6
  26. package/src/duckdb/src/execution/operator/helper/physical_explain_analyze.cpp +2 -2
  27. package/src/duckdb/src/execution/operator/helper/physical_limit.cpp +5 -3
  28. package/src/duckdb/src/execution/operator/helper/physical_materialized_collector.cpp +7 -5
  29. package/src/duckdb/src/execution/operator/helper/physical_vacuum.cpp +7 -5
  30. package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +5 -4
  31. package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +2 -2
  32. package/src/duckdb/src/execution/operator/join/physical_delim_join.cpp +13 -6
  33. package/src/duckdb/src/execution/operator/join/physical_hash_join.cpp +7 -5
  34. package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +7 -5
  35. package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +7 -4
  36. package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +8 -6
  37. package/src/duckdb/src/execution/operator/order/physical_order.cpp +7 -5
  38. package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +7 -5
  39. package/src/duckdb/src/execution/operator/persistent/physical_batch_copy_to_file.cpp +8 -6
  40. package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +8 -7
  41. package/src/duckdb/src/execution/operator/persistent/physical_copy_to_file.cpp +8 -6
  42. package/src/duckdb/src/execution/operator/persistent/physical_fixed_batch_copy.cpp +11 -9
  43. package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +10 -10
  44. package/src/duckdb/src/execution/operator/persistent/physical_update.cpp +4 -2
  45. package/src/duckdb/src/execution/operator/schema/physical_create_index.cpp +7 -6
  46. package/src/duckdb/src/execution/physical_operator.cpp +3 -2
  47. package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +1 -1
  48. package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
  49. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp +1 -2
  50. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/macro_catalog_entry.hpp +1 -4
  51. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp +2 -5
  52. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp +1 -6
  53. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +2 -11
  54. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/view_catalog_entry.hpp +2 -5
  55. package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +14 -0
  56. package/src/duckdb/src/include/duckdb/common/bitpacking.hpp +70 -55
  57. package/src/duckdb/src/include/duckdb/common/constants.hpp +2 -0
  58. package/src/duckdb/src/include/duckdb/common/enum_util.hpp +40 -0
  59. package/src/duckdb/src/include/duckdb/common/enums/index_type.hpp +1 -1
  60. package/src/duckdb/src/include/duckdb/common/enums/operator_result_type.hpp +5 -1
  61. package/src/duckdb/src/include/duckdb/common/hugeint.hpp +15 -0
  62. package/src/duckdb/src/include/duckdb/common/index_vector.hpp +12 -0
  63. package/src/duckdb/src/include/duckdb/common/limits.hpp +52 -149
  64. package/src/duckdb/src/include/duckdb/common/numeric_utils.hpp +48 -0
  65. package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +28 -4
  66. package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +12 -5
  67. package/src/duckdb/src/include/duckdb/common/serializer/deserialization_data.hpp +110 -0
  68. package/src/duckdb/src/include/duckdb/common/serializer/format_deserializer.hpp +46 -1
  69. package/src/duckdb/src/include/duckdb/common/serializer/format_serializer.hpp +23 -21
  70. package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +12 -4
  71. package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection.hpp +3 -0
  72. package/src/duckdb/src/include/duckdb/core_functions/aggregate/distributive_functions.hpp +1 -1
  73. package/src/duckdb/src/include/duckdb/core_functions/scalar/operators_functions.hpp +1 -1
  74. package/src/duckdb/src/include/duckdb/core_functions/scalar/string_functions.hpp +9 -0
  75. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp +3 -3
  76. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_perfecthash_aggregate.hpp +1 -1
  77. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_ungrouped_aggregate.hpp +3 -3
  78. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_window.hpp +2 -2
  79. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp +2 -2
  80. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_explain_analyze.hpp +1 -1
  81. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_limit.hpp +1 -1
  82. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_materialized_collector.hpp +1 -1
  83. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_vacuum.hpp +2 -2
  84. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_asof_join.hpp +2 -2
  85. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp +1 -1
  86. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_delim_join.hpp +2 -2
  87. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_hash_join.hpp +2 -2
  88. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_iejoin.hpp +2 -2
  89. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_nested_loop_join.hpp +2 -2
  90. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_piecewise_merge_join.hpp +2 -2
  91. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_order.hpp +2 -2
  92. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_top_n.hpp +2 -2
  93. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_copy_to_file.hpp +2 -2
  94. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_insert.hpp +2 -2
  95. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp +2 -2
  96. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_fixed_batch_copy.hpp +2 -2
  97. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_insert.hpp +2 -2
  98. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_update.hpp +1 -1
  99. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_index.hpp +2 -2
  100. package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +3 -3
  101. package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +11 -0
  102. package/src/duckdb/src/include/duckdb/function/macro_function.hpp +3 -0
  103. package/src/duckdb/src/include/duckdb/function/scalar_macro_function.hpp +3 -0
  104. package/src/duckdb/src/include/duckdb/function/table_macro_function.hpp +3 -0
  105. package/src/duckdb/src/include/duckdb/main/extension_entries.hpp +3 -0
  106. package/src/duckdb/src/include/duckdb/parallel/pipeline.hpp +0 -3
  107. package/src/duckdb/src/include/duckdb/parallel/pipeline_executor.hpp +3 -2
  108. package/src/duckdb/src/include/duckdb/parser/column_definition.hpp +6 -5
  109. package/src/duckdb/src/include/duckdb/parser/column_list.hpp +4 -0
  110. package/src/duckdb/src/include/duckdb/parser/constraint.hpp +5 -0
  111. package/src/duckdb/src/include/duckdb/parser/constraints/check_constraint.hpp +3 -0
  112. package/src/duckdb/src/include/duckdb/parser/constraints/foreign_key_constraint.hpp +6 -0
  113. package/src/duckdb/src/include/duckdb/parser/constraints/not_null_constraint.hpp +3 -0
  114. package/src/duckdb/src/include/duckdb/parser/constraints/unique_constraint.hpp +6 -0
  115. package/src/duckdb/src/include/duckdb/parser/expression/between_expression.hpp +1 -1
  116. package/src/duckdb/src/include/duckdb/parser/expression/case_expression.hpp +1 -1
  117. package/src/duckdb/src/include/duckdb/parser/expression/cast_expression.hpp +1 -1
  118. package/src/duckdb/src/include/duckdb/parser/expression/collate_expression.hpp +1 -1
  119. package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +1 -1
  120. package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +1 -1
  121. package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +1 -1
  122. package/src/duckdb/src/include/duckdb/parser/expression/constant_expression.hpp +1 -1
  123. package/src/duckdb/src/include/duckdb/parser/expression/default_expression.hpp +1 -1
  124. package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +1 -1
  125. package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +1 -1
  126. package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +1 -1
  127. package/src/duckdb/src/include/duckdb/parser/expression/parameter_expression.hpp +1 -1
  128. package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +1 -1
  129. package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +1 -1
  130. package/src/duckdb/src/include/duckdb/parser/expression/subquery_expression.hpp +1 -1
  131. package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +1 -1
  132. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_info.hpp +12 -1
  133. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +66 -2
  134. package/src/duckdb/src/include/duckdb/parser/parsed_data/attach_info.hpp +8 -1
  135. package/src/duckdb/src/include/duckdb/parser/parsed_data/copy_info.hpp +8 -1
  136. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +4 -1
  137. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_info.hpp +9 -2
  138. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_macro_info.hpp +3 -0
  139. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_schema_info.hpp +3 -0
  140. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_sequence_info.hpp +3 -0
  141. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_table_info.hpp +3 -0
  142. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_type_info.hpp +3 -0
  143. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_view_info.hpp +3 -0
  144. package/src/duckdb/src/include/duckdb/parser/parsed_data/detach_info.hpp +7 -0
  145. package/src/duckdb/src/include/duckdb/parser/parsed_data/drop_info.hpp +7 -0
  146. package/src/duckdb/src/include/duckdb/parser/parsed_data/exported_table_data.hpp +7 -0
  147. package/src/duckdb/src/include/duckdb/parser/parsed_data/load_info.hpp +13 -3
  148. package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +22 -0
  149. package/src/duckdb/src/include/duckdb/parser/parsed_data/pragma_info.hpp +10 -0
  150. package/src/duckdb/src/include/duckdb/parser/parsed_data/show_select_info.hpp +7 -0
  151. package/src/duckdb/src/include/duckdb/parser/parsed_data/transaction_info.hpp +10 -0
  152. package/src/duckdb/src/include/duckdb/parser/parsed_data/vacuum_info.hpp +10 -0
  153. package/src/duckdb/src/include/duckdb/planner/bound_constraint.hpp +0 -8
  154. package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +6 -0
  155. package/src/duckdb/src/include/duckdb/planner/column_binding.hpp +5 -0
  156. package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +6 -0
  157. package/src/duckdb/src/include/duckdb/planner/expression/bound_case_expression.hpp +6 -0
  158. package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +6 -0
  159. package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +3 -0
  160. package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +3 -0
  161. package/src/duckdb/src/include/duckdb/planner/expression/bound_conjunction_expression.hpp +3 -0
  162. package/src/duckdb/src/include/duckdb/planner/expression/bound_constant_expression.hpp +3 -0
  163. package/src/duckdb/src/include/duckdb/planner/expression/bound_default_expression.hpp +3 -0
  164. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +3 -1
  165. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +3 -0
  166. package/src/duckdb/src/include/duckdb/planner/expression/bound_operator_expression.hpp +3 -0
  167. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_data.hpp +5 -2
  168. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_expression.hpp +7 -0
  169. package/src/duckdb/src/include/duckdb/planner/expression/bound_reference_expression.hpp +3 -0
  170. package/src/duckdb/src/include/duckdb/planner/expression/bound_unnest_expression.hpp +3 -0
  171. package/src/duckdb/src/include/duckdb/planner/expression/list.hpp +1 -0
  172. package/src/duckdb/src/include/duckdb/planner/expression.hpp +3 -0
  173. package/src/duckdb/src/include/duckdb/planner/joinside.hpp +3 -0
  174. package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +3 -0
  175. package/src/duckdb/src/include/duckdb/planner/operator/logical_aggregate.hpp +3 -0
  176. package/src/duckdb/src/include/duckdb/planner/operator/logical_any_join.hpp +3 -0
  177. package/src/duckdb/src/include/duckdb/planner/operator/logical_column_data_get.hpp +4 -0
  178. package/src/duckdb/src/include/duckdb/planner/operator/logical_comparison_join.hpp +9 -2
  179. package/src/duckdb/src/include/duckdb/planner/operator/logical_create.hpp +9 -6
  180. package/src/duckdb/src/include/duckdb/planner/operator/logical_create_index.hpp +2 -16
  181. package/src/duckdb/src/include/duckdb/planner/operator/logical_create_table.hpp +10 -6
  182. package/src/duckdb/src/include/duckdb/planner/operator/logical_cross_product.hpp +3 -0
  183. package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +2 -0
  184. package/src/duckdb/src/include/duckdb/planner/operator/logical_delete.hpp +7 -0
  185. package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +3 -0
  186. package/src/duckdb/src/include/duckdb/planner/operator/logical_distinct.hpp +6 -10
  187. package/src/duckdb/src/include/duckdb/planner/operator/logical_dummy_scan.hpp +2 -0
  188. package/src/duckdb/src/include/duckdb/planner/operator/logical_empty_result.hpp +2 -0
  189. package/src/duckdb/src/include/duckdb/planner/operator/logical_explain.hpp +4 -0
  190. package/src/duckdb/src/include/duckdb/planner/operator/logical_expression_get.hpp +3 -0
  191. package/src/duckdb/src/include/duckdb/planner/operator/logical_filter.hpp +3 -0
  192. package/src/duckdb/src/include/duckdb/planner/operator/logical_insert.hpp +6 -0
  193. package/src/duckdb/src/include/duckdb/planner/operator/logical_limit.hpp +3 -0
  194. package/src/duckdb/src/include/duckdb/planner/operator/logical_limit_percent.hpp +3 -0
  195. package/src/duckdb/src/include/duckdb/planner/operator/logical_materialized_cte.hpp +5 -2
  196. package/src/duckdb/src/include/duckdb/planner/operator/logical_order.hpp +7 -35
  197. package/src/duckdb/src/include/duckdb/planner/operator/logical_pivot.hpp +6 -0
  198. package/src/duckdb/src/include/duckdb/planner/operator/logical_positional_join.hpp +3 -0
  199. package/src/duckdb/src/include/duckdb/planner/operator/logical_projection.hpp +3 -0
  200. package/src/duckdb/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +5 -3
  201. package/src/duckdb/src/include/duckdb/planner/operator/logical_reset.hpp +4 -0
  202. package/src/duckdb/src/include/duckdb/planner/operator/logical_sample.hpp +6 -0
  203. package/src/duckdb/src/include/duckdb/planner/operator/logical_set.hpp +4 -0
  204. package/src/duckdb/src/include/duckdb/planner/operator/logical_set_operation.hpp +4 -0
  205. package/src/duckdb/src/include/duckdb/planner/operator/logical_show.hpp +3 -0
  206. package/src/duckdb/src/include/duckdb/planner/operator/logical_simple.hpp +3 -0
  207. package/src/duckdb/src/include/duckdb/planner/operator/logical_top_n.hpp +4 -0
  208. package/src/duckdb/src/include/duckdb/planner/operator/logical_unnest.hpp +2 -0
  209. package/src/duckdb/src/include/duckdb/planner/operator/logical_update.hpp +6 -0
  210. package/src/duckdb/src/include/duckdb/planner/operator/logical_window.hpp +3 -0
  211. package/src/duckdb/src/include/duckdb/planner/tableref/bound_pivotref.hpp +3 -0
  212. package/src/duckdb/src/main/relation/join_relation.cpp +1 -1
  213. package/src/duckdb/src/optimizer/deliminator.cpp +5 -3
  214. package/src/duckdb/src/parallel/pipeline.cpp +0 -17
  215. package/src/duckdb/src/parallel/pipeline_executor.cpp +26 -7
  216. package/src/duckdb/src/parallel/pipeline_finish_event.cpp +55 -1
  217. package/src/duckdb/src/parser/column_definition.cpp +20 -32
  218. package/src/duckdb/src/parser/column_list.cpp +8 -0
  219. package/src/duckdb/src/parser/constraints/foreign_key_constraint.cpp +3 -0
  220. package/src/duckdb/src/parser/constraints/unique_constraint.cpp +3 -0
  221. package/src/duckdb/src/parser/expression/case_expression.cpp +0 -12
  222. package/src/duckdb/src/parser/parsed_data/alter_info.cpp +5 -2
  223. package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +38 -0
  224. package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +3 -1
  225. package/src/duckdb/src/parser/parsed_data/create_sequence_info.cpp +2 -0
  226. package/src/duckdb/src/parser/parsed_data/detach_info.cpp +1 -1
  227. package/src/duckdb/src/parser/parsed_data/drop_info.cpp +1 -1
  228. package/src/duckdb/src/parser/parsed_data/sample_options.cpp +0 -18
  229. package/src/duckdb/src/parser/parsed_data/transaction_info.cpp +4 -1
  230. package/src/duckdb/src/parser/parsed_data/vacuum_info.cpp +1 -1
  231. package/src/duckdb/src/parser/query_node.cpp +0 -10
  232. package/src/duckdb/src/parser/result_modifier.cpp +0 -13
  233. package/src/duckdb/src/parser/statement/select_statement.cpp +0 -10
  234. package/src/duckdb/src/parser/tableref/pivotref.cpp +0 -16
  235. package/src/duckdb/src/parser/transform/statement/transform_create_index.cpp +5 -4
  236. package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +1 -1
  237. package/src/duckdb/src/planner/binder/statement/bind_create.cpp +6 -1
  238. package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +13 -3
  239. package/src/duckdb/src/planner/expression/bound_between_expression.cpp +4 -0
  240. package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +13 -6
  241. package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +20 -12
  242. package/src/duckdb/src/planner/logical_operator.cpp +13 -1
  243. package/src/duckdb/src/planner/operator/logical_comparison_join.cpp +16 -2
  244. package/src/duckdb/src/planner/operator/logical_create.cpp +14 -0
  245. package/src/duckdb/src/planner/operator/logical_create_index.cpp +20 -0
  246. package/src/duckdb/src/planner/operator/logical_create_table.cpp +16 -0
  247. package/src/duckdb/src/planner/operator/logical_delete.cpp +9 -2
  248. package/src/duckdb/src/planner/operator/logical_delim_join.cpp +2 -4
  249. package/src/duckdb/src/planner/operator/logical_distinct.cpp +13 -0
  250. package/src/duckdb/src/planner/operator/logical_explain.cpp +1 -1
  251. package/src/duckdb/src/planner/operator/logical_insert.cpp +8 -2
  252. package/src/duckdb/src/planner/operator/logical_materialized_cte.cpp +3 -2
  253. package/src/duckdb/src/planner/operator/logical_order.cpp +39 -0
  254. package/src/duckdb/src/planner/operator/logical_pivot.cpp +3 -0
  255. package/src/duckdb/src/planner/operator/logical_recursive_cte.cpp +5 -5
  256. package/src/duckdb/src/planner/operator/logical_sample.cpp +3 -0
  257. package/src/duckdb/src/planner/operator/logical_update.cpp +8 -2
  258. package/src/duckdb/src/planner/parsed_data/bound_create_table_info.cpp +4 -2
  259. package/src/duckdb/src/planner/planner.cpp +11 -0
  260. package/src/duckdb/src/storage/checkpoint_manager.cpp +23 -23
  261. package/src/duckdb/src/storage/compression/bitpacking.cpp +87 -63
  262. package/src/duckdb/src/storage/compression/bitpacking_hugeint.cpp +295 -0
  263. package/src/duckdb/src/storage/serialization/serialize_constraint.cpp +98 -0
  264. package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +188 -0
  265. package/src/duckdb/src/storage/serialization/serialize_expression.cpp +274 -0
  266. package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +729 -0
  267. package/src/duckdb/src/storage/serialization/serialize_macro_function.cpp +62 -0
  268. package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +242 -0
  269. package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +419 -0
  270. package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +40 -38
  271. package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +36 -36
  272. package/src/duckdb/src/storage/serialization/serialize_result_modifier.cpp +25 -14
  273. package/src/duckdb/src/storage/serialization/serialize_statement.cpp +22 -0
  274. package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +47 -47
  275. package/src/duckdb/src/storage/serialization/serialize_types.cpp +25 -25
  276. package/src/duckdb/src/storage/storage_info.cpp +3 -2
  277. package/src/duckdb/src/storage/wal_replay.cpp +20 -19
  278. package/src/duckdb/ub_extension_icu_third_party_icu_i18n.cpp +6 -6
  279. package/src/duckdb/ub_src_core_functions_scalar_string.cpp +2 -0
  280. package/src/duckdb/ub_src_parser.cpp +0 -2
  281. package/src/duckdb/ub_src_storage_compression.cpp +2 -0
  282. package/src/duckdb/ub_src_storage_serialization.cpp +16 -0
  283. package/src/duckdb/src/parser/common_table_expression_info.cpp +0 -21
@@ -32,6 +32,9 @@ public:
32
32
 
33
33
  DUCKDB_API void Serialize(FieldWriter &writer) const override;
34
34
  DUCKDB_API static unique_ptr<Constraint> Deserialize(FieldReader &source);
35
+
36
+ DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
37
+ DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
35
38
  };
36
39
 
37
40
  } // namespace duckdb
@@ -35,6 +35,12 @@ public:
35
35
  DUCKDB_API void Serialize(FieldWriter &writer) const override;
36
36
  //! Deserializes a ParsedConstraint
37
37
  DUCKDB_API static unique_ptr<Constraint> Deserialize(FieldReader &source);
38
+
39
+ DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
40
+ DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
41
+
42
+ private:
43
+ ForeignKeyConstraint();
38
44
  };
39
45
 
40
46
  } // namespace duckdb
@@ -32,6 +32,9 @@ public:
32
32
  DUCKDB_API void Serialize(FieldWriter &writer) const override;
33
33
  //! Deserializes a NotNullConstraint
34
34
  DUCKDB_API static unique_ptr<Constraint> Deserialize(FieldReader &source);
35
+
36
+ DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
37
+ DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
35
38
  };
36
39
 
37
40
  } // namespace duckdb
@@ -38,6 +38,12 @@ public:
38
38
  DUCKDB_API void Serialize(FieldWriter &writer) const override;
39
39
  //! Deserializes a ParsedConstraint
40
40
  DUCKDB_API static unique_ptr<Constraint> Deserialize(FieldReader &source);
41
+
42
+ DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
43
+ DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
44
+
45
+ private:
46
+ UniqueConstraint();
41
47
  };
42
48
 
43
49
  } // namespace duckdb
@@ -35,7 +35,7 @@ public:
35
35
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
36
36
 
37
37
  void FormatSerialize(FormatSerializer &serializer) const override;
38
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
38
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
39
39
 
40
40
  public:
41
41
  template <class T, class BASE>
@@ -42,7 +42,7 @@ public:
42
42
  void Serialize(FieldWriter &writer) const override;
43
43
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
44
44
  void FormatSerialize(FormatSerializer &serializer) const override;
45
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
45
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
46
46
 
47
47
  public:
48
48
  template <class T, class BASE>
@@ -38,7 +38,7 @@ public:
38
38
  void Serialize(FieldWriter &writer) const override;
39
39
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
40
40
  void FormatSerialize(FormatSerializer &serializer) const override;
41
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
41
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
42
42
 
43
43
  public:
44
44
  template <class T, class BASE>
@@ -35,7 +35,7 @@ public:
35
35
  void Serialize(FieldWriter &writer) const override;
36
36
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
37
37
  void FormatSerialize(FormatSerializer &serializer) const override;
38
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
38
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
39
39
 
40
40
  private:
41
41
  CollateExpression();
@@ -49,7 +49,7 @@ public:
49
49
  void Serialize(FieldWriter &writer) const override;
50
50
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
51
51
  void FormatSerialize(FormatSerializer &serializer) const override;
52
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
52
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
53
53
 
54
54
  private:
55
55
  ColumnRefExpression();
@@ -34,7 +34,7 @@ public:
34
34
  void Serialize(FieldWriter &writer) const override;
35
35
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
36
36
  void FormatSerialize(FormatSerializer &serializer) const override;
37
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
37
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
38
38
 
39
39
  public:
40
40
  template <class T, class BASE>
@@ -38,7 +38,7 @@ public:
38
38
  void Serialize(FieldWriter &writer) const override;
39
39
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
40
40
  void FormatSerialize(FormatSerializer &serializer) const override;
41
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
41
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
42
42
 
43
43
  public:
44
44
  template <class T, class BASE>
@@ -36,7 +36,7 @@ public:
36
36
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
37
37
 
38
38
  void FormatSerialize(FormatSerializer &serializer) const override;
39
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
39
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
40
40
 
41
41
  private:
42
42
  ConstantExpression();
@@ -31,6 +31,6 @@ public:
31
31
  void Serialize(FieldWriter &writer) const override;
32
32
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
33
33
  void FormatSerialize(FormatSerializer &serializer) const override;
34
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
34
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
35
35
  };
36
36
  } // namespace duckdb
@@ -59,7 +59,7 @@ public:
59
59
  void Serialize(FieldWriter &writer) const override;
60
60
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
61
61
  void FormatSerialize(FormatSerializer &serializer) const override;
62
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
62
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
63
63
 
64
64
  void Verify() const override;
65
65
 
@@ -41,7 +41,7 @@ public:
41
41
  void Serialize(FieldWriter &writer) const override;
42
42
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
43
43
  void FormatSerialize(FormatSerializer &serializer) const override;
44
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
44
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
45
45
 
46
46
  private:
47
47
  LambdaExpression();
@@ -36,7 +36,7 @@ public:
36
36
  void Serialize(FieldWriter &writer) const override;
37
37
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
38
38
  void FormatSerialize(FormatSerializer &serializer) const override;
39
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
39
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
40
40
 
41
41
  public:
42
42
  template <class T, class BASE>
@@ -38,6 +38,6 @@ public:
38
38
  void Serialize(FieldWriter &writer) const override;
39
39
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
40
40
  void FormatSerialize(FormatSerializer &serializer) const override;
41
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
41
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
42
42
  };
43
43
  } // namespace duckdb
@@ -34,7 +34,7 @@ public:
34
34
  void Serialize(FieldWriter &writer) const override;
35
35
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
36
36
  void FormatSerialize(FormatSerializer &serializer) const override;
37
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
37
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
38
38
 
39
39
  private:
40
40
  PositionalReferenceExpression();
@@ -42,6 +42,6 @@ public:
42
42
  void Serialize(FieldWriter &writer) const override;
43
43
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
44
44
  void FormatSerialize(FormatSerializer &serializer) const override;
45
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
45
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
46
46
  };
47
47
  } // namespace duckdb
@@ -49,6 +49,6 @@ public:
49
49
  void Serialize(FieldWriter &writer) const override;
50
50
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
51
51
  void FormatSerialize(FormatSerializer &serializer) const override;
52
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
52
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
53
53
  };
54
54
  } // namespace duckdb
@@ -77,7 +77,7 @@ public:
77
77
  void Serialize(FieldWriter &writer) const override;
78
78
  static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
79
79
  void FormatSerialize(FormatSerializer &serializer) const override;
80
- static unique_ptr<ParsedExpression> FormatDeserialize(ExpressionType type, FormatDeserializer &deserializer);
80
+ static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
81
81
 
82
82
  static ExpressionType WindowToExpressionType(string &fun_name);
83
83
 
@@ -40,8 +40,12 @@ struct AlterEntryData {
40
40
  };
41
41
 
42
42
  struct AlterInfo : public ParseInfo {
43
+ public:
44
+ static constexpr const ParseInfoType TYPE = ParseInfoType::ALTER_INFO;
45
+
46
+ public:
43
47
  AlterInfo(AlterType type, string catalog, string schema, string name, OnEntryNotFound if_not_found);
44
- virtual ~AlterInfo() override;
48
+ ~AlterInfo() override;
45
49
 
46
50
  AlterType type;
47
51
  //! if exists
@@ -61,11 +65,18 @@ public:
61
65
  void Serialize(Serializer &serializer) const;
62
66
  virtual void Serialize(FieldWriter &writer) const = 0;
63
67
  static unique_ptr<AlterInfo> Deserialize(Deserializer &source);
68
+
69
+ void FormatSerialize(FormatSerializer &serializer) const override;
70
+ static unique_ptr<ParseInfo> FormatDeserialize(FormatDeserializer &deserializer);
71
+
64
72
  virtual string GetColumnName() const {
65
73
  return "";
66
74
  };
67
75
 
68
76
  AlterEntryData GetAlterEntryData() const;
77
+
78
+ protected:
79
+ explicit AlterInfo(AlterType type);
69
80
  };
70
81
 
71
82
  } // namespace duckdb
@@ -15,7 +15,7 @@
15
15
 
16
16
  namespace duckdb {
17
17
 
18
- enum AlterForeignKeyType : uint8_t { AFT_ADD = 0, AFT_DELETE = 1 };
18
+ enum class AlterForeignKeyType : uint8_t { AFT_ADD = 0, AFT_DELETE = 1 };
19
19
 
20
20
  //===--------------------------------------------------------------------===//
21
21
  // Change Ownership
@@ -65,6 +65,12 @@ public:
65
65
  void Serialize(FieldWriter &writer) const override;
66
66
  virtual void SerializeAlterTable(FieldWriter &writer) const = 0;
67
67
  static unique_ptr<AlterInfo> Deserialize(FieldReader &reader);
68
+
69
+ void FormatSerialize(FormatSerializer &serializer) const override;
70
+ static unique_ptr<AlterInfo> FormatDeserialize(FormatDeserializer &deserializer);
71
+
72
+ protected:
73
+ AlterTableInfo(AlterTableType type);
68
74
  };
69
75
 
70
76
  //===--------------------------------------------------------------------===//
@@ -83,6 +89,12 @@ public:
83
89
  unique_ptr<AlterInfo> Copy() const override;
84
90
  void SerializeAlterTable(FieldWriter &writer) const override;
85
91
  static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, AlterEntryData data);
92
+
93
+ void FormatSerialize(FormatSerializer &serializer) const override;
94
+ static unique_ptr<AlterTableInfo> FormatDeserialize(FormatDeserializer &deserializer);
95
+
96
+ private:
97
+ RenameColumnInfo();
86
98
  };
87
99
 
88
100
  //===--------------------------------------------------------------------===//
@@ -99,6 +111,12 @@ public:
99
111
  unique_ptr<AlterInfo> Copy() const override;
100
112
  void SerializeAlterTable(FieldWriter &writer) const override;
101
113
  static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, AlterEntryData data);
114
+
115
+ void FormatSerialize(FormatSerializer &serializer) const override;
116
+ static unique_ptr<AlterTableInfo> FormatDeserialize(FormatDeserializer &deserializer);
117
+
118
+ private:
119
+ RenameTableInfo();
102
120
  };
103
121
 
104
122
  //===--------------------------------------------------------------------===//
@@ -117,6 +135,12 @@ public:
117
135
  unique_ptr<AlterInfo> Copy() const override;
118
136
  void SerializeAlterTable(FieldWriter &writer) const override;
119
137
  static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, AlterEntryData data);
138
+
139
+ void FormatSerialize(FormatSerializer &serializer) const override;
140
+ static unique_ptr<AlterTableInfo> FormatDeserialize(FormatDeserializer &deserializer);
141
+
142
+ private:
143
+ explicit AddColumnInfo(ColumnDefinition new_column);
120
144
  };
121
145
 
122
146
  //===--------------------------------------------------------------------===//
@@ -137,9 +161,14 @@ public:
137
161
  unique_ptr<AlterInfo> Copy() const override;
138
162
  void SerializeAlterTable(FieldWriter &writer) const override;
139
163
  static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, AlterEntryData data);
164
+ void FormatSerialize(FormatSerializer &serializer) const override;
165
+ static unique_ptr<AlterTableInfo> FormatDeserialize(FormatDeserializer &deserializer);
140
166
  string GetColumnName() const override {
141
167
  return removed_column;
142
- };
168
+ }
169
+
170
+ private:
171
+ RemoveColumnInfo();
143
172
  };
144
173
 
145
174
  //===--------------------------------------------------------------------===//
@@ -161,9 +190,14 @@ public:
161
190
  unique_ptr<AlterInfo> Copy() const override;
162
191
  void SerializeAlterTable(FieldWriter &writer) const override;
163
192
  static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, AlterEntryData data);
193
+ void FormatSerialize(FormatSerializer &serializer) const override;
194
+ static unique_ptr<AlterTableInfo> FormatDeserialize(FormatDeserializer &deserializer);
164
195
  string GetColumnName() const override {
165
196
  return column_name;
166
197
  };
198
+
199
+ private:
200
+ ChangeColumnTypeInfo();
167
201
  };
168
202
 
169
203
  //===--------------------------------------------------------------------===//
@@ -182,6 +216,11 @@ public:
182
216
  unique_ptr<AlterInfo> Copy() const override;
183
217
  void SerializeAlterTable(FieldWriter &writer) const override;
184
218
  static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, AlterEntryData data);
219
+ void FormatSerialize(FormatSerializer &serializer) const override;
220
+ static unique_ptr<AlterTableInfo> FormatDeserialize(FormatDeserializer &deserializer);
221
+
222
+ private:
223
+ SetDefaultInfo();
185
224
  };
186
225
 
187
226
  //===--------------------------------------------------------------------===//
@@ -203,6 +242,11 @@ public:
203
242
  unique_ptr<AlterInfo> Copy() const override;
204
243
  void SerializeAlterTable(FieldWriter &writer) const override;
205
244
  static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, AlterEntryData data);
245
+ void FormatSerialize(FormatSerializer &serializer) const override;
246
+ static unique_ptr<AlterTableInfo> FormatDeserialize(FormatDeserializer &deserializer);
247
+
248
+ private:
249
+ AlterForeignKeyInfo();
206
250
  };
207
251
 
208
252
  //===--------------------------------------------------------------------===//
@@ -219,6 +263,11 @@ public:
219
263
  unique_ptr<AlterInfo> Copy() const override;
220
264
  void SerializeAlterTable(FieldWriter &writer) const override;
221
265
  static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, AlterEntryData data);
266
+ void FormatSerialize(FormatSerializer &serializer) const override;
267
+ static unique_ptr<AlterTableInfo> FormatDeserialize(FormatDeserializer &deserializer);
268
+
269
+ private:
270
+ SetNotNullInfo();
222
271
  };
223
272
 
224
273
  //===--------------------------------------------------------------------===//
@@ -235,6 +284,11 @@ public:
235
284
  unique_ptr<AlterInfo> Copy() const override;
236
285
  void SerializeAlterTable(FieldWriter &writer) const override;
237
286
  static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, AlterEntryData data);
287
+ void FormatSerialize(FormatSerializer &serializer) const override;
288
+ static unique_ptr<AlterTableInfo> FormatDeserialize(FormatDeserializer &deserializer);
289
+
290
+ private:
291
+ DropNotNullInfo();
238
292
  };
239
293
 
240
294
  //===--------------------------------------------------------------------===//
@@ -253,6 +307,11 @@ public:
253
307
  void Serialize(FieldWriter &writer) const override;
254
308
  virtual void SerializeAlterView(FieldWriter &writer) const = 0;
255
309
  static unique_ptr<AlterInfo> Deserialize(FieldReader &reader);
310
+ void FormatSerialize(FormatSerializer &serializer) const override;
311
+ static unique_ptr<AlterInfo> FormatDeserialize(FormatDeserializer &deserializer);
312
+
313
+ protected:
314
+ AlterViewInfo(AlterViewType type);
256
315
  };
257
316
 
258
317
  //===--------------------------------------------------------------------===//
@@ -269,6 +328,11 @@ public:
269
328
  unique_ptr<AlterInfo> Copy() const override;
270
329
  void SerializeAlterView(FieldWriter &writer) const override;
271
330
  static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, AlterEntryData data);
331
+ void FormatSerialize(FormatSerializer &serializer) const override;
332
+ static unique_ptr<AlterViewInfo> FormatDeserialize(FormatDeserializer &deserializer);
333
+
334
+ private:
335
+ RenameViewInfo();
272
336
  };
273
337
 
274
338
  } // namespace duckdb
@@ -16,7 +16,11 @@
16
16
  namespace duckdb {
17
17
 
18
18
  struct AttachInfo : public ParseInfo {
19
- AttachInfo() {
19
+ public:
20
+ static constexpr const ParseInfoType TYPE = ParseInfoType::ATTACH_INFO;
21
+
22
+ public:
23
+ AttachInfo() : ParseInfo(TYPE) {
20
24
  }
21
25
 
22
26
  //! The alias of the attached database
@@ -31,6 +35,9 @@ public:
31
35
 
32
36
  void Serialize(Serializer &serializer) const;
33
37
  static unique_ptr<ParseInfo> Deserialize(Deserializer &deserializer);
38
+
39
+ void FormatSerialize(FormatSerializer &serializer) const override;
40
+ static unique_ptr<ParseInfo> FormatDeserialize(FormatDeserializer &deserializer);
34
41
  };
35
42
 
36
43
  } // namespace duckdb
@@ -17,7 +17,11 @@
17
17
  namespace duckdb {
18
18
 
19
19
  struct CopyInfo : public ParseInfo {
20
- CopyInfo() : catalog(INVALID_CATALOG), schema(DEFAULT_SCHEMA) {
20
+ public:
21
+ static constexpr const ParseInfoType TYPE = ParseInfoType::COPY_INFO;
22
+
23
+ public:
24
+ CopyInfo() : ParseInfo(TYPE), catalog(INVALID_CATALOG), schema(DEFAULT_SCHEMA) {
21
25
  }
22
26
 
23
27
  //! The catalog name to copy to/from
@@ -50,6 +54,9 @@ public:
50
54
  result->options = options;
51
55
  return result;
52
56
  }
57
+
58
+ void FormatSerialize(FormatSerializer &serializer) const override;
59
+ static unique_ptr<ParseInfo> FormatDeserialize(FormatDeserializer &deserializer);
53
60
  };
54
61
 
55
62
  } // namespace duckdb
@@ -28,7 +28,7 @@ struct CreateIndexInfo : public CreateInfo {
28
28
  //! Index Constraint Type
29
29
  IndexConstraintType constraint_type;
30
30
  //! The table to create the index on
31
- unique_ptr<BaseTableRef> table;
31
+ string table;
32
32
  //! Set of expressions to index by
33
33
  vector<unique_ptr<ParsedExpression>> expressions;
34
34
  vector<unique_ptr<ParsedExpression>> parsed_expressions;
@@ -47,6 +47,9 @@ public:
47
47
  DUCKDB_API unique_ptr<CreateInfo> Copy() const override;
48
48
 
49
49
  static unique_ptr<CreateIndexInfo> Deserialize(Deserializer &deserializer);
50
+
51
+ void FormatSerialize(FormatSerializer &serializer) const override;
52
+ static unique_ptr<CreateInfo> FormatDeserialize(FormatDeserializer &deserializer);
50
53
  };
51
54
 
52
55
  } // namespace duckdb
@@ -28,9 +28,13 @@ enum class OnCreateConflict : uint8_t {
28
28
  };
29
29
 
30
30
  struct CreateInfo : public ParseInfo {
31
+ public:
32
+ static constexpr const ParseInfoType TYPE = ParseInfoType::CREATE_INFO;
33
+
34
+ public:
31
35
  explicit CreateInfo(CatalogType type, string schema = DEFAULT_SCHEMA, string catalog_p = INVALID_CATALOG)
32
- : type(type), catalog(std::move(catalog_p)), schema(schema), on_conflict(OnCreateConflict::ERROR_ON_CONFLICT),
33
- temporary(false), internal(false) {
36
+ : ParseInfo(TYPE), type(type), catalog(std::move(catalog_p)), schema(schema),
37
+ on_conflict(OnCreateConflict::ERROR_ON_CONFLICT), temporary(false), internal(false) {
34
38
  }
35
39
  ~CreateInfo() override {
36
40
  }
@@ -61,6 +65,9 @@ public:
61
65
  static unique_ptr<CreateInfo> Deserialize(Deserializer &deserializer);
62
66
  static unique_ptr<CreateInfo> Deserialize(Deserializer &deserializer, PlanDeserializationState &state);
63
67
 
68
+ void FormatSerialize(FormatSerializer &serializer) const override;
69
+ static unique_ptr<CreateInfo> FormatDeserialize(FormatDeserializer &deserializer);
70
+
64
71
  virtual unique_ptr<CreateInfo> Copy() const = 0;
65
72
 
66
73
  DUCKDB_API void CopyProperties(CreateInfo &other) const;
@@ -24,6 +24,9 @@ public:
24
24
 
25
25
  DUCKDB_API static unique_ptr<CreateMacroInfo> Deserialize(Deserializer &deserializer);
26
26
 
27
+ DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
28
+ DUCKDB_API static unique_ptr<CreateInfo> FormatDeserialize(FormatDeserializer &deserializer);
29
+
27
30
  protected:
28
31
  void SerializeInternal(Serializer &) const override;
29
32
  };
@@ -29,6 +29,9 @@ public:
29
29
  return result;
30
30
  }
31
31
 
32
+ DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
33
+ DUCKDB_API static unique_ptr<CreateInfo> FormatDeserialize(FormatDeserializer &deserializer);
34
+
32
35
  protected:
33
36
  void SerializeInternal(Serializer &) const override {
34
37
  }
@@ -52,6 +52,9 @@ public:
52
52
  public:
53
53
  DUCKDB_API static unique_ptr<CreateSequenceInfo> Deserialize(Deserializer &deserializer);
54
54
 
55
+ DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
56
+ DUCKDB_API static unique_ptr<CreateInfo> FormatDeserialize(FormatDeserializer &deserializer);
57
+
55
58
  protected:
56
59
  void SerializeInternal(Serializer &) const override;
57
60
  };
@@ -40,6 +40,9 @@ public:
40
40
  DUCKDB_API static unique_ptr<CreateTableInfo> Deserialize(Deserializer &deserializer);
41
41
 
42
42
  DUCKDB_API unique_ptr<CreateInfo> Copy() const override;
43
+
44
+ DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
45
+ DUCKDB_API static unique_ptr<CreateInfo> FormatDeserialize(FormatDeserializer &deserializer);
43
46
  };
44
47
 
45
48
  } // namespace duckdb
@@ -31,6 +31,9 @@ public:
31
31
 
32
32
  DUCKDB_API static unique_ptr<CreateTypeInfo> Deserialize(Deserializer &deserializer);
33
33
 
34
+ DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
35
+ DUCKDB_API static unique_ptr<CreateInfo> FormatDeserialize(FormatDeserializer &deserializer);
36
+
34
37
  protected:
35
38
  void SerializeInternal(Serializer &) const override;
36
39
  };
@@ -38,6 +38,9 @@ public:
38
38
  //! Gets a bound CreateViewInfo object from a CREATE VIEW statement
39
39
  DUCKDB_API static unique_ptr<CreateViewInfo> FromCreateView(ClientContext &context, const string &sql);
40
40
 
41
+ DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
42
+ DUCKDB_API static unique_ptr<CreateInfo> FormatDeserialize(FormatDeserializer &deserializer);
43
+
41
44
  protected:
42
45
  void SerializeInternal(Serializer &serializer) const override;
43
46
  };
@@ -14,6 +14,10 @@
14
14
  namespace duckdb {
15
15
 
16
16
  struct DetachInfo : public ParseInfo {
17
+ public:
18
+ static constexpr const ParseInfoType TYPE = ParseInfoType::DETACH_INFO;
19
+
20
+ public:
17
21
  DetachInfo();
18
22
 
19
23
  //! The alias of the attached database
@@ -25,5 +29,8 @@ public:
25
29
  unique_ptr<DetachInfo> Copy() const;
26
30
  void Serialize(Serializer &serializer) const;
27
31
  static unique_ptr<ParseInfo> Deserialize(Deserializer &deserializer);
32
+
33
+ void FormatSerialize(FormatSerializer &serializer) const override;
34
+ static unique_ptr<ParseInfo> FormatDeserialize(FormatDeserializer &deserializer);
28
35
  };
29
36
  } // namespace duckdb
@@ -15,6 +15,10 @@
15
15
  namespace duckdb {
16
16
 
17
17
  struct DropInfo : public ParseInfo {
18
+ public:
19
+ static constexpr const ParseInfoType TYPE = ParseInfoType::DROP_INFO;
20
+
21
+ public:
18
22
  DropInfo();
19
23
 
20
24
  //! The catalog type to drop
@@ -38,6 +42,9 @@ public:
38
42
 
39
43
  void Serialize(Serializer &serializer) const;
40
44
  static unique_ptr<ParseInfo> Deserialize(Deserializer &deserializer);
45
+
46
+ void FormatSerialize(FormatSerializer &serializer) const override;
47
+ static unique_ptr<ParseInfo> FormatDeserialize(FormatDeserializer &deserializer);
41
48
  };
42
49
 
43
50
  } // namespace duckdb
@@ -38,6 +38,13 @@ struct ExportedTableInfo {
38
38
  };
39
39
 
40
40
  struct BoundExportData : public ParseInfo {
41
+ public:
42
+ static constexpr const ParseInfoType TYPE = ParseInfoType::BOUND_EXPORT_DATA;
43
+
44
+ public:
45
+ BoundExportData() : ParseInfo(TYPE) {
46
+ }
47
+
41
48
  vector<ExportedTableInfo> data;
42
49
  };
43
50