duckdb 0.9.3-dev0.0 → 0.9.3-dev14.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 (1215) hide show
  1. package/LICENSE +1 -1
  2. package/binding.gyp +32 -7
  3. package/package.json +1 -1
  4. package/src/connection.cpp +6 -6
  5. package/src/database.cpp +12 -10
  6. package/src/duckdb/extension/icu/icu-datefunc.cpp +22 -10
  7. package/src/duckdb/extension/icu/icu-datepart.cpp +42 -22
  8. package/src/duckdb/extension/icu/icu-datetrunc.cpp +40 -7
  9. package/src/duckdb/extension/icu/icu-strptime.cpp +14 -8
  10. package/src/duckdb/extension/icu/icu-table-range.cpp +1 -1
  11. package/src/duckdb/extension/icu/icu-timezone.cpp +43 -16
  12. package/src/duckdb/extension/icu/icu_extension.cpp +1 -1
  13. package/src/duckdb/extension/icu/include/icu-datefunc.hpp +3 -0
  14. package/src/duckdb/extension/icu/third_party/icu/stubdata/stubdata.cpp +1 -1
  15. package/src/duckdb/extension/json/buffered_json_reader.cpp +78 -62
  16. package/src/duckdb/extension/json/include/buffered_json_reader.hpp +11 -7
  17. package/src/duckdb/extension/json/include/json_common.hpp +0 -14
  18. package/src/duckdb/extension/json/include/json_deserializer.hpp +1 -0
  19. package/src/duckdb/extension/json/include/json_functions.hpp +1 -0
  20. package/src/duckdb/extension/json/include/json_scan.hpp +19 -5
  21. package/src/duckdb/extension/json/include/json_serializer.hpp +2 -1
  22. package/src/duckdb/extension/json/include/json_structure.hpp +12 -10
  23. package/src/duckdb/extension/json/json_common.cpp +1 -0
  24. package/src/duckdb/extension/json/json_deserializer.cpp +13 -0
  25. package/src/duckdb/extension/json/json_extension.cpp +3 -3
  26. package/src/duckdb/extension/json/json_functions/copy_json.cpp +8 -4
  27. package/src/duckdb/extension/json/json_functions/json_array_length.cpp +1 -1
  28. package/src/duckdb/extension/json/json_functions/json_contains.cpp +3 -3
  29. package/src/duckdb/extension/json/json_functions/json_create.cpp +53 -8
  30. package/src/duckdb/extension/json/json_functions/json_extract.cpp +10 -6
  31. package/src/duckdb/extension/json/json_functions/json_keys.cpp +1 -1
  32. package/src/duckdb/extension/json/json_functions/json_merge_patch.cpp +2 -3
  33. package/src/duckdb/extension/json/json_functions/json_serialize_plan.cpp +210 -0
  34. package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +22 -19
  35. package/src/duckdb/extension/json/json_functions/json_structure.cpp +71 -43
  36. package/src/duckdb/extension/json/json_functions/json_transform.cpp +105 -8
  37. package/src/duckdb/extension/json/json_functions/json_type.cpp +1 -1
  38. package/src/duckdb/extension/json/json_functions/json_valid.cpp +1 -1
  39. package/src/duckdb/extension/json/json_functions/read_json.cpp +43 -18
  40. package/src/duckdb/extension/json/json_functions/read_json_objects.cpp +1 -1
  41. package/src/duckdb/extension/json/json_functions.cpp +9 -5
  42. package/src/duckdb/extension/json/json_scan.cpp +147 -125
  43. package/src/duckdb/extension/json/json_serializer.cpp +9 -0
  44. package/src/duckdb/extension/json/serialize_json.cpp +6 -0
  45. package/src/duckdb/extension/parquet/column_reader.cpp +53 -18
  46. package/src/duckdb/extension/parquet/column_writer.cpp +29 -6
  47. package/src/duckdb/extension/parquet/include/column_reader.hpp +0 -1
  48. package/src/duckdb/extension/parquet/include/decode_utils.hpp +2 -2
  49. package/src/duckdb/extension/parquet/include/parquet_crypto.hpp +87 -0
  50. package/src/duckdb/extension/parquet/include/parquet_dbp_decoder.hpp +4 -3
  51. package/src/duckdb/extension/parquet/include/parquet_decimal_utils.hpp +16 -3
  52. package/src/duckdb/extension/parquet/include/parquet_metadata.hpp +10 -0
  53. package/src/duckdb/extension/parquet/include/parquet_reader.hpp +34 -6
  54. package/src/duckdb/extension/parquet/include/parquet_statistics.hpp +3 -2
  55. package/src/duckdb/extension/parquet/include/parquet_timestamp.hpp +2 -0
  56. package/src/duckdb/extension/parquet/include/parquet_writer.hpp +21 -1
  57. package/src/duckdb/extension/parquet/parquet_crypto.cpp +370 -0
  58. package/src/duckdb/extension/parquet/parquet_extension.cpp +254 -24
  59. package/src/duckdb/extension/parquet/parquet_metadata.cpp +204 -16
  60. package/src/duckdb/extension/parquet/parquet_reader.cpp +108 -34
  61. package/src/duckdb/extension/parquet/parquet_statistics.cpp +75 -30
  62. package/src/duckdb/extension/parquet/parquet_timestamp.cpp +15 -8
  63. package/src/duckdb/extension/parquet/parquet_writer.cpp +62 -10
  64. package/src/duckdb/extension/parquet/serialize_parquet.cpp +60 -0
  65. package/src/duckdb/src/catalog/catalog.cpp +23 -25
  66. package/src/duckdb/src/catalog/catalog_entry/column_dependency_manager.cpp +1 -0
  67. package/src/duckdb/src/catalog/catalog_entry/dependency/dependency_dependent_entry.cpp +31 -0
  68. package/src/duckdb/src/catalog/catalog_entry/dependency/dependency_entry.cpp +44 -0
  69. package/src/duckdb/src/catalog/catalog_entry/dependency/dependency_subject_entry.cpp +31 -0
  70. package/src/duckdb/src/catalog/catalog_entry/duck_index_entry.cpp +35 -10
  71. package/src/duckdb/src/catalog/catalog_entry/duck_schema_entry.cpp +22 -6
  72. package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +110 -33
  73. package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +33 -17
  74. package/src/duckdb/src/catalog/catalog_entry/macro_catalog_entry.cpp +16 -0
  75. package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +7 -6
  76. package/src/duckdb/src/catalog/catalog_entry/sequence_catalog_entry.cpp +88 -14
  77. package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +6 -15
  78. package/src/duckdb/src/catalog/catalog_entry/type_catalog_entry.cpp +20 -20
  79. package/src/duckdb/src/catalog/catalog_entry/view_catalog_entry.cpp +4 -0
  80. package/src/duckdb/src/catalog/catalog_entry.cpp +29 -0
  81. package/src/duckdb/src/catalog/catalog_set.cpp +358 -343
  82. package/src/duckdb/src/catalog/catalog_transaction.cpp +4 -0
  83. package/src/duckdb/src/catalog/default/default_functions.cpp +13 -4
  84. package/src/duckdb/src/catalog/default/default_schemas.cpp +5 -1
  85. package/src/duckdb/src/catalog/default/default_views.cpp +6 -2
  86. package/src/duckdb/src/catalog/dependency_catalog_set.cpp +51 -0
  87. package/src/duckdb/src/catalog/dependency_manager.cpp +510 -114
  88. package/src/duckdb/src/catalog/duck_catalog.cpp +4 -4
  89. package/src/duckdb/src/common/adbc/adbc.cpp +73 -53
  90. package/src/duckdb/src/common/adbc/driver_manager.cpp +1101 -268
  91. package/src/duckdb/src/common/arrow/arrow_wrapper.cpp +20 -9
  92. package/src/duckdb/src/common/bind_helpers.cpp +1 -0
  93. package/src/duckdb/src/common/box_renderer.cpp +52 -1
  94. package/src/duckdb/src/common/compressed_file_system.cpp +1 -0
  95. package/src/duckdb/src/common/constants.cpp +0 -1
  96. package/src/duckdb/src/common/enum_util.cpp +522 -107
  97. package/src/duckdb/src/common/enums/catalog_type.cpp +64 -1
  98. package/src/duckdb/src/common/enums/compression_type.cpp +14 -0
  99. package/src/duckdb/src/common/enums/date_part_specifier.cpp +1 -0
  100. package/src/duckdb/src/common/enums/expression_type.cpp +4 -0
  101. package/src/duckdb/src/common/enums/file_compression_type.cpp +1 -0
  102. package/src/duckdb/src/common/enums/join_type.cpp +33 -0
  103. package/src/duckdb/src/common/enums/logical_operator_type.cpp +5 -3
  104. package/src/duckdb/src/common/enums/optimizer_type.cpp +9 -1
  105. package/src/duckdb/src/common/enums/physical_operator_type.cpp +8 -4
  106. package/src/duckdb/src/common/enums/statement_type.cpp +2 -2
  107. package/src/duckdb/src/common/error_data.cpp +113 -0
  108. package/src/duckdb/src/common/exception/binder_exception.cpp +47 -0
  109. package/src/duckdb/src/common/exception/catalog_exception.cpp +55 -0
  110. package/src/duckdb/src/common/exception/parser_exception.cpp +19 -0
  111. package/src/duckdb/src/common/exception.cpp +110 -121
  112. package/src/duckdb/src/common/exception_format_value.cpp +9 -1
  113. package/src/duckdb/src/common/extra_type_info.cpp +48 -0
  114. package/src/duckdb/src/common/file_system.cpp +12 -7
  115. package/src/duckdb/src/common/gzip_file_system.cpp +18 -18
  116. package/src/duckdb/src/common/hive_partitioning.cpp +5 -1
  117. package/src/duckdb/src/common/http_state.cpp +20 -3
  118. package/src/duckdb/src/common/local_file_system.cpp +214 -15
  119. package/src/duckdb/src/common/multi_file_reader.cpp +20 -7
  120. package/src/duckdb/src/common/operator/cast_operators.cpp +397 -414
  121. package/src/duckdb/src/common/operator/convert_to_string.cpp +4 -0
  122. package/src/duckdb/src/common/operator/string_cast.cpp +5 -0
  123. package/src/duckdb/src/common/progress_bar/progress_bar.cpp +61 -12
  124. package/src/duckdb/src/common/progress_bar/terminal_progress_bar_display.cpp +13 -4
  125. package/src/duckdb/src/common/radix_partitioning.cpp +1 -1
  126. package/src/duckdb/src/common/row_operations/row_aggregate.cpp +2 -1
  127. package/src/duckdb/src/common/row_operations/row_gather.cpp +7 -1
  128. package/src/duckdb/src/common/row_operations/row_heap_gather.cpp +78 -12
  129. package/src/duckdb/src/common/row_operations/row_heap_scatter.cpp +222 -61
  130. package/src/duckdb/src/common/row_operations/row_matcher.cpp +6 -1
  131. package/src/duckdb/src/common/row_operations/row_radix_scatter.cpp +51 -0
  132. package/src/duckdb/src/common/row_operations/row_scatter.cpp +8 -1
  133. package/src/duckdb/src/common/serializer/binary_deserializer.cpp +6 -0
  134. package/src/duckdb/src/common/serializer/binary_serializer.cpp +5 -0
  135. package/src/duckdb/src/common/serializer/serializer.cpp +19 -0
  136. package/src/duckdb/src/common/sort/comparators.cpp +126 -0
  137. package/src/duckdb/src/common/sort/partition_state.cpp +17 -17
  138. package/src/duckdb/src/common/sort/radix_sort.cpp +2 -1
  139. package/src/duckdb/src/common/sort/sort_state.cpp +10 -5
  140. package/src/duckdb/src/common/sort/sorted_block.cpp +7 -6
  141. package/src/duckdb/src/common/string_util.cpp +302 -24
  142. package/src/duckdb/src/common/tree_renderer.cpp +8 -6
  143. package/src/duckdb/src/common/types/cast_helpers.cpp +6 -0
  144. package/src/duckdb/src/common/types/column/column_data_allocator.cpp +1 -1
  145. package/src/duckdb/src/common/types/column/column_data_collection.cpp +58 -0
  146. package/src/duckdb/src/common/types/column/column_data_collection_segment.cpp +8 -1
  147. package/src/duckdb/src/common/types/data_chunk.cpp +9 -0
  148. package/src/duckdb/src/common/types/date.cpp +2 -2
  149. package/src/duckdb/src/common/types/hash.cpp +9 -1
  150. package/src/duckdb/src/common/types/hugeint.cpp +229 -51
  151. package/src/duckdb/src/common/types/hyperloglog.cpp +10 -3
  152. package/src/duckdb/src/common/types/interval.cpp +67 -12
  153. package/src/duckdb/src/common/types/list_segment.cpp +98 -4
  154. package/src/duckdb/src/common/types/row/partitioned_tuple_data.cpp +11 -1
  155. package/src/duckdb/src/common/types/row/row_data_collection.cpp +1 -1
  156. package/src/duckdb/src/common/types/row/row_data_collection_scanner.cpp +2 -2
  157. package/src/duckdb/src/common/types/row/tuple_data_allocator.cpp +3 -2
  158. package/src/duckdb/src/common/types/row/tuple_data_collection.cpp +63 -3
  159. package/src/duckdb/src/common/types/row/tuple_data_scatter_gather.cpp +331 -127
  160. package/src/duckdb/src/common/types/time.cpp +47 -75
  161. package/src/duckdb/src/common/types/timestamp.cpp +16 -3
  162. package/src/duckdb/src/common/types/uhugeint.cpp +746 -0
  163. package/src/duckdb/src/common/types/validity_mask.cpp +6 -2
  164. package/src/duckdb/src/common/types/value.cpp +183 -27
  165. package/src/duckdb/src/common/types/vector.cpp +331 -30
  166. package/src/duckdb/src/common/types/vector_buffer.cpp +29 -1
  167. package/src/duckdb/src/common/types/vector_cache.cpp +22 -1
  168. package/src/duckdb/src/common/types.cpp +606 -90
  169. package/src/duckdb/src/common/value_operations/comparison_operations.cpp +21 -1
  170. package/src/duckdb/src/common/vector_operations/comparison_operators.cpp +5 -0
  171. package/src/duckdb/src/common/vector_operations/generators.cpp +2 -2
  172. package/src/duckdb/src/common/vector_operations/is_distinct_from.cpp +131 -2
  173. package/src/duckdb/src/common/vector_operations/vector_copy.cpp +26 -4
  174. package/src/duckdb/src/common/vector_operations/vector_hash.cpp +41 -0
  175. package/src/duckdb/src/common/vector_operations/vector_storage.cpp +7 -0
  176. package/src/duckdb/src/common/virtual_file_system.cpp +0 -1
  177. package/src/duckdb/src/core_functions/aggregate/distributive/approx_count.cpp +2 -1
  178. package/src/duckdb/src/core_functions/aggregate/distributive/arg_min_max.cpp +144 -56
  179. package/src/duckdb/src/core_functions/aggregate/distributive/bitagg.cpp +2 -0
  180. package/src/duckdb/src/core_functions/aggregate/distributive/bitstring_agg.cpp +27 -0
  181. package/src/duckdb/src/core_functions/aggregate/distributive/entropy.cpp +4 -3
  182. package/src/duckdb/src/core_functions/aggregate/distributive/kurtosis.cpp +25 -5
  183. package/src/duckdb/src/core_functions/aggregate/distributive/minmax.cpp +100 -3
  184. package/src/duckdb/src/core_functions/aggregate/distributive/string_agg.cpp +2 -1
  185. package/src/duckdb/src/core_functions/aggregate/holistic/approximate_quantile.cpp +9 -1
  186. package/src/duckdb/src/core_functions/aggregate/holistic/mode.cpp +83 -52
  187. package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +485 -289
  188. package/src/duckdb/src/core_functions/aggregate/holistic/reservoir_quantile.cpp +3 -3
  189. package/src/duckdb/src/core_functions/aggregate/nested/histogram.cpp +24 -26
  190. package/src/duckdb/src/core_functions/aggregate/nested/list.cpp +34 -37
  191. package/src/duckdb/src/core_functions/function_list.cpp +30 -1
  192. package/src/duckdb/src/core_functions/lambda_functions.cpp +416 -0
  193. package/src/duckdb/src/core_functions/scalar/array/array_functions.cpp +294 -0
  194. package/src/duckdb/src/core_functions/scalar/array/array_value.cpp +87 -0
  195. package/src/duckdb/src/core_functions/scalar/blob/create_sort_key.cpp +686 -0
  196. package/src/duckdb/src/core_functions/scalar/blob/encode.cpp +1 -0
  197. package/src/duckdb/src/core_functions/scalar/date/current.cpp +3 -3
  198. package/src/duckdb/src/core_functions/scalar/date/date_part.cpp +295 -20
  199. package/src/duckdb/src/core_functions/scalar/date/make_date.cpp +1 -0
  200. package/src/duckdb/src/core_functions/scalar/date/strftime.cpp +8 -7
  201. package/src/duckdb/src/core_functions/scalar/date/to_interval.cpp +84 -23
  202. package/src/duckdb/src/core_functions/scalar/generic/error.cpp +4 -4
  203. package/src/duckdb/src/core_functions/scalar/generic/least.cpp +7 -8
  204. package/src/duckdb/src/core_functions/scalar/generic/stats.cpp +1 -1
  205. package/src/duckdb/src/core_functions/scalar/generic/system_functions.cpp +17 -6
  206. package/src/duckdb/src/core_functions/scalar/list/array_slice.cpp +8 -0
  207. package/src/duckdb/src/core_functions/scalar/list/list_aggregates.cpp +28 -14
  208. package/src/duckdb/src/core_functions/scalar/list/list_filter.cpp +49 -0
  209. package/src/duckdb/src/core_functions/scalar/list/list_reduce.cpp +230 -0
  210. package/src/duckdb/src/core_functions/scalar/list/list_sort.cpp +85 -16
  211. package/src/duckdb/src/core_functions/scalar/list/list_transform.cpp +41 -0
  212. package/src/duckdb/src/core_functions/scalar/list/list_value.cpp +21 -2
  213. package/src/duckdb/src/core_functions/scalar/map/map.cpp +6 -5
  214. package/src/duckdb/src/core_functions/scalar/map/map_entries.cpp +2 -2
  215. package/src/duckdb/src/core_functions/scalar/map/map_from_entries.cpp +1 -2
  216. package/src/duckdb/src/core_functions/scalar/math/numeric.cpp +24 -4
  217. package/src/duckdb/src/core_functions/scalar/operators/bitwise.cpp +6 -0
  218. package/src/duckdb/src/core_functions/scalar/random/random.cpp +2 -2
  219. package/src/duckdb/src/core_functions/scalar/random/setseed.cpp +2 -2
  220. package/src/duckdb/src/core_functions/scalar/secret/which_secret.cpp +28 -0
  221. package/src/duckdb/src/core_functions/scalar/string/bar.cpp +9 -4
  222. package/src/duckdb/src/core_functions/scalar/string/format_bytes.cpp +7 -2
  223. package/src/duckdb/src/core_functions/scalar/string/hex.cpp +63 -4
  224. package/src/duckdb/src/core_functions/scalar/string/pad.cpp +2 -2
  225. package/src/duckdb/src/core_functions/scalar/string/parse_path.cpp +348 -0
  226. package/src/duckdb/src/core_functions/scalar/string/regexp_escape.cpp +22 -0
  227. package/src/duckdb/src/core_functions/scalar/string/string_split.cpp +6 -5
  228. package/src/duckdb/src/core_functions/scalar/struct/struct_insert.cpp +3 -3
  229. package/src/duckdb/src/core_functions/scalar/struct/struct_pack.cpp +1 -1
  230. package/src/duckdb/src/execution/aggregate_hashtable.cpp +9 -2
  231. package/src/duckdb/src/execution/column_binding_resolver.cpp +44 -10
  232. package/src/duckdb/src/execution/expression_executor/execute_between.cpp +4 -0
  233. package/src/duckdb/src/execution/expression_executor/execute_case.cpp +4 -0
  234. package/src/duckdb/src/execution/expression_executor/execute_comparison.cpp +4 -0
  235. package/src/duckdb/src/execution/expression_executor.cpp +2 -1
  236. package/src/duckdb/src/execution/index/art/art.cpp +202 -53
  237. package/src/duckdb/src/execution/index/art/art_key.cpp +20 -27
  238. package/src/duckdb/src/execution/index/fixed_size_allocator.cpp +52 -17
  239. package/src/duckdb/src/execution/index/fixed_size_buffer.cpp +14 -8
  240. package/src/duckdb/src/execution/index/index_type_set.cpp +32 -0
  241. package/src/duckdb/src/execution/index/unknown_index.cpp +65 -0
  242. package/src/duckdb/src/execution/join_hashtable.cpp +151 -174
  243. package/src/duckdb/src/execution/nested_loop_join/nested_loop_join_inner.cpp +4 -0
  244. package/src/duckdb/src/execution/nested_loop_join/nested_loop_join_mark.cpp +4 -0
  245. package/src/duckdb/src/execution/operator/aggregate/aggregate_object.cpp +2 -1
  246. package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +82 -36
  247. package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +58 -32
  248. package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +35 -19
  249. package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer.cpp +90 -0
  250. package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.cpp +124 -0
  251. package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_file_handle.cpp +97 -0
  252. package/src/duckdb/src/execution/operator/csv_scanner/scanner/base_scanner.cpp +71 -0
  253. package/src/duckdb/src/execution/operator/csv_scanner/scanner/column_count_scanner.cpp +98 -0
  254. package/src/duckdb/src/execution/operator/csv_scanner/scanner/scanner_boundary.cpp +105 -0
  255. package/src/duckdb/src/execution/operator/csv_scanner/scanner/skip_scanner.cpp +63 -0
  256. package/src/duckdb/src/execution/operator/csv_scanner/scanner/string_value_scanner.cpp +1091 -0
  257. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp +124 -26
  258. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp +117 -129
  259. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/header_detection.cpp +46 -22
  260. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_detection.cpp +83 -199
  261. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_refinement.cpp +21 -122
  262. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_replacement.cpp +18 -17
  263. package/src/duckdb/src/execution/operator/csv_scanner/state_machine/csv_state_machine.cpp +22 -0
  264. package/src/duckdb/src/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.cpp +201 -0
  265. package/src/duckdb/src/execution/operator/csv_scanner/table_function/csv_file_scanner.cpp +221 -0
  266. package/src/duckdb/src/execution/operator/csv_scanner/table_function/global_csv_state.cpp +204 -0
  267. package/src/duckdb/src/execution/operator/csv_scanner/util/csv_error.cpp +186 -0
  268. package/src/duckdb/src/execution/operator/csv_scanner/util/csv_reader_options.cpp +532 -0
  269. package/src/duckdb/src/execution/operator/helper/physical_buffered_collector.cpp +85 -0
  270. package/src/duckdb/src/execution/operator/helper/physical_create_secret.cpp +21 -0
  271. package/src/duckdb/src/execution/operator/helper/physical_materialized_collector.cpp +1 -1
  272. package/src/duckdb/src/execution/operator/helper/physical_pragma.cpp +2 -2
  273. package/src/duckdb/src/execution/operator/helper/physical_reservoir_sample.cpp +34 -9
  274. package/src/duckdb/src/execution/operator/helper/physical_result_collector.cpp +10 -0
  275. package/src/duckdb/src/execution/operator/helper/physical_transaction.cpp +1 -0
  276. package/src/duckdb/src/execution/operator/helper/physical_vacuum.cpp +25 -10
  277. package/src/duckdb/src/execution/operator/join/perfect_hash_join_executor.cpp +7 -8
  278. package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +1 -1
  279. package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +5 -2
  280. package/src/duckdb/src/execution/operator/join/physical_comparison_join.cpp +1 -1
  281. package/src/duckdb/src/execution/operator/join/physical_delim_join.cpp +5 -127
  282. package/src/duckdb/src/execution/operator/join/physical_hash_join.cpp +221 -61
  283. package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +18 -21
  284. package/src/duckdb/src/execution/operator/join/physical_join.cpp +10 -5
  285. package/src/duckdb/src/execution/operator/join/physical_left_delim_join.cpp +137 -0
  286. package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +11 -4
  287. package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +2 -2
  288. package/src/duckdb/src/execution/operator/join/physical_range_join.cpp +19 -4
  289. package/src/duckdb/src/execution/operator/join/physical_right_delim_join.cpp +121 -0
  290. package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +3 -2
  291. package/src/duckdb/src/execution/operator/persistent/physical_copy_database.cpp +59 -0
  292. package/src/duckdb/src/execution/operator/persistent/physical_copy_to_file.cpp +132 -92
  293. package/src/duckdb/src/execution/operator/persistent/physical_export.cpp +54 -54
  294. package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +1 -1
  295. package/src/duckdb/src/execution/operator/projection/physical_unnest.cpp +4 -0
  296. package/src/duckdb/src/execution/operator/scan/physical_column_data_scan.cpp +21 -3
  297. package/src/duckdb/src/execution/operator/schema/physical_alter.cpp +1 -0
  298. package/src/duckdb/src/execution/operator/schema/physical_attach.cpp +61 -43
  299. package/src/duckdb/src/execution/operator/schema/physical_create_art_index.cpp +15 -13
  300. package/src/duckdb/src/execution/operator/schema/physical_create_schema.cpp +1 -0
  301. package/src/duckdb/src/execution/operator/schema/physical_drop.cpp +10 -0
  302. package/src/duckdb/src/execution/operator/set/physical_cte.cpp +44 -90
  303. package/src/duckdb/src/execution/operator/set/physical_recursive_cte.cpp +3 -0
  304. package/src/duckdb/src/execution/operator/set/physical_union.cpp +8 -4
  305. package/src/duckdb/src/execution/physical_operator.cpp +3 -1
  306. package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +30 -143
  307. package/src/duckdb/src/execution/physical_plan/plan_copy_database.cpp +12 -0
  308. package/src/duckdb/src/execution/physical_plan/plan_copy_to_file.cpp +11 -4
  309. package/src/duckdb/src/execution/physical_plan/plan_create_index.cpp +8 -8
  310. package/src/duckdb/src/execution/physical_plan/plan_create_secret.cpp +11 -0
  311. package/src/duckdb/src/execution/physical_plan/plan_create_table.cpp +9 -8
  312. package/src/duckdb/src/execution/physical_plan/plan_cte.cpp +5 -3
  313. package/src/duckdb/src/execution/physical_plan/plan_delim_join.cpp +15 -6
  314. package/src/duckdb/src/execution/physical_plan/plan_positional_join.cpp +1 -0
  315. package/src/duckdb/src/execution/physical_plan/plan_pragma.cpp +1 -1
  316. package/src/duckdb/src/execution/physical_plan/plan_recursive_cte.cpp +3 -1
  317. package/src/duckdb/src/execution/physical_plan/plan_set_operation.cpp +90 -12
  318. package/src/duckdb/src/execution/physical_plan/plan_window.cpp +67 -22
  319. package/src/duckdb/src/execution/physical_plan_generator.cpp +6 -3
  320. package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +163 -32
  321. package/src/duckdb/src/execution/reservoir_sample.cpp +112 -32
  322. package/src/duckdb/src/execution/window_executor.cpp +291 -26
  323. package/src/duckdb/src/execution/window_segment_tree.cpp +958 -114
  324. package/src/duckdb/src/function/aggregate/distributive/count.cpp +18 -16
  325. package/src/duckdb/src/function/aggregate/distributive/first.cpp +11 -4
  326. package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +303 -131
  327. package/src/duckdb/src/function/cast/array_casts.cpp +226 -0
  328. package/src/duckdb/src/function/cast/bit_cast.cpp +2 -0
  329. package/src/duckdb/src/function/cast/cast_function_set.cpp +13 -2
  330. package/src/duckdb/src/function/cast/decimal_cast.cpp +2 -0
  331. package/src/duckdb/src/function/cast/default_casts.cpp +4 -1
  332. package/src/duckdb/src/function/cast/list_casts.cpp +151 -6
  333. package/src/duckdb/src/function/cast/numeric_casts.cpp +4 -0
  334. package/src/duckdb/src/function/cast/string_cast.cpp +95 -5
  335. package/src/duckdb/src/function/cast/struct_cast.cpp +53 -19
  336. package/src/duckdb/src/function/cast/time_casts.cpp +23 -1
  337. package/src/duckdb/src/function/cast/union/from_struct.cpp +1 -0
  338. package/src/duckdb/src/function/cast/union_casts.cpp +4 -3
  339. package/src/duckdb/src/function/cast/vector_cast_helpers.cpp +8 -4
  340. package/src/duckdb/src/function/cast_rules.cpp +197 -31
  341. package/src/duckdb/src/function/compression_config.cpp +4 -0
  342. package/src/duckdb/src/function/function.cpp +15 -9
  343. package/src/duckdb/src/function/function_binder.cpp +80 -29
  344. package/src/duckdb/src/function/function_set.cpp +6 -6
  345. package/src/duckdb/src/function/pragma/pragma_functions.cpp +10 -8
  346. package/src/duckdb/src/function/pragma/pragma_queries.cpp +34 -38
  347. package/src/duckdb/src/function/scalar/compressed_materialization/compress_integral.cpp +12 -0
  348. package/src/duckdb/src/function/scalar/list/contains_or_position.cpp +10 -1
  349. package/src/duckdb/src/function/scalar/list/list_concat.cpp +11 -1
  350. package/src/duckdb/src/function/scalar/list/list_extract.cpp +14 -3
  351. package/src/duckdb/src/function/scalar/list/list_resize.cpp +4 -0
  352. package/src/duckdb/src/function/scalar/list/list_select.cpp +176 -0
  353. package/src/duckdb/src/function/scalar/list/list_zip.cpp +165 -0
  354. package/src/duckdb/src/function/scalar/nested_functions.cpp +33 -0
  355. package/src/duckdb/src/function/scalar/operators/add.cpp +53 -6
  356. package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +48 -14
  357. package/src/duckdb/src/function/scalar/operators/multiply.cpp +9 -1
  358. package/src/duckdb/src/function/scalar/operators/subtract.cpp +19 -4
  359. package/src/duckdb/src/function/scalar/sequence/nextval.cpp +28 -55
  360. package/src/duckdb/src/function/scalar/strftime_format.cpp +242 -19
  361. package/src/duckdb/src/function/scalar/string/caseconvert.cpp +2 -2
  362. package/src/duckdb/src/function/scalar/string/concat.cpp +16 -6
  363. package/src/duckdb/src/function/scalar/string/length.cpp +124 -24
  364. package/src/duckdb/src/function/scalar/string/regexp.cpp +27 -27
  365. package/src/duckdb/src/function/scalar/struct/struct_extract.cpp +64 -15
  366. package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +4 -3
  367. package/src/duckdb/src/function/scalar_function.cpp +8 -7
  368. package/src/duckdb/src/function/table/arrow/arrow_duck_schema.cpp +12 -0
  369. package/src/duckdb/src/function/table/arrow.cpp +20 -27
  370. package/src/duckdb/src/function/table/arrow_conversion.cpp +433 -150
  371. package/src/duckdb/src/function/table/copy_csv.cpp +62 -62
  372. package/src/duckdb/src/function/table/range.cpp +6 -3
  373. package/src/duckdb/src/function/table/read_csv.cpp +107 -759
  374. package/src/duckdb/src/function/table/read_file.cpp +242 -0
  375. package/src/duckdb/src/function/table/sniff_csv.cpp +275 -0
  376. package/src/duckdb/src/function/table/system/duckdb_columns.cpp +15 -3
  377. package/src/duckdb/src/function/table/system/duckdb_databases.cpp +5 -0
  378. package/src/duckdb/src/function/table/system/duckdb_dependencies.cpp +9 -13
  379. package/src/duckdb/src/function/table/system/duckdb_functions.cpp +67 -14
  380. package/src/duckdb/src/function/table/system/duckdb_indexes.cpp +12 -15
  381. package/src/duckdb/src/function/table/system/duckdb_memory.cpp +63 -0
  382. package/src/duckdb/src/function/table/system/duckdb_optimizers.cpp +57 -0
  383. package/src/duckdb/src/function/table/system/duckdb_schemas.cpp +5 -0
  384. package/src/duckdb/src/function/table/system/duckdb_secrets.cpp +128 -0
  385. package/src/duckdb/src/function/table/system/duckdb_sequences.cpp +12 -6
  386. package/src/duckdb/src/function/table/system/duckdb_settings.cpp +0 -1
  387. package/src/duckdb/src/function/table/system/duckdb_tables.cpp +5 -0
  388. package/src/duckdb/src/function/table/system/duckdb_types.cpp +6 -0
  389. package/src/duckdb/src/function/table/system/duckdb_views.cpp +5 -0
  390. package/src/duckdb/src/function/table/system/pragma_table_info.cpp +166 -64
  391. package/src/duckdb/src/function/table/system/test_all_types.cpp +2 -1
  392. package/src/duckdb/src/function/table/system_functions.cpp +3 -2
  393. package/src/duckdb/src/function/table/table_scan.cpp +50 -110
  394. package/src/duckdb/src/function/table/version/pragma_version.cpp +4 -44
  395. package/src/duckdb/src/function/table_function.cpp +2 -2
  396. package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +4 -3
  397. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/dependency/dependency_dependent_entry.hpp +27 -0
  398. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/dependency/dependency_entry.hpp +66 -0
  399. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/dependency/dependency_subject_entry.hpp +27 -0
  400. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_index_entry.hpp +25 -5
  401. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_schema_entry.hpp +3 -1
  402. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_table_entry.hpp +2 -1
  403. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp +19 -5
  404. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/list.hpp +1 -0
  405. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/scalar_macro_catalog_entry.hpp +2 -0
  406. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp +1 -1
  407. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp +26 -11
  408. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +1 -0
  409. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_macro_catalog_entry.hpp +2 -0
  410. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/type_catalog_entry.hpp +1 -0
  411. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/view_catalog_entry.hpp +2 -0
  412. package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +15 -0
  413. package/src/duckdb/src/include/duckdb/catalog/catalog_set.hpp +41 -49
  414. package/src/duckdb/src/include/duckdb/catalog/catalog_transaction.hpp +1 -0
  415. package/src/duckdb/src/include/duckdb/catalog/default/builtin_types/types.hpp +3 -1
  416. package/src/duckdb/src/include/duckdb/catalog/dependency.hpp +120 -8
  417. package/src/duckdb/src/include/duckdb/catalog/dependency_catalog_set.hpp +32 -0
  418. package/src/duckdb/src/include/duckdb/catalog/dependency_list.hpp +2 -0
  419. package/src/duckdb/src/include/duckdb/catalog/dependency_manager.hpp +92 -12
  420. package/src/duckdb/src/include/duckdb/catalog/standard_entry.hpp +1 -1
  421. package/src/duckdb/src/include/duckdb/common/adbc/adbc-init.hpp +4 -2
  422. package/src/duckdb/src/include/duckdb/common/adbc/adbc.h +1153 -12
  423. package/src/duckdb/src/include/duckdb/common/adbc/adbc.hpp +6 -6
  424. package/src/duckdb/src/include/duckdb/common/adbc/driver_manager.h +0 -2
  425. package/src/duckdb/src/include/duckdb/common/adbc/options.h +64 -0
  426. package/src/duckdb/src/include/duckdb/common/adbc/single_batch_array_stream.hpp +8 -0
  427. package/src/duckdb/src/include/duckdb/common/arrow/arrow.hpp +25 -6
  428. package/src/duckdb/src/include/duckdb/common/arrow/arrow_wrapper.hpp +3 -3
  429. package/src/duckdb/src/include/duckdb/common/arrow/result_arrow_wrapper.hpp +1 -1
  430. package/src/duckdb/src/include/duckdb/common/bit_utils.hpp +30 -0
  431. package/src/duckdb/src/include/duckdb/common/bitpacking.hpp +6 -6
  432. package/src/duckdb/src/include/duckdb/common/case_insensitive_map.hpp +10 -0
  433. package/src/duckdb/src/include/duckdb/common/constants.hpp +1 -0
  434. package/src/duckdb/src/include/duckdb/common/enum_util.hpp +75 -19
  435. package/src/duckdb/src/include/duckdb/common/enums/catalog_type.hpp +11 -1
  436. package/src/duckdb/src/include/duckdb/common/enums/compression_type.hpp +3 -0
  437. package/src/duckdb/src/include/duckdb/common/enums/expression_type.hpp +2 -0
  438. package/src/duckdb/src/include/duckdb/common/enums/index_constraint_type.hpp +35 -0
  439. package/src/duckdb/src/include/duckdb/common/enums/join_type.hpp +16 -3
  440. package/src/duckdb/src/include/duckdb/common/enums/logical_operator_type.hpp +6 -5
  441. package/src/duckdb/src/include/duckdb/common/enums/memory_tag.hpp +32 -0
  442. package/src/duckdb/src/include/duckdb/common/enums/on_create_conflict.hpp +26 -0
  443. package/src/duckdb/src/include/duckdb/common/enums/optimizer_type.hpp +2 -0
  444. package/src/duckdb/src/include/duckdb/common/enums/pending_execution_result.hpp +7 -1
  445. package/src/duckdb/src/include/duckdb/common/enums/physical_operator_type.hpp +9 -3
  446. package/src/duckdb/src/include/duckdb/common/enums/statement_type.hpp +6 -5
  447. package/src/duckdb/src/include/duckdb/common/enums/tableref_type.hpp +3 -2
  448. package/src/duckdb/src/include/duckdb/common/enums/wal_type.hpp +1 -0
  449. package/src/duckdb/src/include/duckdb/common/error_data.hpp +72 -0
  450. package/src/duckdb/src/include/duckdb/common/exception/binder_exception.hpp +47 -0
  451. package/src/duckdb/src/include/duckdb/common/exception/catalog_exception.hpp +39 -0
  452. package/src/duckdb/src/include/duckdb/common/exception/conversion_exception.hpp +27 -0
  453. package/src/duckdb/src/include/duckdb/common/exception/http_exception.hpp +62 -0
  454. package/src/duckdb/src/include/duckdb/common/exception/list.hpp +6 -0
  455. package/src/duckdb/src/include/duckdb/common/exception/parser_exception.hpp +29 -0
  456. package/src/duckdb/src/include/duckdb/common/exception/transaction_exception.hpp +25 -0
  457. package/src/duckdb/src/include/duckdb/common/exception.hpp +52 -166
  458. package/src/duckdb/src/include/duckdb/common/exception_format_value.hpp +7 -4
  459. package/src/duckdb/src/include/duckdb/common/extra_type_info.hpp +53 -1
  460. package/src/duckdb/src/include/duckdb/common/helper.hpp +13 -3
  461. package/src/duckdb/src/include/duckdb/common/http_state.hpp +18 -4
  462. package/src/duckdb/src/include/duckdb/common/hugeint.hpp +5 -1
  463. package/src/duckdb/src/include/duckdb/common/limits.hpp +19 -1
  464. package/src/duckdb/src/include/duckdb/common/local_file_system.hpp +1 -0
  465. package/src/duckdb/src/include/duckdb/common/multi_file_reader.hpp +7 -2
  466. package/src/duckdb/src/include/duckdb/common/numeric_utils.hpp +16 -3
  467. package/src/duckdb/src/include/duckdb/common/operator/add.hpp +13 -2
  468. package/src/duckdb/src/include/duckdb/common/operator/cast_operators.hpp +114 -5
  469. package/src/duckdb/src/include/duckdb/common/operator/comparison_operators.hpp +0 -4
  470. package/src/duckdb/src/include/duckdb/common/operator/convert_to_string.hpp +2 -0
  471. package/src/duckdb/src/include/duckdb/common/operator/decimal_cast_operators.hpp +29 -0
  472. package/src/duckdb/src/include/duckdb/common/operator/double_cast_operator.hpp +52 -0
  473. package/src/duckdb/src/include/duckdb/common/operator/integer_cast_operator.hpp +459 -0
  474. package/src/duckdb/src/include/duckdb/common/operator/multiply.hpp +2 -0
  475. package/src/duckdb/src/include/duckdb/common/operator/numeric_cast.hpp +136 -0
  476. package/src/duckdb/src/include/duckdb/common/operator/string_cast.hpp +2 -0
  477. package/src/duckdb/src/include/duckdb/common/operator/subtract.hpp +7 -1
  478. package/src/duckdb/src/include/duckdb/common/optional_idx.hpp +7 -5
  479. package/src/duckdb/src/include/duckdb/common/platform.h +53 -0
  480. package/src/duckdb/src/include/duckdb/common/progress_bar/display/terminal_progress_bar_display.hpp +5 -5
  481. package/src/duckdb/src/include/duckdb/common/progress_bar/progress_bar.hpp +22 -6
  482. package/src/duckdb/src/include/duckdb/common/radix.hpp +6 -0
  483. package/src/duckdb/src/include/duckdb/common/row_operations/row_operations.hpp +20 -6
  484. package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +1 -0
  485. package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +1 -0
  486. package/src/duckdb/src/include/duckdb/common/serializer/deserializer.hpp +43 -4
  487. package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +1 -0
  488. package/src/duckdb/src/include/duckdb/common/serializer/serializer.hpp +15 -0
  489. package/src/duckdb/src/include/duckdb/common/sort/comparators.hpp +2 -0
  490. package/src/duckdb/src/include/duckdb/common/sort/partition_state.hpp +12 -2
  491. package/src/duckdb/src/include/duckdb/common/sort/sort.hpp +81 -0
  492. package/src/duckdb/src/include/duckdb/common/sort/sorted_block.hpp +0 -78
  493. package/src/duckdb/src/include/duckdb/common/string_util.hpp +23 -1
  494. package/src/duckdb/src/include/duckdb/common/type_util.hpp +5 -1
  495. package/src/duckdb/src/include/duckdb/common/types/cast_helpers.hpp +26 -3
  496. package/src/duckdb/src/include/duckdb/common/types/conflict_manager.hpp +8 -0
  497. package/src/duckdb/src/include/duckdb/common/types/data_chunk.hpp +3 -0
  498. package/src/duckdb/src/include/duckdb/common/types/date.hpp +3 -0
  499. package/src/duckdb/src/include/duckdb/common/types/datetime.hpp +5 -3
  500. package/src/duckdb/src/include/duckdb/common/types/hash.hpp +2 -0
  501. package/src/duckdb/src/include/duckdb/common/types/hugeint.hpp +81 -15
  502. package/src/duckdb/src/include/duckdb/common/types/interval.hpp +57 -29
  503. package/src/duckdb/src/include/duckdb/common/types/list_segment.hpp +1 -1
  504. package/src/duckdb/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp +4 -2
  505. package/src/duckdb/src/include/duckdb/common/types/row/row_data_collection.hpp +2 -2
  506. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_collection.hpp +26 -22
  507. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_states.hpp +7 -0
  508. package/src/duckdb/src/include/duckdb/common/types/string_type.hpp +7 -5
  509. package/src/duckdb/src/include/duckdb/common/types/time.hpp +6 -2
  510. package/src/duckdb/src/include/duckdb/common/types/timestamp.hpp +2 -0
  511. package/src/duckdb/src/include/duckdb/common/types/uhugeint.hpp +216 -0
  512. package/src/duckdb/src/include/duckdb/common/types/validity_mask.hpp +18 -10
  513. package/src/duckdb/src/include/duckdb/common/types/value.hpp +31 -0
  514. package/src/duckdb/src/include/duckdb/common/types/vector.hpp +18 -2
  515. package/src/duckdb/src/include/duckdb/common/types/vector_buffer.hpp +22 -1
  516. package/src/duckdb/src/include/duckdb/common/types.hpp +151 -49
  517. package/src/duckdb/src/include/duckdb/common/uhugeint.hpp +81 -0
  518. package/src/duckdb/src/include/duckdb/common/vector_operations/aggregate_executor.hpp +70 -6
  519. package/src/duckdb/src/include/duckdb/common/vector_size.hpp +6 -6
  520. package/src/duckdb/src/include/duckdb/core_functions/aggregate/distributive_functions.hpp +29 -2
  521. package/src/duckdb/src/include/duckdb/core_functions/lambda_functions.hpp +131 -0
  522. package/src/duckdb/src/include/duckdb/core_functions/scalar/array_functions.hpp +69 -0
  523. package/src/duckdb/src/include/duckdb/core_functions/scalar/blob_functions.hpp +9 -0
  524. package/src/duckdb/src/include/duckdb/core_functions/scalar/date_functions.hpp +40 -4
  525. package/src/duckdb/src/include/duckdb/core_functions/scalar/list_functions.hpp +42 -0
  526. package/src/duckdb/src/include/duckdb/core_functions/scalar/secret_functions.hpp +27 -0
  527. package/src/duckdb/src/include/duckdb/core_functions/scalar/string_functions.hpp +56 -2
  528. package/src/duckdb/src/include/duckdb/core_functions/to_interval.hpp +29 -0
  529. package/src/duckdb/src/include/duckdb/execution/aggregate_hashtable.hpp +2 -2
  530. package/src/duckdb/src/include/duckdb/execution/executor.hpp +11 -13
  531. package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +34 -19
  532. package/src/duckdb/src/include/duckdb/execution/index/fixed_size_allocator.hpp +18 -14
  533. package/src/duckdb/src/include/duckdb/execution/index/fixed_size_buffer.hpp +2 -1
  534. package/src/duckdb/src/include/duckdb/execution/index/index_type.hpp +57 -0
  535. package/src/duckdb/src/include/duckdb/execution/index/index_type_set.hpp +29 -0
  536. package/src/duckdb/src/include/duckdb/execution/index/unknown_index.hpp +65 -0
  537. package/src/duckdb/src/include/duckdb/execution/join_hashtable.hpp +35 -24
  538. package/src/duckdb/src/include/duckdb/execution/merge_sort_tree.hpp +630 -0
  539. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp +2 -0
  540. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_window.hpp +3 -2
  541. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer.hpp +103 -0
  542. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp +74 -0
  543. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/buffer_manager/csv_file_handle.hpp +60 -0
  544. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/options/csv_option.hpp +155 -0
  545. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp +163 -0
  546. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/options/state_machine_options.hpp +35 -0
  547. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/scanner/base_scanner.hpp +228 -0
  548. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/scanner/column_count_scanner.hpp +70 -0
  549. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/scanner/scanner_boundary.hpp +93 -0
  550. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/scanner/skip_scanner.hpp +60 -0
  551. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/scanner/string_value_scanner.hpp +197 -0
  552. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp +189 -0
  553. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/sniffer/quote_rules.hpp +21 -0
  554. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/state_machine/csv_state.hpp +30 -0
  555. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine.hpp +99 -0
  556. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.hpp +87 -0
  557. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/table_function/csv_file_scanner.hpp +70 -0
  558. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/table_function/global_csv_state.hpp +80 -0
  559. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/util/csv_casting.hpp +137 -0
  560. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/util/csv_error.hpp +104 -0
  561. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp +0 -4
  562. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_buffered_collector.hpp +37 -0
  563. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_create_secret.hpp +38 -0
  564. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_pragma.hpp +4 -7
  565. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_reservoir_sample.hpp +6 -2
  566. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp +1 -2
  567. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_delim_join.hpp +5 -18
  568. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_hash_join.hpp +14 -5
  569. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_iejoin.hpp +2 -2
  570. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_join.hpp +2 -1
  571. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_left_delim_join.hpp +37 -0
  572. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_nested_loop_join.hpp +1 -2
  573. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_piecewise_merge_join.hpp +1 -1
  574. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_range_join.hpp +1 -1
  575. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_right_delim_join.hpp +37 -0
  576. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_order.hpp +0 -1
  577. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_top_n.hpp +0 -1
  578. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_database.hpp +35 -0
  579. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp +8 -3
  580. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_export.hpp +14 -0
  581. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_column_data_scan.hpp +1 -4
  582. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_expression_scan.hpp +0 -1
  583. package/src/duckdb/src/include/duckdb/execution/operator/set/physical_cte.hpp +17 -12
  584. package/src/duckdb/src/include/duckdb/execution/operator/set/physical_recursive_cte.hpp +4 -0
  585. package/src/duckdb/src/include/duckdb/execution/operator/set/physical_union.hpp +3 -1
  586. package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +2 -1
  587. package/src/duckdb/src/include/duckdb/execution/physical_plan_generator.hpp +6 -2
  588. package/src/duckdb/src/include/duckdb/execution/radix_partitioned_hashtable.hpp +3 -1
  589. package/src/duckdb/src/include/duckdb/execution/reservoir_sample.hpp +32 -18
  590. package/src/duckdb/src/include/duckdb/execution/task_error_manager.hpp +57 -0
  591. package/src/duckdb/src/include/duckdb/execution/window_executor.hpp +2 -0
  592. package/src/duckdb/src/include/duckdb/execution/window_segment_tree.hpp +101 -19
  593. package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +46 -14
  594. package/src/duckdb/src/include/duckdb/function/aggregate_state.hpp +6 -2
  595. package/src/duckdb/src/include/duckdb/function/built_in_functions.hpp +1 -0
  596. package/src/duckdb/src/include/duckdb/function/cast/bound_cast_data.hpp +26 -1
  597. package/src/duckdb/src/include/duckdb/function/cast/cast_function_set.hpp +3 -0
  598. package/src/duckdb/src/include/duckdb/function/cast/default_casts.hpp +1 -0
  599. package/src/duckdb/src/include/duckdb/function/cast/vector_cast_helpers.hpp +7 -1
  600. package/src/duckdb/src/include/duckdb/function/compression/compression.hpp +10 -0
  601. package/src/duckdb/src/include/duckdb/function/copy_function.hpp +16 -4
  602. package/src/duckdb/src/include/duckdb/function/function.hpp +12 -7
  603. package/src/duckdb/src/include/duckdb/function/function_binder.hpp +15 -12
  604. package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +4 -3
  605. package/src/duckdb/src/include/duckdb/function/macro_function.hpp +3 -3
  606. package/src/duckdb/src/include/duckdb/function/pragma/pragma_functions.hpp +4 -1
  607. package/src/duckdb/src/include/duckdb/function/scalar/list/contains_or_position.hpp +3 -0
  608. package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +21 -1
  609. package/src/duckdb/src/include/duckdb/function/scalar/sequence_functions.hpp +22 -0
  610. package/src/duckdb/src/include/duckdb/function/scalar/strftime_format.hpp +16 -2
  611. package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +22 -8
  612. package/src/duckdb/src/include/duckdb/function/table/arrow/arrow_duck_schema.hpp +6 -0
  613. package/src/duckdb/src/include/duckdb/function/table/arrow.hpp +35 -3
  614. package/src/duckdb/src/include/duckdb/function/table/list.hpp +1 -0
  615. package/src/duckdb/src/include/duckdb/function/table/range.hpp +12 -0
  616. package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +14 -16
  617. package/src/duckdb/src/include/duckdb/function/table/system_functions.hpp +12 -8
  618. package/src/duckdb/src/include/duckdb/function/table/table_scan.hpp +0 -2
  619. package/src/duckdb/src/include/duckdb/function/table_function.hpp +8 -3
  620. package/src/duckdb/src/include/duckdb/main/appender.hpp +3 -1
  621. package/src/duckdb/src/include/duckdb/main/attached_database.hpp +3 -2
  622. package/src/duckdb/src/include/duckdb/main/buffered_data/buffered_data.hpp +89 -0
  623. package/src/duckdb/src/include/duckdb/main/buffered_data/simple_buffered_data.hpp +53 -0
  624. package/src/duckdb/src/include/duckdb/main/capi/capi_internal.hpp +2 -1
  625. package/src/duckdb/src/include/duckdb/main/capi/cast/generic.hpp +2 -0
  626. package/src/duckdb/src/include/duckdb/main/chunk_scan_state/query_result.hpp +4 -4
  627. package/src/duckdb/src/include/duckdb/main/chunk_scan_state.hpp +3 -3
  628. package/src/duckdb/src/include/duckdb/main/client_config.hpp +8 -10
  629. package/src/duckdb/src/include/duckdb/main/client_context.hpp +22 -23
  630. package/src/duckdb/src/include/duckdb/main/client_context_state.hpp +37 -0
  631. package/src/duckdb/src/include/duckdb/main/client_data.hpp +1 -7
  632. package/src/duckdb/src/include/duckdb/main/config.hpp +24 -7
  633. package/src/duckdb/src/include/duckdb/main/connection.hpp +8 -1
  634. package/src/duckdb/src/include/duckdb/main/connection_manager.hpp +17 -26
  635. package/src/duckdb/src/include/duckdb/main/database.hpp +4 -2
  636. package/src/duckdb/src/include/duckdb/main/database_manager.hpp +39 -7
  637. package/src/duckdb/src/include/duckdb/main/database_path_and_type.hpp +5 -4
  638. package/src/duckdb/src/include/duckdb/main/error_manager.hpp +4 -1
  639. package/src/duckdb/src/include/duckdb/main/extension_entries.hpp +203 -197
  640. package/src/duckdb/src/include/duckdb/main/extension_helper.hpp +42 -16
  641. package/src/duckdb/src/include/duckdb/main/extension_util.hpp +8 -1
  642. package/src/duckdb/src/include/duckdb/main/materialized_query_result.hpp +1 -1
  643. package/src/duckdb/src/include/duckdb/main/pending_query_result.hpp +5 -2
  644. package/src/duckdb/src/include/duckdb/main/prepared_statement.hpp +4 -4
  645. package/src/duckdb/src/include/duckdb/main/prepared_statement_data.hpp +2 -0
  646. package/src/duckdb/src/include/duckdb/main/query_profiler.hpp +0 -32
  647. package/src/duckdb/src/include/duckdb/main/query_result.hpp +13 -12
  648. package/src/duckdb/src/include/duckdb/main/relation/read_csv_relation.hpp +6 -6
  649. package/src/duckdb/src/include/duckdb/main/relation/setop_relation.hpp +3 -1
  650. package/src/duckdb/src/include/duckdb/main/secret/secret.hpp +206 -0
  651. package/src/duckdb/src/include/duckdb/main/secret/secret_manager.hpp +211 -0
  652. package/src/duckdb/src/include/duckdb/main/secret/secret_storage.hpp +164 -0
  653. package/src/duckdb/src/include/duckdb/main/settings.hpp +52 -13
  654. package/src/duckdb/src/include/duckdb/main/stream_query_result.hpp +9 -1
  655. package/src/duckdb/src/include/duckdb/optimizer/deliminator.hpp +4 -1
  656. package/src/duckdb/src/include/duckdb/optimizer/filter_pushdown.hpp +2 -0
  657. package/src/duckdb/src/include/duckdb/optimizer/join_order/join_node.hpp +1 -1
  658. package/src/duckdb/src/include/duckdb/optimizer/join_order/join_relation.hpp +2 -0
  659. package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph_manager.hpp +3 -0
  660. package/src/duckdb/src/include/duckdb/optimizer/join_order/relation_statistics_helper.hpp +1 -0
  661. package/src/duckdb/src/include/duckdb/parallel/event.hpp +2 -2
  662. package/src/duckdb/src/include/duckdb/parallel/meta_pipeline.hpp +14 -22
  663. package/src/duckdb/src/include/duckdb/parallel/pipeline.hpp +20 -0
  664. package/src/duckdb/src/include/duckdb/parallel/pipeline_executor.hpp +3 -5
  665. package/src/duckdb/src/include/duckdb/parallel/task.hpp +7 -0
  666. package/src/duckdb/src/include/duckdb/parallel/task_scheduler.hpp +10 -4
  667. package/src/duckdb/src/include/duckdb/parser/base_expression.hpp +3 -0
  668. package/src/duckdb/src/include/duckdb/parser/column_definition.hpp +8 -1
  669. package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +11 -4
  670. package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +16 -9
  671. package/src/duckdb/src/include/duckdb/parser/expression/lambdaref_expression.hpp +47 -0
  672. package/src/duckdb/src/include/duckdb/parser/expression/list.hpp +1 -0
  673. package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +29 -2
  674. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_info.hpp +2 -1
  675. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +47 -2
  676. package/src/duckdb/src/include/duckdb/parser/parsed_data/attach_info.hpp +3 -0
  677. package/src/duckdb/src/include/duckdb/parser/parsed_data/bound_pragma_info.hpp +29 -0
  678. package/src/duckdb/src/include/duckdb/parser/parsed_data/comment_on_info.hpp +45 -0
  679. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +21 -22
  680. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_info.hpp +5 -11
  681. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_schema_info.hpp +23 -0
  682. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_secret_info.hpp +47 -0
  683. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_table_info.hpp +3 -1
  684. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_type_info.hpp +2 -0
  685. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_view_info.hpp +4 -0
  686. package/src/duckdb/src/include/duckdb/parser/parsed_data/drop_info.hpp +6 -1
  687. package/src/duckdb/src/include/duckdb/parser/parsed_data/extra_drop_info.hpp +66 -0
  688. package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +3 -1
  689. package/src/duckdb/src/include/duckdb/parser/parsed_data/pragma_info.hpp +8 -4
  690. package/src/duckdb/src/include/duckdb/parser/parsed_expression.hpp +1 -3
  691. package/src/duckdb/src/include/duckdb/parser/parser_extension.hpp +2 -0
  692. package/src/duckdb/src/include/duckdb/parser/qualified_name.hpp +1 -1
  693. package/src/duckdb/src/include/duckdb/parser/query_error_context.hpp +5 -22
  694. package/src/duckdb/src/include/duckdb/parser/query_node/set_operation_node.hpp +2 -0
  695. package/src/duckdb/src/include/duckdb/parser/statement/copy_database_statement.hpp +40 -0
  696. package/src/duckdb/src/include/duckdb/parser/statement/list.hpp +1 -1
  697. package/src/duckdb/src/include/duckdb/parser/statement/set_statement.hpp +4 -3
  698. package/src/duckdb/src/include/duckdb/parser/tableref/emptytableref.hpp +2 -2
  699. package/src/duckdb/src/include/duckdb/parser/tableref/list.hpp +1 -0
  700. package/src/duckdb/src/include/duckdb/parser/tableref/showref.hpp +47 -0
  701. package/src/duckdb/src/include/duckdb/parser/tableref.hpp +2 -1
  702. package/src/duckdb/src/include/duckdb/parser/tokens.hpp +2 -1
  703. package/src/duckdb/src/include/duckdb/parser/transformer.hpp +20 -3
  704. package/src/duckdb/src/include/duckdb/planner/bind_context.hpp +5 -1
  705. package/src/duckdb/src/include/duckdb/planner/binder.hpp +24 -27
  706. package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +4 -0
  707. package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +4 -0
  708. package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +4 -1
  709. package/src/duckdb/src/include/duckdb/planner/expression/bound_function_expression.hpp +2 -1
  710. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +4 -2
  711. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +5 -6
  712. package/src/duckdb/src/include/duckdb/planner/expression/bound_window_expression.hpp +11 -0
  713. package/src/duckdb/src/include/duckdb/planner/expression.hpp +2 -1
  714. package/src/duckdb/src/include/duckdb/planner/expression_binder/column_alias_binder.hpp +2 -2
  715. package/src/duckdb/src/include/duckdb/planner/expression_binder/index_binder.hpp +3 -2
  716. package/src/duckdb/src/include/duckdb/planner/expression_binder/order_binder.hpp +2 -1
  717. package/src/duckdb/src/include/duckdb/planner/expression_binder/table_function_binder.hpp +2 -1
  718. package/src/duckdb/src/include/duckdb/planner/expression_binder.hpp +65 -22
  719. package/src/duckdb/src/include/duckdb/planner/filter/struct_filter.hpp +41 -0
  720. package/src/duckdb/src/include/duckdb/planner/logical_tokens.hpp +2 -1
  721. package/src/duckdb/src/include/duckdb/planner/operator/list.hpp +2 -1
  722. package/src/duckdb/src/include/duckdb/planner/operator/logical_comparison_join.hpp +2 -0
  723. package/src/duckdb/src/include/duckdb/planner/operator/logical_copy_database.hpp +45 -0
  724. package/src/duckdb/src/include/duckdb/planner/operator/logical_copy_to_file.hpp +3 -0
  725. package/src/duckdb/src/include/duckdb/planner/operator/logical_create_secret.hpp +43 -0
  726. package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +3 -2
  727. package/src/duckdb/src/include/duckdb/planner/operator/logical_pragma.hpp +5 -10
  728. package/src/duckdb/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +2 -0
  729. package/src/duckdb/src/include/duckdb/planner/operator/logical_set_operation.hpp +11 -4
  730. package/src/duckdb/src/include/duckdb/planner/parsed_data/bound_create_table_info.hpp +3 -3
  731. package/src/duckdb/src/include/duckdb/planner/pragma_handler.hpp +1 -1
  732. package/src/duckdb/src/include/duckdb/planner/query_node/bound_set_operation_node.hpp +2 -0
  733. package/src/duckdb/src/include/duckdb/planner/subquery/flatten_dependent_join.hpp +3 -0
  734. package/src/duckdb/src/include/duckdb/planner/subquery/rewrite_cte_scan.hpp +29 -0
  735. package/src/duckdb/src/include/duckdb/planner/table_binding.hpp +9 -7
  736. package/src/duckdb/src/include/duckdb/planner/table_filter.hpp +2 -1
  737. package/src/duckdb/src/include/duckdb/planner/tableref/bound_dummytableref.hpp +3 -2
  738. package/src/duckdb/src/include/duckdb/storage/buffer/block_handle.hpp +9 -5
  739. package/src/duckdb/src/include/duckdb/storage/buffer/buffer_pool.hpp +23 -6
  740. package/src/duckdb/src/include/duckdb/storage/buffer/temporary_file_information.hpp +7 -0
  741. package/src/duckdb/src/include/duckdb/storage/buffer_manager.hpp +11 -4
  742. package/src/duckdb/src/include/duckdb/storage/checkpoint/row_group_writer.hpp +0 -3
  743. package/src/duckdb/src/include/duckdb/storage/checkpoint/string_checkpoint_state.hpp +1 -1
  744. package/src/duckdb/src/include/duckdb/storage/checkpoint/table_data_writer.hpp +7 -7
  745. package/src/duckdb/src/include/duckdb/storage/checkpoint_manager.hpp +1 -1
  746. package/src/duckdb/src/include/duckdb/storage/compression/alp/algorithm/alp.hpp +408 -0
  747. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_analyze.hpp +173 -0
  748. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_compress.hpp +283 -0
  749. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_constants.hpp +134 -0
  750. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_fetch.hpp +42 -0
  751. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_scan.hpp +244 -0
  752. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_utils.hpp +103 -0
  753. package/src/duckdb/src/include/duckdb/storage/compression/alprd/algorithm/alprd.hpp +235 -0
  754. package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_analyze.hpp +134 -0
  755. package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_compress.hpp +301 -0
  756. package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_constants.hpp +35 -0
  757. package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_fetch.hpp +41 -0
  758. package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_scan.hpp +252 -0
  759. package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_analyze.hpp +7 -103
  760. package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_compress.hpp +5 -234
  761. package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_scan.hpp +2 -2
  762. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_analyze.hpp +7 -107
  763. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_compress.hpp +5 -184
  764. package/src/duckdb/src/include/duckdb/storage/data_table.hpp +12 -17
  765. package/src/duckdb/src/include/duckdb/storage/database_size.hpp +1 -0
  766. package/src/duckdb/src/include/duckdb/storage/index.hpp +40 -42
  767. package/src/duckdb/src/include/duckdb/storage/index_storage_info.hpp +77 -0
  768. package/src/duckdb/src/include/duckdb/storage/metadata/metadata_manager.hpp +6 -2
  769. package/src/duckdb/src/include/duckdb/storage/object_cache.hpp +0 -1
  770. package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +12 -6
  771. package/src/duckdb/src/include/duckdb/storage/segment/uncompressed.hpp +8 -3
  772. package/src/duckdb/src/include/duckdb/storage/standard_buffer_manager.hpp +17 -17
  773. package/src/duckdb/src/include/duckdb/storage/statistics/array_stats.hpp +40 -0
  774. package/src/duckdb/src/include/duckdb/storage/statistics/base_statistics.hpp +12 -3
  775. package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats_union.hpp +3 -0
  776. package/src/duckdb/src/include/duckdb/storage/storage_extension.hpp +3 -2
  777. package/src/duckdb/src/include/duckdb/storage/storage_info.hpp +49 -24
  778. package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +8 -4
  779. package/src/duckdb/src/include/duckdb/storage/table/array_column_data.hpp +67 -0
  780. package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +3 -3
  781. package/src/duckdb/src/include/duckdb/storage/table/column_data_checkpointer.hpp +1 -0
  782. package/src/duckdb/src/include/duckdb/storage/table/column_segment.hpp +1 -2
  783. package/src/duckdb/src/include/duckdb/storage/table/data_table_info.hpp +8 -3
  784. package/src/duckdb/src/include/duckdb/storage/table/list_column_data.hpp +1 -1
  785. package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +4 -2
  786. package/src/duckdb/src/include/duckdb/storage/table/row_group_collection.hpp +7 -0
  787. package/src/duckdb/src/include/duckdb/storage/table/scan_state.hpp +12 -1
  788. package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +1 -1
  789. package/src/duckdb/src/include/duckdb/storage/table/struct_column_data.hpp +1 -1
  790. package/src/duckdb/src/include/duckdb/storage/table/table_index_list.hpp +16 -12
  791. package/src/duckdb/src/include/duckdb/storage/table/table_statistics.hpp +4 -0
  792. package/src/duckdb/src/include/duckdb/storage/table_storage_info.hpp +6 -9
  793. package/src/duckdb/src/include/duckdb/storage/temporary_memory_manager.hpp +119 -0
  794. package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +13 -55
  795. package/src/duckdb/src/include/duckdb/transaction/duck_transaction.hpp +1 -1
  796. package/src/duckdb/src/include/duckdb/transaction/duck_transaction_manager.hpp +4 -5
  797. package/src/duckdb/src/include/duckdb/transaction/local_storage.hpp +2 -2
  798. package/src/duckdb/src/include/duckdb/transaction/meta_transaction.hpp +6 -3
  799. package/src/duckdb/src/include/duckdb/transaction/transaction_context.hpp +4 -4
  800. package/src/duckdb/src/include/duckdb/transaction/transaction_manager.hpp +3 -3
  801. package/src/duckdb/src/include/duckdb/verification/fetch_row_verifier.hpp +25 -0
  802. package/src/duckdb/src/include/duckdb/verification/statement_verifier.hpp +5 -0
  803. package/src/duckdb/src/include/duckdb.h +571 -143
  804. package/src/duckdb/src/main/appender.cpp +17 -2
  805. package/src/duckdb/src/main/attached_database.cpp +24 -12
  806. package/src/duckdb/src/main/buffered_data/simple_buffered_data.cpp +96 -0
  807. package/src/duckdb/src/main/capi/appender-c.cpp +42 -3
  808. package/src/duckdb/src/main/capi/arrow-c.cpp +32 -9
  809. package/src/duckdb/src/main/capi/datetime-c.cpp +22 -0
  810. package/src/duckdb/src/main/capi/duckdb-c.cpp +14 -4
  811. package/src/duckdb/src/main/capi/duckdb_value-c.cpp +66 -2
  812. package/src/duckdb/src/main/capi/helper-c.cpp +76 -2
  813. package/src/duckdb/src/main/capi/hugeint-c.cpp +23 -0
  814. package/src/duckdb/src/main/capi/logical_types-c.cpp +27 -3
  815. package/src/duckdb/src/main/capi/pending-c.cpp +43 -9
  816. package/src/duckdb/src/main/capi/prepared-c.cpp +38 -2
  817. package/src/duckdb/src/main/capi/result-c.cpp +54 -3
  818. package/src/duckdb/src/main/capi/table_function-c.cpp +4 -4
  819. package/src/duckdb/src/main/capi/value-c.cpp +10 -0
  820. package/src/duckdb/src/main/chunk_scan_state/query_result.cpp +3 -3
  821. package/src/duckdb/src/main/client_context.cpp +259 -250
  822. package/src/duckdb/src/main/client_data.cpp +0 -1
  823. package/src/duckdb/src/main/client_verify.cpp +26 -8
  824. package/src/duckdb/src/main/config.cpp +34 -13
  825. package/src/duckdb/src/main/connection.cpp +27 -6
  826. package/src/duckdb/src/main/connection_manager.cpp +54 -0
  827. package/src/duckdb/src/main/database.cpp +44 -39
  828. package/src/duckdb/src/main/database_manager.cpp +106 -8
  829. package/src/duckdb/src/main/database_path_and_type.cpp +27 -8
  830. package/src/duckdb/src/main/db_instance_cache.cpp +4 -4
  831. package/src/duckdb/src/main/error_manager.cpp +12 -3
  832. package/src/duckdb/src/main/extension/extension_alias.cpp +2 -2
  833. package/src/duckdb/src/main/extension/extension_helper.cpp +15 -16
  834. package/src/duckdb/src/main/extension/extension_install.cpp +33 -24
  835. package/src/duckdb/src/main/extension/extension_load.cpp +22 -21
  836. package/src/duckdb/src/main/extension/extension_util.cpp +12 -0
  837. package/src/duckdb/src/main/materialized_query_result.cpp +1 -1
  838. package/src/duckdb/src/main/pending_query_result.cpp +25 -8
  839. package/src/duckdb/src/main/prepared_statement.cpp +5 -5
  840. package/src/duckdb/src/main/prepared_statement_data.cpp +8 -1
  841. package/src/duckdb/src/main/query_profiler.cpp +11 -11
  842. package/src/duckdb/src/main/query_result.cpp +32 -6
  843. package/src/duckdb/src/main/relation/cross_product_relation.cpp +1 -1
  844. package/src/duckdb/src/main/relation/join_relation.cpp +2 -2
  845. package/src/duckdb/src/main/relation/read_csv_relation.cpp +38 -32
  846. package/src/duckdb/src/main/relation/setop_relation.cpp +5 -3
  847. package/src/duckdb/src/main/relation.cpp +5 -5
  848. package/src/duckdb/src/main/secret/secret.cpp +135 -0
  849. package/src/duckdb/src/main/secret/secret_manager.cpp +634 -0
  850. package/src/duckdb/src/main/secret/secret_storage.cpp +233 -0
  851. package/src/duckdb/src/main/settings/settings.cpp +133 -38
  852. package/src/duckdb/src/main/stream_query_result.cpp +53 -14
  853. package/src/duckdb/src/optimizer/column_lifetime_analyzer.cpp +6 -0
  854. package/src/duckdb/src/optimizer/cse_optimizer.cpp +1 -1
  855. package/src/duckdb/src/optimizer/deliminator.cpp +136 -14
  856. package/src/duckdb/src/optimizer/filter_combiner.cpp +72 -26
  857. package/src/duckdb/src/optimizer/filter_pushdown.cpp +3 -0
  858. package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +2 -1
  859. package/src/duckdb/src/optimizer/join_order/cost_model.cpp +0 -1
  860. package/src/duckdb/src/optimizer/join_order/join_node.cpp +4 -0
  861. package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +3 -6
  862. package/src/duckdb/src/optimizer/join_order/join_relation_set.cpp +20 -0
  863. package/src/duckdb/src/optimizer/join_order/query_graph_manager.cpp +71 -40
  864. package/src/duckdb/src/optimizer/join_order/relation_manager.cpp +12 -3
  865. package/src/duckdb/src/optimizer/join_order/relation_statistics_helper.cpp +77 -3
  866. package/src/duckdb/src/optimizer/pushdown/pushdown_projection.cpp +7 -7
  867. package/src/duckdb/src/optimizer/pushdown/pushdown_semi_anti_join.cpp +56 -0
  868. package/src/duckdb/src/optimizer/remove_unused_columns.cpp +21 -0
  869. package/src/duckdb/src/optimizer/rule/date_part_simplification.cpp +2 -2
  870. package/src/duckdb/src/optimizer/rule/move_constants.cpp +15 -10
  871. package/src/duckdb/src/optimizer/rule/ordered_aggregate_optimizer.cpp +70 -0
  872. package/src/duckdb/src/optimizer/rule/regex_optimizations.cpp +17 -5
  873. package/src/duckdb/src/optimizer/statistics/expression/propagate_cast.cpp +1 -0
  874. package/src/duckdb/src/optimizer/statistics/expression/propagate_comparison.cpp +1 -0
  875. package/src/duckdb/src/optimizer/statistics/operator/propagate_filter.cpp +1 -2
  876. package/src/duckdb/src/optimizer/statistics/operator/propagate_join.cpp +22 -9
  877. package/src/duckdb/src/optimizer/statistics/operator/propagate_window.cpp +28 -4
  878. package/src/duckdb/src/optimizer/unnest_rewriter.cpp +12 -7
  879. package/src/duckdb/src/parallel/event.cpp +2 -2
  880. package/src/duckdb/src/parallel/executor.cpp +114 -81
  881. package/src/duckdb/src/parallel/executor_task.cpp +2 -4
  882. package/src/duckdb/src/parallel/meta_pipeline.cpp +28 -29
  883. package/src/duckdb/src/parallel/pipeline.cpp +41 -41
  884. package/src/duckdb/src/parallel/pipeline_event.cpp +2 -4
  885. package/src/duckdb/src/parallel/pipeline_executor.cpp +13 -75
  886. package/src/duckdb/src/parallel/task_scheduler.cpp +22 -13
  887. package/src/duckdb/src/parser/column_definition.cpp +22 -4
  888. package/src/duckdb/src/parser/column_list.cpp +2 -1
  889. package/src/duckdb/src/parser/expression/function_expression.cpp +1 -1
  890. package/src/duckdb/src/parser/expression/lambda_expression.cpp +51 -0
  891. package/src/duckdb/src/parser/expression/lambdaref_expression.cpp +59 -0
  892. package/src/duckdb/src/parser/expression/window_expression.cpp +9 -1
  893. package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +40 -0
  894. package/src/duckdb/src/parser/parsed_data/attach_info.cpp +1 -0
  895. package/src/duckdb/src/parser/parsed_data/comment_on_info.cpp +19 -0
  896. package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +11 -9
  897. package/src/duckdb/src/parser/parsed_data/create_info.cpp +1 -0
  898. package/src/duckdb/src/parser/parsed_data/create_secret_info.cpp +22 -0
  899. package/src/duckdb/src/parser/parsed_data/create_table_info.cpp +17 -0
  900. package/src/duckdb/src/parser/parsed_data/create_type_info.cpp +19 -0
  901. package/src/duckdb/src/parser/parsed_data/create_view_info.cpp +13 -9
  902. package/src/duckdb/src/parser/parsed_data/drop_info.cpp +8 -9
  903. package/src/duckdb/src/parser/parsed_data/extra_drop_info.cpp +16 -0
  904. package/src/duckdb/src/parser/parsed_expression_iterator.cpp +3 -1
  905. package/src/duckdb/src/parser/parser.cpp +14 -8
  906. package/src/duckdb/src/parser/query_error_context.cpp +12 -13
  907. package/src/duckdb/src/parser/query_node/select_node.cpp +5 -1
  908. package/src/duckdb/src/parser/query_node/set_operation_node.cpp +8 -13
  909. package/src/duckdb/src/parser/statement/copy_database_statement.cpp +41 -0
  910. package/src/duckdb/src/parser/statement/set_statement.cpp +5 -1
  911. package/src/duckdb/src/parser/tableref/basetableref.cpp +1 -0
  912. package/src/duckdb/src/parser/tableref/showref.cpp +47 -0
  913. package/src/duckdb/src/parser/transform/constraint/transform_constraint.cpp +6 -2
  914. package/src/duckdb/src/parser/transform/expression/transform_bool_expr.cpp +1 -0
  915. package/src/duckdb/src/parser/transform/expression/transform_boolean_test.cpp +30 -15
  916. package/src/duckdb/src/parser/transform/expression/transform_case.cpp +1 -0
  917. package/src/duckdb/src/parser/transform/expression/transform_columnref.cpp +3 -2
  918. package/src/duckdb/src/parser/transform/expression/transform_constant.cpp +34 -4
  919. package/src/duckdb/src/parser/transform/expression/transform_function.cpp +26 -12
  920. package/src/duckdb/src/parser/transform/expression/transform_grouping_function.cpp +1 -1
  921. package/src/duckdb/src/parser/transform/expression/transform_interval.cpp +34 -5
  922. package/src/duckdb/src/parser/transform/expression/transform_is_null.cpp +3 -1
  923. package/src/duckdb/src/parser/transform/expression/transform_lambda.cpp +3 -1
  924. package/src/duckdb/src/parser/transform/expression/transform_multi_assign_reference.cpp +3 -3
  925. package/src/duckdb/src/parser/transform/expression/transform_operator.cpp +3 -3
  926. package/src/duckdb/src/parser/transform/expression/transform_positional_reference.cpp +1 -1
  927. package/src/duckdb/src/parser/transform/expression/transform_subquery.cpp +13 -13
  928. package/src/duckdb/src/parser/transform/helpers/nodetype_to_string.cpp +2 -0
  929. package/src/duckdb/src/parser/transform/helpers/transform_cte.cpp +1 -1
  930. package/src/duckdb/src/parser/transform/helpers/transform_typename.cpp +32 -1
  931. package/src/duckdb/src/parser/transform/statement/transform_alter_table.cpp +1 -1
  932. package/src/duckdb/src/parser/transform/statement/transform_attach.cpp +1 -0
  933. package/src/duckdb/src/parser/transform/statement/transform_comment_on.cpp +108 -0
  934. package/src/duckdb/src/parser/transform/statement/transform_copy.cpp +45 -37
  935. package/src/duckdb/src/parser/transform/statement/transform_copy_database.cpp +29 -0
  936. package/src/duckdb/src/parser/transform/statement/transform_create_index.cpp +5 -14
  937. package/src/duckdb/src/parser/transform/statement/transform_create_table.cpp +0 -1
  938. package/src/duckdb/src/parser/transform/statement/transform_delete.cpp +1 -1
  939. package/src/duckdb/src/parser/transform/statement/transform_drop.cpp +25 -6
  940. package/src/duckdb/src/parser/transform/statement/transform_import.cpp +2 -1
  941. package/src/duckdb/src/parser/transform/statement/transform_pragma.cpp +6 -14
  942. package/src/duckdb/src/parser/transform/statement/transform_secret.cpp +103 -0
  943. package/src/duckdb/src/parser/transform/statement/transform_select.cpp +8 -1
  944. package/src/duckdb/src/parser/transform/statement/transform_select_node.cpp +4 -8
  945. package/src/duckdb/src/parser/transform/statement/transform_set.cpp +18 -5
  946. package/src/duckdb/src/parser/transform/statement/transform_show.cpp +14 -41
  947. package/src/duckdb/src/parser/transform/statement/transform_show_select.cpp +13 -6
  948. package/src/duckdb/src/parser/transform/statement/transform_use.cpp +3 -1
  949. package/src/duckdb/src/parser/transform/tableref/transform_base_tableref.cpp +1 -1
  950. package/src/duckdb/src/parser/transform/tableref/transform_join.cpp +1 -2
  951. package/src/duckdb/src/parser/transform/tableref/transform_pivot.cpp +6 -5
  952. package/src/duckdb/src/parser/transform/tableref/transform_table_function.cpp +1 -1
  953. package/src/duckdb/src/parser/transformer.cpp +22 -0
  954. package/src/duckdb/src/planner/bind_context.cpp +23 -14
  955. package/src/duckdb/src/planner/binder/expression/bind_aggregate_expression.cpp +15 -14
  956. package/src/duckdb/src/planner/binder/expression/bind_between_expression.cpp +20 -9
  957. package/src/duckdb/src/planner/binder/expression/bind_case_expression.cpp +12 -7
  958. package/src/duckdb/src/planner/binder/expression/bind_cast_expression.cpp +4 -4
  959. package/src/duckdb/src/planner/binder/expression/bind_collate_expression.cpp +3 -3
  960. package/src/duckdb/src/planner/binder/expression/bind_columnref_expression.cpp +279 -195
  961. package/src/duckdb/src/planner/binder/expression/bind_comparison_expression.cpp +103 -17
  962. package/src/duckdb/src/planner/binder/expression/bind_conjunction_expression.cpp +3 -3
  963. package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +91 -68
  964. package/src/duckdb/src/planner/binder/expression/bind_lambda.cpp +116 -84
  965. package/src/duckdb/src/planner/binder/expression/bind_macro_expression.cpp +85 -15
  966. package/src/duckdb/src/planner/binder/expression/bind_operator_expression.cpp +68 -31
  967. package/src/duckdb/src/planner/binder/expression/bind_star_expression.cpp +7 -7
  968. package/src/duckdb/src/planner/binder/expression/bind_subquery_expression.cpp +11 -7
  969. package/src/duckdb/src/planner/binder/expression/bind_unnest_expression.cpp +42 -19
  970. package/src/duckdb/src/planner/binder/expression/bind_window_expression.cpp +38 -16
  971. package/src/duckdb/src/planner/binder/query_node/bind_cte_node.cpp +16 -7
  972. package/src/duckdb/src/planner/binder/query_node/bind_recursive_cte_node.cpp +3 -0
  973. package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +83 -12
  974. package/src/duckdb/src/planner/binder/query_node/bind_setop_node.cpp +28 -37
  975. package/src/duckdb/src/planner/binder/query_node/bind_table_macro_node.cpp +3 -4
  976. package/src/duckdb/src/planner/binder/query_node/plan_cte_node.cpp +2 -2
  977. package/src/duckdb/src/planner/binder/query_node/plan_recursive_cte_node.cpp +3 -3
  978. package/src/duckdb/src/planner/binder/query_node/plan_setop.cpp +7 -5
  979. package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +10 -0
  980. package/src/duckdb/src/planner/binder/statement/bind_copy.cpp +48 -50
  981. package/src/duckdb/src/planner/binder/statement/bind_copy_database.cpp +187 -0
  982. package/src/duckdb/src/planner/binder/statement/bind_create.cpp +38 -22
  983. package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +8 -15
  984. package/src/duckdb/src/planner/binder/statement/bind_drop.cpp +6 -1
  985. package/src/duckdb/src/planner/binder/statement/bind_export.cpp +2 -2
  986. package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +12 -10
  987. package/src/duckdb/src/planner/binder/statement/bind_pragma.cpp +37 -13
  988. package/src/duckdb/src/planner/binder/statement/bind_set.cpp +8 -2
  989. package/src/duckdb/src/planner/binder/statement/bind_simple.cpp +2 -0
  990. package/src/duckdb/src/planner/binder/statement/bind_summarize.cpp +29 -14
  991. package/src/duckdb/src/planner/binder/statement/bind_vacuum.cpp +1 -1
  992. package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +16 -6
  993. package/src/duckdb/src/planner/binder/tableref/bind_expressionlistref.cpp +11 -4
  994. package/src/duckdb/src/planner/binder/tableref/bind_joinref.cpp +1 -1
  995. package/src/duckdb/src/planner/binder/tableref/bind_named_parameters.cpp +2 -2
  996. package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +18 -17
  997. package/src/duckdb/src/planner/binder/tableref/bind_showref.cpp +85 -0
  998. package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +11 -17
  999. package/src/duckdb/src/planner/binder/tableref/plan_cteref.cpp +1 -9
  1000. package/src/duckdb/src/planner/binder.cpp +31 -26
  1001. package/src/duckdb/src/planner/bound_result_modifier.cpp +24 -0
  1002. package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +1 -1
  1003. package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +10 -1
  1004. package/src/duckdb/src/planner/expression/bound_function_expression.cpp +20 -4
  1005. package/src/duckdb/src/planner/expression/bound_lambdaref_expression.cpp +9 -10
  1006. package/src/duckdb/src/planner/expression/bound_window_expression.cpp +65 -3
  1007. package/src/duckdb/src/planner/expression.cpp +15 -5
  1008. package/src/duckdb/src/planner/expression_binder/base_select_binder.cpp +5 -6
  1009. package/src/duckdb/src/planner/expression_binder/check_binder.cpp +9 -8
  1010. package/src/duckdb/src/planner/expression_binder/column_alias_binder.cpp +10 -7
  1011. package/src/duckdb/src/planner/expression_binder/having_binder.cpp +9 -4
  1012. package/src/duckdb/src/planner/expression_binder/index_binder.cpp +0 -25
  1013. package/src/duckdb/src/planner/expression_binder/order_binder.cpp +8 -11
  1014. package/src/duckdb/src/planner/expression_binder/qualify_binder.cpp +3 -2
  1015. package/src/duckdb/src/planner/expression_binder/table_function_binder.cpp +15 -8
  1016. package/src/duckdb/src/planner/expression_binder/where_binder.cpp +3 -4
  1017. package/src/duckdb/src/planner/expression_binder.cpp +51 -25
  1018. package/src/duckdb/src/planner/expression_iterator.cpp +2 -1
  1019. package/src/duckdb/src/planner/filter/constant_filter.cpp +1 -0
  1020. package/src/duckdb/src/planner/filter/struct_filter.cpp +33 -0
  1021. package/src/duckdb/src/planner/joinside.cpp +1 -1
  1022. package/src/duckdb/src/planner/logical_operator.cpp +2 -1
  1023. package/src/duckdb/src/planner/operator/logical_copy_database.cpp +32 -0
  1024. package/src/duckdb/src/planner/operator/logical_copy_to_file.cpp +13 -4
  1025. package/src/duckdb/src/planner/operator/logical_create_table.cpp +2 -0
  1026. package/src/duckdb/src/planner/operator/logical_get.cpp +4 -1
  1027. package/src/duckdb/src/planner/operator/logical_join.cpp +8 -0
  1028. package/src/duckdb/src/planner/planner.cpp +24 -23
  1029. package/src/duckdb/src/planner/pragma_handler.cpp +10 -19
  1030. package/src/duckdb/src/planner/subquery/flatten_dependent_join.cpp +99 -6
  1031. package/src/duckdb/src/planner/subquery/rewrite_cte_scan.cpp +36 -0
  1032. package/src/duckdb/src/planner/table_binding.cpp +14 -12
  1033. package/src/duckdb/src/storage/buffer/block_handle.cpp +12 -10
  1034. package/src/duckdb/src/storage/buffer/block_manager.cpp +1 -1
  1035. package/src/duckdb/src/storage/buffer/buffer_pool.cpp +25 -9
  1036. package/src/duckdb/src/storage/buffer/buffer_pool_reservation.cpp +4 -3
  1037. package/src/duckdb/src/storage/buffer_manager.cpp +14 -3
  1038. package/src/duckdb/src/storage/checkpoint/row_group_writer.cpp +0 -8
  1039. package/src/duckdb/src/storage/checkpoint/table_data_writer.cpp +15 -7
  1040. package/src/duckdb/src/storage/checkpoint/write_overflow_strings_to_disk.cpp +1 -1
  1041. package/src/duckdb/src/storage/checkpoint_manager.cpp +94 -41
  1042. package/src/duckdb/src/storage/compression/alp/alp.cpp +57 -0
  1043. package/src/duckdb/src/storage/compression/alp/alp_constants.cpp +13 -0
  1044. package/src/duckdb/src/storage/compression/alprd.cpp +57 -0
  1045. package/src/duckdb/src/storage/compression/bitpacking.cpp +86 -55
  1046. package/src/duckdb/src/storage/compression/bitpacking_hugeint.cpp +41 -41
  1047. package/src/duckdb/src/storage/compression/dictionary_compression.cpp +1 -3
  1048. package/src/duckdb/src/storage/compression/fixed_size_uncompressed.cpp +2 -0
  1049. package/src/duckdb/src/storage/compression/fsst.cpp +4 -4
  1050. package/src/duckdb/src/storage/compression/numeric_constant.cpp +3 -0
  1051. package/src/duckdb/src/storage/compression/rle.cpp +6 -4
  1052. package/src/duckdb/src/storage/compression/string_uncompressed.cpp +7 -7
  1053. package/src/duckdb/src/storage/compression/uncompressed.cpp +1 -0
  1054. package/src/duckdb/src/storage/compression/validity_uncompressed.cpp +6 -6
  1055. package/src/duckdb/src/storage/data_table.cpp +32 -96
  1056. package/src/duckdb/src/storage/index.cpp +23 -11
  1057. package/src/duckdb/src/storage/local_storage.cpp +36 -19
  1058. package/src/duckdb/src/storage/metadata/metadata_manager.cpp +2 -2
  1059. package/src/duckdb/src/storage/partial_block_manager.cpp +1 -1
  1060. package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +9 -4
  1061. package/src/duckdb/src/storage/serialization/serialize_expression.cpp +3 -3
  1062. package/src/duckdb/src/storage/serialization/serialize_extra_drop_info.cpp +42 -0
  1063. package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +7 -17
  1064. package/src/duckdb/src/storage/serialization/serialize_macro_function.cpp +2 -2
  1065. package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +84 -77
  1066. package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +63 -4
  1067. package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +23 -0
  1068. package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +2 -0
  1069. package/src/duckdb/src/storage/serialization/serialize_storage.cpp +35 -0
  1070. package/src/duckdb/src/storage/serialization/serialize_table_filter.cpp +19 -0
  1071. package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +22 -1
  1072. package/src/duckdb/src/storage/serialization/serialize_types.cpp +50 -0
  1073. package/src/duckdb/src/storage/single_file_block_manager.cpp +46 -7
  1074. package/src/duckdb/src/storage/standard_buffer_manager.cpp +57 -28
  1075. package/src/duckdb/src/storage/statistics/array_stats.cpp +131 -0
  1076. package/src/duckdb/src/storage/statistics/base_statistics.cpp +62 -4
  1077. package/src/duckdb/src/storage/statistics/column_statistics.cpp +1 -0
  1078. package/src/duckdb/src/storage/statistics/distinct_statistics.cpp +3 -1
  1079. package/src/duckdb/src/storage/statistics/numeric_stats.cpp +21 -0
  1080. package/src/duckdb/src/storage/statistics/numeric_stats_union.cpp +5 -0
  1081. package/src/duckdb/src/storage/statistics/string_stats.cpp +2 -2
  1082. package/src/duckdb/src/storage/storage_info.cpp +1 -1
  1083. package/src/duckdb/src/storage/storage_manager.cpp +47 -22
  1084. package/src/duckdb/src/storage/table/array_column_data.cpp +241 -0
  1085. package/src/duckdb/src/storage/table/chunk_info.cpp +2 -1
  1086. package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +3 -1
  1087. package/src/duckdb/src/storage/table/column_data.cpp +41 -18
  1088. package/src/duckdb/src/storage/table/column_data_checkpointer.cpp +12 -3
  1089. package/src/duckdb/src/storage/table/column_segment.cpp +40 -6
  1090. package/src/duckdb/src/storage/table/list_column_data.cpp +18 -15
  1091. package/src/duckdb/src/storage/table/row_group.cpp +73 -21
  1092. package/src/duckdb/src/storage/table/row_group_collection.cpp +395 -20
  1093. package/src/duckdb/src/storage/table/row_version_manager.cpp +2 -1
  1094. package/src/duckdb/src/storage/table/scan_state.cpp +4 -0
  1095. package/src/duckdb/src/storage/table/standard_column_data.cpp +11 -5
  1096. package/src/duckdb/src/storage/table/struct_column_data.cpp +30 -10
  1097. package/src/duckdb/src/storage/table/table_statistics.cpp +7 -1
  1098. package/src/duckdb/src/storage/table/update_segment.cpp +18 -2
  1099. package/src/duckdb/src/storage/table_index_list.cpp +73 -7
  1100. package/src/duckdb/src/storage/temporary_memory_manager.cpp +148 -0
  1101. package/src/duckdb/src/storage/wal_replay.cpp +329 -152
  1102. package/src/duckdb/src/storage/write_ahead_log.cpp +157 -137
  1103. package/src/duckdb/src/transaction/cleanup_state.cpp +3 -2
  1104. package/src/duckdb/src/transaction/commit_state.cpp +89 -63
  1105. package/src/duckdb/src/transaction/duck_transaction.cpp +5 -3
  1106. package/src/duckdb/src/transaction/duck_transaction_manager.cpp +26 -54
  1107. package/src/duckdb/src/transaction/meta_transaction.cpp +37 -23
  1108. package/src/duckdb/src/transaction/transaction_context.cpp +23 -4
  1109. package/src/duckdb/src/transaction/undo_buffer.cpp +16 -2
  1110. package/src/duckdb/src/verification/fetch_row_verifier.cpp +13 -0
  1111. package/src/duckdb/src/verification/prepared_statement_verifier.cpp +5 -7
  1112. package/src/duckdb/src/verification/statement_verifier.cpp +6 -5
  1113. package/src/duckdb/third_party/fast_float/fast_float/fast_float.h +100 -29
  1114. package/src/duckdb/third_party/fmt/include/fmt/format-inl.h +1 -1
  1115. package/src/duckdb/third_party/fmt/include/fmt/format.h +4 -2
  1116. package/src/duckdb/third_party/fmt/include/fmt/printf.h +5 -5
  1117. package/src/duckdb/third_party/libpg_query/include/nodes/nodes.hpp +4 -0
  1118. package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +82 -21
  1119. package/src/duckdb/third_party/libpg_query/include/parser/gram.hpp +551 -1004
  1120. package/src/duckdb/third_party/libpg_query/include/parser/kwlist.hpp +17 -3
  1121. package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +24861 -23465
  1122. package/src/duckdb/third_party/libpg_query/src_backend_parser_scan.cpp +420 -389
  1123. package/src/duckdb/third_party/mbedtls/include/mbedtls/aes.h +640 -1
  1124. package/src/duckdb/third_party/mbedtls/include/mbedtls/aes_alt.h +1 -0
  1125. package/src/duckdb/third_party/mbedtls/include/mbedtls/aria.h +358 -0
  1126. package/src/duckdb/third_party/mbedtls/include/mbedtls/aria_alt.h +1 -0
  1127. package/src/duckdb/third_party/mbedtls/include/mbedtls/camellia.h +316 -0
  1128. package/src/duckdb/third_party/mbedtls/include/mbedtls/camellia_alt.h +1 -0
  1129. package/src/duckdb/third_party/mbedtls/include/mbedtls/ccm.h +1 -1
  1130. package/src/duckdb/third_party/mbedtls/include/mbedtls/ccm_alt.h +1 -0
  1131. package/src/duckdb/third_party/mbedtls/include/mbedtls/chacha20.h +1 -0
  1132. package/src/duckdb/third_party/mbedtls/include/mbedtls/chachapoly.h +1 -0
  1133. package/src/duckdb/third_party/mbedtls/include/mbedtls/cipher.h +124 -124
  1134. package/src/duckdb/third_party/mbedtls/include/mbedtls/cmac.h +1 -0
  1135. package/src/duckdb/third_party/mbedtls/include/mbedtls/entropy.h +293 -0
  1136. package/src/duckdb/third_party/mbedtls/include/mbedtls/gcm.h +383 -0
  1137. package/src/duckdb/third_party/mbedtls/include/mbedtls/gcm_alt.h +1 -0
  1138. package/src/duckdb/third_party/mbedtls/include/mbedtls/mbedtls_config.h +9 -0
  1139. package/src/duckdb/third_party/mbedtls/include/mbedtls/nist_kw.h +1 -0
  1140. package/src/duckdb/third_party/mbedtls/include/mbedtls/timing.h +1 -0
  1141. package/src/duckdb/third_party/mbedtls/include/mbedtls_wrapper.hpp +35 -6
  1142. package/src/duckdb/third_party/mbedtls/library/aes.cpp +2171 -0
  1143. package/src/duckdb/third_party/mbedtls/library/aesni.h +1 -0
  1144. package/src/duckdb/third_party/mbedtls/library/aria.cpp +1058 -0
  1145. package/src/duckdb/third_party/mbedtls/library/camellia.cpp +1087 -0
  1146. package/src/duckdb/third_party/mbedtls/library/cipher.cpp +1633 -0
  1147. package/src/duckdb/third_party/mbedtls/library/cipher_wrap.cpp +2270 -0
  1148. package/src/duckdb/third_party/mbedtls/library/cipher_wrap.h +146 -0
  1149. package/src/duckdb/third_party/mbedtls/library/entropy.cpp +701 -0
  1150. package/src/duckdb/third_party/mbedtls/library/entropy_poll.cpp +237 -0
  1151. package/src/duckdb/third_party/mbedtls/library/entropy_poll.h +76 -0
  1152. package/src/duckdb/third_party/mbedtls/library/gcm.cpp +1161 -0
  1153. package/src/duckdb/third_party/mbedtls/library/padlock.h +1 -0
  1154. package/src/duckdb/third_party/mbedtls/mbedtls_wrapper.cpp +132 -24
  1155. package/src/duckdb/third_party/pcg/pcg_uint128.hpp +1 -1
  1156. package/src/duckdb/third_party/skiplist/HeadNode.h +934 -0
  1157. package/src/duckdb/third_party/skiplist/IntegrityEnums.h +62 -0
  1158. package/src/duckdb/third_party/skiplist/Node.h +641 -0
  1159. package/src/duckdb/third_party/skiplist/NodeRefs.h +251 -0
  1160. package/src/duckdb/third_party/skiplist/RollingMedian.h +202 -0
  1161. package/src/duckdb/third_party/skiplist/SkipList.cpp +40 -0
  1162. package/src/duckdb/third_party/skiplist/SkipList.h +549 -0
  1163. package/src/duckdb/third_party/thrift/thrift/thrift-config.h +1 -1
  1164. package/src/duckdb/ub_extension_json_json_functions.cpp +2 -0
  1165. package/src/duckdb/ub_src_catalog.cpp +3 -1
  1166. package/src/duckdb/ub_src_catalog_catalog_entry_dependency.cpp +6 -0
  1167. package/src/duckdb/ub_src_common.cpp +1 -1
  1168. package/src/duckdb/ub_src_common_exception.cpp +6 -0
  1169. package/src/duckdb/ub_src_common_types.cpp +2 -2
  1170. package/src/duckdb/ub_src_core_functions.cpp +2 -0
  1171. package/src/duckdb/ub_src_core_functions_scalar_array.cpp +4 -0
  1172. package/src/duckdb/ub_src_core_functions_scalar_blob.cpp +2 -0
  1173. package/src/duckdb/ub_src_core_functions_scalar_list.cpp +7 -3
  1174. package/src/duckdb/ub_src_core_functions_scalar_secret.cpp +2 -0
  1175. package/src/duckdb/ub_src_core_functions_scalar_string.cpp +4 -0
  1176. package/src/duckdb/ub_src_execution_index.cpp +4 -0
  1177. package/src/duckdb/ub_src_execution_operator_csv_scanner_buffer_manager.cpp +6 -0
  1178. package/src/duckdb/ub_src_execution_operator_csv_scanner_scanner.cpp +10 -0
  1179. package/src/duckdb/ub_src_execution_operator_csv_scanner_state_machine.cpp +4 -0
  1180. package/src/duckdb/ub_src_execution_operator_csv_scanner_table_function.cpp +4 -0
  1181. package/src/duckdb/ub_src_execution_operator_csv_scanner_util.cpp +4 -0
  1182. package/src/duckdb/ub_src_execution_operator_helper.cpp +4 -0
  1183. package/src/duckdb/ub_src_execution_operator_join.cpp +4 -2
  1184. package/src/duckdb/ub_src_execution_operator_persistent.cpp +2 -0
  1185. package/src/duckdb/ub_src_execution_physical_plan.cpp +4 -2
  1186. package/src/duckdb/ub_src_function_cast.cpp +2 -0
  1187. package/src/duckdb/ub_src_function_scalar_list.cpp +4 -0
  1188. package/src/duckdb/ub_src_function_table.cpp +4 -4
  1189. package/src/duckdb/ub_src_function_table_system.cpp +6 -0
  1190. package/src/duckdb/ub_src_main.cpp +2 -0
  1191. package/src/duckdb/ub_src_main_buffered_data.cpp +2 -0
  1192. package/src/duckdb/ub_src_main_secret.cpp +6 -0
  1193. package/src/duckdb/ub_src_optimizer_pushdown.cpp +2 -0
  1194. package/src/duckdb/ub_src_parser_expression.cpp +2 -0
  1195. package/src/duckdb/ub_src_parser_parsed_data.cpp +6 -0
  1196. package/src/duckdb/ub_src_parser_statement.cpp +2 -2
  1197. package/src/duckdb/ub_src_parser_tableref.cpp +2 -0
  1198. package/src/duckdb/ub_src_parser_transform_statement.cpp +6 -0
  1199. package/src/duckdb/ub_src_planner_binder_statement.cpp +2 -2
  1200. package/src/duckdb/ub_src_planner_binder_tableref.cpp +2 -0
  1201. package/src/duckdb/ub_src_planner_filter.cpp +2 -0
  1202. package/src/duckdb/ub_src_planner_operator.cpp +2 -0
  1203. package/src/duckdb/ub_src_planner_subquery.cpp +2 -0
  1204. package/src/duckdb/ub_src_storage.cpp +2 -0
  1205. package/src/duckdb/ub_src_storage_compression.cpp +2 -0
  1206. package/src/duckdb/ub_src_storage_compression_alp.cpp +4 -0
  1207. package/src/duckdb/ub_src_storage_serialization.cpp +2 -0
  1208. package/src/duckdb/ub_src_storage_statistics.cpp +2 -0
  1209. package/src/duckdb/ub_src_storage_table.cpp +2 -0
  1210. package/src/duckdb_node.hpp +1 -1
  1211. package/src/statement.cpp +18 -8
  1212. package/src/utils.cpp +1 -15
  1213. package/test/columns.test.ts +2 -1
  1214. package/test/config.test.ts +30 -0
  1215. package/test/test_all_types.test.ts +9 -4
