duckdb 0.8.2-dev77.0 → 0.9.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 (1321) hide show
  1. package/README.md +7 -0
  2. package/binding.gyp +30 -15
  3. package/binding.gyp.in +1 -2
  4. package/configure.py +11 -3
  5. package/duckdb_extension_config.cmake +10 -0
  6. package/lib/duckdb.js +14 -4
  7. package/package.json +3 -1
  8. package/src/connection.cpp +67 -38
  9. package/src/data_chunk.cpp +1 -3
  10. package/src/database.cpp +9 -17
  11. package/src/duckdb/extension/icu/icu-dateadd.cpp +13 -21
  12. package/src/duckdb/extension/icu/icu-datefunc.cpp +10 -1
  13. package/src/duckdb/extension/icu/icu-datepart.cpp +216 -100
  14. package/src/duckdb/extension/icu/icu-datesub.cpp +13 -17
  15. package/src/duckdb/extension/icu/icu-datetrunc.cpp +8 -9
  16. package/src/duckdb/extension/icu/icu-list-range.cpp +7 -9
  17. package/src/duckdb/extension/icu/icu-makedate.cpp +27 -16
  18. package/src/duckdb/extension/icu/icu-strptime.cpp +36 -65
  19. package/src/duckdb/extension/icu/icu-table-range.cpp +11 -14
  20. package/src/duckdb/extension/icu/icu-timebucket.cpp +21 -23
  21. package/src/duckdb/extension/icu/icu-timezone.cpp +26 -37
  22. package/src/duckdb/extension/icu/icu_extension.cpp +29 -36
  23. package/src/duckdb/extension/icu/include/icu-dateadd.hpp +1 -1
  24. package/src/duckdb/extension/icu/include/icu-datepart.hpp +1 -1
  25. package/src/duckdb/extension/icu/include/icu-datesub.hpp +1 -1
  26. package/src/duckdb/extension/icu/include/icu-datetrunc.hpp +1 -1
  27. package/src/duckdb/extension/icu/include/icu-list-range.hpp +1 -1
  28. package/src/duckdb/extension/icu/include/icu-makedate.hpp +1 -1
  29. package/src/duckdb/extension/icu/include/icu-strptime.hpp +1 -1
  30. package/src/duckdb/extension/icu/include/icu-table-range.hpp +1 -1
  31. package/src/duckdb/extension/icu/include/icu-timebucket.hpp +1 -1
  32. package/src/duckdb/extension/icu/include/icu-timezone.hpp +1 -1
  33. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/gregocal.h +1 -1
  34. package/src/duckdb/extension/json/buffered_json_reader.cpp +82 -92
  35. package/src/duckdb/extension/json/include/buffered_json_reader.hpp +38 -52
  36. package/src/duckdb/extension/json/include/json_common.hpp +47 -231
  37. package/src/duckdb/extension/json/include/json_deserializer.hpp +9 -18
  38. package/src/duckdb/extension/json/include/json_enums.hpp +60 -0
  39. package/src/duckdb/extension/json/include/json_executors.hpp +49 -13
  40. package/src/duckdb/extension/json/include/json_functions.hpp +2 -1
  41. package/src/duckdb/extension/json/include/json_scan.hpp +21 -21
  42. package/src/duckdb/extension/json/include/json_serializer.hpp +12 -18
  43. package/src/duckdb/extension/json/include/json_transform.hpp +2 -2
  44. package/src/duckdb/extension/json/json_common.cpp +272 -40
  45. package/src/duckdb/extension/json/json_deserializer.cpp +37 -73
  46. package/src/duckdb/extension/json/json_enums.cpp +105 -0
  47. package/src/duckdb/extension/json/json_functions/copy_json.cpp +1 -1
  48. package/src/duckdb/extension/json/json_functions/json_create.cpp +21 -2
  49. package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +4 -1
  50. package/src/duckdb/extension/json/json_functions/json_structure.cpp +1 -1
  51. package/src/duckdb/extension/json/json_functions/json_transform.cpp +98 -57
  52. package/src/duckdb/extension/json/json_functions/json_type.cpp +1 -1
  53. package/src/duckdb/extension/json/json_functions/read_json.cpp +21 -2
  54. package/src/duckdb/extension/json/json_functions.cpp +30 -31
  55. package/src/duckdb/extension/json/json_scan.cpp +148 -175
  56. package/src/duckdb/extension/json/json_serializer.cpp +29 -72
  57. package/src/duckdb/extension/json/serialize_json.cpp +92 -0
  58. package/src/duckdb/extension/parquet/column_reader.cpp +37 -25
  59. package/src/duckdb/extension/parquet/column_writer.cpp +121 -104
  60. package/src/duckdb/extension/parquet/include/cast_column_reader.hpp +2 -2
  61. package/src/duckdb/extension/parquet/include/column_reader.hpp +14 -16
  62. package/src/duckdb/extension/parquet/include/column_writer.hpp +11 -9
  63. package/src/duckdb/extension/parquet/include/list_column_reader.hpp +2 -2
  64. package/src/duckdb/extension/parquet/include/parquet_dbp_decoder.hpp +3 -3
  65. package/src/duckdb/extension/parquet/include/parquet_decimal_utils.hpp +3 -3
  66. package/src/duckdb/extension/parquet/include/parquet_file_metadata_cache.hpp +2 -2
  67. package/src/duckdb/extension/parquet/include/parquet_reader.hpp +3 -2
  68. package/src/duckdb/extension/parquet/include/parquet_rle_bp_encoder.hpp +4 -4
  69. package/src/duckdb/extension/parquet/include/parquet_statistics.hpp +2 -2
  70. package/src/duckdb/extension/parquet/include/parquet_support.hpp +9 -11
  71. package/src/duckdb/extension/parquet/include/parquet_timestamp.hpp +1 -0
  72. package/src/duckdb/extension/parquet/include/parquet_writer.hpp +29 -5
  73. package/src/duckdb/extension/parquet/include/string_column_reader.hpp +1 -1
  74. package/src/duckdb/extension/parquet/include/struct_column_reader.hpp +2 -3
  75. package/src/duckdb/extension/parquet/include/zstd_file_system.hpp +2 -2
  76. package/src/duckdb/extension/parquet/parquet_extension.cpp +340 -93
  77. package/src/duckdb/extension/parquet/parquet_reader.cpp +10 -10
  78. package/src/duckdb/extension/parquet/parquet_statistics.cpp +25 -8
  79. package/src/duckdb/extension/parquet/parquet_timestamp.cpp +6 -0
  80. package/src/duckdb/extension/parquet/parquet_writer.cpp +170 -33
  81. package/src/duckdb/extension/parquet/serialize_parquet.cpp +26 -0
  82. package/src/duckdb/extension/parquet/zstd_file_system.cpp +2 -2
  83. package/src/duckdb/src/catalog/catalog.cpp +177 -70
  84. package/src/duckdb/src/catalog/catalog_entry/duck_index_entry.cpp +5 -0
  85. package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +8 -11
  86. package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +17 -42
  87. package/src/duckdb/src/catalog/catalog_entry/macro_catalog_entry.cpp +2 -11
  88. package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +4 -15
  89. package/src/duckdb/src/catalog/catalog_entry/sequence_catalog_entry.cpp +11 -29
  90. package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +11 -44
  91. package/src/duckdb/src/catalog/catalog_entry/type_catalog_entry.cpp +8 -29
  92. package/src/duckdb/src/catalog/catalog_entry/view_catalog_entry.cpp +11 -28
  93. package/src/duckdb/src/catalog/catalog_entry.cpp +16 -1
  94. package/src/duckdb/src/catalog/catalog_search_path.cpp +5 -4
  95. package/src/duckdb/src/catalog/catalog_set.cpp +16 -77
  96. package/src/duckdb/src/catalog/default/default_functions.cpp +23 -2
  97. package/src/duckdb/src/catalog/dependency_manager.cpp +0 -36
  98. package/src/duckdb/src/catalog/duck_catalog.cpp +4 -0
  99. package/src/duckdb/src/common/adbc/adbc.cpp +541 -171
  100. package/src/duckdb/src/common/adbc/driver_manager.cpp +92 -39
  101. package/src/duckdb/src/common/adbc/nanoarrow/allocator.cpp +57 -0
  102. package/src/duckdb/src/common/adbc/nanoarrow/metadata.cpp +121 -0
  103. package/src/duckdb/src/common/adbc/nanoarrow/schema.cpp +474 -0
  104. package/src/duckdb/src/common/adbc/nanoarrow/single_batch_array_stream.cpp +84 -0
  105. package/src/duckdb/src/common/allocator.cpp +14 -2
  106. package/src/duckdb/src/common/arrow/appender/bool_data.cpp +44 -0
  107. package/src/duckdb/src/common/arrow/appender/list_data.cpp +78 -0
  108. package/src/duckdb/src/common/arrow/appender/map_data.cpp +86 -0
  109. package/src/duckdb/src/common/arrow/appender/struct_data.cpp +45 -0
  110. package/src/duckdb/src/common/arrow/appender/union_data.cpp +70 -0
  111. package/src/duckdb/src/common/arrow/arrow_appender.cpp +95 -666
  112. package/src/duckdb/src/common/arrow/arrow_converter.cpp +68 -38
  113. package/src/duckdb/src/common/arrow/arrow_wrapper.cpp +37 -42
  114. package/src/duckdb/src/common/assert.cpp +3 -0
  115. package/src/duckdb/src/common/constants.cpp +2 -2
  116. package/src/duckdb/src/common/crypto/md5.cpp +2 -12
  117. package/src/duckdb/src/common/enum_util.cpp +4967 -4412
  118. package/src/duckdb/src/common/enums/date_part_specifier.cpp +2 -0
  119. package/src/duckdb/src/common/enums/logical_operator_type.cpp +4 -0
  120. package/src/duckdb/src/common/enums/optimizer_type.cpp +2 -0
  121. package/src/duckdb/src/common/enums/physical_operator_type.cpp +4 -0
  122. package/src/duckdb/src/common/exception.cpp +15 -2
  123. package/src/duckdb/src/common/extra_type_info.cpp +315 -0
  124. package/src/duckdb/src/common/file_buffer.cpp +2 -2
  125. package/src/duckdb/src/common/file_system.cpp +46 -12
  126. package/src/duckdb/src/common/filename_pattern.cpp +1 -1
  127. package/src/duckdb/src/common/gzip_file_system.cpp +7 -12
  128. package/src/duckdb/src/common/hive_partitioning.cpp +10 -6
  129. package/src/duckdb/src/common/http_state.cpp +78 -0
  130. package/src/duckdb/src/common/local_file_system.cpp +36 -28
  131. package/src/duckdb/src/common/multi_file_reader.cpp +175 -70
  132. package/src/duckdb/src/common/operator/cast_operators.cpp +110 -1
  133. package/src/duckdb/src/common/operator/string_cast.cpp +45 -8
  134. package/src/duckdb/src/common/radix_partitioning.cpp +34 -39
  135. package/src/duckdb/src/common/re2_regex.cpp +1 -1
  136. package/src/duckdb/src/common/row_operations/row_aggregate.cpp +18 -3
  137. package/src/duckdb/src/common/row_operations/row_external.cpp +1 -1
  138. package/src/duckdb/src/common/row_operations/row_matcher.cpp +375 -0
  139. package/src/duckdb/src/common/serializer/binary_deserializer.cpp +63 -73
  140. package/src/duckdb/src/common/serializer/binary_serializer.cpp +88 -78
  141. package/src/duckdb/src/common/serializer/buffered_file_reader.cpp +3 -20
  142. package/src/duckdb/src/common/serializer/buffered_file_writer.cpp +1 -1
  143. package/src/duckdb/src/common/serializer/memory_stream.cpp +61 -0
  144. package/src/duckdb/src/common/serializer/serializer.cpp +15 -0
  145. package/src/duckdb/src/common/sort/merge_sorter.cpp +9 -16
  146. package/src/duckdb/src/common/sort/partition_state.cpp +210 -100
  147. package/src/duckdb/src/common/sort/sort_state.cpp +1 -1
  148. package/src/duckdb/src/common/sort/sorted_block.cpp +1 -1
  149. package/src/duckdb/src/common/types/batched_data_collection.cpp +7 -2
  150. package/src/duckdb/src/common/types/bit.cpp +51 -0
  151. package/src/duckdb/src/common/types/column/column_data_allocator.cpp +9 -6
  152. package/src/duckdb/src/common/types/column/column_data_collection.cpp +68 -2
  153. package/src/duckdb/src/common/types/column/column_data_collection_segment.cpp +20 -6
  154. package/src/duckdb/src/common/types/column/partitioned_column_data.cpp +2 -2
  155. package/src/duckdb/src/common/types/data_chunk.cpp +77 -36
  156. package/src/duckdb/src/common/types/date.cpp +15 -0
  157. package/src/duckdb/src/common/types/hugeint.cpp +40 -0
  158. package/src/duckdb/src/common/types/hyperloglog.cpp +9 -7
  159. package/src/duckdb/src/common/types/interval.cpp +6 -0
  160. package/src/duckdb/src/common/types/list_segment.cpp +56 -198
  161. package/src/duckdb/src/common/types/row/partitioned_tuple_data.cpp +251 -131
  162. package/src/duckdb/src/common/types/row/row_data_collection_scanner.cpp +35 -5
  163. package/src/duckdb/src/common/types/row/row_layout.cpp +3 -31
  164. package/src/duckdb/src/common/types/row/tuple_data_allocator.cpp +43 -35
  165. package/src/duckdb/src/common/types/row/tuple_data_collection.cpp +74 -41
  166. package/src/duckdb/src/common/types/row/tuple_data_layout.cpp +11 -1
  167. package/src/duckdb/src/common/types/row/tuple_data_scatter_gather.cpp +46 -45
  168. package/src/duckdb/src/common/types/row/tuple_data_segment.cpp +21 -16
  169. package/src/duckdb/src/common/types/string_heap.cpp +4 -0
  170. package/src/duckdb/src/common/types/time.cpp +105 -0
  171. package/src/duckdb/src/common/types/timestamp.cpp +7 -0
  172. package/src/duckdb/src/common/types/uuid.cpp +2 -2
  173. package/src/duckdb/src/common/types/validity_mask.cpp +89 -0
  174. package/src/duckdb/src/common/types/value.cpp +103 -189
  175. package/src/duckdb/src/common/types/vector.cpp +79 -216
  176. package/src/duckdb/src/common/types.cpp +50 -745
  177. package/src/duckdb/src/common/vector_operations/vector_hash.cpp +1 -0
  178. package/src/duckdb/src/common/virtual_file_system.cpp +142 -1
  179. package/src/duckdb/src/core_functions/aggregate/algebraic/avg.cpp +0 -1
  180. package/src/duckdb/src/core_functions/aggregate/distributive/string_agg.cpp +6 -7
  181. package/src/duckdb/src/core_functions/aggregate/holistic/approximate_quantile.cpp +11 -8
  182. package/src/duckdb/src/core_functions/aggregate/holistic/mode.cpp +6 -8
  183. package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +137 -92
  184. package/src/duckdb/src/core_functions/aggregate/holistic/reservoir_quantile.cpp +15 -10
  185. package/src/duckdb/src/core_functions/aggregate/nested/histogram.cpp +1 -0
  186. package/src/duckdb/src/core_functions/aggregate/nested/list.cpp +83 -59
  187. package/src/duckdb/src/core_functions/aggregate/regression/regr_avg.cpp +4 -4
  188. package/src/duckdb/src/core_functions/aggregate/regression/regr_intercept.cpp +4 -4
  189. package/src/duckdb/src/core_functions/aggregate/regression/regr_r2.cpp +5 -4
  190. package/src/duckdb/src/core_functions/aggregate/regression/regr_sxx_syy.cpp +8 -8
  191. package/src/duckdb/src/core_functions/aggregate/regression/regr_sxy.cpp +4 -3
  192. package/src/duckdb/src/core_functions/function_list.cpp +20 -6
  193. package/src/duckdb/src/core_functions/scalar/date/date_diff.cpp +2 -0
  194. package/src/duckdb/src/core_functions/scalar/date/date_part.cpp +450 -126
  195. package/src/duckdb/src/core_functions/scalar/date/date_sub.cpp +2 -0
  196. package/src/duckdb/src/core_functions/scalar/date/date_trunc.cpp +4 -0
  197. package/src/duckdb/src/core_functions/scalar/date/epoch.cpp +10 -24
  198. package/src/duckdb/src/core_functions/scalar/date/make_date.cpp +19 -4
  199. package/src/duckdb/src/core_functions/scalar/date/strftime.cpp +12 -2
  200. package/src/duckdb/src/core_functions/scalar/debug/vector_type.cpp +23 -0
  201. package/src/duckdb/src/core_functions/scalar/enum/enum_functions.cpp +16 -12
  202. package/src/duckdb/src/core_functions/scalar/generic/current_setting.cpp +3 -1
  203. package/src/duckdb/src/core_functions/scalar/generic/hash.cpp +3 -0
  204. package/src/duckdb/src/core_functions/scalar/list/array_slice.cpp +324 -82
  205. package/src/duckdb/src/core_functions/scalar/list/list_aggregates.cpp +25 -18
  206. package/src/duckdb/src/core_functions/scalar/list/list_cosine_similarity.cpp +78 -0
  207. package/src/duckdb/src/core_functions/scalar/list/list_distance.cpp +72 -0
  208. package/src/duckdb/src/core_functions/scalar/list/list_inner_product.cpp +70 -0
  209. package/src/duckdb/src/core_functions/scalar/list/list_lambdas.cpp +18 -6
  210. package/src/duckdb/src/core_functions/scalar/list/list_sort.cpp +10 -1
  211. package/src/duckdb/src/core_functions/scalar/map/map_concat.cpp +0 -2
  212. package/src/duckdb/src/core_functions/scalar/map/map_entries.cpp +2 -2
  213. package/src/duckdb/src/core_functions/scalar/string/repeat.cpp +8 -5
  214. package/src/duckdb/src/core_functions/scalar/string/sha256.cpp +32 -0
  215. package/src/duckdb/src/core_functions/scalar/string/to_base.cpp +66 -0
  216. package/src/duckdb/src/core_functions/scalar/struct/struct_pack.cpp +24 -14
  217. package/src/duckdb/src/core_functions/scalar/union/union_tag.cpp +1 -1
  218. package/src/duckdb/src/execution/aggregate_hashtable.cpp +229 -348
  219. package/src/duckdb/src/execution/column_binding_resolver.cpp +11 -7
  220. package/src/duckdb/src/execution/expression_executor/execute_parameter.cpp +2 -2
  221. package/src/duckdb/src/execution/expression_executor.cpp +1 -1
  222. package/src/duckdb/src/execution/index/art/art.cpp +279 -296
  223. package/src/duckdb/src/execution/index/art/art_key.cpp +0 -11
  224. package/src/duckdb/src/execution/index/art/iterator.cpp +127 -217
  225. package/src/duckdb/src/execution/index/art/leaf.cpp +228 -272
  226. package/src/duckdb/src/execution/index/art/node.cpp +225 -313
  227. package/src/duckdb/src/execution/index/art/node16.cpp +34 -75
  228. package/src/duckdb/src/execution/index/art/node256.cpp +40 -63
  229. package/src/duckdb/src/execution/index/art/node4.cpp +44 -77
  230. package/src/duckdb/src/execution/index/art/node48.cpp +45 -79
  231. package/src/duckdb/src/execution/index/art/prefix.cpp +246 -347
  232. package/src/duckdb/src/execution/index/fixed_size_allocator.cpp +323 -0
  233. package/src/duckdb/src/execution/index/fixed_size_buffer.cpp +285 -0
  234. package/src/duckdb/src/execution/join_hashtable.cpp +80 -69
  235. package/src/duckdb/src/execution/nested_loop_join/nested_loop_join_inner.cpp +20 -27
  236. package/src/duckdb/src/execution/nested_loop_join/nested_loop_join_mark.cpp +21 -9
  237. package/src/duckdb/src/execution/operator/aggregate/aggregate_object.cpp +1 -0
  238. package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +257 -324
  239. package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +6 -4
  240. package/src/duckdb/src/execution/operator/aggregate/physical_streaming_window.cpp +8 -3
  241. package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +231 -190
  242. package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +368 -1070
  243. package/src/duckdb/src/execution/operator/{persistent → csv_scanner}/base_csv_reader.cpp +162 -175
  244. package/src/duckdb/src/execution/operator/csv_scanner/buffered_csv_reader.cpp +434 -0
  245. package/src/duckdb/src/execution/operator/csv_scanner/csv_buffer.cpp +89 -0
  246. package/src/duckdb/src/execution/operator/csv_scanner/csv_buffer_manager.cpp +90 -0
  247. package/src/duckdb/src/execution/operator/csv_scanner/csv_file_handle.cpp +95 -0
  248. package/src/duckdb/src/execution/operator/csv_scanner/csv_reader_options.cpp +494 -0
  249. package/src/duckdb/src/execution/operator/csv_scanner/csv_state_machine.cpp +35 -0
  250. package/src/duckdb/src/execution/operator/csv_scanner/csv_state_machine_cache.cpp +106 -0
  251. package/src/duckdb/src/execution/operator/{persistent → csv_scanner}/parallel_csv_reader.cpp +69 -51
  252. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp +61 -0
  253. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp +339 -0
  254. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/header_detection.cpp +171 -0
  255. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_detection.cpp +415 -0
  256. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_refinement.cpp +196 -0
  257. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_replacement.cpp +39 -0
  258. package/src/duckdb/src/execution/operator/filter/physical_filter.cpp +1 -1
  259. package/src/duckdb/src/execution/operator/helper/physical_batch_collector.cpp +12 -9
  260. package/src/duckdb/src/execution/operator/helper/physical_explain_analyze.cpp +2 -2
  261. package/src/duckdb/src/execution/operator/helper/physical_limit.cpp +10 -8
  262. package/src/duckdb/src/execution/operator/helper/physical_load.cpp +2 -1
  263. package/src/duckdb/src/execution/operator/helper/physical_materialized_collector.cpp +7 -5
  264. package/src/duckdb/src/execution/operator/helper/physical_reset.cpp +3 -1
  265. package/src/duckdb/src/execution/operator/helper/physical_set.cpp +3 -1
  266. package/src/duckdb/src/execution/operator/helper/physical_vacuum.cpp +7 -5
  267. package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +465 -289
  268. package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +2 -2
  269. package/src/duckdb/src/execution/operator/join/physical_comparison_join.cpp +1 -2
  270. package/src/duckdb/src/execution/operator/join/physical_delim_join.cpp +13 -6
  271. package/src/duckdb/src/execution/operator/join/physical_hash_join.cpp +37 -19
  272. package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +35 -17
  273. package/src/duckdb/src/execution/operator/join/physical_join.cpp +1 -1
  274. package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +7 -4
  275. package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +31 -10
  276. package/src/duckdb/src/execution/operator/join/physical_range_join.cpp +41 -5
  277. package/src/duckdb/src/execution/operator/order/physical_order.cpp +7 -5
  278. package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +7 -5
  279. package/src/duckdb/src/execution/operator/persistent/csv_rejects_table.cpp +48 -0
  280. package/src/duckdb/src/execution/operator/persistent/physical_batch_copy_to_file.cpp +14 -10
  281. package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +69 -47
  282. package/src/duckdb/src/execution/operator/persistent/physical_copy_to_file.cpp +9 -7
  283. package/src/duckdb/src/execution/operator/persistent/physical_export.cpp +1 -1
  284. package/src/duckdb/src/execution/operator/persistent/physical_fixed_batch_copy.cpp +14 -12
  285. package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +12 -12
  286. package/src/duckdb/src/execution/operator/persistent/physical_update.cpp +4 -2
  287. package/src/duckdb/src/execution/operator/projection/physical_pivot.cpp +2 -1
  288. package/src/duckdb/src/execution/operator/projection/physical_unnest.cpp +24 -27
  289. package/src/duckdb/src/execution/operator/scan/physical_column_data_scan.cpp +19 -0
  290. package/src/duckdb/src/execution/operator/scan/physical_table_scan.cpp +7 -12
  291. package/src/duckdb/src/execution/operator/schema/physical_attach.cpp +6 -2
  292. package/src/duckdb/src/execution/operator/schema/physical_create_art_index.cpp +198 -0
  293. package/src/duckdb/src/execution/operator/schema/physical_create_type.cpp +2 -6
  294. package/src/duckdb/src/execution/operator/set/physical_cte.cpp +160 -0
  295. package/src/duckdb/src/execution/operator/set/physical_recursive_cte.cpp +16 -7
  296. package/src/duckdb/src/execution/perfect_aggregate_hashtable.cpp +37 -6
  297. package/src/duckdb/src/execution/physical_operator.cpp +20 -16
  298. package/src/duckdb/src/execution/physical_plan/plan_aggregate.cpp +43 -10
  299. package/src/duckdb/src/execution/physical_plan/plan_asof_join.cpp +57 -35
  300. package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +45 -25
  301. package/src/duckdb/src/execution/physical_plan/plan_create_index.cpp +45 -34
  302. package/src/duckdb/src/execution/physical_plan/plan_cte.cpp +33 -0
  303. package/src/duckdb/src/execution/physical_plan/plan_delim_join.cpp +2 -5
  304. package/src/duckdb/src/execution/physical_plan/plan_get.cpp +2 -2
  305. package/src/duckdb/src/execution/physical_plan/plan_recursive_cte.cpp +25 -4
  306. package/src/duckdb/src/execution/physical_plan_generator.cpp +6 -11
  307. package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +658 -363
  308. package/src/duckdb/src/execution/reservoir_sample.cpp +3 -9
  309. package/src/duckdb/src/execution/window_executor.cpp +1285 -0
  310. package/src/duckdb/src/execution/window_segment_tree.cpp +408 -144
  311. package/src/duckdb/src/function/aggregate/distributive/count.cpp +2 -13
  312. package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +6 -12
  313. package/src/duckdb/src/function/cast/bit_cast.cpp +34 -2
  314. package/src/duckdb/src/function/cast/blob_cast.cpp +3 -0
  315. package/src/duckdb/src/function/cast/cast_function_set.cpp +1 -0
  316. package/src/duckdb/src/function/cast/numeric_casts.cpp +2 -0
  317. package/src/duckdb/src/function/cast/string_cast.cpp +2 -2
  318. package/src/duckdb/src/function/cast/struct_cast.cpp +8 -0
  319. package/src/duckdb/src/function/cast/time_casts.cpp +19 -6
  320. package/src/duckdb/src/function/cast/union/from_struct.cpp +114 -0
  321. package/src/duckdb/src/function/cast/union_casts.cpp +25 -36
  322. package/src/duckdb/src/function/cast/vector_cast_helpers.cpp +15 -4
  323. package/src/duckdb/src/function/function.cpp +3 -1
  324. package/src/duckdb/src/function/function_binder.cpp +18 -8
  325. package/src/duckdb/src/function/macro_function.cpp +0 -42
  326. package/src/duckdb/src/function/pragma/pragma_functions.cpp +5 -0
  327. package/src/duckdb/src/function/pragma/pragma_queries.cpp +15 -1
  328. package/src/duckdb/src/function/scalar/compressed_materialization/compress_integral.cpp +214 -0
  329. package/src/duckdb/src/function/scalar/compressed_materialization/compress_string.cpp +250 -0
  330. package/src/duckdb/src/function/scalar/compressed_materialization_functions.cpp +29 -0
  331. package/src/duckdb/src/function/scalar/list/list_resize.cpp +162 -0
  332. package/src/duckdb/src/function/scalar/nested_functions.cpp +1 -0
  333. package/src/duckdb/src/function/scalar/operators/add.cpp +9 -0
  334. package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +15 -14
  335. package/src/duckdb/src/function/scalar/strftime_format.cpp +33 -12
  336. package/src/duckdb/src/function/scalar/string/like.cpp +12 -7
  337. package/src/duckdb/src/function/scalar/string/suffix.cpp +1 -1
  338. package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +19 -11
  339. package/src/duckdb/src/function/scalar_function.cpp +3 -19
  340. package/src/duckdb/src/function/scalar_macro_function.cpp +0 -10
  341. package/src/duckdb/src/function/table/arrow/arrow_duck_schema.cpp +57 -0
  342. package/src/duckdb/src/function/table/arrow.cpp +131 -100
  343. package/src/duckdb/src/function/table/arrow_conversion.cpp +95 -74
  344. package/src/duckdb/src/function/table/copy_csv.cpp +133 -127
  345. package/src/duckdb/src/function/table/read_csv.cpp +198 -381
  346. package/src/duckdb/src/function/table/system/duckdb_columns.cpp +3 -1
  347. package/src/duckdb/src/function/table/system/pragma_metadata_info.cpp +83 -0
  348. package/src/duckdb/src/function/table/system/pragma_storage_info.cpp +5 -0
  349. package/src/duckdb/src/function/table/system/test_all_types.cpp +48 -21
  350. package/src/duckdb/src/function/table/system_functions.cpp +2 -0
  351. package/src/duckdb/src/function/table/table_scan.cpp +29 -24
  352. package/src/duckdb/src/function/table/version/pragma_version.cpp +49 -2
  353. package/src/duckdb/src/function/table_macro_function.cpp +0 -10
  354. package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +23 -5
  355. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_index_entry.hpp +2 -0
  356. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp +3 -3
  357. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/macro_catalog_entry.hpp +1 -4
  358. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp +2 -7
  359. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp +1 -8
  360. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +2 -13
  361. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/type_catalog_entry.hpp +1 -6
  362. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/view_catalog_entry.hpp +2 -5
  363. package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +9 -0
  364. package/src/duckdb/src/include/duckdb/catalog/catalog_set.hpp +0 -6
  365. package/src/duckdb/src/include/duckdb/catalog/duck_catalog.hpp +1 -0
  366. package/src/duckdb/src/include/duckdb/common/adbc/adbc.h +1 -0
  367. package/src/duckdb/src/include/duckdb/common/adbc/adbc.hpp +4 -1
  368. package/src/duckdb/src/include/duckdb/common/adbc/single_batch_array_stream.hpp +16 -0
  369. package/src/duckdb/src/include/duckdb/common/allocator.hpp +2 -0
  370. package/src/duckdb/src/include/duckdb/common/arrow/appender/append_data.hpp +109 -0
  371. package/src/duckdb/src/include/duckdb/common/arrow/appender/bool_data.hpp +15 -0
  372. package/src/duckdb/src/include/duckdb/common/arrow/appender/enum_data.hpp +69 -0
  373. package/src/duckdb/src/include/duckdb/common/arrow/appender/list.hpp +8 -0
  374. package/src/duckdb/src/include/duckdb/common/arrow/appender/list_data.hpp +18 -0
  375. package/src/duckdb/src/include/duckdb/common/arrow/appender/map_data.hpp +18 -0
  376. package/src/duckdb/src/include/duckdb/common/arrow/appender/scalar_data.hpp +88 -0
  377. package/src/duckdb/src/include/duckdb/common/arrow/appender/struct_data.hpp +18 -0
  378. package/src/duckdb/src/include/duckdb/common/arrow/appender/union_data.hpp +21 -0
  379. package/src/duckdb/src/include/duckdb/common/arrow/appender/varchar_data.hpp +105 -0
  380. package/src/duckdb/src/include/duckdb/common/arrow/arrow_appender.hpp +9 -4
  381. package/src/duckdb/src/include/duckdb/common/arrow/arrow_converter.hpp +3 -5
  382. package/src/duckdb/src/include/duckdb/common/arrow/arrow_wrapper.hpp +5 -3
  383. package/src/duckdb/src/include/duckdb/common/arrow/nanoarrow/nanoarrow.h +462 -0
  384. package/src/duckdb/src/include/duckdb/common/arrow/nanoarrow/nanoarrow.hpp +14 -0
  385. package/src/duckdb/src/include/duckdb/common/arrow/result_arrow_wrapper.hpp +4 -0
  386. package/src/duckdb/src/include/duckdb/common/assert.hpp +1 -1
  387. package/src/duckdb/src/include/duckdb/common/bitpacking.hpp +70 -55
  388. package/src/duckdb/src/include/duckdb/common/box_renderer.hpp +1 -1
  389. package/src/duckdb/src/include/duckdb/common/bswap.hpp +42 -0
  390. package/src/duckdb/src/include/duckdb/common/case_insensitive_map.hpp +1 -0
  391. package/src/duckdb/src/include/duckdb/common/constants.hpp +6 -15
  392. package/src/duckdb/src/include/duckdb/common/dl.hpp +3 -1
  393. package/src/duckdb/src/include/duckdb/common/enum_util.hpp +689 -577
  394. package/src/duckdb/src/include/duckdb/common/enums/cte_materialize.hpp +21 -0
  395. package/src/duckdb/src/include/duckdb/common/enums/date_part_specifier.hpp +18 -2
  396. package/src/duckdb/src/include/duckdb/common/enums/index_type.hpp +4 -3
  397. package/src/duckdb/src/include/duckdb/common/enums/joinref_type.hpp +2 -1
  398. package/src/duckdb/src/include/duckdb/common/enums/logical_operator_type.hpp +2 -0
  399. package/src/duckdb/src/include/duckdb/common/enums/operator_result_type.hpp +5 -1
  400. package/src/duckdb/src/include/duckdb/common/enums/optimizer_type.hpp +2 -0
  401. package/src/duckdb/src/include/duckdb/common/enums/pending_execution_result.hpp +1 -1
  402. package/src/duckdb/src/include/duckdb/common/enums/physical_operator_type.hpp +2 -0
  403. package/src/duckdb/src/include/duckdb/common/exception.hpp +15 -1
  404. package/src/duckdb/src/include/duckdb/common/extra_operator_info.hpp +27 -0
  405. package/src/duckdb/src/include/duckdb/common/extra_type_info.hpp +185 -0
  406. package/src/duckdb/src/include/duckdb/common/file_opener.hpp +9 -0
  407. package/src/duckdb/src/include/duckdb/common/file_system.hpp +10 -8
  408. package/src/duckdb/src/include/duckdb/common/filename_pattern.hpp +1 -1
  409. package/src/duckdb/src/include/duckdb/common/fixed_size_map.hpp +208 -0
  410. package/src/duckdb/src/include/duckdb/common/helper.hpp +8 -3
  411. package/src/duckdb/src/include/duckdb/common/hive_partitioning.hpp +1 -1
  412. package/src/duckdb/src/include/duckdb/common/http_state.hpp +61 -28
  413. package/src/duckdb/src/include/duckdb/common/hugeint.hpp +15 -0
  414. package/src/duckdb/src/include/duckdb/common/index_vector.hpp +12 -0
  415. package/src/duckdb/src/include/duckdb/common/limits.hpp +52 -149
  416. package/src/duckdb/src/include/duckdb/common/multi_file_reader.hpp +14 -7
  417. package/src/duckdb/src/include/duckdb/common/multi_file_reader_options.hpp +10 -44
  418. package/src/duckdb/src/include/duckdb/common/mutex.hpp +3 -0
  419. package/src/duckdb/src/include/duckdb/common/numeric_utils.hpp +48 -0
  420. package/src/duckdb/src/include/duckdb/common/opener_file_system.hpp +6 -2
  421. package/src/duckdb/src/include/duckdb/common/operator/add.hpp +5 -2
  422. package/src/duckdb/src/include/duckdb/common/operator/cast_operators.hpp +92 -4
  423. package/src/duckdb/src/include/duckdb/common/operator/comparison_operators.hpp +38 -2
  424. package/src/duckdb/src/include/duckdb/common/operator/multiply.hpp +3 -2
  425. package/src/duckdb/src/include/duckdb/common/operator/numeric_cast.hpp +10 -0
  426. package/src/duckdb/src/include/duckdb/common/operator/string_cast.hpp +1 -1
  427. package/src/duckdb/src/include/duckdb/common/operator/subtract.hpp +3 -2
  428. package/src/duckdb/src/include/duckdb/common/optional_idx.hpp +4 -1
  429. package/src/duckdb/src/include/duckdb/common/perfect_map_set.hpp +2 -1
  430. package/src/duckdb/src/include/duckdb/common/printer.hpp +11 -0
  431. package/src/duckdb/src/include/duckdb/common/radix.hpp +9 -20
  432. package/src/duckdb/src/include/duckdb/common/radix_partitioning.hpp +6 -21
  433. package/src/duckdb/src/include/duckdb/common/row_operations/row_matcher.hpp +63 -0
  434. package/src/duckdb/src/include/duckdb/common/row_operations/row_operations.hpp +3 -3
  435. package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +103 -41
  436. package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +59 -42
  437. package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_reader.hpp +4 -10
  438. package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_writer.hpp +3 -3
  439. package/src/duckdb/src/include/duckdb/common/serializer/deserialization_data.hpp +181 -0
  440. package/src/duckdb/src/include/duckdb/common/serializer/{format_deserializer.hpp → deserializer.hpp} +222 -134
  441. package/src/duckdb/src/include/duckdb/common/serializer/encoding_util.hpp +132 -0
  442. package/src/duckdb/src/include/duckdb/common/serializer/memory_stream.hpp +62 -0
  443. package/src/duckdb/src/include/duckdb/common/serializer/read_stream.hpp +38 -0
  444. package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +172 -19
  445. package/src/duckdb/src/include/duckdb/common/serializer/serializer.hpp +307 -0
  446. package/src/duckdb/src/include/duckdb/common/serializer/write_stream.hpp +36 -0
  447. package/src/duckdb/src/include/duckdb/common/shared_ptr.hpp +8 -0
  448. package/src/duckdb/src/include/duckdb/common/sort/partition_state.hpp +48 -17
  449. package/src/duckdb/src/include/duckdb/common/stack_checker.hpp +34 -0
  450. package/src/duckdb/src/include/duckdb/common/string_util.hpp +11 -0
  451. package/src/duckdb/src/include/duckdb/common/type_util.hpp +8 -0
  452. package/src/duckdb/src/include/duckdb/common/typedefs.hpp +8 -0
  453. package/src/duckdb/src/include/duckdb/common/types/batched_data_collection.hpp +3 -1
  454. package/src/duckdb/src/include/duckdb/common/types/bit.hpp +81 -0
  455. package/src/duckdb/src/include/duckdb/common/types/column/column_data_allocator.hpp +11 -1
  456. package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection.hpp +12 -1
  457. package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection_segment.hpp +3 -1
  458. package/src/duckdb/src/include/duckdb/common/types/column/column_data_scan_states.hpp +3 -1
  459. package/src/duckdb/src/include/duckdb/common/types/data_chunk.hpp +4 -6
  460. package/src/duckdb/src/include/duckdb/common/types/date.hpp +9 -5
  461. package/src/duckdb/src/include/duckdb/common/types/datetime.hpp +46 -3
  462. package/src/duckdb/src/include/duckdb/common/types/hyperloglog.hpp +6 -6
  463. package/src/duckdb/src/include/duckdb/common/types/interval.hpp +7 -0
  464. package/src/duckdb/src/include/duckdb/common/types/list_segment.hpp +11 -15
  465. package/src/duckdb/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp +46 -11
  466. package/src/duckdb/src/include/duckdb/common/types/row/row_data_collection_scanner.hpp +10 -1
  467. package/src/duckdb/src/include/duckdb/common/types/row/row_layout.hpp +1 -23
  468. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_allocator.hpp +14 -8
  469. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_collection.hpp +15 -5
  470. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_layout.hpp +7 -0
  471. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_segment.hpp +13 -8
  472. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_states.hpp +8 -4
  473. package/src/duckdb/src/include/duckdb/common/types/string_heap.hpp +3 -0
  474. package/src/duckdb/src/include/duckdb/common/types/string_type.hpp +9 -0
  475. package/src/duckdb/src/include/duckdb/common/types/time.hpp +5 -0
  476. package/src/duckdb/src/include/duckdb/common/types/timestamp.hpp +16 -10
  477. package/src/duckdb/src/include/duckdb/common/types/validity_mask.hpp +7 -1
  478. package/src/duckdb/src/include/duckdb/common/types/value.hpp +8 -7
  479. package/src/duckdb/src/include/duckdb/common/types/vector.hpp +13 -11
  480. package/src/duckdb/src/include/duckdb/common/types.hpp +8 -35
  481. package/src/duckdb/src/include/duckdb/common/vector.hpp +2 -2
  482. package/src/duckdb/src/include/duckdb/common/vector_operations/aggregate_executor.hpp +7 -2
  483. package/src/duckdb/src/include/duckdb/common/virtual_file_system.hpp +40 -97
  484. package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/corr.hpp +4 -4
  485. package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/covar.hpp +3 -1
  486. package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic_functions.hpp +3 -1
  487. package/src/duckdb/src/include/duckdb/core_functions/aggregate/distributive_functions.hpp +4 -2
  488. package/src/duckdb/src/include/duckdb/core_functions/aggregate/holistic_functions.hpp +3 -1
  489. package/src/duckdb/src/include/duckdb/core_functions/aggregate/nested_functions.hpp +3 -1
  490. package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_count.hpp +1 -0
  491. package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_slope.hpp +3 -3
  492. package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression_functions.hpp +3 -1
  493. package/src/duckdb/src/include/duckdb/core_functions/scalar/bit_functions.hpp +7 -5
  494. package/src/duckdb/src/include/duckdb/core_functions/scalar/blob_functions.hpp +7 -5
  495. package/src/duckdb/src/include/duckdb/core_functions/scalar/date_functions.hpp +44 -15
  496. package/src/duckdb/src/include/duckdb/core_functions/scalar/debug_functions.hpp +27 -0
  497. package/src/duckdb/src/include/duckdb/core_functions/scalar/enum_functions.hpp +10 -8
  498. package/src/duckdb/src/include/duckdb/core_functions/scalar/generic_functions.hpp +15 -13
  499. package/src/duckdb/src/include/duckdb/core_functions/scalar/list_functions.hpp +66 -13
  500. package/src/duckdb/src/include/duckdb/core_functions/scalar/map_functions.hpp +6 -4
  501. package/src/duckdb/src/include/duckdb/core_functions/scalar/math_functions.hpp +38 -36
  502. package/src/duckdb/src/include/duckdb/core_functions/scalar/operators_functions.hpp +6 -4
  503. package/src/duckdb/src/include/duckdb/core_functions/scalar/random_functions.hpp +6 -4
  504. package/src/duckdb/src/include/duckdb/core_functions/scalar/string_functions.hpp +34 -14
  505. package/src/duckdb/src/include/duckdb/core_functions/scalar/struct_functions.hpp +10 -5
  506. package/src/duckdb/src/include/duckdb/core_functions/scalar/union_functions.hpp +5 -3
  507. package/src/duckdb/src/include/duckdb/execution/aggregate_hashtable.hpp +132 -131
  508. package/src/duckdb/src/include/duckdb/execution/executor.hpp +3 -0
  509. package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +27 -16
  510. package/src/duckdb/src/include/duckdb/execution/index/art/art_key.hpp +0 -1
  511. package/src/duckdb/src/include/duckdb/execution/index/art/iterator.hpp +36 -32
  512. package/src/duckdb/src/include/duckdb/execution/index/art/leaf.hpp +47 -56
  513. package/src/duckdb/src/include/duckdb/execution/index/art/node.hpp +67 -64
  514. package/src/duckdb/src/include/duckdb/execution/index/art/node16.hpp +17 -20
  515. package/src/duckdb/src/include/duckdb/execution/index/art/node256.hpp +17 -25
  516. package/src/duckdb/src/include/duckdb/execution/index/art/node4.hpp +19 -22
  517. package/src/duckdb/src/include/duckdb/execution/index/art/node48.hpp +17 -26
  518. package/src/duckdb/src/include/duckdb/execution/index/art/prefix.hpp +60 -55
  519. package/src/duckdb/src/include/duckdb/execution/index/fixed_size_allocator.hpp +120 -0
  520. package/src/duckdb/src/include/duckdb/execution/index/fixed_size_buffer.hpp +109 -0
  521. package/src/duckdb/src/include/duckdb/execution/index/index_pointer.hpp +96 -0
  522. package/src/duckdb/src/include/duckdb/execution/join_hashtable.hpp +14 -8
  523. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp +8 -7
  524. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_perfecthash_aggregate.hpp +1 -1
  525. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_ungrouped_aggregate.hpp +3 -3
  526. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_window.hpp +6 -5
  527. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp +2 -2
  528. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_explain_analyze.hpp +1 -1
  529. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_limit.hpp +1 -1
  530. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_materialized_collector.hpp +1 -1
  531. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_vacuum.hpp +2 -2
  532. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_asof_join.hpp +5 -12
  533. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp +1 -1
  534. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_delim_join.hpp +2 -2
  535. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_hash_join.hpp +2 -2
  536. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_iejoin.hpp +3 -3
  537. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_nested_loop_join.hpp +2 -2
  538. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_piecewise_merge_join.hpp +3 -3
  539. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_range_join.hpp +12 -1
  540. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_order.hpp +2 -2
  541. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_top_n.hpp +2 -2
  542. package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_rejects_table.hpp +36 -0
  543. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_copy_to_file.hpp +2 -2
  544. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_insert.hpp +2 -2
  545. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp +2 -2
  546. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_fixed_batch_copy.hpp +2 -2
  547. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_insert.hpp +2 -2
  548. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_update.hpp +1 -1
  549. package/src/duckdb/src/include/duckdb/execution/operator/{persistent → scan/csv}/base_csv_reader.hpp +23 -19
  550. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/buffered_csv_reader.hpp +72 -0
  551. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_buffer.hpp +110 -0
  552. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_buffer_manager.hpp +103 -0
  553. package/src/duckdb/src/include/duckdb/execution/operator/{persistent → scan/csv}/csv_file_handle.hpp +8 -15
  554. package/src/duckdb/src/include/duckdb/execution/operator/{persistent → scan/csv}/csv_line_info.hpp +9 -4
  555. package/src/duckdb/src/include/duckdb/execution/operator/{persistent → scan/csv}/csv_reader_options.hpp +79 -33
  556. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_sniffer.hpp +129 -0
  557. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_state_machine.hpp +75 -0
  558. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_state_machine_cache.hpp +51 -0
  559. package/src/duckdb/src/include/duckdb/execution/operator/{persistent → scan/csv}/parallel_csv_reader.hpp +23 -28
  560. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/quote_rules.hpp +21 -0
  561. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_column_data_scan.hpp +10 -0
  562. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_table_scan.hpp +5 -5
  563. package/src/duckdb/src/include/duckdb/execution/operator/schema/{physical_create_index.hpp → physical_create_art_index.hpp} +14 -7
  564. package/src/duckdb/src/include/duckdb/execution/operator/set/physical_cte.hpp +62 -0
  565. package/src/duckdb/src/include/duckdb/execution/operator/set/physical_recursive_cte.hpp +8 -2
  566. package/src/duckdb/src/include/duckdb/execution/perfect_aggregate_hashtable.hpp +4 -2
  567. package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +6 -5
  568. package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +11 -0
  569. package/src/duckdb/src/include/duckdb/execution/physical_plan_generator.hpp +6 -2
  570. package/src/duckdb/src/include/duckdb/execution/radix_partitioned_hashtable.hpp +18 -21
  571. package/src/duckdb/src/include/duckdb/execution/window_executor.hpp +313 -0
  572. package/src/duckdb/src/include/duckdb/execution/window_segment_tree.hpp +79 -63
  573. package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +3 -5
  574. package/src/duckdb/src/include/duckdb/function/aggregate_state.hpp +2 -2
  575. package/src/duckdb/src/include/duckdb/function/built_in_functions.hpp +1 -0
  576. package/src/duckdb/src/include/duckdb/function/cast/bound_cast_data.hpp +32 -0
  577. package/src/duckdb/src/include/duckdb/function/compression_function.hpp +36 -4
  578. package/src/duckdb/src/include/duckdb/function/copy_function.hpp +11 -4
  579. package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +58 -61
  580. package/src/duckdb/src/include/duckdb/function/macro_function.hpp +1 -4
  581. package/src/duckdb/src/include/duckdb/function/scalar/compressed_materialization_functions.hpp +49 -0
  582. package/src/duckdb/src/include/duckdb/function/scalar/list/contains_or_position.hpp +1 -1
  583. package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +14 -10
  584. package/src/duckdb/src/include/duckdb/function/scalar/strftime_format.hpp +14 -5
  585. package/src/duckdb/src/include/duckdb/function/scalar/string_functions.hpp +2 -0
  586. package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +2 -7
  587. package/src/duckdb/src/include/duckdb/function/scalar_macro_function.hpp +2 -4
  588. package/src/duckdb/src/include/duckdb/function/table/arrow/arrow_duck_schema.hpp +99 -0
  589. package/src/duckdb/src/include/duckdb/function/table/arrow.hpp +11 -36
  590. package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +22 -22
  591. package/src/duckdb/src/include/duckdb/function/table/system_functions.hpp +9 -1
  592. package/src/duckdb/src/include/duckdb/function/table_function.hpp +2 -3
  593. package/src/duckdb/src/include/duckdb/function/table_macro_function.hpp +2 -4
  594. package/src/duckdb/src/include/duckdb/function/udf_function.hpp +2 -1
  595. package/src/duckdb/src/include/duckdb/main/attached_database.hpp +1 -1
  596. package/src/duckdb/src/include/duckdb/main/capi/capi_internal.hpp +4 -3
  597. package/src/duckdb/src/include/duckdb/main/chunk_scan_state/query_result.hpp +29 -0
  598. package/src/duckdb/src/include/duckdb/main/chunk_scan_state.hpp +43 -0
  599. package/src/duckdb/src/include/duckdb/main/client_config.hpp +9 -2
  600. package/src/duckdb/src/include/duckdb/main/client_context.hpp +16 -14
  601. package/src/duckdb/src/include/duckdb/main/client_context_file_opener.hpp +1 -0
  602. package/src/duckdb/src/include/duckdb/main/client_data.hpp +2 -1
  603. package/src/duckdb/src/include/duckdb/main/client_properties.hpp +25 -0
  604. package/src/duckdb/src/include/duckdb/main/config.hpp +19 -1
  605. package/src/duckdb/src/include/duckdb/main/connection.hpp +3 -4
  606. package/src/duckdb/src/include/duckdb/main/extension/generated_extension_loader.hpp +27 -0
  607. package/src/duckdb/src/include/duckdb/main/extension_entries.hpp +258 -144
  608. package/src/duckdb/src/include/duckdb/main/extension_helper.hpp +42 -6
  609. package/src/duckdb/src/include/duckdb/main/extension_util.hpp +18 -0
  610. package/src/duckdb/src/include/duckdb/main/pending_query_result.hpp +5 -0
  611. package/src/duckdb/src/include/duckdb/main/prepared_statement.hpp +73 -5
  612. package/src/duckdb/src/include/duckdb/main/prepared_statement_data.hpp +7 -6
  613. package/src/duckdb/src/include/duckdb/main/query_result.hpp +3 -28
  614. package/src/duckdb/src/include/duckdb/main/relation/aggregate_relation.hpp +4 -1
  615. package/src/duckdb/src/include/duckdb/main/relation/cross_product_relation.hpp +4 -1
  616. package/src/duckdb/src/include/duckdb/main/relation/join_relation.hpp +5 -2
  617. package/src/duckdb/src/include/duckdb/main/relation/read_csv_relation.hpp +7 -7
  618. package/src/duckdb/src/include/duckdb/main/relation/table_function_relation.hpp +1 -0
  619. package/src/duckdb/src/include/duckdb/main/relation.hpp +17 -4
  620. package/src/duckdb/src/include/duckdb/main/settings.hpp +72 -12
  621. package/src/duckdb/src/include/duckdb/optimizer/column_binding_replacer.hpp +47 -0
  622. package/src/duckdb/src/include/duckdb/optimizer/compressed_materialization.hpp +132 -0
  623. package/src/duckdb/src/include/duckdb/optimizer/deliminator.hpp +13 -16
  624. package/src/duckdb/src/include/duckdb/optimizer/filter_pushdown.hpp +7 -0
  625. package/src/duckdb/src/include/duckdb/optimizer/join_order/cardinality_estimator.hpp +38 -64
  626. package/src/duckdb/src/include/duckdb/optimizer/join_order/cost_model.hpp +37 -0
  627. package/src/duckdb/src/include/duckdb/optimizer/join_order/estimated_properties.hpp +10 -1
  628. package/src/duckdb/src/include/duckdb/optimizer/join_order/join_node.hpp +14 -29
  629. package/src/duckdb/src/include/duckdb/optimizer/join_order/join_order_optimizer.hpp +8 -22
  630. package/src/duckdb/src/include/duckdb/optimizer/join_order/join_relation.hpp +1 -12
  631. package/src/duckdb/src/include/duckdb/optimizer/join_order/plan_enumerator.hpp +89 -0
  632. package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph.hpp +19 -30
  633. package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph_manager.hpp +113 -0
  634. package/src/duckdb/src/include/duckdb/optimizer/join_order/relation_manager.hpp +73 -0
  635. package/src/duckdb/src/include/duckdb/optimizer/join_order/relation_statistics_helper.hpp +73 -0
  636. package/src/duckdb/src/include/duckdb/optimizer/matcher/set_matcher.hpp +13 -0
  637. package/src/duckdb/src/include/duckdb/optimizer/optimizer.hpp +3 -0
  638. package/src/duckdb/src/include/duckdb/optimizer/remove_duplicate_groups.hpp +40 -0
  639. package/src/duckdb/src/include/duckdb/optimizer/rule/empty_needle_removal.hpp +1 -1
  640. package/src/duckdb/src/include/duckdb/optimizer/statistics_propagator.hpp +11 -3
  641. package/src/duckdb/src/include/duckdb/optimizer/topn_optimizer.hpp +2 -0
  642. package/src/duckdb/src/include/duckdb/parallel/event.hpp +12 -1
  643. package/src/duckdb/src/include/duckdb/parallel/pipeline.hpp +2 -3
  644. package/src/duckdb/src/include/duckdb/parallel/pipeline_executor.hpp +3 -2
  645. package/src/duckdb/src/include/duckdb/parallel/task_scheduler.hpp +9 -1
  646. package/src/duckdb/src/include/duckdb/parser/column_definition.hpp +4 -6
  647. package/src/duckdb/src/include/duckdb/parser/column_list.hpp +3 -3
  648. package/src/duckdb/src/include/duckdb/parser/common_table_expression_info.hpp +4 -2
  649. package/src/duckdb/src/include/duckdb/parser/constraint.hpp +3 -8
  650. package/src/duckdb/src/include/duckdb/parser/constraints/check_constraint.hpp +2 -2
  651. package/src/duckdb/src/include/duckdb/parser/constraints/foreign_key_constraint.hpp +5 -4
  652. package/src/duckdb/src/include/duckdb/parser/constraints/not_null_constraint.hpp +2 -4
  653. package/src/duckdb/src/include/duckdb/parser/constraints/unique_constraint.hpp +5 -4
  654. package/src/duckdb/src/include/duckdb/parser/expression/between_expression.hpp +5 -5
  655. package/src/duckdb/src/include/duckdb/parser/expression/bound_expression.hpp +1 -4
  656. package/src/duckdb/src/include/duckdb/parser/expression/case_expression.hpp +4 -6
  657. package/src/duckdb/src/include/duckdb/parser/expression/cast_expression.hpp +5 -4
  658. package/src/duckdb/src/include/duckdb/parser/expression/collate_expression.hpp +5 -4
  659. package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +5 -4
  660. package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +5 -4
  661. package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +2 -4
  662. package/src/duckdb/src/include/duckdb/parser/expression/constant_expression.hpp +4 -4
  663. package/src/duckdb/src/include/duckdb/parser/expression/default_expression.hpp +2 -3
  664. package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +5 -4
  665. package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +5 -4
  666. package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +22 -7
  667. package/src/duckdb/src/include/duckdb/parser/expression/parameter_expression.hpp +19 -5
  668. package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +5 -4
  669. package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +2 -4
  670. package/src/duckdb/src/include/duckdb/parser/expression/subquery_expression.hpp +2 -4
  671. package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +5 -4
  672. package/src/duckdb/src/include/duckdb/parser/group_by_node.hpp +11 -0
  673. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_info.hpp +12 -4
  674. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_scalar_function_info.hpp +0 -2
  675. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_function_info.hpp +0 -2
  676. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +66 -29
  677. package/src/duckdb/src/include/duckdb/parser/parsed_data/attach_info.hpp +6 -2
  678. package/src/duckdb/src/include/duckdb/parser/parsed_data/copy_info.hpp +8 -1
  679. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_collation_info.hpp +0 -3
  680. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_copy_function_info.hpp +0 -3
  681. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_function_info.hpp +0 -5
  682. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +7 -4
  683. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_info.hpp +7 -12
  684. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_macro_info.hpp +2 -5
  685. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_schema_info.hpp +2 -9
  686. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_sequence_info.hpp +2 -4
  687. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_table_info.hpp +3 -5
  688. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_type_info.hpp +2 -4
  689. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_view_info.hpp +2 -4
  690. package/src/duckdb/src/include/duckdb/parser/parsed_data/detach_info.hpp +6 -1
  691. package/src/duckdb/src/include/duckdb/parser/parsed_data/drop_info.hpp +6 -2
  692. package/src/duckdb/src/include/duckdb/parser/parsed_data/exported_table_data.hpp +7 -0
  693. package/src/duckdb/src/include/duckdb/parser/parsed_data/load_info.hpp +14 -19
  694. package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +22 -0
  695. package/src/duckdb/src/include/duckdb/parser/parsed_data/pragma_info.hpp +10 -0
  696. package/src/duckdb/src/include/duckdb/parser/parsed_data/sample_options.hpp +2 -4
  697. package/src/duckdb/src/include/duckdb/parser/parsed_data/show_select_info.hpp +7 -0
  698. package/src/duckdb/src/include/duckdb/parser/parsed_data/transaction_info.hpp +8 -1
  699. package/src/duckdb/src/include/duckdb/parser/parsed_data/vacuum_info.hpp +9 -1
  700. package/src/duckdb/src/include/duckdb/parser/parsed_expression.hpp +3 -16
  701. package/src/duckdb/src/include/duckdb/parser/parser.hpp +4 -0
  702. package/src/duckdb/src/include/duckdb/parser/query_node/cte_node.hpp +52 -0
  703. package/src/duckdb/src/include/duckdb/parser/query_node/list.hpp +1 -0
  704. package/src/duckdb/src/include/duckdb/parser/query_node/recursive_cte_node.hpp +2 -4
  705. package/src/duckdb/src/include/duckdb/parser/query_node/select_node.hpp +2 -4
  706. package/src/duckdb/src/include/duckdb/parser/query_node/set_operation_node.hpp +2 -4
  707. package/src/duckdb/src/include/duckdb/parser/query_node.hpp +9 -15
  708. package/src/duckdb/src/include/duckdb/parser/result_modifier.hpp +14 -32
  709. package/src/duckdb/src/include/duckdb/parser/statement/execute_statement.hpp +1 -1
  710. package/src/duckdb/src/include/duckdb/parser/statement/select_statement.hpp +4 -9
  711. package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +2 -6
  712. package/src/duckdb/src/include/duckdb/parser/tableref/emptytableref.hpp +2 -5
  713. package/src/duckdb/src/include/duckdb/parser/tableref/expressionlistref.hpp +2 -6
  714. package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +3 -7
  715. package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +6 -14
  716. package/src/duckdb/src/include/duckdb/parser/tableref/subqueryref.hpp +5 -6
  717. package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +2 -6
  718. package/src/duckdb/src/include/duckdb/parser/tableref.hpp +2 -10
  719. package/src/duckdb/src/include/duckdb/parser/tokens.hpp +1 -0
  720. package/src/duckdb/src/include/duckdb/parser/transformer.hpp +24 -26
  721. package/src/duckdb/src/include/duckdb/planner/binder.hpp +16 -5
  722. package/src/duckdb/src/include/duckdb/planner/bound_constraint.hpp +0 -9
  723. package/src/duckdb/src/include/duckdb/planner/bound_parameter_map.hpp +30 -2
  724. package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +2 -2
  725. package/src/duckdb/src/include/duckdb/planner/bound_tokens.hpp +1 -0
  726. package/src/duckdb/src/include/duckdb/planner/column_binding.hpp +9 -0
  727. package/src/duckdb/src/include/duckdb/planner/constraints/bound_unique_constraint.hpp +3 -3
  728. package/src/duckdb/src/include/duckdb/planner/expression/bound_aggregate_expression.hpp +3 -2
  729. package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +6 -2
  730. package/src/duckdb/src/include/duckdb/planner/expression/bound_case_expression.hpp +3 -3
  731. package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +5 -2
  732. package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +2 -5
  733. package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +3 -2
  734. package/src/duckdb/src/include/duckdb/planner/expression/bound_conjunction_expression.hpp +2 -2
  735. package/src/duckdb/src/include/duckdb/planner/expression/bound_constant_expression.hpp +2 -2
  736. package/src/duckdb/src/include/duckdb/planner/expression/bound_default_expression.hpp +2 -2
  737. package/src/duckdb/src/include/duckdb/planner/expression/bound_function_expression.hpp +3 -2
  738. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +2 -2
  739. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +2 -5
  740. package/src/duckdb/src/include/duckdb/planner/expression/bound_operator_expression.hpp +2 -2
  741. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_data.hpp +12 -29
  742. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_expression.hpp +9 -5
  743. package/src/duckdb/src/include/duckdb/planner/expression/bound_reference_expression.hpp +2 -2
  744. package/src/duckdb/src/include/duckdb/planner/expression/bound_subquery_expression.hpp +0 -3
  745. package/src/duckdb/src/include/duckdb/planner/expression/bound_unnest_expression.hpp +2 -2
  746. package/src/duckdb/src/include/duckdb/planner/expression/bound_window_expression.hpp +2 -2
  747. package/src/duckdb/src/include/duckdb/planner/expression/list.hpp +1 -0
  748. package/src/duckdb/src/include/duckdb/planner/expression.hpp +2 -11
  749. package/src/duckdb/src/include/duckdb/planner/expression_binder/base_select_binder.hpp +1 -0
  750. package/src/duckdb/src/include/duckdb/planner/expression_binder/lateral_binder.hpp +0 -2
  751. package/src/duckdb/src/include/duckdb/planner/expression_binder.hpp +13 -1
  752. package/src/duckdb/src/include/duckdb/planner/extension_callback.hpp +26 -0
  753. package/src/duckdb/src/include/duckdb/planner/filter/conjunction_filter.hpp +4 -4
  754. package/src/duckdb/src/include/duckdb/planner/filter/constant_filter.hpp +2 -2
  755. package/src/duckdb/src/include/duckdb/planner/filter/null_filter.hpp +4 -4
  756. package/src/duckdb/src/include/duckdb/planner/joinside.hpp +1 -3
  757. package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +2 -16
  758. package/src/duckdb/src/include/duckdb/planner/logical_tokens.hpp +1 -2
  759. package/src/duckdb/src/include/duckdb/planner/operator/list.hpp +3 -3
  760. package/src/duckdb/src/include/duckdb/planner/operator/logical_aggregate.hpp +3 -2
  761. package/src/duckdb/src/include/duckdb/planner/operator/logical_any_join.hpp +3 -2
  762. package/src/duckdb/src/include/duckdb/planner/operator/logical_column_data_get.hpp +3 -2
  763. package/src/duckdb/src/include/duckdb/planner/operator/logical_comparison_join.hpp +12 -11
  764. package/src/duckdb/src/include/duckdb/planner/operator/logical_copy_to_file.hpp +2 -2
  765. package/src/duckdb/src/include/duckdb/planner/operator/logical_create.hpp +8 -8
  766. package/src/duckdb/src/include/duckdb/planner/operator/logical_create_index.hpp +11 -25
  767. package/src/duckdb/src/include/duckdb/planner/operator/logical_create_table.hpp +8 -8
  768. package/src/duckdb/src/include/duckdb/planner/operator/logical_cross_product.hpp +2 -2
  769. package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +9 -4
  770. package/src/duckdb/src/include/duckdb/planner/operator/logical_delete.hpp +6 -2
  771. package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +3 -2
  772. package/src/duckdb/src/include/duckdb/planner/operator/logical_dependent_join.hpp +42 -0
  773. package/src/duckdb/src/include/duckdb/planner/operator/logical_distinct.hpp +6 -12
  774. package/src/duckdb/src/include/duckdb/planner/operator/logical_dummy_scan.hpp +2 -2
  775. package/src/duckdb/src/include/duckdb/planner/operator/logical_empty_result.hpp +2 -2
  776. package/src/duckdb/src/include/duckdb/planner/operator/logical_execute.hpp +0 -2
  777. package/src/duckdb/src/include/duckdb/planner/operator/logical_explain.hpp +3 -2
  778. package/src/duckdb/src/include/duckdb/planner/operator/logical_export.hpp +0 -3
  779. package/src/duckdb/src/include/duckdb/planner/operator/logical_expression_get.hpp +3 -2
  780. package/src/duckdb/src/include/duckdb/planner/operator/logical_extension_operator.hpp +7 -1
  781. package/src/duckdb/src/include/duckdb/planner/operator/logical_filter.hpp +3 -2
  782. package/src/duckdb/src/include/duckdb/planner/operator/logical_get.hpp +11 -3
  783. package/src/duckdb/src/include/duckdb/planner/operator/logical_insert.hpp +5 -2
  784. package/src/duckdb/src/include/duckdb/planner/operator/logical_join.hpp +1 -3
  785. package/src/duckdb/src/include/duckdb/planner/operator/logical_limit.hpp +2 -2
  786. package/src/duckdb/src/include/duckdb/planner/operator/logical_limit_percent.hpp +2 -2
  787. package/src/duckdb/src/include/duckdb/planner/operator/logical_materialized_cte.hpp +50 -0
  788. package/src/duckdb/src/include/duckdb/planner/operator/logical_order.hpp +6 -37
  789. package/src/duckdb/src/include/duckdb/planner/operator/logical_pivot.hpp +6 -2
  790. package/src/duckdb/src/include/duckdb/planner/operator/logical_positional_join.hpp +2 -2
  791. package/src/duckdb/src/include/duckdb/planner/operator/logical_pragma.hpp +0 -2
  792. package/src/duckdb/src/include/duckdb/planner/operator/logical_prepare.hpp +0 -2
  793. package/src/duckdb/src/include/duckdb/planner/operator/logical_projection.hpp +3 -2
  794. package/src/duckdb/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +10 -9
  795. package/src/duckdb/src/include/duckdb/planner/operator/logical_reset.hpp +3 -2
  796. package/src/duckdb/src/include/duckdb/planner/operator/logical_sample.hpp +5 -2
  797. package/src/duckdb/src/include/duckdb/planner/operator/logical_set.hpp +3 -2
  798. package/src/duckdb/src/include/duckdb/planner/operator/logical_set_operation.hpp +3 -2
  799. package/src/duckdb/src/include/duckdb/planner/operator/logical_show.hpp +2 -2
  800. package/src/duckdb/src/include/duckdb/planner/operator/logical_simple.hpp +2 -2
  801. package/src/duckdb/src/include/duckdb/planner/operator/logical_top_n.hpp +4 -2
  802. package/src/duckdb/src/include/duckdb/planner/operator/logical_unnest.hpp +2 -2
  803. package/src/duckdb/src/include/duckdb/planner/operator/logical_update.hpp +6 -2
  804. package/src/duckdb/src/include/duckdb/planner/operator/logical_window.hpp +3 -2
  805. package/src/duckdb/src/include/duckdb/planner/operator_extension.hpp +1 -2
  806. package/src/duckdb/src/include/duckdb/planner/parsed_data/bound_create_table_info.hpp +0 -5
  807. package/src/duckdb/src/include/duckdb/planner/planner.hpp +5 -4
  808. package/src/duckdb/src/include/duckdb/planner/query_node/bound_cte_node.hpp +44 -0
  809. package/src/duckdb/src/include/duckdb/planner/query_node/list.hpp +1 -0
  810. package/src/duckdb/src/include/duckdb/planner/subquery/flatten_dependent_join.hpp +2 -2
  811. package/src/duckdb/src/include/duckdb/planner/subquery/has_correlated_expressions.hpp +4 -1
  812. package/src/duckdb/src/include/duckdb/planner/subquery/recursive_dependent_join_planner.hpp +31 -0
  813. package/src/duckdb/src/include/duckdb/planner/subquery/rewrite_correlated_expressions.hpp +8 -2
  814. package/src/duckdb/src/include/duckdb/planner/table_filter.hpp +4 -7
  815. package/src/duckdb/src/include/duckdb/planner/tableref/bound_cteref.hpp +5 -2
  816. package/src/duckdb/src/include/duckdb/planner/tableref/bound_pivotref.hpp +3 -0
  817. package/src/duckdb/src/include/duckdb/storage/arena_allocator.hpp +2 -1
  818. package/src/duckdb/src/include/duckdb/storage/block.hpp +36 -4
  819. package/src/duckdb/src/include/duckdb/storage/block_manager.hpp +11 -11
  820. package/src/duckdb/src/include/duckdb/storage/buffer/block_handle.hpp +3 -0
  821. package/src/duckdb/src/include/duckdb/storage/checkpoint/row_group_writer.hpp +8 -7
  822. package/src/duckdb/src/include/duckdb/storage/checkpoint/string_checkpoint_state.hpp +27 -4
  823. package/src/duckdb/src/include/duckdb/storage/checkpoint/table_data_reader.hpp +2 -2
  824. package/src/duckdb/src/include/duckdb/storage/checkpoint/table_data_writer.hpp +7 -7
  825. package/src/duckdb/src/include/duckdb/storage/checkpoint/write_overflow_strings_to_disk.hpp +4 -2
  826. package/src/duckdb/src/include/duckdb/storage/checkpoint_manager.hpp +29 -24
  827. package/src/duckdb/src/include/duckdb/storage/compression/bitpacking.hpp +1 -8
  828. package/src/duckdb/src/include/duckdb/storage/data_pointer.hpp +31 -4
  829. package/src/duckdb/src/include/duckdb/storage/data_table.hpp +4 -4
  830. package/src/duckdb/src/include/duckdb/storage/database_size.hpp +6 -0
  831. package/src/duckdb/src/include/duckdb/storage/in_memory_block_manager.hpp +2 -2
  832. package/src/duckdb/src/include/duckdb/storage/index.hpp +12 -10
  833. package/src/duckdb/src/include/duckdb/storage/metadata/metadata_manager.hpp +91 -0
  834. package/src/duckdb/src/include/duckdb/storage/metadata/metadata_reader.hpp +57 -0
  835. package/src/duckdb/src/include/duckdb/storage/metadata/metadata_writer.hpp +52 -0
  836. package/src/duckdb/src/include/duckdb/storage/object_cache.hpp +22 -0
  837. package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +37 -21
  838. package/src/duckdb/src/include/duckdb/storage/single_file_block_manager.hpp +8 -5
  839. package/src/duckdb/src/include/duckdb/storage/statistics/base_statistics.hpp +3 -8
  840. package/src/duckdb/src/include/duckdb/storage/statistics/column_statistics.hpp +3 -1
  841. package/src/duckdb/src/include/duckdb/storage/statistics/distinct_statistics.hpp +4 -7
  842. package/src/duckdb/src/include/duckdb/storage/statistics/list_stats.hpp +2 -4
  843. package/src/duckdb/src/include/duckdb/storage/statistics/node_statistics.hpp +0 -26
  844. package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats.hpp +2 -4
  845. package/src/duckdb/src/include/duckdb/storage/statistics/string_stats.hpp +6 -4
  846. package/src/duckdb/src/include/duckdb/storage/statistics/struct_stats.hpp +2 -4
  847. package/src/duckdb/src/include/duckdb/storage/storage_info.hpp +25 -8
  848. package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +4 -2
  849. package/src/duckdb/src/include/duckdb/storage/string_uncompressed.hpp +6 -1
  850. package/src/duckdb/src/include/duckdb/storage/table/chunk_info.hpp +28 -16
  851. package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +5 -20
  852. package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +3 -3
  853. package/src/duckdb/src/include/duckdb/storage/table/column_segment.hpp +7 -3
  854. package/src/duckdb/src/include/duckdb/storage/table/list_column_data.hpp +1 -1
  855. package/src/duckdb/src/include/duckdb/storage/table/persistent_table_data.hpp +2 -2
  856. package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +21 -21
  857. package/src/duckdb/src/include/duckdb/storage/table/row_group_collection.hpp +4 -4
  858. package/src/duckdb/src/include/duckdb/storage/table/row_group_segment_tree.hpp +2 -2
  859. package/src/duckdb/src/include/duckdb/storage/table/row_version_manager.hpp +59 -0
  860. package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +2 -2
  861. package/src/duckdb/src/include/duckdb/storage/table/table_index_list.hpp +1 -1
  862. package/src/duckdb/src/include/duckdb/storage/table/table_statistics.hpp +4 -2
  863. package/src/duckdb/src/include/duckdb/storage/table/update_segment.hpp +1 -1
  864. package/src/duckdb/src/include/duckdb/storage/table_io_manager.hpp +3 -0
  865. package/src/duckdb/src/include/duckdb/storage/table_storage_info.hpp +1 -0
  866. package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +29 -32
  867. package/src/duckdb/src/include/duckdb/transaction/commit_state.hpp +1 -6
  868. package/src/duckdb/src/include/duckdb/transaction/delete_info.hpp +3 -2
  869. package/src/duckdb/src/include/duckdb/transaction/duck_transaction.hpp +4 -2
  870. package/src/duckdb/src/include/duckdb/transaction/local_storage.hpp +3 -4
  871. package/src/duckdb/src/include/duckdb/transaction/undo_buffer.hpp +0 -1
  872. package/src/duckdb/src/include/duckdb/verification/prepared_statement_verifier.hpp +1 -1
  873. package/src/duckdb/src/include/duckdb/verification/statement_verifier.hpp +0 -1
  874. package/src/duckdb/src/include/duckdb.h +101 -4
  875. package/src/duckdb/src/main/appender.cpp +3 -1
  876. package/src/duckdb/src/main/attached_database.cpp +2 -2
  877. package/src/duckdb/src/main/capi/arrow-c.cpp +196 -8
  878. package/src/duckdb/src/main/capi/duckdb-c.cpp +16 -0
  879. package/src/duckdb/src/main/capi/duckdb_value-c.cpp +1 -1
  880. package/src/duckdb/src/main/capi/logical_types-c.cpp +22 -0
  881. package/src/duckdb/src/main/capi/pending-c.cpp +23 -0
  882. package/src/duckdb/src/main/capi/prepared-c.cpp +114 -30
  883. package/src/duckdb/src/main/capi/result-c.cpp +3 -1
  884. package/src/duckdb/src/main/chunk_scan_state/query_result.cpp +53 -0
  885. package/src/duckdb/src/main/chunk_scan_state.cpp +48 -0
  886. package/src/duckdb/src/main/client_context.cpp +42 -25
  887. package/src/duckdb/src/main/client_context_file_opener.cpp +17 -0
  888. package/src/duckdb/src/main/client_verify.cpp +17 -1
  889. package/src/duckdb/src/main/config.cpp +10 -4
  890. package/src/duckdb/src/main/connection.cpp +5 -7
  891. package/src/duckdb/src/main/database.cpp +9 -12
  892. package/src/duckdb/src/main/db_instance_cache.cpp +14 -6
  893. package/src/duckdb/src/main/extension/extension_helper.cpp +195 -87
  894. package/src/duckdb/src/main/extension/extension_install.cpp +79 -15
  895. package/src/duckdb/src/main/extension/extension_load.cpp +63 -14
  896. package/src/duckdb/src/main/extension/extension_util.cpp +72 -0
  897. package/src/duckdb/src/main/pending_query_result.cpp +9 -1
  898. package/src/duckdb/src/main/prepared_statement.cpp +38 -11
  899. package/src/duckdb/src/main/prepared_statement_data.cpp +23 -18
  900. package/src/duckdb/src/main/query_result.cpp +16 -31
  901. package/src/duckdb/src/main/relation/aggregate_relation.cpp +20 -10
  902. package/src/duckdb/src/main/relation/cross_product_relation.cpp +4 -3
  903. package/src/duckdb/src/main/relation/join_relation.cpp +6 -6
  904. package/src/duckdb/src/main/relation/read_csv_relation.cpp +38 -13
  905. package/src/duckdb/src/main/relation/table_function_relation.cpp +8 -2
  906. package/src/duckdb/src/main/relation.cpp +35 -11
  907. package/src/duckdb/src/main/settings/settings.cpp +134 -43
  908. package/src/duckdb/src/optimizer/column_binding_replacer.cpp +43 -0
  909. package/src/duckdb/src/optimizer/column_lifetime_analyzer.cpp +11 -7
  910. package/src/duckdb/src/optimizer/compressed_materialization/compress_aggregate.cpp +140 -0
  911. package/src/duckdb/src/optimizer/compressed_materialization/compress_distinct.cpp +42 -0
  912. package/src/duckdb/src/optimizer/compressed_materialization/compress_order.cpp +65 -0
  913. package/src/duckdb/src/optimizer/compressed_materialization.cpp +477 -0
  914. package/src/duckdb/src/optimizer/deliminator.cpp +180 -323
  915. package/src/duckdb/src/optimizer/filter_pushdown.cpp +23 -6
  916. package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +79 -325
  917. package/src/duckdb/src/optimizer/join_order/cost_model.cpp +19 -0
  918. package/src/duckdb/src/optimizer/join_order/estimated_properties.cpp +7 -0
  919. package/src/duckdb/src/optimizer/join_order/join_node.cpp +5 -37
  920. package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +48 -1047
  921. package/src/duckdb/src/optimizer/join_order/join_relation_set.cpp +2 -6
  922. package/src/duckdb/src/optimizer/join_order/plan_enumerator.cpp +552 -0
  923. package/src/duckdb/src/optimizer/join_order/query_graph.cpp +52 -41
  924. package/src/duckdb/src/optimizer/join_order/query_graph_manager.cpp +409 -0
  925. package/src/duckdb/src/optimizer/join_order/relation_manager.cpp +356 -0
  926. package/src/duckdb/src/optimizer/join_order/relation_statistics_helper.cpp +351 -0
  927. package/src/duckdb/src/optimizer/optimizer.cpp +49 -14
  928. package/src/duckdb/src/optimizer/pushdown/pushdown_cross_product.cpp +5 -5
  929. package/src/duckdb/src/optimizer/pushdown/pushdown_get.cpp +0 -1
  930. package/src/duckdb/src/optimizer/pushdown/pushdown_projection.cpp +34 -7
  931. package/src/duckdb/src/optimizer/remove_duplicate_groups.cpp +127 -0
  932. package/src/duckdb/src/optimizer/remove_unused_columns.cpp +4 -0
  933. package/src/duckdb/src/optimizer/rule/date_part_simplification.cpp +0 -3
  934. package/src/duckdb/src/optimizer/rule/regex_optimizations.cpp +154 -15
  935. package/src/duckdb/src/optimizer/statistics/expression/propagate_cast.cpp +14 -0
  936. package/src/duckdb/src/optimizer/statistics/operator/propagate_join.cpp +65 -8
  937. package/src/duckdb/src/optimizer/statistics/operator/propagate_order.cpp +1 -1
  938. package/src/duckdb/src/optimizer/statistics/operator/propagate_projection.cpp +0 -1
  939. package/src/duckdb/src/optimizer/statistics_propagator.cpp +7 -5
  940. package/src/duckdb/src/optimizer/topn_optimizer.cpp +27 -10
  941. package/src/duckdb/src/optimizer/unnest_rewriter.cpp +3 -5
  942. package/src/duckdb/src/parallel/executor.cpp +25 -1
  943. package/src/duckdb/src/parallel/pipeline.cpp +0 -17
  944. package/src/duckdb/src/parallel/pipeline_executor.cpp +27 -7
  945. package/src/duckdb/src/parallel/pipeline_finish_event.cpp +55 -1
  946. package/src/duckdb/src/parallel/task_scheduler.cpp +18 -2
  947. package/src/duckdb/src/parser/column_definition.cpp +18 -55
  948. package/src/duckdb/src/parser/column_list.cpp +8 -13
  949. package/src/duckdb/src/parser/constraint.cpp +0 -33
  950. package/src/duckdb/src/parser/constraints/check_constraint.cpp +0 -11
  951. package/src/duckdb/src/parser/constraints/foreign_key_constraint.cpp +3 -27
  952. package/src/duckdb/src/parser/constraints/not_null_constraint.cpp +0 -11
  953. package/src/duckdb/src/parser/constraints/unique_constraint.cpp +3 -24
  954. package/src/duckdb/src/parser/expression/between_expression.cpp +5 -31
  955. package/src/duckdb/src/parser/expression/case_expression.cpp +2 -54
  956. package/src/duckdb/src/parser/expression/cast_expression.cpp +5 -30
  957. package/src/duckdb/src/parser/expression/collate_expression.cpp +5 -27
  958. package/src/duckdb/src/parser/expression/columnref_expression.cpp +5 -25
  959. package/src/duckdb/src/parser/expression/comparison_expression.cpp +5 -27
  960. package/src/duckdb/src/parser/expression/conjunction_expression.cpp +2 -25
  961. package/src/duckdb/src/parser/expression/constant_expression.cpp +5 -23
  962. package/src/duckdb/src/parser/expression/default_expression.cpp +2 -13
  963. package/src/duckdb/src/parser/expression/function_expression.cpp +5 -64
  964. package/src/duckdb/src/parser/expression/lambda_expression.cpp +6 -28
  965. package/src/duckdb/src/parser/expression/operator_expression.cpp +2 -25
  966. package/src/duckdb/src/parser/expression/parameter_expression.cpp +7 -30
  967. package/src/duckdb/src/parser/expression/positional_reference_expression.cpp +6 -23
  968. package/src/duckdb/src/parser/expression/star_expression.cpp +2 -62
  969. package/src/duckdb/src/parser/expression/subquery_expression.cpp +2 -46
  970. package/src/duckdb/src/parser/expression/window_expression.cpp +5 -92
  971. package/src/duckdb/src/parser/keyword_helper.cpp +1 -1
  972. package/src/duckdb/src/parser/parsed_data/alter_info.cpp +4 -36
  973. package/src/duckdb/src/parser/parsed_data/alter_scalar_function_info.cpp +0 -18
  974. package/src/duckdb/src/parser/parsed_data/alter_table_function_info.cpp +0 -13
  975. package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +38 -188
  976. package/src/duckdb/src/parser/parsed_data/attach_info.cpp +0 -29
  977. package/src/duckdb/src/parser/parsed_data/create_collation_info.cpp +0 -4
  978. package/src/duckdb/src/parser/parsed_data/create_copy_function_info.cpp +0 -4
  979. package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +2 -34
  980. package/src/duckdb/src/parser/parsed_data/create_info.cpp +0 -47
  981. package/src/duckdb/src/parser/parsed_data/create_macro_info.cpp +1 -28
  982. package/src/duckdb/src/parser/parsed_data/create_sequence_info.cpp +0 -29
  983. package/src/duckdb/src/parser/parsed_data/create_table_info.cpp +0 -23
  984. package/src/duckdb/src/parser/parsed_data/create_type_info.cpp +0 -22
  985. package/src/duckdb/src/parser/parsed_data/create_view_info.cpp +0 -23
  986. package/src/duckdb/src/parser/parsed_data/detach_info.cpp +1 -20
  987. package/src/duckdb/src/parser/parsed_data/drop_info.cpp +1 -27
  988. package/src/duckdb/src/parser/parsed_data/sample_options.cpp +2 -43
  989. package/src/duckdb/src/parser/parsed_data/transaction_info.cpp +2 -15
  990. package/src/duckdb/src/parser/parsed_data/vacuum_info.cpp +1 -21
  991. package/src/duckdb/src/parser/parsed_expression.cpp +2 -149
  992. package/src/duckdb/src/parser/parsed_expression_iterator.cpp +7 -0
  993. package/src/duckdb/src/parser/parser.cpp +62 -36
  994. package/src/duckdb/src/parser/query_node/cte_node.cpp +41 -0
  995. package/src/duckdb/src/parser/query_node/recursive_cte_node.cpp +2 -40
  996. package/src/duckdb/src/parser/query_node/select_node.cpp +2 -76
  997. package/src/duckdb/src/parser/query_node/set_operation_node.cpp +2 -32
  998. package/src/duckdb/src/parser/query_node.cpp +12 -104
  999. package/src/duckdb/src/parser/result_modifier.cpp +2 -183
  1000. package/src/duckdb/src/parser/statement/execute_statement.cpp +2 -2
  1001. package/src/duckdb/src/parser/statement/select_statement.cpp +2 -23
  1002. package/src/duckdb/src/parser/tableref/basetableref.cpp +2 -40
  1003. package/src/duckdb/src/parser/tableref/emptytableref.cpp +0 -13
  1004. package/src/duckdb/src/parser/tableref/expressionlistref.cpp +2 -43
  1005. package/src/duckdb/src/parser/tableref/joinref.cpp +5 -46
  1006. package/src/duckdb/src/parser/tableref/pivotref.cpp +0 -116
  1007. package/src/duckdb/src/parser/tableref/subqueryref.cpp +5 -28
  1008. package/src/duckdb/src/parser/tableref/table_function.cpp +2 -32
  1009. package/src/duckdb/src/parser/tableref.cpp +2 -96
  1010. package/src/duckdb/src/parser/transform/constraint/transform_constraint.cpp +55 -38
  1011. package/src/duckdb/src/parser/transform/expression/transform_array_access.cpp +13 -4
  1012. package/src/duckdb/src/parser/transform/expression/transform_constant.cpp +55 -3
  1013. package/src/duckdb/src/parser/transform/expression/transform_expression.cpp +2 -0
  1014. package/src/duckdb/src/parser/transform/expression/transform_function.cpp +3 -0
  1015. package/src/duckdb/src/parser/transform/expression/transform_multi_assign_reference.cpp +44 -0
  1016. package/src/duckdb/src/parser/transform/expression/transform_param_ref.cpp +45 -26
  1017. package/src/duckdb/src/parser/transform/helpers/transform_cte.cpp +19 -1
  1018. package/src/duckdb/src/parser/transform/helpers/transform_typename.cpp +16 -1
  1019. package/src/duckdb/src/parser/transform/statement/transform_copy.cpp +13 -0
  1020. package/src/duckdb/src/parser/transform/statement/transform_create_index.cpp +32 -17
  1021. package/src/duckdb/src/parser/transform/statement/transform_create_type.cpp +1 -1
  1022. package/src/duckdb/src/parser/transform/statement/transform_delete.cpp +6 -1
  1023. package/src/duckdb/src/parser/transform/statement/transform_insert.cpp +6 -1
  1024. package/src/duckdb/src/parser/transform/statement/transform_load.cpp +1 -0
  1025. package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +7 -2
  1026. package/src/duckdb/src/parser/transform/statement/transform_pragma.cpp +14 -11
  1027. package/src/duckdb/src/parser/transform/statement/transform_prepare.cpp +28 -6
  1028. package/src/duckdb/src/parser/transform/statement/transform_select_node.cpp +11 -2
  1029. package/src/duckdb/src/parser/transform/statement/transform_update.cpp +6 -1
  1030. package/src/duckdb/src/parser/transformer.cpp +44 -25
  1031. package/src/duckdb/src/planner/binder/expression/bind_aggregate_expression.cpp +1 -4
  1032. package/src/duckdb/src/planner/binder/expression/bind_comparison_expression.cpp +1 -0
  1033. package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +14 -5
  1034. package/src/duckdb/src/planner/binder/expression/bind_macro_expression.cpp +5 -3
  1035. package/src/duckdb/src/planner/binder/expression/bind_parameter_expression.cpp +12 -22
  1036. package/src/duckdb/src/planner/binder/expression/bind_subquery_expression.cpp +1 -4
  1037. package/src/duckdb/src/planner/binder/query_node/bind_cte_node.cpp +64 -0
  1038. package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +28 -6
  1039. package/src/duckdb/src/planner/binder/query_node/plan_cte_node.cpp +26 -0
  1040. package/src/duckdb/src/planner/binder/query_node/plan_recursive_cte_node.cpp +5 -5
  1041. package/src/duckdb/src/planner/binder/query_node/plan_setop.cpp +4 -4
  1042. package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +36 -33
  1043. package/src/duckdb/src/planner/binder/statement/bind_copy.cpp +1 -1
  1044. package/src/duckdb/src/planner/binder/statement/bind_create.cpp +14 -52
  1045. package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +0 -23
  1046. package/src/duckdb/src/planner/binder/statement/bind_drop.cpp +3 -0
  1047. package/src/duckdb/src/planner/binder/statement/bind_execute.cpp +13 -7
  1048. package/src/duckdb/src/planner/binder/statement/bind_export.cpp +168 -30
  1049. package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +93 -28
  1050. package/src/duckdb/src/planner/binder/tableref/bind_joinref.cpp +32 -5
  1051. package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +116 -50
  1052. package/src/duckdb/src/planner/binder/tableref/plan_cteref.cpp +1 -1
  1053. package/src/duckdb/src/planner/binder/tableref/plan_joinref.cpp +79 -35
  1054. package/src/duckdb/src/planner/binder/tableref/plan_subqueryref.cpp +3 -3
  1055. package/src/duckdb/src/planner/binder.cpp +49 -32
  1056. package/src/duckdb/src/planner/bound_parameter_map.cpp +67 -0
  1057. package/src/duckdb/src/planner/bound_result_modifier.cpp +0 -33
  1058. package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +20 -21
  1059. package/src/duckdb/src/planner/expression/bound_between_expression.cpp +4 -19
  1060. package/src/duckdb/src/planner/expression/bound_case_expression.cpp +0 -36
  1061. package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +13 -23
  1062. package/src/duckdb/src/planner/expression/bound_columnref_expression.cpp +0 -20
  1063. package/src/duckdb/src/planner/expression/bound_comparison_expression.cpp +0 -13
  1064. package/src/duckdb/src/planner/expression/bound_conjunction_expression.cpp +0 -13
  1065. package/src/duckdb/src/planner/expression/bound_constant_expression.cpp +0 -11
  1066. package/src/duckdb/src/planner/expression/bound_expression.cpp +1 -5
  1067. package/src/duckdb/src/planner/expression/bound_function_expression.cpp +18 -16
  1068. package/src/duckdb/src/planner/expression/bound_lambda_expression.cpp +0 -4
  1069. package/src/duckdb/src/planner/expression/bound_lambdaref_expression.cpp +0 -23
  1070. package/src/duckdb/src/planner/expression/bound_operator_expression.cpp +0 -16
  1071. package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +23 -33
  1072. package/src/duckdb/src/planner/expression/bound_reference_expression.cpp +0 -16
  1073. package/src/duckdb/src/planner/expression/bound_subquery_expression.cpp +0 -4
  1074. package/src/duckdb/src/planner/expression/bound_unnest_expression.cpp +0 -15
  1075. package/src/duckdb/src/planner/expression/bound_window_expression.cpp +41 -50
  1076. package/src/duckdb/src/planner/expression.cpp +0 -74
  1077. package/src/duckdb/src/planner/expression_binder/base_select_binder.cpp +14 -6
  1078. package/src/duckdb/src/planner/expression_binder/lateral_binder.cpp +4 -31
  1079. package/src/duckdb/src/planner/expression_binder/order_binder.cpp +5 -4
  1080. package/src/duckdb/src/planner/expression_binder.cpp +23 -0
  1081. package/src/duckdb/src/planner/expression_iterator.cpp +6 -0
  1082. package/src/duckdb/src/planner/filter/conjunction_filter.cpp +0 -21
  1083. package/src/duckdb/src/planner/filter/constant_filter.cpp +0 -12
  1084. package/src/duckdb/src/planner/filter/null_filter.cpp +0 -14
  1085. package/src/duckdb/src/planner/joinside.cpp +0 -24
  1086. package/src/duckdb/src/planner/logical_operator.cpp +18 -206
  1087. package/src/duckdb/src/planner/logical_operator_visitor.cpp +5 -6
  1088. package/src/duckdb/src/planner/operator/logical_aggregate.cpp +0 -46
  1089. package/src/duckdb/src/planner/operator/logical_any_join.cpp +0 -14
  1090. package/src/duckdb/src/planner/operator/logical_column_data_get.cpp +0 -23
  1091. package/src/duckdb/src/planner/operator/logical_comparison_join.cpp +0 -21
  1092. package/src/duckdb/src/planner/operator/logical_copy_to_file.cpp +4 -50
  1093. package/src/duckdb/src/planner/operator/logical_create.cpp +10 -8
  1094. package/src/duckdb/src/planner/operator/logical_create_index.cpp +30 -26
  1095. package/src/duckdb/src/planner/operator/logical_create_table.cpp +12 -6
  1096. package/src/duckdb/src/planner/operator/logical_cross_product.cpp +0 -9
  1097. package/src/duckdb/src/planner/operator/logical_cteref.cpp +0 -16
  1098. package/src/duckdb/src/planner/operator/logical_delete.cpp +4 -18
  1099. package/src/duckdb/src/planner/operator/logical_delim_get.cpp +0 -12
  1100. package/src/duckdb/src/planner/operator/logical_dependent_join.cpp +22 -0
  1101. package/src/duckdb/src/planner/operator/logical_distinct.cpp +10 -13
  1102. package/src/duckdb/src/planner/operator/logical_dummy_scan.cpp +0 -10
  1103. package/src/duckdb/src/planner/operator/logical_empty_result.cpp +0 -15
  1104. package/src/duckdb/src/planner/operator/logical_expression_get.cpp +0 -24
  1105. package/src/duckdb/src/planner/operator/logical_extension_operator.cpp +32 -6
  1106. package/src/duckdb/src/planner/operator/logical_filter.cpp +0 -15
  1107. package/src/duckdb/src/planner/operator/logical_get.cpp +63 -70
  1108. package/src/duckdb/src/planner/operator/logical_insert.cpp +4 -74
  1109. package/src/duckdb/src/planner/operator/logical_join.cpp +0 -17
  1110. package/src/duckdb/src/planner/operator/logical_limit.cpp +0 -16
  1111. package/src/duckdb/src/planner/operator/logical_limit_percent.cpp +0 -16
  1112. package/src/duckdb/src/planner/operator/logical_materialized_cte.cpp +9 -0
  1113. package/src/duckdb/src/planner/operator/logical_order.cpp +35 -11
  1114. package/src/duckdb/src/planner/operator/logical_pivot.cpp +3 -20
  1115. package/src/duckdb/src/planner/operator/logical_positional_join.cpp +0 -10
  1116. package/src/duckdb/src/planner/operator/logical_pragma.cpp +0 -8
  1117. package/src/duckdb/src/planner/operator/logical_prepare.cpp +0 -8
  1118. package/src/duckdb/src/planner/operator/logical_projection.cpp +0 -12
  1119. package/src/duckdb/src/planner/operator/logical_recursive_cte.cpp +0 -15
  1120. package/src/duckdb/src/planner/operator/logical_reset.cpp +0 -12
  1121. package/src/duckdb/src/planner/operator/logical_sample.cpp +3 -11
  1122. package/src/duckdb/src/planner/operator/logical_set.cpp +0 -14
  1123. package/src/duckdb/src/planner/operator/logical_set_operation.cpp +0 -13
  1124. package/src/duckdb/src/planner/operator/logical_simple.cpp +0 -60
  1125. package/src/duckdb/src/planner/operator/logical_top_n.cpp +0 -14
  1126. package/src/duckdb/src/planner/operator/logical_unnest.cpp +0 -14
  1127. package/src/duckdb/src/planner/operator/logical_update.cpp +4 -25
  1128. package/src/duckdb/src/planner/operator/logical_window.cpp +0 -13
  1129. package/src/duckdb/src/planner/planner.cpp +26 -24
  1130. package/src/duckdb/src/planner/subquery/flatten_dependent_join.cpp +90 -38
  1131. package/src/duckdb/src/planner/subquery/has_correlated_expressions.cpp +22 -7
  1132. package/src/duckdb/src/planner/subquery/rewrite_correlated_expressions.cpp +65 -7
  1133. package/src/duckdb/src/planner/table_filter.cpp +0 -59
  1134. package/src/duckdb/src/storage/arena_allocator.cpp +13 -2
  1135. package/src/duckdb/src/storage/buffer/block_manager.cpp +13 -9
  1136. package/src/duckdb/src/storage/checkpoint/row_group_writer.cpp +5 -18
  1137. package/src/duckdb/src/storage/checkpoint/table_data_reader.cpp +10 -8
  1138. package/src/duckdb/src/storage/checkpoint/table_data_writer.cpp +25 -25
  1139. package/src/duckdb/src/storage/checkpoint/write_overflow_strings_to_disk.cpp +53 -26
  1140. package/src/duckdb/src/storage/checkpoint_manager.cpp +314 -267
  1141. package/src/duckdb/src/storage/compression/bitpacking.cpp +138 -107
  1142. package/src/duckdb/src/storage/compression/bitpacking_hugeint.cpp +295 -0
  1143. package/src/duckdb/src/storage/compression/fixed_size_uncompressed.cpp +6 -1
  1144. package/src/duckdb/src/storage/compression/fsst.cpp +1 -1
  1145. package/src/duckdb/src/storage/compression/rle.cpp +66 -16
  1146. package/src/duckdb/src/storage/compression/string_uncompressed.cpp +84 -51
  1147. package/src/duckdb/src/storage/compression/validity_uncompressed.cpp +4 -4
  1148. package/src/duckdb/src/storage/data_pointer.cpp +20 -0
  1149. package/src/duckdb/src/storage/data_table.cpp +60 -39
  1150. package/src/duckdb/src/storage/index.cpp +11 -27
  1151. package/src/duckdb/src/storage/local_storage.cpp +17 -16
  1152. package/src/duckdb/src/storage/metadata/metadata_manager.cpp +322 -0
  1153. package/src/duckdb/src/storage/metadata/metadata_reader.cpp +89 -0
  1154. package/src/duckdb/src/storage/metadata/metadata_writer.cpp +92 -0
  1155. package/src/duckdb/src/storage/partial_block_manager.cpp +42 -15
  1156. package/src/duckdb/src/storage/serialization/serialize_constraint.cpp +98 -0
  1157. package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +198 -0
  1158. package/src/duckdb/src/storage/serialization/serialize_expression.cpp +283 -0
  1159. package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +748 -0
  1160. package/src/duckdb/src/storage/serialization/serialize_macro_function.cpp +62 -0
  1161. package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +459 -0
  1162. package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +421 -0
  1163. package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +342 -0
  1164. package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +122 -0
  1165. package/src/duckdb/src/storage/serialization/serialize_result_modifier.cpp +97 -0
  1166. package/src/duckdb/src/storage/serialization/serialize_statement.cpp +22 -0
  1167. package/src/duckdb/src/storage/serialization/serialize_storage.cpp +78 -0
  1168. package/src/duckdb/src/storage/serialization/serialize_table_filter.cpp +97 -0
  1169. package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +164 -0
  1170. package/src/duckdb/src/storage/serialization/serialize_types.cpp +127 -0
  1171. package/src/duckdb/src/storage/single_file_block_manager.cpp +93 -64
  1172. package/src/duckdb/src/storage/standard_buffer_manager.cpp +10 -16
  1173. package/src/duckdb/src/storage/statistics/base_statistics.cpp +62 -53
  1174. package/src/duckdb/src/storage/statistics/column_statistics.cpp +10 -7
  1175. package/src/duckdb/src/storage/statistics/distinct_statistics.cpp +0 -26
  1176. package/src/duckdb/src/storage/statistics/list_stats.cpp +12 -7
  1177. package/src/duckdb/src/storage/statistics/numeric_stats.cpp +53 -43
  1178. package/src/duckdb/src/storage/statistics/string_stats.cpp +37 -18
  1179. package/src/duckdb/src/storage/statistics/struct_stats.cpp +17 -12
  1180. package/src/duckdb/src/storage/storage_info.cpp +3 -2
  1181. package/src/duckdb/src/storage/storage_manager.cpp +22 -7
  1182. package/src/duckdb/src/storage/table/chunk_info.cpp +59 -36
  1183. package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +31 -34
  1184. package/src/duckdb/src/storage/table/column_data.cpp +44 -41
  1185. package/src/duckdb/src/storage/table/column_data_checkpointer.cpp +7 -11
  1186. package/src/duckdb/src/storage/table/column_segment.cpp +21 -12
  1187. package/src/duckdb/src/storage/table/list_column_data.cpp +24 -14
  1188. package/src/duckdb/src/storage/table/persistent_table_data.cpp +1 -2
  1189. package/src/duckdb/src/storage/table/row_group.cpp +131 -209
  1190. package/src/duckdb/src/storage/table/row_group_collection.cpp +34 -25
  1191. package/src/duckdb/src/storage/table/row_version_manager.cpp +228 -0
  1192. package/src/duckdb/src/storage/table/standard_column_data.cpp +10 -7
  1193. package/src/duckdb/src/storage/table/struct_column_data.cpp +22 -11
  1194. package/src/duckdb/src/storage/table/table_statistics.cpp +19 -9
  1195. package/src/duckdb/src/storage/table/update_segment.cpp +3 -3
  1196. package/src/duckdb/src/storage/table_index_list.cpp +2 -2
  1197. package/src/duckdb/src/storage/wal_replay.cpp +135 -127
  1198. package/src/duckdb/src/storage/write_ahead_log.cpp +136 -64
  1199. package/src/duckdb/src/transaction/cleanup_state.cpp +2 -1
  1200. package/src/duckdb/src/transaction/commit_state.cpp +32 -13
  1201. package/src/duckdb/src/transaction/duck_transaction.cpp +5 -2
  1202. package/src/duckdb/src/transaction/rollback_state.cpp +2 -1
  1203. package/src/duckdb/src/transaction/undo_buffer.cpp +3 -5
  1204. package/src/duckdb/src/verification/deserialized_statement_verifier.cpp +11 -6
  1205. package/src/duckdb/src/verification/prepared_statement_verifier.cpp +16 -11
  1206. package/src/duckdb/src/verification/statement_verifier.cpp +0 -3
  1207. package/src/duckdb/third_party/concurrentqueue/concurrentqueue.h +2 -2
  1208. package/src/duckdb/third_party/concurrentqueue/lightweightsemaphore.h +5 -2
  1209. package/src/duckdb/third_party/fast_float/fast_float/fast_float.h +2 -0
  1210. package/src/duckdb/third_party/httplib/httplib.hpp +10 -1
  1211. package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +11 -0
  1212. package/src/duckdb/third_party/libpg_query/include/parser/gram.hpp +2 -1
  1213. package/src/duckdb/third_party/libpg_query/pg_functions.cpp +13 -0
  1214. package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +11019 -10364
  1215. package/src/duckdb/third_party/libpg_query/src_backend_parser_scansup.cpp +9 -0
  1216. package/src/duckdb/third_party/mbedtls/include/mbedtls_wrapper.hpp +14 -1
  1217. package/src/duckdb/third_party/mbedtls/mbedtls_wrapper.cpp +54 -2
  1218. package/src/duckdb/third_party/parquet/parquet_types.h +1 -1
  1219. package/src/duckdb/third_party/utf8proc/include/utf8proc_wrapper.hpp +8 -0
  1220. package/src/duckdb/ub_extension_icu_third_party_icu_i18n.cpp +4 -4
  1221. package/src/duckdb/ub_src_common.cpp +3 -3
  1222. package/src/duckdb/ub_src_common_adbc_nanoarrow.cpp +8 -0
  1223. package/src/duckdb/ub_src_common_arrow_appender.cpp +10 -0
  1224. package/src/duckdb/ub_src_common_row_operations.cpp +1 -1
  1225. package/src/duckdb/ub_src_common_serializer.cpp +3 -3
  1226. package/src/duckdb/ub_src_core_functions_scalar_debug.cpp +2 -0
  1227. package/src/duckdb/ub_src_core_functions_scalar_list.cpp +6 -0
  1228. package/src/duckdb/ub_src_core_functions_scalar_string.cpp +4 -0
  1229. package/src/duckdb/ub_src_execution.cpp +2 -2
  1230. package/src/duckdb/ub_src_execution_index.cpp +4 -0
  1231. package/src/duckdb/ub_src_execution_index_art.cpp +0 -8
  1232. package/src/duckdb/ub_src_execution_operator_csv_scanner.cpp +18 -0
  1233. package/src/duckdb/ub_src_execution_operator_csv_scanner_sniffer.cpp +12 -0
  1234. package/src/duckdb/ub_src_execution_operator_persistent.cpp +1 -11
  1235. package/src/duckdb/ub_src_execution_operator_schema.cpp +1 -1
  1236. package/src/duckdb/ub_src_execution_operator_set.cpp +2 -0
  1237. package/src/duckdb/ub_src_execution_physical_plan.cpp +2 -0
  1238. package/src/duckdb/ub_src_function_cast_union.cpp +2 -0
  1239. package/src/duckdb/ub_src_function_scalar.cpp +2 -0
  1240. package/src/duckdb/ub_src_function_scalar_compressed_materialization.cpp +4 -0
  1241. package/src/duckdb/ub_src_function_scalar_list.cpp +2 -0
  1242. package/src/duckdb/ub_src_function_table_arrow.cpp +2 -0
  1243. package/src/duckdb/ub_src_function_table_system.cpp +2 -0
  1244. package/src/duckdb/ub_src_main.cpp +2 -0
  1245. package/src/duckdb/ub_src_main_chunk_scan_state.cpp +2 -0
  1246. package/src/duckdb/ub_src_optimizer.cpp +6 -0
  1247. package/src/duckdb/ub_src_optimizer_compressed_materialization.cpp +6 -0
  1248. package/src/duckdb/ub_src_optimizer_join_order.cpp +10 -0
  1249. package/src/duckdb/ub_src_optimizer_statistics_expression.cpp +0 -2
  1250. package/src/duckdb/ub_src_parser.cpp +0 -2
  1251. package/src/duckdb/ub_src_parser_query_node.cpp +2 -0
  1252. package/src/duckdb/ub_src_parser_transform_expression.cpp +2 -0
  1253. package/src/duckdb/ub_src_planner.cpp +2 -2
  1254. package/src/duckdb/ub_src_planner_binder_query_node.cpp +4 -0
  1255. package/src/duckdb/ub_src_planner_expression.cpp +0 -2
  1256. package/src/duckdb/ub_src_planner_operator.cpp +3 -11
  1257. package/src/duckdb/ub_src_storage.cpp +2 -4
  1258. package/src/duckdb/ub_src_storage_compression.cpp +2 -0
  1259. package/src/duckdb/ub_src_storage_metadata.cpp +6 -0
  1260. package/src/duckdb/ub_src_storage_serialization.cpp +30 -0
  1261. package/src/duckdb/ub_src_storage_table.cpp +2 -0
  1262. package/src/duckdb_node.cpp +6 -12
  1263. package/src/duckdb_node.hpp +25 -13
  1264. package/src/statement.cpp +27 -25
  1265. package/test/close_hang.test.ts +39 -0
  1266. package/test/columns.test.ts +25 -3
  1267. package/test/database_fail.test.ts +26 -0
  1268. package/test/extension.test.ts +1 -1
  1269. package/test/prepare.test.ts +10 -1
  1270. package/test/test_all_types.test.ts +234 -0
  1271. package/test/worker.js +7 -0
  1272. package/tsconfig.json +1 -0
  1273. package/src/duckdb/src/common/field_writer.cpp +0 -97
  1274. package/src/duckdb/src/common/row_operations/row_match.cpp +0 -359
  1275. package/src/duckdb/src/common/serializer/buffered_deserializer.cpp +0 -27
  1276. package/src/duckdb/src/common/serializer/buffered_serializer.cpp +0 -36
  1277. package/src/duckdb/src/common/serializer.cpp +0 -24
  1278. package/src/duckdb/src/execution/index/art/fixed_size_allocator.cpp +0 -242
  1279. package/src/duckdb/src/execution/index/art/leaf_segment.cpp +0 -52
  1280. package/src/duckdb/src/execution/index/art/prefix_segment.cpp +0 -42
  1281. package/src/duckdb/src/execution/index/art/swizzleable_pointer.cpp +0 -22
  1282. package/src/duckdb/src/execution/operator/persistent/buffered_csv_reader.cpp +0 -1487
  1283. package/src/duckdb/src/execution/operator/persistent/csv_buffer.cpp +0 -72
  1284. package/src/duckdb/src/execution/operator/persistent/csv_file_handle.cpp +0 -158
  1285. package/src/duckdb/src/execution/operator/persistent/csv_reader_options.cpp +0 -260
  1286. package/src/duckdb/src/execution/operator/schema/physical_create_index.cpp +0 -193
  1287. package/src/duckdb/src/execution/partitionable_hashtable.cpp +0 -172
  1288. package/src/duckdb/src/include/duckdb/common/arrow/arrow_options.hpp +0 -25
  1289. package/src/duckdb/src/include/duckdb/common/field_writer.hpp +0 -383
  1290. package/src/duckdb/src/include/duckdb/common/serializer/buffered_deserializer.hpp +0 -41
  1291. package/src/duckdb/src/include/duckdb/common/serializer/buffered_serializer.hpp +0 -50
  1292. package/src/duckdb/src/include/duckdb/common/serializer/format_serializer.hpp +0 -248
  1293. package/src/duckdb/src/include/duckdb/common/serializer.hpp +0 -158
  1294. package/src/duckdb/src/include/duckdb/execution/index/art/fixed_size_allocator.hpp +0 -117
  1295. package/src/duckdb/src/include/duckdb/execution/index/art/leaf_segment.hpp +0 -38
  1296. package/src/duckdb/src/include/duckdb/execution/index/art/prefix_segment.hpp +0 -40
  1297. package/src/duckdb/src/include/duckdb/execution/index/art/swizzleable_pointer.hpp +0 -58
  1298. package/src/duckdb/src/include/duckdb/execution/operator/persistent/buffered_csv_reader.hpp +0 -133
  1299. package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_buffer.hpp +0 -74
  1300. package/src/duckdb/src/include/duckdb/execution/partitionable_hashtable.hpp +0 -69
  1301. package/src/duckdb/src/include/duckdb/planner/operator/logical_asof_join.hpp +0 -27
  1302. package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_join.hpp +0 -32
  1303. package/src/duckdb/src/include/duckdb/planner/plan_serialization.hpp +0 -44
  1304. package/src/duckdb/src/include/duckdb/storage/meta_block_reader.hpp +0 -49
  1305. package/src/duckdb/src/include/duckdb/storage/meta_block_writer.hpp +0 -50
  1306. package/src/duckdb/src/include/duckdb/verification/deserialized_statement_verifier_v2.hpp +0 -26
  1307. package/src/duckdb/src/optimizer/statistics/expression/propagate_and_compress.cpp +0 -118
  1308. package/src/duckdb/src/parser/common_table_expression_info.cpp +0 -19
  1309. package/src/duckdb/src/planner/expression/bound_default_expression.cpp +0 -16
  1310. package/src/duckdb/src/planner/operator/logical_asof_join.cpp +0 -14
  1311. package/src/duckdb/src/planner/operator/logical_delim_join.cpp +0 -27
  1312. package/src/duckdb/src/planner/operator/logical_execute.cpp +0 -12
  1313. package/src/duckdb/src/planner/operator/logical_explain.cpp +0 -22
  1314. package/src/duckdb/src/planner/operator/logical_export.cpp +0 -13
  1315. package/src/duckdb/src/planner/operator/logical_show.cpp +0 -21
  1316. package/src/duckdb/src/planner/parsed_data/bound_create_table_info.cpp +0 -20
  1317. package/src/duckdb/src/planner/plan_serialization.cpp +0 -20
  1318. package/src/duckdb/src/storage/meta_block_reader.cpp +0 -78
  1319. package/src/duckdb/src/storage/meta_block_writer.cpp +0 -80
  1320. package/src/duckdb/src/verification/deserialized_statement_verifier_v2.cpp +0 -20
  1321. package/src/duckdb/ub_src_planner_parsed_data.cpp +0 -2
