duckdb 1.0.1-dev21.0 → 1.0.1-dev27.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 (1390) hide show
  1. package/.github/workflows/HighPriorityIssues.yml +2 -2
  2. package/.github/workflows/NodeJS.yml +1 -1
  3. package/binding.gyp +41 -0
  4. package/package.json +1 -1
  5. package/src/duckdb/extension/icu/icu-dateadd.cpp +4 -2
  6. package/src/duckdb/extension/icu/icu-datefunc.cpp +6 -2
  7. package/src/duckdb/extension/icu/icu-datesub.cpp +13 -2
  8. package/src/duckdb/extension/icu/icu-strptime.cpp +6 -6
  9. package/src/duckdb/extension/icu/icu-table-range.cpp +92 -73
  10. package/src/duckdb/extension/icu/icu-timebucket.cpp +12 -2
  11. package/src/duckdb/extension/icu/icu-timezone.cpp +3 -3
  12. package/src/duckdb/extension/icu/icu_extension.cpp +61 -9
  13. package/src/duckdb/extension/json/include/json_executors.hpp +20 -23
  14. package/src/duckdb/extension/json/include/json_functions.hpp +4 -0
  15. package/src/duckdb/extension/json/include/json_scan.hpp +6 -2
  16. package/src/duckdb/extension/json/include/json_structure.hpp +12 -9
  17. package/src/duckdb/extension/json/json_common.cpp +66 -10
  18. package/src/duckdb/extension/json/json_extension.cpp +13 -5
  19. package/src/duckdb/extension/json/json_functions/json_array_length.cpp +1 -1
  20. package/src/duckdb/extension/json/json_functions/json_create.cpp +21 -4
  21. package/src/duckdb/extension/json/json_functions/json_exists.cpp +32 -0
  22. package/src/duckdb/extension/json/json_functions/json_extract.cpp +2 -2
  23. package/src/duckdb/extension/json/json_functions/json_keys.cpp +1 -1
  24. package/src/duckdb/extension/json/json_functions/json_pretty.cpp +32 -0
  25. package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +5 -1
  26. package/src/duckdb/extension/json/json_functions/json_structure.cpp +305 -94
  27. package/src/duckdb/extension/json/json_functions/json_transform.cpp +1 -1
  28. package/src/duckdb/extension/json/json_functions/json_type.cpp +3 -3
  29. package/src/duckdb/extension/json/json_functions/json_value.cpp +42 -0
  30. package/src/duckdb/extension/json/json_functions/read_json.cpp +16 -2
  31. package/src/duckdb/extension/json/json_functions/read_json_objects.cpp +3 -2
  32. package/src/duckdb/extension/json/json_functions.cpp +5 -1
  33. package/src/duckdb/extension/json/json_scan.cpp +13 -12
  34. package/src/duckdb/extension/json/serialize_json.cpp +5 -3
  35. package/src/duckdb/extension/parquet/column_reader.cpp +206 -43
  36. package/src/duckdb/extension/parquet/column_writer.cpp +133 -62
  37. package/src/duckdb/extension/parquet/geo_parquet.cpp +391 -0
  38. package/src/duckdb/extension/parquet/include/boolean_column_reader.hpp +16 -5
  39. package/src/duckdb/extension/parquet/include/column_reader.hpp +37 -12
  40. package/src/duckdb/extension/parquet/include/column_writer.hpp +10 -11
  41. package/src/duckdb/extension/parquet/include/expression_column_reader.hpp +52 -0
  42. package/src/duckdb/extension/parquet/include/geo_parquet.hpp +139 -0
  43. package/src/duckdb/extension/parquet/include/parquet_crypto.hpp +13 -8
  44. package/src/duckdb/extension/parquet/include/parquet_decimal_utils.hpp +3 -0
  45. package/src/duckdb/extension/parquet/include/parquet_file_metadata_cache.hpp +7 -3
  46. package/src/duckdb/extension/parquet/include/parquet_reader.hpp +55 -8
  47. package/src/duckdb/extension/parquet/include/parquet_rle_bp_decoder.hpp +3 -3
  48. package/src/duckdb/extension/parquet/include/parquet_rle_bp_encoder.hpp +1 -1
  49. package/src/duckdb/extension/parquet/include/parquet_timestamp.hpp +8 -0
  50. package/src/duckdb/extension/parquet/include/parquet_writer.hpp +21 -7
  51. package/src/duckdb/extension/parquet/include/resizable_buffer.hpp +33 -11
  52. package/src/duckdb/extension/parquet/include/string_column_reader.hpp +5 -2
  53. package/src/duckdb/extension/parquet/include/templated_column_reader.hpp +48 -14
  54. package/src/duckdb/extension/parquet/parquet_crypto.cpp +109 -61
  55. package/src/duckdb/extension/parquet/parquet_extension.cpp +305 -72
  56. package/src/duckdb/extension/parquet/parquet_metadata.cpp +4 -4
  57. package/src/duckdb/extension/parquet/parquet_reader.cpp +151 -40
  58. package/src/duckdb/extension/parquet/parquet_statistics.cpp +50 -16
  59. package/src/duckdb/extension/parquet/parquet_timestamp.cpp +42 -1
  60. package/src/duckdb/extension/parquet/parquet_writer.cpp +67 -75
  61. package/src/duckdb/extension/parquet/serialize_parquet.cpp +3 -1
  62. package/src/duckdb/extension/parquet/zstd_file_system.cpp +5 -1
  63. package/src/duckdb/src/catalog/catalog.cpp +14 -16
  64. package/src/duckdb/src/catalog/catalog_entry/duck_index_entry.cpp +14 -11
  65. package/src/duckdb/src/catalog/catalog_entry/duck_schema_entry.cpp +39 -19
  66. package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +92 -78
  67. package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +10 -2
  68. package/src/duckdb/src/catalog/catalog_entry/macro_catalog_entry.cpp +10 -3
  69. package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +3 -3
  70. package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +7 -7
  71. package/src/duckdb/src/catalog/catalog_entry.cpp +6 -3
  72. package/src/duckdb/src/catalog/catalog_set.cpp +14 -19
  73. package/src/duckdb/src/catalog/default/default_functions.cpp +179 -166
  74. package/src/duckdb/src/catalog/default/default_generator.cpp +24 -0
  75. package/src/duckdb/src/catalog/default/default_schemas.cpp +4 -3
  76. package/src/duckdb/src/catalog/default/default_table_functions.cpp +148 -0
  77. package/src/duckdb/src/catalog/default/default_views.cpp +7 -3
  78. package/src/duckdb/src/catalog/duck_catalog.cpp +7 -1
  79. package/src/duckdb/src/common/adbc/adbc.cpp +120 -58
  80. package/src/duckdb/src/common/allocator.cpp +71 -6
  81. package/src/duckdb/src/common/arrow/appender/bool_data.cpp +8 -7
  82. package/src/duckdb/src/common/arrow/appender/fixed_size_list_data.cpp +1 -1
  83. package/src/duckdb/src/common/arrow/appender/union_data.cpp +4 -5
  84. package/src/duckdb/src/common/arrow/arrow_appender.cpp +55 -21
  85. package/src/duckdb/src/common/arrow/arrow_converter.cpp +85 -10
  86. package/src/duckdb/src/common/arrow/arrow_merge_event.cpp +142 -0
  87. package/src/duckdb/src/common/arrow/arrow_query_result.cpp +56 -0
  88. package/src/duckdb/src/common/arrow/physical_arrow_batch_collector.cpp +37 -0
  89. package/src/duckdb/src/common/arrow/physical_arrow_collector.cpp +128 -0
  90. package/src/duckdb/src/common/arrow/schema_metadata.cpp +101 -0
  91. package/src/duckdb/src/common/cgroups.cpp +189 -0
  92. package/src/duckdb/src/common/compressed_file_system.cpp +6 -3
  93. package/src/duckdb/src/common/encryption_state.cpp +38 -0
  94. package/src/duckdb/src/common/enum_util.cpp +682 -14
  95. package/src/duckdb/src/common/enums/file_compression_type.cpp +24 -0
  96. package/src/duckdb/src/common/enums/metric_type.cpp +208 -0
  97. package/src/duckdb/src/common/enums/optimizer_type.cpp +8 -2
  98. package/src/duckdb/src/common/enums/physical_operator_type.cpp +2 -0
  99. package/src/duckdb/src/common/enums/relation_type.cpp +4 -0
  100. package/src/duckdb/src/common/enums/statement_type.cpp +15 -0
  101. package/src/duckdb/src/common/error_data.cpp +22 -20
  102. package/src/duckdb/src/common/exception/binder_exception.cpp +5 -0
  103. package/src/duckdb/src/common/exception.cpp +11 -1
  104. package/src/duckdb/src/common/extra_type_info.cpp +3 -0
  105. package/src/duckdb/src/common/file_buffer.cpp +1 -1
  106. package/src/duckdb/src/common/file_system.cpp +25 -3
  107. package/src/duckdb/src/common/filename_pattern.cpp +1 -0
  108. package/src/duckdb/src/common/fsst.cpp +15 -14
  109. package/src/duckdb/src/common/gzip_file_system.cpp +3 -1
  110. package/src/duckdb/src/common/hive_partitioning.cpp +103 -43
  111. package/src/duckdb/src/common/http_util.cpp +25 -0
  112. package/src/duckdb/src/common/local_file_system.cpp +48 -27
  113. package/src/duckdb/src/common/multi_file_list.cpp +113 -22
  114. package/src/duckdb/src/common/multi_file_reader.cpp +59 -58
  115. package/src/duckdb/src/common/operator/cast_operators.cpp +133 -34
  116. package/src/duckdb/src/common/operator/string_cast.cpp +42 -11
  117. package/src/duckdb/src/common/progress_bar/progress_bar.cpp +2 -2
  118. package/src/duckdb/src/common/progress_bar/terminal_progress_bar_display.cpp +1 -1
  119. package/src/duckdb/src/common/radix_partitioning.cpp +31 -21
  120. package/src/duckdb/src/common/random_engine.cpp +4 -0
  121. package/src/duckdb/src/common/re2_regex.cpp +47 -12
  122. package/src/duckdb/src/common/render_tree.cpp +243 -0
  123. package/src/duckdb/src/common/row_operations/row_aggregate.cpp +1 -1
  124. package/src/duckdb/src/common/row_operations/row_gather.cpp +2 -2
  125. package/src/duckdb/src/common/row_operations/row_matcher.cpp +58 -5
  126. package/src/duckdb/src/common/row_operations/row_radix_scatter.cpp +79 -43
  127. package/src/duckdb/src/common/serializer/binary_deserializer.cpp +1 -1
  128. package/src/duckdb/src/common/serializer/buffered_file_reader.cpp +6 -4
  129. package/src/duckdb/src/common/serializer/buffered_file_writer.cpp +18 -9
  130. package/src/duckdb/src/common/serializer/memory_stream.cpp +1 -0
  131. package/src/duckdb/src/common/sort/partition_state.cpp +33 -18
  132. package/src/duckdb/src/common/sort/radix_sort.cpp +22 -15
  133. package/src/duckdb/src/common/sort/sort_state.cpp +19 -16
  134. package/src/duckdb/src/common/sort/sorted_block.cpp +11 -10
  135. package/src/duckdb/src/common/string_util.cpp +167 -10
  136. package/src/duckdb/src/common/tree_renderer/graphviz_tree_renderer.cpp +108 -0
  137. package/src/duckdb/src/common/tree_renderer/html_tree_renderer.cpp +267 -0
  138. package/src/duckdb/src/common/tree_renderer/json_tree_renderer.cpp +116 -0
  139. package/src/duckdb/src/common/tree_renderer/text_tree_renderer.cpp +482 -0
  140. package/src/duckdb/src/common/tree_renderer/tree_renderer.cpp +12 -0
  141. package/src/duckdb/src/common/tree_renderer.cpp +16 -508
  142. package/src/duckdb/src/common/types/batched_data_collection.cpp +78 -9
  143. package/src/duckdb/src/common/types/bit.cpp +24 -22
  144. package/src/duckdb/src/common/types/blob.cpp +15 -11
  145. package/src/duckdb/src/common/types/column/column_data_allocator.cpp +18 -9
  146. package/src/duckdb/src/common/types/column/column_data_collection.cpp +4 -4
  147. package/src/duckdb/src/common/types/column/column_data_collection_segment.cpp +3 -4
  148. package/src/duckdb/src/common/types/column/column_data_consumer.cpp +2 -2
  149. package/src/duckdb/src/common/types/column/partitioned_column_data.cpp +70 -21
  150. package/src/duckdb/src/common/types/data_chunk.cpp +10 -1
  151. package/src/duckdb/src/common/types/date.cpp +8 -19
  152. package/src/duckdb/src/common/types/decimal.cpp +3 -2
  153. package/src/duckdb/src/common/types/hugeint.cpp +11 -3
  154. package/src/duckdb/src/common/types/hyperloglog.cpp +212 -227
  155. package/src/duckdb/src/common/types/interval.cpp +1 -1
  156. package/src/duckdb/src/common/types/list_segment.cpp +83 -49
  157. package/src/duckdb/src/common/types/row/partitioned_tuple_data.cpp +22 -83
  158. package/src/duckdb/src/common/types/row/row_data_collection.cpp +2 -2
  159. package/src/duckdb/src/common/types/row/row_data_collection_scanner.cpp +20 -4
  160. package/src/duckdb/src/common/types/row/tuple_data_allocator.cpp +28 -7
  161. package/src/duckdb/src/common/types/row/tuple_data_collection.cpp +29 -14
  162. package/src/duckdb/src/common/types/row/tuple_data_scatter_gather.cpp +152 -102
  163. package/src/duckdb/src/common/types/row/tuple_data_segment.cpp +4 -1
  164. package/src/duckdb/src/common/types/selection_vector.cpp +17 -1
  165. package/src/duckdb/src/common/types/time.cpp +62 -31
  166. package/src/duckdb/src/common/types/timestamp.cpp +70 -12
  167. package/src/duckdb/src/common/types/uuid.cpp +1 -1
  168. package/src/duckdb/src/common/types/validity_mask.cpp +40 -5
  169. package/src/duckdb/src/common/types/value.cpp +50 -8
  170. package/src/duckdb/src/common/types/varint.cpp +295 -0
  171. package/src/duckdb/src/common/types/vector.cpp +165 -54
  172. package/src/duckdb/src/common/types/vector_buffer.cpp +5 -4
  173. package/src/duckdb/src/common/types.cpp +106 -26
  174. package/src/duckdb/src/common/vector_operations/vector_copy.cpp +13 -25
  175. package/src/duckdb/src/common/vector_operations/vector_hash.cpp +6 -0
  176. package/src/duckdb/src/common/virtual_file_system.cpp +3 -3
  177. package/src/duckdb/src/core_functions/aggregate/distributive/approx_count.cpp +35 -82
  178. package/src/duckdb/src/core_functions/aggregate/distributive/arg_min_max.cpp +283 -46
  179. package/src/duckdb/src/core_functions/aggregate/distributive/bitagg.cpp +4 -4
  180. package/src/duckdb/src/core_functions/aggregate/distributive/entropy.cpp +3 -2
  181. package/src/duckdb/src/core_functions/aggregate/distributive/minmax.cpp +226 -338
  182. package/src/duckdb/src/core_functions/aggregate/distributive/sum.cpp +2 -0
  183. package/src/duckdb/src/core_functions/aggregate/holistic/approx_top_k.cpp +388 -0
  184. package/src/duckdb/src/core_functions/aggregate/holistic/approximate_quantile.cpp +63 -21
  185. package/src/duckdb/src/core_functions/aggregate/holistic/mad.cpp +330 -0
  186. package/src/duckdb/src/core_functions/aggregate/holistic/mode.cpp +136 -97
  187. package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +601 -1485
  188. package/src/duckdb/src/core_functions/aggregate/nested/binned_histogram.cpp +405 -0
  189. package/src/duckdb/src/core_functions/aggregate/nested/histogram.cpp +136 -165
  190. package/src/duckdb/src/core_functions/function_list.cpp +35 -8
  191. package/src/duckdb/src/core_functions/lambda_functions.cpp +5 -7
  192. package/src/duckdb/src/core_functions/scalar/array/array_functions.cpp +172 -198
  193. package/src/duckdb/src/core_functions/scalar/blob/create_sort_key.cpp +341 -54
  194. package/src/duckdb/src/core_functions/scalar/date/date_diff.cpp +2 -2
  195. package/src/duckdb/src/core_functions/scalar/date/date_part.cpp +89 -29
  196. package/src/duckdb/src/core_functions/scalar/date/date_trunc.cpp +1 -1
  197. package/src/duckdb/src/core_functions/scalar/date/make_date.cpp +2 -2
  198. package/src/duckdb/src/core_functions/scalar/date/strftime.cpp +133 -71
  199. package/src/duckdb/src/core_functions/scalar/date/to_interval.cpp +1 -1
  200. package/src/duckdb/src/core_functions/scalar/enum/enum_functions.cpp +1 -1
  201. package/src/duckdb/src/core_functions/scalar/generic/can_implicitly_cast.cpp +40 -0
  202. package/src/duckdb/src/core_functions/scalar/generic/error.cpp +1 -1
  203. package/src/duckdb/src/core_functions/scalar/generic/least.cpp +161 -58
  204. package/src/duckdb/src/core_functions/scalar/generic/typeof.cpp +13 -0
  205. package/src/duckdb/src/core_functions/scalar/list/array_slice.cpp +1 -1
  206. package/src/duckdb/src/core_functions/scalar/list/list_aggregates.cpp +59 -75
  207. package/src/duckdb/src/core_functions/scalar/list/list_distance.cpp +93 -40
  208. package/src/duckdb/src/core_functions/scalar/list/list_has_any_or_all.cpp +227 -0
  209. package/src/duckdb/src/core_functions/scalar/list/list_reduce.cpp +20 -19
  210. package/src/duckdb/src/core_functions/scalar/list/list_sort.cpp +0 -2
  211. package/src/duckdb/src/core_functions/scalar/list/list_value.cpp +106 -8
  212. package/src/duckdb/src/core_functions/scalar/map/map_contains.cpp +56 -0
  213. package/src/duckdb/src/core_functions/scalar/map/map_extract.cpp +73 -118
  214. package/src/duckdb/src/core_functions/scalar/math/numeric.cpp +98 -2
  215. package/src/duckdb/src/core_functions/scalar/operators/bitwise.cpp +1 -2
  216. package/src/duckdb/src/core_functions/scalar/random/setseed.cpp +1 -1
  217. package/src/duckdb/src/core_functions/scalar/string/bar.cpp +1 -1
  218. package/src/duckdb/src/core_functions/scalar/string/hex.cpp +5 -1
  219. package/src/duckdb/src/core_functions/scalar/string/md5.cpp +10 -37
  220. package/src/duckdb/src/core_functions/scalar/string/printf.cpp +18 -2
  221. package/src/duckdb/src/core_functions/scalar/string/repeat.cpp +45 -0
  222. package/src/duckdb/src/core_functions/scalar/string/reverse.cpp +4 -5
  223. package/src/duckdb/src/core_functions/scalar/string/sha1.cpp +35 -0
  224. package/src/duckdb/src/core_functions/scalar/string/sha256.cpp +5 -2
  225. package/src/duckdb/src/core_functions/scalar/string/url_encode.cpp +49 -0
  226. package/src/duckdb/src/core_functions/scalar/struct/struct_pack.cpp +1 -2
  227. package/src/duckdb/src/core_functions/scalar/union/union_extract.cpp +4 -2
  228. package/src/duckdb/src/execution/adaptive_filter.cpp +30 -11
  229. package/src/duckdb/src/execution/aggregate_hashtable.cpp +13 -18
  230. package/src/duckdb/src/execution/expression_executor/execute_conjunction.cpp +4 -9
  231. package/src/duckdb/src/execution/expression_executor.cpp +1 -1
  232. package/src/duckdb/src/execution/index/art/art.cpp +683 -670
  233. package/src/duckdb/src/execution/index/art/art_key.cpp +121 -38
  234. package/src/duckdb/src/execution/index/art/base_leaf.cpp +168 -0
  235. package/src/duckdb/src/execution/index/art/base_node.cpp +163 -0
  236. package/src/duckdb/src/execution/index/art/iterator.cpp +148 -77
  237. package/src/duckdb/src/execution/index/art/leaf.cpp +159 -263
  238. package/src/duckdb/src/execution/index/art/node.cpp +493 -247
  239. package/src/duckdb/src/execution/index/art/node256.cpp +31 -91
  240. package/src/duckdb/src/execution/index/art/node256_leaf.cpp +71 -0
  241. package/src/duckdb/src/execution/index/art/node48.cpp +75 -143
  242. package/src/duckdb/src/execution/index/art/prefix.cpp +424 -244
  243. package/src/duckdb/src/execution/index/bound_index.cpp +7 -1
  244. package/src/duckdb/src/execution/index/fixed_size_allocator.cpp +22 -18
  245. package/src/duckdb/src/execution/index/fixed_size_buffer.cpp +22 -73
  246. package/src/duckdb/src/execution/join_hashtable.cpp +637 -179
  247. package/src/duckdb/src/execution/operator/aggregate/aggregate_object.cpp +4 -4
  248. package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +15 -10
  249. package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +13 -8
  250. package/src/duckdb/src/execution/operator/aggregate/physical_streaming_window.cpp +525 -132
  251. package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +147 -138
  252. package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +531 -312
  253. package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer.cpp +1 -1
  254. package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.cpp +4 -3
  255. package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_file_handle.cpp +9 -2
  256. package/src/duckdb/src/execution/operator/csv_scanner/scanner/base_scanner.cpp +13 -17
  257. package/src/duckdb/src/execution/operator/csv_scanner/scanner/column_count_scanner.cpp +60 -16
  258. package/src/duckdb/src/execution/operator/csv_scanner/scanner/csv_schema.cpp +105 -0
  259. package/src/duckdb/src/execution/operator/csv_scanner/scanner/scanner_boundary.cpp +24 -24
  260. package/src/duckdb/src/execution/operator/csv_scanner/scanner/skip_scanner.cpp +25 -2
  261. package/src/duckdb/src/execution/operator/csv_scanner/scanner/string_value_scanner.cpp +275 -112
  262. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp +106 -11
  263. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp +253 -115
  264. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/header_detection.cpp +93 -52
  265. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_detection.cpp +116 -76
  266. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_refinement.cpp +29 -14
  267. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_replacement.cpp +1 -1
  268. package/src/duckdb/src/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.cpp +70 -26
  269. package/src/duckdb/src/execution/operator/csv_scanner/table_function/csv_file_scanner.cpp +81 -60
  270. package/src/duckdb/src/execution/operator/csv_scanner/table_function/global_csv_state.cpp +88 -50
  271. package/src/duckdb/src/execution/operator/csv_scanner/util/csv_error.cpp +161 -51
  272. package/src/duckdb/src/execution/operator/csv_scanner/util/csv_reader_options.cpp +59 -17
  273. package/src/duckdb/src/execution/operator/filter/physical_filter.cpp +5 -5
  274. package/src/duckdb/src/execution/operator/helper/physical_batch_collector.cpp +0 -21
  275. package/src/duckdb/src/execution/operator/helper/physical_buffered_batch_collector.cpp +109 -0
  276. package/src/duckdb/src/execution/operator/helper/physical_buffered_collector.cpp +5 -13
  277. package/src/duckdb/src/execution/operator/helper/physical_explain_analyze.cpp +1 -1
  278. package/src/duckdb/src/execution/operator/helper/physical_load.cpp +12 -4
  279. package/src/duckdb/src/execution/operator/helper/physical_materialized_collector.cpp +0 -16
  280. package/src/duckdb/src/execution/operator/helper/physical_reservoir_sample.cpp +4 -2
  281. package/src/duckdb/src/execution/operator/helper/physical_reset.cpp +5 -0
  282. package/src/duckdb/src/execution/operator/helper/physical_result_collector.cpp +3 -1
  283. package/src/duckdb/src/execution/operator/helper/physical_set_variable.cpp +39 -0
  284. package/src/duckdb/src/execution/operator/helper/physical_streaming_sample.cpp +4 -2
  285. package/src/duckdb/src/execution/operator/helper/physical_transaction.cpp +16 -5
  286. package/src/duckdb/src/execution/operator/join/outer_join_marker.cpp +1 -1
  287. package/src/duckdb/src/execution/operator/join/perfect_hash_join_executor.cpp +1 -1
  288. package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +1 -1
  289. package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +5 -4
  290. package/src/duckdb/src/execution/operator/join/physical_comparison_join.cpp +59 -21
  291. package/src/duckdb/src/execution/operator/join/physical_delim_join.cpp +7 -4
  292. package/src/duckdb/src/execution/operator/join/physical_hash_join.cpp +333 -176
  293. package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +57 -34
  294. package/src/duckdb/src/execution/operator/join/physical_join.cpp +16 -8
  295. package/src/duckdb/src/execution/operator/join/physical_left_delim_join.cpp +10 -4
  296. package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +2 -5
  297. package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +3 -3
  298. package/src/duckdb/src/execution/operator/join/physical_range_join.cpp +5 -5
  299. package/src/duckdb/src/execution/operator/join/physical_right_delim_join.cpp +7 -2
  300. package/src/duckdb/src/execution/operator/order/physical_order.cpp +17 -12
  301. package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +12 -9
  302. package/src/duckdb/src/execution/operator/persistent/physical_batch_copy_to_file.cpp +35 -17
  303. package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +17 -11
  304. package/src/duckdb/src/execution/operator/persistent/physical_copy_database.cpp +5 -1
  305. package/src/duckdb/src/execution/operator/persistent/physical_copy_to_file.cpp +156 -47
  306. package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +10 -2
  307. package/src/duckdb/src/execution/operator/persistent/physical_update.cpp +1 -3
  308. package/src/duckdb/src/execution/operator/projection/physical_pivot.cpp +2 -2
  309. package/src/duckdb/src/execution/operator/projection/physical_projection.cpp +13 -6
  310. package/src/duckdb/src/execution/operator/projection/physical_tableinout_function.cpp +22 -3
  311. package/src/duckdb/src/execution/operator/projection/physical_unnest.cpp +19 -3
  312. package/src/duckdb/src/execution/operator/scan/physical_column_data_scan.cpp +37 -22
  313. package/src/duckdb/src/execution/operator/scan/physical_table_scan.cpp +77 -21
  314. package/src/duckdb/src/execution/operator/schema/physical_attach.cpp +27 -55
  315. package/src/duckdb/src/execution/operator/schema/physical_create_art_index.cpp +41 -44
  316. package/src/duckdb/src/execution/operator/set/physical_cte.cpp +4 -6
  317. package/src/duckdb/src/execution/operator/set/physical_recursive_cte.cpp +4 -6
  318. package/src/duckdb/src/execution/operator/set/physical_union.cpp +18 -4
  319. package/src/duckdb/src/execution/perfect_aggregate_hashtable.cpp +3 -2
  320. package/src/duckdb/src/execution/physical_operator.cpp +45 -4
  321. package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +18 -7
  322. package/src/duckdb/src/execution/physical_plan/plan_copy_to_file.cpp +8 -3
  323. package/src/duckdb/src/execution/physical_plan/plan_delim_join.cpp +13 -6
  324. package/src/duckdb/src/execution/physical_plan/plan_explain.cpp +3 -3
  325. package/src/duckdb/src/execution/physical_plan/plan_get.cpp +111 -19
  326. package/src/duckdb/src/execution/physical_plan/plan_limit.cpp +19 -2
  327. package/src/duckdb/src/execution/physical_plan/plan_set.cpp +9 -0
  328. package/src/duckdb/src/execution/physical_plan/plan_window.cpp +3 -1
  329. package/src/duckdb/src/execution/physical_plan_generator.cpp +3 -3
  330. package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +49 -49
  331. package/src/duckdb/src/execution/reservoir_sample.cpp +2 -2
  332. package/src/duckdb/src/execution/window_executor.cpp +556 -318
  333. package/src/duckdb/src/execution/window_segment_tree.cpp +1058 -485
  334. package/src/duckdb/src/function/aggregate/distributive/count.cpp +5 -5
  335. package/src/duckdb/src/function/aggregate/distributive/first.cpp +92 -95
  336. package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +10 -9
  337. package/src/duckdb/src/function/aggregate_function.cpp +8 -0
  338. package/src/duckdb/src/function/cast/cast_function_set.cpp +10 -1
  339. package/src/duckdb/src/function/cast/decimal_cast.cpp +10 -1
  340. package/src/duckdb/src/function/cast/default_casts.cpp +2 -0
  341. package/src/duckdb/src/function/cast/numeric_casts.cpp +3 -0
  342. package/src/duckdb/src/function/cast/string_cast.cpp +8 -5
  343. package/src/duckdb/src/function/cast/time_casts.cpp +2 -2
  344. package/src/duckdb/src/function/cast/union_casts.cpp +1 -1
  345. package/src/duckdb/src/function/cast/varint_casts.cpp +283 -0
  346. package/src/duckdb/src/function/cast/vector_cast_helpers.cpp +3 -1
  347. package/src/duckdb/src/function/cast_rules.cpp +104 -15
  348. package/src/duckdb/src/function/compression_config.cpp +35 -33
  349. package/src/duckdb/src/function/copy_function.cpp +27 -0
  350. package/src/duckdb/src/function/function_binder.cpp +39 -11
  351. package/src/duckdb/src/function/macro_function.cpp +75 -32
  352. package/src/duckdb/src/function/pragma/pragma_queries.cpp +10 -0
  353. package/src/duckdb/src/function/scalar/compressed_materialization/compress_string.cpp +1 -0
  354. package/src/duckdb/src/function/scalar/generic/binning.cpp +507 -0
  355. package/src/duckdb/src/function/scalar/generic/getvariable.cpp +58 -0
  356. package/src/duckdb/src/function/scalar/generic_functions.cpp +1 -0
  357. package/src/duckdb/src/function/scalar/list/contains_or_position.cpp +33 -47
  358. package/src/duckdb/src/function/scalar/list/list_extract.cpp +70 -143
  359. package/src/duckdb/src/function/scalar/list/list_resize.cpp +93 -84
  360. package/src/duckdb/src/function/scalar/list/list_zip.cpp +3 -0
  361. package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +24 -11
  362. package/src/duckdb/src/function/scalar/sequence/nextval.cpp +4 -4
  363. package/src/duckdb/src/function/scalar/strftime_format.cpp +196 -57
  364. package/src/duckdb/src/function/scalar/string/caseconvert.cpp +9 -7
  365. package/src/duckdb/src/function/scalar/string/concat.cpp +239 -123
  366. package/src/duckdb/src/function/scalar/string/concat_ws.cpp +149 -0
  367. package/src/duckdb/src/function/scalar/string/contains.cpp +18 -7
  368. package/src/duckdb/src/function/scalar/string/like.cpp +2 -2
  369. package/src/duckdb/src/function/scalar/string/substring.cpp +6 -11
  370. package/src/duckdb/src/function/scalar/string_functions.cpp +1 -0
  371. package/src/duckdb/src/function/scalar/struct/struct_extract.cpp +7 -3
  372. package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +5 -5
  373. package/src/duckdb/src/function/scalar_function.cpp +5 -2
  374. package/src/duckdb/src/function/scalar_macro_function.cpp +2 -2
  375. package/src/duckdb/src/function/table/arrow/arrow_duck_schema.cpp +20 -39
  376. package/src/duckdb/src/function/table/arrow/arrow_type_info.cpp +135 -0
  377. package/src/duckdb/src/function/table/arrow.cpp +194 -52
  378. package/src/duckdb/src/function/table/arrow_conversion.cpp +212 -69
  379. package/src/duckdb/src/function/table/copy_csv.cpp +43 -14
  380. package/src/duckdb/src/function/table/query_function.cpp +80 -0
  381. package/src/duckdb/src/function/table/range.cpp +222 -142
  382. package/src/duckdb/src/function/table/read_csv.cpp +25 -13
  383. package/src/duckdb/src/function/table/sniff_csv.cpp +55 -35
  384. package/src/duckdb/src/function/table/system/duckdb_constraints.cpp +141 -129
  385. package/src/duckdb/src/function/table/system/duckdb_extensions.cpp +25 -14
  386. package/src/duckdb/src/function/table/system/duckdb_functions.cpp +20 -14
  387. package/src/duckdb/src/function/table/system/duckdb_indexes.cpp +15 -1
  388. package/src/duckdb/src/function/table/system/duckdb_variables.cpp +84 -0
  389. package/src/duckdb/src/function/table/system/test_all_types.cpp +1 -0
  390. package/src/duckdb/src/function/table/system/test_vector_types.cpp +33 -3
  391. package/src/duckdb/src/function/table/system_functions.cpp +1 -0
  392. package/src/duckdb/src/function/table/table_scan.cpp +45 -22
  393. package/src/duckdb/src/function/table/unnest.cpp +2 -2
  394. package/src/duckdb/src/function/table/version/pragma_version.cpp +4 -4
  395. package/src/duckdb/src/function/table_function.cpp +5 -4
  396. package/src/duckdb/src/function/table_macro_function.cpp +2 -2
  397. package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +8 -4
  398. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_index_entry.hpp +5 -2
  399. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_schema_entry.hpp +3 -0
  400. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp +2 -2
  401. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/macro_catalog_entry.hpp +3 -4
  402. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +5 -5
  403. package/src/duckdb/src/include/duckdb/catalog/default/builtin_types/types.hpp +2 -1
  404. package/src/duckdb/src/include/duckdb/catalog/default/default_functions.hpp +4 -5
  405. package/src/duckdb/src/include/duckdb/catalog/default/default_generator.hpp +4 -5
  406. package/src/duckdb/src/include/duckdb/catalog/default/default_schemas.hpp +2 -1
  407. package/src/duckdb/src/include/duckdb/catalog/default/default_table_functions.hpp +47 -0
  408. package/src/duckdb/src/include/duckdb/catalog/duck_catalog.hpp +2 -0
  409. package/src/duckdb/src/include/duckdb/catalog/similar_catalog_entry.hpp +2 -2
  410. package/src/duckdb/src/include/duckdb/common/allocator.hpp +9 -1
  411. package/src/duckdb/src/include/duckdb/common/array_ptr.hpp +120 -0
  412. package/src/duckdb/src/include/duckdb/common/arrow/appender/append_data.hpp +37 -11
  413. package/src/duckdb/src/include/duckdb/common/arrow/appender/enum_data.hpp +9 -8
  414. package/src/duckdb/src/include/duckdb/common/arrow/appender/list.hpp +1 -0
  415. package/src/duckdb/src/include/duckdb/common/arrow/appender/list_data.hpp +6 -4
  416. package/src/duckdb/src/include/duckdb/common/arrow/appender/list_view_data.hpp +92 -0
  417. package/src/duckdb/src/include/duckdb/common/arrow/appender/map_data.hpp +2 -2
  418. package/src/duckdb/src/include/duckdb/common/arrow/appender/scalar_data.hpp +26 -4
  419. package/src/duckdb/src/include/duckdb/common/arrow/appender/varchar_data.hpp +90 -11
  420. package/src/duckdb/src/include/duckdb/common/arrow/arrow_appender.hpp +6 -6
  421. package/src/duckdb/src/include/duckdb/common/arrow/arrow_buffer.hpp +8 -1
  422. package/src/duckdb/src/include/duckdb/common/arrow/arrow_merge_event.hpp +62 -0
  423. package/src/duckdb/src/include/duckdb/common/arrow/arrow_query_result.hpp +52 -0
  424. package/src/duckdb/src/include/duckdb/common/arrow/arrow_types_extension.hpp +42 -0
  425. package/src/duckdb/src/include/duckdb/common/arrow/physical_arrow_batch_collector.hpp +30 -0
  426. package/src/duckdb/src/include/duckdb/common/arrow/physical_arrow_collector.hpp +65 -0
  427. package/src/duckdb/src/include/duckdb/common/arrow/schema_metadata.hpp +43 -0
  428. package/src/duckdb/src/include/duckdb/common/bswap.hpp +18 -16
  429. package/src/duckdb/src/include/duckdb/common/cgroups.hpp +30 -0
  430. package/src/duckdb/src/include/duckdb/common/compressed_file_system.hpp +3 -0
  431. package/src/duckdb/src/include/duckdb/common/dl.hpp +8 -1
  432. package/src/duckdb/src/include/duckdb/common/encryption_state.hpp +48 -0
  433. package/src/duckdb/src/include/duckdb/common/enum_util.hpp +88 -0
  434. package/src/duckdb/src/include/duckdb/common/enums/checkpoint_type.hpp +2 -2
  435. package/src/duckdb/src/include/duckdb/common/enums/copy_overwrite_mode.hpp +6 -1
  436. package/src/duckdb/src/include/duckdb/common/enums/destroy_buffer_upon.hpp +21 -0
  437. package/src/duckdb/src/include/duckdb/common/enums/explain_format.hpp +17 -0
  438. package/src/duckdb/src/include/duckdb/common/enums/file_compression_type.hpp +4 -0
  439. package/src/duckdb/src/include/duckdb/common/enums/join_type.hpp +2 -2
  440. package/src/duckdb/src/include/duckdb/common/enums/metric_type.hpp +88 -0
  441. package/src/duckdb/src/include/duckdb/common/enums/optimizer_type.hpp +6 -1
  442. package/src/duckdb/src/include/duckdb/common/enums/pending_execution_result.hpp +2 -1
  443. package/src/duckdb/src/include/duckdb/common/enums/physical_operator_type.hpp +1 -0
  444. package/src/duckdb/src/include/duckdb/common/enums/profiler_format.hpp +1 -1
  445. package/src/duckdb/src/include/duckdb/common/enums/relation_type.hpp +3 -1
  446. package/src/duckdb/src/include/duckdb/common/enums/set_scope.hpp +2 -1
  447. package/src/duckdb/src/include/duckdb/common/enums/statement_type.hpp +23 -2
  448. package/src/duckdb/src/include/duckdb/common/enums/stream_execution_result.hpp +25 -0
  449. package/src/duckdb/src/include/duckdb/common/enums/tableref_type.hpp +2 -1
  450. package/src/duckdb/src/include/duckdb/common/enums/wal_type.hpp +1 -0
  451. package/src/duckdb/src/include/duckdb/common/error_data.hpp +5 -2
  452. package/src/duckdb/src/include/duckdb/common/exception/binder_exception.hpp +1 -0
  453. package/src/duckdb/src/include/duckdb/common/exception.hpp +20 -2
  454. package/src/duckdb/src/include/duckdb/common/extra_operator_info.hpp +12 -0
  455. package/src/duckdb/src/include/duckdb/common/file_buffer.hpp +2 -0
  456. package/src/duckdb/src/include/duckdb/common/file_open_flags.hpp +16 -0
  457. package/src/duckdb/src/include/duckdb/common/file_opener.hpp +18 -0
  458. package/src/duckdb/src/include/duckdb/common/file_system.hpp +3 -0
  459. package/src/duckdb/src/include/duckdb/common/filename_pattern.hpp +4 -0
  460. package/src/duckdb/src/include/duckdb/common/fixed_size_map.hpp +160 -96
  461. package/src/duckdb/src/include/duckdb/common/fsst.hpp +9 -2
  462. package/src/duckdb/src/include/duckdb/common/helper.hpp +22 -8
  463. package/src/duckdb/src/include/duckdb/common/hive_partitioning.hpp +16 -7
  464. package/src/duckdb/src/include/duckdb/common/http_util.hpp +19 -0
  465. package/src/duckdb/src/include/duckdb/common/insertion_order_preserving_map.hpp +19 -6
  466. package/src/duckdb/src/include/duckdb/common/limits.hpp +9 -2
  467. package/src/duckdb/src/include/duckdb/common/multi_file_list.hpp +38 -6
  468. package/src/duckdb/src/include/duckdb/common/multi_file_reader.hpp +9 -2
  469. package/src/duckdb/src/include/duckdb/common/multi_file_reader_options.hpp +5 -1
  470. package/src/duckdb/src/include/duckdb/common/numeric_utils.hpp +82 -50
  471. package/src/duckdb/src/include/duckdb/common/operator/abs.hpp +11 -0
  472. package/src/duckdb/src/include/duckdb/common/operator/cast_operators.hpp +7 -3
  473. package/src/duckdb/src/include/duckdb/common/operator/decimal_cast_operators.hpp +23 -1
  474. package/src/duckdb/src/include/duckdb/common/operator/double_cast_operator.hpp +2 -1
  475. package/src/duckdb/src/include/duckdb/common/operator/integer_cast_operator.hpp +1 -1
  476. package/src/duckdb/src/include/duckdb/common/operator/numeric_cast.hpp +4 -0
  477. package/src/duckdb/src/include/duckdb/common/operator/string_cast.hpp +2 -0
  478. package/src/duckdb/src/include/duckdb/common/optional_ptr.hpp +10 -5
  479. package/src/duckdb/src/include/duckdb/common/optionally_owned_ptr.hpp +1 -0
  480. package/src/duckdb/src/include/duckdb/common/owning_string_map.hpp +155 -0
  481. package/src/duckdb/src/include/duckdb/common/perfect_map_set.hpp +2 -3
  482. package/src/duckdb/src/include/duckdb/common/platform.hpp +58 -0
  483. package/src/duckdb/src/include/duckdb/common/radix.hpp +172 -27
  484. package/src/duckdb/src/include/duckdb/common/radix_partitioning.hpp +5 -1
  485. package/src/duckdb/src/include/duckdb/common/random_engine.hpp +1 -0
  486. package/src/duckdb/src/include/duckdb/common/re2_regex.hpp +1 -1
  487. package/src/duckdb/src/include/duckdb/common/render_tree.hpp +77 -0
  488. package/src/duckdb/src/include/duckdb/common/row_operations/row_matcher.hpp +12 -0
  489. package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +6 -2
  490. package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_writer.hpp +5 -3
  491. package/src/duckdb/src/include/duckdb/common/serializer/deserializer.hpp +15 -7
  492. package/src/duckdb/src/include/duckdb/common/serializer/memory_stream.hpp +3 -1
  493. package/src/duckdb/src/include/duckdb/common/serializer/serialization_data.hpp +245 -0
  494. package/src/duckdb/src/include/duckdb/common/serializer/serializer.hpp +10 -0
  495. package/src/duckdb/src/include/duckdb/common/sort/duckdb_pdqsort.hpp +10 -11
  496. package/src/duckdb/src/include/duckdb/common/sort/partition_state.hpp +12 -6
  497. package/src/duckdb/src/include/duckdb/common/string_util.hpp +37 -7
  498. package/src/duckdb/src/include/duckdb/common/tree_renderer/graphviz_tree_renderer.hpp +44 -0
  499. package/src/duckdb/src/include/duckdb/common/tree_renderer/html_tree_renderer.hpp +44 -0
  500. package/src/duckdb/src/include/duckdb/common/tree_renderer/json_tree_renderer.hpp +44 -0
  501. package/src/duckdb/src/include/duckdb/common/tree_renderer/text_tree_renderer.hpp +119 -0
  502. package/src/duckdb/src/include/duckdb/common/tree_renderer.hpp +9 -123
  503. package/src/duckdb/src/include/duckdb/common/type_visitor.hpp +96 -0
  504. package/src/duckdb/src/include/duckdb/common/typedefs.hpp +11 -1
  505. package/src/duckdb/src/include/duckdb/common/types/arrow_string_view_type.hpp +84 -0
  506. package/src/duckdb/src/include/duckdb/common/types/batched_data_collection.hpp +36 -1
  507. package/src/duckdb/src/include/duckdb/common/types/bit.hpp +1 -1
  508. package/src/duckdb/src/include/duckdb/common/types/cast_helpers.hpp +2 -2
  509. package/src/duckdb/src/include/duckdb/common/types/column/column_data_allocator.hpp +4 -2
  510. package/src/duckdb/src/include/duckdb/common/types/column/partitioned_column_data.hpp +52 -0
  511. package/src/duckdb/src/include/duckdb/common/types/data_chunk.hpp +2 -0
  512. package/src/duckdb/src/include/duckdb/common/types/date.hpp +0 -3
  513. package/src/duckdb/src/include/duckdb/common/types/date_lookup_cache.hpp +65 -0
  514. package/src/duckdb/src/include/duckdb/common/types/datetime.hpp +5 -2
  515. package/src/duckdb/src/include/duckdb/common/types/hyperloglog.hpp +49 -40
  516. package/src/duckdb/src/include/duckdb/common/types/interval.hpp +5 -1
  517. package/src/duckdb/src/include/duckdb/common/types/list_segment.hpp +2 -1
  518. package/src/duckdb/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp +41 -9
  519. package/src/duckdb/src/include/duckdb/common/types/row/row_data_collection.hpp +4 -3
  520. package/src/duckdb/src/include/duckdb/common/types/row/row_data_collection_scanner.hpp +3 -1
  521. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_allocator.hpp +4 -0
  522. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_collection.hpp +4 -0
  523. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_states.hpp +1 -1
  524. package/src/duckdb/src/include/duckdb/common/types/selection_vector.hpp +4 -0
  525. package/src/duckdb/src/include/duckdb/common/types/string_type.hpp +4 -1
  526. package/src/duckdb/src/include/duckdb/common/types/time.hpp +11 -6
  527. package/src/duckdb/src/include/duckdb/common/types/timestamp.hpp +13 -3
  528. package/src/duckdb/src/include/duckdb/common/types/validity_mask.hpp +103 -12
  529. package/src/duckdb/src/include/duckdb/common/types/value.hpp +12 -3
  530. package/src/duckdb/src/include/duckdb/common/types/varint.hpp +107 -0
  531. package/src/duckdb/src/include/duckdb/common/types/vector.hpp +5 -1
  532. package/src/duckdb/src/include/duckdb/common/types/vector_buffer.hpp +7 -2
  533. package/src/duckdb/src/include/duckdb/common/types.hpp +6 -39
  534. package/src/duckdb/src/include/duckdb/common/union_by_name.hpp +42 -10
  535. package/src/duckdb/src/include/duckdb/common/vector_operations/generic_executor.hpp +29 -0
  536. package/src/duckdb/src/include/duckdb/common/vector_operations/unary_executor.hpp +0 -7
  537. package/src/duckdb/src/include/duckdb/common/vector_operations/vector_operations.hpp +2 -0
  538. package/src/duckdb/src/include/duckdb/common/winapi.hpp +8 -0
  539. package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/covar.hpp +8 -4
  540. package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/stddev.hpp +8 -4
  541. package/src/duckdb/src/include/duckdb/core_functions/aggregate/distributive_functions.hpp +4 -2
  542. package/src/duckdb/src/include/duckdb/core_functions/aggregate/histogram_helpers.hpp +99 -0
  543. package/src/duckdb/src/include/duckdb/core_functions/aggregate/holistic_functions.hpp +16 -7
  544. package/src/duckdb/src/include/duckdb/core_functions/aggregate/minmax_n_helpers.hpp +396 -0
  545. package/src/duckdb/src/include/duckdb/core_functions/aggregate/nested_functions.hpp +10 -0
  546. package/src/duckdb/src/include/duckdb/core_functions/aggregate/quantile_helpers.hpp +65 -0
  547. package/src/duckdb/src/include/duckdb/core_functions/aggregate/quantile_sort_tree.hpp +349 -0
  548. package/src/duckdb/src/include/duckdb/core_functions/aggregate/quantile_state.hpp +300 -0
  549. package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_slope.hpp +1 -1
  550. package/src/duckdb/src/include/duckdb/core_functions/aggregate/sort_key_helpers.hpp +55 -0
  551. package/src/duckdb/src/include/duckdb/core_functions/array_kernels.hpp +107 -0
  552. package/src/duckdb/src/include/duckdb/core_functions/create_sort_key.hpp +55 -0
  553. package/src/duckdb/src/include/duckdb/core_functions/lambda_functions.hpp +1 -2
  554. package/src/duckdb/src/include/duckdb/core_functions/scalar/array_functions.hpp +24 -0
  555. package/src/duckdb/src/include/duckdb/core_functions/scalar/date_functions.hpp +9 -0
  556. package/src/duckdb/src/include/duckdb/core_functions/scalar/generic_functions.hpp +27 -0
  557. package/src/duckdb/src/include/duckdb/core_functions/scalar/list_functions.hpp +80 -8
  558. package/src/duckdb/src/include/duckdb/core_functions/scalar/map_functions.hpp +9 -0
  559. package/src/duckdb/src/include/duckdb/core_functions/scalar/math_functions.hpp +54 -0
  560. package/src/duckdb/src/include/duckdb/core_functions/scalar/string_functions.hpp +30 -21
  561. package/src/duckdb/src/include/duckdb/execution/adaptive_filter.hpp +25 -14
  562. package/src/duckdb/src/include/duckdb/execution/aggregate_hashtable.hpp +2 -48
  563. package/src/duckdb/src/include/duckdb/execution/executor.hpp +25 -2
  564. package/src/duckdb/src/include/duckdb/execution/ht_entry.hpp +102 -0
  565. package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +94 -101
  566. package/src/duckdb/src/include/duckdb/execution/index/art/art_key.hpp +43 -25
  567. package/src/duckdb/src/include/duckdb/execution/index/art/base_leaf.hpp +109 -0
  568. package/src/duckdb/src/include/duckdb/execution/index/art/base_node.hpp +140 -0
  569. package/src/duckdb/src/include/duckdb/execution/index/art/iterator.hpp +43 -24
  570. package/src/duckdb/src/include/duckdb/execution/index/art/leaf.hpp +41 -52
  571. package/src/duckdb/src/include/duckdb/execution/index/art/node.hpp +133 -74
  572. package/src/duckdb/src/include/duckdb/execution/index/art/node256.hpp +46 -29
  573. package/src/duckdb/src/include/duckdb/execution/index/art/node256_leaf.hpp +53 -0
  574. package/src/duckdb/src/include/duckdb/execution/index/art/node48.hpp +52 -35
  575. package/src/duckdb/src/include/duckdb/execution/index/art/prefix.hpp +96 -57
  576. package/src/duckdb/src/include/duckdb/execution/index/bound_index.hpp +9 -4
  577. package/src/duckdb/src/include/duckdb/execution/index/fixed_size_allocator.hpp +48 -10
  578. package/src/duckdb/src/include/duckdb/execution/index/fixed_size_buffer.hpp +0 -2
  579. package/src/duckdb/src/include/duckdb/execution/index/index_pointer.hpp +4 -2
  580. package/src/duckdb/src/include/duckdb/execution/join_hashtable.hpp +114 -36
  581. package/src/duckdb/src/include/duckdb/execution/merge_sort_tree.hpp +158 -67
  582. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/aggregate_object.hpp +1 -1
  583. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp +1 -1
  584. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_perfecthash_aggregate.hpp +1 -1
  585. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_streaming_window.hpp +19 -2
  586. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_ungrouped_aggregate.hpp +1 -1
  587. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_window.hpp +1 -1
  588. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/ungrouped_aggregate_state.hpp +75 -0
  589. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/base_scanner.hpp +81 -23
  590. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/column_count_scanner.hpp +27 -8
  591. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_buffer_manager.hpp +2 -1
  592. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_error.hpp +31 -22
  593. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_handle.hpp +4 -2
  594. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_scanner.hpp +48 -5
  595. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_option.hpp +7 -3
  596. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_reader_options.hpp +22 -12
  597. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_schema.hpp +35 -0
  598. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_sniffer.hpp +81 -39
  599. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state.hpp +2 -1
  600. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state_machine.hpp +18 -1
  601. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state_machine_cache.hpp +9 -7
  602. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/global_csv_state.hpp +5 -4
  603. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/header_value.hpp +26 -0
  604. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/scanner_boundary.hpp +6 -9
  605. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/skip_scanner.hpp +3 -0
  606. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/state_machine_options.hpp +5 -3
  607. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/string_value_scanner.hpp +36 -19
  608. package/src/duckdb/src/include/duckdb/execution/operator/filter/physical_filter.hpp +1 -1
  609. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp +21 -0
  610. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_buffered_batch_collector.hpp +53 -0
  611. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_buffered_collector.hpp +3 -0
  612. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_explain_analyze.hpp +6 -2
  613. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_materialized_collector.hpp +18 -0
  614. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_reservoir_sample.hpp +1 -1
  615. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_result_collector.hpp +6 -0
  616. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_set.hpp +2 -2
  617. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_set_variable.hpp +43 -0
  618. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_streaming_sample.hpp +1 -1
  619. package/src/duckdb/src/include/duckdb/execution/operator/join/join_filter_pushdown.hpp +59 -0
  620. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp +1 -1
  621. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_comparison_join.hpp +8 -1
  622. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_delim_join.hpp +5 -2
  623. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_hash_join.hpp +4 -2
  624. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_iejoin.hpp +2 -0
  625. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_join.hpp +1 -1
  626. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_left_delim_join.hpp +3 -1
  627. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_range_join.hpp +4 -1
  628. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_right_delim_join.hpp +3 -1
  629. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_order.hpp +1 -1
  630. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_top_n.hpp +1 -1
  631. package/src/duckdb/src/include/duckdb/execution/operator/persistent/batch_memory_manager.hpp +5 -37
  632. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_copy_to_file.hpp +5 -4
  633. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp +8 -2
  634. package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_projection.hpp +1 -1
  635. package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_tableinout_function.hpp +2 -0
  636. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_column_data_scan.hpp +9 -3
  637. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_table_scan.hpp +8 -6
  638. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_art_index.hpp +2 -2
  639. package/src/duckdb/src/include/duckdb/execution/operator/set/physical_cte.hpp +1 -1
  640. package/src/duckdb/src/include/duckdb/execution/operator/set/physical_recursive_cte.hpp +1 -1
  641. package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +21 -6
  642. package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +3 -2
  643. package/src/duckdb/src/include/duckdb/execution/physical_plan_generator.hpp +3 -0
  644. package/src/duckdb/src/include/duckdb/execution/window_executor.hpp +137 -110
  645. package/src/duckdb/src/include/duckdb/execution/window_segment_tree.hpp +57 -126
  646. package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +21 -4
  647. package/src/duckdb/src/include/duckdb/function/cast/default_casts.hpp +1 -1
  648. package/src/duckdb/src/include/duckdb/function/compression/compression.hpp +10 -10
  649. package/src/duckdb/src/include/duckdb/function/compression_function.hpp +37 -7
  650. package/src/duckdb/src/include/duckdb/function/copy_function.hpp +24 -11
  651. package/src/duckdb/src/include/duckdb/function/function_binder.hpp +4 -4
  652. package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +41 -1
  653. package/src/duckdb/src/include/duckdb/function/macro_function.hpp +15 -5
  654. package/src/duckdb/src/include/duckdb/function/pragma/pragma_functions.hpp +1 -0
  655. package/src/duckdb/src/include/duckdb/function/replacement_scan.hpp +20 -4
  656. package/src/duckdb/src/include/duckdb/function/scalar/generic_functions.hpp +6 -0
  657. package/src/duckdb/src/include/duckdb/function/scalar/list/contains_or_position.hpp +77 -109
  658. package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +1 -1
  659. package/src/duckdb/src/include/duckdb/function/scalar/regexp.hpp +6 -3
  660. package/src/duckdb/src/include/duckdb/function/scalar/strftime_format.hpp +25 -12
  661. package/src/duckdb/src/include/duckdb/function/scalar/string_functions.hpp +9 -8
  662. package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +38 -4
  663. package/src/duckdb/src/include/duckdb/function/scalar_macro_function.hpp +1 -1
  664. package/src/duckdb/src/include/duckdb/function/table/arrow/arrow_duck_schema.hpp +11 -57
  665. package/src/duckdb/src/include/duckdb/function/table/arrow/arrow_type_info.hpp +142 -0
  666. package/src/duckdb/src/include/duckdb/function/table/arrow/enum/arrow_datetime_type.hpp +18 -0
  667. package/src/duckdb/src/include/duckdb/function/table/arrow/enum/arrow_type_info_type.hpp +7 -0
  668. package/src/duckdb/src/include/duckdb/function/table/arrow/enum/arrow_variable_size_type.hpp +10 -0
  669. package/src/duckdb/src/include/duckdb/function/table/arrow.hpp +2 -0
  670. package/src/duckdb/src/include/duckdb/function/table/range.hpp +4 -0
  671. package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +4 -1
  672. package/src/duckdb/src/include/duckdb/function/table/system_functions.hpp +4 -0
  673. package/src/duckdb/src/include/duckdb/function/table/table_scan.hpp +5 -5
  674. package/src/duckdb/src/include/duckdb/function/table_function.hpp +14 -2
  675. package/src/duckdb/src/include/duckdb/function/table_macro_function.hpp +1 -1
  676. package/src/duckdb/src/include/duckdb/main/appender.hpp +14 -4
  677. package/src/duckdb/src/include/duckdb/main/attached_database.hpp +25 -7
  678. package/src/duckdb/src/include/duckdb/main/buffered_data/batched_buffered_data.hpp +79 -0
  679. package/src/duckdb/src/include/duckdb/main/buffered_data/buffered_data.hpp +10 -20
  680. package/src/duckdb/src/include/duckdb/main/buffered_data/simple_buffered_data.hpp +11 -12
  681. package/src/duckdb/src/include/duckdb/main/capi/capi_internal.hpp +7 -2
  682. package/src/duckdb/src/include/duckdb/main/capi/cast/generic.hpp +1 -1
  683. package/src/duckdb/src/include/duckdb/main/capi/cast/utils.hpp +2 -2
  684. package/src/duckdb/src/include/duckdb/main/capi/extension_api.hpp +809 -0
  685. package/src/duckdb/src/include/duckdb/main/chunk_scan_state/batched_data_collection.hpp +35 -0
  686. package/src/duckdb/src/include/duckdb/main/client_config.hpp +68 -2
  687. package/src/duckdb/src/include/duckdb/main/client_context.hpp +30 -22
  688. package/src/duckdb/src/include/duckdb/main/client_context_state.hpp +79 -1
  689. package/src/duckdb/src/include/duckdb/main/client_properties.hpp +9 -3
  690. package/src/duckdb/src/include/duckdb/main/config.hpp +55 -7
  691. package/src/duckdb/src/include/duckdb/main/connection.hpp +5 -1
  692. package/src/duckdb/src/include/duckdb/main/database.hpp +16 -5
  693. package/src/duckdb/src/include/duckdb/main/database_manager.hpp +9 -8
  694. package/src/duckdb/src/include/duckdb/main/db_instance_cache.hpp +21 -6
  695. package/src/duckdb/src/include/duckdb/main/extension.hpp +20 -0
  696. package/src/duckdb/src/include/duckdb/main/extension_entries.hpp +25 -0
  697. package/src/duckdb/src/include/duckdb/main/extension_helper.hpp +29 -23
  698. package/src/duckdb/src/include/duckdb/main/extension_install_info.hpp +6 -0
  699. package/src/duckdb/src/include/duckdb/main/extension_util.hpp +3 -0
  700. package/src/duckdb/src/include/duckdb/main/pending_query_result.hpp +4 -2
  701. package/src/duckdb/src/include/duckdb/main/prepared_statement.hpp +5 -6
  702. package/src/duckdb/src/include/duckdb/main/prepared_statement_data.hpp +2 -5
  703. package/src/duckdb/src/include/duckdb/main/profiling_info.hpp +87 -0
  704. package/src/duckdb/src/include/duckdb/main/profiling_node.hpp +60 -0
  705. package/src/duckdb/src/include/duckdb/main/query_profiler.hpp +72 -34
  706. package/src/duckdb/src/include/duckdb/main/query_result.hpp +1 -1
  707. package/src/duckdb/src/include/duckdb/main/relation/create_table_relation.hpp +2 -1
  708. package/src/duckdb/src/include/duckdb/main/relation/delim_get_relation.hpp +30 -0
  709. package/src/duckdb/src/include/duckdb/main/relation/explain_relation.hpp +3 -1
  710. package/src/duckdb/src/include/duckdb/main/relation/join_relation.hpp +3 -0
  711. package/src/duckdb/src/include/duckdb/main/relation/materialized_relation.hpp +1 -4
  712. package/src/duckdb/src/include/duckdb/main/relation/query_relation.hpp +4 -1
  713. package/src/duckdb/src/include/duckdb/main/relation/read_json_relation.hpp +6 -0
  714. package/src/duckdb/src/include/duckdb/main/relation/table_function_relation.hpp +1 -0
  715. package/src/duckdb/src/include/duckdb/main/relation/view_relation.hpp +2 -0
  716. package/src/duckdb/src/include/duckdb/main/relation.hpp +7 -4
  717. package/src/duckdb/src/include/duckdb/main/secret/default_secrets.hpp +36 -0
  718. package/src/duckdb/src/include/duckdb/main/secret/secret.hpp +108 -0
  719. package/src/duckdb/src/include/duckdb/main/secret/secret_manager.hpp +14 -4
  720. package/src/duckdb/src/include/duckdb/main/settings.hpp +227 -3
  721. package/src/duckdb/src/include/duckdb/main/stream_query_result.hpp +8 -0
  722. package/src/duckdb/src/include/duckdb/optimizer/build_probe_side_optimizer.hpp +51 -0
  723. package/src/duckdb/src/include/duckdb/optimizer/compressed_materialization.hpp +7 -0
  724. package/src/duckdb/src/include/duckdb/optimizer/cte_filter_pusher.hpp +46 -0
  725. package/src/duckdb/src/include/duckdb/optimizer/filter_combiner.hpp +1 -1
  726. package/src/duckdb/src/include/duckdb/optimizer/filter_pushdown.hpp +7 -0
  727. package/src/duckdb/src/include/duckdb/optimizer/join_filter_pushdown_optimizer.hpp +31 -0
  728. package/src/duckdb/src/include/duckdb/optimizer/join_order/cardinality_estimator.hpp +51 -10
  729. package/src/duckdb/src/include/duckdb/optimizer/join_order/cost_model.hpp +1 -0
  730. package/src/duckdb/src/include/duckdb/optimizer/join_order/join_order_optimizer.hpp +17 -5
  731. package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph.hpp +1 -1
  732. package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph_manager.hpp +15 -13
  733. package/src/duckdb/src/include/duckdb/optimizer/join_order/relation_manager.hpp +9 -4
  734. package/src/duckdb/src/include/duckdb/optimizer/limit_pushdown.hpp +25 -0
  735. package/src/duckdb/src/include/duckdb/optimizer/optimizer.hpp +1 -0
  736. package/src/duckdb/src/include/duckdb/optimizer/rule/join_dependent_filter.hpp +37 -0
  737. package/src/duckdb/src/include/duckdb/parallel/executor_task.hpp +6 -1
  738. package/src/duckdb/src/include/duckdb/parallel/interrupt.hpp +54 -2
  739. package/src/duckdb/src/include/duckdb/parallel/meta_pipeline.hpp +27 -8
  740. package/src/duckdb/src/include/duckdb/parallel/pipeline.hpp +1 -0
  741. package/src/duckdb/src/include/duckdb/parallel/pipeline_prepare_finish_event.hpp +25 -0
  742. package/src/duckdb/src/include/duckdb/parallel/task_executor.hpp +63 -0
  743. package/src/duckdb/src/include/duckdb/parallel/task_scheduler.hpp +10 -1
  744. package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +4 -1
  745. package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +5 -0
  746. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +5 -0
  747. package/src/duckdb/src/include/duckdb/parser/parsed_data/attach_info.hpp +5 -0
  748. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +2 -0
  749. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_macro_info.hpp +11 -1
  750. package/src/duckdb/src/include/duckdb/parser/parsed_data/transaction_info.hpp +9 -0
  751. package/src/duckdb/src/include/duckdb/parser/parsed_expression_iterator.hpp +13 -6
  752. package/src/duckdb/src/include/duckdb/parser/parser_extension.hpp +1 -1
  753. package/src/duckdb/src/include/duckdb/parser/sql_statement.hpp +1 -3
  754. package/src/duckdb/src/include/duckdb/parser/statement/copy_statement.hpp +2 -0
  755. package/src/duckdb/src/include/duckdb/parser/statement/explain_statement.hpp +5 -1
  756. package/src/duckdb/src/include/duckdb/parser/statement/set_statement.hpp +2 -2
  757. package/src/duckdb/src/include/duckdb/parser/statement/transaction_statement.hpp +1 -1
  758. package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +0 -2
  759. package/src/duckdb/src/include/duckdb/parser/tableref/column_data_ref.hpp +9 -7
  760. package/src/duckdb/src/include/duckdb/parser/tableref/delimgetref.hpp +37 -0
  761. package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +4 -0
  762. package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +0 -2
  763. package/src/duckdb/src/include/duckdb/parser/tableref/subqueryref.hpp +0 -2
  764. package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +0 -1
  765. package/src/duckdb/src/include/duckdb/parser/tableref.hpp +3 -1
  766. package/src/duckdb/src/include/duckdb/parser/transformer.hpp +17 -9
  767. package/src/duckdb/src/include/duckdb/planner/binder.hpp +24 -14
  768. package/src/duckdb/src/include/duckdb/planner/collation_binding.hpp +44 -0
  769. package/src/duckdb/src/include/duckdb/planner/expression/bound_aggregate_expression.hpp +1 -1
  770. package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +1 -1
  771. package/src/duckdb/src/include/duckdb/planner/expression/bound_case_expression.hpp +1 -1
  772. package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +1 -1
  773. package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +1 -1
  774. package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +1 -1
  775. package/src/duckdb/src/include/duckdb/planner/expression/bound_conjunction_expression.hpp +1 -1
  776. package/src/duckdb/src/include/duckdb/planner/expression/bound_constant_expression.hpp +1 -1
  777. package/src/duckdb/src/include/duckdb/planner/expression/bound_default_expression.hpp +1 -1
  778. package/src/duckdb/src/include/duckdb/planner/expression/bound_expanded_expression.hpp +1 -1
  779. package/src/duckdb/src/include/duckdb/planner/expression/bound_function_expression.hpp +1 -1
  780. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +1 -1
  781. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +1 -1
  782. package/src/duckdb/src/include/duckdb/planner/expression/bound_operator_expression.hpp +1 -1
  783. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_data.hpp +2 -0
  784. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_expression.hpp +1 -1
  785. package/src/duckdb/src/include/duckdb/planner/expression/bound_reference_expression.hpp +1 -1
  786. package/src/duckdb/src/include/duckdb/planner/expression/bound_subquery_expression.hpp +2 -2
  787. package/src/duckdb/src/include/duckdb/planner/expression/bound_unnest_expression.hpp +1 -1
  788. package/src/duckdb/src/include/duckdb/planner/expression/bound_window_expression.hpp +1 -1
  789. package/src/duckdb/src/include/duckdb/planner/expression.hpp +2 -2
  790. package/src/duckdb/src/include/duckdb/planner/expression_binder/column_alias_binder.hpp +2 -0
  791. package/src/duckdb/src/include/duckdb/planner/expression_binder/group_binder.hpp +1 -0
  792. package/src/duckdb/src/include/duckdb/planner/expression_binder/order_binder.hpp +6 -5
  793. package/src/duckdb/src/include/duckdb/planner/expression_binder/where_binder.hpp +1 -0
  794. package/src/duckdb/src/include/duckdb/planner/expression_binder.hpp +19 -11
  795. package/src/duckdb/src/include/duckdb/planner/filter/conjunction_filter.hpp +4 -0
  796. package/src/duckdb/src/include/duckdb/planner/filter/constant_filter.hpp +2 -0
  797. package/src/duckdb/src/include/duckdb/planner/filter/null_filter.hpp +4 -0
  798. package/src/duckdb/src/include/duckdb/planner/filter/struct_filter.hpp +2 -0
  799. package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +7 -2
  800. package/src/duckdb/src/include/duckdb/planner/logical_operator_visitor.hpp +2 -1
  801. package/src/duckdb/src/include/duckdb/planner/operator/logical_aggregate.hpp +1 -1
  802. package/src/duckdb/src/include/duckdb/planner/operator/logical_any_join.hpp +1 -1
  803. package/src/duckdb/src/include/duckdb/planner/operator/logical_comparison_join.hpp +6 -1
  804. package/src/duckdb/src/include/duckdb/planner/operator/logical_copy_to_file.hpp +10 -2
  805. package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +1 -0
  806. package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +1 -1
  807. package/src/duckdb/src/include/duckdb/planner/operator/logical_distinct.hpp +1 -1
  808. package/src/duckdb/src/include/duckdb/planner/operator/logical_execute.hpp +1 -1
  809. package/src/duckdb/src/include/duckdb/planner/operator/logical_explain.hpp +4 -2
  810. package/src/duckdb/src/include/duckdb/planner/operator/logical_get.hpp +15 -5
  811. package/src/duckdb/src/include/duckdb/planner/operator/logical_materialized_cte.hpp +1 -0
  812. package/src/duckdb/src/include/duckdb/planner/operator/logical_order.hpp +1 -1
  813. package/src/duckdb/src/include/duckdb/planner/subquery/flatten_dependent_join.hpp +2 -1
  814. package/src/duckdb/src/include/duckdb/planner/table_filter.hpp +24 -2
  815. package/src/duckdb/src/include/duckdb/planner/tableref/bound_delimgetref.hpp +26 -0
  816. package/src/duckdb/src/include/duckdb/planner/tableref/bound_joinref.hpp +6 -0
  817. package/src/duckdb/src/include/duckdb/planner/tableref/bound_subqueryref.hpp +1 -1
  818. package/src/duckdb/src/include/duckdb/planner/tableref/bound_table_function.hpp +2 -0
  819. package/src/duckdb/src/include/duckdb/planner/tableref/list.hpp +2 -0
  820. package/src/duckdb/src/include/duckdb/storage/arena_allocator.hpp +2 -1
  821. package/src/duckdb/src/include/duckdb/storage/block.hpp +4 -2
  822. package/src/duckdb/src/include/duckdb/storage/block_manager.hpp +48 -3
  823. package/src/duckdb/src/include/duckdb/storage/buffer/block_handle.hpp +21 -7
  824. package/src/duckdb/src/include/duckdb/storage/buffer/buffer_pool.hpp +65 -51
  825. package/src/duckdb/src/include/duckdb/storage/buffer_manager.hpp +14 -5
  826. package/src/duckdb/src/include/duckdb/storage/checkpoint/row_group_writer.hpp +0 -4
  827. package/src/duckdb/src/include/duckdb/storage/checkpoint/string_checkpoint_state.hpp +3 -2
  828. package/src/duckdb/src/include/duckdb/storage/checkpoint/table_data_writer.hpp +1 -0
  829. package/src/duckdb/src/include/duckdb/storage/checkpoint/write_overflow_strings_to_disk.hpp +3 -4
  830. package/src/duckdb/src/include/duckdb/storage/checkpoint_manager.hpp +2 -0
  831. package/src/duckdb/src/include/duckdb/storage/compression/alp/algorithm/alp.hpp +4 -4
  832. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_analyze.hpp +6 -4
  833. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_compress.hpp +19 -17
  834. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_constants.hpp +2 -2
  835. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_scan.hpp +3 -4
  836. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_utils.hpp +3 -2
  837. package/src/duckdb/src/include/duckdb/storage/compression/alprd/algorithm/alprd.hpp +3 -2
  838. package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_analyze.hpp +13 -11
  839. package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_compress.hpp +19 -19
  840. package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_scan.hpp +3 -4
  841. package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_scan.hpp +1 -1
  842. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_scan.hpp +1 -1
  843. package/src/duckdb/src/include/duckdb/storage/data_pointer.hpp +10 -2
  844. package/src/duckdb/src/include/duckdb/storage/data_table.hpp +3 -2
  845. package/src/duckdb/src/include/duckdb/storage/in_memory_block_manager.hpp +15 -0
  846. package/src/duckdb/src/include/duckdb/storage/index_storage_info.hpp +14 -10
  847. package/src/duckdb/src/include/duckdb/storage/metadata/metadata_manager.hpp +6 -8
  848. package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +7 -4
  849. package/src/duckdb/src/include/duckdb/storage/segment/uncompressed.hpp +4 -7
  850. package/src/duckdb/src/include/duckdb/storage/single_file_block_manager.hpp +29 -4
  851. package/src/duckdb/src/include/duckdb/storage/standard_buffer_manager.hpp +22 -7
  852. package/src/duckdb/src/include/duckdb/storage/statistics/base_statistics.hpp +15 -2
  853. package/src/duckdb/src/include/duckdb/storage/statistics/distinct_statistics.hpp +8 -2
  854. package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats.hpp +5 -16
  855. package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats_union.hpp +51 -13
  856. package/src/duckdb/src/include/duckdb/storage/statistics/string_stats.hpp +6 -3
  857. package/src/duckdb/src/include/duckdb/storage/storage_info.hpp +29 -19
  858. package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +23 -7
  859. package/src/duckdb/src/include/duckdb/storage/string_uncompressed.hpp +27 -18
  860. package/src/duckdb/src/include/duckdb/storage/table/append_state.hpp +6 -3
  861. package/src/duckdb/src/include/duckdb/storage/table/array_column_data.hpp +5 -2
  862. package/src/duckdb/src/include/duckdb/storage/table/chunk_info.hpp +3 -0
  863. package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +5 -1
  864. package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +77 -6
  865. package/src/duckdb/src/include/duckdb/storage/table/column_segment.hpp +23 -11
  866. package/src/duckdb/src/include/duckdb/storage/table/data_table_info.hpp +3 -0
  867. package/src/duckdb/src/include/duckdb/storage/table/list_column_data.hpp +5 -2
  868. package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +18 -4
  869. package/src/duckdb/src/include/duckdb/storage/table/row_group_collection.hpp +7 -1
  870. package/src/duckdb/src/include/duckdb/storage/table/row_version_manager.hpp +2 -1
  871. package/src/duckdb/src/include/duckdb/storage/table/scan_state.hpp +89 -14
  872. package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +4 -2
  873. package/src/duckdb/src/include/duckdb/storage/table/struct_column_data.hpp +4 -2
  874. package/src/duckdb/src/include/duckdb/storage/table/table_index_list.hpp +2 -2
  875. package/src/duckdb/src/include/duckdb/storage/table/validity_column_data.hpp +1 -1
  876. package/src/duckdb/src/include/duckdb/storage/temporary_memory_manager.hpp +33 -15
  877. package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +9 -9
  878. package/src/duckdb/src/include/duckdb/transaction/cleanup_state.hpp +3 -1
  879. package/src/duckdb/src/include/duckdb/transaction/commit_state.hpp +4 -16
  880. package/src/duckdb/src/include/duckdb/transaction/duck_transaction.hpp +27 -4
  881. package/src/duckdb/src/include/duckdb/transaction/duck_transaction_manager.hpp +11 -0
  882. package/src/duckdb/src/include/duckdb/transaction/local_storage.hpp +6 -2
  883. package/src/duckdb/src/include/duckdb/transaction/meta_transaction.hpp +5 -5
  884. package/src/duckdb/src/include/duckdb/transaction/transaction_context.hpp +6 -2
  885. package/src/duckdb/src/include/duckdb/transaction/undo_buffer.hpp +5 -3
  886. package/src/duckdb/src/include/duckdb/transaction/wal_write_state.hpp +48 -0
  887. package/src/duckdb/src/include/duckdb.h +1779 -739
  888. package/src/duckdb/src/include/duckdb_extension.h +921 -0
  889. package/src/duckdb/src/main/appender.cpp +53 -7
  890. package/src/duckdb/src/main/attached_database.cpp +87 -17
  891. package/src/duckdb/src/main/buffered_data/batched_buffered_data.cpp +226 -0
  892. package/src/duckdb/src/main/buffered_data/buffered_data.cpp +35 -0
  893. package/src/duckdb/src/main/buffered_data/simple_buffered_data.cpp +48 -23
  894. package/src/duckdb/src/main/capi/aggregate_function-c.cpp +327 -0
  895. package/src/duckdb/src/main/capi/appender-c.cpp +18 -0
  896. package/src/duckdb/src/main/capi/cast/utils-c.cpp +2 -2
  897. package/src/duckdb/src/main/capi/cast_function-c.cpp +210 -0
  898. package/src/duckdb/src/main/capi/config-c.cpp +3 -3
  899. package/src/duckdb/src/main/capi/data_chunk-c.cpp +18 -7
  900. package/src/duckdb/src/main/capi/duckdb_value-c.cpp +223 -24
  901. package/src/duckdb/src/main/capi/helper-c.cpp +51 -11
  902. package/src/duckdb/src/main/capi/logical_types-c.cpp +105 -46
  903. package/src/duckdb/src/main/capi/pending-c.cpp +7 -6
  904. package/src/duckdb/src/main/capi/prepared-c.cpp +18 -7
  905. package/src/duckdb/src/main/capi/profiling_info-c.cpp +84 -0
  906. package/src/duckdb/src/main/capi/result-c.cpp +139 -37
  907. package/src/duckdb/src/main/capi/scalar_function-c.cpp +269 -0
  908. package/src/duckdb/src/main/capi/table_description-c.cpp +82 -0
  909. package/src/duckdb/src/main/capi/table_function-c.cpp +161 -95
  910. package/src/duckdb/src/main/capi/value-c.cpp +2 -2
  911. package/src/duckdb/src/main/chunk_scan_state/batched_data_collection.cpp +57 -0
  912. package/src/duckdb/src/main/client_config.cpp +17 -0
  913. package/src/duckdb/src/main/client_context.cpp +67 -52
  914. package/src/duckdb/src/main/client_data.cpp +3 -3
  915. package/src/duckdb/src/main/config.cpp +120 -62
  916. package/src/duckdb/src/main/connection.cpp +14 -2
  917. package/src/duckdb/src/main/database.cpp +96 -35
  918. package/src/duckdb/src/main/database_manager.cpp +25 -23
  919. package/src/duckdb/src/main/database_path_and_type.cpp +2 -2
  920. package/src/duckdb/src/main/db_instance_cache.cpp +54 -19
  921. package/src/duckdb/src/main/extension/extension_helper.cpp +47 -42
  922. package/src/duckdb/src/main/extension/extension_install.cpp +155 -87
  923. package/src/duckdb/src/main/extension/extension_load.cpp +180 -26
  924. package/src/duckdb/src/main/extension/extension_util.cpp +8 -0
  925. package/src/duckdb/src/main/extension.cpp +72 -5
  926. package/src/duckdb/src/main/pending_query_result.cpp +20 -12
  927. package/src/duckdb/src/main/prepared_statement.cpp +6 -6
  928. package/src/duckdb/src/main/prepared_statement_data.cpp +28 -17
  929. package/src/duckdb/src/main/profiling_info.cpp +196 -0
  930. package/src/duckdb/src/main/query_profiler.cpp +413 -224
  931. package/src/duckdb/src/main/query_result.cpp +1 -1
  932. package/src/duckdb/src/main/relation/create_table_relation.cpp +4 -2
  933. package/src/duckdb/src/main/relation/create_view_relation.cpp +0 -6
  934. package/src/duckdb/src/main/relation/delim_get_relation.cpp +44 -0
  935. package/src/duckdb/src/main/relation/explain_relation.cpp +4 -3
  936. package/src/duckdb/src/main/relation/join_relation.cpp +5 -0
  937. package/src/duckdb/src/main/relation/limit_relation.cpp +1 -1
  938. package/src/duckdb/src/main/relation/materialized_relation.cpp +3 -3
  939. package/src/duckdb/src/main/relation/query_relation.cpp +42 -15
  940. package/src/duckdb/src/main/relation/read_csv_relation.cpp +7 -14
  941. package/src/duckdb/src/main/relation/read_json_relation.cpp +20 -0
  942. package/src/duckdb/src/main/relation/setop_relation.cpp +1 -1
  943. package/src/duckdb/src/main/relation/table_function_relation.cpp +6 -0
  944. package/src/duckdb/src/main/relation/view_relation.cpp +10 -0
  945. package/src/duckdb/src/main/relation.cpp +12 -8
  946. package/src/duckdb/src/main/secret/default_secrets.cpp +108 -0
  947. package/src/duckdb/src/main/secret/secret.cpp +145 -2
  948. package/src/duckdb/src/main/secret/secret_manager.cpp +85 -35
  949. package/src/duckdb/src/main/secret/secret_storage.cpp +29 -17
  950. package/src/duckdb/src/main/settings/settings.cpp +503 -11
  951. package/src/duckdb/src/main/stream_query_result.cpp +75 -2
  952. package/src/duckdb/src/optimizer/build_probe_side_optimizer.cpp +248 -0
  953. package/src/duckdb/src/optimizer/column_lifetime_analyzer.cpp +28 -6
  954. package/src/duckdb/src/optimizer/compressed_materialization/compress_comparison_join.cpp +152 -0
  955. package/src/duckdb/src/optimizer/compressed_materialization.cpp +11 -1
  956. package/src/duckdb/src/optimizer/cse_optimizer.cpp +3 -0
  957. package/src/duckdb/src/optimizer/cte_filter_pusher.cpp +117 -0
  958. package/src/duckdb/src/optimizer/filter_combiner.cpp +30 -9
  959. package/src/duckdb/src/optimizer/filter_pullup.cpp +54 -2
  960. package/src/duckdb/src/optimizer/filter_pushdown.cpp +71 -3
  961. package/src/duckdb/src/optimizer/join_filter_pushdown_optimizer.cpp +154 -0
  962. package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +245 -114
  963. package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +42 -20
  964. package/src/duckdb/src/optimizer/join_order/join_relation_set.cpp +6 -2
  965. package/src/duckdb/src/optimizer/join_order/plan_enumerator.cpp +32 -10
  966. package/src/duckdb/src/optimizer/join_order/query_graph_manager.cpp +97 -131
  967. package/src/duckdb/src/optimizer/join_order/relation_manager.cpp +265 -51
  968. package/src/duckdb/src/optimizer/join_order/relation_statistics_helper.cpp +21 -17
  969. package/src/duckdb/src/optimizer/limit_pushdown.cpp +42 -0
  970. package/src/duckdb/src/optimizer/optimizer.cpp +51 -8
  971. package/src/duckdb/src/optimizer/pushdown/pushdown_aggregate.cpp +17 -17
  972. package/src/duckdb/src/optimizer/pushdown/pushdown_cross_product.cpp +22 -4
  973. package/src/duckdb/src/optimizer/pushdown/pushdown_get.cpp +1 -18
  974. package/src/duckdb/src/optimizer/pushdown/pushdown_inner_join.cpp +6 -0
  975. package/src/duckdb/src/optimizer/pushdown/pushdown_mark_join.cpp +4 -2
  976. package/src/duckdb/src/optimizer/pushdown/pushdown_window.cpp +91 -0
  977. package/src/duckdb/src/optimizer/remove_unused_columns.cpp +21 -25
  978. package/src/duckdb/src/optimizer/rule/comparison_simplification.cpp +1 -0
  979. package/src/duckdb/src/optimizer/rule/empty_needle_removal.cpp +3 -0
  980. package/src/duckdb/src/optimizer/rule/equal_or_null_simplification.cpp +2 -2
  981. package/src/duckdb/src/optimizer/rule/in_clause_simplification_rule.cpp +8 -2
  982. package/src/duckdb/src/optimizer/rule/join_dependent_filter.cpp +135 -0
  983. package/src/duckdb/src/optimizer/rule/like_optimizations.cpp +1 -1
  984. package/src/duckdb/src/optimizer/rule/regex_optimizations.cpp +1 -1
  985. package/src/duckdb/src/optimizer/statistics/operator/propagate_filter.cpp +6 -1
  986. package/src/duckdb/src/optimizer/statistics/operator/propagate_get.cpp +7 -6
  987. package/src/duckdb/src/optimizer/statistics/operator/propagate_join.cpp +1 -1
  988. package/src/duckdb/src/optimizer/topn_optimizer.cpp +46 -7
  989. package/src/duckdb/src/parallel/executor.cpp +129 -51
  990. package/src/duckdb/src/parallel/executor_task.cpp +16 -3
  991. package/src/duckdb/src/parallel/meta_pipeline.cpp +98 -29
  992. package/src/duckdb/src/parallel/pipeline.cpp +17 -3
  993. package/src/duckdb/src/parallel/pipeline_executor.cpp +14 -2
  994. package/src/duckdb/src/parallel/pipeline_prepare_finish_event.cpp +34 -0
  995. package/src/duckdb/src/parallel/task_executor.cpp +84 -0
  996. package/src/duckdb/src/parallel/task_scheduler.cpp +94 -16
  997. package/src/duckdb/src/parallel/thread_context.cpp +1 -1
  998. package/src/duckdb/src/parser/expression/function_expression.cpp +14 -0
  999. package/src/duckdb/src/parser/expression/star_expression.cpp +35 -2
  1000. package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +5 -1
  1001. package/src/duckdb/src/parser/parsed_data/attach_info.cpp +17 -0
  1002. package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +37 -28
  1003. package/src/duckdb/src/parser/parsed_data/create_macro_info.cpp +44 -2
  1004. package/src/duckdb/src/parser/parsed_data/transaction_info.cpp +21 -1
  1005. package/src/duckdb/src/parser/parsed_expression_iterator.cpp +29 -25
  1006. package/src/duckdb/src/parser/parser.cpp +41 -1
  1007. package/src/duckdb/src/parser/query_node/recursive_cte_node.cpp +1 -0
  1008. package/src/duckdb/src/parser/statement/explain_statement.cpp +28 -13
  1009. package/src/duckdb/src/parser/statement/relation_statement.cpp +5 -0
  1010. package/src/duckdb/src/parser/statement/set_statement.cpp +4 -2
  1011. package/src/duckdb/src/parser/statement/transaction_statement.cpp +3 -3
  1012. package/src/duckdb/src/parser/tableref/column_data_ref.cpp +1 -27
  1013. package/src/duckdb/src/parser/tableref/delimgetref.cpp +30 -0
  1014. package/src/duckdb/src/parser/tableref/joinref.cpp +4 -0
  1015. package/src/duckdb/src/parser/transform/constraint/transform_constraint.cpp +35 -29
  1016. package/src/duckdb/src/parser/transform/expression/transform_array_access.cpp +32 -32
  1017. package/src/duckdb/src/parser/transform/expression/transform_columnref.cpp +2 -1
  1018. package/src/duckdb/src/parser/transform/expression/transform_constant.cpp +17 -0
  1019. package/src/duckdb/src/parser/transform/expression/transform_function.cpp +5 -0
  1020. package/src/duckdb/src/parser/transform/expression/transform_multi_assign_reference.cpp +36 -34
  1021. package/src/duckdb/src/parser/transform/expression/transform_operator.cpp +30 -14
  1022. package/src/duckdb/src/parser/transform/expression/transform_subquery.cpp +1 -1
  1023. package/src/duckdb/src/parser/transform/helpers/transform_alias.cpp +2 -1
  1024. package/src/duckdb/src/parser/transform/helpers/transform_cte.cpp +27 -19
  1025. package/src/duckdb/src/parser/transform/helpers/transform_orderby.cpp +31 -28
  1026. package/src/duckdb/src/parser/transform/statement/transform_alter_table.cpp +25 -27
  1027. package/src/duckdb/src/parser/transform/statement/transform_copy.cpp +1 -1
  1028. package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +53 -42
  1029. package/src/duckdb/src/parser/transform/statement/transform_create_table.cpp +6 -6
  1030. package/src/duckdb/src/parser/transform/statement/transform_create_table_as.cpp +1 -1
  1031. package/src/duckdb/src/parser/transform/statement/transform_create_type.cpp +1 -1
  1032. package/src/duckdb/src/parser/transform/statement/transform_create_view.cpp +1 -1
  1033. package/src/duckdb/src/parser/transform/statement/transform_explain.cpp +38 -3
  1034. package/src/duckdb/src/parser/transform/statement/transform_insert.cpp +1 -2
  1035. package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +1 -1
  1036. package/src/duckdb/src/parser/transform/statement/transform_prepare.cpp +1 -1
  1037. package/src/duckdb/src/parser/transform/statement/transform_select.cpp +26 -21
  1038. package/src/duckdb/src/parser/transform/statement/transform_set.cpp +8 -8
  1039. package/src/duckdb/src/parser/transform/statement/transform_show.cpp +5 -2
  1040. package/src/duckdb/src/parser/transform/statement/transform_show_select.cpp +6 -4
  1041. package/src/duckdb/src/parser/transform/statement/transform_transaction.cpp +27 -6
  1042. package/src/duckdb/src/parser/transform/statement/transform_update.cpp +8 -9
  1043. package/src/duckdb/src/parser/transform/statement/transform_upsert.cpp +11 -12
  1044. package/src/duckdb/src/parser/transform/statement/transform_vacuum.cpp +3 -3
  1045. package/src/duckdb/src/parser/transform/tableref/transform_join.cpp +16 -10
  1046. package/src/duckdb/src/parser/transform/tableref/transform_pivot.cpp +1 -1
  1047. package/src/duckdb/src/parser/transform/tableref/transform_subquery.cpp +1 -1
  1048. package/src/duckdb/src/parser/transformer.cpp +11 -7
  1049. package/src/duckdb/src/planner/bind_context.cpp +3 -3
  1050. package/src/duckdb/src/planner/binder/expression/bind_aggregate_expression.cpp +22 -7
  1051. package/src/duckdb/src/planner/binder/expression/bind_between_expression.cpp +3 -3
  1052. package/src/duckdb/src/planner/binder/expression/bind_collate_expression.cpp +3 -2
  1053. package/src/duckdb/src/planner/binder/expression/bind_columnref_expression.cpp +11 -4
  1054. package/src/duckdb/src/planner/binder/expression/bind_comparison_expression.cpp +9 -54
  1055. package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +3 -5
  1056. package/src/duckdb/src/planner/binder/expression/bind_macro_expression.cpp +24 -27
  1057. package/src/duckdb/src/planner/binder/expression/bind_operator_expression.cpp +7 -7
  1058. package/src/duckdb/src/planner/binder/expression/bind_parameter_expression.cpp +9 -2
  1059. package/src/duckdb/src/planner/binder/expression/bind_star_expression.cpp +26 -7
  1060. package/src/duckdb/src/planner/binder/expression/bind_unnest_expression.cpp +5 -0
  1061. package/src/duckdb/src/planner/binder/expression/bind_unpacked_star_expression.cpp +91 -0
  1062. package/src/duckdb/src/planner/binder/expression/bind_window_expression.cpp +2 -2
  1063. package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +11 -8
  1064. package/src/duckdb/src/planner/binder/query_node/bind_setop_node.cpp +1 -1
  1065. package/src/duckdb/src/planner/binder/query_node/bind_table_macro_node.cpp +6 -10
  1066. package/src/duckdb/src/planner/binder/query_node/plan_cte_node.cpp +14 -10
  1067. package/src/duckdb/src/planner/binder/query_node/plan_setop.cpp +3 -3
  1068. package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +46 -7
  1069. package/src/duckdb/src/planner/binder/statement/bind_call.cpp +13 -20
  1070. package/src/duckdb/src/planner/binder/statement/bind_copy.cpp +105 -13
  1071. package/src/duckdb/src/planner/binder/statement/bind_copy_database.cpp +7 -3
  1072. package/src/duckdb/src/planner/binder/statement/bind_create.cpp +75 -55
  1073. package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +1 -1
  1074. package/src/duckdb/src/planner/binder/statement/bind_delete.cpp +5 -4
  1075. package/src/duckdb/src/planner/binder/statement/bind_drop.cpp +2 -2
  1076. package/src/duckdb/src/planner/binder/statement/bind_execute.cpp +24 -8
  1077. package/src/duckdb/src/planner/binder/statement/bind_explain.cpp +2 -2
  1078. package/src/duckdb/src/planner/binder/statement/bind_export.cpp +5 -105
  1079. package/src/duckdb/src/planner/binder/statement/bind_extension.cpp +2 -2
  1080. package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +109 -41
  1081. package/src/duckdb/src/planner/binder/statement/bind_set.cpp +23 -7
  1082. package/src/duckdb/src/planner/binder/statement/bind_simple.cpp +4 -1
  1083. package/src/duckdb/src/planner/binder/statement/bind_summarize.cpp +17 -3
  1084. package/src/duckdb/src/planner/binder/statement/bind_update.cpp +5 -4
  1085. package/src/duckdb/src/planner/binder/statement/bind_vacuum.cpp +8 -6
  1086. package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +55 -42
  1087. package/src/duckdb/src/planner/binder/tableref/bind_column_data_ref.cpp +3 -2
  1088. package/src/duckdb/src/planner/binder/tableref/bind_delimgetref.cpp +16 -0
  1089. package/src/duckdb/src/planner/binder/tableref/bind_joinref.cpp +31 -1
  1090. package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +6 -0
  1091. package/src/duckdb/src/planner/binder/tableref/bind_showref.cpp +2 -0
  1092. package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +106 -46
  1093. package/src/duckdb/src/planner/binder/tableref/plan_delimgetref.cpp +11 -0
  1094. package/src/duckdb/src/planner/binder/tableref/plan_joinref.cpp +15 -2
  1095. package/src/duckdb/src/planner/binder/tableref/plan_table_function.cpp +4 -0
  1096. package/src/duckdb/src/planner/binder.cpp +172 -15
  1097. package/src/duckdb/src/planner/collation_binding.cpp +99 -0
  1098. package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +10 -4
  1099. package/src/duckdb/src/planner/expression/bound_between_expression.cpp +1 -1
  1100. package/src/duckdb/src/planner/expression/bound_case_expression.cpp +1 -1
  1101. package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +14 -12
  1102. package/src/duckdb/src/planner/expression/bound_columnref_expression.cpp +1 -1
  1103. package/src/duckdb/src/planner/expression/bound_comparison_expression.cpp +1 -1
  1104. package/src/duckdb/src/planner/expression/bound_conjunction_expression.cpp +1 -1
  1105. package/src/duckdb/src/planner/expression/bound_constant_expression.cpp +1 -1
  1106. package/src/duckdb/src/planner/expression/bound_expanded_expression.cpp +1 -1
  1107. package/src/duckdb/src/planner/expression/bound_function_expression.cpp +8 -2
  1108. package/src/duckdb/src/planner/expression/bound_lambda_expression.cpp +1 -1
  1109. package/src/duckdb/src/planner/expression/bound_lambdaref_expression.cpp +1 -1
  1110. package/src/duckdb/src/planner/expression/bound_operator_expression.cpp +1 -1
  1111. package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +1 -1
  1112. package/src/duckdb/src/planner/expression/bound_reference_expression.cpp +1 -1
  1113. package/src/duckdb/src/planner/expression/bound_subquery_expression.cpp +1 -1
  1114. package/src/duckdb/src/planner/expression/bound_unnest_expression.cpp +1 -1
  1115. package/src/duckdb/src/planner/expression/bound_window_expression.cpp +6 -6
  1116. package/src/duckdb/src/planner/expression_binder/aggregate_binder.cpp +1 -1
  1117. package/src/duckdb/src/planner/expression_binder/alter_binder.cpp +2 -2
  1118. package/src/duckdb/src/planner/expression_binder/base_select_binder.cpp +1 -1
  1119. package/src/duckdb/src/planner/expression_binder/column_alias_binder.cpp +7 -0
  1120. package/src/duckdb/src/planner/expression_binder/constant_binder.cpp +3 -3
  1121. package/src/duckdb/src/planner/expression_binder/group_binder.cpp +26 -22
  1122. package/src/duckdb/src/planner/expression_binder/having_binder.cpp +7 -1
  1123. package/src/duckdb/src/planner/expression_binder/index_binder.cpp +2 -2
  1124. package/src/duckdb/src/planner/expression_binder/insert_binder.cpp +2 -2
  1125. package/src/duckdb/src/planner/expression_binder/lateral_binder.cpp +2 -2
  1126. package/src/duckdb/src/planner/expression_binder/order_binder.cpp +61 -43
  1127. package/src/duckdb/src/planner/expression_binder/qualify_binder.cpp +2 -2
  1128. package/src/duckdb/src/planner/expression_binder/relation_binder.cpp +4 -4
  1129. package/src/duckdb/src/planner/expression_binder/returning_binder.cpp +3 -2
  1130. package/src/duckdb/src/planner/expression_binder/table_function_binder.cpp +10 -3
  1131. package/src/duckdb/src/planner/expression_binder/update_binder.cpp +1 -1
  1132. package/src/duckdb/src/planner/expression_binder/where_binder.cpp +9 -2
  1133. package/src/duckdb/src/planner/expression_binder.cpp +121 -21
  1134. package/src/duckdb/src/planner/expression_iterator.cpp +26 -1
  1135. package/src/duckdb/src/planner/filter/conjunction_filter.cpp +33 -0
  1136. package/src/duckdb/src/planner/filter/constant_filter.cpp +15 -0
  1137. package/src/duckdb/src/planner/filter/null_filter.cpp +22 -0
  1138. package/src/duckdb/src/planner/filter/struct_filter.cpp +16 -0
  1139. package/src/duckdb/src/planner/logical_operator.cpp +24 -7
  1140. package/src/duckdb/src/planner/operator/logical_aggregate.cpp +13 -7
  1141. package/src/duckdb/src/planner/operator/logical_any_join.cpp +5 -2
  1142. package/src/duckdb/src/planner/operator/logical_comparison_join.cpp +13 -5
  1143. package/src/duckdb/src/planner/operator/logical_copy_to_file.cpp +64 -8
  1144. package/src/duckdb/src/planner/operator/logical_cteref.cpp +7 -0
  1145. package/src/duckdb/src/planner/operator/logical_distinct.cpp +6 -5
  1146. package/src/duckdb/src/planner/operator/logical_get.cpp +60 -18
  1147. package/src/duckdb/src/planner/operator/logical_materialized_cte.cpp +7 -0
  1148. package/src/duckdb/src/planner/operator/logical_order.cpp +7 -4
  1149. package/src/duckdb/src/planner/operator/logical_top_n.cpp +2 -2
  1150. package/src/duckdb/src/planner/operator/logical_vacuum.cpp +1 -1
  1151. package/src/duckdb/src/planner/planner.cpp +2 -3
  1152. package/src/duckdb/src/planner/subquery/flatten_dependent_join.cpp +27 -10
  1153. package/src/duckdb/src/planner/table_filter.cpp +51 -0
  1154. package/src/duckdb/src/storage/arena_allocator.cpp +28 -10
  1155. package/src/duckdb/src/storage/block.cpp +3 -2
  1156. package/src/duckdb/src/storage/buffer/block_handle.cpp +29 -14
  1157. package/src/duckdb/src/storage/buffer/block_manager.cpp +6 -5
  1158. package/src/duckdb/src/storage/buffer/buffer_handle.cpp +1 -1
  1159. package/src/duckdb/src/storage/buffer/buffer_pool.cpp +264 -125
  1160. package/src/duckdb/src/storage/buffer_manager.cpp +5 -1
  1161. package/src/duckdb/src/storage/checkpoint/row_group_writer.cpp +0 -6
  1162. package/src/duckdb/src/storage/checkpoint/table_data_writer.cpp +26 -3
  1163. package/src/duckdb/src/storage/checkpoint/write_overflow_strings_to_disk.cpp +21 -9
  1164. package/src/duckdb/src/storage/checkpoint_manager.cpp +49 -24
  1165. package/src/duckdb/src/storage/compression/alp/alp.cpp +6 -11
  1166. package/src/duckdb/src/storage/compression/alprd.cpp +5 -9
  1167. package/src/duckdb/src/storage/compression/bitpacking.cpp +35 -31
  1168. package/src/duckdb/src/storage/compression/chimp/chimp.cpp +6 -8
  1169. package/src/duckdb/src/storage/compression/dictionary_compression.cpp +71 -58
  1170. package/src/duckdb/src/storage/compression/fixed_size_uncompressed.cpp +15 -13
  1171. package/src/duckdb/src/storage/compression/fsst.cpp +66 -53
  1172. package/src/duckdb/src/storage/compression/numeric_constant.cpp +4 -5
  1173. package/src/duckdb/src/storage/compression/patas.cpp +6 -17
  1174. package/src/duckdb/src/storage/compression/rle.cpp +20 -18
  1175. package/src/duckdb/src/storage/compression/string_uncompressed.cpp +71 -52
  1176. package/src/duckdb/src/storage/compression/uncompressed.cpp +2 -2
  1177. package/src/duckdb/src/storage/compression/validity_uncompressed.cpp +8 -7
  1178. package/src/duckdb/src/storage/data_pointer.cpp +22 -0
  1179. package/src/duckdb/src/storage/data_table.cpp +41 -12
  1180. package/src/duckdb/src/storage/local_storage.cpp +22 -8
  1181. package/src/duckdb/src/storage/metadata/metadata_manager.cpp +33 -17
  1182. package/src/duckdb/src/storage/metadata/metadata_reader.cpp +4 -4
  1183. package/src/duckdb/src/storage/metadata/metadata_writer.cpp +3 -3
  1184. package/src/duckdb/src/storage/partial_block_manager.cpp +19 -8
  1185. package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +11 -8
  1186. package/src/duckdb/src/storage/serialization/serialize_expression.cpp +1 -1
  1187. package/src/duckdb/src/storage/serialization/serialize_extension_install_info.cpp +2 -0
  1188. package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +3 -3
  1189. package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +19 -5
  1190. package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +21 -1
  1191. package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +4 -2
  1192. package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +2 -2
  1193. package/src/duckdb/src/storage/serialization/serialize_storage.cpp +2 -0
  1194. package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +8 -4
  1195. package/src/duckdb/src/storage/serialization/serialize_types.cpp +4 -4
  1196. package/src/duckdb/src/storage/single_file_block_manager.cpp +170 -34
  1197. package/src/duckdb/src/storage/standard_buffer_manager.cpp +221 -64
  1198. package/src/duckdb/src/storage/statistics/column_statistics.cpp +4 -3
  1199. package/src/duckdb/src/storage/statistics/distinct_statistics.cpp +36 -26
  1200. package/src/duckdb/src/storage/statistics/numeric_stats.cpp +4 -15
  1201. package/src/duckdb/src/storage/statistics/string_stats.cpp +14 -8
  1202. package/src/duckdb/src/storage/statistics/struct_stats.cpp +2 -1
  1203. package/src/duckdb/src/storage/storage_info.cpp +34 -9
  1204. package/src/duckdb/src/storage/storage_manager.cpp +147 -74
  1205. package/src/duckdb/src/storage/table/array_column_data.cpp +37 -17
  1206. package/src/duckdb/src/storage/table/chunk_info.cpp +38 -0
  1207. package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +10 -6
  1208. package/src/duckdb/src/storage/table/column_data.cpp +252 -31
  1209. package/src/duckdb/src/storage/table/column_data_checkpointer.cpp +2 -12
  1210. package/src/duckdb/src/storage/table/column_segment.cpp +63 -34
  1211. package/src/duckdb/src/storage/table/list_column_data.cpp +34 -15
  1212. package/src/duckdb/src/storage/table/row_group.cpp +228 -120
  1213. package/src/duckdb/src/storage/table/row_group_collection.cpp +122 -120
  1214. package/src/duckdb/src/storage/table/row_version_manager.cpp +27 -1
  1215. package/src/duckdb/src/storage/table/scan_state.cpp +101 -18
  1216. package/src/duckdb/src/storage/table/standard_column_data.cpp +20 -34
  1217. package/src/duckdb/src/storage/table/struct_column_data.cpp +39 -42
  1218. package/src/duckdb/src/storage/table/table_statistics.cpp +2 -1
  1219. package/src/duckdb/src/storage/table/update_segment.cpp +9 -8
  1220. package/src/duckdb/src/storage/table/validity_column_data.cpp +2 -2
  1221. package/src/duckdb/src/storage/table_index_list.cpp +8 -7
  1222. package/src/duckdb/src/storage/temporary_file_manager.cpp +11 -9
  1223. package/src/duckdb/src/storage/temporary_memory_manager.cpp +227 -39
  1224. package/src/duckdb/src/storage/wal_replay.cpp +68 -28
  1225. package/src/duckdb/src/storage/write_ahead_log.cpp +56 -47
  1226. package/src/duckdb/src/transaction/cleanup_state.cpp +9 -1
  1227. package/src/duckdb/src/transaction/commit_state.cpp +7 -170
  1228. package/src/duckdb/src/transaction/duck_transaction.cpp +87 -19
  1229. package/src/duckdb/src/transaction/duck_transaction_manager.cpp +65 -10
  1230. package/src/duckdb/src/transaction/meta_transaction.cpp +18 -3
  1231. package/src/duckdb/src/transaction/transaction_context.cpp +21 -17
  1232. package/src/duckdb/src/transaction/undo_buffer.cpp +20 -14
  1233. package/src/duckdb/src/transaction/wal_write_state.cpp +292 -0
  1234. package/src/duckdb/src/verification/prepared_statement_verifier.cpp +0 -1
  1235. package/src/duckdb/third_party/brotli/common/brotli_constants.h +204 -0
  1236. package/src/duckdb/third_party/brotli/common/brotli_platform.h +543 -0
  1237. package/src/duckdb/third_party/brotli/common/constants.cpp +17 -0
  1238. package/src/duckdb/third_party/brotli/common/context.cpp +156 -0
  1239. package/src/duckdb/third_party/brotli/common/context.h +110 -0
  1240. package/src/duckdb/third_party/brotli/common/dictionary.cpp +5912 -0
  1241. package/src/duckdb/third_party/brotli/common/dictionary.h +60 -0
  1242. package/src/duckdb/third_party/brotli/common/platform.cpp +24 -0
  1243. package/src/duckdb/third_party/brotli/common/shared_dictionary.cpp +517 -0
  1244. package/src/duckdb/third_party/brotli/common/shared_dictionary_internal.h +71 -0
  1245. package/src/duckdb/third_party/brotli/common/transform.cpp +287 -0
  1246. package/src/duckdb/third_party/brotli/common/transform.h +77 -0
  1247. package/src/duckdb/third_party/brotli/common/version.h +51 -0
  1248. package/src/duckdb/third_party/brotli/dec/bit_reader.cpp +74 -0
  1249. package/src/duckdb/third_party/brotli/dec/bit_reader.h +419 -0
  1250. package/src/duckdb/third_party/brotli/dec/decode.cpp +2758 -0
  1251. package/src/duckdb/third_party/brotli/dec/huffman.cpp +338 -0
  1252. package/src/duckdb/third_party/brotli/dec/huffman.h +118 -0
  1253. package/src/duckdb/third_party/brotli/dec/prefix.h +733 -0
  1254. package/src/duckdb/third_party/brotli/dec/state.cpp +178 -0
  1255. package/src/duckdb/third_party/brotli/dec/state.h +386 -0
  1256. package/src/duckdb/third_party/brotli/enc/backward_references.cpp +3775 -0
  1257. package/src/duckdb/third_party/brotli/enc/backward_references.h +36 -0
  1258. package/src/duckdb/third_party/brotli/enc/backward_references_hq.cpp +935 -0
  1259. package/src/duckdb/third_party/brotli/enc/backward_references_hq.h +92 -0
  1260. package/src/duckdb/third_party/brotli/enc/bit_cost.cpp +410 -0
  1261. package/src/duckdb/third_party/brotli/enc/bit_cost.h +60 -0
  1262. package/src/duckdb/third_party/brotli/enc/block_splitter.cpp +1653 -0
  1263. package/src/duckdb/third_party/brotli/enc/block_splitter.h +48 -0
  1264. package/src/duckdb/third_party/brotli/enc/brotli_bit_stream.cpp +1431 -0
  1265. package/src/duckdb/third_party/brotli/enc/brotli_bit_stream.h +85 -0
  1266. package/src/duckdb/third_party/brotli/enc/brotli_hash.h +4352 -0
  1267. package/src/duckdb/third_party/brotli/enc/brotli_params.h +47 -0
  1268. package/src/duckdb/third_party/brotli/enc/cluster.cpp +1025 -0
  1269. package/src/duckdb/third_party/brotli/enc/cluster.h +1017 -0
  1270. package/src/duckdb/third_party/brotli/enc/command.cpp +24 -0
  1271. package/src/duckdb/third_party/brotli/enc/command.h +187 -0
  1272. package/src/duckdb/third_party/brotli/enc/compound_dictionary.cpp +209 -0
  1273. package/src/duckdb/third_party/brotli/enc/compound_dictionary.h +75 -0
  1274. package/src/duckdb/third_party/brotli/enc/compress_fragment.cpp +796 -0
  1275. package/src/duckdb/third_party/brotli/enc/compress_fragment.h +82 -0
  1276. package/src/duckdb/third_party/brotli/enc/compress_fragment_two_pass.cpp +653 -0
  1277. package/src/duckdb/third_party/brotli/enc/compress_fragment_two_pass.h +68 -0
  1278. package/src/duckdb/third_party/brotli/enc/dictionary_hash.cpp +1844 -0
  1279. package/src/duckdb/third_party/brotli/enc/dictionary_hash.h +21 -0
  1280. package/src/duckdb/third_party/brotli/enc/encode.cpp +1990 -0
  1281. package/src/duckdb/third_party/brotli/enc/encoder_dict.cpp +636 -0
  1282. package/src/duckdb/third_party/brotli/enc/encoder_dict.h +153 -0
  1283. package/src/duckdb/third_party/brotli/enc/entropy_encode.cpp +500 -0
  1284. package/src/duckdb/third_party/brotli/enc/entropy_encode.h +119 -0
  1285. package/src/duckdb/third_party/brotli/enc/entropy_encode_static.h +538 -0
  1286. package/src/duckdb/third_party/brotli/enc/fast_log.cpp +101 -0
  1287. package/src/duckdb/third_party/brotli/enc/fast_log.h +63 -0
  1288. package/src/duckdb/third_party/brotli/enc/find_match_length.h +68 -0
  1289. package/src/duckdb/third_party/brotli/enc/histogram.cpp +96 -0
  1290. package/src/duckdb/third_party/brotli/enc/histogram.h +210 -0
  1291. package/src/duckdb/third_party/brotli/enc/literal_cost.cpp +176 -0
  1292. package/src/duckdb/third_party/brotli/enc/literal_cost.h +28 -0
  1293. package/src/duckdb/third_party/brotli/enc/memory.cpp +190 -0
  1294. package/src/duckdb/third_party/brotli/enc/memory.h +127 -0
  1295. package/src/duckdb/third_party/brotli/enc/metablock.cpp +1225 -0
  1296. package/src/duckdb/third_party/brotli/enc/metablock.h +102 -0
  1297. package/src/duckdb/third_party/brotli/enc/prefix.h +50 -0
  1298. package/src/duckdb/third_party/brotli/enc/quality.h +202 -0
  1299. package/src/duckdb/third_party/brotli/enc/ringbuffer.h +164 -0
  1300. package/src/duckdb/third_party/brotli/enc/state.h +106 -0
  1301. package/src/duckdb/third_party/brotli/enc/static_dict.cpp +538 -0
  1302. package/src/duckdb/third_party/brotli/enc/static_dict.h +37 -0
  1303. package/src/duckdb/third_party/brotli/enc/static_dict_lut.h +5862 -0
  1304. package/src/duckdb/third_party/brotli/enc/utf8_util.cpp +81 -0
  1305. package/src/duckdb/third_party/brotli/enc/utf8_util.h +29 -0
  1306. package/src/duckdb/third_party/brotli/enc/write_bits.h +84 -0
  1307. package/src/duckdb/third_party/brotli/include/brotli/decode.h +405 -0
  1308. package/src/duckdb/third_party/brotli/include/brotli/encode.h +489 -0
  1309. package/src/duckdb/third_party/brotli/include/brotli/port.h +238 -0
  1310. package/src/duckdb/third_party/brotli/include/brotli/shared_dictionary.h +96 -0
  1311. package/src/duckdb/third_party/brotli/include/brotli/types.h +83 -0
  1312. package/src/duckdb/third_party/fast_float/fast_float/fast_float.h +20 -4
  1313. package/src/duckdb/third_party/fmt/include/fmt/format.h +54 -10
  1314. package/src/duckdb/third_party/fsst/fsst.h +2 -2
  1315. package/src/duckdb/third_party/fsst/libfsst.hpp +2 -2
  1316. package/src/duckdb/third_party/httplib/httplib.hpp +6763 -5580
  1317. package/src/duckdb/third_party/hyperloglog/hyperloglog.cpp +13 -30
  1318. package/src/duckdb/third_party/hyperloglog/hyperloglog.hpp +8 -2
  1319. package/src/duckdb/third_party/libpg_query/include/nodes/nodes.hpp +1 -0
  1320. package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +22 -9
  1321. package/src/duckdb/third_party/libpg_query/include/parser/gram.hpp +1041 -554
  1322. package/src/duckdb/third_party/libpg_query/include/parser/kwlist.hpp +1 -0
  1323. package/src/duckdb/third_party/libpg_query/postgres_parser.cpp +2 -1
  1324. package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +21605 -21752
  1325. package/src/duckdb/third_party/libpg_query/src_backend_parser_scan.cpp +538 -299
  1326. package/src/duckdb/third_party/mbedtls/include/mbedtls/mbedtls_config.h +1 -0
  1327. package/src/duckdb/third_party/mbedtls/include/mbedtls_wrapper.hpp +36 -12
  1328. package/src/duckdb/third_party/mbedtls/library/md.cpp +6 -6
  1329. package/src/duckdb/third_party/mbedtls/library/sha1.cpp +2 -0
  1330. package/src/duckdb/third_party/mbedtls/library/sha256.cpp +3 -0
  1331. package/src/duckdb/third_party/mbedtls/mbedtls_wrapper.cpp +99 -47
  1332. package/src/duckdb/third_party/pcg/pcg_extras.hpp +1 -1
  1333. package/src/duckdb/third_party/re2/re2/prog.cc +2 -2
  1334. package/src/duckdb/third_party/snappy/snappy-internal.h +398 -0
  1335. package/src/duckdb/third_party/snappy/snappy-sinksource.cc +111 -9
  1336. package/src/duckdb/third_party/snappy/snappy-sinksource.h +158 -0
  1337. package/src/duckdb/third_party/snappy/snappy-stubs-internal.h +523 -3
  1338. package/src/duckdb/third_party/snappy/snappy-stubs-public.h +34 -1
  1339. package/src/duckdb/third_party/snappy/snappy.cc +2626 -0
  1340. package/src/duckdb/third_party/snappy/snappy.h +223 -0
  1341. package/src/duckdb/third_party/snappy/snappy_version.hpp +11 -0
  1342. package/src/duckdb/third_party/utf8proc/include/utf8proc.hpp +69 -101
  1343. package/src/duckdb/third_party/utf8proc/include/utf8proc_wrapper.hpp +53 -0
  1344. package/src/duckdb/third_party/utf8proc/utf8proc.cpp +627 -678
  1345. package/src/duckdb/third_party/utf8proc/utf8proc_data.cpp +15008 -12868
  1346. package/src/duckdb/third_party/utf8proc/utf8proc_wrapper.cpp +185 -29
  1347. package/src/duckdb/ub_extension_json_json_functions.cpp +6 -0
  1348. package/src/duckdb/ub_src_catalog_default.cpp +4 -0
  1349. package/src/duckdb/ub_src_common.cpp +7 -1
  1350. package/src/duckdb/ub_src_common_arrow.cpp +10 -0
  1351. package/src/duckdb/ub_src_common_enums.cpp +2 -0
  1352. package/src/duckdb/ub_src_common_tree_renderer.cpp +10 -0
  1353. package/src/duckdb/ub_src_common_types.cpp +2 -0
  1354. package/src/duckdb/ub_src_core_functions_aggregate_holistic.cpp +4 -0
  1355. package/src/duckdb/ub_src_core_functions_aggregate_nested.cpp +2 -0
  1356. package/src/duckdb/ub_src_core_functions_scalar_generic.cpp +2 -0
  1357. package/src/duckdb/ub_src_core_functions_scalar_list.cpp +2 -4
  1358. package/src/duckdb/ub_src_core_functions_scalar_map.cpp +2 -0
  1359. package/src/duckdb/ub_src_core_functions_scalar_string.cpp +4 -0
  1360. package/src/duckdb/ub_src_execution_index_art.cpp +5 -3
  1361. package/src/duckdb/ub_src_execution_operator_csv_scanner_scanner.cpp +2 -0
  1362. package/src/duckdb/ub_src_execution_operator_helper.cpp +4 -0
  1363. package/src/duckdb/ub_src_function.cpp +4 -0
  1364. package/src/duckdb/ub_src_function_cast.cpp +2 -0
  1365. package/src/duckdb/ub_src_function_scalar_generic.cpp +4 -0
  1366. package/src/duckdb/ub_src_function_scalar_list.cpp +0 -2
  1367. package/src/duckdb/ub_src_function_scalar_string.cpp +2 -0
  1368. package/src/duckdb/ub_src_function_table.cpp +2 -0
  1369. package/src/duckdb/ub_src_function_table_arrow.cpp +2 -0
  1370. package/src/duckdb/ub_src_function_table_system.cpp +2 -0
  1371. package/src/duckdb/ub_src_main.cpp +4 -0
  1372. package/src/duckdb/ub_src_main_buffered_data.cpp +4 -0
  1373. package/src/duckdb/ub_src_main_capi.cpp +10 -0
  1374. package/src/duckdb/ub_src_main_chunk_scan_state.cpp +2 -0
  1375. package/src/duckdb/ub_src_main_relation.cpp +2 -0
  1376. package/src/duckdb/ub_src_main_secret.cpp +2 -0
  1377. package/src/duckdb/ub_src_optimizer.cpp +8 -0
  1378. package/src/duckdb/ub_src_optimizer_compressed_materialization.cpp +2 -0
  1379. package/src/duckdb/ub_src_optimizer_pushdown.cpp +2 -0
  1380. package/src/duckdb/ub_src_optimizer_rule.cpp +2 -0
  1381. package/src/duckdb/ub_src_parallel.cpp +4 -0
  1382. package/src/duckdb/ub_src_parser_tableref.cpp +2 -0
  1383. package/src/duckdb/ub_src_planner.cpp +2 -0
  1384. package/src/duckdb/ub_src_planner_binder_expression.cpp +2 -0
  1385. package/src/duckdb/ub_src_planner_binder_tableref.cpp +4 -0
  1386. package/src/duckdb/ub_src_storage_statistics.cpp +0 -2
  1387. package/src/duckdb/ub_src_transaction.cpp +2 -0
  1388. package/test/columns.test.ts +1 -1
  1389. package/test/prepare.test.ts +1 -1
  1390. package/test/test_all_types.test.ts +1 -1