@@ -10,6 +10,7 @@
10
10
 
11
11
 
12
12
  #include "duckdb/common/enum_util.hpp"
13
+ #include "duckdb/catalog/catalog_entry/dependency/dependency_entry.hpp"
13
14
  #include "duckdb/catalog/catalog_entry/table_column_type.hpp"
14
15
  #include "duckdb/common/box_renderer.hpp"
15
16
  #include "duckdb/common/enums/access_mode.hpp"
@@ -23,10 +24,12 @@
23
24
  #include "duckdb/common/enums/file_compression_type.hpp"
24
25
  #include "duckdb/common/enums/file_glob_options.hpp"
25
26
  #include "duckdb/common/enums/filter_propagate_result.hpp"
26
- #include "duckdb/common/enums/index_type.hpp"
27
+ #include "duckdb/common/enums/index_constraint_type.hpp"
27
28
  #include "duckdb/common/enums/join_type.hpp"
28
29
  #include "duckdb/common/enums/joinref_type.hpp"
29
30
  #include "duckdb/common/enums/logical_operator_type.hpp"
31
+ #include "duckdb/common/enums/memory_tag.hpp"
32
+ #include "duckdb/common/enums/on_create_conflict.hpp"
30
33
  #include "duckdb/common/enums/on_entry_not_found.hpp"