@@ -8,6 +8,7 @@
8
8
  // You should move the enum to the duckdb namespace, manually write a specialization or add it to the blacklist
9
9
  //-------------------------------------------------------------------------
10
10
 
11
+
11
12
  #pragma once
12
13
 
13
14
  #include <stdint.h>
@@ -16,943 +17,1054 @@
16
17
  namespace duckdb {
17
18
 
18
19
  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
- }
20
+ // String -> Enum
21
+ template <class T>
22
+ static T FromString(const char *value) = delete;
23
+
24
+ template <class T>
25
+ static T FromString(const string &value) { return FromString<T>(value.c_str()); }
26
+
27
+ // Enum -> String
28
+ template <class T>
29
+ static const char *ToChars(T value) = delete;
30
+
31
+ template <class T>
32
+ static string ToString(T value) { return string(ToChars<T>(value)); }
36
33
  };
37
34
 
38
- enum class TaskExecutionMode : uint8_t;
35
+ enum class AccessMode : uint8_t;
39
36
 
40
- enum class TaskExecutionResult : uint8_t;
37
+ enum class AggregateHandling : uint8_t;
41
38
 
42
- enum class InterruptMode : uint8_t;
39
+ enum class AggregateOrderDependent : uint8_t;
43
40
 
44
- enum class DistinctType : uint8_t;
41
+ enum class AggregateType : uint8_t;
45
42
 