@@ -22,6 +22,8 @@
22
22
  #include "duckdb/common/enums/cte_materialize.hpp"
23
23
  #include "duckdb/common/enums/date_part_specifier.hpp"
24
24
  #include "duckdb/common/enums/debug_initialize.hpp"
25
+ #include "duckdb/common/enums/destroy_buffer_upon.hpp"
26
+ #include "duckdb/common/enums/explain_format.hpp"
25
27
  #include "duckdb/common/enums/expression_type.hpp"
26
28
  #include "duckdb/common/enums/file_compression_type.hpp"
27
29
  #include "duckdb/common/enums/file_glob_options.hpp"
@@ -31,6 +33,7 @@
31
33
  #include "duckdb/common/enums/joinref_type.hpp"
32
34
  #include "duckdb/common/enums/logical_operator_type.hpp"
33
35
  #include "duckdb/common/enums/memory_tag.hpp"
36
+ #include "duckdb/common/enums/metric_type.hpp"
34
37
  #include "duckdb/common/enums/on_create_conflict.hpp"
35
38
  #include "duckdb/common/enums/on_entry_not_found.hpp"
36
39
  #include "duckdb/common/enums/operator_result_type.hpp"
@@ -48,6 +51,7 @@
48
51
  #include "duckdb/common/enums/set_scope.hpp"