31
34
  #include "duckdb/common/enums/operator_result_type.hpp"
32
35
  #include "duckdb/common/enums/optimizer_type.hpp"
@@ -67,10 +70,9 @@
67
70
  #include "duckdb/core_functions/aggregate/quantile_enum.hpp"
68
71
  #include "duckdb/execution/index/art/art.hpp"
69
72
  #include "duckdb/execution/index/art/node.hpp"
70
- #include "duckdb/execution/operator/scan/csv/base_csv_reader.hpp"
71
- #include "duckdb/execution/operator/scan/csv/csv_reader_options.hpp"
72
- #include "duckdb/execution/operator/scan/csv/csv_state.hpp"
73
- #include "duckdb/execution/operator/scan/csv/quote_rules.hpp"
73
+ #include "duckdb/execution/operator/csv_scanner/options/csv_option.hpp"
74
+ #include "duckdb/execution/operator/csv_scanner/sniffer/quote_rules.hpp"
75
+ #include "duckdb/execution/operator/csv_scanner/state_machine/csv_state.hpp"
74
76
  #include "duckdb/function/aggregate_state.hpp"
75
77
  #include "duckdb/function/function.hpp"
76
78
  #include "duckdb/function/macro_function.hpp"
@@ -83,6 +85,7 @@
83
85
  #include "duckdb/main/error_manager.hpp"