46
- enum class TableFilterType : uint8_t;
43
+ enum class AlterForeignKeyType : uint8_t;
47
44
 
48
- enum class BindingMode : uint8_t;
45
+ enum class AlterScalarFunctionType : uint8_t;
49
46
 
50
- enum class TableColumnType : uint8_t;
47
+ enum class AlterTableFunctionType : uint8_t;
51
48
 
52
- enum class AggregateType : uint8_t;
49
+ enum class AlterTableType : uint8_t;
53
50
 
54
- enum class AggregateOrderDependent : uint8_t;
51
+ enum class AlterType : uint8_t;
55
52
 
56
- enum class FunctionNullHandling : uint8_t;
53
+ enum class AlterViewType : uint8_t;
57
54
 
58
- enum class FunctionSideEffects : uint8_t;
55
+ enum class AppenderType : uint8_t;
59
56
 
60
- enum class MacroType : uint8_t;
57
+ enum class ArrowDateTimeType : uint8_t;
61
58
 
62
59
  enum class ArrowVariableSizeType : uint8_t;
63
60
 
64
- enum class ArrowDateTimeType : uint8_t;
61
+ enum class BindingMode : uint8_t;
65
62
 
66
- enum class StrTimeSpecifier : uint8_t;
63
+ enum class BitpackingMode : uint8_t;
67
64
 