49
52
  #include "duckdb/common/enums/set_type.hpp"
50
53
  #include "duckdb/common/enums/statement_type.hpp"
54
+ #include "duckdb/common/enums/stream_execution_result.hpp"
51
55
  #include "duckdb/common/enums/subquery_type.hpp"
52
56
  #include "duckdb/common/enums/tableref_type.hpp"
53
57
  #include "duckdb/common/enums/undo_flags.hpp"
@@ -81,23 +85,28 @@
81
85
  #include "duckdb/execution/operator/csv_scanner/quote_rules.hpp"
82
86
  #include "duckdb/execution/reservoir_sample.hpp"
83
87
  #include "duckdb/function/aggregate_state.hpp"
88
+ #include "duckdb/function/copy_function.hpp"
84
89
  #include "duckdb/function/function.hpp"
85
90
  #include "duckdb/function/macro_function.hpp"
86
91
  #include "duckdb/function/scalar/compressed_materialization_functions.hpp"
87
92
  #include "duckdb/function/scalar/strftime_format.hpp"
88
- #include "duckdb/function/table/arrow/arrow_duck_schema.hpp"
93
+ #include "duckdb/function/table/arrow/enum/arrow_datetime_type.hpp"
94
+ #include "duckdb/function/table/arrow/enum/arrow_type_info_type.hpp"
95
+ #include "duckdb/function/table/arrow/enum/arrow_variable_size_type.hpp"
89
96
  #include "duckdb/function/table_function.hpp"
