duckdb 0.7.2-dev2867.0 → 0.7.2-dev3117.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 (319) hide show
  1. package/binding.gyp +2 -0
  2. package/package.json +1 -1
  3. package/src/duckdb/extension/icu/icu-datepart.cpp +5 -1
  4. package/src/duckdb/extension/json/include/json_deserializer.hpp +1 -0
  5. package/src/duckdb/extension/json/include/json_serializer.hpp +8 -1
  6. package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +1 -3
  7. package/src/duckdb/extension/json/json_functions/json_structure.cpp +3 -3
  8. package/src/duckdb/extension/json/json_functions/json_transform.cpp +3 -2
  9. package/src/duckdb/extension/parquet/parquet-extension.cpp +9 -7
  10. package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +18 -7
  11. package/src/duckdb/src/catalog/default/default_functions.cpp +2 -0
  12. package/src/duckdb/src/common/arrow/arrow_appender.cpp +3 -3
  13. package/src/duckdb/src/common/arrow/arrow_converter.cpp +2 -2
  14. package/src/duckdb/src/common/enum_util.cpp +5908 -0
  15. package/src/duckdb/src/common/enums/expression_type.cpp +216 -4
  16. package/src/duckdb/src/common/enums/join_type.cpp +6 -5
  17. package/src/duckdb/src/common/enums/physical_operator_type.cpp +2 -0
  18. package/src/duckdb/src/common/exception.cpp +1 -1
  19. package/src/duckdb/src/common/exception_format_value.cpp +2 -2
  20. package/src/duckdb/src/common/multi_file_reader.cpp +14 -0
  21. package/src/duckdb/src/common/serializer/binary_deserializer.cpp +143 -0
  22. package/src/duckdb/src/common/serializer/binary_serializer.cpp +160 -0
  23. package/src/duckdb/src/common/sort/partition_state.cpp +1 -1
  24. package/src/duckdb/src/common/string_util.cpp +6 -1
  25. package/src/duckdb/src/common/types/row/tuple_data_scatter_gather.cpp +3 -3
  26. package/src/duckdb/src/common/types.cpp +11 -10
  27. package/src/duckdb/src/common/vector_operations/is_distinct_from.cpp +4 -4
  28. package/src/duckdb/src/core_functions/function_list.cpp +2 -0
  29. package/src/duckdb/src/core_functions/scalar/date/date_part.cpp +2 -1
  30. package/src/duckdb/src/core_functions/scalar/list/list_sort.cpp +2 -3
  31. package/src/duckdb/src/core_functions/scalar/string/format_bytes.cpp +29 -0
  32. package/src/duckdb/src/execution/aggregate_hashtable.cpp +3 -3
  33. package/src/duckdb/src/execution/index/art/art.cpp +5 -1
  34. package/src/duckdb/src/execution/operator/aggregate/distinct_aggregate_data.cpp +1 -1
  35. package/src/duckdb/src/execution/operator/aggregate/grouped_aggregate_data.cpp +2 -2
  36. package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +65 -45
  37. package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +17 -11
  38. package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +32 -39
  39. package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +10 -9
  40. package/src/duckdb/src/execution/operator/helper/physical_batch_collector.cpp +4 -4
  41. package/src/duckdb/src/execution/operator/helper/physical_explain_analyze.cpp +6 -21
  42. package/src/duckdb/src/execution/operator/helper/physical_limit.cpp +13 -13
  43. package/src/duckdb/src/execution/operator/helper/physical_limit_percent.cpp +15 -14
  44. package/src/duckdb/src/execution/operator/helper/physical_load.cpp +3 -2
  45. package/src/duckdb/src/execution/operator/helper/physical_materialized_collector.cpp +4 -4
  46. package/src/duckdb/src/execution/operator/helper/physical_pragma.cpp +4 -2
  47. package/src/duckdb/src/execution/operator/helper/physical_prepare.cpp +4 -2
  48. package/src/duckdb/src/execution/operator/helper/physical_reservoir_sample.cpp +10 -8
  49. package/src/duckdb/src/execution/operator/helper/physical_reset.cpp +4 -3
  50. package/src/duckdb/src/execution/operator/helper/physical_set.cpp +7 -6
  51. package/src/duckdb/src/execution/operator/helper/physical_streaming_sample.cpp +2 -1
  52. package/src/duckdb/src/execution/operator/helper/physical_transaction.cpp +4 -2
  53. package/src/duckdb/src/execution/operator/helper/physical_vacuum.cpp +8 -8
  54. package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +17 -16
  55. package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +12 -9
  56. package/src/duckdb/src/execution/operator/join/physical_comparison_join.cpp +2 -1
  57. package/src/duckdb/src/execution/operator/join/physical_cross_product.cpp +3 -4
  58. package/src/duckdb/src/execution/operator/join/physical_delim_join.cpp +5 -5
  59. package/src/duckdb/src/execution/operator/join/physical_hash_join.cpp +16 -15
  60. package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +13 -12
  61. package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +12 -10
  62. package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +13 -11
  63. package/src/duckdb/src/execution/operator/join/physical_positional_join.cpp +8 -6
  64. package/src/duckdb/src/execution/operator/join/physical_range_join.cpp +1 -1
  65. package/src/duckdb/src/execution/operator/order/physical_order.cpp +13 -13
  66. package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +8 -8
  67. package/src/duckdb/src/execution/operator/persistent/physical_batch_copy_to_file.cpp +165 -0
  68. package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +160 -145
  69. package/src/duckdb/src/execution/operator/persistent/physical_copy_to_file.cpp +11 -26
  70. package/src/duckdb/src/execution/operator/persistent/physical_delete.cpp +14 -19
  71. package/src/duckdb/src/execution/operator/persistent/physical_export.cpp +7 -6
  72. package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +18 -30
  73. package/src/duckdb/src/execution/operator/persistent/physical_update.cpp +14 -18
  74. package/src/duckdb/src/execution/operator/scan/physical_column_data_scan.cpp +6 -4
  75. package/src/duckdb/src/execution/operator/scan/physical_dummy_scan.cpp +4 -19
  76. package/src/duckdb/src/execution/operator/scan/physical_empty_result.cpp +3 -2
  77. package/src/duckdb/src/execution/operator/scan/physical_positional_scan.cpp +14 -5
  78. package/src/duckdb/src/execution/operator/scan/physical_table_scan.cpp +6 -4
  79. package/src/duckdb/src/execution/operator/schema/physical_alter.cpp +3 -19
  80. package/src/duckdb/src/execution/operator/schema/physical_attach.cpp +13 -25
  81. package/src/duckdb/src/execution/operator/schema/physical_create_function.cpp +4 -19
  82. package/src/duckdb/src/execution/operator/schema/physical_create_index.cpp +8 -9
  83. package/src/duckdb/src/execution/operator/schema/physical_create_schema.cpp +4 -19
  84. package/src/duckdb/src/execution/operator/schema/physical_create_sequence.cpp +4 -19
  85. package/src/duckdb/src/execution/operator/schema/physical_create_table.cpp +4 -19
  86. package/src/duckdb/src/execution/operator/schema/physical_create_type.cpp +9 -26
  87. package/src/duckdb/src/execution/operator/schema/physical_create_view.cpp +4 -19
  88. package/src/duckdb/src/execution/operator/schema/physical_detach.cpp +4 -19
  89. package/src/duckdb/src/execution/operator/schema/physical_drop.cpp +3 -19
  90. package/src/duckdb/src/execution/operator/set/physical_recursive_cte.cpp +9 -8
  91. package/src/duckdb/src/execution/operator/set/physical_union.cpp +1 -1
  92. package/src/duckdb/src/execution/partitionable_hashtable.cpp +2 -2
  93. package/src/duckdb/src/execution/physical_operator.cpp +11 -5
  94. package/src/duckdb/src/execution/physical_plan/plan_copy_to_file.cpp +25 -4
  95. package/src/duckdb/src/execution/physical_plan/plan_sample.cpp +2 -1
  96. package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +16 -16
  97. package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +5 -4
  98. package/src/duckdb/src/function/table/arrow_conversion.cpp +3 -3
  99. package/src/duckdb/src/function/table/copy_csv.cpp +85 -29
  100. package/src/duckdb/src/function/table/read_csv.cpp +17 -11
  101. package/src/duckdb/src/function/table/system/duckdb_settings.cpp +2 -1
  102. package/src/duckdb/src/function/table/system/duckdb_types.cpp +2 -1
  103. package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
  104. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +7 -1
  105. package/src/duckdb/src/include/duckdb/common/enum_util.hpp +958 -0
  106. package/src/duckdb/src/include/duckdb/common/enums/join_type.hpp +3 -3
  107. package/src/duckdb/src/include/duckdb/common/enums/operator_result_type.hpp +16 -4
  108. package/src/duckdb/src/include/duckdb/common/enums/physical_operator_type.hpp +1 -0
  109. package/src/duckdb/src/include/duckdb/common/exception.hpp +4 -4
  110. package/src/duckdb/src/include/duckdb/common/exception_format_value.hpp +3 -2
  111. package/src/duckdb/src/include/duckdb/common/multi_file_reader_options.hpp +44 -0
  112. package/src/duckdb/src/include/duckdb/common/optional_idx.hpp +45 -0
  113. package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +93 -0
  114. package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +92 -0
  115. package/src/duckdb/src/include/duckdb/common/serializer/format_deserializer.hpp +7 -3
  116. package/src/duckdb/src/include/duckdb/common/serializer/format_serializer.hpp +2 -2
  117. package/src/duckdb/src/include/duckdb/common/set.hpp +2 -1
  118. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_collection.hpp +1 -1
  119. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_segment.hpp +1 -1
  120. package/src/duckdb/src/include/duckdb/common/types.hpp +1 -0
  121. package/src/duckdb/src/include/duckdb/common/vector.hpp +61 -14
  122. package/src/duckdb/src/include/duckdb/core_functions/scalar/string_functions.hpp +15 -0
  123. package/src/duckdb/src/include/duckdb/execution/aggregate_hashtable.hpp +3 -2
  124. package/src/duckdb/src/include/duckdb/execution/executor.hpp +10 -1
  125. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/distinct_aggregate_data.hpp +2 -2
  126. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/grouped_aggregate_data.hpp +2 -2
  127. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp +8 -11
  128. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_perfecthash_aggregate.hpp +2 -4
  129. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_ungrouped_aggregate.hpp +3 -7
  130. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_window.hpp +2 -4
  131. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp +1 -2
  132. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_explain_analyze.hpp +2 -5
  133. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_limit.hpp +2 -4
  134. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_limit_percent.hpp +2 -4
  135. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_load.hpp +1 -2
  136. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_materialized_collector.hpp +1 -2
  137. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_pragma.hpp +1 -2
  138. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_prepare.hpp +1 -2
  139. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_reservoir_sample.hpp +2 -4
  140. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_reset.hpp +1 -2
  141. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_set.hpp +1 -2
  142. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_transaction.hpp +1 -2
  143. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_vacuum.hpp +2 -4
  144. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_asof_join.hpp +2 -4
  145. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp +2 -4
  146. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_cross_product.hpp +1 -2
  147. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_delim_join.hpp +1 -2
  148. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_hash_join.hpp +2 -4
  149. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_iejoin.hpp +2 -4
  150. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_nested_loop_join.hpp +2 -4
  151. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_piecewise_merge_join.hpp +2 -4
  152. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_positional_join.hpp +2 -4
  153. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_order.hpp +2 -4
  154. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_top_n.hpp +2 -4
  155. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_copy_to_file.hpp +68 -0
  156. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_insert.hpp +3 -5
  157. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp +4 -5
  158. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_delete.hpp +2 -4
  159. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_export.hpp +2 -4
  160. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_insert.hpp +2 -4
  161. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_update.hpp +2 -4
  162. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_column_data_scan.hpp +1 -2
  163. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_dummy_scan.hpp +1 -3
  164. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_empty_result.hpp +1 -2
  165. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_positional_scan.hpp +1 -2
  166. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_table_scan.hpp +1 -2
  167. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_alter.hpp +1 -3
  168. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_attach.hpp +1 -3
  169. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_function.hpp +1 -3
  170. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_index.hpp +2 -4
  171. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_schema.hpp +1 -3
  172. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_sequence.hpp +1 -3
  173. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_table.hpp +1 -3
  174. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_type.hpp +2 -5
  175. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_view.hpp +1 -3
  176. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_detach.hpp +1 -3
  177. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_drop.hpp +1 -3
  178. package/src/duckdb/src/include/duckdb/execution/operator/set/physical_recursive_cte.hpp +2 -4
  179. package/src/duckdb/src/include/duckdb/execution/partitionable_hashtable.hpp +3 -3
  180. package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +7 -4
  181. package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +26 -6
  182. package/src/duckdb/src/include/duckdb/execution/radix_partitioned_hashtable.hpp +6 -6
  183. package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +2 -1
  184. package/src/duckdb/src/include/duckdb/function/copy_function.hpp +32 -4
  185. package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +4 -2
  186. package/src/duckdb/src/include/duckdb/function/table_function.hpp +0 -1
  187. package/src/duckdb/src/include/duckdb/main/client_config.hpp +2 -0
  188. package/src/duckdb/src/include/duckdb/main/config.hpp +4 -0
  189. package/src/duckdb/src/include/duckdb/main/database.hpp +1 -3
  190. package/src/duckdb/src/include/duckdb/main/database_path_and_type.hpp +24 -0
  191. package/src/duckdb/src/include/duckdb/main/relation/setop_relation.hpp +1 -0
  192. package/src/duckdb/src/include/duckdb/parallel/event.hpp +1 -1
  193. package/src/duckdb/src/include/duckdb/parallel/interrupt.hpp +63 -0
  194. package/src/duckdb/src/include/duckdb/parallel/pipeline.hpp +16 -3
  195. package/src/duckdb/src/include/duckdb/parallel/pipeline_executor.hpp +51 -7
  196. package/src/duckdb/src/include/duckdb/parallel/task.hpp +21 -2
  197. package/src/duckdb/src/include/duckdb/parallel/task_counter.hpp +2 -2
  198. package/src/duckdb/src/include/duckdb/parallel/task_scheduler.hpp +2 -2
  199. package/src/duckdb/src/include/duckdb/parser/parsed_data/sample_options.hpp +1 -0
  200. package/src/duckdb/src/include/duckdb/planner/column_binding.hpp +6 -0
  201. package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +1 -0
  202. package/src/duckdb/src/include/duckdb/planner/expression_binder/base_select_binder.hpp +2 -0
  203. package/src/duckdb/src/include/duckdb/planner/expression_binder.hpp +2 -0
  204. package/src/duckdb/src/include/duckdb/planner/operator/logical_aggregate.hpp +2 -1
  205. package/src/duckdb/src/include/duckdb/planner/operator/logical_column_data_get.hpp +1 -0
  206. package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +1 -0
  207. package/src/duckdb/src/include/duckdb/planner/operator/logical_delete.hpp +1 -0
  208. package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +1 -0
  209. package/src/duckdb/src/include/duckdb/planner/operator/logical_dummy_scan.hpp +1 -0
  210. package/src/duckdb/src/include/duckdb/planner/operator/logical_expression_get.hpp +1 -0
  211. package/src/duckdb/src/include/duckdb/planner/operator/logical_insert.hpp +1 -0
  212. package/src/duckdb/src/include/duckdb/planner/operator/logical_pivot.hpp +1 -0
  213. package/src/duckdb/src/include/duckdb/planner/operator/logical_projection.hpp +1 -0
  214. package/src/duckdb/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +1 -0
  215. package/src/duckdb/src/include/duckdb/planner/operator/logical_set_operation.hpp +1 -0
  216. package/src/duckdb/src/include/duckdb/planner/operator/logical_unnest.hpp +1 -0
  217. package/src/duckdb/src/include/duckdb/planner/operator/logical_update.hpp +1 -0
  218. package/src/duckdb/src/include/duckdb/planner/operator/logical_window.hpp +1 -0
  219. package/src/duckdb/src/include/duckdb/planner/query_node/bound_select_node.hpp +1 -1
  220. package/src/duckdb/src/include/duckdb/storage/data_table.hpp +1 -0
  221. package/src/duckdb/src/include/duckdb/storage/optimistic_data_writer.hpp +46 -0
  222. package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +24 -3
  223. package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +46 -1
  224. package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +9 -10
  225. package/src/duckdb/src/include/duckdb/storage/table/column_segment.hpp +1 -1
  226. package/src/duckdb/src/include/duckdb/storage/table/list_column_data.hpp +2 -2
  227. package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +3 -3
  228. package/src/duckdb/src/include/duckdb/storage/table/row_group_collection.hpp +1 -0
  229. package/src/duckdb/src/include/duckdb/storage/table/segment_base.hpp +1 -1
  230. package/src/duckdb/src/include/duckdb/storage/table/segment_tree.hpp +22 -0
  231. package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +3 -3
  232. package/src/duckdb/src/include/duckdb/storage/table/struct_column_data.hpp +2 -2
  233. package/src/duckdb/src/include/duckdb/storage/table/update_segment.hpp +0 -2
  234. package/src/duckdb/src/include/duckdb/storage/table/validity_column_data.hpp +1 -2
  235. package/src/duckdb/src/include/duckdb/transaction/local_storage.hpp +9 -34
  236. package/src/duckdb/src/include/duckdb/verification/deserialized_statement_verifier_v2.hpp +26 -0
  237. package/src/duckdb/src/include/duckdb/verification/no_operator_caching_verifier.hpp +25 -0
  238. package/src/duckdb/src/include/duckdb/verification/statement_verifier.hpp +6 -0
  239. package/src/duckdb/src/main/client_context.cpp +1 -0
  240. package/src/duckdb/src/main/client_verify.cpp +5 -0
  241. package/src/duckdb/src/main/config.cpp +4 -0
  242. package/src/duckdb/src/main/database.cpp +22 -34
  243. package/src/duckdb/src/main/database_path_and_type.cpp +23 -0
  244. package/src/duckdb/src/main/extension/extension_load.cpp +19 -15
  245. package/src/duckdb/src/main/relation/join_relation.cpp +2 -1
  246. package/src/duckdb/src/main/relation/setop_relation.cpp +2 -3
  247. package/src/duckdb/src/parallel/event.cpp +1 -1
  248. package/src/duckdb/src/parallel/executor.cpp +39 -3
  249. package/src/duckdb/src/parallel/executor_task.cpp +11 -0
  250. package/src/duckdb/src/parallel/interrupt.cpp +57 -0
  251. package/src/duckdb/src/parallel/pipeline.cpp +49 -6
  252. package/src/duckdb/src/parallel/pipeline_executor.cpp +248 -69
  253. package/src/duckdb/src/parallel/pipeline_initialize_event.cpp +1 -1
  254. package/src/duckdb/src/parallel/task_scheduler.cpp +57 -22
  255. package/src/duckdb/src/parser/base_expression.cpp +6 -0
  256. package/src/duckdb/src/parser/expression/window_expression.cpp +1 -1
  257. package/src/duckdb/src/parser/parsed_data/sample_options.cpp +2 -2
  258. package/src/duckdb/src/parser/query_node/select_node.cpp +1 -1
  259. package/src/duckdb/src/parser/result_modifier.cpp +2 -2
  260. package/src/duckdb/src/parser/statement/select_statement.cpp +0 -44
  261. package/src/duckdb/src/parser/tableref/joinref.cpp +3 -3
  262. package/src/duckdb/src/parser/tableref.cpp +1 -1
  263. package/src/duckdb/src/parser/transform/expression/transform_function.cpp +3 -3
  264. package/src/duckdb/src/planner/binder/expression/bind_columnref_expression.cpp +6 -0
  265. package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +4 -1
  266. package/src/duckdb/src/planner/expression/bound_columnref_expression.cpp +17 -3
  267. package/src/duckdb/src/planner/expression/bound_reference_expression.cpp +8 -2
  268. package/src/duckdb/src/planner/expression_binder/base_select_binder.cpp +7 -0
  269. package/src/duckdb/src/planner/operator/logical_aggregate.cpp +14 -2
  270. package/src/duckdb/src/planner/operator/logical_column_data_get.cpp +11 -0
  271. package/src/duckdb/src/planner/operator/logical_comparison_join.cpp +2 -2
  272. package/src/duckdb/src/planner/operator/logical_cteref.cpp +11 -0
  273. package/src/duckdb/src/planner/operator/logical_delete.cpp +10 -0
  274. package/src/duckdb/src/planner/operator/logical_delim_get.cpp +12 -1
  275. package/src/duckdb/src/planner/operator/logical_dummy_scan.cpp +12 -1
  276. package/src/duckdb/src/planner/operator/logical_expression_get.cpp +12 -1
  277. package/src/duckdb/src/planner/operator/logical_get.cpp +10 -4
  278. package/src/duckdb/src/planner/operator/logical_insert.cpp +12 -1
  279. package/src/duckdb/src/planner/operator/logical_pivot.cpp +11 -0
  280. package/src/duckdb/src/planner/operator/logical_projection.cpp +11 -0
  281. package/src/duckdb/src/planner/operator/logical_recursive_cte.cpp +11 -0
  282. package/src/duckdb/src/planner/operator/logical_set_operation.cpp +11 -0
  283. package/src/duckdb/src/planner/operator/logical_unnest.cpp +12 -1
  284. package/src/duckdb/src/planner/operator/logical_update.cpp +10 -0
  285. package/src/duckdb/src/planner/operator/logical_window.cpp +11 -0
  286. package/src/duckdb/src/storage/checkpoint_manager.cpp +1 -1
  287. package/src/duckdb/src/storage/data_table.cpp +5 -0
  288. package/src/duckdb/src/storage/local_storage.cpp +40 -110
  289. package/src/duckdb/src/storage/optimistic_data_writer.cpp +96 -0
  290. package/src/duckdb/src/storage/partial_block_manager.cpp +73 -9
  291. package/src/duckdb/src/storage/single_file_block_manager.cpp +3 -1
  292. package/src/duckdb/src/storage/standard_buffer_manager.cpp +17 -12
  293. package/src/duckdb/src/storage/statistics/base_statistics.cpp +3 -0
  294. package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +90 -82
  295. package/src/duckdb/src/storage/table/column_data.cpp +19 -45
  296. package/src/duckdb/src/storage/table/column_data_checkpointer.cpp +7 -7
  297. package/src/duckdb/src/storage/table/column_segment.cpp +1 -1
  298. package/src/duckdb/src/storage/table/list_column_data.cpp +6 -11
  299. package/src/duckdb/src/storage/table/row_group.cpp +13 -14
  300. package/src/duckdb/src/storage/table/row_group_collection.cpp +10 -4
  301. package/src/duckdb/src/storage/table/standard_column_data.cpp +6 -10
  302. package/src/duckdb/src/storage/table/struct_column_data.cpp +7 -13
  303. package/src/duckdb/src/storage/table/update_segment.cpp +0 -25
  304. package/src/duckdb/src/storage/table/validity_column_data.cpp +2 -6
  305. package/src/duckdb/src/transaction/commit_state.cpp +4 -4
  306. package/src/duckdb/src/verification/deserialized_statement_verifier.cpp +2 -1
  307. package/src/duckdb/src/verification/deserialized_statement_verifier_v2.cpp +20 -0
  308. package/src/duckdb/src/verification/no_operator_caching_verifier.cpp +13 -0
  309. package/src/duckdb/src/verification/statement_verifier.cpp +7 -0
  310. package/src/duckdb/ub_src_common.cpp +2 -2
  311. package/src/duckdb/ub_src_common_serializer.cpp +4 -2
  312. package/src/duckdb/ub_src_core_functions_scalar_string.cpp +2 -0
  313. package/src/duckdb/ub_src_execution_operator_persistent.cpp +2 -0
  314. package/src/duckdb/ub_src_main.cpp +2 -0
  315. package/src/duckdb/ub_src_parallel.cpp +2 -0
  316. package/src/duckdb/ub_src_storage.cpp +2 -0
  317. package/src/duckdb/src/common/serializer/enum_serializer.cpp +0 -1180
  318. package/src/duckdb/src/common/vector.cpp +0 -12
  319. package/src/duckdb/src/include/duckdb/common/serializer/enum_serializer.hpp +0 -113