68
- enum class SimplifiedTokenType : uint8_t;
65
+ enum class BlockState : uint8_t;
69
66
 
70
- enum class KeywordCategory : uint8_t;
67
+ enum class CAPIResultSetType : uint8_t;
71
68
 
72
- enum class ResultModifierType : uint8_t;
69
+ enum class CSVState : uint8_t;
73
70
 
74
- enum class ConstraintType : uint8_t;
71
+ enum class CTEMaterialize : uint8_t;
75
72
 
76
- enum class ForeignKeyType : uint8_t;
73
+ enum class CatalogType : uint8_t;
77
74
 
78
- enum class ParserExtensionResultType : uint8_t;
75
+ enum class CheckpointAbort : uint8_t;
79
76
 
80
- enum class QueryNodeType : uint8_t;
77
+ enum class ChunkInfoType : uint8_t;
81
78
 
82
- enum class SequenceInfo : uint8_t;
79
+ enum class ColumnDataAllocatorType : uint8_t;
83
80
 
84
- enum class AlterScalarFunctionType : uint8_t;
81
+ enum class ColumnDataScanProperties : uint8_t;
85
82
 
86
- enum class AlterTableType : uint8_t;
83
+ enum class ColumnSegmentType : uint8_t;
87
84
 
88
- enum class AlterViewType : uint8_t;
85
+ enum class CompressedMaterializationDirection : uint8_t;
89
86
 