90
97
  #include "duckdb/main/appender.hpp"
91
98
  #include "duckdb/main/capi/capi_internal.hpp"
92
99
  #include "duckdb/main/client_properties.hpp"
93
100
  #include "duckdb/main/config.hpp"
94
101
  #include "duckdb/main/error_manager.hpp"
102
+ #include "duckdb/main/extension.hpp"
95
103
  #include "duckdb/main/extension_helper.hpp"
96
104
  #include "duckdb/main/extension_install_info.hpp"
97
105
  #include "duckdb/main/query_result.hpp"
98
106
  #include "duckdb/main/secret/secret.hpp"
99
107
  #include "duckdb/main/settings.hpp"
100
108
  #include "duckdb/parallel/interrupt.hpp"
109
+ #include "duckdb/parallel/meta_pipeline.hpp"
101
110
  #include "duckdb/parallel/task.hpp"
102
111
  #include "duckdb/parser/constraint.hpp"
103
112
  #include "duckdb/parser/expression/parameter_expression.hpp"
@@ -117,6 +126,7 @@
117
126
  #include "duckdb/parser/query_node.hpp"
118
127
  #include "duckdb/parser/result_modifier.hpp"
119
128
  #include "duckdb/parser/simplified_token.hpp"
129
+ #include "duckdb/parser/statement/copy_statement.hpp"
120
130
  #include "duckdb/parser/statement/explain_statement.hpp"