84
86
  #include "duckdb/main/extension_helper.hpp"
85
87
  #include "duckdb/main/query_result.hpp"
88
+ #include "duckdb/main/secret/secret.hpp"
86
89
  #include "duckdb/parallel/interrupt.hpp"
87
90
  #include "duckdb/parallel/task.hpp"
88
91
  #include "duckdb/parser/constraint.hpp"
@@ -92,8 +95,8 @@
92
95
  #include "duckdb/parser/parsed_data/alter_scalar_function_info.hpp"
93
96
  #include "duckdb/parser/parsed_data/alter_table_function_info.hpp"
94
97
  #include "duckdb/parser/parsed_data/alter_table_info.hpp"
95
- #include "duckdb/parser/parsed_data/create_info.hpp"
96
98
  #include "duckdb/parser/parsed_data/create_sequence_info.hpp"
99
+ #include "duckdb/parser/parsed_data/extra_drop_info.hpp"
97
100
  #include "duckdb/parser/parsed_data/load_info.hpp"
98
101
  #include "duckdb/parser/parsed_data/parse_info.hpp"
99
102
  #include "duckdb/parser/parsed_data/pragma_info.hpp"
@@ -105,6 +108,7 @@
105
108
  #include "duckdb/parser/simplified_token.hpp"