90
- enum class AlterTableFunctionType : uint8_t;
87
+ enum class CompressionType : uint8_t;
91
88
 
92
- enum class AlterType : uint8_t;
89
+ enum class ConflictManagerMode : uint8_t;
93
90
 
94
- enum class PragmaType : uint8_t;
91
+ enum class ConstraintType : uint8_t;
95
92
 
96
- enum class OnCreateConflict : uint8_t;
93
+ enum class DataFileType : uint8_t;
97
94
 
98
- enum class TransactionType : uint8_t;
95
+ enum class DatePartSpecifier : uint8_t;
99
96
 
100
- enum class SampleMethod : uint8_t;
97
+ enum class DebugInitialize : uint8_t;
101
98
 
102
- enum class ExplainType : uint8_t;
99
+ enum class DefaultOrderByNullType : uint8_t;
103
100
 
104
- enum class OnConflictAction : uint8_t;
101
+ enum class DistinctType : uint8_t;
105
102
 
106
- enum class WindowBoundary : uint8_t;
103
+ enum class ErrorType : uint16_t;
107
104
 
108
- enum class DataFileType : uint8_t;
105
+ enum class ExceptionFormatValueType : uint8_t;
109
106
 
110
- enum class StatsInfo : uint8_t;
107
+ enum class ExplainOutputType : uint8_t;
111
108
 