121
131
  #include "duckdb/parser/statement/insert_statement.hpp"
122
132
  #include "duckdb/parser/tableref/showref.hpp"
@@ -575,15 +585,55 @@ ArrowOffsetSize EnumUtil::FromString<ArrowOffsetSize>(const char *value) {
575
585
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
576
586
  }
577
587
 
588
+ template<>
589
+ const char* EnumUtil::ToChars<ArrowTypeInfoType>(ArrowTypeInfoType value) {
590
+ switch(value) {
591
+ case ArrowTypeInfoType::LIST:
592
+ return "LIST";
593
+ case ArrowTypeInfoType::STRUCT:
594
+ return "STRUCT";
595
+ case ArrowTypeInfoType::DATE_TIME:
596
+ return "DATE_TIME";
597
+ case ArrowTypeInfoType::STRING:
598
+ return "STRING";
599
+ case ArrowTypeInfoType::ARRAY:
600
+ return "ARRAY";
601
+ default:
602
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
603
+ }
604
+ }
605
+
606
+ template<>
607
+ ArrowTypeInfoType EnumUtil::FromString<ArrowTypeInfoType>(const char *value) {
608
+ if (StringUtil::Equals(value, "LIST")) {
609
+ return ArrowTypeInfoType::LIST;
610
+ }
611
+ if (StringUtil::Equals(value, "STRUCT")) {
612
+ return ArrowTypeInfoType::STRUCT;
613
+ }
614
+ if (StringUtil::Equals(value, "DATE_TIME")) {
615
+ return ArrowTypeInfoType::DATE_TIME;
616
+ }
617
+ if (StringUtil::Equals(value, "STRING")) {
618
+ return ArrowTypeInfoType::STRING;
619
+ }
620
+ if (StringUtil::Equals(value, "ARRAY")) {
621
+ return ArrowTypeInfoType::ARRAY;
622
+ }
623
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
624
+ }
625
+
578
626
  template<>