106
109
  #include "duckdb/parser/statement/explain_statement.hpp"
107
110
  #include "duckdb/parser/statement/insert_statement.hpp"
111
+ #include "duckdb/parser/tableref/showref.hpp"
108
112
  #include "duckdb/planner/binder.hpp"
109
113
  #include "duckdb/planner/bound_result_modifier.hpp"
110
114
  #include "duckdb/planner/table_filter.hpp"
@@ -151,6 +155,29 @@ AccessMode EnumUtil::FromString<AccessMode>(const char *value) {
151
155
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
152
156
  }
153
157
 
158
+ template<>
159
+ const char* EnumUtil::ToChars<AggregateCombineType>(AggregateCombineType value) {
160
+ switch(value) {
161
+ case AggregateCombineType::PRESERVE_INPUT:
162
+ return "PRESERVE_INPUT";
163
+ case AggregateCombineType::ALLOW_DESTRUCTIVE:
164
+ return "ALLOW_DESTRUCTIVE";
165
+ default:
166
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
167
+ }
168
+ }
169
+
170
+ template<>
171
+ AggregateCombineType EnumUtil::FromString<AggregateCombineType>(const char *value) {
172
+ if (StringUtil::Equals(value, "PRESERVE_INPUT")) {
173
+ return AggregateCombineType::PRESERVE_INPUT;
174
+ }
175
+ if (StringUtil::Equals(value, "ALLOW_DESTRUCTIVE")) {
176
+ return AggregateCombineType::ALLOW_DESTRUCTIVE;
177
+ }
178
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
179
+ }
180
+
154
181
  template<>