112
- enum class StatisticsType : uint8_t;
109
+ enum class ExplainType : uint8_t;
113
110
 
114
- enum class ColumnSegmentType : uint8_t;
111
+ enum class ExpressionClass : uint8_t;
115
112
 
116
- enum class ChunkInfoType : uint8_t;
113
+ enum class ExpressionType : uint8_t;
117
114
 
118
- enum class BitpackingMode : uint8_t;
115
+ enum class ExtensionLoadResult : uint8_t;
119
116
 
120
- enum class BlockState : uint8_t;
117
+ enum class ExtraTypeInfoType : uint8_t;
121
118
 
122
- enum class VerificationType : uint8_t;
119
+ enum class FileBufferType : uint8_t;
120
+
121
+ enum class FileCompressionType : uint8_t;
122
+
123
+ enum class FileGlobOptions : uint8_t;
123
124
 
124
125
  enum class FileLockType : uint8_t;
125
126
 
126
- enum class FileBufferType : uint8_t;
127
+ enum class FilterPropagateResult : uint8_t;
127
128
 
128
- enum class ExceptionFormatValueType : uint8_t;
129
+ enum class ForeignKeyType : uint8_t;
129
130
 
130
- enum class ExtraTypeInfoType : uint8_t;
131
+ enum class FunctionNullHandling : uint8_t;
131
132
 
132
- enum class PhysicalType : uint8_t;
133
+ enum class FunctionSideEffects : uint8_t;
133
134
 
134
- enum class LogicalTypeId : uint8_t;
135
+ enum class HLLStorageType : uint8_t;
135
136
 
136
- enum class OutputStream : uint8_t;
137
+ enum class IndexConstraintType : uint8_t;
137
138
 
138
- enum class TimestampCastResult : uint8_t;
139
+ enum class IndexType : uint8_t;
139
140
 
140
- enum class ConflictManagerMode : uint8_t;
141
+ enum class InsertColumnOrder : uint8_t;
142
+
143
+ enum class InterruptMode : uint8_t;
144
+
145
+ enum class JoinRefType : uint8_t;
146
+
147
+ enum class JoinType : uint8_t;
148
+
149
+ enum class KeywordCategory : uint8_t;
150
+
151
+ enum class LoadType : uint8_t;
152
+
153
+ enum class LogicalOperatorType : uint8_t;
154
+
155
+ enum class LogicalTypeId : uint8_t;
141
156
 
142
157
  enum class LookupResultType : uint8_t;
143
158
 
159
+ enum class MacroType : uint8_t;
160
+
144
161
  enum class MapInvalidReason : uint8_t;
145
162
 
146
- enum class UnionInvalidReason : uint8_t;
163
+ enum class NType : uint8_t;
147
164
 
148
- enum class VectorBufferType : uint8_t;
165
+ enum class NewLineIdentifier : uint8_t;
149
166
 
150
- enum class VectorAuxiliaryDataType : uint8_t;
167
+ enum class OnConflictAction : uint8_t;
151
168
 
152
- enum class PartitionedColumnDataType : uint8_t;
169
+ enum class OnCreateConflict : uint8_t;
153
170
 
154
- enum class ColumnDataAllocatorType : uint8_t;
171
+ enum class OnEntryNotFound : uint8_t;
155
172
 
156
- enum class ColumnDataScanProperties : uint8_t;
173
+ enum class OperatorFinalizeResultType : uint8_t;
157
174
 
158
- enum class PartitionedTupleDataType : uint8_t;
175
+ enum class OperatorResultType : uint8_t;
159
176
 
160
- enum class TupleDataPinProperties : uint8_t;
177
+ enum class OptimizerType : uint32_t;
161
178
 
162
- enum class PartitionSortStage : uint8_t;
179
+ enum class OrderByNullType : uint8_t;
163
180
 
164
- enum class PhysicalOperatorType : uint8_t;
181
+ enum class OrderPreservationType : uint8_t;
165
182
 
166
- enum class VectorType : uint8_t;
183
+ enum class OrderType : uint8_t;
167
184
 
168
- enum class AccessMode : uint8_t;
185
+ enum class OutputStream : uint8_t;
169
186
 
170
- enum class FileGlobOptions : uint8_t;
187
+ enum class ParseInfoType : uint8_t;
171
188
 
172
- enum class WALType : uint8_t;
189
+ enum class ParserExtensionResultType : uint8_t;
173
190
 
174
- enum class JoinType : uint8_t;
191
+ enum class ParserMode : uint8_t;
175
192
 
176
- enum class FileCompressionType : uint8_t;
193
+ enum class PartitionSortStage : uint8_t;
177
194
 
178
- enum class ProfilerPrintFormat : uint8_t;
195
+ enum class PartitionedColumnDataType : uint8_t;
179
196
 
180
- enum class StatementType : uint8_t;
197
+ enum class PartitionedTupleDataType : uint8_t;
181
198
 
182
- enum class StatementReturnType : uint8_t;
199
+ enum class PendingExecutionResult : uint8_t;
183
200
 
184
- enum class OrderPreservationType : uint8_t;
201
+ enum class PhysicalOperatorType : uint8_t;
185
202
 
186
- enum class DebugInitialize : uint8_t;
203
+ enum class PhysicalType : uint8_t;
187
204
 
188
- enum class CatalogType : uint8_t;
205
+ enum class PragmaType : uint8_t;
189
206
 
190
- enum class SetScope : uint8_t;
207
+ enum class PreparedParamType : uint8_t;
191
208
 
192
- enum class TableScanType : uint8_t;
209
+ enum class ProfilerPrintFormat : uint8_t;
193
210
 
194
- enum class SetType : uint8_t;
211
+ enum class QueryNodeType : uint8_t;
195
212
 
196
- enum class ExpressionType : uint8_t;
213
+ enum class QueryResultType : uint8_t;
197
214
 
198
- enum class ExpressionClass : uint8_t;
215
+ enum class QuoteRule : uint8_t;
199
216
 
200
- enum class PendingExecutionResult : uint8_t;
217
+ enum class RelationType : uint8_t;
201
218
 
202
- enum class WindowAggregationMode : uint32_t;
219
+ enum class RenderMode : uint8_t;
203
220
 
204
- enum class SubqueryType : uint8_t;
221
+ enum class ResultModifierType : uint8_t;
205
222
 
206
- enum class OrderType : uint8_t;
223
+ enum class SampleMethod : uint8_t;
207
224
 
208
- enum class OrderByNullType : uint8_t;
225
+ enum class SequenceInfo : uint8_t;
209
226
 
210
- enum class DefaultOrderByNullType : uint8_t;
227
+ enum class SetOperationType : uint8_t;
211
228
 
212
- enum class DatePartSpecifier : uint8_t;
229
+ enum class SetScope : uint8_t;
213
230
 
214
- enum class OnEntryNotFound : uint8_t;
231
+ enum class SetType : uint8_t;
215
232
 
216
- enum class LogicalOperatorType : uint8_t;
233
+ enum class SimplifiedTokenType : uint8_t;
217
234
 
218
- enum class OperatorResultType : uint8_t;
235
+ enum class SinkCombineResultType : uint8_t;
219
236
 
220
- enum class OperatorFinalizeResultType : uint8_t;
237
+ enum class SinkFinalizeType : uint8_t;
238
+
239
+ enum class SinkResultType : uint8_t;
221
240
 
222
241
  enum class SourceResultType : uint8_t;
223
242
 
224
- enum class SinkResultType : uint8_t;
243
+ enum class StatementReturnType : uint8_t;
225
244
 
226
- enum class SinkFinalizeType : uint8_t;
245
+ enum class StatementType : uint8_t;
227
246
 
228
- enum class JoinRefType : uint8_t;
247
+ enum class StatisticsType : uint8_t;
229
248
 
230
- enum class UndoFlags : uint32_t;
249
+ enum class StatsInfo : uint8_t;
231
250
 
232
- enum class SetOperationType : uint8_t;
251
+ enum class StrTimeSpecifier : uint8_t;
233
252
 
234
- enum class OptimizerType : uint32_t;
253
+ enum class SubqueryType : uint8_t;
235
254
 
236
- enum class CompressionType : uint8_t;
255
+ enum class TableColumnType : uint8_t;
237
256
 
238
- enum class AggregateHandling : uint8_t;
257
+ enum class TableFilterType : uint8_t;
239
258
 
240
259
  enum class TableReferenceType : uint8_t;
241
260
 
242
- enum class RelationType : uint8_t;
261
+ enum class TableScanType : uint8_t;
243
262
 
244
- enum class FilterPropagateResult : uint8_t;
263
+ enum class TaskExecutionMode : uint8_t;
245
264
 
246
- enum class IndexType : uint8_t;
265
+ enum class TaskExecutionResult : uint8_t;
247
266
 
248
- enum class ExplainOutputType : uint8_t;
267
+ enum class TimestampCastResult : uint8_t;
249
268
 
250
- enum class NType : uint8_t;
269
+ enum class TransactionType : uint8_t;
251
270
 
252
- enum class VerifyExistenceType : uint8_t;
271
+ enum class TupleDataPinProperties : uint8_t;
253
272
 
254
- enum class ParserMode : uint8_t;
273
+ enum class UndoFlags : uint32_t;
255
274
 
256
- enum class ErrorType : uint16_t;
275
+ enum class UnionInvalidReason : uint8_t;
257
276
 
258
- enum class AppenderType : uint8_t;
277
+ enum class VectorAuxiliaryDataType : uint8_t;
259
278
 
260
- enum class CheckpointAbort : uint8_t;
279
+ enum class VectorBufferType : uint8_t;
261
280
 
262
- enum class ExtensionLoadResult : uint8_t;
281
+ enum class VectorType : uint8_t;
263
282
 
264
- enum class QueryResultType : uint8_t;
283
+ enum class VerificationType : uint8_t;
265
284
 
266
- enum class CAPIResultSetType : uint8_t;
285
+ enum class VerifyExistenceType : uint8_t;
267
286
 
268
- template <>
269
- const char *EnumUtil::ToChars<TaskExecutionMode>(TaskExecutionMode value);
287
+ enum class WALType : uint8_t;
270
288
 
271
- template <>
272
- const char *EnumUtil::ToChars<TaskExecutionResult>(TaskExecutionResult value);
289
+ enum class WindowAggregationMode : uint32_t;
273
290
 
274
- template <>
275
- const char *EnumUtil::ToChars<InterruptMode>(InterruptMode value);
291
+ enum class WindowBoundary : uint8_t;
276
292
 
277
- template <>
278
- const char *EnumUtil::ToChars<DistinctType>(DistinctType value);
279
293
 
280
- template <>
281
- const char *EnumUtil::ToChars<TableFilterType>(TableFilterType value);
294
+ template<>
295
+ const char* EnumUtil::ToChars<AccessMode>(AccessMode value);
282
296
 
283
- template <>
284
- const char *EnumUtil::ToChars<BindingMode>(BindingMode value);
297
+ template<>
298
+ const char* EnumUtil::ToChars<AggregateHandling>(AggregateHandling value);
285
299
 
286
- template <>
287
- const char *EnumUtil::ToChars<TableColumnType>(TableColumnType value);
300
+ template<>
301
+ const char* EnumUtil::ToChars<AggregateOrderDependent>(AggregateOrderDependent value);
288
302
 
289
- template <>
290
- const char *EnumUtil::ToChars<AggregateType>(AggregateType value);
303
+ template<>
304
+ const char* EnumUtil::ToChars<AggregateType>(AggregateType value);
291
305
 
292
- template <>
293
- const char *EnumUtil::ToChars<AggregateOrderDependent>(AggregateOrderDependent value);
306
+ template<>
307
+ const char* EnumUtil::ToChars<AlterForeignKeyType>(AlterForeignKeyType value);
294
308
 
295
- template <>
296
- const char *EnumUtil::ToChars<FunctionNullHandling>(FunctionNullHandling value);
309
+ template<>
310
+ const char* EnumUtil::ToChars<AlterScalarFunctionType>(AlterScalarFunctionType value);
297
311
 
298
- template <>
299
- const char *EnumUtil::ToChars<FunctionSideEffects>(FunctionSideEffects value);
312
+ template<>
313
+ const char* EnumUtil::ToChars<AlterTableFunctionType>(AlterTableFunctionType value);
300
314
 
301
- template <>
302
- const char *EnumUtil::ToChars<MacroType>(MacroType value);
315
+ template<>
316
+ const char* EnumUtil::ToChars<AlterTableType>(AlterTableType value);
303
317
 
304
- template <>
305
- const char *EnumUtil::ToChars<ArrowVariableSizeType>(ArrowVariableSizeType value);
318
+ template<>
319
+ const char* EnumUtil::ToChars<AlterType>(AlterType value);
306
320
 
307
- template <>
308
- const char *EnumUtil::ToChars<ArrowDateTimeType>(ArrowDateTimeType value);
321
+ template<>
322
+ const char* EnumUtil::ToChars<AlterViewType>(AlterViewType value);
309
323
 
310
- template <>
311
- const char *EnumUtil::ToChars<StrTimeSpecifier>(StrTimeSpecifier value);
324
+ template<>
325
+ const char* EnumUtil::ToChars<AppenderType>(AppenderType value);
312
326
 
313
- template <>
314
- const char *EnumUtil::ToChars<SimplifiedTokenType>(SimplifiedTokenType value);
327
+ template<>
328
+ const char* EnumUtil::ToChars<ArrowDateTimeType>(ArrowDateTimeType value);
315
329
 
316
- template <>
317
- const char *EnumUtil::ToChars<KeywordCategory>(KeywordCategory value);
330
+ template<>
331
+ const char* EnumUtil::ToChars<ArrowVariableSizeType>(ArrowVariableSizeType value);
318
332
 
319
- template <>
320
- const char *EnumUtil::ToChars<ResultModifierType>(ResultModifierType value);
333
+ template<>
334
+ const char* EnumUtil::ToChars<BindingMode>(BindingMode value);
321
335
 
322
- template <>
323
- const char *EnumUtil::ToChars<ConstraintType>(ConstraintType value);
336
+ template<>
337
+ const char* EnumUtil::ToChars<BitpackingMode>(BitpackingMode value);
324
338
 
325
- template <>
326
- const char *EnumUtil::ToChars<ForeignKeyType>(ForeignKeyType value);
339
+ template<>
340
+ const char* EnumUtil::ToChars<BlockState>(BlockState value);
327
341
 
328
- template <>
329
- const char *EnumUtil::ToChars<ParserExtensionResultType>(ParserExtensionResultType value);
342
+ template<>
343
+ const char* EnumUtil::ToChars<CAPIResultSetType>(CAPIResultSetType value);
330
344
 
331
- template <>
332
- const char *EnumUtil::ToChars<QueryNodeType>(QueryNodeType value);
345
+ template<>
346
+ const char* EnumUtil::ToChars<CSVState>(CSVState value);
333
347
 
334
- template <>
335
- const char *EnumUtil::ToChars<SequenceInfo>(SequenceInfo value);
348
+ template<>
349
+ const char* EnumUtil::ToChars<CTEMaterialize>(CTEMaterialize value);
336
350
 
337
- template <>
338
- const char *EnumUtil::ToChars<AlterScalarFunctionType>(AlterScalarFunctionType value);
351
+ template<>
352
+ const char* EnumUtil::ToChars<CatalogType>(CatalogType value);
339
353
 
340
- template <>
341
- const char *EnumUtil::ToChars<AlterTableType>(AlterTableType value);
354
+ template<>
355
+ const char* EnumUtil::ToChars<CheckpointAbort>(CheckpointAbort value);
342
356
 
343
- template <>
344
- const char *EnumUtil::ToChars<AlterViewType>(AlterViewType value);
357
+ template<>
358
+ const char* EnumUtil::ToChars<ChunkInfoType>(ChunkInfoType value);
345
359
 
346
- template <>
347
- const char *EnumUtil::ToChars<AlterTableFunctionType>(AlterTableFunctionType value);
360
+ template<>
361
+ const char* EnumUtil::ToChars<ColumnDataAllocatorType>(ColumnDataAllocatorType value);
348
362
 
349
- template <>
350
- const char *EnumUtil::ToChars<AlterType>(AlterType value);
363
+ template<>
364
+ const char* EnumUtil::ToChars<ColumnDataScanProperties>(ColumnDataScanProperties value);
351
365
 
352
- template <>
353
- const char *EnumUtil::ToChars<PragmaType>(PragmaType value);
366
+ template<>
367
+ const char* EnumUtil::ToChars<ColumnSegmentType>(ColumnSegmentType value);
354
368
 
355
- template <>
356
- const char *EnumUtil::ToChars<OnCreateConflict>(OnCreateConflict value);
369
+ template<>
370
+ const char* EnumUtil::ToChars<CompressedMaterializationDirection>(CompressedMaterializationDirection value);
357
371
 
358
- template <>
359
- const char *EnumUtil::ToChars<TransactionType>(TransactionType value);
372
+ template<>
373
+ const char* EnumUtil::ToChars<CompressionType>(CompressionType value);
360
374
 
361
- template <>
362
- const char *EnumUtil::ToChars<SampleMethod>(SampleMethod value);
375
+ template<>
376
+ const char* EnumUtil::ToChars<ConflictManagerMode>(ConflictManagerMode value);
363
377
 
364
- template <>
365
- const char *EnumUtil::ToChars<ExplainType>(ExplainType value);
378
+ template<>
379
+ const char* EnumUtil::ToChars<ConstraintType>(ConstraintType value);
366
380
 
367
- template <>
368
- const char *EnumUtil::ToChars<OnConflictAction>(OnConflictAction value);
381
+ template<>
382
+ const char* EnumUtil::ToChars<DataFileType>(DataFileType value);
369
383
 
370
- template <>
371
- const char *EnumUtil::ToChars<WindowBoundary>(WindowBoundary value);
384
+ template<>
385
+ const char* EnumUtil::ToChars<DatePartSpecifier>(DatePartSpecifier value);
372
386
 
373
- template <>
374
- const char *EnumUtil::ToChars<DataFileType>(DataFileType value);
387
+ template<>
388
+ const char* EnumUtil::ToChars<DebugInitialize>(DebugInitialize value);
375
389
 
376
- template <>
377
- const char *EnumUtil::ToChars<StatsInfo>(StatsInfo value);
390
+ template<>
391
+ const char* EnumUtil::ToChars<DefaultOrderByNullType>(DefaultOrderByNullType value);
378
392
 
379
- template <>
380
- const char *EnumUtil::ToChars<StatisticsType>(StatisticsType value);
393
+ template<>
394
+ const char* EnumUtil::ToChars<DistinctType>(DistinctType value);
381
395
 
382
- template <>
383
- const char *EnumUtil::ToChars<ColumnSegmentType>(ColumnSegmentType value);
396
+ template<>
397
+ const char* EnumUtil::ToChars<ErrorType>(ErrorType value);
384
398
 
385
- template <>
386
- const char *EnumUtil::ToChars<ChunkInfoType>(ChunkInfoType value);
399
+ template<>
400
+ const char* EnumUtil::ToChars<ExceptionFormatValueType>(ExceptionFormatValueType value);
387
401
 
388
- template <>
389
- const char *EnumUtil::ToChars<BitpackingMode>(BitpackingMode value);
402
+ template<>
403
+ const char* EnumUtil::ToChars<ExplainOutputType>(ExplainOutputType value);
390
404
 
391
- template <>
392
- const char *EnumUtil::ToChars<BlockState>(BlockState value);
405
+ template<>
406
+ const char* EnumUtil::ToChars<ExplainType>(ExplainType value);
393
407
 
394
- template <>
395
- const char *EnumUtil::ToChars<VerificationType>(VerificationType value);
408
+ template<>
409
+ const char* EnumUtil::ToChars<ExpressionClass>(ExpressionClass value);
396
410
 
397
- template <>
398
- const char *EnumUtil::ToChars<FileLockType>(FileLockType value);
411
+ template<>
412
+ const char* EnumUtil::ToChars<ExpressionType>(ExpressionType value);
399
413
 
400
- template <>
401
- const char *EnumUtil::ToChars<FileBufferType>(FileBufferType value);
414
+ template<>
415
+ const char* EnumUtil::ToChars<ExtensionLoadResult>(ExtensionLoadResult value);
402
416
 
403
- template <>
404
- const char *EnumUtil::ToChars<ExceptionFormatValueType>(ExceptionFormatValueType value);
417
+ template<>
418
+ const char* EnumUtil::ToChars<ExtraTypeInfoType>(ExtraTypeInfoType value);
405
419
 