579
627
  const char* EnumUtil::ToChars<ArrowVariableSizeType>(ArrowVariableSizeType value) {
580
628
  switch(value) {
581
- case ArrowVariableSizeType::FIXED_SIZE:
582
- return "FIXED_SIZE";
583
629
  case ArrowVariableSizeType::NORMAL:
584
630
  return "NORMAL";
631
+ case ArrowVariableSizeType::FIXED_SIZE:
632
+ return "FIXED_SIZE";
585
633
  case ArrowVariableSizeType::SUPER_SIZE:
586
634
  return "SUPER_SIZE";
635
+ case ArrowVariableSizeType::VIEW:
636
+ return "VIEW";
587
637
  default:
588
638
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
589
639
  }
@@ -591,15 +641,18 @@ const char* EnumUtil::ToChars<ArrowVariableSizeType>(ArrowVariableSizeType value
591
641
 
592
642
  template<>
593
643
  ArrowVariableSizeType EnumUtil::FromString<ArrowVariableSizeType>(const char *value) {
594
- if (StringUtil::Equals(value, "FIXED_SIZE")) {
595
- return ArrowVariableSizeType::FIXED_SIZE;
596
- }
597
644
  if (StringUtil::Equals(value, "NORMAL")) {
598
645
  return ArrowVariableSizeType::NORMAL;
599
646
  }
647
+ if (StringUtil::Equals(value, "FIXED_SIZE")) {
648
+ return ArrowVariableSizeType::FIXED_SIZE;
649
+ }
600
650
  if (StringUtil::Equals(value, "SUPER_SIZE")) {
601
651
  return ArrowVariableSizeType::SUPER_SIZE;
602
652
  }
653
+ if (StringUtil::Equals(value, "VIEW")) {
654
+ return ArrowVariableSizeType::VIEW;
655
+ }
603
656
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
604
657
  }
605
658
 
@@ -633,6 +686,8 @@ const char* EnumUtil::ToChars<BindingMode>(BindingMode value) {
633
686
  return "STANDARD_BINDING";
634
687
  case BindingMode::EXTRACT_NAMES:
635
688
  return "EXTRACT_NAMES";
689
+ case BindingMode::EXTRACT_REPLACEMENT_SCANS:
690
+ return "EXTRACT_REPLACEMENT_SCANS";
636
691
  default:
637
692
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
638
693
  }
@@ -646,6 +701,9 @@ BindingMode EnumUtil::FromString<BindingMode>(const char *value) {
646
701
  if (StringUtil::Equals(value, "EXTRACT_NAMES")) {
647
702
  return BindingMode::EXTRACT_NAMES;
648
703
  }
704
+ if (StringUtil::Equals(value, "EXTRACT_REPLACEMENT_SCANS")) {
705
+ return BindingMode::EXTRACT_REPLACEMENT_SCANS;
706
+ }
649
707
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
650
708
  }
651
709
 
@@ -773,6 +831,8 @@ const char* EnumUtil::ToChars<CSVState>(CSVState value) {
773
831
  return "QUOTED_NEW_LINE";
774
832
  case CSVState::EMPTY_SPACE:
775
833
  return "EMPTY_SPACE";
834
+ case CSVState::COMMENT:
835
+ return "COMMENT";
776
836
  default:
777
837
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
778
838
  }
@@ -813,6 +873,9 @@ CSVState EnumUtil::FromString<CSVState>(const char *value) {
813
873
  if (StringUtil::Equals(value, "EMPTY_SPACE")) {
814
874
  return CSVState::EMPTY_SPACE;
815
875
  }
876
+ if (StringUtil::Equals(value, "COMMENT")) {
877
+ return CSVState::COMMENT;
878
+ }
816
879
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
817
880
  }
818
881
 
@@ -1307,6 +1370,29 @@ ConstraintType EnumUtil::FromString<ConstraintType>(const char *value) {
1307
1370
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
1308
1371
  }
1309
1372
 
1373
+ template<>
1374
+ const char* EnumUtil::ToChars<CopyFunctionReturnType>(CopyFunctionReturnType value) {
1375
+ switch(value) {
1376
+ case CopyFunctionReturnType::CHANGED_ROWS:
1377
+ return "CHANGED_ROWS";
1378
+ case CopyFunctionReturnType::CHANGED_ROWS_AND_FILE_LIST:
1379
+ return "CHANGED_ROWS_AND_FILE_LIST";
1380
+ default:
1381
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
1382
+ }
1383
+ }
1384
+
1385
+ template<>
1386
+ CopyFunctionReturnType EnumUtil::FromString<CopyFunctionReturnType>(const char *value) {
1387
+ if (StringUtil::Equals(value, "CHANGED_ROWS")) {
1388
+ return CopyFunctionReturnType::CHANGED_ROWS;
1389
+ }
1390
+ if (StringUtil::Equals(value, "CHANGED_ROWS_AND_FILE_LIST")) {
1391
+ return CopyFunctionReturnType::CHANGED_ROWS_AND_FILE_LIST;
1392
+ }
1393
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
1394
+ }
1395
+
1310
1396
  template<>
1311
1397
  const char* EnumUtil::ToChars<CopyOverwriteMode>(CopyOverwriteMode value) {
1312
1398
  switch(value) {
@@ -1316,6 +1402,8 @@ const char* EnumUtil::ToChars<CopyOverwriteMode>(CopyOverwriteMode value) {
1316
1402
  return "COPY_OVERWRITE";
1317
1403
  case CopyOverwriteMode::COPY_OVERWRITE_OR_IGNORE:
1318
1404
  return "COPY_OVERWRITE_OR_IGNORE";
1405
+ case CopyOverwriteMode::COPY_APPEND:
1406
+ return "COPY_APPEND";
1319
1407
  default:
1320
1408
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
1321
1409
  }
@@ -1332,6 +1420,32 @@ CopyOverwriteMode EnumUtil::FromString<CopyOverwriteMode>(const char *value) {
1332
1420
  if (StringUtil::Equals(value, "COPY_OVERWRITE_OR_IGNORE")) {
1333
1421
  return CopyOverwriteMode::COPY_OVERWRITE_OR_IGNORE;
1334
1422
  }
1423
+ if (StringUtil::Equals(value, "COPY_APPEND")) {
1424
+ return CopyOverwriteMode::COPY_APPEND;
1425
+ }
1426
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
1427
+ }
1428
+
1429
+ template<>
1430
+ const char* EnumUtil::ToChars<CopyToType>(CopyToType value) {
1431
+ switch(value) {
1432
+ case CopyToType::COPY_TO_FILE:
1433
+ return "COPY_TO_FILE";
1434
+ case CopyToType::EXPORT_DATABASE:
1435
+ return "EXPORT_DATABASE";
1436
+ default:
1437
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
1438
+ }
1439
+ }
1440
+
1441
+ template<>
1442
+ CopyToType EnumUtil::FromString<CopyToType>(const char *value) {
1443
+ if (StringUtil::Equals(value, "COPY_TO_FILE")) {
1444
+ return CopyToType::COPY_TO_FILE;
1445
+ }
1446
+ if (StringUtil::Equals(value, "EXPORT_DATABASE")) {
1447
+ return CopyToType::EXPORT_DATABASE;
1448
+ }
1335
1449
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
1336
1450
  }
1337
1451
 
@@ -1623,6 +1737,34 @@ DeprecatedIndexType EnumUtil::FromString<DeprecatedIndexType>(const char *value)
1623
1737
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
1624
1738
  }
1625
1739
 
1740
+ template<>
1741
+ const char* EnumUtil::ToChars<DestroyBufferUpon>(DestroyBufferUpon value) {
1742
+ switch(value) {
1743
+ case DestroyBufferUpon::BLOCK:
1744
+ return "BLOCK";
1745
+ case DestroyBufferUpon::EVICTION:
1746
+ return "EVICTION";
1747
+ case DestroyBufferUpon::UNPIN:
1748
+ return "UNPIN";
1749
+ default:
1750
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
1751
+ }
1752
+ }
1753
+
1754
+ template<>
1755
+ DestroyBufferUpon EnumUtil::FromString<DestroyBufferUpon>(const char *value) {
1756
+ if (StringUtil::Equals(value, "BLOCK")) {
1757
+ return DestroyBufferUpon::BLOCK;
1758
+ }
1759
+ if (StringUtil::Equals(value, "EVICTION")) {
1760
+ return DestroyBufferUpon::EVICTION;
1761
+ }
1762
+ if (StringUtil::Equals(value, "UNPIN")) {
1763
+ return DestroyBufferUpon::UNPIN;
1764
+ }
1765
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
1766
+ }
1767
+
1626
1768
  template<>
1627
1769
  const char* EnumUtil::ToChars<DistinctType>(DistinctType value) {
1628
1770
  switch(value) {
@@ -1799,6 +1941,8 @@ const char* EnumUtil::ToChars<ExceptionType>(ExceptionType value) {
1799
1941
  return "AUTOLOAD";
1800
1942
  case ExceptionType::SEQUENCE:
1801
1943
  return "SEQUENCE";
1944
+ case ExceptionType::INVALID_CONFIGURATION:
1945
+ return "INVALID_CONFIGURATION";
1802
1946
  default:
1803
1947
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
1804
1948
  }
@@ -1932,6 +2076,47 @@ ExceptionType EnumUtil::FromString<ExceptionType>(const char *value) {
1932
2076
  if (StringUtil::Equals(value, "SEQUENCE")) {
1933
2077
  return ExceptionType::SEQUENCE;
1934
2078
  }
2079
+ if (StringUtil::Equals(value, "INVALID_CONFIGURATION")) {
2080
+ return ExceptionType::INVALID_CONFIGURATION;
2081
+ }
2082
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
2083
+ }
2084
+
2085
+ template<>
2086
+ const char* EnumUtil::ToChars<ExplainFormat>(ExplainFormat value) {
2087
+ switch(value) {
2088
+ case ExplainFormat::DEFAULT:
2089
+ return "DEFAULT";
2090
+ case ExplainFormat::TEXT:
2091
+ return "TEXT";
2092
+ case ExplainFormat::JSON:
2093
+ return "JSON";
2094
+ case ExplainFormat::HTML:
2095
+ return "HTML";
2096
+ case ExplainFormat::GRAPHVIZ:
2097
+ return "GRAPHVIZ";
2098
+ default:
2099
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
2100
+ }
2101
+ }
2102
+
2103
+ template<>
2104
+ ExplainFormat EnumUtil::FromString<ExplainFormat>(const char *value) {
2105
+ if (StringUtil::Equals(value, "DEFAULT")) {
2106
+ return ExplainFormat::DEFAULT;
2107
+ }
2108
+ if (StringUtil::Equals(value, "TEXT")) {
2109
+ return ExplainFormat::TEXT;
2110
+ }
2111
+ if (StringUtil::Equals(value, "JSON")) {
2112
+ return ExplainFormat::JSON;
2113
+ }
2114
+ if (StringUtil::Equals(value, "HTML")) {
2115
+ return ExplainFormat::HTML;
2116
+ }
2117
+ if (StringUtil::Equals(value, "GRAPHVIZ")) {
2118
+ return ExplainFormat::GRAPHVIZ;
2119
+ }
1935
2120
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
1936
2121
  }
1937
2122
 
@@ -2585,6 +2770,34 @@ ExpressionType EnumUtil::FromString<ExpressionType>(const char *value) {
2585
2770
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
2586
2771
  }
2587
2772
 
2773
+ template<>
2774
+ const char* EnumUtil::ToChars<ExtensionABIType>(ExtensionABIType value) {
2775
+ switch(value) {
2776
+ case ExtensionABIType::UNKNOWN:
2777
+ return "UNKNOWN";
2778
+ case ExtensionABIType::CPP:
2779
+ return "CPP";
2780
+ case ExtensionABIType::C_STRUCT:
2781
+ return "C_STRUCT";
2782
+ default:
2783
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
2784
+ }
2785
+ }
2786
+
2787
+ template<>
2788
+ ExtensionABIType EnumUtil::FromString<ExtensionABIType>(const char *value) {
2789
+ if (StringUtil::Equals(value, "UNKNOWN")) {
2790
+ return ExtensionABIType::UNKNOWN;
2791
+ }
2792
+ if (StringUtil::Equals(value, "CPP")) {
2793
+ return ExtensionABIType::CPP;
2794
+ }
2795
+ if (StringUtil::Equals(value, "C_STRUCT")) {
2796
+ return ExtensionABIType::C_STRUCT;
2797
+ }
2798
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
2799
+ }
2800
+
2588
2801
  template<>
2589
2802
  const char* EnumUtil::ToChars<ExtensionInstallMode>(ExtensionInstallMode value) {
2590
2803
  switch(value) {
@@ -3057,11 +3270,36 @@ FunctionStability EnumUtil::FromString<FunctionStability>(const char *value) {
3057
3270
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
3058
3271
  }
3059
3272
 
3273
+ template<>
3274
+ const char* EnumUtil::ToChars<GateStatus>(GateStatus value) {
3275
+ switch(value) {
3276
+ case GateStatus::GATE_NOT_SET:
3277
+ return "GATE_NOT_SET";
3278
+ case GateStatus::GATE_SET:
3279
+ return "GATE_SET";
3280
+ default:
3281
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
3282
+ }
3283
+ }
3284
+
3285
+ template<>
3286
+ GateStatus EnumUtil::FromString<GateStatus>(const char *value) {
3287
+ if (StringUtil::Equals(value, "GATE_NOT_SET")) {
3288
+ return GateStatus::GATE_NOT_SET;
3289
+ }
3290
+ if (StringUtil::Equals(value, "GATE_SET")) {
3291
+ return GateStatus::GATE_SET;
3292
+ }
3293
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
3294
+ }
3295
+
3060
3296
  template<>
3061
3297
  const char* EnumUtil::ToChars<HLLStorageType>(HLLStorageType value) {
3062
3298
  switch(value) {
3063
- case HLLStorageType::UNCOMPRESSED:
3064
- return "UNCOMPRESSED";
3299
+ case HLLStorageType::HLL_V1:
3300
+ return "HLL_V1";
3301
+ case HLLStorageType::HLL_V2:
3302
+ return "HLL_V2";
3065
3303
  default:
3066
3304
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
3067
3305
  }
@@ -3069,8 +3307,11 @@ const char* EnumUtil::ToChars<HLLStorageType>(HLLStorageType value) {
3069
3307
 
3070
3308
  template<>
3071
3309
  HLLStorageType EnumUtil::FromString<HLLStorageType>(const char *value) {
3072
- if (StringUtil::Equals(value, "UNCOMPRESSED")) {
3073
- return HLLStorageType::UNCOMPRESSED;
3310
+ if (StringUtil::Equals(value, "HLL_V1")) {
3311
+ return HLLStorageType::HLL_V1;
3312
+ }
3313
+ if (StringUtil::Equals(value, "HLL_V2")) {
3314
+ return HLLStorageType::HLL_V2;
3074
3315
  }
3075
3316
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
3076
3317
  }
@@ -3754,6 +3995,8 @@ const char* EnumUtil::ToChars<LogicalTypeId>(LogicalTypeId value) {
3754
3995
  return "STRING_LITERAL";
3755
3996
  case LogicalTypeId::INTEGER_LITERAL:
3756
3997
  return "INTEGER_LITERAL";
3998
+ case LogicalTypeId::VARINT:
3999
+ return "VARINT";
3757
4000
  case LogicalTypeId::UHUGEINT:
3758
4001
  return "UHUGEINT";
3759
4002
  case LogicalTypeId::HUGEINT:
@@ -3885,6 +4128,9 @@ LogicalTypeId EnumUtil::FromString<LogicalTypeId>(const char *value) {
3885
4128
  if (StringUtil::Equals(value, "INTEGER_LITERAL")) {
3886
4129
  return LogicalTypeId::INTEGER_LITERAL;
3887
4130
  }
4131
+ if (StringUtil::Equals(value, "VARINT")) {
4132
+ return LogicalTypeId::VARINT;
4133
+ }
3888
4134
  if (StringUtil::Equals(value, "UHUGEINT")) {
3889
4135
  return LogicalTypeId::UHUGEINT;
3890
4136
  }
@@ -4097,6 +4343,252 @@ MemoryTag EnumUtil::FromString<MemoryTag>(const char *value) {
4097
4343
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
4098
4344
  }
4099
4345
 
4346
+ template<>
4347
+ const char* EnumUtil::ToChars<MetaPipelineType>(MetaPipelineType value) {
4348
+ switch(value) {
4349
+ case MetaPipelineType::REGULAR:
4350
+ return "REGULAR";
4351
+ case MetaPipelineType::JOIN_BUILD:
4352
+ return "JOIN_BUILD";
4353
+ default:
4354
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
4355
+ }
4356
+ }
4357
+
4358
+ template<>
4359
+ MetaPipelineType EnumUtil::FromString<MetaPipelineType>(const char *value) {
4360
+ if (StringUtil::Equals(value, "REGULAR")) {
4361
+ return MetaPipelineType::REGULAR;
4362
+ }
4363
+ if (StringUtil::Equals(value, "JOIN_BUILD")) {
4364
+ return MetaPipelineType::JOIN_BUILD;
4365
+ }
4366
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
4367
+ }
4368
+
4369
+ template<>
4370
+ const char* EnumUtil::ToChars<MetricsType>(MetricsType value) {
4371
+ switch(value) {
4372
+ case MetricsType::QUERY_NAME:
4373
+ return "QUERY_NAME";
4374
+ case MetricsType::BLOCKED_THREAD_TIME:
4375
+ return "BLOCKED_THREAD_TIME";
4376
+ case MetricsType::CPU_TIME:
4377
+ return "CPU_TIME";
4378
+ case MetricsType::EXTRA_INFO:
4379
+ return "EXTRA_INFO";
4380
+ case MetricsType::CUMULATIVE_CARDINALITY:
4381
+ return "CUMULATIVE_CARDINALITY";
4382
+ case MetricsType::OPERATOR_TYPE:
4383
+ return "OPERATOR_TYPE";
4384
+ case MetricsType::OPERATOR_CARDINALITY:
4385
+ return "OPERATOR_CARDINALITY";
4386
+ case MetricsType::CUMULATIVE_ROWS_SCANNED:
4387
+ return "CUMULATIVE_ROWS_SCANNED";
4388
+ case MetricsType::OPERATOR_ROWS_SCANNED:
4389
+ return "OPERATOR_ROWS_SCANNED";
4390
+ case MetricsType::OPERATOR_TIMING:
4391
+ return "OPERATOR_TIMING";
4392
+ case MetricsType::RESULT_SET_SIZE:
4393
+ return "RESULT_SET_SIZE";
4394
+ case MetricsType::ALL_OPTIMIZERS:
4395
+ return "ALL_OPTIMIZERS";
4396
+ case MetricsType::CUMULATIVE_OPTIMIZER_TIMING:
4397
+ return "CUMULATIVE_OPTIMIZER_TIMING";
4398
+ case MetricsType::PLANNER:
4399
+ return "PLANNER";
4400
+ case MetricsType::PLANNER_BINDING:
4401
+ return "PLANNER_BINDING";
4402
+ case MetricsType::PHYSICAL_PLANNER:
4403
+ return "PHYSICAL_PLANNER";
4404
+ case MetricsType::PHYSICAL_PLANNER_COLUMN_BINDING:
4405
+ return "PHYSICAL_PLANNER_COLUMN_BINDING";
4406
+ case MetricsType::PHYSICAL_PLANNER_RESOLVE_TYPES:
4407
+ return "PHYSICAL_PLANNER_RESOLVE_TYPES";
4408
+ case MetricsType::PHYSICAL_PLANNER_CREATE_PLAN:
4409
+ return "PHYSICAL_PLANNER_CREATE_PLAN";
4410
+ case MetricsType::OPTIMIZER_EXPRESSION_REWRITER:
4411
+ return "OPTIMIZER_EXPRESSION_REWRITER";
4412
+ case MetricsType::OPTIMIZER_FILTER_PULLUP:
4413
+ return "OPTIMIZER_FILTER_PULLUP";
4414
+ case MetricsType::OPTIMIZER_FILTER_PUSHDOWN:
4415
+ return "OPTIMIZER_FILTER_PUSHDOWN";
4416
+ case MetricsType::OPTIMIZER_CTE_FILTER_PUSHER:
4417
+ return "OPTIMIZER_CTE_FILTER_PUSHER";
4418
+ case MetricsType::OPTIMIZER_REGEX_RANGE:
4419
+ return "OPTIMIZER_REGEX_RANGE";
4420
+ case MetricsType::OPTIMIZER_IN_CLAUSE:
4421
+ return "OPTIMIZER_IN_CLAUSE";
4422
+ case MetricsType::OPTIMIZER_JOIN_ORDER:
4423
+ return "OPTIMIZER_JOIN_ORDER";
4424
+ case MetricsType::OPTIMIZER_DELIMINATOR:
4425
+ return "OPTIMIZER_DELIMINATOR";
4426
+ case MetricsType::OPTIMIZER_UNNEST_REWRITER:
4427
+ return "OPTIMIZER_UNNEST_REWRITER";
4428
+ case MetricsType::OPTIMIZER_UNUSED_COLUMNS:
4429
+ return "OPTIMIZER_UNUSED_COLUMNS";
4430
+ case MetricsType::OPTIMIZER_STATISTICS_PROPAGATION:
4431
+ return "OPTIMIZER_STATISTICS_PROPAGATION";
4432
+ case MetricsType::OPTIMIZER_COMMON_SUBEXPRESSIONS:
4433
+ return "OPTIMIZER_COMMON_SUBEXPRESSIONS";
4434
+ case MetricsType::OPTIMIZER_COMMON_AGGREGATE:
4435
+ return "OPTIMIZER_COMMON_AGGREGATE";
4436
+ case MetricsType::OPTIMIZER_COLUMN_LIFETIME:
4437
+ return "OPTIMIZER_COLUMN_LIFETIME";
4438
+ case MetricsType::OPTIMIZER_BUILD_SIDE_PROBE_SIDE:
4439
+ return "OPTIMIZER_BUILD_SIDE_PROBE_SIDE";
4440
+ case MetricsType::OPTIMIZER_LIMIT_PUSHDOWN:
4441
+ return "OPTIMIZER_LIMIT_PUSHDOWN";
4442
+ case MetricsType::OPTIMIZER_TOP_N:
4443
+ return "OPTIMIZER_TOP_N";
4444
+ case MetricsType::OPTIMIZER_COMPRESSED_MATERIALIZATION:
4445
+ return "OPTIMIZER_COMPRESSED_MATERIALIZATION";
4446
+ case MetricsType::OPTIMIZER_DUPLICATE_GROUPS:
4447
+ return "OPTIMIZER_DUPLICATE_GROUPS";
4448
+ case MetricsType::OPTIMIZER_REORDER_FILTER:
4449
+ return "OPTIMIZER_REORDER_FILTER";
4450
+ case MetricsType::OPTIMIZER_JOIN_FILTER_PUSHDOWN:
4451
+ return "OPTIMIZER_JOIN_FILTER_PUSHDOWN";
4452
+ case MetricsType::OPTIMIZER_EXTENSION:
4453
+ return "OPTIMIZER_EXTENSION";
4454
+ case MetricsType::OPTIMIZER_MATERIALIZED_CTE:
4455
+ return "OPTIMIZER_MATERIALIZED_CTE";
4456
+ default:
4457
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
4458
+ }
4459
+ }
4460
+
4461
+ template<>
4462
+ MetricsType EnumUtil::FromString<MetricsType>(const char *value) {
4463
+ if (StringUtil::Equals(value, "QUERY_NAME")) {
4464
+ return MetricsType::QUERY_NAME;
4465
+ }
4466
+ if (StringUtil::Equals(value, "BLOCKED_THREAD_TIME")) {
4467
+ return MetricsType::BLOCKED_THREAD_TIME;
4468
+ }
4469
+ if (StringUtil::Equals(value, "CPU_TIME")) {
4470
+ return MetricsType::CPU_TIME;
4471
+ }
4472
+ if (StringUtil::Equals(value, "EXTRA_INFO")) {
4473
+ return MetricsType::EXTRA_INFO;
4474
+ }
4475
+ if (StringUtil::Equals(value, "CUMULATIVE_CARDINALITY")) {
4476
+ return MetricsType::CUMULATIVE_CARDINALITY;
4477
+ }
4478
+ if (StringUtil::Equals(value, "OPERATOR_TYPE")) {
4479
+ return MetricsType::OPERATOR_TYPE;
4480
+ }
4481
+ if (StringUtil::Equals(value, "OPERATOR_CARDINALITY")) {
4482
+ return MetricsType::OPERATOR_CARDINALITY;
4483
+ }
4484
+ if (StringUtil::Equals(value, "CUMULATIVE_ROWS_SCANNED")) {
4485
+ return MetricsType::CUMULATIVE_ROWS_SCANNED;
4486
+ }
4487
+ if (StringUtil::Equals(value, "OPERATOR_ROWS_SCANNED")) {
4488
+ return MetricsType::OPERATOR_ROWS_SCANNED;
4489
+ }
4490
+ if (StringUtil::Equals(value, "OPERATOR_TIMING")) {
4491
+ return MetricsType::OPERATOR_TIMING;
4492
+ }
4493
+ if (StringUtil::Equals(value, "RESULT_SET_SIZE")) {
4494
+ return MetricsType::RESULT_SET_SIZE;
4495
+ }
4496
+ if (StringUtil::Equals(value, "ALL_OPTIMIZERS")) {
4497
+ return MetricsType::ALL_OPTIMIZERS;
4498
+ }
4499
+ if (StringUtil::Equals(value, "CUMULATIVE_OPTIMIZER_TIMING")) {
4500
+ return MetricsType::CUMULATIVE_OPTIMIZER_TIMING;
4501
+ }
4502
+ if (StringUtil::Equals(value, "PLANNER")) {
4503
+ return MetricsType::PLANNER;
4504
+ }
4505
+ if (StringUtil::Equals(value, "PLANNER_BINDING")) {
4506
+ return MetricsType::PLANNER_BINDING;
4507
+ }
4508
+ if (StringUtil::Equals(value, "PHYSICAL_PLANNER")) {
4509
+ return MetricsType::PHYSICAL_PLANNER;
4510
+ }
4511
+ if (StringUtil::Equals(value, "PHYSICAL_PLANNER_COLUMN_BINDING")) {
4512
+ return MetricsType::PHYSICAL_PLANNER_COLUMN_BINDING;
4513
+ }
4514
+ if (StringUtil::Equals(value, "PHYSICAL_PLANNER_RESOLVE_TYPES")) {
4515
+ return MetricsType::PHYSICAL_PLANNER_RESOLVE_TYPES;
4516
+ }
4517
+ if (StringUtil::Equals(value, "PHYSICAL_PLANNER_CREATE_PLAN")) {
4518
+ return MetricsType::PHYSICAL_PLANNER_CREATE_PLAN;
4519
+ }
4520
+ if (StringUtil::Equals(value, "OPTIMIZER_EXPRESSION_REWRITER")) {
4521
+ return MetricsType::OPTIMIZER_EXPRESSION_REWRITER;
4522
+ }
4523
+ if (StringUtil::Equals(value, "OPTIMIZER_FILTER_PULLUP")) {
4524
+ return MetricsType::OPTIMIZER_FILTER_PULLUP;
4525
+ }
4526
+ if (StringUtil::Equals(value, "OPTIMIZER_FILTER_PUSHDOWN")) {
4527
+ return MetricsType::OPTIMIZER_FILTER_PUSHDOWN;
4528
+ }
4529
+ if (StringUtil::Equals(value, "OPTIMIZER_CTE_FILTER_PUSHER")) {
4530
+ return MetricsType::OPTIMIZER_CTE_FILTER_PUSHER;
4531
+ }
4532
+ if (StringUtil::Equals(value, "OPTIMIZER_REGEX_RANGE")) {
4533
+ return MetricsType::OPTIMIZER_REGEX_RANGE;
4534
+ }
4535
+ if (StringUtil::Equals(value, "OPTIMIZER_IN_CLAUSE")) {
4536
+ return MetricsType::OPTIMIZER_IN_CLAUSE;
4537
+ }
4538
+ if (StringUtil::Equals(value, "OPTIMIZER_JOIN_ORDER")) {
4539
+ return MetricsType::OPTIMIZER_JOIN_ORDER;
4540
+ }
4541
+ if (StringUtil::Equals(value, "OPTIMIZER_DELIMINATOR")) {
4542
+ return MetricsType::OPTIMIZER_DELIMINATOR;
4543
+ }
4544
+ if (StringUtil::Equals(value, "OPTIMIZER_UNNEST_REWRITER")) {
4545
+ return MetricsType::OPTIMIZER_UNNEST_REWRITER;
4546
+ }
4547
+ if (StringUtil::Equals(value, "OPTIMIZER_UNUSED_COLUMNS")) {
4548
+ return MetricsType::OPTIMIZER_UNUSED_COLUMNS;
4549
+ }
4550
+ if (StringUtil::Equals(value, "OPTIMIZER_STATISTICS_PROPAGATION")) {
4551
+ return MetricsType::OPTIMIZER_STATISTICS_PROPAGATION;
4552
+ }
4553
+ if (StringUtil::Equals(value, "OPTIMIZER_COMMON_SUBEXPRESSIONS")) {
4554
+ return MetricsType::OPTIMIZER_COMMON_SUBEXPRESSIONS;
4555
+ }
4556
+ if (StringUtil::Equals(value, "OPTIMIZER_COMMON_AGGREGATE")) {
4557
+ return MetricsType::OPTIMIZER_COMMON_AGGREGATE;
4558
+ }
4559
+ if (StringUtil::Equals(value, "OPTIMIZER_COLUMN_LIFETIME")) {
4560
+ return MetricsType::OPTIMIZER_COLUMN_LIFETIME;
4561
+ }
4562
+ if (StringUtil::Equals(value, "OPTIMIZER_BUILD_SIDE_PROBE_SIDE")) {
4563
+ return MetricsType::OPTIMIZER_BUILD_SIDE_PROBE_SIDE;
4564
+ }
4565
+ if (StringUtil::Equals(value, "OPTIMIZER_LIMIT_PUSHDOWN")) {
4566
+ return MetricsType::OPTIMIZER_LIMIT_PUSHDOWN;
4567
+ }
4568
+ if (StringUtil::Equals(value, "OPTIMIZER_TOP_N")) {
4569
+ return MetricsType::OPTIMIZER_TOP_N;
4570
+ }
4571
+ if (StringUtil::Equals(value, "OPTIMIZER_COMPRESSED_MATERIALIZATION")) {
4572
+ return MetricsType::OPTIMIZER_COMPRESSED_MATERIALIZATION;
4573
+ }
4574
+ if (StringUtil::Equals(value, "OPTIMIZER_DUPLICATE_GROUPS")) {
4575
+ return MetricsType::OPTIMIZER_DUPLICATE_GROUPS;
4576
+ }
4577
+ if (StringUtil::Equals(value, "OPTIMIZER_REORDER_FILTER")) {
4578
+ return MetricsType::OPTIMIZER_REORDER_FILTER;
4579
+ }
4580
+ if (StringUtil::Equals(value, "OPTIMIZER_JOIN_FILTER_PUSHDOWN")) {
4581
+ return MetricsType::OPTIMIZER_JOIN_FILTER_PUSHDOWN;
4582
+ }
4583
+ if (StringUtil::Equals(value, "OPTIMIZER_EXTENSION")) {
4584
+ return MetricsType::OPTIMIZER_EXTENSION;
4585
+ }
4586
+ if (StringUtil::Equals(value, "OPTIMIZER_MATERIALIZED_CTE")) {
4587
+ return MetricsType::OPTIMIZER_MATERIALIZED_CTE;
4588
+ }
4589
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
4590
+ }
4591
+
4100
4592
  template<>
4101
4593
  const char* EnumUtil::ToChars<NType>(NType value) {
4102
4594
  switch(value) {
@@ -4114,6 +4606,12 @@ const char* EnumUtil::ToChars<NType>(NType value) {
4114
4606
  return "NODE_256";
4115
4607
  case NType::LEAF_INLINED:
4116
4608
  return "LEAF_INLINED";
4609
+ case NType::NODE_7_LEAF:
4610
+ return "NODE_7_LEAF";
4611
+ case NType::NODE_15_LEAF:
4612
+ return "NODE_15_LEAF";
4613
+ case NType::NODE_256_LEAF:
4614
+ return "NODE_256_LEAF";
4117
4615
  default:
4118
4616
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
4119
4617
  }
@@ -4142,18 +4640,29 @@ NType EnumUtil::FromString<NType>(const char *value) {
4142
4640
  if (StringUtil::Equals(value, "LEAF_INLINED")) {
4143
4641
  return NType::LEAF_INLINED;
4144
4642
  }
4643
+ if (StringUtil::Equals(value, "NODE_7_LEAF")) {
4644
+ return NType::NODE_7_LEAF;
4645
+ }
4646
+ if (StringUtil::Equals(value, "NODE_15_LEAF")) {
4647
+ return NType::NODE_15_LEAF;
4648
+ }
4649
+ if (StringUtil::Equals(value, "NODE_256_LEAF")) {
4650
+ return NType::NODE_256_LEAF;
4651
+ }
4145
4652
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
4146
4653
  }
4147
4654
 
4148
4655
  template<>
4149
4656
  const char* EnumUtil::ToChars<NewLineIdentifier>(NewLineIdentifier value) {
4150
4657
  switch(value) {
4151
- case NewLineIdentifier::SINGLE:
4152
- return "SINGLE";
4658
+ case NewLineIdentifier::SINGLE_N:
4659
+ return "SINGLE_N";
4153
4660
  case NewLineIdentifier::CARRY_ON:
4154
4661
  return "CARRY_ON";
4155
4662
  case NewLineIdentifier::NOT_SET:
4156
4663
  return "NOT_SET";
4664
+ case NewLineIdentifier::SINGLE_R:
4665
+ return "SINGLE_R";
4157
4666
  default:
4158
4667
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
4159
4668
  }
@@ -4161,8 +4670,8 @@ const char* EnumUtil::ToChars<NewLineIdentifier>(NewLineIdentifier value) {
4161
4670
 
4162
4671
  template<>
4163
4672
  NewLineIdentifier EnumUtil::FromString<NewLineIdentifier>(const char *value) {
4164
- if (StringUtil::Equals(value, "SINGLE")) {
4165
- return NewLineIdentifier::SINGLE;
4673
+ if (StringUtil::Equals(value, "SINGLE_N")) {
4674
+ return NewLineIdentifier::SINGLE_N;
4166
4675
  }
4167
4676
  if (StringUtil::Equals(value, "CARRY_ON")) {
4168
4677
  return NewLineIdentifier::CARRY_ON;
@@ -4170,6 +4679,9 @@ NewLineIdentifier EnumUtil::FromString<NewLineIdentifier>(const char *value) {
4170
4679
  if (StringUtil::Equals(value, "NOT_SET")) {
4171
4680
  return NewLineIdentifier::NOT_SET;
4172
4681
  }
4682
+ if (StringUtil::Equals(value, "SINGLE_R")) {
4683
+ return NewLineIdentifier::SINGLE_R;
4684
+ }
4173
4685
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
4174
4686
  }
4175
4687
 
@@ -4329,6 +4841,8 @@ const char* EnumUtil::ToChars<OptimizerType>(OptimizerType value) {
4329
4841
  return "FILTER_PULLUP";
4330
4842
  case OptimizerType::FILTER_PUSHDOWN:
4331
4843
  return "FILTER_PUSHDOWN";
4844
+ case OptimizerType::CTE_FILTER_PUSHER:
4845
+ return "CTE_FILTER_PUSHER";
4332
4846
  case OptimizerType::REGEX_RANGE:
4333
4847
  return "REGEX_RANGE";
4334
4848
  case OptimizerType::IN_CLAUSE:
@@ -4349,6 +4863,10 @@ const char* EnumUtil::ToChars<OptimizerType>(OptimizerType value) {
4349
4863
  return "COMMON_AGGREGATE";
4350
4864
  case OptimizerType::COLUMN_LIFETIME:
4351
4865
  return "COLUMN_LIFETIME";
4866
+ case OptimizerType::BUILD_SIDE_PROBE_SIDE:
4867
+ return "BUILD_SIDE_PROBE_SIDE";
4868
+ case OptimizerType::LIMIT_PUSHDOWN:
4869
+ return "LIMIT_PUSHDOWN";
4352
4870
  case OptimizerType::TOP_N:
4353
4871
  return "TOP_N";
4354
4872
  case OptimizerType::COMPRESSED_MATERIALIZATION:
@@ -4357,8 +4875,12 @@ const char* EnumUtil::ToChars<OptimizerType>(OptimizerType value) {
4357
4875
  return "DUPLICATE_GROUPS";
4358
4876
  case OptimizerType::REORDER_FILTER:
4359
4877
  return "REORDER_FILTER";
4878
+ case OptimizerType::JOIN_FILTER_PUSHDOWN:
4879
+ return "JOIN_FILTER_PUSHDOWN";
4360
4880
  case OptimizerType::EXTENSION:
4361
4881
  return "EXTENSION";
4882
+ case OptimizerType::MATERIALIZED_CTE:
4883
+ return "MATERIALIZED_CTE";
4362
4884
  default:
4363
4885
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
4364
4886
  }
@@ -4378,6 +4900,9 @@ OptimizerType EnumUtil::FromString<OptimizerType>(const char *value) {
4378
4900
  if (StringUtil::Equals(value, "FILTER_PUSHDOWN")) {
4379
4901
  return OptimizerType::FILTER_PUSHDOWN;
4380
4902
  }
4903
+ if (StringUtil::Equals(value, "CTE_FILTER_PUSHER")) {
4904
+ return OptimizerType::CTE_FILTER_PUSHER;
4905
+ }
4381
4906
  if (StringUtil::Equals(value, "REGEX_RANGE")) {
4382
4907
  return OptimizerType::REGEX_RANGE;
4383
4908
  }
@@ -4408,6 +4933,12 @@ OptimizerType EnumUtil::FromString<OptimizerType>(const char *value) {
4408
4933
  if (StringUtil::Equals(value, "COLUMN_LIFETIME")) {
4409
4934
  return OptimizerType::COLUMN_LIFETIME;
4410
4935
  }
4936
+ if (StringUtil::Equals(value, "BUILD_SIDE_PROBE_SIDE")) {
4937
+ return OptimizerType::BUILD_SIDE_PROBE_SIDE;
4938
+ }
4939
+ if (StringUtil::Equals(value, "LIMIT_PUSHDOWN")) {
4940
+ return OptimizerType::LIMIT_PUSHDOWN;
4941
+ }
4411
4942
  if (StringUtil::Equals(value, "TOP_N")) {
4412
4943
  return OptimizerType::TOP_N;
4413
4944
  }
@@ -4420,9 +4951,15 @@ OptimizerType EnumUtil::FromString<OptimizerType>(const char *value) {
4420
4951
  if (StringUtil::Equals(value, "REORDER_FILTER")) {
4421
4952
  return OptimizerType::REORDER_FILTER;
4422
4953
  }
4954
+ if (StringUtil::Equals(value, "JOIN_FILTER_PUSHDOWN")) {
4955
+ return OptimizerType::JOIN_FILTER_PUSHDOWN;
4956
+ }
4423
4957
  if (StringUtil::Equals(value, "EXTENSION")) {
4424
4958
  return OptimizerType::EXTENSION;
4425
4959
  }
4960
+ if (StringUtil::Equals(value, "MATERIALIZED_CTE")) {
4961
+ return OptimizerType::MATERIALIZED_CTE;
4962
+ }
4426
4963
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
4427
4964
  }
4428
4965
 
@@ -4682,6 +5219,8 @@ const char* EnumUtil::ToChars<PartitionSortStage>(PartitionSortStage value) {
4682
5219
  return "MERGE";
4683
5220
  case PartitionSortStage::SORTED:
4684
5221
  return "SORTED";
5222
+ case PartitionSortStage::FINISHED:
5223
+ return "FINISHED";
4685
5224
  default:
4686
5225
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
4687
5226
  }
@@ -4704,6 +5243,9 @@ PartitionSortStage EnumUtil::FromString<PartitionSortStage>(const char *value) {
4704
5243
  if (StringUtil::Equals(value, "SORTED")) {
4705
5244
  return PartitionSortStage::SORTED;
4706
5245
  }
5246
+ if (StringUtil::Equals(value, "FINISHED")) {
5247
+ return PartitionSortStage::FINISHED;
5248
+ }
4707
5249
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
4708
5250
  }
4709
5251
 
@@ -4771,6 +5313,8 @@ const char* EnumUtil::ToChars<PendingExecutionResult>(PendingExecutionResult val
4771
5313
  return "BLOCKED";
4772
5314
  case PendingExecutionResult::NO_TASKS_AVAILABLE:
4773
5315
  return "NO_TASKS_AVAILABLE";
5316
+ case PendingExecutionResult::EXECUTION_FINISHED:
5317
+ return "EXECUTION_FINISHED";
4774
5318
  default:
4775
5319
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
4776
5320
  }
@@ -4793,6 +5337,9 @@ PendingExecutionResult EnumUtil::FromString<PendingExecutionResult>(const char *
4793
5337
  if (StringUtil::Equals(value, "NO_TASKS_AVAILABLE")) {
4794
5338
  return PendingExecutionResult::NO_TASKS_AVAILABLE;
4795
5339
  }
5340
+ if (StringUtil::Equals(value, "EXECUTION_FINISHED")) {
5341
+ return PendingExecutionResult::EXECUTION_FINISHED;
5342
+ }
4796
5343
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
4797
5344
  }
4798
5345
 
@@ -4937,6 +5484,8 @@ const char* EnumUtil::ToChars<PhysicalOperatorType>(PhysicalOperatorType value)
4937
5484
  return "EXPORT";
4938
5485
  case PhysicalOperatorType::SET:
4939
5486
  return "SET";
5487
+ case PhysicalOperatorType::SET_VARIABLE:
5488
+ return "SET_VARIABLE";
4940
5489
  case PhysicalOperatorType::LOAD:
4941
5490
  return "LOAD";
4942
5491
  case PhysicalOperatorType::INOUT_FUNCTION:
@@ -5167,6 +5716,9 @@ PhysicalOperatorType EnumUtil::FromString<PhysicalOperatorType>(const char *valu
5167
5716
  if (StringUtil::Equals(value, "SET")) {
5168
5717
  return PhysicalOperatorType::SET;
5169
5718
  }
5719
+ if (StringUtil::Equals(value, "SET_VARIABLE")) {
5720
+ return PhysicalOperatorType::SET_VARIABLE;
5721
+ }
5170
5722
  if (StringUtil::Equals(value, "LOAD")) {
5171
5723
  return PhysicalOperatorType::LOAD;
5172
5724
  }
@@ -5400,6 +5952,8 @@ const char* EnumUtil::ToChars<ProfilerPrintFormat>(ProfilerPrintFormat value) {
5400
5952
  return "JSON";
5401
5953
  case ProfilerPrintFormat::QUERY_TREE_OPTIMIZER:
5402
5954
  return "QUERY_TREE_OPTIMIZER";
5955
+ case ProfilerPrintFormat::NO_OUTPUT:
5956
+ return "NO_OUTPUT";
5403
5957
  default:
5404
5958
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
5405
5959
  }
@@ -5416,6 +5970,9 @@ ProfilerPrintFormat EnumUtil::FromString<ProfilerPrintFormat>(const char *value)
5416
5970
  if (StringUtil::Equals(value, "QUERY_TREE_OPTIMIZER")) {
5417
5971
  return ProfilerPrintFormat::QUERY_TREE_OPTIMIZER;
5418
5972
  }
5973
+ if (StringUtil::Equals(value, "NO_OUTPUT")) {
5974
+ return ProfilerPrintFormat::NO_OUTPUT;
5975
+ }
5419
5976
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
5420
5977
  }
5421
5978
 
@@ -5504,6 +6061,8 @@ const char* EnumUtil::ToChars<QueryResultType>(QueryResultType value) {
5504
6061
  return "STREAM_RESULT";
5505
6062
  case QueryResultType::PENDING_RESULT:
5506
6063
  return "PENDING_RESULT";
6064
+ case QueryResultType::ARROW_RESULT:
6065
+ return "ARROW_RESULT";
5507
6066
  default:
5508
6067
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
5509
6068
  }
@@ -5520,6 +6079,9 @@ QueryResultType EnumUtil::FromString<QueryResultType>(const char *value) {
5520
6079
  if (StringUtil::Equals(value, "PENDING_RESULT")) {
5521
6080
  return QueryResultType::PENDING_RESULT;
5522
6081
  }
6082
+ if (StringUtil::Equals(value, "ARROW_RESULT")) {
6083
+ return QueryResultType::ARROW_RESULT;
6084
+ }
5523
6085
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
5524
6086
  }
5525
6087
 
@@ -5606,6 +6168,10 @@ const char* EnumUtil::ToChars<RelationType>(RelationType value) {
5606
6168
  return "VIEW_RELATION";
5607
6169
  case RelationType::QUERY_RELATION:
5608
6170
  return "QUERY_RELATION";
6171
+ case RelationType::DELIM_JOIN_RELATION:
6172
+ return "DELIM_JOIN_RELATION";
6173
+ case RelationType::DELIM_GET_RELATION:
6174
+ return "DELIM_GET_RELATION";
5609
6175
  default:
5610
6176
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
5611
6177
  }
@@ -5691,6 +6257,12 @@ RelationType EnumUtil::FromString<RelationType>(const char *value) {
5691
6257
  if (StringUtil::Equals(value, "QUERY_RELATION")) {
5692
6258
  return RelationType::QUERY_RELATION;
5693
6259
  }
6260
+ if (StringUtil::Equals(value, "DELIM_JOIN_RELATION")) {
6261
+ return RelationType::DELIM_JOIN_RELATION;
6262
+ }
6263
+ if (StringUtil::Equals(value, "DELIM_GET_RELATION")) {
6264
+ return RelationType::DELIM_GET_RELATION;
6265
+ }
5694
6266
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
5695
6267
  }
5696
6268
 
@@ -5972,6 +6544,8 @@ const char* EnumUtil::ToChars<SetScope>(SetScope value) {
5972
6544
  return "SESSION";
5973
6545
  case SetScope::GLOBAL:
5974
6546
  return "GLOBAL";
6547
+ case SetScope::VARIABLE:
6548
+ return "VARIABLE";
5975
6549
  default:
5976
6550
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
5977
6551
  }
@@ -5991,6 +6565,9 @@ SetScope EnumUtil::FromString<SetScope>(const char *value) {
5991
6565
  if (StringUtil::Equals(value, "GLOBAL")) {
5992
6566
  return SetScope::GLOBAL;
5993
6567
  }
6568
+ if (StringUtil::Equals(value, "VARIABLE")) {
6569
+ return SetScope::VARIABLE;
6570
+ }
5994
6571
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
5995
6572
  }
5996
6573
 
@@ -6024,6 +6601,8 @@ const char* EnumUtil::ToChars<SettingScope>(SettingScope value) {
6024
6601
  return "GLOBAL";
6025
6602
  case SettingScope::LOCAL:
6026
6603
  return "LOCAL";
6604
+ case SettingScope::SECRET:
6605
+ return "SECRET";
6027
6606
  case SettingScope::INVALID:
6028
6607
  return "INVALID";
6029
6608
  default:
@@ -6039,6 +6618,9 @@ SettingScope EnumUtil::FromString<SettingScope>(const char *value) {
6039
6618
  if (StringUtil::Equals(value, "LOCAL")) {
6040
6619
  return SettingScope::LOCAL;
6041
6620
  }
6621
+ if (StringUtil::Equals(value, "SECRET")) {
6622
+ return SettingScope::SECRET;
6623
+ }
6042
6624
  if (StringUtil::Equals(value, "INVALID")) {
6043
6625
  return SettingScope::INVALID;
6044
6626
  }
@@ -6706,6 +7288,54 @@ StrTimeSpecifier EnumUtil::FromString<StrTimeSpecifier>(const char *value) {
6706
7288
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
6707
7289
  }
6708
7290
 
7291
+ template<>
7292
+ const char* EnumUtil::ToChars<StreamExecutionResult>(StreamExecutionResult value) {
7293
+ switch(value) {
7294
+ case StreamExecutionResult::CHUNK_READY:
7295
+ return "CHUNK_READY";
7296
+ case StreamExecutionResult::CHUNK_NOT_READY:
7297
+ return "CHUNK_NOT_READY";
7298
+ case StreamExecutionResult::EXECUTION_ERROR:
7299
+ return "EXECUTION_ERROR";
7300
+ case StreamExecutionResult::EXECUTION_CANCELLED:
7301
+ return "EXECUTION_CANCELLED";
7302
+ case StreamExecutionResult::BLOCKED:
7303
+ return "BLOCKED";
7304
+ case StreamExecutionResult::NO_TASKS_AVAILABLE:
7305
+ return "NO_TASKS_AVAILABLE";
7306
+ case StreamExecutionResult::EXECUTION_FINISHED:
7307
+ return "EXECUTION_FINISHED";
7308
+ default:
7309
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
7310
+ }
7311
+ }
7312
+
7313
+ template<>
7314
+ StreamExecutionResult EnumUtil::FromString<StreamExecutionResult>(const char *value) {
7315
+ if (StringUtil::Equals(value, "CHUNK_READY")) {
7316
+ return StreamExecutionResult::CHUNK_READY;
7317
+ }
7318
+ if (StringUtil::Equals(value, "CHUNK_NOT_READY")) {
7319
+ return StreamExecutionResult::CHUNK_NOT_READY;
7320
+ }
7321
+ if (StringUtil::Equals(value, "EXECUTION_ERROR")) {
7322
+ return StreamExecutionResult::EXECUTION_ERROR;
7323
+ }
7324
+ if (StringUtil::Equals(value, "EXECUTION_CANCELLED")) {
7325
+ return StreamExecutionResult::EXECUTION_CANCELLED;
7326
+ }
7327
+ if (StringUtil::Equals(value, "BLOCKED")) {
7328
+ return StreamExecutionResult::BLOCKED;
7329
+ }
7330
+ if (StringUtil::Equals(value, "NO_TASKS_AVAILABLE")) {
7331
+ return StreamExecutionResult::NO_TASKS_AVAILABLE;
7332
+ }
7333
+ if (StringUtil::Equals(value, "EXECUTION_FINISHED")) {
7334
+ return StreamExecutionResult::EXECUTION_FINISHED;
7335
+ }
7336
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
7337
+ }
7338
+
6709
7339
  template<>
6710
7340
  const char* EnumUtil::ToChars<SubqueryType>(SubqueryType value) {
6711
7341
  switch(value) {
@@ -6835,6 +7465,8 @@ const char* EnumUtil::ToChars<TableReferenceType>(TableReferenceType value) {
6835
7465
  return "SHOW_REF";
6836
7466
  case TableReferenceType::COLUMN_DATA:
6837
7467
  return "COLUMN_DATA";
7468
+ case TableReferenceType::DELIM_GET:
7469
+ return "DELIM_GET";
6838
7470
  default:
6839
7471
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
6840
7472
  }
@@ -6875,6 +7507,9 @@ TableReferenceType EnumUtil::FromString<TableReferenceType>(const char *value) {
6875
7507
  if (StringUtil::Equals(value, "COLUMN_DATA")) {
6876
7508
  return TableReferenceType::COLUMN_DATA;
6877
7509
  }
7510
+ if (StringUtil::Equals(value, "DELIM_GET")) {
7511
+ return TableReferenceType::DELIM_GET;
7512
+ }
6878
7513
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
6879
7514
  }
6880
7515
 
@@ -7000,6 +7635,34 @@ TimestampCastResult EnumUtil::FromString<TimestampCastResult>(const char *value)
7000
7635
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
7001
7636
  }
7002
7637
 
7638
+ template<>
7639
+ const char* EnumUtil::ToChars<TransactionModifierType>(TransactionModifierType value) {
7640
+ switch(value) {
7641
+ case TransactionModifierType::TRANSACTION_DEFAULT_MODIFIER:
7642
+ return "TRANSACTION_DEFAULT_MODIFIER";
7643
+ case TransactionModifierType::TRANSACTION_READ_ONLY:
7644
+ return "TRANSACTION_READ_ONLY";
7645
+ case TransactionModifierType::TRANSACTION_READ_WRITE:
7646
+ return "TRANSACTION_READ_WRITE";
7647
+ default:
7648
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
7649
+ }
7650
+ }
7651
+
7652
+ template<>
7653
+ TransactionModifierType EnumUtil::FromString<TransactionModifierType>(const char *value) {
7654
+ if (StringUtil::Equals(value, "TRANSACTION_DEFAULT_MODIFIER")) {
7655
+ return TransactionModifierType::TRANSACTION_DEFAULT_MODIFIER;
7656
+ }
7657
+ if (StringUtil::Equals(value, "TRANSACTION_READ_ONLY")) {
7658
+ return TransactionModifierType::TRANSACTION_READ_ONLY;
7659
+ }
7660
+ if (StringUtil::Equals(value, "TRANSACTION_READ_WRITE")) {
7661
+ return TransactionModifierType::TRANSACTION_READ_WRITE;
7662
+ }
7663
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
7664
+ }
7665
+
7003
7666
  template<>
7004
7667
  const char* EnumUtil::ToChars<TransactionType>(TransactionType value) {
7005
7668
  switch(value) {
@@ -7416,6 +8079,8 @@ const char* EnumUtil::ToChars<WALType>(WALType value) {
7416
8079
  return "DELETE_TUPLE";
7417
8080
  case WALType::UPDATE_TUPLE:
7418
8081
  return "UPDATE_TUPLE";
8082
+ case WALType::ROW_GROUP_DATA:
8083
+ return "ROW_GROUP_DATA";
7419
8084
  case WALType::WAL_VERSION:
7420
8085
  return "WAL_VERSION";
7421
8086
  case WALType::CHECKPOINT:
@@ -7498,6 +8163,9 @@ WALType EnumUtil::FromString<WALType>(const char *value) {
7498
8163
  if (StringUtil::Equals(value, "UPDATE_TUPLE")) {
7499
8164
  return WALType::UPDATE_TUPLE;
7500
8165
  }
8166
+ if (StringUtil::Equals(value, "ROW_GROUP_DATA")) {
8167
+ return WALType::ROW_GROUP_DATA;
8168
+ }
7501
8169
  if (StringUtil::Equals(value, "WAL_VERSION")) {
7502
8170
  return WALType::WAL_VERSION;
7503
8171
  }