155
182
  const char* EnumUtil::ToChars<AggregateHandling>(AggregateHandling value) {
156
183
  switch(value) {
@@ -317,6 +344,8 @@ const char* EnumUtil::ToChars<AlterTableType>(AlterTableType value) {
317
344
  return "SET_NOT_NULL";
318
345
  case AlterTableType::DROP_NOT_NULL:
319
346
  return "DROP_NOT_NULL";
347
+ case AlterTableType::SET_COLUMN_COMMENT:
348
+ return "SET_COLUMN_COMMENT";
320
349
  default:
321
350
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
322
351
  }
@@ -354,6 +383,9 @@ AlterTableType EnumUtil::FromString<AlterTableType>(const char *value) {
354
383
  if (StringUtil::Equals(value, "DROP_NOT_NULL")) {
355
384
  return AlterTableType::DROP_NOT_NULL;
356
385
  }
386
+ if (StringUtil::Equals(value, "SET_COLUMN_COMMENT")) {
387
+ return AlterTableType::SET_COLUMN_COMMENT;
388
+ }
357
389
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
358
390
  }
359
391
 
@@ -374,6 +406,8 @@ const char* EnumUtil::ToChars<AlterType>(AlterType value) {
374
406
  return "ALTER_SCALAR_FUNCTION";
375
407
  case AlterType::ALTER_TABLE_FUNCTION:
376
408
  return "ALTER_TABLE_FUNCTION";
409
+ case AlterType::SET_COMMENT:
410
+ return "SET_COMMENT";
377
411
  default:
378
412
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
379
413
  }
@@ -402,6 +436,9 @@ AlterType EnumUtil::FromString<AlterType>(const char *value) {
402
436
  if (StringUtil::Equals(value, "ALTER_TABLE_FUNCTION")) {
403
437
  return AlterType::ALTER_TABLE_FUNCTION;
404
438
  }
439
+ if (StringUtil::Equals(value, "SET_COMMENT")) {
440
+ return AlterType::SET_COMMENT;
441
+ }
405
442
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
406
443
  }
407
444
 
@@ -666,10 +703,14 @@ const char* EnumUtil::ToChars<CSVState>(CSVState value) {
666
703
  return "UNQUOTED";
667
704
  case CSVState::ESCAPE:
668
705
  return "ESCAPE";
669
- case CSVState::EMPTY_LINE:
670
- return "EMPTY_LINE";
671
706
  case CSVState::INVALID:
672
707
  return "INVALID";
708
+ case CSVState::NOT_SET:
709
+ return "NOT_SET";
710
+ case CSVState::QUOTED_NEW_LINE:
711
+ return "QUOTED_NEW_LINE";
712
+ case CSVState::EMPTY_SPACE:
713
+ return "EMPTY_SPACE";
673
714
  default:
674
715
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
675
716
  }
@@ -698,12 +739,18 @@ CSVState EnumUtil::FromString<CSVState>(const char *value) {
698
739
  if (StringUtil::Equals(value, "ESCAPE")) {
699
740
  return CSVState::ESCAPE;
700
741
  }
701
- if (StringUtil::Equals(value, "EMPTY_LINE")) {
702
- return CSVState::EMPTY_LINE;
703
- }
704
742
  if (StringUtil::Equals(value, "INVALID")) {
705
743
  return CSVState::INVALID;
706
744
  }
745
+ if (StringUtil::Equals(value, "NOT_SET")) {
746
+ return CSVState::NOT_SET;
747
+ }
748
+ if (StringUtil::Equals(value, "QUOTED_NEW_LINE")) {
749
+ return CSVState::QUOTED_NEW_LINE;
750
+ }
751
+ if (StringUtil::Equals(value, "EMPTY_SPACE")) {
752
+ return CSVState::EMPTY_SPACE;
753
+ }
707
754
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
708
755
  }
709
756
 
@@ -772,10 +819,18 @@ const char* EnumUtil::ToChars<CatalogType>(CatalogType value) {
772
819
  return "MACRO_ENTRY";
773
820
  case CatalogType::TABLE_MACRO_ENTRY:
774
821
  return "TABLE_MACRO_ENTRY";
775
- case CatalogType::UPDATED_ENTRY:
776
- return "UPDATED_ENTRY";
777
822
  case CatalogType::DELETED_ENTRY:
778
823
  return "DELETED_ENTRY";
824
+ case CatalogType::RENAMED_ENTRY:
825
+ return "RENAMED_ENTRY";
826
+ case CatalogType::SECRET_ENTRY:
827
+ return "SECRET_ENTRY";
828
+ case CatalogType::SECRET_TYPE_ENTRY:
829
+ return "SECRET_TYPE_ENTRY";
830
+ case CatalogType::SECRET_FUNCTION_ENTRY:
831
+ return "SECRET_FUNCTION_ENTRY";
832
+ case CatalogType::DEPENDENCY_ENTRY:
833
+ return "DEPENDENCY_ENTRY";
779
834
  default:
780
835
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
781
836
  }
@@ -834,12 +889,24 @@ CatalogType EnumUtil::FromString<CatalogType>(const char *value) {
834
889
  if (StringUtil::Equals(value, "TABLE_MACRO_ENTRY")) {
835
890
  return CatalogType::TABLE_MACRO_ENTRY;
836
891
  }
837
- if (StringUtil::Equals(value, "UPDATED_ENTRY")) {
838
- return CatalogType::UPDATED_ENTRY;
839
- }
840
892
  if (StringUtil::Equals(value, "DELETED_ENTRY")) {
841
893
  return CatalogType::DELETED_ENTRY;
842
894
  }
895
+ if (StringUtil::Equals(value, "RENAMED_ENTRY")) {
896
+ return CatalogType::RENAMED_ENTRY;
897
+ }
898
+ if (StringUtil::Equals(value, "SECRET_ENTRY")) {
899
+ return CatalogType::SECRET_ENTRY;
900
+ }
901
+ if (StringUtil::Equals(value, "SECRET_TYPE_ENTRY")) {
902
+ return CatalogType::SECRET_TYPE_ENTRY;
903
+ }
904
+ if (StringUtil::Equals(value, "SECRET_FUNCTION_ENTRY")) {
905
+ return CatalogType::SECRET_FUNCTION_ENTRY;
906
+ }
907
+ if (StringUtil::Equals(value, "DEPENDENCY_ENTRY")) {
908
+ return CatalogType::DEPENDENCY_ENTRY;
909
+ }
843
910
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
844
911
  }
845
912
 
@@ -1034,6 +1101,10 @@ const char* EnumUtil::ToChars<CompressionType>(CompressionType value) {
1034
1101
  return "COMPRESSION_CHIMP";
1035
1102
  case CompressionType::COMPRESSION_PATAS:
1036
1103
  return "COMPRESSION_PATAS";
1104
+ case CompressionType::COMPRESSION_ALP:
1105
+ return "COMPRESSION_ALP";
1106
+ case CompressionType::COMPRESSION_ALPRD:
1107
+ return "COMPRESSION_ALPRD";
1037
1108
  case CompressionType::COMPRESSION_COUNT:
1038
1109
  return "COMPRESSION_COUNT";
1039
1110
  default:
@@ -1073,6 +1144,12 @@ CompressionType EnumUtil::FromString<CompressionType>(const char *value) {
1073
1144
  if (StringUtil::Equals(value, "COMPRESSION_PATAS")) {
1074
1145
  return CompressionType::COMPRESSION_PATAS;
1075
1146
  }
1147
+ if (StringUtil::Equals(value, "COMPRESSION_ALP")) {
1148
+ return CompressionType::COMPRESSION_ALP;
1149
+ }
1150
+ if (StringUtil::Equals(value, "COMPRESSION_ALPRD")) {
1151
+ return CompressionType::COMPRESSION_ALPRD;
1152
+ }
1076
1153
  if (StringUtil::Equals(value, "COMPRESSION_COUNT")) {
1077
1154
  return CompressionType::COMPRESSION_COUNT;
1078
1155
  }
@@ -1377,6 +1454,57 @@ DefaultOrderByNullType EnumUtil::FromString<DefaultOrderByNullType>(const char *
1377
1454
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
1378
1455
  }
1379
1456
 
1457
+ template<>
1458
+ const char* EnumUtil::ToChars<DependencyEntryType>(DependencyEntryType value) {
1459
+ switch(value) {
1460
+ case DependencyEntryType::SUBJECT:
1461
+ return "SUBJECT";
1462
+ case DependencyEntryType::DEPENDENT:
1463
+ return "DEPENDENT";
1464
+ default:
1465
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
1466
+ }
1467
+ }
1468
+
1469
+ template<>
1470
+ DependencyEntryType EnumUtil::FromString<DependencyEntryType>(const char *value) {
1471
+ if (StringUtil::Equals(value, "SUBJECT")) {
1472
+ return DependencyEntryType::SUBJECT;
1473
+ }
1474
+ if (StringUtil::Equals(value, "DEPENDENT")) {
1475
+ return DependencyEntryType::DEPENDENT;
1476
+ }
1477
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
1478
+ }
1479
+
1480
+ template<>
1481
+ const char* EnumUtil::ToChars<DeprecatedIndexType>(DeprecatedIndexType value) {
1482
+ switch(value) {
1483
+ case DeprecatedIndexType::INVALID:
1484
+ return "INVALID";
1485
+ case DeprecatedIndexType::ART:
1486
+ return "ART";
1487
+ case DeprecatedIndexType::EXTENSION:
1488
+ return "EXTENSION";
1489
+ default:
1490
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
1491
+ }
1492
+ }
1493
+
1494
+ template<>
1495
+ DeprecatedIndexType EnumUtil::FromString<DeprecatedIndexType>(const char *value) {
1496
+ if (StringUtil::Equals(value, "INVALID")) {
1497
+ return DeprecatedIndexType::INVALID;
1498
+ }
1499
+ if (StringUtil::Equals(value, "ART")) {
1500
+ return DeprecatedIndexType::ART;
1501
+ }
1502
+ if (StringUtil::Equals(value, "EXTENSION")) {
1503
+ return DeprecatedIndexType::EXTENSION;
1504
+ }
1505
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
1506
+ }
1507
+
1380
1508
  template<>
1381
1509
  const char* EnumUtil::ToChars<DistinctType>(DistinctType value) {
1382
1510
  switch(value) {
@@ -1558,6 +1686,8 @@ const char* EnumUtil::ToChars<ExpressionClass>(ExpressionClass value) {
1558
1686
  return "POSITIONAL_REFERENCE";
1559
1687
  case ExpressionClass::BETWEEN:
1560
1688
  return "BETWEEN";
1689
+ case ExpressionClass::LAMBDA_REF:
1690
+ return "LAMBDA_REF";
1561
1691
  case ExpressionClass::BOUND_AGGREGATE:
1562
1692
  return "BOUND_AGGREGATE";
1563
1693
  case ExpressionClass::BOUND_CASE:
@@ -1660,6 +1790,9 @@ ExpressionClass EnumUtil::FromString<ExpressionClass>(const char *value) {
1660
1790
  if (StringUtil::Equals(value, "BETWEEN")) {
1661
1791
  return ExpressionClass::BETWEEN;
1662
1792
  }
1793
+ if (StringUtil::Equals(value, "LAMBDA_REF")) {
1794
+ return ExpressionClass::LAMBDA_REF;
1795
+ }
1663
1796
  if (StringUtil::Equals(value, "BOUND_AGGREGATE")) {
1664
1797
  return ExpressionClass::BOUND_AGGREGATE;
1665
1798
  }
@@ -1841,6 +1974,8 @@ const char* EnumUtil::ToChars<ExpressionType>(ExpressionType value) {
1841
1974
  return "FUNCTION_REF";
1842
1975
  case ExpressionType::TABLE_REF:
1843
1976
  return "TABLE_REF";
1977
+ case ExpressionType::LAMBDA_REF:
1978
+ return "LAMBDA_REF";
1844
1979
  case ExpressionType::CAST:
1845
1980
  return "CAST";
1846
1981
  case ExpressionType::BOUND_REF:
@@ -2041,6 +2176,9 @@ ExpressionType EnumUtil::FromString<ExpressionType>(const char *value) {
2041
2176
  if (StringUtil::Equals(value, "TABLE_REF")) {
2042
2177
  return ExpressionType::TABLE_REF;
2043
2178
  }
2179
+ if (StringUtil::Equals(value, "LAMBDA_REF")) {
2180
+ return ExpressionType::LAMBDA_REF;
2181
+ }
2044
2182
  if (StringUtil::Equals(value, "CAST")) {
2045
2183
  return ExpressionType::CAST;
2046
2184
  }
@@ -2096,6 +2234,29 @@ ExtensionLoadResult EnumUtil::FromString<ExtensionLoadResult>(const char *value)
2096
2234
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
2097
2235
  }
2098
2236
 
2237
+ template<>
2238
+ const char* EnumUtil::ToChars<ExtraDropInfoType>(ExtraDropInfoType value) {
2239
+ switch(value) {
2240
+ case ExtraDropInfoType::INVALID:
2241
+ return "INVALID";
2242
+ case ExtraDropInfoType::SECRET_INFO:
2243
+ return "SECRET_INFO";
2244
+ default:
2245
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
2246
+ }
2247
+ }
2248
+
2249
+ template<>
2250
+ ExtraDropInfoType EnumUtil::FromString<ExtraDropInfoType>(const char *value) {
2251
+ if (StringUtil::Equals(value, "INVALID")) {
2252
+ return ExtraDropInfoType::INVALID;
2253
+ }
2254
+ if (StringUtil::Equals(value, "SECRET_INFO")) {
2255
+ return ExtraDropInfoType::SECRET_INFO;
2256
+ }
2257
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
2258
+ }
2259
+
2099
2260
  template<>
2100
2261
  const char* EnumUtil::ToChars<ExtraTypeInfoType>(ExtraTypeInfoType value) {
2101
2262
  switch(value) {
@@ -2117,6 +2278,12 @@ const char* EnumUtil::ToChars<ExtraTypeInfoType>(ExtraTypeInfoType value) {
2117
2278
  return "USER_TYPE_INFO";
2118
2279
  case ExtraTypeInfoType::AGGREGATE_STATE_TYPE_INFO:
2119
2280
  return "AGGREGATE_STATE_TYPE_INFO";
2281
+ case ExtraTypeInfoType::ARRAY_TYPE_INFO:
2282
+ return "ARRAY_TYPE_INFO";
2283
+ case ExtraTypeInfoType::ANY_TYPE_INFO:
2284
+ return "ANY_TYPE_INFO";
2285
+ case ExtraTypeInfoType::INTEGER_LITERAL_TYPE_INFO:
2286
+ return "INTEGER_LITERAL_TYPE_INFO";
2120
2287
  default:
2121
2288
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
2122
2289
  }
@@ -2151,6 +2318,15 @@ ExtraTypeInfoType EnumUtil::FromString<ExtraTypeInfoType>(const char *value) {
2151
2318
  if (StringUtil::Equals(value, "AGGREGATE_STATE_TYPE_INFO")) {
2152
2319
  return ExtraTypeInfoType::AGGREGATE_STATE_TYPE_INFO;
2153
2320
  }
2321
+ if (StringUtil::Equals(value, "ARRAY_TYPE_INFO")) {
2322
+ return ExtraTypeInfoType::ARRAY_TYPE_INFO;
2323
+ }
2324
+ if (StringUtil::Equals(value, "ANY_TYPE_INFO")) {
2325
+ return ExtraTypeInfoType::ANY_TYPE_INFO;
2326
+ }
2327
+ if (StringUtil::Equals(value, "INTEGER_LITERAL_TYPE_INFO")) {
2328
+ return ExtraTypeInfoType::INTEGER_LITERAL_TYPE_INFO;
2329
+ }
2154
2330
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
2155
2331
  }
2156
2332
 
@@ -2356,24 +2532,29 @@ FunctionNullHandling EnumUtil::FromString<FunctionNullHandling>(const char *valu
2356
2532
  }
2357
2533
 
2358
2534
  template<>
2359
- const char* EnumUtil::ToChars<FunctionSideEffects>(FunctionSideEffects value) {
2535
+ const char* EnumUtil::ToChars<FunctionStability>(FunctionStability value) {
2360
2536
  switch(value) {
2361
- case FunctionSideEffects::NO_SIDE_EFFECTS:
2362
- return "NO_SIDE_EFFECTS";
2363
- case FunctionSideEffects::HAS_SIDE_EFFECTS:
2364
- return "HAS_SIDE_EFFECTS";
2537
+ case FunctionStability::CONSISTENT:
2538
+ return "CONSISTENT";
2539
+ case FunctionStability::VOLATILE:
2540
+ return "VOLATILE";
2541
+ case FunctionStability::CONSISTENT_WITHIN_QUERY:
2542
+ return "CONSISTENT_WITHIN_QUERY";
2365
2543
  default:
2366
2544
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
2367
2545
  }
2368
2546
  }
2369
2547
 
2370
2548
  template<>
2371
- FunctionSideEffects EnumUtil::FromString<FunctionSideEffects>(const char *value) {
2372
- if (StringUtil::Equals(value, "NO_SIDE_EFFECTS")) {
2373
- return FunctionSideEffects::NO_SIDE_EFFECTS;
2549
+ FunctionStability EnumUtil::FromString<FunctionStability>(const char *value) {
2550
+ if (StringUtil::Equals(value, "CONSISTENT")) {
2551
+ return FunctionStability::CONSISTENT;
2552
+ }
2553
+ if (StringUtil::Equals(value, "VOLATILE")) {
2554
+ return FunctionStability::VOLATILE;
2374
2555
  }
2375
- if (StringUtil::Equals(value, "HAS_SIDE_EFFECTS")) {
2376
- return FunctionSideEffects::HAS_SIDE_EFFECTS;
2556
+ if (StringUtil::Equals(value, "CONSISTENT_WITHIN_QUERY")) {
2557
+ return FunctionStability::CONSISTENT_WITHIN_QUERY;
2377
2558
  }
2378
2559
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
2379
2560
  }
@@ -2429,34 +2610,6 @@ IndexConstraintType EnumUtil::FromString<IndexConstraintType>(const char *value)
2429
2610
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
2430
2611
  }
2431
2612
 
2432
- template<>
2433
- const char* EnumUtil::ToChars<IndexType>(IndexType value) {
2434
- switch(value) {
2435
- case IndexType::INVALID:
2436
- return "INVALID";
2437
- case IndexType::ART:
2438
- return "ART";
2439
- case IndexType::EXTENSION:
2440
- return "EXTENSION";
2441
- default:
2442
- throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
2443
- }
2444
- }
2445
-
2446
- template<>
2447
- IndexType EnumUtil::FromString<IndexType>(const char *value) {
2448
- if (StringUtil::Equals(value, "INVALID")) {
2449
- return IndexType::INVALID;
2450
- }
2451
- if (StringUtil::Equals(value, "ART")) {
2452
- return IndexType::ART;
2453
- }
2454
- if (StringUtil::Equals(value, "EXTENSION")) {
2455
- return IndexType::EXTENSION;
2456
- }
2457
- throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
2458
- }
2459
-
2460
2613
  template<>
2461
2614
  const char* EnumUtil::ToChars<InsertColumnOrder>(InsertColumnOrder value) {
2462
2615
  switch(value) {
@@ -2572,6 +2725,10 @@ const char* EnumUtil::ToChars<JoinType>(JoinType value) {
2572
2725
  return "MARK";
2573
2726
  case JoinType::SINGLE:
2574
2727
  return "SINGLE";
2728
+ case JoinType::RIGHT_SEMI:
2729
+ return "RIGHT_SEMI";
2730
+ case JoinType::RIGHT_ANTI:
2731
+ return "RIGHT_ANTI";
2575
2732
  default:
2576
2733
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
2577
2734
  }
@@ -2606,6 +2763,12 @@ JoinType EnumUtil::FromString<JoinType>(const char *value) {
2606
2763
  if (StringUtil::Equals(value, "SINGLE")) {
2607
2764
  return JoinType::SINGLE;
2608
2765
  }
2766
+ if (StringUtil::Equals(value, "RIGHT_SEMI")) {
2767
+ return JoinType::RIGHT_SEMI;
2768
+ }
2769
+ if (StringUtil::Equals(value, "RIGHT_ANTI")) {
2770
+ return JoinType::RIGHT_ANTI;
2771
+ }
2609
2772
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
2610
2773
  }
2611
2774
 
@@ -2701,6 +2864,8 @@ const char* EnumUtil::ToChars<LogicalOperatorType>(LogicalOperatorType value) {
2701
2864
  return "LOGICAL_LIMIT_PERCENT";
2702
2865
  case LogicalOperatorType::LOGICAL_PIVOT:
2703
2866
  return "LOGICAL_PIVOT";
2867
+ case LogicalOperatorType::LOGICAL_COPY_DATABASE:
2868
+ return "LOGICAL_COPY_DATABASE";
2704
2869
  case LogicalOperatorType::LOGICAL_GET:
2705
2870
  return "LOGICAL_GET";
2706
2871
  case LogicalOperatorType::LOGICAL_CHUNK_GET:
@@ -2775,8 +2940,6 @@ const char* EnumUtil::ToChars<LogicalOperatorType>(LogicalOperatorType value) {
2775
2940
  return "LOGICAL_DETACH";
2776
2941
  case LogicalOperatorType::LOGICAL_EXPLAIN:
2777
2942
  return "LOGICAL_EXPLAIN";
2778
- case LogicalOperatorType::LOGICAL_SHOW:
2779
- return "LOGICAL_SHOW";
2780
2943
  case LogicalOperatorType::LOGICAL_PREPARE:
2781
2944
  return "LOGICAL_PREPARE";
2782
2945
  case LogicalOperatorType::LOGICAL_EXECUTE:
@@ -2791,6 +2954,8 @@ const char* EnumUtil::ToChars<LogicalOperatorType>(LogicalOperatorType value) {
2791
2954
  return "LOGICAL_LOAD";
2792
2955
  case LogicalOperatorType::LOGICAL_RESET:
2793
2956
  return "LOGICAL_RESET";
2957
+ case LogicalOperatorType::LOGICAL_CREATE_SECRET:
2958
+ return "LOGICAL_CREATE_SECRET";
2794
2959
  case LogicalOperatorType::LOGICAL_EXTENSION_OPERATOR:
2795
2960
  return "LOGICAL_EXTENSION_OPERATOR";
2796
2961
  default:
@@ -2842,6 +3007,9 @@ LogicalOperatorType EnumUtil::FromString<LogicalOperatorType>(const char *value)
2842
3007
  if (StringUtil::Equals(value, "LOGICAL_PIVOT")) {
2843
3008
  return LogicalOperatorType::LOGICAL_PIVOT;
2844
3009
  }
3010
+ if (StringUtil::Equals(value, "LOGICAL_COPY_DATABASE")) {
3011
+ return LogicalOperatorType::LOGICAL_COPY_DATABASE;
3012
+ }
2845
3013
  if (StringUtil::Equals(value, "LOGICAL_GET")) {
2846
3014
  return LogicalOperatorType::LOGICAL_GET;
2847
3015
  }
@@ -2953,9 +3121,6 @@ LogicalOperatorType EnumUtil::FromString<LogicalOperatorType>(const char *value)
2953
3121
  if (StringUtil::Equals(value, "LOGICAL_EXPLAIN")) {
2954
3122
  return LogicalOperatorType::LOGICAL_EXPLAIN;
2955
3123
  }
2956
- if (StringUtil::Equals(value, "LOGICAL_SHOW")) {
2957
- return LogicalOperatorType::LOGICAL_SHOW;
2958
- }
2959
3124
  if (StringUtil::Equals(value, "LOGICAL_PREPARE")) {
2960
3125
  return LogicalOperatorType::LOGICAL_PREPARE;
2961
3126
  }
@@ -2977,6 +3142,9 @@ LogicalOperatorType EnumUtil::FromString<LogicalOperatorType>(const char *value)
2977
3142
  if (StringUtil::Equals(value, "LOGICAL_RESET")) {
2978
3143
  return LogicalOperatorType::LOGICAL_RESET;
2979
3144
  }
3145
+ if (StringUtil::Equals(value, "LOGICAL_CREATE_SECRET")) {
3146
+ return LogicalOperatorType::LOGICAL_CREATE_SECRET;
3147
+ }
2980
3148
  if (StringUtil::Equals(value, "LOGICAL_EXTENSION_OPERATOR")) {
2981
3149
  return LogicalOperatorType::LOGICAL_EXTENSION_OPERATOR;
2982
3150
  }
@@ -3046,6 +3214,12 @@ const char* EnumUtil::ToChars<LogicalTypeId>(LogicalTypeId value) {
3046
3214
  return "TIME WITH TIME ZONE";
3047
3215
  case LogicalTypeId::BIT:
3048
3216
  return "BIT";
3217
+ case LogicalTypeId::STRING_LITERAL:
3218
+ return "STRING_LITERAL";
3219
+ case LogicalTypeId::INTEGER_LITERAL:
3220
+ return "INTEGER_LITERAL";
3221
+ case LogicalTypeId::UHUGEINT:
3222
+ return "UHUGEINT";
3049
3223
  case LogicalTypeId::HUGEINT:
3050
3224
  return "HUGEINT";
3051
3225
  case LogicalTypeId::POINTER:
@@ -3070,6 +3244,8 @@ const char* EnumUtil::ToChars<LogicalTypeId>(LogicalTypeId value) {
3070
3244
  return "LAMBDA";
3071
3245
  case LogicalTypeId::UNION:
3072
3246
  return "UNION";
3247
+ case LogicalTypeId::ARRAY:
3248
+ return "ARRAY";
3073
3249
  default:
3074
3250
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
3075
3251
  }
@@ -3167,6 +3343,15 @@ LogicalTypeId EnumUtil::FromString<LogicalTypeId>(const char *value) {
3167
3343
  if (StringUtil::Equals(value, "BIT")) {
3168
3344
  return LogicalTypeId::BIT;
3169
3345
  }
3346
+ if (StringUtil::Equals(value, "STRING_LITERAL")) {
3347
+ return LogicalTypeId::STRING_LITERAL;
3348
+ }
3349
+ if (StringUtil::Equals(value, "INTEGER_LITERAL")) {
3350
+ return LogicalTypeId::INTEGER_LITERAL;
3351
+ }
3352
+ if (StringUtil::Equals(value, "UHUGEINT")) {
3353
+ return LogicalTypeId::UHUGEINT;
3354
+ }
3170
3355
  if (StringUtil::Equals(value, "HUGEINT")) {
3171
3356
  return LogicalTypeId::HUGEINT;
3172
3357
  }
@@ -3203,6 +3388,9 @@ LogicalTypeId EnumUtil::FromString<LogicalTypeId>(const char *value) {
3203
3388
  if (StringUtil::Equals(value, "UNION")) {
3204
3389
  return LogicalTypeId::UNION;
3205
3390
  }
3391
+ if (StringUtil::Equals(value, "ARRAY")) {
3392
+ return LogicalTypeId::ARRAY;
3393
+ }
3206
3394
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
3207
3395
  }
3208
3396
 
@@ -3295,6 +3483,79 @@ MapInvalidReason EnumUtil::FromString<MapInvalidReason>(const char *value) {
3295
3483
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
3296
3484
  }
3297
3485
 
3486
+ template<>
3487
+ const char* EnumUtil::ToChars<MemoryTag>(MemoryTag value) {
3488
+ switch(value) {
3489
+ case MemoryTag::BASE_TABLE:
3490
+ return "BASE_TABLE";
3491
+ case MemoryTag::HASH_TABLE:
3492
+ return "HASH_TABLE";
3493
+ case MemoryTag::PARQUET_READER:
3494
+ return "PARQUET_READER";
3495
+ case MemoryTag::CSV_READER:
3496
+ return "CSV_READER";
3497
+ case MemoryTag::ORDER_BY:
3498
+ return "ORDER_BY";
3499
+ case MemoryTag::ART_INDEX:
3500
+ return "ART_INDEX";
3501
+ case MemoryTag::COLUMN_DATA:
3502
+ return "COLUMN_DATA";
3503
+ case MemoryTag::METADATA:
3504
+ return "METADATA";
3505
+ case MemoryTag::OVERFLOW_STRINGS:
3506
+ return "OVERFLOW_STRINGS";
3507
+ case MemoryTag::IN_MEMORY_TABLE:
3508
+ return "IN_MEMORY_TABLE";
3509
+ case MemoryTag::ALLOCATOR:
3510
+ return "ALLOCATOR";
3511
+ case MemoryTag::EXTENSION:
3512
+ return "EXTENSION";
3513
+ default:
3514
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
3515
+ }
3516
+ }
3517
+
3518
+ template<>
3519
+ MemoryTag EnumUtil::FromString<MemoryTag>(const char *value) {
3520
+ if (StringUtil::Equals(value, "BASE_TABLE")) {
3521
+ return MemoryTag::BASE_TABLE;
3522
+ }
3523
+ if (StringUtil::Equals(value, "HASH_TABLE")) {
3524
+ return MemoryTag::HASH_TABLE;
3525
+ }
3526
+ if (StringUtil::Equals(value, "PARQUET_READER")) {
3527
+ return MemoryTag::PARQUET_READER;
3528
+ }
3529
+ if (StringUtil::Equals(value, "CSV_READER")) {
3530
+ return MemoryTag::CSV_READER;
3531
+ }
3532
+ if (StringUtil::Equals(value, "ORDER_BY")) {
3533
+ return MemoryTag::ORDER_BY;
3534
+ }
3535
+ if (StringUtil::Equals(value, "ART_INDEX")) {
3536
+ return MemoryTag::ART_INDEX;
3537
+ }
3538
+ if (StringUtil::Equals(value, "COLUMN_DATA")) {
3539
+ return MemoryTag::COLUMN_DATA;
3540
+ }
3541
+ if (StringUtil::Equals(value, "METADATA")) {
3542
+ return MemoryTag::METADATA;
3543
+ }
3544
+ if (StringUtil::Equals(value, "OVERFLOW_STRINGS")) {
3545
+ return MemoryTag::OVERFLOW_STRINGS;
3546
+ }
3547
+ if (StringUtil::Equals(value, "IN_MEMORY_TABLE")) {
3548
+ return MemoryTag::IN_MEMORY_TABLE;
3549
+ }
3550
+ if (StringUtil::Equals(value, "ALLOCATOR")) {
3551
+ return MemoryTag::ALLOCATOR;
3552
+ }
3553
+ if (StringUtil::Equals(value, "EXTENSION")) {
3554
+ return MemoryTag::EXTENSION;
3555
+ }
3556
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
3557
+ }
3558
+
3298
3559
  template<>
3299
3560
  const char* EnumUtil::ToChars<NType>(NType value) {
3300
3561
  switch(value) {
@@ -3350,8 +3611,6 @@ const char* EnumUtil::ToChars<NewLineIdentifier>(NewLineIdentifier value) {
3350
3611
  return "SINGLE";
3351
3612
  case NewLineIdentifier::CARRY_ON:
3352
3613
  return "CARRY_ON";
3353
- case NewLineIdentifier::MIX:
3354
- return "MIX";
3355
3614
  case NewLineIdentifier::NOT_SET:
3356
3615
  return "NOT_SET";
3357
3616
  default:
@@ -3367,9 +3626,6 @@ NewLineIdentifier EnumUtil::FromString<NewLineIdentifier>(const char *value) {
3367
3626
  if (StringUtil::Equals(value, "CARRY_ON")) {
3368
3627
  return NewLineIdentifier::CARRY_ON;
3369
3628
  }
3370
- if (StringUtil::Equals(value, "MIX")) {
3371
- return NewLineIdentifier::MIX;
3372
- }
3373
3629
  if (StringUtil::Equals(value, "NOT_SET")) {
3374
3630
  return NewLineIdentifier::NOT_SET;
3375
3631
  }
@@ -3757,6 +4013,8 @@ const char* EnumUtil::ToChars<ParseInfoType>(ParseInfoType value) {
3757
4013
  return "COPY_INFO";
3758
4014
  case ParseInfoType::CREATE_INFO:
3759
4015
  return "CREATE_INFO";
4016
+ case ParseInfoType::CREATE_SECRET_INFO:
4017
+ return "CREATE_SECRET_INFO";
3760
4018
  case ParseInfoType::DETACH_INFO:
3761
4019
  return "DETACH_INFO";
3762
4020
  case ParseInfoType::DROP_INFO:
@@ -3773,6 +4031,8 @@ const char* EnumUtil::ToChars<ParseInfoType>(ParseInfoType value) {
3773
4031
  return "TRANSACTION_INFO";
3774
4032
  case ParseInfoType::VACUUM_INFO:
3775
4033
  return "VACUUM_INFO";
4034
+ case ParseInfoType::COMMENT_ON_INFO:
4035
+ return "COMMENT_ON_INFO";
3776
4036
  default:
3777
4037
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
3778
4038
  }
@@ -3792,6 +4052,9 @@ ParseInfoType EnumUtil::FromString<ParseInfoType>(const char *value) {
3792
4052
  if (StringUtil::Equals(value, "CREATE_INFO")) {
3793
4053
  return ParseInfoType::CREATE_INFO;
3794
4054
  }
4055
+ if (StringUtil::Equals(value, "CREATE_SECRET_INFO")) {
4056
+ return ParseInfoType::CREATE_SECRET_INFO;
4057
+ }
3795
4058
  if (StringUtil::Equals(value, "DETACH_INFO")) {
3796
4059
  return ParseInfoType::DETACH_INFO;
3797
4060
  }
@@ -3816,6 +4079,9 @@ ParseInfoType EnumUtil::FromString<ParseInfoType>(const char *value) {
3816
4079
  if (StringUtil::Equals(value, "VACUUM_INFO")) {
3817
4080
  return ParseInfoType::VACUUM_INFO;
3818
4081
  }
4082
+ if (StringUtil::Equals(value, "COMMENT_ON_INFO")) {
4083
+ return ParseInfoType::COMMENT_ON_INFO;
4084
+ }
3819
4085
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
3820
4086
  }
3821
4087
 
@@ -3847,34 +4113,6 @@ ParserExtensionResultType EnumUtil::FromString<ParserExtensionResultType>(const
3847
4113
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
3848
4114
  }
3849
4115
 
3850
- template<>
3851
- const char* EnumUtil::ToChars<ParserMode>(ParserMode value) {
3852
- switch(value) {
3853
- case ParserMode::PARSING:
3854
- return "PARSING";
3855
- case ParserMode::SNIFFING_DATATYPES:
3856
- return "SNIFFING_DATATYPES";
3857
- case ParserMode::PARSING_HEADER:
3858
- return "PARSING_HEADER";
3859
- default:
3860
- throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
3861
- }
3862
- }
3863
-
3864
- template<>
3865
- ParserMode EnumUtil::FromString<ParserMode>(const char *value) {
3866
- if (StringUtil::Equals(value, "PARSING")) {
3867
- return ParserMode::PARSING;
3868
- }
3869
- if (StringUtil::Equals(value, "SNIFFING_DATATYPES")) {
3870
- return ParserMode::SNIFFING_DATATYPES;
3871
- }
3872
- if (StringUtil::Equals(value, "PARSING_HEADER")) {
3873
- return ParserMode::PARSING_HEADER;
3874
- }
3875
- throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
3876
- }
3877
-
3878
4116
  template<>
3879
4117
  const char* EnumUtil::ToChars<PartitionSortStage>(PartitionSortStage value) {
3880
4118
  switch(value) {
@@ -3973,6 +4211,8 @@ const char* EnumUtil::ToChars<PendingExecutionResult>(PendingExecutionResult val
3973
4211
  return "RESULT_NOT_READY";
3974
4212
  case PendingExecutionResult::EXECUTION_ERROR:
3975
4213
  return "EXECUTION_ERROR";
4214
+ case PendingExecutionResult::BLOCKED:
4215
+ return "BLOCKED";
3976
4216
  case PendingExecutionResult::NO_TASKS_AVAILABLE:
3977
4217
  return "NO_TASKS_AVAILABLE";
3978
4218
  default:
@@ -3991,6 +4231,9 @@ PendingExecutionResult EnumUtil::FromString<PendingExecutionResult>(const char *
3991
4231
  if (StringUtil::Equals(value, "EXECUTION_ERROR")) {
3992
4232
  return PendingExecutionResult::EXECUTION_ERROR;
3993
4233
  }
4234
+ if (StringUtil::Equals(value, "BLOCKED")) {
4235
+ return PendingExecutionResult::BLOCKED;
4236
+ }
3994
4237
  if (StringUtil::Equals(value, "NO_TASKS_AVAILABLE")) {
3995
4238
  return PendingExecutionResult::NO_TASKS_AVAILABLE;
3996
4239
  }
@@ -4040,6 +4283,8 @@ const char* EnumUtil::ToChars<PhysicalOperatorType>(PhysicalOperatorType value)
4040
4283
  return "STREAMING_WINDOW";
4041
4284
  case PhysicalOperatorType::PIVOT:
4042
4285
  return "PIVOT";
4286
+ case PhysicalOperatorType::COPY_DATABASE:
4287
+ return "COPY_DATABASE";
4043
4288
  case PhysicalOperatorType::TABLE_SCAN:
4044
4289
  return "TABLE_SCAN";
4045
4290
  case PhysicalOperatorType::DUMMY_SCAN:
@@ -4070,10 +4315,10 @@ const char* EnumUtil::ToChars<PhysicalOperatorType>(PhysicalOperatorType value)
4070
4315
  return "PIECEWISE_MERGE_JOIN";
4071
4316
  case PhysicalOperatorType::IE_JOIN:
4072
4317
  return "IE_JOIN";
4073
- case PhysicalOperatorType::DELIM_JOIN:
4074
- return "DELIM_JOIN";
4075
- case PhysicalOperatorType::INDEX_JOIN:
4076
- return "INDEX_JOIN";
4318
+ case PhysicalOperatorType::LEFT_DELIM_JOIN:
4319
+ return "LEFT_DELIM_JOIN";
4320
+ case PhysicalOperatorType::RIGHT_DELIM_JOIN:
4321
+ return "RIGHT_DELIM_JOIN";
4077
4322
  case PhysicalOperatorType::POSITIONAL_JOIN:
4078
4323
  return "POSITIONAL_JOIN";
4079
4324
  case PhysicalOperatorType::ASOF_JOIN:
@@ -4148,6 +4393,8 @@ const char* EnumUtil::ToChars<PhysicalOperatorType>(PhysicalOperatorType value)
4148
4393
  return "RESET";
4149
4394
  case PhysicalOperatorType::EXTENSION:
4150
4395
  return "EXTENSION";
4396
+ case PhysicalOperatorType::CREATE_SECRET:
4397
+ return "CREATE_SECRET";
4151
4398
  default:
4152
4399
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
4153
4400
  }
@@ -4215,6 +4462,9 @@ PhysicalOperatorType EnumUtil::FromString<PhysicalOperatorType>(const char *valu
4215
4462
  if (StringUtil::Equals(value, "PIVOT")) {
4216
4463
  return PhysicalOperatorType::PIVOT;
4217
4464
  }
4465
+ if (StringUtil::Equals(value, "COPY_DATABASE")) {
4466
+ return PhysicalOperatorType::COPY_DATABASE;
4467
+ }
4218
4468
  if (StringUtil::Equals(value, "TABLE_SCAN")) {
4219
4469
  return PhysicalOperatorType::TABLE_SCAN;
4220
4470
  }
@@ -4260,11 +4510,11 @@ PhysicalOperatorType EnumUtil::FromString<PhysicalOperatorType>(const char *valu
4260
4510
  if (StringUtil::Equals(value, "IE_JOIN")) {
4261
4511
  return PhysicalOperatorType::IE_JOIN;
4262
4512
  }
4263
- if (StringUtil::Equals(value, "DELIM_JOIN")) {
4264
- return PhysicalOperatorType::DELIM_JOIN;
4513
+ if (StringUtil::Equals(value, "LEFT_DELIM_JOIN")) {
4514
+ return PhysicalOperatorType::LEFT_DELIM_JOIN;
4265
4515
  }
4266
- if (StringUtil::Equals(value, "INDEX_JOIN")) {
4267
- return PhysicalOperatorType::INDEX_JOIN;
4516
+ if (StringUtil::Equals(value, "RIGHT_DELIM_JOIN")) {
4517
+ return PhysicalOperatorType::RIGHT_DELIM_JOIN;
4268
4518
  }
4269
4519
  if (StringUtil::Equals(value, "POSITIONAL_JOIN")) {
4270
4520
  return PhysicalOperatorType::POSITIONAL_JOIN;
@@ -4377,6 +4627,9 @@ PhysicalOperatorType EnumUtil::FromString<PhysicalOperatorType>(const char *valu
4377
4627
  if (StringUtil::Equals(value, "EXTENSION")) {
4378
4628
  return PhysicalOperatorType::EXTENSION;
4379
4629
  }
4630
+ if (StringUtil::Equals(value, "CREATE_SECRET")) {
4631
+ return PhysicalOperatorType::CREATE_SECRET;
4632
+ }
4380
4633
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
4381
4634
  }
4382
4635
 
@@ -4411,8 +4664,12 @@ const char* EnumUtil::ToChars<PhysicalType>(PhysicalType value) {
4411
4664
  return "LIST";
4412
4665
  case PhysicalType::STRUCT:
4413
4666
  return "STRUCT";
4667
+ case PhysicalType::ARRAY:
4668
+ return "ARRAY";
4414
4669
  case PhysicalType::VARCHAR:
4415
4670
  return "VARCHAR";
4671
+ case PhysicalType::UINT128:
4672
+ return "UINT128";
4416
4673
  case PhysicalType::INT128:
4417
4674
  return "INT128";
4418
4675
  case PhysicalType::UNKNOWN:
@@ -4470,9 +4727,15 @@ PhysicalType EnumUtil::FromString<PhysicalType>(const char *value) {
4470
4727
  if (StringUtil::Equals(value, "STRUCT")) {
4471
4728
  return PhysicalType::STRUCT;
4472
4729
  }
4730
+ if (StringUtil::Equals(value, "ARRAY")) {
4731
+ return PhysicalType::ARRAY;
4732
+ }
4473
4733
  if (StringUtil::Equals(value, "VARCHAR")) {
4474
4734
  return PhysicalType::VARCHAR;
4475
4735
  }
4736
+ if (StringUtil::Equals(value, "UINT128")) {
4737
+ return PhysicalType::UINT128;
4738
+ }
4476
4739
  if (StringUtil::Equals(value, "INT128")) {
4477
4740
  return PhysicalType::INT128;
4478
4741
  }
@@ -4926,6 +5189,57 @@ SampleMethod EnumUtil::FromString<SampleMethod>(const char *value) {
4926
5189
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
4927
5190
  }
4928
5191
 
5192
+ template<>
5193
+ const char* EnumUtil::ToChars<SecretDisplayType>(SecretDisplayType value) {
5194
+ switch(value) {
5195
+ case SecretDisplayType::REDACTED:
5196
+ return "REDACTED";
5197
+ case SecretDisplayType::UNREDACTED:
5198
+ return "UNREDACTED";
5199
+ default:
5200
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
5201
+ }
5202
+ }
5203
+
5204
+ template<>
5205
+ SecretDisplayType EnumUtil::FromString<SecretDisplayType>(const char *value) {
5206
+ if (StringUtil::Equals(value, "REDACTED")) {
5207
+ return SecretDisplayType::REDACTED;
5208
+ }
5209
+ if (StringUtil::Equals(value, "UNREDACTED")) {
5210
+ return SecretDisplayType::UNREDACTED;
5211
+ }
5212
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
5213
+ }
5214
+
5215
+ template<>
5216
+ const char* EnumUtil::ToChars<SecretPersistType>(SecretPersistType value) {
5217
+ switch(value) {
5218
+ case SecretPersistType::DEFAULT:
5219
+ return "DEFAULT";
5220
+ case SecretPersistType::TEMPORARY:
5221
+ return "TEMPORARY";
5222
+ case SecretPersistType::PERSISTENT:
5223
+ return "PERSISTENT";
5224
+ default:
5225
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
5226
+ }
5227
+ }
5228
+
5229
+ template<>
5230
+ SecretPersistType EnumUtil::FromString<SecretPersistType>(const char *value) {
5231
+ if (StringUtil::Equals(value, "DEFAULT")) {
5232
+ return SecretPersistType::DEFAULT;
5233
+ }
5234
+ if (StringUtil::Equals(value, "TEMPORARY")) {
5235
+ return SecretPersistType::TEMPORARY;
5236
+ }
5237
+ if (StringUtil::Equals(value, "PERSISTENT")) {
5238
+ return SecretPersistType::PERSISTENT;
5239
+ }
5240
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
5241
+ }
5242
+
4929
5243
  template<>
4930
5244
  const char* EnumUtil::ToChars<SequenceInfo>(SequenceInfo value) {
4931
5245
  switch(value) {
@@ -5063,6 +5377,29 @@ SetType EnumUtil::FromString<SetType>(const char *value) {
5063
5377
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
5064
5378
  }
5065
5379
 
5380
+ template<>
5381
+ const char* EnumUtil::ToChars<ShowType>(ShowType value) {
5382
+ switch(value) {
5383
+ case ShowType::SUMMARY:
5384
+ return "SUMMARY";
5385
+ case ShowType::DESCRIBE:
5386
+ return "DESCRIBE";
5387
+ default:
5388
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
5389
+ }
5390
+ }
5391
+
5392
+ template<>
5393
+ ShowType EnumUtil::FromString<ShowType>(const char *value) {
5394
+ if (StringUtil::Equals(value, "SUMMARY")) {
5395
+ return ShowType::SUMMARY;
5396
+ }
5397
+ if (StringUtil::Equals(value, "DESCRIBE")) {
5398
+ return ShowType::DESCRIBE;
5399
+ }
5400
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
5401
+ }
5402
+
5066
5403
  template<>
5067
5404
  const char* EnumUtil::ToChars<SimplifiedTokenType>(SimplifiedTokenType value) {
5068
5405
  switch(value) {
@@ -5303,8 +5640,6 @@ const char* EnumUtil::ToChars<StatementType>(StatementType value) {
5303
5640
  return "EXPORT_STATEMENT";
5304
5641
  case StatementType::PRAGMA_STATEMENT:
5305
5642
  return "PRAGMA_STATEMENT";
5306
- case StatementType::SHOW_STATEMENT:
5307
- return "SHOW_STATEMENT";
5308
5643
  case StatementType::VACUUM_STATEMENT:
5309
5644
  return "VACUUM_STATEMENT";
5310
5645
  case StatementType::CALL_STATEMENT:
@@ -5325,6 +5660,8 @@ const char* EnumUtil::ToChars<StatementType>(StatementType value) {
5325
5660
  return "DETACH_STATEMENT";
5326
5661
  case StatementType::MULTI_STATEMENT:
5327
5662
  return "MULTI_STATEMENT";
5663
+ case StatementType::COPY_DATABASE_STATEMENT:
5664
+ return "COPY_DATABASE_STATEMENT";
5328
5665
  default:
5329
5666
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
5330
5667
  }
@@ -5386,9 +5723,6 @@ StatementType EnumUtil::FromString<StatementType>(const char *value) {
5386
5723
  if (StringUtil::Equals(value, "PRAGMA_STATEMENT")) {
5387
5724
  return StatementType::PRAGMA_STATEMENT;
5388
5725
  }
5389
- if (StringUtil::Equals(value, "SHOW_STATEMENT")) {
5390
- return StatementType::SHOW_STATEMENT;
5391
- }
5392
5726
  if (StringUtil::Equals(value, "VACUUM_STATEMENT")) {
5393
5727
  return StatementType::VACUUM_STATEMENT;
5394
5728
  }
@@ -5419,6 +5753,9 @@ StatementType EnumUtil::FromString<StatementType>(const char *value) {
5419
5753
  if (StringUtil::Equals(value, "MULTI_STATEMENT")) {
5420
5754
  return StatementType::MULTI_STATEMENT;
5421
5755
  }
5756
+ if (StringUtil::Equals(value, "COPY_DATABASE_STATEMENT")) {
5757
+ return StatementType::COPY_DATABASE_STATEMENT;
5758
+ }
5422
5759
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
5423
5760
  }
5424
5761
 
@@ -5435,6 +5772,8 @@ const char* EnumUtil::ToChars<StatisticsType>(StatisticsType value) {
5435
5772
  return "STRUCT_STATS";
5436
5773
  case StatisticsType::BASE_STATS:
5437
5774
  return "BASE_STATS";
5775
+ case StatisticsType::ARRAY_STATS:
5776
+ return "ARRAY_STATS";
5438
5777
  default:
5439
5778
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
5440
5779
  }
@@ -5457,6 +5796,9 @@ StatisticsType EnumUtil::FromString<StatisticsType>(const char *value) {
5457
5796
  if (StringUtil::Equals(value, "BASE_STATS")) {
5458
5797
  return StatisticsType::BASE_STATS;
5459
5798
  }
5799
+ if (StringUtil::Equals(value, "ARRAY_STATS")) {
5800
+ return StatisticsType::ARRAY_STATS;
5801
+ }
5460
5802
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
5461
5803
  }
5462
5804
 
@@ -5567,6 +5909,12 @@ const char* EnumUtil::ToChars<StrTimeSpecifier>(StrTimeSpecifier value) {
5567
5909
  return "LOCALE_APPROPRIATE_TIME";
5568
5910
  case StrTimeSpecifier::NANOSECOND_PADDED:
5569
5911
  return "NANOSECOND_PADDED";
5912
+ case StrTimeSpecifier::YEAR_ISO:
5913
+ return "YEAR_ISO";
5914
+ case StrTimeSpecifier::WEEKDAY_ISO:
5915
+ return "WEEKDAY_ISO";
5916
+ case StrTimeSpecifier::WEEK_NUMBER_ISO:
5917
+ return "WEEK_NUMBER_ISO";
5570
5918
  default:
5571
5919
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
5572
5920
  }
@@ -5673,6 +6021,15 @@ StrTimeSpecifier EnumUtil::FromString<StrTimeSpecifier>(const char *value) {
5673
6021
  if (StringUtil::Equals(value, "NANOSECOND_PADDED")) {
5674
6022
  return StrTimeSpecifier::NANOSECOND_PADDED;
5675
6023
  }
6024
+ if (StringUtil::Equals(value, "YEAR_ISO")) {
6025
+ return StrTimeSpecifier::YEAR_ISO;
6026
+ }
6027
+ if (StringUtil::Equals(value, "WEEKDAY_ISO")) {
6028
+ return StrTimeSpecifier::WEEKDAY_ISO;
6029
+ }
6030
+ if (StringUtil::Equals(value, "WEEK_NUMBER_ISO")) {
6031
+ return StrTimeSpecifier::WEEK_NUMBER_ISO;
6032
+ }
5676
6033
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
5677
6034
  }
5678
6035
 
@@ -5750,6 +6107,8 @@ const char* EnumUtil::ToChars<TableFilterType>(TableFilterType value) {
5750
6107
  return "CONJUNCTION_OR";
5751
6108
  case TableFilterType::CONJUNCTION_AND:
5752
6109
  return "CONJUNCTION_AND";
6110
+ case TableFilterType::STRUCT_EXTRACT:
6111
+ return "STRUCT_EXTRACT";
5753
6112
  default:
5754
6113
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
5755
6114
  }
@@ -5772,6 +6131,9 @@ TableFilterType EnumUtil::FromString<TableFilterType>(const char *value) {
5772
6131
  if (StringUtil::Equals(value, "CONJUNCTION_AND")) {
5773
6132
  return TableFilterType::CONJUNCTION_AND;
5774
6133
  }
6134
+ if (StringUtil::Equals(value, "STRUCT_EXTRACT")) {
6135
+ return TableFilterType::STRUCT_EXTRACT;
6136
+ }
5775
6137
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
5776
6138
  }
5777
6139
 
@@ -5792,10 +6154,12 @@ const char* EnumUtil::ToChars<TableReferenceType>(TableReferenceType value) {
5792
6154
  return "EXPRESSION_LIST";
5793
6155
  case TableReferenceType::CTE:
5794
6156
  return "CTE";
5795
- case TableReferenceType::EMPTY:
6157
+ case TableReferenceType::EMPTY_FROM:
5796
6158
  return "EMPTY";
5797
6159
  case TableReferenceType::PIVOT:
5798
6160
  return "PIVOT";
6161
+ case TableReferenceType::SHOW_REF:
6162
+ return "SHOW_REF";
5799
6163
  default:
5800
6164
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
5801
6165
  }
@@ -5825,11 +6189,14 @@ TableReferenceType EnumUtil::FromString<TableReferenceType>(const char *value) {
5825
6189
  return TableReferenceType::CTE;
5826
6190
  }
5827
6191
  if (StringUtil::Equals(value, "EMPTY")) {
5828
- return TableReferenceType::EMPTY;
6192
+ return TableReferenceType::EMPTY_FROM;
5829
6193
  }
5830
6194
  if (StringUtil::Equals(value, "PIVOT")) {
5831
6195
  return TableReferenceType::PIVOT;
5832
6196
  }
6197
+ if (StringUtil::Equals(value, "SHOW_REF")) {
6198
+ return TableReferenceType::SHOW_REF;
6199
+ }
5833
6200
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
5834
6201
  }
5835
6202
 
@@ -6141,6 +6508,8 @@ const char* EnumUtil::ToChars<VectorBufferType>(VectorBufferType value) {
6141
6508
  return "MANAGED_BUFFER";
6142
6509
  case VectorBufferType::OPAQUE_BUFFER:
6143
6510
  return "OPAQUE_BUFFER";
6511
+ case VectorBufferType::ARRAY_BUFFER:
6512
+ return "ARRAY_BUFFER";
6144
6513
  default:
6145
6514
  throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
6146
6515
  }
@@ -6175,6 +6544,9 @@ VectorBufferType EnumUtil::FromString<VectorBufferType>(const char *value) {
6175
6544
  if (StringUtil::Equals(value, "OPAQUE_BUFFER")) {
6176
6545
  return VectorBufferType::OPAQUE_BUFFER;
6177
6546
  }
6547
+ if (StringUtil::Equals(value, "ARRAY_BUFFER")) {
6548
+ return VectorBufferType::ARRAY_BUFFER;
6549
+ }
6178
6550
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
6179
6551
  }
6180
6552
 
@@ -6235,6 +6607,8 @@ const char* EnumUtil::ToChars<VerificationType>(VerificationType value) {
6235
6607
  return "PREPARED";
6236
6608
  case VerificationType::EXTERNAL:
6237
6609
  return "EXTERNAL";
6610
+ case VerificationType::FETCH_ROW_AS_SCAN:
6611
+ return "FETCH_ROW_AS_SCAN";
6238
6612
  case VerificationType::INVALID:
6239
6613
  return "INVALID";
6240
6614
  default:
@@ -6268,6 +6642,9 @@ VerificationType EnumUtil::FromString<VerificationType>(const char *value) {
6268
6642
  if (StringUtil::Equals(value, "EXTERNAL")) {
6269
6643
  return VerificationType::EXTERNAL;
6270
6644
  }
6645
+ if (StringUtil::Equals(value, "FETCH_ROW_AS_SCAN")) {
6646
+ return VerificationType::FETCH_ROW_AS_SCAN;
6647
+ }
6271
6648
  if (StringUtil::Equals(value, "INVALID")) {
6272
6649
  return VerificationType::INVALID;
6273
6650
  }
@@ -6351,6 +6728,8 @@ const char* EnumUtil::ToChars<WALType>(WALType value) {
6351
6728
  return "DELETE_TUPLE";
6352
6729
  case WALType::UPDATE_TUPLE:
6353
6730
  return "UPDATE_TUPLE";
6731
+ case WALType::WAL_VERSION:
6732
+ return "WAL_VERSION";
6354
6733
  case WALType::CHECKPOINT:
6355
6734
  return "CHECKPOINT";
6356
6735
  case WALType::WAL_FLUSH:
@@ -6431,6 +6810,9 @@ WALType EnumUtil::FromString<WALType>(const char *value) {
6431
6810
  if (StringUtil::Equals(value, "UPDATE_TUPLE")) {
6432
6811
  return WALType::UPDATE_TUPLE;
6433
6812
  }
6813
+ if (StringUtil::Equals(value, "WAL_VERSION")) {
6814
+ return WALType::WAL_VERSION;
6815
+ }
6434
6816
  if (StringUtil::Equals(value, "CHECKPOINT")) {
6435
6817
  return WALType::CHECKPOINT;
6436
6818
  }
@@ -6526,5 +6908,38 @@ WindowBoundary EnumUtil::FromString<WindowBoundary>(const char *value) {
6526
6908
  throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
6527
6909
  }
6528
6910
 
6911
+ template<>
6912
+ const char* EnumUtil::ToChars<WindowExcludeMode>(WindowExcludeMode value) {
6913
+ switch(value) {
6914
+ case WindowExcludeMode::NO_OTHER:
6915
+ return "NO_OTHER";
6916
+ case WindowExcludeMode::CURRENT_ROW:
6917
+ return "CURRENT_ROW";
6918
+ case WindowExcludeMode::GROUP:
6919
+ return "GROUP";
6920
+ case WindowExcludeMode::TIES:
6921
+ return "TIES";
6922
+ default:
6923
+ throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
6924
+ }
6925
+ }
6926
+
6927
+ template<>
6928
+ WindowExcludeMode EnumUtil::FromString<WindowExcludeMode>(const char *value) {
6929
+ if (StringUtil::Equals(value, "NO_OTHER")) {
6930
+ return WindowExcludeMode::NO_OTHER;
6931
+ }
6932
+ if (StringUtil::Equals(value, "CURRENT_ROW")) {
6933
+ return WindowExcludeMode::CURRENT_ROW;
6934
+ }
6935
+ if (StringUtil::Equals(value, "GROUP")) {
6936
+ return WindowExcludeMode::GROUP;
6937
+ }
6938
+ if (StringUtil::Equals(value, "TIES")) {
6939
+ return WindowExcludeMode::TIES;
6940
+ }
6941
+ throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
6942
+ }
6943
+
6529
6944
  }
6530
6945