406
- template <>
407
- const char *EnumUtil::ToChars<ExtraTypeInfoType>(ExtraTypeInfoType value);
420
+ template<>
421
+ const char* EnumUtil::ToChars<FileBufferType>(FileBufferType value);
408
422
 
409
- template <>
410
- const char *EnumUtil::ToChars<PhysicalType>(PhysicalType value);
423
+ template<>
424
+ const char* EnumUtil::ToChars<FileCompressionType>(FileCompressionType value);
411
425
 
412
- template <>
413
- const char *EnumUtil::ToChars<LogicalTypeId>(LogicalTypeId value);
426
+ template<>
427
+ const char* EnumUtil::ToChars<FileGlobOptions>(FileGlobOptions value);
414
428
 
415
- template <>
416
- const char *EnumUtil::ToChars<OutputStream>(OutputStream value);
429
+ template<>
430
+ const char* EnumUtil::ToChars<FileLockType>(FileLockType value);
417
431
 
418
- template <>
419
- const char *EnumUtil::ToChars<TimestampCastResult>(TimestampCastResult value);
432
+ template<>
433
+ const char* EnumUtil::ToChars<FilterPropagateResult>(FilterPropagateResult value);
420
434
 
421
- template <>
422
- const char *EnumUtil::ToChars<ConflictManagerMode>(ConflictManagerMode value);
435
+ template<>
436
+ const char* EnumUtil::ToChars<ForeignKeyType>(ForeignKeyType value);
423
437
 
424
- template <>
425
- const char *EnumUtil::ToChars<LookupResultType>(LookupResultType value);
438
+ template<>
439
+ const char* EnumUtil::ToChars<FunctionNullHandling>(FunctionNullHandling value);
426
440
 
427
- template <>
428
- const char *EnumUtil::ToChars<MapInvalidReason>(MapInvalidReason value);
441
+ template<>
442
+ const char* EnumUtil::ToChars<FunctionSideEffects>(FunctionSideEffects value);
429
443
 
430
- template <>
431
- const char *EnumUtil::ToChars<UnionInvalidReason>(UnionInvalidReason value);
444
+ template<>
445
+ const char* EnumUtil::ToChars<HLLStorageType>(HLLStorageType value);
432
446
 
433
- template <>
434
- const char *EnumUtil::ToChars<VectorBufferType>(VectorBufferType value);
447
+ template<>
448
+ const char* EnumUtil::ToChars<IndexConstraintType>(IndexConstraintType value);
435
449
 
436
- template <>
437
- const char *EnumUtil::ToChars<VectorAuxiliaryDataType>(VectorAuxiliaryDataType value);
450
+ template<>
451
+ const char* EnumUtil::ToChars<IndexType>(IndexType value);
438
452
 
439
- template <>
440
- const char *EnumUtil::ToChars<PartitionedColumnDataType>(PartitionedColumnDataType value);
453
+ template<>
454
+ const char* EnumUtil::ToChars<InsertColumnOrder>(InsertColumnOrder value);
441
455
 
442
- template <>
443
- const char *EnumUtil::ToChars<ColumnDataAllocatorType>(ColumnDataAllocatorType value);
456
+ template<>
457
+ const char* EnumUtil::ToChars<InterruptMode>(InterruptMode value);
444
458
 
445
- template <>
446
- const char *EnumUtil::ToChars<ColumnDataScanProperties>(ColumnDataScanProperties value);
459
+ template<>
460
+ const char* EnumUtil::ToChars<JoinRefType>(JoinRefType value);
447
461
 
448
- template <>
449
- const char *EnumUtil::ToChars<PartitionedTupleDataType>(PartitionedTupleDataType value);
462
+ template<>
463
+ const char* EnumUtil::ToChars<JoinType>(JoinType value);
450
464
 
451
- template <>
452
- const char *EnumUtil::ToChars<TupleDataPinProperties>(TupleDataPinProperties value);
465
+ template<>
466
+ const char* EnumUtil::ToChars<KeywordCategory>(KeywordCategory value);
453
467
 
454
- template <>
455
- const char *EnumUtil::ToChars<PartitionSortStage>(PartitionSortStage value);
468
+ template<>
469
+ const char* EnumUtil::ToChars<LoadType>(LoadType value);
456
470
 
457
- template <>
458
- const char *EnumUtil::ToChars<PhysicalOperatorType>(PhysicalOperatorType value);
471
+ template<>
472
+ const char* EnumUtil::ToChars<LogicalOperatorType>(LogicalOperatorType value);
459
473
 
460
- template <>
461
- const char *EnumUtil::ToChars<VectorType>(VectorType value);
474
+ template<>
475
+ const char* EnumUtil::ToChars<LogicalTypeId>(LogicalTypeId value);
462
476
 
463
- template <>
464
- const char *EnumUtil::ToChars<AccessMode>(AccessMode value);
477
+ template<>
478
+ const char* EnumUtil::ToChars<LookupResultType>(LookupResultType value);
465
479
 
466
- template <>
467
- const char *EnumUtil::ToChars<FileGlobOptions>(FileGlobOptions value);
480
+ template<>
481
+ const char* EnumUtil::ToChars<MacroType>(MacroType value);
468
482
 
469
- template <>
470
- const char *EnumUtil::ToChars<WALType>(WALType value);
483
+ template<>
484
+ const char* EnumUtil::ToChars<MapInvalidReason>(MapInvalidReason value);
471
485
 
472
- template <>
473
- const char *EnumUtil::ToChars<JoinType>(JoinType value);
486
+ template<>
487
+ const char* EnumUtil::ToChars<NType>(NType value);
474
488
 
475
- template <>
476
- const char *EnumUtil::ToChars<FileCompressionType>(FileCompressionType value);
489
+ template<>
490
+ const char* EnumUtil::ToChars<NewLineIdentifier>(NewLineIdentifier value);
477
491
 
478
- template <>
479
- const char *EnumUtil::ToChars<ProfilerPrintFormat>(ProfilerPrintFormat value);
492
+ template<>
493
+ const char* EnumUtil::ToChars<OnConflictAction>(OnConflictAction value);
480
494
 
481
- template <>
482
- const char *EnumUtil::ToChars<StatementType>(StatementType value);
495
+ template<>
496
+ const char* EnumUtil::ToChars<OnCreateConflict>(OnCreateConflict value);
483
497
 
484
- template <>
485
- const char *EnumUtil::ToChars<StatementReturnType>(StatementReturnType value);
498
+ template<>
499
+ const char* EnumUtil::ToChars<OnEntryNotFound>(OnEntryNotFound value);
486
500
 
487
- template <>
488
- const char *EnumUtil::ToChars<OrderPreservationType>(OrderPreservationType value);
501
+ template<>
502
+ const char* EnumUtil::ToChars<OperatorFinalizeResultType>(OperatorFinalizeResultType value);
489
503
 
490
- template <>
491
- const char *EnumUtil::ToChars<DebugInitialize>(DebugInitialize value);
504
+ template<>
505
+ const char* EnumUtil::ToChars<OperatorResultType>(OperatorResultType value);
492
506
 
493
- template <>
494
- const char *EnumUtil::ToChars<CatalogType>(CatalogType value);
507
+ template<>
508
+ const char* EnumUtil::ToChars<OptimizerType>(OptimizerType value);
495
509
 
496
- template <>
497
- const char *EnumUtil::ToChars<SetScope>(SetScope value);
510
+ template<>
511
+ const char* EnumUtil::ToChars<OrderByNullType>(OrderByNullType value);
498
512
 
499
- template <>
500
- const char *EnumUtil::ToChars<TableScanType>(TableScanType value);
513
+ template<>
514
+ const char* EnumUtil::ToChars<OrderPreservationType>(OrderPreservationType value);
501
515
 
502
- template <>
503
- const char *EnumUtil::ToChars<SetType>(SetType value);
516
+ template<>
517
+ const char* EnumUtil::ToChars<OrderType>(OrderType value);
504
518
 
505
- template <>
506
- const char *EnumUtil::ToChars<ExpressionType>(ExpressionType value);
519
+ template<>
520
+ const char* EnumUtil::ToChars<OutputStream>(OutputStream value);
507
521
 
508
- template <>
509
- const char *EnumUtil::ToChars<ExpressionClass>(ExpressionClass value);
522
+ template<>
523
+ const char* EnumUtil::ToChars<ParseInfoType>(ParseInfoType value);
510
524
 
511
- template <>
512
- const char *EnumUtil::ToChars<PendingExecutionResult>(PendingExecutionResult value);
525
+ template<>
526
+ const char* EnumUtil::ToChars<ParserExtensionResultType>(ParserExtensionResultType value);
513
527
 
514
- template <>
515
- const char *EnumUtil::ToChars<WindowAggregationMode>(WindowAggregationMode value);
528
+ template<>
529
+ const char* EnumUtil::ToChars<ParserMode>(ParserMode value);
516
530
 
517
- template <>
518
- const char *EnumUtil::ToChars<SubqueryType>(SubqueryType value);
531
+ template<>
532
+ const char* EnumUtil::ToChars<PartitionSortStage>(PartitionSortStage value);
519
533
 
520
- template <>
521
- const char *EnumUtil::ToChars<OrderType>(OrderType value);
534
+ template<>
535
+ const char* EnumUtil::ToChars<PartitionedColumnDataType>(PartitionedColumnDataType value);
522
536
 
523
- template <>
524
- const char *EnumUtil::ToChars<OrderByNullType>(OrderByNullType value);
537
+ template<>
538
+ const char* EnumUtil::ToChars<PartitionedTupleDataType>(PartitionedTupleDataType value);
525
539
 
526
- template <>
527
- const char *EnumUtil::ToChars<DefaultOrderByNullType>(DefaultOrderByNullType value);
540
+ template<>
541
+ const char* EnumUtil::ToChars<PendingExecutionResult>(PendingExecutionResult value);
528
542
 
529
- template <>
530
- const char *EnumUtil::ToChars<DatePartSpecifier>(DatePartSpecifier value);
543
+ template<>
544
+ const char* EnumUtil::ToChars<PhysicalOperatorType>(PhysicalOperatorType value);
531
545
 
532
- template <>
533
- const char *EnumUtil::ToChars<OnEntryNotFound>(OnEntryNotFound value);
546
+ template<>
547
+ const char* EnumUtil::ToChars<PhysicalType>(PhysicalType value);
534
548
 
535
- template <>
536
- const char *EnumUtil::ToChars<LogicalOperatorType>(LogicalOperatorType value);
549
+ template<>
550
+ const char* EnumUtil::ToChars<PragmaType>(PragmaType value);
537
551
 
538
- template <>
539
- const char *EnumUtil::ToChars<OperatorResultType>(OperatorResultType value);
552
+ template<>
553
+ const char* EnumUtil::ToChars<PreparedParamType>(PreparedParamType value);
540
554
 
541
- template <>
542
- const char *EnumUtil::ToChars<OperatorFinalizeResultType>(OperatorFinalizeResultType value);
555
+ template<>
556
+ const char* EnumUtil::ToChars<ProfilerPrintFormat>(ProfilerPrintFormat value);
543
557
 
544
- template <>
545
- const char *EnumUtil::ToChars<SourceResultType>(SourceResultType value);
558
+ template<>
559
+ const char* EnumUtil::ToChars<QueryNodeType>(QueryNodeType value);
546
560
 
547
- template <>
548
- const char *EnumUtil::ToChars<SinkResultType>(SinkResultType value);
561
+ template<>
562
+ const char* EnumUtil::ToChars<QueryResultType>(QueryResultType value);
549
563
 
550
- template <>
551
- const char *EnumUtil::ToChars<SinkFinalizeType>(SinkFinalizeType value);
564
+ template<>
565
+ const char* EnumUtil::ToChars<QuoteRule>(QuoteRule value);
552
566
 
553
- template <>
554
- const char *EnumUtil::ToChars<JoinRefType>(JoinRefType value);
567
+ template<>
568
+ const char* EnumUtil::ToChars<RelationType>(RelationType value);
555
569
 
556
- template <>
557
- const char *EnumUtil::ToChars<UndoFlags>(UndoFlags value);
570
+ template<>
571
+ const char* EnumUtil::ToChars<RenderMode>(RenderMode value);
558
572
 
559
- template <>
560
- const char *EnumUtil::ToChars<SetOperationType>(SetOperationType value);
573
+ template<>
574
+ const char* EnumUtil::ToChars<ResultModifierType>(ResultModifierType value);
561
575
 
562
- template <>
563
- const char *EnumUtil::ToChars<OptimizerType>(OptimizerType value);
576
+ template<>
577
+ const char* EnumUtil::ToChars<SampleMethod>(SampleMethod value);
564
578
 
565
- template <>
566
- const char *EnumUtil::ToChars<CompressionType>(CompressionType value);
579
+ template<>
580
+ const char* EnumUtil::ToChars<SequenceInfo>(SequenceInfo value);
567
581
 
568
- template <>
569
- const char *EnumUtil::ToChars<AggregateHandling>(AggregateHandling value);
582
+ template<>
583
+ const char* EnumUtil::ToChars<SetOperationType>(SetOperationType value);
570
584
 
571
- template <>
572
- const char *EnumUtil::ToChars<TableReferenceType>(TableReferenceType value);
585
+ template<>
586
+ const char* EnumUtil::ToChars<SetScope>(SetScope value);
573
587
 
574
- template <>
575
- const char *EnumUtil::ToChars<RelationType>(RelationType value);
588
+ template<>
589
+ const char* EnumUtil::ToChars<SetType>(SetType value);
576
590
 
577
- template <>
578
- const char *EnumUtil::ToChars<FilterPropagateResult>(FilterPropagateResult value);
591
+ template<>
592
+ const char* EnumUtil::ToChars<SimplifiedTokenType>(SimplifiedTokenType value);
579
593
 
580
- template <>
581
- const char *EnumUtil::ToChars<IndexType>(IndexType value);
594
+ template<>
595
+ const char* EnumUtil::ToChars<SinkCombineResultType>(SinkCombineResultType value);
582
596
 
583
- template <>
584
- const char *EnumUtil::ToChars<ExplainOutputType>(ExplainOutputType value);
597
+ template<>
598
+ const char* EnumUtil::ToChars<SinkFinalizeType>(SinkFinalizeType value);
585
599
 
586
- template <>
587
- const char *EnumUtil::ToChars<NType>(NType value);
600
+ template<>
601
+ const char* EnumUtil::ToChars<SinkResultType>(SinkResultType value);
588
602
 
589
- template <>
590
- const char *EnumUtil::ToChars<VerifyExistenceType>(VerifyExistenceType value);
603
+ template<>
604
+ const char* EnumUtil::ToChars<SourceResultType>(SourceResultType value);
591
605
 
592
- template <>
593
- const char *EnumUtil::ToChars<ParserMode>(ParserMode value);
606
+ template<>
607
+ const char* EnumUtil::ToChars<StatementReturnType>(StatementReturnType value);
594
608
 
595
- template <>
596
- const char *EnumUtil::ToChars<ErrorType>(ErrorType value);
609
+ template<>
610
+ const char* EnumUtil::ToChars<StatementType>(StatementType value);
597
611
 
598
- template <>
599
- const char *EnumUtil::ToChars<AppenderType>(AppenderType value);
612
+ template<>
613
+ const char* EnumUtil::ToChars<StatisticsType>(StatisticsType value);
600
614
 
601
- template <>
602
- const char *EnumUtil::ToChars<CheckpointAbort>(CheckpointAbort value);
615
+ template<>
616
+ const char* EnumUtil::ToChars<StatsInfo>(StatsInfo value);
603
617
 
604
- template <>
605
- const char *EnumUtil::ToChars<ExtensionLoadResult>(ExtensionLoadResult value);
618
+ template<>
619
+ const char* EnumUtil::ToChars<StrTimeSpecifier>(StrTimeSpecifier value);
606
620
 
607
- template <>
608
- const char *EnumUtil::ToChars<QueryResultType>(QueryResultType value);
621
+ template<>
622
+ const char* EnumUtil::ToChars<SubqueryType>(SubqueryType value);
609
623
 
610
- template <>
611
- const char *EnumUtil::ToChars<CAPIResultSetType>(CAPIResultSetType value);
624
+ template<>
625
+ const char* EnumUtil::ToChars<TableColumnType>(TableColumnType value);
612
626
 
613
- template <>
614
- TaskExecutionMode EnumUtil::FromString<TaskExecutionMode>(const char *value);
627
+ template<>
628
+ const char* EnumUtil::ToChars<TableFilterType>(TableFilterType value);
615
629
 
616
- template <>
617
- TaskExecutionResult EnumUtil::FromString<TaskExecutionResult>(const char *value);
630
+ template<>
631
+ const char* EnumUtil::ToChars<TableReferenceType>(TableReferenceType value);
618
632
 
619
- template <>
620
- InterruptMode EnumUtil::FromString<InterruptMode>(const char *value);
633
+ template<>
634
+ const char* EnumUtil::ToChars<TableScanType>(TableScanType value);
621
635
 
622
- template <>
623
- DistinctType EnumUtil::FromString<DistinctType>(const char *value);
636
+ template<>
637
+ const char* EnumUtil::ToChars<TaskExecutionMode>(TaskExecutionMode value);
624
638
 
625
- template <>
626
- TableFilterType EnumUtil::FromString<TableFilterType>(const char *value);
639
+ template<>
640
+ const char* EnumUtil::ToChars<TaskExecutionResult>(TaskExecutionResult value);
627
641
 
628
- template <>
629
- BindingMode EnumUtil::FromString<BindingMode>(const char *value);
642
+ template<>
643
+ const char* EnumUtil::ToChars<TimestampCastResult>(TimestampCastResult value);
630
644
 
631
- template <>
632
- TableColumnType EnumUtil::FromString<TableColumnType>(const char *value);
645
+ template<>
646
+ const char* EnumUtil::ToChars<TransactionType>(TransactionType value);
633
647
 
634
- template <>
635
- AggregateType EnumUtil::FromString<AggregateType>(const char *value);
648
+ template<>
649
+ const char* EnumUtil::ToChars<TupleDataPinProperties>(TupleDataPinProperties value);
636
650
 
637
- template <>
638
- AggregateOrderDependent EnumUtil::FromString<AggregateOrderDependent>(const char *value);
651
+ template<>
652
+ const char* EnumUtil::ToChars<UndoFlags>(UndoFlags value);
639
653
 
640
- template <>
641
- FunctionNullHandling EnumUtil::FromString<FunctionNullHandling>(const char *value);
654
+ template<>
655
+ const char* EnumUtil::ToChars<UnionInvalidReason>(UnionInvalidReason value);
642
656
 
643
- template <>
644
- FunctionSideEffects EnumUtil::FromString<FunctionSideEffects>(const char *value);
657
+ template<>
658
+ const char* EnumUtil::ToChars<VectorAuxiliaryDataType>(VectorAuxiliaryDataType value);
645
659
 
646
- template <>
647
- MacroType EnumUtil::FromString<MacroType>(const char *value);
660
+ template<>
661
+ const char* EnumUtil::ToChars<VectorBufferType>(VectorBufferType value);
648
662
 
649
- template <>
650
- ArrowVariableSizeType EnumUtil::FromString<ArrowVariableSizeType>(const char *value);
663
+ template<>
664
+ const char* EnumUtil::ToChars<VectorType>(VectorType value);
651
665
 
652
- template <>
653
- ArrowDateTimeType EnumUtil::FromString<ArrowDateTimeType>(const char *value);
666
+ template<>
667
+ const char* EnumUtil::ToChars<VerificationType>(VerificationType value);
654
668
 
655
- template <>
656
- StrTimeSpecifier EnumUtil::FromString<StrTimeSpecifier>(const char *value);
669
+ template<>
670
+ const char* EnumUtil::ToChars<VerifyExistenceType>(VerifyExistenceType value);
657
671
 
658
- template <>
659
- SimplifiedTokenType EnumUtil::FromString<SimplifiedTokenType>(const char *value);
672
+ template<>
673
+ const char* EnumUtil::ToChars<WALType>(WALType value);
660
674
 
661
- template <>
662
- KeywordCategory EnumUtil::FromString<KeywordCategory>(const char *value);
675
+ template<>
676
+ const char* EnumUtil::ToChars<WindowAggregationMode>(WindowAggregationMode value);
663
677
 
664
- template <>
665
- ResultModifierType EnumUtil::FromString<ResultModifierType>(const char *value);
678
+ template<>
679
+ const char* EnumUtil::ToChars<WindowBoundary>(WindowBoundary value);
666
680
 
667
- template <>
668
- ConstraintType EnumUtil::FromString<ConstraintType>(const char *value);
669
681
 
670
- template <>
671
- ForeignKeyType EnumUtil::FromString<ForeignKeyType>(const char *value);
682
+ template<>
683
+ AccessMode EnumUtil::FromString<AccessMode>(const char *value);
672
684
 
673
- template <>
674
- ParserExtensionResultType EnumUtil::FromString<ParserExtensionResultType>(const char *value);
685
+ template<>
686
+ AggregateHandling EnumUtil::FromString<AggregateHandling>(const char *value);
675
687
 
676
- template <>
677
- QueryNodeType EnumUtil::FromString<QueryNodeType>(const char *value);
688
+ template<>
689
+ AggregateOrderDependent EnumUtil::FromString<AggregateOrderDependent>(const char *value);
678
690
 
679
- template <>
680
- SequenceInfo EnumUtil::FromString<SequenceInfo>(const char *value);
691
+ template<>
692
+ AggregateType EnumUtil::FromString<AggregateType>(const char *value);
681
693
 
682
- template <>
694
+ template<>
695
+ AlterForeignKeyType EnumUtil::FromString<AlterForeignKeyType>(const char *value);
696
+
697
+ template<>
683
698
  AlterScalarFunctionType EnumUtil::FromString<AlterScalarFunctionType>(const char *value);
684
699
 
685
- template <>
700
+ template<>
701
+ AlterTableFunctionType EnumUtil::FromString<AlterTableFunctionType>(const char *value);
702
+
703
+ template<>
686
704
  AlterTableType EnumUtil::FromString<AlterTableType>(const char *value);
687
705
 
688
- template <>
706
+ template<>
707
+ AlterType EnumUtil::FromString<AlterType>(const char *value);
708
+
709
+ template<>
689
710
  AlterViewType EnumUtil::FromString<AlterViewType>(const char *value);
690
711
 
691
- template <>
692
- AlterTableFunctionType EnumUtil::FromString<AlterTableFunctionType>(const char *value);
712
+ template<>
713
+ AppenderType EnumUtil::FromString<AppenderType>(const char *value);
693
714
 
694
- template <>
695
- AlterType EnumUtil::FromString<AlterType>(const char *value);
715
+ template<>
716
+ ArrowDateTimeType EnumUtil::FromString<ArrowDateTimeType>(const char *value);
696
717
 
697
- template <>
698
- PragmaType EnumUtil::FromString<PragmaType>(const char *value);
718
+ template<>
719
+ ArrowVariableSizeType EnumUtil::FromString<ArrowVariableSizeType>(const char *value);
699
720
 