@@ -0,0 +1,958 @@
1
+ //-------------------------------------------------------------------------
2
+ // This file is automatically generated by scripts/generate_enum_util.py
3
+ // Do not edit this file manually, your changes will be overwritten
4
+ // If you want to exclude an enum from serialization, add it to the blacklist in the script
5
+ //
6
+ // Note: The generated code will only work properly if the enum is a top level item in the duckdb namespace
7
+ // If the enum is nested in a class, or in another namespace, the generated code will not compile.
8
+ // You should move the enum to the duckdb namespace, manually write a specialization or add it to the blacklist
9
+ //-------------------------------------------------------------------------
10
+
11
+ #pragma once
12
+
13
+ #include <stdint.h>
14
+ #include "duckdb/common/string.hpp"
15
+
16
+ namespace duckdb {
17
+
18
+ struct EnumUtil {
19
+ // String -> Enum
20
+ template <class T>
21
+ static T FromString(const char *value) = delete;
22
+
23
+ template <class T>
24
+ static T FromString(const string &value) {
25
+ return FromString<T>(value.c_str());
26
+ }
27
+
28
+ // Enum -> String
29
+ template <class T>
30
+ static const char *ToChars(T value) = delete;
31
+
32
+ template <class T>
33
+ static string ToString(T value) {
34
+ return string(ToChars<T>(value));
35
+ }
36
+ };
37
+
38
+ enum class TaskExecutionMode : uint8_t;
39
+
40
+ enum class TaskExecutionResult : uint8_t;
41
+
42
+ enum class InterruptMode : uint8_t;
43
+
44
+ enum class DistinctType : uint8_t;
45
+
46
+ enum class TableFilterType : uint8_t;
47
+
48
+ enum class BindingMode : uint8_t;
49
+
50
+ enum class TableColumnType : uint8_t;
51
+
52
+ enum class AggregateType : uint8_t;
53
+
54
+ enum class AggregateOrderDependent : uint8_t;
55
+
56
+ enum class FunctionNullHandling : uint8_t;
57
+
58
+ enum class FunctionSideEffects : uint8_t;
59
+
60
+ enum class MacroType : uint8_t;
61
+
62
+ enum class ArrowVariableSizeType : uint8_t;
63
+
64
+ enum class ArrowDateTimeType : uint8_t;
65
+
66
+ enum class StrTimeSpecifier : uint8_t;
67
+
68
+ enum class SimplifiedTokenType : uint8_t;
69
+
70
+ enum class KeywordCategory : uint8_t;
71
+
72
+ enum class ResultModifierType : uint8_t;
73
+
74
+ enum class ConstraintType : uint8_t;
75
+
76
+ enum class ForeignKeyType : uint8_t;
77
+
78
+ enum class ParserExtensionResultType : uint8_t;
79
+
80
+ enum class QueryNodeType : uint8_t;
81
+
82
+ enum class SequenceInfo : uint8_t;
83
+
84
+ enum class AlterScalarFunctionType : uint8_t;
85
+
86
+ enum class AlterTableType : uint8_t;
87
+
88
+ enum class AlterViewType : uint8_t;
89
+
90
+ enum class AlterTableFunctionType : uint8_t;
91
+
92
+ enum class AlterType : uint8_t;
93
+
94
+ enum class PragmaType : uint8_t;
95
+
96
+ enum class OnCreateConflict : uint8_t;
97
+
98
+ enum class TransactionType : uint8_t;
99
+
100
+ enum class SampleMethod : uint8_t;
101
+
102
+ enum class ExplainType : uint8_t;
103
+
104
+ enum class OnConflictAction : uint8_t;
105
+
106
+ enum class WindowBoundary : uint8_t;
107
+
108
+ enum class DataFileType : uint8_t;
109
+
110
+ enum class StatsInfo : uint8_t;
111
+
112
+ enum class StatisticsType : uint8_t;
113
+
114
+ enum class ColumnSegmentType : uint8_t;
115
+
116
+ enum class ChunkInfoType : uint8_t;
117
+
118
+ enum class BitpackingMode : uint8_t;
119
+
120
+ enum class BlockState : uint8_t;
121
+
122
+ enum class VerificationType : uint8_t;
123
+
124
+ enum class FileLockType : uint8_t;
125
+
126
+ enum class FileBufferType : uint8_t;
127
+
128
+ enum class ExceptionFormatValueType : uint8_t;
129
+
130
+ enum class ExtraTypeInfoType : uint8_t;
131
+
132
+ enum class PhysicalType : uint8_t;
133
+
134
+ enum class LogicalTypeId : uint8_t;
135
+
136
+ enum class OutputStream : uint8_t;
137
+
138
+ enum class TimestampCastResult : uint8_t;
139
+
140
+ enum class ConflictManagerMode : uint8_t;
141
+
142
+ enum class LookupResultType : uint8_t;
143
+
144
+ enum class MapInvalidReason : uint8_t;
145
+
146
+ enum class UnionInvalidReason : uint8_t;
147
+
148
+ enum class VectorBufferType : uint8_t;
149
+
150
+ enum class VectorAuxiliaryDataType : uint8_t;
151
+
152
+ enum class PartitionedColumnDataType : uint8_t;
153
+
154
+ enum class ColumnDataAllocatorType : uint8_t;
155
+
156
+ enum class ColumnDataScanProperties : uint8_t;
157
+
158
+ enum class PartitionedTupleDataType : uint8_t;
159
+
160
+ enum class TupleDataPinProperties : uint8_t;
161
+
162
+ enum class PartitionSortStage : uint8_t;
163
+
164
+ enum class PhysicalOperatorType : uint8_t;
165
+
166
+ enum class VectorType : uint8_t;
167
+
168
+ enum class AccessMode : uint8_t;
169
+
170
+ enum class FileGlobOptions : uint8_t;
171
+
172
+ enum class WALType : uint8_t;
173
+
174
+ enum class JoinType : uint8_t;
175
+
176
+ enum class FileCompressionType : uint8_t;
177
+
178
+ enum class ProfilerPrintFormat : uint8_t;
179
+
180
+ enum class StatementType : uint8_t;
181
+
182
+ enum class StatementReturnType : uint8_t;
183
+
184
+ enum class OrderPreservationType : uint8_t;
185
+
186
+ enum class DebugInitialize : uint8_t;
187
+
188
+ enum class CatalogType : uint8_t;
189
+
190
+ enum class SetScope : uint8_t;
191
+
192
+ enum class TableScanType : uint8_t;
193
+
194
+ enum class SetType : uint8_t;
195
+
196
+ enum class ExpressionType : uint8_t;
197
+
198
+ enum class ExpressionClass : uint8_t;
199
+
200
+ enum class PendingExecutionResult : uint8_t;
201
+
202
+ enum class WindowAggregationMode : uint32_t;
203
+
204
+ enum class SubqueryType : uint8_t;
205
+
206
+ enum class OrderType : uint8_t;
207
+
208
+ enum class OrderByNullType : uint8_t;
209
+
210
+ enum class DefaultOrderByNullType : uint8_t;
211
+
212
+ enum class DatePartSpecifier : uint8_t;
213
+
214
+ enum class OnEntryNotFound : uint8_t;
215
+
216
+ enum class LogicalOperatorType : uint8_t;
217
+
218
+ enum class OperatorResultType : uint8_t;
219
+
220
+ enum class OperatorFinalizeResultType : uint8_t;
221
+
222
+ enum class SourceResultType : uint8_t;
223
+
224
+ enum class SinkResultType : uint8_t;
225
+
226
+ enum class SinkFinalizeType : uint8_t;
227
+
228
+ enum class JoinRefType : uint8_t;
229
+
230
+ enum class UndoFlags : uint32_t;
231
+
232
+ enum class SetOperationType : uint8_t;
233
+
234
+ enum class OptimizerType : uint32_t;
235
+
236
+ enum class CompressionType : uint8_t;
237
+
238
+ enum class AggregateHandling : uint8_t;
239
+
240
+ enum class TableReferenceType : uint8_t;
241
+
242
+ enum class RelationType : uint8_t;
243
+
244
+ enum class FilterPropagateResult : uint8_t;
245
+
246
+ enum class IndexType : uint8_t;
247
+
248
+ enum class ExplainOutputType : uint8_t;
249
+
250
+ enum class NType : uint8_t;
251
+
252
+ enum class VerifyExistenceType : uint8_t;
253
+
254
+ enum class ParserMode : uint8_t;
255
+
256
+ enum class ErrorType : uint16_t;
257
+
258
+ enum class AppenderType : uint8_t;
259
+
260
+ enum class CheckpointAbort : uint8_t;
261
+
262
+ enum class ExtensionLoadResult : uint8_t;
263
+
264
+ enum class QueryResultType : uint8_t;
265
+
266
+ enum class CAPIResultSetType : uint8_t;
267
+
268
+ template <>
269
+ const char *EnumUtil::ToChars<TaskExecutionMode>(TaskExecutionMode value);
270
+
271
+ template <>
272
+ const char *EnumUtil::ToChars<TaskExecutionResult>(TaskExecutionResult value);
273
+
274
+ template <>
275
+ const char *EnumUtil::ToChars<InterruptMode>(InterruptMode value);
276
+
277
+ template <>
278
+ const char *EnumUtil::ToChars<DistinctType>(DistinctType value);
279
+
280
+ template <>
281
+ const char *EnumUtil::ToChars<TableFilterType>(TableFilterType value);
282
+
283
+ template <>
284
+ const char *EnumUtil::ToChars<BindingMode>(BindingMode value);
285
+
286
+ template <>
287
+ const char *EnumUtil::ToChars<TableColumnType>(TableColumnType value);
288
+
289
+ template <>
290
+ const char *EnumUtil::ToChars<AggregateType>(AggregateType value);
291
+
292
+ template <>
293
+ const char *EnumUtil::ToChars<AggregateOrderDependent>(AggregateOrderDependent value);
294
+
295
+ template <>
296
+ const char *EnumUtil::ToChars<FunctionNullHandling>(FunctionNullHandling value);
297
+
298
+ template <>
299
+ const char *EnumUtil::ToChars<FunctionSideEffects>(FunctionSideEffects value);
300
+
301
+ template <>
302
+ const char *EnumUtil::ToChars<MacroType>(MacroType value);
303
+
304
+ template <>
305
+ const char *EnumUtil::ToChars<ArrowVariableSizeType>(ArrowVariableSizeType value);
306
+
307
+ template <>
308
+ const char *EnumUtil::ToChars<ArrowDateTimeType>(ArrowDateTimeType value);
309
+
310
+ template <>
311
+ const char *EnumUtil::ToChars<StrTimeSpecifier>(StrTimeSpecifier value);
312
+
313
+ template <>
314
+ const char *EnumUtil::ToChars<SimplifiedTokenType>(SimplifiedTokenType value);
315
+
316
+ template <>
317
+ const char *EnumUtil::ToChars<KeywordCategory>(KeywordCategory value);
318
+
319
+ template <>
320
+ const char *EnumUtil::ToChars<ResultModifierType>(ResultModifierType value);
321
+
322
+ template <>
323
+ const char *EnumUtil::ToChars<ConstraintType>(ConstraintType value);
324
+
325
+ template <>
326
+ const char *EnumUtil::ToChars<ForeignKeyType>(ForeignKeyType value);
327
+
328
+ template <>
329
+ const char *EnumUtil::ToChars<ParserExtensionResultType>(ParserExtensionResultType value);
330
+
331
+ template <>
332
+ const char *EnumUtil::ToChars<QueryNodeType>(QueryNodeType value);
333
+
334
+ template <>
335
+ const char *EnumUtil::ToChars<SequenceInfo>(SequenceInfo value);
336
+
337
+ template <>
338
+ const char *EnumUtil::ToChars<AlterScalarFunctionType>(AlterScalarFunctionType value);
339
+
340
+ template <>
341
+ const char *EnumUtil::ToChars<AlterTableType>(AlterTableType value);
342
+
343
+ template <>
344
+ const char *EnumUtil::ToChars<AlterViewType>(AlterViewType value);
345
+
346
+ template <>
347
+ const char *EnumUtil::ToChars<AlterTableFunctionType>(AlterTableFunctionType value);
348
+
349
+ template <>
350
+ const char *EnumUtil::ToChars<AlterType>(AlterType value);
351
+
352
+ template <>
353
+ const char *EnumUtil::ToChars<PragmaType>(PragmaType value);
354
+
355
+ template <>
356
+ const char *EnumUtil::ToChars<OnCreateConflict>(OnCreateConflict value);
357
+
358
+ template <>
359
+ const char *EnumUtil::ToChars<TransactionType>(TransactionType value);
360
+
361
+ template <>
362
+ const char *EnumUtil::ToChars<SampleMethod>(SampleMethod value);
363
+
364
+ template <>
365
+ const char *EnumUtil::ToChars<ExplainType>(ExplainType value);
366
+
367
+ template <>
368
+ const char *EnumUtil::ToChars<OnConflictAction>(OnConflictAction value);
369
+
370
+ template <>
371
+ const char *EnumUtil::ToChars<WindowBoundary>(WindowBoundary value);
372
+
373
+ template <>
374
+ const char *EnumUtil::ToChars<DataFileType>(DataFileType value);
375
+
376
+ template <>
377
+ const char *EnumUtil::ToChars<StatsInfo>(StatsInfo value);
378
+
379
+ template <>
380
+ const char *EnumUtil::ToChars<StatisticsType>(StatisticsType value);
381
+
382
+ template <>
383
+ const char *EnumUtil::ToChars<ColumnSegmentType>(ColumnSegmentType value);
384
+
385
+ template <>
386
+ const char *EnumUtil::ToChars<ChunkInfoType>(ChunkInfoType value);
387
+
388
+ template <>
389
+ const char *EnumUtil::ToChars<BitpackingMode>(BitpackingMode value);
390
+
391
+ template <>
392
+ const char *EnumUtil::ToChars<BlockState>(BlockState value);
393
+
394
+ template <>
395
+ const char *EnumUtil::ToChars<VerificationType>(VerificationType value);
396
+
397
+ template <>
398
+ const char *EnumUtil::ToChars<FileLockType>(FileLockType value);
399
+
400
+ template <>
401
+ const char *EnumUtil::ToChars<FileBufferType>(FileBufferType value);
402
+
403
+ template <>
404
+ const char *EnumUtil::ToChars<ExceptionFormatValueType>(ExceptionFormatValueType value);
405
+
406
+ template <>
407
+ const char *EnumUtil::ToChars<ExtraTypeInfoType>(ExtraTypeInfoType value);
408
+
409
+ template <>
410
+ const char *EnumUtil::ToChars<PhysicalType>(PhysicalType value);
411
+
412
+ template <>
413
+ const char *EnumUtil::ToChars<LogicalTypeId>(LogicalTypeId value);
414
+
415
+ template <>
416
+ const char *EnumUtil::ToChars<OutputStream>(OutputStream value);
417
+
418
+ template <>
419
+ const char *EnumUtil::ToChars<TimestampCastResult>(TimestampCastResult value);
420
+
421
+ template <>
422
+ const char *EnumUtil::ToChars<ConflictManagerMode>(ConflictManagerMode value);
423
+
424
+ template <>
425
+ const char *EnumUtil::ToChars<LookupResultType>(LookupResultType value);
426
+
427
+ template <>
428
+ const char *EnumUtil::ToChars<MapInvalidReason>(MapInvalidReason value);
429
+
430
+ template <>
431
+ const char *EnumUtil::ToChars<UnionInvalidReason>(UnionInvalidReason value);
432
+
433
+ template <>
434
+ const char *EnumUtil::ToChars<VectorBufferType>(VectorBufferType value);
435
+
436
+ template <>
437
+ const char *EnumUtil::ToChars<VectorAuxiliaryDataType>(VectorAuxiliaryDataType value);
438
+
439
+ template <>
440
+ const char *EnumUtil::ToChars<PartitionedColumnDataType>(PartitionedColumnDataType value);
441
+
442
+ template <>
443
+ const char *EnumUtil::ToChars<ColumnDataAllocatorType>(ColumnDataAllocatorType value);
444
+
445
+ template <>
446
+ const char *EnumUtil::ToChars<ColumnDataScanProperties>(ColumnDataScanProperties value);
447
+
448
+ template <>
449
+ const char *EnumUtil::ToChars<PartitionedTupleDataType>(PartitionedTupleDataType value);
450
+
451
+ template <>
452
+ const char *EnumUtil::ToChars<TupleDataPinProperties>(TupleDataPinProperties value);
453
+
454
+ template <>
455
+ const char *EnumUtil::ToChars<PartitionSortStage>(PartitionSortStage value);
456
+
457
+ template <>
458
+ const char *EnumUtil::ToChars<PhysicalOperatorType>(PhysicalOperatorType value);
459
+
460
+ template <>
461
+ const char *EnumUtil::ToChars<VectorType>(VectorType value);
462
+
463
+ template <>
464
+ const char *EnumUtil::ToChars<AccessMode>(AccessMode value);
465
+
466
+ template <>
467
+ const char *EnumUtil::ToChars<FileGlobOptions>(FileGlobOptions value);
468
+
469
+ template <>
470
+ const char *EnumUtil::ToChars<WALType>(WALType value);
471
+
472
+ template <>
473
+ const char *EnumUtil::ToChars<JoinType>(JoinType value);
474
+
475
+ template <>
476
+ const char *EnumUtil::ToChars<FileCompressionType>(FileCompressionType value);
477
+
478
+ template <>
479
+ const char *EnumUtil::ToChars<ProfilerPrintFormat>(ProfilerPrintFormat value);
480
+
481
+ template <>
482
+ const char *EnumUtil::ToChars<StatementType>(StatementType value);
483
+
484
+ template <>
485
+ const char *EnumUtil::ToChars<StatementReturnType>(StatementReturnType value);
486
+
487
+ template <>
488
+ const char *EnumUtil::ToChars<OrderPreservationType>(OrderPreservationType value);
489
+
490
+ template <>
491
+ const char *EnumUtil::ToChars<DebugInitialize>(DebugInitialize value);
492
+
493
+ template <>
494
+ const char *EnumUtil::ToChars<CatalogType>(CatalogType value);
495
+
496
+ template <>
497
+ const char *EnumUtil::ToChars<SetScope>(SetScope value);
498
+
499
+ template <>
500
+ const char *EnumUtil::ToChars<TableScanType>(TableScanType value);
501
+
502
+ template <>
503
+ const char *EnumUtil::ToChars<SetType>(SetType value);
504
+
505
+ template <>
506
+ const char *EnumUtil::ToChars<ExpressionType>(ExpressionType value);
507
+
508
+ template <>
509
+ const char *EnumUtil::ToChars<ExpressionClass>(ExpressionClass value);
510
+
511
+ template <>
512
+ const char *EnumUtil::ToChars<PendingExecutionResult>(PendingExecutionResult value);
513
+
514
+ template <>
515
+ const char *EnumUtil::ToChars<WindowAggregationMode>(WindowAggregationMode value);
516
+
517
+ template <>
518
+ const char *EnumUtil::ToChars<SubqueryType>(SubqueryType value);
519
+
520
+ template <>
521
+ const char *EnumUtil::ToChars<OrderType>(OrderType value);
522
+
523
+ template <>
524
+ const char *EnumUtil::ToChars<OrderByNullType>(OrderByNullType value);
525
+
526
+ template <>
527
+ const char *EnumUtil::ToChars<DefaultOrderByNullType>(DefaultOrderByNullType value);
528
+
529
+ template <>
530
+ const char *EnumUtil::ToChars<DatePartSpecifier>(DatePartSpecifier value);
531
+
532
+ template <>
533
+ const char *EnumUtil::ToChars<OnEntryNotFound>(OnEntryNotFound value);
534
+
535
+ template <>
536
+ const char *EnumUtil::ToChars<LogicalOperatorType>(LogicalOperatorType value);
537
+
538
+ template <>
539
+ const char *EnumUtil::ToChars<OperatorResultType>(OperatorResultType value);
540
+
541
+ template <>
542
+ const char *EnumUtil::ToChars<OperatorFinalizeResultType>(OperatorFinalizeResultType value);
543
+
544
+ template <>
545
+ const char *EnumUtil::ToChars<SourceResultType>(SourceResultType value);
546
+
547
+ template <>
548
+ const char *EnumUtil::ToChars<SinkResultType>(SinkResultType value);
549
+
550
+ template <>
551
+ const char *EnumUtil::ToChars<SinkFinalizeType>(SinkFinalizeType value);
552
+
553
+ template <>
554
+ const char *EnumUtil::ToChars<JoinRefType>(JoinRefType value);
555
+
556
+ template <>
557
+ const char *EnumUtil::ToChars<UndoFlags>(UndoFlags value);
558
+
559
+ template <>
560
+ const char *EnumUtil::ToChars<SetOperationType>(SetOperationType value);
561
+
562
+ template <>
563
+ const char *EnumUtil::ToChars<OptimizerType>(OptimizerType value);
564
+
565
+ template <>
566
+ const char *EnumUtil::ToChars<CompressionType>(CompressionType value);
567
+
568
+ template <>
569
+ const char *EnumUtil::ToChars<AggregateHandling>(AggregateHandling value);
570
+
571
+ template <>
572
+ const char *EnumUtil::ToChars<TableReferenceType>(TableReferenceType value);
573
+
574
+ template <>
575
+ const char *EnumUtil::ToChars<RelationType>(RelationType value);
576
+
577
+ template <>
578
+ const char *EnumUtil::ToChars<FilterPropagateResult>(FilterPropagateResult value);
579
+
580
+ template <>
581
+ const char *EnumUtil::ToChars<IndexType>(IndexType value);
582
+
583
+ template <>
584
+ const char *EnumUtil::ToChars<ExplainOutputType>(ExplainOutputType value);
585
+
586
+ template <>
587
+ const char *EnumUtil::ToChars<NType>(NType value);
588
+
589
+ template <>
590
+ const char *EnumUtil::ToChars<VerifyExistenceType>(VerifyExistenceType value);
591
+
592
+ template <>
593
+ const char *EnumUtil::ToChars<ParserMode>(ParserMode value);
594
+
595
+ template <>
596
+ const char *EnumUtil::ToChars<ErrorType>(ErrorType value);
597
+
598
+ template <>
599
+ const char *EnumUtil::ToChars<AppenderType>(AppenderType value);
600
+
601
+ template <>
602
+ const char *EnumUtil::ToChars<CheckpointAbort>(CheckpointAbort value);
603
+
604
+ template <>
605
+ const char *EnumUtil::ToChars<ExtensionLoadResult>(ExtensionLoadResult value);
606
+
607
+ template <>
608
+ const char *EnumUtil::ToChars<QueryResultType>(QueryResultType value);
609
+
610
+ template <>
611
+ const char *EnumUtil::ToChars<CAPIResultSetType>(CAPIResultSetType value);
612
+
613
+ template <>
614
+ TaskExecutionMode EnumUtil::FromString<TaskExecutionMode>(const char *value);
615
+
616
+ template <>
617
+ TaskExecutionResult EnumUtil::FromString<TaskExecutionResult>(const char *value);
618
+
619
+ template <>
620
+ InterruptMode EnumUtil::FromString<InterruptMode>(const char *value);
621
+
622
+ template <>
623
+ DistinctType EnumUtil::FromString<DistinctType>(const char *value);
624
+
625
+ template <>
626
+ TableFilterType EnumUtil::FromString<TableFilterType>(const char *value);
627
+
628
+ template <>
629
+ BindingMode EnumUtil::FromString<BindingMode>(const char *value);
630
+
631
+ template <>
632
+ TableColumnType EnumUtil::FromString<TableColumnType>(const char *value);
633
+
634
+ template <>
635
+ AggregateType EnumUtil::FromString<AggregateType>(const char *value);
636
+
637
+ template <>
638
+ AggregateOrderDependent EnumUtil::FromString<AggregateOrderDependent>(const char *value);
639
+
640
+ template <>
641
+ FunctionNullHandling EnumUtil::FromString<FunctionNullHandling>(const char *value);
642
+
643
+ template <>
644
+ FunctionSideEffects EnumUtil::FromString<FunctionSideEffects>(const char *value);
645
+
646
+ template <>
647
+ MacroType EnumUtil::FromString<MacroType>(const char *value);
648
+
649
+ template <>
650
+ ArrowVariableSizeType EnumUtil::FromString<ArrowVariableSizeType>(const char *value);
651
+
652
+ template <>
653
+ ArrowDateTimeType EnumUtil::FromString<ArrowDateTimeType>(const char *value);
654
+
655
+ template <>
656
+ StrTimeSpecifier EnumUtil::FromString<StrTimeSpecifier>(const char *value);
657
+
658
+ template <>
659
+ SimplifiedTokenType EnumUtil::FromString<SimplifiedTokenType>(const char *value);
660
+
661
+ template <>
662
+ KeywordCategory EnumUtil::FromString<KeywordCategory>(const char *value);
663
+
664
+ template <>
665
+ ResultModifierType EnumUtil::FromString<ResultModifierType>(const char *value);
666
+
667
+ template <>
668
+ ConstraintType EnumUtil::FromString<ConstraintType>(const char *value);
669
+
670
+ template <>
671
+ ForeignKeyType EnumUtil::FromString<ForeignKeyType>(const char *value);
672
+
673
+ template <>
674
+ ParserExtensionResultType EnumUtil::FromString<ParserExtensionResultType>(const char *value);
675
+
676
+ template <>
677
+ QueryNodeType EnumUtil::FromString<QueryNodeType>(const char *value);
678
+
679
+ template <>
680
+ SequenceInfo EnumUtil::FromString<SequenceInfo>(const char *value);
681
+
682
+ template <>
683
+ AlterScalarFunctionType EnumUtil::FromString<AlterScalarFunctionType>(const char *value);
684
+
685
+ template <>
686
+ AlterTableType EnumUtil::FromString<AlterTableType>(const char *value);
687
+
688
+ template <>
689
+ AlterViewType EnumUtil::FromString<AlterViewType>(const char *value);
690
+
691
+ template <>
692
+ AlterTableFunctionType EnumUtil::FromString<AlterTableFunctionType>(const char *value);
693
+
694
+ template <>
695
+ AlterType EnumUtil::FromString<AlterType>(const char *value);
696
+
697
+ template <>
698
+ PragmaType EnumUtil::FromString<PragmaType>(const char *value);
699
+
700
+ template <>
701
+ OnCreateConflict EnumUtil::FromString<OnCreateConflict>(const char *value);
702
+
703
+ template <>
704
+ TransactionType EnumUtil::FromString<TransactionType>(const char *value);
705
+
706
+ template <>
707
+ SampleMethod EnumUtil::FromString<SampleMethod>(const char *value);
708
+
709
+ template <>
710
+ ExplainType EnumUtil::FromString<ExplainType>(const char *value);
711
+
712
+ template <>
713
+ OnConflictAction EnumUtil::FromString<OnConflictAction>(const char *value);
714
+
715
+ template <>
716
+ WindowBoundary EnumUtil::FromString<WindowBoundary>(const char *value);
717
+
718
+ template <>
719
+ DataFileType EnumUtil::FromString<DataFileType>(const char *value);
720
+
721
+ template <>
722
+ StatsInfo EnumUtil::FromString<StatsInfo>(const char *value);
723
+
724
+ template <>
725
+ StatisticsType EnumUtil::FromString<StatisticsType>(const char *value);
726
+
727
+ template <>
728
+ ColumnSegmentType EnumUtil::FromString<ColumnSegmentType>(const char *value);
729
+
730
+ template <>
731
+ ChunkInfoType EnumUtil::FromString<ChunkInfoType>(const char *value);
732
+
733
+ template <>
734
+ BitpackingMode EnumUtil::FromString<BitpackingMode>(const char *value);
735
+
736
+ template <>
737
+ BlockState EnumUtil::FromString<BlockState>(const char *value);
738
+
739
+ template <>
740
+ VerificationType EnumUtil::FromString<VerificationType>(const char *value);
741
+
742
+ template <>
743
+ FileLockType EnumUtil::FromString<FileLockType>(const char *value);
744
+
745
+ template <>
746
+ FileBufferType EnumUtil::FromString<FileBufferType>(const char *value);
747
+
748
+ template <>
749
+ ExceptionFormatValueType EnumUtil::FromString<ExceptionFormatValueType>(const char *value);
750
+
751
+ template <>
752
+ ExtraTypeInfoType EnumUtil::FromString<ExtraTypeInfoType>(const char *value);
753
+
754
+ template <>
755
+ PhysicalType EnumUtil::FromString<PhysicalType>(const char *value);
756
+
757
+ template <>
758
+ LogicalTypeId EnumUtil::FromString<LogicalTypeId>(const char *value);
759
+
760
+ template <>
761
+ OutputStream EnumUtil::FromString<OutputStream>(const char *value);
762
+
763
+ template <>
764
+ TimestampCastResult EnumUtil::FromString<TimestampCastResult>(const char *value);
765
+
766
+ template <>
767
+ ConflictManagerMode EnumUtil::FromString<ConflictManagerMode>(const char *value);
768
+
769
+ template <>
770
+ LookupResultType EnumUtil::FromString<LookupResultType>(const char *value);
771
+
772
+ template <>
773
+ MapInvalidReason EnumUtil::FromString<MapInvalidReason>(const char *value);
774
+
775
+ template <>
776
+ UnionInvalidReason EnumUtil::FromString<UnionInvalidReason>(const char *value);
777
+
778
+ template <>
779
+ VectorBufferType EnumUtil::FromString<VectorBufferType>(const char *value);
780
+
781
+ template <>
782
+ VectorAuxiliaryDataType EnumUtil::FromString<VectorAuxiliaryDataType>(const char *value);
783
+
784
+ template <>
785
+ PartitionedColumnDataType EnumUtil::FromString<PartitionedColumnDataType>(const char *value);
786
+
787
+ template <>
788
+ ColumnDataAllocatorType EnumUtil::FromString<ColumnDataAllocatorType>(const char *value);
789
+
790
+ template <>
791
+ ColumnDataScanProperties EnumUtil::FromString<ColumnDataScanProperties>(const char *value);
792
+
793
+ template <>
794
+ PartitionedTupleDataType EnumUtil::FromString<PartitionedTupleDataType>(const char *value);
795
+
796
+ template <>
797
+ TupleDataPinProperties EnumUtil::FromString<TupleDataPinProperties>(const char *value);
798
+
799
+ template <>
800
+ PartitionSortStage EnumUtil::FromString<PartitionSortStage>(const char *value);
801
+
802
+ template <>
803
+ PhysicalOperatorType EnumUtil::FromString<PhysicalOperatorType>(const char *value);
804
+
805
+ template <>
806
+ VectorType EnumUtil::FromString<VectorType>(const char *value);
807
+
808
+ template <>
809
+ AccessMode EnumUtil::FromString<AccessMode>(const char *value);
810
+
811
+ template <>
812
+ FileGlobOptions EnumUtil::FromString<FileGlobOptions>(const char *value);
813
+
814
+ template <>
815
+ WALType EnumUtil::FromString<WALType>(const char *value);
816
+
817
+ template <>
818
+ JoinType EnumUtil::FromString<JoinType>(const char *value);
819
+
820
+ template <>
821
+ FileCompressionType EnumUtil::FromString<FileCompressionType>(const char *value);
822
+
823
+ template <>
824
+ ProfilerPrintFormat EnumUtil::FromString<ProfilerPrintFormat>(const char *value);
825
+
826
+ template <>
827
+ StatementType EnumUtil::FromString<StatementType>(const char *value);
828
+
829
+ template <>
830
+ StatementReturnType EnumUtil::FromString<StatementReturnType>(const char *value);
831
+
832
+ template <>
833
+ OrderPreservationType EnumUtil::FromString<OrderPreservationType>(const char *value);
834
+
835
+ template <>
836
+ DebugInitialize EnumUtil::FromString<DebugInitialize>(const char *value);
837
+
838
+ template <>
839
+ CatalogType EnumUtil::FromString<CatalogType>(const char *value);
840
+
841
+ template <>
842
+ SetScope EnumUtil::FromString<SetScope>(const char *value);
843
+
844
+ template <>
845
+ TableScanType EnumUtil::FromString<TableScanType>(const char *value);
846
+
847
+ template <>
848
+ SetType EnumUtil::FromString<SetType>(const char *value);
849
+
850
+ template <>
851
+ ExpressionType EnumUtil::FromString<ExpressionType>(const char *value);
852
+
853
+ template <>
854
+ ExpressionClass EnumUtil::FromString<ExpressionClass>(const char *value);
855
+
856
+ template <>
857
+ PendingExecutionResult EnumUtil::FromString<PendingExecutionResult>(const char *value);
858
+
859
+ template <>
860
+ WindowAggregationMode EnumUtil::FromString<WindowAggregationMode>(const char *value);
861
+
862
+ template <>
863
+ SubqueryType EnumUtil::FromString<SubqueryType>(const char *value);
864
+
865
+ template <>
866
+ OrderType EnumUtil::FromString<OrderType>(const char *value);
867
+
868
+ template <>
869
+ OrderByNullType EnumUtil::FromString<OrderByNullType>(const char *value);
870
+
871
+ template <>
872
+ DefaultOrderByNullType EnumUtil::FromString<DefaultOrderByNullType>(const char *value);
873
+
874
+ template <>
875
+ DatePartSpecifier EnumUtil::FromString<DatePartSpecifier>(const char *value);
876
+
877
+ template <>
878
+ OnEntryNotFound EnumUtil::FromString<OnEntryNotFound>(const char *value);
879
+
880
+ template <>
881
+ LogicalOperatorType EnumUtil::FromString<LogicalOperatorType>(const char *value);
882
+
883
+ template <>
884
+ OperatorResultType EnumUtil::FromString<OperatorResultType>(const char *value);
885
+
886
+ template <>
887
+ OperatorFinalizeResultType EnumUtil::FromString<OperatorFinalizeResultType>(const char *value);
888
+
889
+ template <>
890
+ SourceResultType EnumUtil::FromString<SourceResultType>(const char *value);
891
+
892
+ template <>
893
+ SinkResultType EnumUtil::FromString<SinkResultType>(const char *value);
894
+
895
+ template <>
896
+ SinkFinalizeType EnumUtil::FromString<SinkFinalizeType>(const char *value);
897
+
898
+ template <>
899
+ JoinRefType EnumUtil::FromString<JoinRefType>(const char *value);
900
+
901
+ template <>
902
+ UndoFlags EnumUtil::FromString<UndoFlags>(const char *value);
903
+
904
+ template <>
905
+ SetOperationType EnumUtil::FromString<SetOperationType>(const char *value);
906
+
907
+ template <>
908
+ OptimizerType EnumUtil::FromString<OptimizerType>(const char *value);
909
+
910
+ template <>
911
+ CompressionType EnumUtil::FromString<CompressionType>(const char *value);
912
+
913
+ template <>
914
+ AggregateHandling EnumUtil::FromString<AggregateHandling>(const char *value);
915
+
916
+ template <>
917
+ TableReferenceType EnumUtil::FromString<TableReferenceType>(const char *value);
918
+
919
+ template <>
920
+ RelationType EnumUtil::FromString<RelationType>(const char *value);
921
+
922
+ template <>
923
+ FilterPropagateResult EnumUtil::FromString<FilterPropagateResult>(const char *value);
924
+
925
+ template <>
926
+ IndexType EnumUtil::FromString<IndexType>(const char *value);
927
+
928
+ template <>
929
+ ExplainOutputType EnumUtil::FromString<ExplainOutputType>(const char *value);
930
+
931
+ template <>
932
+ NType EnumUtil::FromString<NType>(const char *value);
933
+
934
+ template <>
935
+ VerifyExistenceType EnumUtil::FromString<VerifyExistenceType>(const char *value);
936
+
937
+ template <>
938
+ ParserMode EnumUtil::FromString<ParserMode>(const char *value);
939
+
940
+ template <>
941
+ ErrorType EnumUtil::FromString<ErrorType>(const char *value);
942
+
943
+ template <>
944
+ AppenderType EnumUtil::FromString<AppenderType>(const char *value);
945
+
946
+ template <>
947
+ CheckpointAbort EnumUtil::FromString<CheckpointAbort>(const char *value);
948
+
949
+ template <>
950
+ ExtensionLoadResult EnumUtil::FromString<ExtensionLoadResult>(const char *value);
951
+
952
+ template <>
953
+ QueryResultType EnumUtil::FromString<QueryResultType>(const char *value);
954
+
955
+ template <>
956
+ CAPIResultSetType EnumUtil::FromString<CAPIResultSetType>(const char *value);
957
+
958
+ } // namespace duckdb