700
- template <>
701
- OnCreateConflict EnumUtil::FromString<OnCreateConflict>(const char *value);
721
+ template<>
722
+ BindingMode EnumUtil::FromString<BindingMode>(const char *value);
702
723
 
703
- template <>
704
- TransactionType EnumUtil::FromString<TransactionType>(const char *value);
724
+ template<>
725
+ BitpackingMode EnumUtil::FromString<BitpackingMode>(const char *value);
705
726
 
706
- template <>
707
- SampleMethod EnumUtil::FromString<SampleMethod>(const char *value);
727
+ template<>
728
+ BlockState EnumUtil::FromString<BlockState>(const char *value);
708
729
 
709
- template <>
710
- ExplainType EnumUtil::FromString<ExplainType>(const char *value);
730
+ template<>
731
+ CAPIResultSetType EnumUtil::FromString<CAPIResultSetType>(const char *value);
711
732
 
712
- template <>
713
- OnConflictAction EnumUtil::FromString<OnConflictAction>(const char *value);
733
+ template<>
734
+ CSVState EnumUtil::FromString<CSVState>(const char *value);
714
735
 
715
- template <>
716
- WindowBoundary EnumUtil::FromString<WindowBoundary>(const char *value);
736
+ template<>
737
+ CTEMaterialize EnumUtil::FromString<CTEMaterialize>(const char *value);
717
738
 
718
- template <>
719
- DataFileType EnumUtil::FromString<DataFileType>(const char *value);
739
+ template<>
740
+ CatalogType EnumUtil::FromString<CatalogType>(const char *value);
720
741
 
721
- template <>
722
- StatsInfo EnumUtil::FromString<StatsInfo>(const char *value);
742
+ template<>
743
+ CheckpointAbort EnumUtil::FromString<CheckpointAbort>(const char *value);
723
744
 
724
- template <>
725
- StatisticsType EnumUtil::FromString<StatisticsType>(const char *value);
745
+ template<>
746
+ ChunkInfoType EnumUtil::FromString<ChunkInfoType>(const char *value);
747
+
748
+ template<>
749
+ ColumnDataAllocatorType EnumUtil::FromString<ColumnDataAllocatorType>(const char *value);
750
+
751
+ template<>
752
+ ColumnDataScanProperties EnumUtil::FromString<ColumnDataScanProperties>(const char *value);
726
753
 
727
- template <>
754
+ template<>
728
755
  ColumnSegmentType EnumUtil::FromString<ColumnSegmentType>(const char *value);
729
756
 
730
- template <>
731
- ChunkInfoType EnumUtil::FromString<ChunkInfoType>(const char *value);
757
+ template<>
758
+ CompressedMaterializationDirection EnumUtil::FromString<CompressedMaterializationDirection>(const char *value);
732
759
 
733
- template <>
734
- BitpackingMode EnumUtil::FromString<BitpackingMode>(const char *value);
760
+ template<>
761
+ CompressionType EnumUtil::FromString<CompressionType>(const char *value);
735
762
 
736
- template <>
737
- BlockState EnumUtil::FromString<BlockState>(const char *value);
763
+ template<>
764
+ ConflictManagerMode EnumUtil::FromString<ConflictManagerMode>(const char *value);
738
765
 
739
- template <>
740
- VerificationType EnumUtil::FromString<VerificationType>(const char *value);
766
+ template<>
767
+ ConstraintType EnumUtil::FromString<ConstraintType>(const char *value);
741
768
 
742
- template <>
743
- FileLockType EnumUtil::FromString<FileLockType>(const char *value);
769
+ template<>
770
+ DataFileType EnumUtil::FromString<DataFileType>(const char *value);
744
771
 
745
- template <>
746
- FileBufferType EnumUtil::FromString<FileBufferType>(const char *value);
772
+ template<>
773
+ DatePartSpecifier EnumUtil::FromString<DatePartSpecifier>(const char *value);
774
+
775
+ template<>
776
+ DebugInitialize EnumUtil::FromString<DebugInitialize>(const char *value);
777
+
778
+ template<>
779
+ DefaultOrderByNullType EnumUtil::FromString<DefaultOrderByNullType>(const char *value);
747
780
 
748
- template <>
781
+ template<>
782
+ DistinctType EnumUtil::FromString<DistinctType>(const char *value);
783
+
784
+ template<>
785
+ ErrorType EnumUtil::FromString<ErrorType>(const char *value);
786
+
787
+ template<>
749
788
  ExceptionFormatValueType EnumUtil::FromString<ExceptionFormatValueType>(const char *value);
750
789
 
751
- template <>
790
+ template<>
791
+ ExplainOutputType EnumUtil::FromString<ExplainOutputType>(const char *value);
792
+
793
+ template<>
794
+ ExplainType EnumUtil::FromString<ExplainType>(const char *value);
795
+
796
+ template<>
797
+ ExpressionClass EnumUtil::FromString<ExpressionClass>(const char *value);
798
+
799
+ template<>
800
+ ExpressionType EnumUtil::FromString<ExpressionType>(const char *value);
801
+
802
+ template<>
803
+ ExtensionLoadResult EnumUtil::FromString<ExtensionLoadResult>(const char *value);
804
+
805
+ template<>
752
806
  ExtraTypeInfoType EnumUtil::FromString<ExtraTypeInfoType>(const char *value);
753
807
 
754
- template <>
755
- PhysicalType EnumUtil::FromString<PhysicalType>(const char *value);
808
+ template<>
809
+ FileBufferType EnumUtil::FromString<FileBufferType>(const char *value);
756
810
 
757
- template <>
758
- LogicalTypeId EnumUtil::FromString<LogicalTypeId>(const char *value);
811
+ template<>
812
+ FileCompressionType EnumUtil::FromString<FileCompressionType>(const char *value);
759
813
 
760
- template <>
761
- OutputStream EnumUtil::FromString<OutputStream>(const char *value);
814
+ template<>
815
+ FileGlobOptions EnumUtil::FromString<FileGlobOptions>(const char *value);
762
816
 
763
- template <>
764
- TimestampCastResult EnumUtil::FromString<TimestampCastResult>(const char *value);
817
+ template<>
818
+ FileLockType EnumUtil::FromString<FileLockType>(const char *value);
765
819
 
766
- template <>
767
- ConflictManagerMode EnumUtil::FromString<ConflictManagerMode>(const char *value);
820
+ template<>
821
+ FilterPropagateResult EnumUtil::FromString<FilterPropagateResult>(const char *value);
768
822
 
769
- template <>
770
- LookupResultType EnumUtil::FromString<LookupResultType>(const char *value);
823
+ template<>
824
+ ForeignKeyType EnumUtil::FromString<ForeignKeyType>(const char *value);
771
825
 
772
- template <>
773
- MapInvalidReason EnumUtil::FromString<MapInvalidReason>(const char *value);
826
+ template<>
827
+ FunctionNullHandling EnumUtil::FromString<FunctionNullHandling>(const char *value);
774
828
 
775
- template <>
776
- UnionInvalidReason EnumUtil::FromString<UnionInvalidReason>(const char *value);
829
+ template<>
830
+ FunctionSideEffects EnumUtil::FromString<FunctionSideEffects>(const char *value);
777
831
 
778
- template <>
779
- VectorBufferType EnumUtil::FromString<VectorBufferType>(const char *value);
832
+ template<>
833
+ HLLStorageType EnumUtil::FromString<HLLStorageType>(const char *value);
780
834
 
781
- template <>
782
- VectorAuxiliaryDataType EnumUtil::FromString<VectorAuxiliaryDataType>(const char *value);
835
+ template<>
836
+ IndexConstraintType EnumUtil::FromString<IndexConstraintType>(const char *value);
783
837
 
784
- template <>
785
- PartitionedColumnDataType EnumUtil::FromString<PartitionedColumnDataType>(const char *value);
838
+ template<>
839
+ IndexType EnumUtil::FromString<IndexType>(const char *value);
786
840
 
787
- template <>
788
- ColumnDataAllocatorType EnumUtil::FromString<ColumnDataAllocatorType>(const char *value);
841
+ template<>
842
+ InsertColumnOrder EnumUtil::FromString<InsertColumnOrder>(const char *value);
789
843
 
790
- template <>
791
- ColumnDataScanProperties EnumUtil::FromString<ColumnDataScanProperties>(const char *value);
844
+ template<>
845
+ InterruptMode EnumUtil::FromString<InterruptMode>(const char *value);
792
846
 
793
- template <>
794
- PartitionedTupleDataType EnumUtil::FromString<PartitionedTupleDataType>(const char *value);
847
+ template<>
848
+ JoinRefType EnumUtil::FromString<JoinRefType>(const char *value);
795
849
 
796
- template <>
797
- TupleDataPinProperties EnumUtil::FromString<TupleDataPinProperties>(const char *value);
850
+ template<>
851
+ JoinType EnumUtil::FromString<JoinType>(const char *value);
798
852
 
799
- template <>
800
- PartitionSortStage EnumUtil::FromString<PartitionSortStage>(const char *value);
853
+ template<>
854
+ KeywordCategory EnumUtil::FromString<KeywordCategory>(const char *value);
801
855
 
802
- template <>
803
- PhysicalOperatorType EnumUtil::FromString<PhysicalOperatorType>(const char *value);
856
+ template<>
857
+ LoadType EnumUtil::FromString<LoadType>(const char *value);
804
858
 
805
- template <>
806
- VectorType EnumUtil::FromString<VectorType>(const char *value);
859
+ template<>
860
+ LogicalOperatorType EnumUtil::FromString<LogicalOperatorType>(const char *value);
807
861
 
808
- template <>
809
- AccessMode EnumUtil::FromString<AccessMode>(const char *value);
862
+ template<>
863
+ LogicalTypeId EnumUtil::FromString<LogicalTypeId>(const char *value);
810
864
 
811
- template <>
812
- FileGlobOptions EnumUtil::FromString<FileGlobOptions>(const char *value);
865
+ template<>
866
+ LookupResultType EnumUtil::FromString<LookupResultType>(const char *value);
813
867
 
814
- template <>
815
- WALType EnumUtil::FromString<WALType>(const char *value);
868
+ template<>
869
+ MacroType EnumUtil::FromString<MacroType>(const char *value);
816
870
 
817
- template <>
818
- JoinType EnumUtil::FromString<JoinType>(const char *value);
871
+ template<>
872
+ MapInvalidReason EnumUtil::FromString<MapInvalidReason>(const char *value);
819
873
 
820
- template <>
821
- FileCompressionType EnumUtil::FromString<FileCompressionType>(const char *value);
874
+ template<>
875
+ NType EnumUtil::FromString<NType>(const char *value);
822
876
 
823
- template <>
824
- ProfilerPrintFormat EnumUtil::FromString<ProfilerPrintFormat>(const char *value);
877
+ template<>
878
+ NewLineIdentifier EnumUtil::FromString<NewLineIdentifier>(const char *value);
825
879
 
826
- template <>
827
- StatementType EnumUtil::FromString<StatementType>(const char *value);
880
+ template<>
881
+ OnConflictAction EnumUtil::FromString<OnConflictAction>(const char *value);
828
882
 
829
- template <>
830
- StatementReturnType EnumUtil::FromString<StatementReturnType>(const char *value);
883
+ template<>
884
+ OnCreateConflict EnumUtil::FromString<OnCreateConflict>(const char *value);
885
+
886
+ template<>
887
+ OnEntryNotFound EnumUtil::FromString<OnEntryNotFound>(const char *value);
888
+
889
+ template<>
890
+ OperatorFinalizeResultType EnumUtil::FromString<OperatorFinalizeResultType>(const char *value);
891
+
892
+ template<>
893
+ OperatorResultType EnumUtil::FromString<OperatorResultType>(const char *value);
831
894
 
832
- template <>
895
+ template<>
896
+ OptimizerType EnumUtil::FromString<OptimizerType>(const char *value);
897
+
898
+ template<>
899
+ OrderByNullType EnumUtil::FromString<OrderByNullType>(const char *value);
900
+
901
+ template<>
833
902
  OrderPreservationType EnumUtil::FromString<OrderPreservationType>(const char *value);
834
903
 
835
- template <>
836
- DebugInitialize EnumUtil::FromString<DebugInitialize>(const char *value);
904
+ template<>
905
+ OrderType EnumUtil::FromString<OrderType>(const char *value);
837
906
 
838
- template <>
839
- CatalogType EnumUtil::FromString<CatalogType>(const char *value);
907
+ template<>
908
+ OutputStream EnumUtil::FromString<OutputStream>(const char *value);
840
909
 
841
- template <>
842
- SetScope EnumUtil::FromString<SetScope>(const char *value);
910
+ template<>
911
+ ParseInfoType EnumUtil::FromString<ParseInfoType>(const char *value);
843
912
 
844
- template <>
845
- TableScanType EnumUtil::FromString<TableScanType>(const char *value);
913
+ template<>
914
+ ParserExtensionResultType EnumUtil::FromString<ParserExtensionResultType>(const char *value);
846
915
 
847
- template <>
848
- SetType EnumUtil::FromString<SetType>(const char *value);
916
+ template<>
917
+ ParserMode EnumUtil::FromString<ParserMode>(const char *value);
849
918
 
850
- template <>
851
- ExpressionType EnumUtil::FromString<ExpressionType>(const char *value);
919
+ template<>
920
+ PartitionSortStage EnumUtil::FromString<PartitionSortStage>(const char *value);
852
921
 
853
- template <>
854
- ExpressionClass EnumUtil::FromString<ExpressionClass>(const char *value);
922
+ template<>
923
+ PartitionedColumnDataType EnumUtil::FromString<PartitionedColumnDataType>(const char *value);
924
+
925
+ template<>
926
+ PartitionedTupleDataType EnumUtil::FromString<PartitionedTupleDataType>(const char *value);
855
927
 
856
- template <>
928
+ template<>
857
929
  PendingExecutionResult EnumUtil::FromString<PendingExecutionResult>(const char *value);
858
930
 
859
- template <>
860
- WindowAggregationMode EnumUtil::FromString<WindowAggregationMode>(const char *value);
931
+ template<>
932
+ PhysicalOperatorType EnumUtil::FromString<PhysicalOperatorType>(const char *value);
861
933
 
862
- template <>
863
- SubqueryType EnumUtil::FromString<SubqueryType>(const char *value);
934
+ template<>
935
+ PhysicalType EnumUtil::FromString<PhysicalType>(const char *value);
864
936
 
865
- template <>
866
- OrderType EnumUtil::FromString<OrderType>(const char *value);
937
+ template<>
938
+ PragmaType EnumUtil::FromString<PragmaType>(const char *value);
867
939
 
868
- template <>
869
- OrderByNullType EnumUtil::FromString<OrderByNullType>(const char *value);
940
+ template<>
941
+ PreparedParamType EnumUtil::FromString<PreparedParamType>(const char *value);
870
942
 
871
- template <>
872
- DefaultOrderByNullType EnumUtil::FromString<DefaultOrderByNullType>(const char *value);
943
+ template<>
944
+ ProfilerPrintFormat EnumUtil::FromString<ProfilerPrintFormat>(const char *value);
873
945
 
874
- template <>
875
- DatePartSpecifier EnumUtil::FromString<DatePartSpecifier>(const char *value);
946
+ template<>
947
+ QueryNodeType EnumUtil::FromString<QueryNodeType>(const char *value);
876
948
 
877
- template <>
878
- OnEntryNotFound EnumUtil::FromString<OnEntryNotFound>(const char *value);
949
+ template<>
950
+ QueryResultType EnumUtil::FromString<QueryResultType>(const char *value);
879
951
 
880
- template <>
881
- LogicalOperatorType EnumUtil::FromString<LogicalOperatorType>(const char *value);
952
+ template<>
953
+ QuoteRule EnumUtil::FromString<QuoteRule>(const char *value);
882
954
 
883
- template <>
884
- OperatorResultType EnumUtil::FromString<OperatorResultType>(const char *value);
955
+ template<>
956
+ RelationType EnumUtil::FromString<RelationType>(const char *value);
885
957
 
886
- template <>
887
- OperatorFinalizeResultType EnumUtil::FromString<OperatorFinalizeResultType>(const char *value);
958
+ template<>
959
+ RenderMode EnumUtil::FromString<RenderMode>(const char *value);
888
960
 
889
- template <>
890
- SourceResultType EnumUtil::FromString<SourceResultType>(const char *value);
961
+ template<>
962
+ ResultModifierType EnumUtil::FromString<ResultModifierType>(const char *value);
891
963
 
892
- template <>
893
- SinkResultType EnumUtil::FromString<SinkResultType>(const char *value);
964
+ template<>
965
+ SampleMethod EnumUtil::FromString<SampleMethod>(const char *value);
966
+
967
+ template<>
968
+ SequenceInfo EnumUtil::FromString<SequenceInfo>(const char *value);
894
969
 
895
- template <>
970
+ template<>
971
+ SetOperationType EnumUtil::FromString<SetOperationType>(const char *value);
972
+
973
+ template<>
974
+ SetScope EnumUtil::FromString<SetScope>(const char *value);
975
+
976
+ template<>
977
+ SetType EnumUtil::FromString<SetType>(const char *value);
978
+
979
+ template<>
980
+ SimplifiedTokenType EnumUtil::FromString<SimplifiedTokenType>(const char *value);
981
+
982
+ template<>
983
+ SinkCombineResultType EnumUtil::FromString<SinkCombineResultType>(const char *value);
984
+
985
+ template<>
896
986
  SinkFinalizeType EnumUtil::FromString<SinkFinalizeType>(const char *value);
897
987
 
898
- template <>
899
- JoinRefType EnumUtil::FromString<JoinRefType>(const char *value);
988
+ template<>
989
+ SinkResultType EnumUtil::FromString<SinkResultType>(const char *value);
900
990
 
901
- template <>
902
- UndoFlags EnumUtil::FromString<UndoFlags>(const char *value);
991
+ template<>
992
+ SourceResultType EnumUtil::FromString<SourceResultType>(const char *value);
903
993
 
904
- template <>
905
- SetOperationType EnumUtil::FromString<SetOperationType>(const char *value);
994
+ template<>
995
+ StatementReturnType EnumUtil::FromString<StatementReturnType>(const char *value);
906
996
 
907
- template <>
908
- OptimizerType EnumUtil::FromString<OptimizerType>(const char *value);
997
+ template<>
998
+ StatementType EnumUtil::FromString<StatementType>(const char *value);
909
999
 
910
- template <>
911
- CompressionType EnumUtil::FromString<CompressionType>(const char *value);
1000
+ template<>
1001
+ StatisticsType EnumUtil::FromString<StatisticsType>(const char *value);
912
1002
 
913
- template <>
914
- AggregateHandling EnumUtil::FromString<AggregateHandling>(const char *value);
1003
+ template<>
1004
+ StatsInfo EnumUtil::FromString<StatsInfo>(const char *value);
1005
+
1006
+ template<>
1007
+ StrTimeSpecifier EnumUtil::FromString<StrTimeSpecifier>(const char *value);
1008
+
1009
+ template<>
1010
+ SubqueryType EnumUtil::FromString<SubqueryType>(const char *value);
915
1011
 
916
- template <>
1012
+ template<>
1013
+ TableColumnType EnumUtil::FromString<TableColumnType>(const char *value);
1014
+
1015
+ template<>
1016
+ TableFilterType EnumUtil::FromString<TableFilterType>(const char *value);
1017
+
1018
+ template<>
917
1019
  TableReferenceType EnumUtil::FromString<TableReferenceType>(const char *value);
918
1020
 
919
- template <>
920
- RelationType EnumUtil::FromString<RelationType>(const char *value);
1021
+ template<>
1022
+ TableScanType EnumUtil::FromString<TableScanType>(const char *value);
921
1023
 
922
- template <>
923
- FilterPropagateResult EnumUtil::FromString<FilterPropagateResult>(const char *value);
1024
+ template<>
1025
+ TaskExecutionMode EnumUtil::FromString<TaskExecutionMode>(const char *value);
924
1026
 
925
- template <>
926
- IndexType EnumUtil::FromString<IndexType>(const char *value);
1027
+ template<>
1028
+ TaskExecutionResult EnumUtil::FromString<TaskExecutionResult>(const char *value);
927
1029
 
928
- template <>
929
- ExplainOutputType EnumUtil::FromString<ExplainOutputType>(const char *value);
1030
+ template<>
1031
+ TimestampCastResult EnumUtil::FromString<TimestampCastResult>(const char *value);
930
1032
 
931
- template <>
932
- NType EnumUtil::FromString<NType>(const char *value);
1033
+ template<>
1034
+ TransactionType EnumUtil::FromString<TransactionType>(const char *value);
933
1035
 
934
- template <>
935
- VerifyExistenceType EnumUtil::FromString<VerifyExistenceType>(const char *value);
1036
+ template<>
1037
+ TupleDataPinProperties EnumUtil::FromString<TupleDataPinProperties>(const char *value);
936
1038
 
937
- template <>
938
- ParserMode EnumUtil::FromString<ParserMode>(const char *value);
1039
+ template<>
1040
+ UndoFlags EnumUtil::FromString<UndoFlags>(const char *value);
939
1041
 
940
- template <>
941
- ErrorType EnumUtil::FromString<ErrorType>(const char *value);
1042
+ template<>
1043
+ UnionInvalidReason EnumUtil::FromString<UnionInvalidReason>(const char *value);
942
1044
 
943
- template <>
944
- AppenderType EnumUtil::FromString<AppenderType>(const char *value);
1045
+ template<>
1046
+ VectorAuxiliaryDataType EnumUtil::FromString<VectorAuxiliaryDataType>(const char *value);
945
1047
 
946
- template <>
947
- CheckpointAbort EnumUtil::FromString<CheckpointAbort>(const char *value);
1048
+ template<>
1049
+ VectorBufferType EnumUtil::FromString<VectorBufferType>(const char *value);
948
1050
 
949
- template <>
950
- ExtensionLoadResult EnumUtil::FromString<ExtensionLoadResult>(const char *value);
1051
+ template<>
1052
+ VectorType EnumUtil::FromString<VectorType>(const char *value);
951
1053
 
952
- template <>
953
- QueryResultType EnumUtil::FromString<QueryResultType>(const char *value);
1054
+ template<>
1055
+ VerificationType EnumUtil::FromString<VerificationType>(const char *value);
1056
+
1057
+ template<>
1058
+ VerifyExistenceType EnumUtil::FromString<VerifyExistenceType>(const char *value);
1059
+
1060
+ template<>
1061
+ WALType EnumUtil::FromString<WALType>(const char *value);
1062
+
1063
+ template<>
1064
+ WindowAggregationMode EnumUtil::FromString<WindowAggregationMode>(const char *value);
1065
+
1066
+ template<>
1067
+ WindowBoundary EnumUtil::FromString<WindowBoundary>(const char *value);
954
1068
 
955
- template <>
956
- CAPIResultSetType EnumUtil::FromString<CAPIResultSetType>(const char *value);
957
1069
 
958
- } // namespace duckdb
1070
+ }