duckdb 1.3.3-dev4.0 → 1.3.3

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.

Potentially problematic release.


This version of duckdb might be problematic. Click here for more details.

Files changed (1369) hide show
  1. package/.github/workflows/NodeJS.yml +20 -8
  2. package/binding.gyp +1 -9
  3. package/lib/binding/duckdb.node +0 -0
  4. package/lib/duckdb.js +2 -0
  5. package/package.json +2 -1
  6. package/src/connection.cpp +1 -1
  7. package/src/duckdb/extension/core_functions/aggregate/algebraic/avg.cpp +0 -4
  8. package/src/duckdb/extension/core_functions/aggregate/distributive/approx_count.cpp +4 -8
  9. package/src/duckdb/extension/core_functions/aggregate/distributive/arg_min_max.cpp +12 -16
  10. package/src/duckdb/extension/core_functions/aggregate/distributive/bitagg.cpp +1 -5
  11. package/src/duckdb/extension/core_functions/aggregate/distributive/bitstring_agg.cpp +1 -5
  12. package/src/duckdb/extension/core_functions/aggregate/distributive/bool.cpp +0 -4
  13. package/src/duckdb/extension/core_functions/aggregate/distributive/kurtosis.cpp +0 -4
  14. package/src/duckdb/extension/core_functions/aggregate/distributive/product.cpp +0 -4
  15. package/src/duckdb/extension/core_functions/aggregate/distributive/skew.cpp +0 -4
  16. package/src/duckdb/extension/core_functions/aggregate/distributive/string_agg.cpp +2 -6
  17. package/src/duckdb/extension/core_functions/aggregate/distributive/sum.cpp +0 -64
  18. package/src/duckdb/extension/core_functions/aggregate/holistic/approx_top_k.cpp +3 -7
  19. package/src/duckdb/extension/core_functions/aggregate/holistic/approximate_quantile.cpp +4 -7
  20. package/src/duckdb/extension/core_functions/aggregate/holistic/mad.cpp +3 -6
  21. package/src/duckdb/extension/core_functions/aggregate/holistic/mode.cpp +1 -8
  22. package/src/duckdb/extension/core_functions/aggregate/holistic/quantile.cpp +46 -7
  23. package/src/duckdb/extension/core_functions/aggregate/holistic/reservoir_quantile.cpp +15 -9
  24. package/src/duckdb/extension/core_functions/aggregate/nested/binned_histogram.cpp +8 -12
  25. package/src/duckdb/extension/core_functions/aggregate/nested/histogram.cpp +5 -7
  26. package/src/duckdb/extension/core_functions/aggregate/nested/list.cpp +24 -14
  27. package/src/duckdb/extension/core_functions/aggregate/regression/regr_avg.cpp +0 -5
  28. package/src/duckdb/extension/core_functions/aggregate/regression/regr_intercept.cpp +0 -3
  29. package/src/duckdb/extension/core_functions/aggregate/regression/regr_r2.cpp +0 -5
  30. package/src/duckdb/extension/core_functions/aggregate/regression/regr_sxx_syy.cpp +0 -3
  31. package/src/duckdb/extension/core_functions/aggregate/regression/regr_sxy.cpp +0 -4
  32. package/src/duckdb/extension/core_functions/core_functions_extension.cpp +18 -6
  33. package/src/duckdb/extension/core_functions/function_list.cpp +3 -6
  34. package/src/duckdb/extension/core_functions/include/core_functions/aggregate/algebraic/stddev.hpp +1 -1
  35. package/src/duckdb/extension/core_functions/include/core_functions/aggregate/algebraic_functions.hpp +2 -2
  36. package/src/duckdb/extension/core_functions/include/core_functions/aggregate/distributive_functions.hpp +4 -4
  37. package/src/duckdb/extension/core_functions/include/core_functions/aggregate/holistic_functions.hpp +1 -1
  38. package/src/duckdb/extension/core_functions/include/core_functions/aggregate/quantile_sort_tree.hpp +45 -32
  39. package/src/duckdb/extension/core_functions/include/core_functions/aggregate/quantile_state.hpp +1 -1
  40. package/src/duckdb/extension/core_functions/include/core_functions/aggregate/regression_functions.hpp +8 -8
  41. package/src/duckdb/extension/core_functions/include/core_functions/aggregate/sum_helpers.hpp +1 -1
  42. package/src/duckdb/extension/core_functions/include/core_functions/scalar/array_functions.hpp +22 -22
  43. package/src/duckdb/extension/core_functions/include/core_functions/scalar/blob_functions.hpp +2 -2
  44. package/src/duckdb/extension/core_functions/include/core_functions/scalar/date_functions.hpp +5 -15
  45. package/src/duckdb/extension/core_functions/include/core_functions/scalar/generic_functions.hpp +12 -22
  46. package/src/duckdb/extension/core_functions/include/core_functions/scalar/list_functions.hpp +56 -56
  47. package/src/duckdb/extension/core_functions/include/core_functions/scalar/map_functions.hpp +2 -2
  48. package/src/duckdb/extension/core_functions/include/core_functions/scalar/math_functions.hpp +3 -3
  49. package/src/duckdb/extension/core_functions/include/core_functions/scalar/string_functions.hpp +118 -118
  50. package/src/duckdb/extension/core_functions/include/core_functions/scalar/struct_functions.hpp +0 -10
  51. package/src/duckdb/extension/core_functions/include/core_functions_extension.hpp +1 -1
  52. package/src/duckdb/extension/core_functions/lambda_functions.cpp +4 -4
  53. package/src/duckdb/extension/core_functions/scalar/array/array_functions.cpp +1 -2
  54. package/src/duckdb/extension/core_functions/scalar/array/array_value.cpp +3 -7
  55. package/src/duckdb/extension/core_functions/scalar/bit/bitstring.cpp +0 -7
  56. package/src/duckdb/extension/core_functions/scalar/blob/base64.cpp +2 -5
  57. package/src/duckdb/extension/core_functions/scalar/blob/encode.cpp +2 -6
  58. package/src/duckdb/extension/core_functions/scalar/date/date_diff.cpp +3 -7
  59. package/src/duckdb/extension/core_functions/scalar/date/date_part.cpp +33 -187
  60. package/src/duckdb/extension/core_functions/scalar/date/date_sub.cpp +3 -7
  61. package/src/duckdb/extension/core_functions/scalar/date/date_trunc.cpp +8 -12
  62. package/src/duckdb/extension/core_functions/scalar/date/epoch.cpp +12 -16
  63. package/src/duckdb/extension/core_functions/scalar/date/make_date.cpp +7 -11
  64. package/src/duckdb/extension/core_functions/scalar/date/time_bucket.cpp +3 -7
  65. package/src/duckdb/extension/core_functions/scalar/date/to_interval.cpp +0 -4
  66. package/src/duckdb/extension/core_functions/scalar/enum/enum_functions.cpp +6 -6
  67. package/src/duckdb/extension/core_functions/scalar/generic/binning.cpp +4 -8
  68. package/src/duckdb/extension/core_functions/scalar/generic/can_implicitly_cast.cpp +2 -6
  69. package/src/duckdb/extension/core_functions/scalar/generic/cast_to_type.cpp +1 -4
  70. package/src/duckdb/extension/core_functions/scalar/generic/current_setting.cpp +3 -9
  71. package/src/duckdb/extension/core_functions/scalar/generic/least.cpp +2 -5
  72. package/src/duckdb/extension/core_functions/scalar/generic/stats.cpp +2 -5
  73. package/src/duckdb/extension/core_functions/scalar/generic/system_functions.cpp +9 -13
  74. package/src/duckdb/extension/core_functions/scalar/generic/typeof.cpp +1 -5
  75. package/src/duckdb/extension/core_functions/scalar/list/array_slice.cpp +26 -29
  76. package/src/duckdb/extension/core_functions/scalar/list/flatten.cpp +49 -9
  77. package/src/duckdb/extension/core_functions/scalar/list/list_aggregates.cpp +34 -17
  78. package/src/duckdb/extension/core_functions/scalar/list/list_has_any_or_all.cpp +50 -4
  79. package/src/duckdb/extension/core_functions/scalar/list/list_reduce.cpp +42 -46
  80. package/src/duckdb/extension/core_functions/scalar/list/list_sort.cpp +51 -48
  81. package/src/duckdb/extension/core_functions/scalar/list/list_value.cpp +144 -224
  82. package/src/duckdb/extension/core_functions/scalar/list/range.cpp +1 -5
  83. package/src/duckdb/extension/core_functions/scalar/map/map.cpp +41 -13
  84. package/src/duckdb/extension/core_functions/scalar/map/map_concat.cpp +6 -6
  85. package/src/duckdb/extension/core_functions/scalar/map/map_entries.cpp +42 -6
  86. package/src/duckdb/extension/core_functions/scalar/map/map_extract.cpp +59 -10
  87. package/src/duckdb/extension/core_functions/scalar/map/map_from_entries.cpp +32 -7
  88. package/src/duckdb/extension/core_functions/scalar/map/map_keys_values.cpp +45 -10
  89. package/src/duckdb/extension/core_functions/scalar/math/numeric.cpp +139 -364
  90. package/src/duckdb/extension/core_functions/scalar/operators/bitwise.cpp +7 -29
  91. package/src/duckdb/extension/core_functions/scalar/random/random.cpp +14 -18
  92. package/src/duckdb/extension/core_functions/scalar/random/setseed.cpp +1 -5
  93. package/src/duckdb/extension/core_functions/scalar/string/hex.cpp +2 -2
  94. package/src/duckdb/extension/core_functions/scalar/string/instr.cpp +3 -5
  95. package/src/duckdb/extension/core_functions/scalar/string/printf.cpp +0 -16
  96. package/src/duckdb/extension/core_functions/scalar/string/repeat.cpp +17 -2
  97. package/src/duckdb/extension/core_functions/scalar/struct/struct_insert.cpp +1 -1
  98. package/src/duckdb/extension/core_functions/scalar/union/union_extract.cpp +3 -7
  99. package/src/duckdb/extension/core_functions/scalar/union/union_tag.cpp +3 -7
  100. package/src/duckdb/extension/core_functions/scalar/union/union_value.cpp +3 -7
  101. package/src/duckdb/extension/icu/icu-current.cpp +5 -5
  102. package/src/duckdb/extension/icu/icu-dateadd.cpp +11 -11
  103. package/src/duckdb/extension/icu/icu-datepart.cpp +44 -44
  104. package/src/duckdb/extension/icu/icu-datesub.cpp +10 -10
  105. package/src/duckdb/extension/icu/icu-datetrunc.cpp +6 -6
  106. package/src/duckdb/extension/icu/icu-list-range.cpp +6 -7
  107. package/src/duckdb/extension/icu/icu-makedate.cpp +11 -8
  108. package/src/duckdb/extension/icu/icu-strptime.cpp +29 -23
  109. package/src/duckdb/extension/icu/icu-table-range.cpp +6 -8
  110. package/src/duckdb/extension/icu/icu-timebucket.cpp +5 -5
  111. package/src/duckdb/extension/icu/icu-timezone.cpp +30 -24
  112. package/src/duckdb/extension/icu/icu_extension.cpp +34 -22
  113. package/src/duckdb/extension/icu/include/icu-casts.hpp +2 -2
  114. package/src/duckdb/extension/icu/include/icu-current.hpp +3 -3
  115. package/src/duckdb/extension/icu/include/icu-dateadd.hpp +3 -3
  116. package/src/duckdb/extension/icu/include/icu-datepart.hpp +3 -3
  117. package/src/duckdb/extension/icu/include/icu-datesub.hpp +3 -3
  118. package/src/duckdb/extension/icu/include/icu-datetrunc.hpp +3 -3
  119. package/src/duckdb/extension/icu/include/icu-list-range.hpp +3 -3
  120. package/src/duckdb/extension/icu/include/icu-makedate.hpp +3 -3
  121. package/src/duckdb/extension/icu/include/icu-strptime.hpp +3 -3
  122. package/src/duckdb/extension/icu/include/icu-table-range.hpp +3 -3
  123. package/src/duckdb/extension/icu/include/icu-timebucket.hpp +3 -3
  124. package/src/duckdb/extension/icu/include/icu-timezone.hpp +3 -3
  125. package/src/duckdb/extension/icu/include/icu_extension.hpp +1 -1
  126. package/src/duckdb/extension/json/include/json_common.hpp +2 -10
  127. package/src/duckdb/extension/json/include/json_enums.hpp +1 -3
  128. package/src/duckdb/extension/json/include/json_extension.hpp +1 -1
  129. package/src/duckdb/extension/json/include/json_functions.hpp +4 -4
  130. package/src/duckdb/extension/json/include/json_multi_file_info.hpp +2 -2
  131. package/src/duckdb/extension/json/include/json_reader.hpp +1 -3
  132. package/src/duckdb/extension/json/json_enums.cpp +0 -5
  133. package/src/duckdb/extension/json/json_extension.cpp +38 -27
  134. package/src/duckdb/extension/json/json_functions/copy_json.cpp +3 -8
  135. package/src/duckdb/extension/json/json_functions/json_create.cpp +6 -9
  136. package/src/duckdb/extension/json/json_functions/json_merge_patch.cpp +20 -3
  137. package/src/duckdb/extension/json/json_functions/json_pretty.cpp +3 -3
  138. package/src/duckdb/extension/json/json_functions/json_serialize_plan.cpp +4 -6
  139. package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +4 -6
  140. package/src/duckdb/extension/json/json_functions/json_table_in_out.cpp +2 -6
  141. package/src/duckdb/extension/json/json_functions/json_transform.cpp +3 -5
  142. package/src/duckdb/extension/json/json_functions/read_json.cpp +3 -4
  143. package/src/duckdb/extension/json/json_functions.cpp +8 -135
  144. package/src/duckdb/extension/json/json_multi_file_info.cpp +2 -5
  145. package/src/duckdb/extension/json/json_reader.cpp +6 -7
  146. package/src/duckdb/extension/parquet/column_reader.cpp +21 -46
  147. package/src/duckdb/extension/parquet/column_writer.cpp +105 -16
  148. package/src/duckdb/extension/parquet/geo_parquet.cpp +171 -231
  149. package/src/duckdb/extension/parquet/include/column_reader.hpp +2 -0
  150. package/src/duckdb/extension/parquet/include/column_writer.hpp +1 -2
  151. package/src/duckdb/extension/parquet/include/geo_parquet.hpp +66 -160
  152. package/src/duckdb/extension/parquet/include/parquet_column_schema.hpp +4 -6
  153. package/src/duckdb/extension/parquet/include/parquet_crypto.hpp +3 -0
  154. package/src/duckdb/extension/parquet/include/parquet_extension.hpp +1 -1
  155. package/src/duckdb/extension/parquet/include/parquet_file_metadata_cache.hpp +2 -5
  156. package/src/duckdb/extension/parquet/include/parquet_multi_file_info.hpp +2 -2
  157. package/src/duckdb/extension/parquet/include/parquet_reader.hpp +2 -10
  158. package/src/duckdb/extension/parquet/include/parquet_rle_bp_encoder.hpp +0 -3
  159. package/src/duckdb/extension/parquet/include/parquet_statistics.hpp +2 -0
  160. package/src/duckdb/extension/parquet/include/parquet_timestamp.hpp +6 -10
  161. package/src/duckdb/extension/parquet/include/parquet_writer.hpp +3 -4
  162. package/src/duckdb/extension/parquet/include/reader/row_number_column_reader.hpp +2 -0
  163. package/src/duckdb/extension/parquet/include/reader/uuid_column_reader.hpp +13 -3
  164. package/src/duckdb/extension/parquet/include/resizable_buffer.hpp +2 -0
  165. package/src/duckdb/extension/parquet/include/thrift_tools.hpp +3 -3
  166. package/src/duckdb/extension/parquet/include/writer/array_column_writer.hpp +1 -2
  167. package/src/duckdb/extension/parquet/include/writer/list_column_writer.hpp +1 -2
  168. package/src/duckdb/extension/parquet/include/writer/parquet_write_operators.hpp +10 -47
  169. package/src/duckdb/extension/parquet/include/writer/parquet_write_stats.hpp +1 -55
  170. package/src/duckdb/extension/parquet/include/writer/primitive_column_writer.hpp +3 -4
  171. package/src/duckdb/extension/parquet/include/writer/struct_column_writer.hpp +1 -2
  172. package/src/duckdb/extension/parquet/include/writer/templated_column_writer.hpp +3 -6
  173. package/src/duckdb/extension/parquet/include/zstd_file_system.hpp +3 -1
  174. package/src/duckdb/extension/parquet/parquet_crypto.cpp +11 -11
  175. package/src/duckdb/extension/parquet/parquet_extension.cpp +68 -84
  176. package/src/duckdb/extension/parquet/parquet_file_metadata_cache.cpp +4 -4
  177. package/src/duckdb/extension/parquet/parquet_float16.cpp +3 -0
  178. package/src/duckdb/extension/parquet/parquet_metadata.cpp +17 -115
  179. package/src/duckdb/extension/parquet/parquet_multi_file_info.cpp +10 -25
  180. package/src/duckdb/extension/parquet/parquet_reader.cpp +56 -181
  181. package/src/duckdb/extension/parquet/parquet_statistics.cpp +8 -26
  182. package/src/duckdb/extension/parquet/parquet_timestamp.cpp +4 -14
  183. package/src/duckdb/extension/parquet/parquet_writer.cpp +16 -117
  184. package/src/duckdb/extension/parquet/reader/decimal_column_reader.cpp +1 -1
  185. package/src/duckdb/extension/parquet/writer/array_column_writer.cpp +2 -5
  186. package/src/duckdb/extension/parquet/writer/enum_column_writer.cpp +1 -1
  187. package/src/duckdb/extension/parquet/writer/list_column_writer.cpp +3 -6
  188. package/src/duckdb/extension/parquet/writer/primitive_column_writer.cpp +8 -24
  189. package/src/duckdb/extension/parquet/writer/struct_column_writer.cpp +2 -4
  190. package/src/duckdb/extension/parquet/zstd_file_system.cpp +6 -7
  191. package/src/duckdb/src/catalog/catalog.cpp +62 -92
  192. package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +8 -8
  193. package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +8 -14
  194. package/src/duckdb/src/catalog/catalog_set.cpp +0 -1
  195. package/src/duckdb/src/catalog/default/default_functions.cpp +4 -4
  196. package/src/duckdb/src/catalog/default/default_table_functions.cpp +4 -5
  197. package/src/duckdb/src/catalog/default/default_views.cpp +1 -1
  198. package/src/duckdb/src/catalog/duck_catalog.cpp +0 -28
  199. package/src/duckdb/src/common/adbc/adbc.cpp +125 -243
  200. package/src/duckdb/src/common/adbc/driver_manager.cpp +3 -3
  201. package/src/duckdb/src/common/arrow/appender/bool_data.cpp +7 -6
  202. package/src/duckdb/src/common/arrow/appender/fixed_size_list_data.cpp +1 -1
  203. package/src/duckdb/src/common/arrow/appender/struct_data.cpp +1 -1
  204. package/src/duckdb/src/common/arrow/appender/union_data.cpp +1 -0
  205. package/src/duckdb/src/common/arrow/arrow_appender.cpp +17 -13
  206. package/src/duckdb/src/common/arrow/arrow_converter.cpp +6 -14
  207. package/src/duckdb/src/common/arrow/arrow_type_extension.cpp +6 -6
  208. package/src/duckdb/src/common/arrow/physical_arrow_collector.cpp +10 -16
  209. package/src/duckdb/src/common/arrow/schema_metadata.cpp +2 -2
  210. package/src/duckdb/src/common/box_renderer.cpp +32 -83
  211. package/src/duckdb/src/common/complex_json.cpp +5 -20
  212. package/src/duckdb/src/common/compressed_file_system.cpp +5 -6
  213. package/src/duckdb/src/common/encryption_state.cpp +9 -56
  214. package/src/duckdb/src/common/enum_util.cpp +51 -405
  215. package/src/duckdb/src/common/enums/expression_type.cpp +0 -2
  216. package/src/duckdb/src/common/enums/logical_operator_type.cpp +0 -2
  217. package/src/duckdb/src/common/enums/metric_type.cpp +0 -6
  218. package/src/duckdb/src/common/enums/optimizer_type.cpp +0 -1
  219. package/src/duckdb/src/common/enums/physical_operator_type.cpp +0 -2
  220. package/src/duckdb/src/common/enums/statement_type.cpp +0 -2
  221. package/src/duckdb/src/common/error_data.cpp +0 -11
  222. package/src/duckdb/src/common/exception_format_value.cpp +1 -15
  223. package/src/duckdb/src/common/extra_type_info.cpp +0 -43
  224. package/src/duckdb/src/common/file_buffer.cpp +8 -11
  225. package/src/duckdb/src/common/file_system.cpp +12 -82
  226. package/src/duckdb/src/common/gzip_file_system.cpp +11 -13
  227. package/src/duckdb/src/common/local_file_system.cpp +16 -25
  228. package/src/duckdb/src/common/multi_file/base_file_reader.cpp +0 -4
  229. package/src/duckdb/src/common/multi_file/multi_file_column_mapper.cpp +11 -7
  230. package/src/duckdb/src/common/multi_file/multi_file_function.cpp +0 -8
  231. package/src/duckdb/src/common/multi_file/multi_file_list.cpp +4 -8
  232. package/src/duckdb/src/common/multi_file/multi_file_reader.cpp +5 -9
  233. package/src/duckdb/src/common/operator/cast_operators.cpp +6 -147
  234. package/src/duckdb/src/common/operator/string_cast.cpp +12 -41
  235. package/src/duckdb/src/common/pipe_file_system.cpp +5 -10
  236. package/src/duckdb/src/common/progress_bar/progress_bar.cpp +2 -2
  237. package/src/duckdb/src/common/progress_bar/terminal_progress_bar_display.cpp +7 -81
  238. package/src/duckdb/src/common/radix_partitioning.cpp +2 -2
  239. package/src/duckdb/src/common/row_operations/row_aggregate.cpp +11 -8
  240. package/src/duckdb/src/common/row_operations/row_external.cpp +7 -0
  241. package/src/duckdb/src/common/row_operations/row_gather.cpp +5 -0
  242. package/src/duckdb/src/common/row_operations/row_matcher.cpp +37 -55
  243. package/src/duckdb/src/common/row_operations/row_scatter.cpp +6 -0
  244. package/src/duckdb/src/common/serializer/buffered_file_reader.cpp +0 -4
  245. package/src/duckdb/src/common/serializer/buffered_file_writer.cpp +0 -4
  246. package/src/duckdb/src/common/serializer/memory_stream.cpp +0 -4
  247. package/src/duckdb/src/common/sort/partition_state.cpp +3 -3
  248. package/src/duckdb/src/common/string_util.cpp +44 -64
  249. package/src/duckdb/src/common/tree_renderer/text_tree_renderer.cpp +3 -40
  250. package/src/duckdb/src/common/tree_renderer.cpp +0 -3
  251. package/src/duckdb/src/common/types/column/column_data_allocator.cpp +29 -27
  252. package/src/duckdb/src/common/types/column/column_data_collection.cpp +68 -216
  253. package/src/duckdb/src/common/types/column/column_data_collection_segment.cpp +2 -3
  254. package/src/duckdb/src/common/types/conflict_info.cpp +2 -1
  255. package/src/duckdb/src/common/types/conflict_manager.cpp +207 -82
  256. package/src/duckdb/src/common/types/data_chunk.cpp +3 -10
  257. package/src/duckdb/src/common/types/date.cpp +10 -8
  258. package/src/duckdb/src/common/types/hash.cpp +7 -7
  259. package/src/duckdb/src/common/types/row/partitioned_tuple_data.cpp +29 -38
  260. package/src/duckdb/src/common/types/row/tuple_data_allocator.cpp +54 -272
  261. package/src/duckdb/src/common/types/row/tuple_data_collection.cpp +45 -156
  262. package/src/duckdb/src/common/types/row/tuple_data_iterator.cpp +5 -5
  263. package/src/duckdb/src/common/types/row/tuple_data_layout.cpp +18 -122
  264. package/src/duckdb/src/common/types/row/tuple_data_scatter_gather.cpp +83 -466
  265. package/src/duckdb/src/common/types/row/tuple_data_segment.cpp +28 -8
  266. package/src/duckdb/src/common/types/time.cpp +2 -2
  267. package/src/duckdb/src/common/types/timestamp.cpp +14 -26
  268. package/src/duckdb/src/common/types/uuid.cpp +2 -33
  269. package/src/duckdb/src/common/types/value.cpp +16 -79
  270. package/src/duckdb/src/common/types/vector.cpp +22 -190
  271. package/src/duckdb/src/common/types/vector_buffer.cpp +0 -4
  272. package/src/duckdb/src/common/types/vector_cache.cpp +0 -4
  273. package/src/duckdb/src/common/types.cpp +22 -110
  274. package/src/duckdb/src/common/value_operations/comparison_operations.cpp +27 -24
  275. package/src/duckdb/src/common/vector_operations/boolean_operators.cpp +9 -12
  276. package/src/duckdb/src/common/vector_operations/comparison_operators.cpp +4 -5
  277. package/src/duckdb/src/common/vector_operations/generators.cpp +1 -1
  278. package/src/duckdb/src/common/vector_operations/is_distinct_from.cpp +135 -70
  279. package/src/duckdb/src/common/vector_operations/null_operations.cpp +1 -1
  280. package/src/duckdb/src/common/vector_operations/vector_copy.cpp +2 -5
  281. package/src/duckdb/src/common/vector_operations/vector_hash.cpp +55 -110
  282. package/src/duckdb/src/common/vector_operations/vector_storage.cpp +10 -14
  283. package/src/duckdb/src/common/virtual_file_system.cpp +3 -12
  284. package/src/duckdb/src/execution/aggregate_hashtable.cpp +50 -88
  285. package/src/duckdb/src/execution/column_binding_resolver.cpp +6 -7
  286. package/src/duckdb/src/execution/expression_executor/execute_function.cpp +2 -113
  287. package/src/duckdb/src/execution/expression_executor.cpp +4 -44
  288. package/src/duckdb/src/execution/index/art/art.cpp +216 -78
  289. package/src/duckdb/src/execution/index/art/art_key.cpp +23 -0
  290. package/src/duckdb/src/execution/index/art/art_merger.cpp +4 -3
  291. package/src/duckdb/src/execution/index/art/base_leaf.cpp +11 -10
  292. package/src/duckdb/src/execution/index/art/base_node.cpp +75 -103
  293. package/src/duckdb/src/execution/index/art/iterator.cpp +3 -3
  294. package/src/duckdb/src/execution/index/art/leaf.cpp +11 -9
  295. package/src/duckdb/src/execution/index/art/node.cpp +53 -54
  296. package/src/duckdb/src/execution/index/art/node256.cpp +56 -30
  297. package/src/duckdb/src/execution/index/art/node256_leaf.cpp +30 -43
  298. package/src/duckdb/src/execution/index/art/node48.cpp +101 -69
  299. package/src/duckdb/src/execution/index/art/plan_art.cpp +1 -2
  300. package/src/duckdb/src/execution/index/art/prefix.cpp +125 -115
  301. package/src/duckdb/src/execution/index/bound_index.cpp +10 -39
  302. package/src/duckdb/src/execution/index/fixed_size_allocator.cpp +8 -23
  303. package/src/duckdb/src/execution/index/fixed_size_buffer.cpp +23 -35
  304. package/src/duckdb/src/execution/index/unbound_index.cpp +6 -26
  305. package/src/duckdb/src/execution/join_hashtable.cpp +55 -52
  306. package/src/duckdb/src/execution/nested_loop_join/nested_loop_join_inner.cpp +0 -3
  307. package/src/duckdb/src/execution/operator/aggregate/distinct_aggregate_data.cpp +4 -6
  308. package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +18 -27
  309. package/src/duckdb/src/execution/operator/aggregate/physical_partitioned_aggregate.cpp +2 -4
  310. package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +2 -4
  311. package/src/duckdb/src/execution/operator/aggregate/physical_streaming_window.cpp +2 -8
  312. package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +4 -6
  313. package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +387 -433
  314. package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer.cpp +4 -5
  315. package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_file_handle.cpp +4 -12
  316. package/src/duckdb/src/execution/operator/csv_scanner/encode/csv_encoder.cpp +7 -8
  317. package/src/duckdb/src/execution/operator/csv_scanner/scanner/string_value_scanner.cpp +5 -7
  318. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp +2 -15
  319. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/header_detection.cpp +1 -1
  320. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_detection.cpp +4 -4
  321. package/src/duckdb/src/execution/operator/csv_scanner/table_function/csv_multi_file_info.cpp +3 -12
  322. package/src/duckdb/src/execution/operator/csv_scanner/util/csv_error.cpp +2 -7
  323. package/src/duckdb/src/execution/operator/csv_scanner/util/csv_reader_options.cpp +0 -4
  324. package/src/duckdb/src/execution/operator/filter/physical_filter.cpp +12 -14
  325. package/src/duckdb/src/execution/operator/helper/physical_batch_collector.cpp +1 -2
  326. package/src/duckdb/src/execution/operator/helper/physical_buffered_batch_collector.cpp +2 -2
  327. package/src/duckdb/src/execution/operator/helper/physical_buffered_collector.cpp +2 -3
  328. package/src/duckdb/src/execution/operator/helper/physical_execute.cpp +2 -2
  329. package/src/duckdb/src/execution/operator/helper/physical_limit.cpp +3 -3
  330. package/src/duckdb/src/execution/operator/helper/physical_limit_percent.cpp +3 -4
  331. package/src/duckdb/src/execution/operator/helper/physical_materialized_collector.cpp +2 -3
  332. package/src/duckdb/src/execution/operator/helper/physical_reset.cpp +9 -29
  333. package/src/duckdb/src/execution/operator/helper/physical_result_collector.cpp +20 -23
  334. package/src/duckdb/src/execution/operator/helper/physical_set.cpp +11 -28
  335. package/src/duckdb/src/execution/operator/helper/physical_set_variable.cpp +2 -3
  336. package/src/duckdb/src/execution/operator/helper/physical_streaming_limit.cpp +3 -4
  337. package/src/duckdb/src/execution/operator/helper/physical_streaming_sample.cpp +3 -3
  338. package/src/duckdb/src/execution/operator/helper/physical_transaction.cpp +4 -4
  339. package/src/duckdb/src/execution/operator/helper/physical_vacuum.cpp +3 -7
  340. package/src/duckdb/src/execution/operator/helper/physical_verify_vector.cpp +2 -4
  341. package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +10 -11
  342. package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +2 -3
  343. package/src/duckdb/src/execution/operator/join/physical_comparison_join.cpp +4 -4
  344. package/src/duckdb/src/execution/operator/join/physical_cross_product.cpp +3 -4
  345. package/src/duckdb/src/execution/operator/join/physical_delim_join.cpp +2 -2
  346. package/src/duckdb/src/execution/operator/join/physical_hash_join.cpp +8 -13
  347. package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +14 -15
  348. package/src/duckdb/src/execution/operator/join/physical_join.cpp +3 -3
  349. package/src/duckdb/src/execution/operator/join/physical_left_delim_join.cpp +4 -5
  350. package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +7 -7
  351. package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +21 -20
  352. package/src/duckdb/src/execution/operator/join/physical_positional_join.cpp +3 -4
  353. package/src/duckdb/src/execution/operator/join/physical_range_join.cpp +6 -18
  354. package/src/duckdb/src/execution/operator/join/physical_right_delim_join.cpp +4 -5
  355. package/src/duckdb/src/execution/operator/order/physical_order.cpp +203 -62
  356. package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +4 -5
  357. package/src/duckdb/src/execution/operator/persistent/physical_batch_copy_to_file.cpp +3 -5
  358. package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +7 -9
  359. package/src/duckdb/src/execution/operator/persistent/physical_copy_database.cpp +5 -7
  360. package/src/duckdb/src/execution/operator/persistent/physical_copy_to_file.cpp +7 -12
  361. package/src/duckdb/src/execution/operator/persistent/physical_delete.cpp +5 -34
  362. package/src/duckdb/src/execution/operator/persistent/physical_export.cpp +20 -6
  363. package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +74 -91
  364. package/src/duckdb/src/execution/operator/persistent/physical_update.cpp +9 -11
  365. package/src/duckdb/src/execution/operator/projection/physical_pivot.cpp +4 -7
  366. package/src/duckdb/src/execution/operator/projection/physical_projection.cpp +36 -3
  367. package/src/duckdb/src/execution/operator/projection/physical_tableinout_function.cpp +4 -26
  368. package/src/duckdb/src/execution/operator/projection/physical_unnest.cpp +3 -5
  369. package/src/duckdb/src/execution/operator/scan/physical_column_data_scan.cpp +7 -9
  370. package/src/duckdb/src/execution/operator/scan/physical_positional_scan.cpp +3 -3
  371. package/src/duckdb/src/execution/operator/scan/physical_table_scan.cpp +5 -6
  372. package/src/duckdb/src/execution/operator/schema/physical_attach.cpp +9 -11
  373. package/src/duckdb/src/execution/operator/schema/physical_create_art_index.cpp +4 -5
  374. package/src/duckdb/src/execution/operator/schema/physical_create_table.cpp +3 -3
  375. package/src/duckdb/src/execution/operator/schema/physical_create_type.cpp +2 -3
  376. package/src/duckdb/src/execution/operator/schema/physical_drop.cpp +2 -3
  377. package/src/duckdb/src/execution/operator/set/physical_cte.cpp +4 -5
  378. package/src/duckdb/src/execution/operator/set/physical_recursive_cte.cpp +3 -5
  379. package/src/duckdb/src/execution/operator/set/physical_union.cpp +3 -3
  380. package/src/duckdb/src/execution/physical_operator.cpp +32 -42
  381. package/src/duckdb/src/execution/physical_plan/plan_aggregate.cpp +12 -24
  382. package/src/duckdb/src/execution/physical_plan/plan_asof_join.cpp +3 -5
  383. package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +18 -12
  384. package/src/duckdb/src/execution/physical_plan/plan_get.cpp +1 -3
  385. package/src/duckdb/src/execution/physical_plan/plan_insert.cpp +10 -11
  386. package/src/duckdb/src/execution/physical_plan/plan_recursive_cte.cpp +18 -16
  387. package/src/duckdb/src/execution/physical_plan_generator.cpp +5 -8
  388. package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +27 -16
  389. package/src/duckdb/src/execution/sample/base_reservoir_sample.cpp +22 -22
  390. package/src/duckdb/src/function/aggregate/distributive/count.cpp +11 -14
  391. package/src/duckdb/src/function/aggregate/distributive/first_last_any.cpp +19 -23
  392. package/src/duckdb/src/function/aggregate/distributive/minmax.cpp +7 -14
  393. package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +234 -185
  394. package/src/duckdb/src/function/cast/blob_cast.cpp +0 -3
  395. package/src/duckdb/src/function/cast/cast_function_set.cpp +4 -24
  396. package/src/duckdb/src/function/cast/decimal_cast.cpp +3 -3
  397. package/src/duckdb/src/function/cast/default_casts.cpp +4 -12
  398. package/src/duckdb/src/function/cast/enum_casts.cpp +3 -4
  399. package/src/duckdb/src/function/cast/numeric_casts.cpp +3 -3
  400. package/src/duckdb/src/function/cast/string_cast.cpp +11 -14
  401. package/src/duckdb/src/function/cast/struct_cast.cpp +2 -127
  402. package/src/duckdb/src/function/cast/time_casts.cpp +0 -18
  403. package/src/duckdb/src/function/cast/union_casts.cpp +6 -7
  404. package/src/duckdb/src/function/cast/uuid_casts.cpp +0 -3
  405. package/src/duckdb/src/function/cast_rules.cpp +4 -38
  406. package/src/duckdb/src/function/copy_function.cpp +0 -15
  407. package/src/duckdb/src/function/function.cpp +0 -2
  408. package/src/duckdb/src/function/function_binder.cpp +13 -239
  409. package/src/duckdb/src/function/function_list.cpp +0 -8
  410. package/src/duckdb/src/function/macro_function.cpp +70 -263
  411. package/src/duckdb/src/function/pragma/pragma_functions.cpp +38 -6
  412. package/src/duckdb/src/function/pragma/pragma_queries.cpp +22 -37
  413. package/src/duckdb/src/function/register_function_list.cpp +5 -5
  414. package/src/duckdb/src/function/scalar/compressed_materialization/compress_integral.cpp +34 -43
  415. package/src/duckdb/src/function/scalar/compressed_materialization/compress_string.cpp +38 -61
  416. package/src/duckdb/src/function/scalar/create_sort_key.cpp +154 -374
  417. package/src/duckdb/src/function/scalar/date/strftime.cpp +28 -31
  418. package/src/duckdb/src/function/scalar/generic/constant_or_null.cpp +14 -18
  419. package/src/duckdb/src/function/scalar/generic/error.cpp +7 -18
  420. package/src/duckdb/src/function/scalar/generic/getvariable.cpp +2 -5
  421. package/src/duckdb/src/function/scalar/list/contains_or_position.cpp +52 -4
  422. package/src/duckdb/src/function/scalar/list/list_extract.cpp +12 -5
  423. package/src/duckdb/src/function/scalar/list/list_resize.cpp +1 -1
  424. package/src/duckdb/src/function/scalar/list/list_select.cpp +27 -11
  425. package/src/duckdb/src/function/scalar/map/map_contains.cpp +31 -5
  426. package/src/duckdb/src/function/scalar/operator/add.cpp +1 -6
  427. package/src/duckdb/src/function/scalar/operator/arithmetic.cpp +10 -130
  428. package/src/duckdb/src/function/scalar/operator/multiply.cpp +2 -4
  429. package/src/duckdb/src/function/scalar/operator/subtract.cpp +1 -3
  430. package/src/duckdb/src/function/scalar/sequence/nextval.cpp +3 -7
  431. package/src/duckdb/src/function/scalar/strftime_format.cpp +2 -2
  432. package/src/duckdb/src/function/scalar/string/caseconvert.cpp +0 -4
  433. package/src/duckdb/src/function/scalar/string/concat.cpp +19 -18
  434. package/src/duckdb/src/function/scalar/string/contains.cpp +7 -14
  435. package/src/duckdb/src/function/scalar/string/length.cpp +9 -13
  436. package/src/duckdb/src/function/scalar/string/like.cpp +143 -146
  437. package/src/duckdb/src/function/scalar/string/md5.cpp +2 -6
  438. package/src/duckdb/src/function/scalar/string/nfc_normalize.cpp +1 -5
  439. package/src/duckdb/src/function/scalar/string/prefix.cpp +8 -11
  440. package/src/duckdb/src/function/scalar/string/regexp_escape.cpp +1 -5
  441. package/src/duckdb/src/function/scalar/string/sha1.cpp +1 -5
  442. package/src/duckdb/src/function/scalar/string/sha256.cpp +1 -5
  443. package/src/duckdb/src/function/scalar/string/string_split.cpp +3 -7
  444. package/src/duckdb/src/function/scalar/string/strip_accents.cpp +1 -5
  445. package/src/duckdb/src/function/scalar/string/substring.cpp +6 -10
  446. package/src/duckdb/src/function/scalar/string/suffix.cpp +8 -10
  447. package/src/duckdb/src/function/scalar/struct/remap_struct.cpp +17 -20
  448. package/src/duckdb/src/function/scalar/struct/struct_concat.cpp +1 -1
  449. package/src/duckdb/src/function/scalar/struct/struct_pack.cpp +2 -2
  450. package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +31 -34
  451. package/src/duckdb/src/function/scalar/system/current_connection_id.cpp +1 -5
  452. package/src/duckdb/src/function/scalar/system/current_query_id.cpp +1 -5
  453. package/src/duckdb/src/function/scalar/system/current_transaction_id.cpp +1 -5
  454. package/src/duckdb/src/function/scalar/system/parse_log_message.cpp +1 -5
  455. package/src/duckdb/src/function/scalar/system/write_log.cpp +13 -11
  456. package/src/duckdb/src/function/scalar_macro_function.cpp +11 -8
  457. package/src/duckdb/src/function/table/arrow/arrow_array_scan_state.cpp +3 -2
  458. package/src/duckdb/src/function/table/arrow/arrow_duck_schema.cpp +2 -27
  459. package/src/duckdb/src/function/table/arrow.cpp +17 -37
  460. package/src/duckdb/src/function/table/arrow_conversion.cpp +236 -186
  461. package/src/duckdb/src/function/table/copy_csv.cpp +245 -76
  462. package/src/duckdb/src/function/table/read_file.cpp +220 -90
  463. package/src/duckdb/src/function/table/sniff_csv.cpp +1 -0
  464. package/src/duckdb/src/function/table/system/duckdb_columns.cpp +2 -2
  465. package/src/duckdb/src/function/table/system/duckdb_constraints.cpp +7 -3
  466. package/src/duckdb/src/function/table/system/duckdb_databases.cpp +5 -20
  467. package/src/duckdb/src/function/table/system/duckdb_extensions.cpp +5 -10
  468. package/src/duckdb/src/function/table/system/duckdb_functions.cpp +22 -6
  469. package/src/duckdb/src/function/table/system/duckdb_log.cpp +5 -41
  470. package/src/duckdb/src/function/table/system/duckdb_log_contexts.cpp +6 -15
  471. package/src/duckdb/src/function/table/system/duckdb_settings.cpp +6 -29
  472. package/src/duckdb/src/function/table/system/duckdb_types.cpp +0 -4
  473. package/src/duckdb/src/function/table/system/pragma_database_size.cpp +2 -2
  474. package/src/duckdb/src/function/table/system/test_all_types.cpp +6 -30
  475. package/src/duckdb/src/function/table/system_functions.cpp +0 -2
  476. package/src/duckdb/src/function/table/table_scan.cpp +48 -82
  477. package/src/duckdb/src/function/table/version/pragma_version.cpp +4 -7
  478. package/src/duckdb/src/function/window/window_aggregate_function.cpp +46 -56
  479. package/src/duckdb/src/function/window/window_aggregator.cpp +19 -33
  480. package/src/duckdb/src/function/window/window_boundaries_state.cpp +2 -12
  481. package/src/duckdb/src/function/window/window_collection.cpp +0 -30
  482. package/src/duckdb/src/function/window/window_constant_aggregator.cpp +24 -32
  483. package/src/duckdb/src/function/window/window_custom_aggregator.cpp +40 -54
  484. package/src/duckdb/src/function/window/window_distinct_aggregator.cpp +251 -200
  485. package/src/duckdb/src/function/window/window_executor.cpp +36 -44
  486. package/src/duckdb/src/function/window/window_index_tree.cpp +16 -26
  487. package/src/duckdb/src/function/window/window_merge_sort_tree.cpp +151 -98
  488. package/src/duckdb/src/function/window/window_naive_aggregator.cpp +72 -94
  489. package/src/duckdb/src/function/window/window_rank_function.cpp +63 -57
  490. package/src/duckdb/src/function/window/window_rownumber_function.cpp +47 -45
  491. package/src/duckdb/src/function/window/window_segment_tree.cpp +22 -28
  492. package/src/duckdb/src/function/window/window_token_tree.cpp +41 -46
  493. package/src/duckdb/src/function/window/window_value_function.cpp +93 -632
  494. package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +5 -24
  495. package/src/duckdb/src/include/duckdb/catalog/default/builtin_types/types.hpp +2 -5
  496. package/src/duckdb/src/include/duckdb/catalog/duck_catalog.hpp +0 -16
  497. package/src/duckdb/src/include/duckdb/common/adbc/adbc.hpp +1 -68
  498. package/src/duckdb/src/include/duckdb/common/allocator.hpp +0 -3
  499. package/src/duckdb/src/include/duckdb/common/arrow/appender/append_data.hpp +55 -31
  500. package/src/duckdb/src/include/duckdb/common/arrow/appender/enum_data.hpp +1 -1
  501. package/src/duckdb/src/include/duckdb/common/arrow/appender/list_data.hpp +1 -1
  502. package/src/duckdb/src/include/duckdb/common/arrow/appender/list_view_data.hpp +1 -1
  503. package/src/duckdb/src/include/duckdb/common/arrow/appender/map_data.hpp +1 -1
  504. package/src/duckdb/src/include/duckdb/common/arrow/appender/scalar_data.hpp +1 -1
  505. package/src/duckdb/src/include/duckdb/common/arrow/appender/varchar_data.hpp +6 -6
  506. package/src/duckdb/src/include/duckdb/common/arrow/arrow_wrapper.hpp +0 -10
  507. package/src/duckdb/src/include/duckdb/common/arrow/physical_arrow_batch_collector.hpp +2 -2
  508. package/src/duckdb/src/include/duckdb/common/arrow/physical_arrow_collector.hpp +4 -3
  509. package/src/duckdb/src/include/duckdb/common/box_renderer.hpp +4 -4
  510. package/src/duckdb/src/include/duckdb/common/chrono.hpp +0 -1
  511. package/src/duckdb/src/include/duckdb/common/complex_json.hpp +4 -15
  512. package/src/duckdb/src/include/duckdb/common/compressed_file_system.hpp +2 -2
  513. package/src/duckdb/src/include/duckdb/common/encryption_state.hpp +9 -25
  514. package/src/duckdb/src/include/duckdb/common/enum_util.hpp +0 -120
  515. package/src/duckdb/src/include/duckdb/common/enums/checkpoint_type.hpp +1 -3
  516. package/src/duckdb/src/include/duckdb/common/enums/debug_vector_verification.hpp +1 -2
  517. package/src/duckdb/src/include/duckdb/common/enums/explain_format.hpp +1 -1
  518. package/src/duckdb/src/include/duckdb/common/enums/expression_type.hpp +0 -1
  519. package/src/duckdb/src/include/duckdb/common/enums/file_glob_options.hpp +3 -11
  520. package/src/duckdb/src/include/duckdb/common/enums/logical_operator_type.hpp +0 -1
  521. package/src/duckdb/src/include/duckdb/common/enums/metric_type.hpp +0 -3
  522. package/src/duckdb/src/include/duckdb/common/enums/optimizer_type.hpp +1 -2
  523. package/src/duckdb/src/include/duckdb/common/enums/physical_operator_type.hpp +0 -1
  524. package/src/duckdb/src/include/duckdb/common/enums/statement_type.hpp +0 -1
  525. package/src/duckdb/src/include/duckdb/common/enums/tableref_type.hpp +1 -2
  526. package/src/duckdb/src/include/duckdb/common/enums/undo_flags.hpp +1 -2
  527. package/src/duckdb/src/include/duckdb/common/error_data.hpp +2 -4
  528. package/src/duckdb/src/include/duckdb/common/exception_format_value.hpp +1 -9
  529. package/src/duckdb/src/include/duckdb/common/extra_type_info.hpp +1 -25
  530. package/src/duckdb/src/include/duckdb/common/file_buffer.hpp +6 -15
  531. package/src/duckdb/src/include/duckdb/common/file_open_flags.hpp +0 -14
  532. package/src/duckdb/src/include/duckdb/common/file_opener.hpp +1 -2
  533. package/src/duckdb/src/include/duckdb/common/file_system.hpp +6 -14
  534. package/src/duckdb/src/include/duckdb/common/fsst.hpp +2 -3
  535. package/src/duckdb/src/include/duckdb/common/gzip_file_system.hpp +1 -1
  536. package/src/duckdb/src/include/duckdb/common/helper.hpp +3 -21
  537. package/src/duckdb/src/include/duckdb/common/local_file_system.hpp +1 -1
  538. package/src/duckdb/src/include/duckdb/common/multi_file/base_file_reader.hpp +0 -4
  539. package/src/duckdb/src/include/duckdb/common/multi_file/multi_file_function.hpp +14 -43
  540. package/src/duckdb/src/include/duckdb/common/multi_file/multi_file_list.hpp +3 -4
  541. package/src/duckdb/src/include/duckdb/common/multi_file/multi_file_reader.hpp +3 -10
  542. package/src/duckdb/src/include/duckdb/common/multi_file/multi_file_states.hpp +0 -2
  543. package/src/duckdb/src/include/duckdb/common/numeric_utils.hpp +0 -57
  544. package/src/duckdb/src/include/duckdb/common/opener_file_system.hpp +3 -7
  545. package/src/duckdb/src/include/duckdb/common/operator/cast_operators.hpp +0 -84
  546. package/src/duckdb/src/include/duckdb/common/operator/string_cast.hpp +0 -6
  547. package/src/duckdb/src/include/duckdb/common/optionally_owned_ptr.hpp +2 -18
  548. package/src/duckdb/src/include/duckdb/common/owning_string_map.hpp +0 -8
  549. package/src/duckdb/src/include/duckdb/common/pipe_file_system.hpp +1 -1
  550. package/src/duckdb/src/include/duckdb/common/progress_bar/display/terminal_progress_bar_display.hpp +5 -44
  551. package/src/duckdb/src/include/duckdb/common/progress_bar/progress_bar.hpp +1 -1
  552. package/src/duckdb/src/include/duckdb/common/row_operations/row_matcher.hpp +14 -8
  553. package/src/duckdb/src/include/duckdb/common/row_operations/row_operations.hpp +12 -0
  554. package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_reader.hpp +0 -2
  555. package/src/duckdb/src/include/duckdb/common/serializer/deserializer.hpp +2 -17
  556. package/src/duckdb/src/include/duckdb/common/serializer/memory_stream.hpp +0 -1
  557. package/src/duckdb/src/include/duckdb/common/serializer/read_stream.hpp +1 -9
  558. package/src/duckdb/src/include/duckdb/common/tree_renderer/text_tree_renderer.hpp +0 -5
  559. package/src/duckdb/src/include/duckdb/common/type_util.hpp +4 -34
  560. package/src/duckdb/src/include/duckdb/common/type_visitor.hpp +6 -36
  561. package/src/duckdb/src/include/duckdb/common/types/column/column_data_allocator.hpp +2 -3
  562. package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection_segment.hpp +2 -4
  563. package/src/duckdb/src/include/duckdb/common/types/conflict_manager.hpp +56 -202
  564. package/src/duckdb/src/include/duckdb/common/types/constraint_conflict_info.hpp +5 -7
  565. package/src/duckdb/src/include/duckdb/common/types/data_chunk.hpp +1 -3
  566. package/src/duckdb/src/include/duckdb/common/types/date.hpp +5 -9
  567. package/src/duckdb/src/include/duckdb/common/types/datetime.hpp +2 -11
  568. package/src/duckdb/src/include/duckdb/common/types/hash.hpp +10 -22
  569. package/src/duckdb/src/include/duckdb/common/types/hugeint.hpp +6 -6
  570. package/src/duckdb/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp +1 -1
  571. package/src/duckdb/src/include/duckdb/common/types/row/row_data_collection.hpp +2 -1
  572. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_allocator.hpp +0 -7
  573. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_collection.hpp +2 -26
  574. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_layout.hpp +5 -43
  575. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_segment.hpp +11 -4
  576. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_states.hpp +1 -10
  577. package/src/duckdb/src/include/duckdb/common/types/selection_vector.hpp +58 -8
  578. package/src/duckdb/src/include/duckdb/common/types/string_type.hpp +1 -7
  579. package/src/duckdb/src/include/duckdb/common/types/timestamp.hpp +3 -7
  580. package/src/duckdb/src/include/duckdb/common/types/uhugeint.hpp +4 -4
  581. package/src/duckdb/src/include/duckdb/common/types/uuid.hpp +0 -5
  582. package/src/duckdb/src/include/duckdb/common/types/validity_mask.hpp +5 -14
  583. package/src/duckdb/src/include/duckdb/common/types/value.hpp +2 -15
  584. package/src/duckdb/src/include/duckdb/common/types/vector.hpp +5 -118
  585. package/src/duckdb/src/include/duckdb/common/types/vector_buffer.hpp +0 -8
  586. package/src/duckdb/src/include/duckdb/common/types.hpp +6 -26
  587. package/src/duckdb/src/include/duckdb/common/vector_operations/aggregate_executor.hpp +11 -50
  588. package/src/duckdb/src/include/duckdb/common/virtual_file_system.hpp +3 -2
  589. package/src/duckdb/src/include/duckdb/common/winapi.hpp +4 -0
  590. package/src/duckdb/src/include/duckdb/execution/aggregate_hashtable.hpp +6 -8
  591. package/src/duckdb/src/include/duckdb/execution/executor.hpp +2 -0
  592. package/src/duckdb/src/include/duckdb/execution/expression_executor.hpp +0 -4
  593. package/src/duckdb/src/include/duckdb/execution/expression_executor_state.hpp +2 -21
  594. package/src/duckdb/src/include/duckdb/execution/ht_entry.hpp +0 -4
  595. package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +16 -15
  596. package/src/duckdb/src/include/duckdb/execution/index/art/art_key.hpp +13 -0
  597. package/src/duckdb/src/include/duckdb/execution/index/art/art_merger.hpp +0 -1
  598. package/src/duckdb/src/include/duckdb/execution/index/art/art_operator.hpp +1 -113
  599. package/src/duckdb/src/include/duckdb/execution/index/art/art_scanner.hpp +2 -5
  600. package/src/duckdb/src/include/duckdb/execution/index/art/base_leaf.hpp +1 -2
  601. package/src/duckdb/src/include/duckdb/execution/index/art/base_node.hpp +15 -18
  602. package/src/duckdb/src/include/duckdb/execution/index/art/iterator.hpp +1 -1
  603. package/src/duckdb/src/include/duckdb/execution/index/art/leaf.hpp +1 -1
  604. package/src/duckdb/src/include/duckdb/execution/index/art/node.hpp +3 -30
  605. package/src/duckdb/src/include/duckdb/execution/index/art/node256.hpp +8 -30
  606. package/src/duckdb/src/include/duckdb/execution/index/art/node256_leaf.hpp +5 -8
  607. package/src/duckdb/src/include/duckdb/execution/index/art/node48.hpp +9 -36
  608. package/src/duckdb/src/include/duckdb/execution/index/art/prefix.hpp +20 -9
  609. package/src/duckdb/src/include/duckdb/execution/index/bound_index.hpp +6 -8
  610. package/src/duckdb/src/include/duckdb/execution/index/fixed_size_allocator.hpp +4 -21
  611. package/src/duckdb/src/include/duckdb/execution/index/fixed_size_buffer.hpp +11 -95
  612. package/src/duckdb/src/include/duckdb/execution/index/unbound_index.hpp +11 -22
  613. package/src/duckdb/src/include/duckdb/execution/join_hashtable.hpp +1 -6
  614. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/distinct_aggregate_data.hpp +2 -3
  615. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp +8 -12
  616. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_partitioned_aggregate.hpp +1 -1
  617. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_perfecthash_aggregate.hpp +1 -1
  618. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_streaming_window.hpp +2 -2
  619. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_ungrouped_aggregate.hpp +2 -3
  620. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_window.hpp +2 -4
  621. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_error.hpp +1 -1
  622. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_handle.hpp +0 -3
  623. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_multi_file_info.hpp +3 -3
  624. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_reader_options.hpp +1 -1
  625. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state.hpp +1 -1
  626. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state_machine.hpp +1 -1
  627. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/encode/csv_encoder.hpp +0 -3
  628. package/src/duckdb/src/include/duckdb/execution/operator/filter/physical_filter.hpp +1 -2
  629. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp +1 -1
  630. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_buffered_batch_collector.hpp +1 -1
  631. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_buffered_collector.hpp +1 -1
  632. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_create_secret.hpp +2 -3
  633. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_execute.hpp +1 -1
  634. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_explain_analyze.hpp +2 -2
  635. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_limit.hpp +2 -2
  636. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_limit_percent.hpp +2 -2
  637. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_load.hpp +2 -2
  638. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_materialized_collector.hpp +1 -1
  639. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_pragma.hpp +2 -2
  640. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_prepare.hpp +2 -3
  641. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_reservoir_sample.hpp +2 -4
  642. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_reset.hpp +4 -5
  643. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_result_collector.hpp +2 -2
  644. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_set.hpp +3 -6
  645. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_set_variable.hpp +1 -1
  646. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_streaming_limit.hpp +2 -2
  647. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_streaming_sample.hpp +1 -2
  648. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_transaction.hpp +2 -4
  649. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_update_extensions.hpp +2 -3
  650. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_vacuum.hpp +1 -1
  651. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_verify_vector.hpp +1 -1
  652. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_asof_join.hpp +1 -2
  653. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp +2 -3
  654. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_comparison_join.hpp +2 -2
  655. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_cross_product.hpp +2 -2
  656. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_delim_join.hpp +3 -4
  657. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_hash_join.hpp +4 -4
  658. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_iejoin.hpp +4 -5
  659. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_join.hpp +1 -2
  660. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_left_delim_join.hpp +3 -4
  661. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_nested_loop_join.hpp +5 -6
  662. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_piecewise_merge_join.hpp +3 -3
  663. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_positional_join.hpp +2 -2
  664. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_range_join.hpp +3 -3
  665. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_right_delim_join.hpp +3 -4
  666. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_order.hpp +9 -13
  667. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_top_n.hpp +2 -2
  668. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_copy_to_file.hpp +2 -2
  669. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_insert.hpp +3 -3
  670. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_database.hpp +1 -2
  671. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp +2 -2
  672. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_delete.hpp +2 -2
  673. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_export.hpp +2 -2
  674. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_insert.hpp +3 -3
  675. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_update.hpp +2 -2
  676. package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_pivot.hpp +1 -2
  677. package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_projection.hpp +7 -2
  678. package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_tableinout_function.hpp +1 -6
  679. package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_unnest.hpp +2 -2
  680. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_column_data_scan.hpp +4 -4
  681. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_dummy_scan.hpp +2 -2
  682. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_empty_result.hpp +2 -2
  683. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_expression_scan.hpp +3 -4
  684. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_positional_scan.hpp +1 -2
  685. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_table_scan.hpp +3 -4
  686. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_alter.hpp +2 -2
  687. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_attach.hpp +2 -2
  688. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_art_index.hpp +4 -4
  689. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_function.hpp +2 -4
  690. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_schema.hpp +2 -4
  691. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_sequence.hpp +2 -4
  692. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_table.hpp +2 -2
  693. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_type.hpp +1 -1
  694. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_view.hpp +2 -4
  695. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_detach.hpp +2 -2
  696. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_drop.hpp +2 -2
  697. package/src/duckdb/src/include/duckdb/execution/operator/set/physical_cte.hpp +2 -2
  698. package/src/duckdb/src/include/duckdb/execution/operator/set/physical_recursive_cte.hpp +2 -2
  699. package/src/duckdb/src/include/duckdb/execution/operator/set/physical_union.hpp +2 -2
  700. package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +22 -23
  701. package/src/duckdb/src/include/duckdb/execution/physical_plan_generator.hpp +2 -7
  702. package/src/duckdb/src/include/duckdb/execution/radix_partitioned_hashtable.hpp +1 -4
  703. package/src/duckdb/src/include/duckdb/execution/reservoir_sample.hpp +1 -0
  704. package/src/duckdb/src/include/duckdb/function/aggregate/distributive_functions.hpp +3 -3
  705. package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +11 -36
  706. package/src/duckdb/src/include/duckdb/function/built_in_functions.hpp +0 -1
  707. package/src/duckdb/src/include/duckdb/function/cast/bound_cast_data.hpp +0 -28
  708. package/src/duckdb/src/include/duckdb/function/cast/cast_function_set.hpp +1 -6
  709. package/src/duckdb/src/include/duckdb/function/cast/default_casts.hpp +1 -5
  710. package/src/duckdb/src/include/duckdb/function/cast/vector_cast_helpers.hpp +3 -2
  711. package/src/duckdb/src/include/duckdb/function/copy_function.hpp +10 -28
  712. package/src/duckdb/src/include/duckdb/function/create_sort_key.hpp +0 -13
  713. package/src/duckdb/src/include/duckdb/function/function_binder.hpp +0 -3
  714. package/src/duckdb/src/include/duckdb/function/function_list.hpp +1 -1
  715. package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +3 -25
  716. package/src/duckdb/src/include/duckdb/function/macro_function.hpp +6 -18
  717. package/src/duckdb/src/include/duckdb/function/pragma/pragma_functions.hpp +1 -1
  718. package/src/duckdb/src/include/duckdb/function/register_function_list_helper.hpp +2 -34
  719. package/src/duckdb/src/include/duckdb/function/scalar/compressed_materialization_functions.hpp +0 -10
  720. package/src/duckdb/src/include/duckdb/function/scalar/date_functions.hpp +6 -6
  721. package/src/duckdb/src/include/duckdb/function/scalar/list/contains_or_position.hpp +5 -5
  722. package/src/duckdb/src/include/duckdb/function/scalar/list_functions.hpp +19 -19
  723. package/src/duckdb/src/include/duckdb/function/scalar/string_functions.hpp +103 -103
  724. package/src/duckdb/src/include/duckdb/function/scalar/struct_functions.hpp +0 -32
  725. package/src/duckdb/src/include/duckdb/function/scalar/system_functions.hpp +1 -1
  726. package/src/duckdb/src/include/duckdb/function/table/arrow/arrow_duck_schema.hpp +2 -8
  727. package/src/duckdb/src/include/duckdb/function/table/arrow/arrow_type_info.hpp +0 -2
  728. package/src/duckdb/src/include/duckdb/function/table/arrow.hpp +11 -26
  729. package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +12 -2
  730. package/src/duckdb/src/include/duckdb/function/table/system_functions.hpp +1 -9
  731. package/src/duckdb/src/include/duckdb/function/table_function.hpp +5 -8
  732. package/src/duckdb/src/include/duckdb/function/window/window_aggregate_function.hpp +10 -10
  733. package/src/duckdb/src/include/duckdb/function/window/window_aggregator.hpp +48 -25
  734. package/src/duckdb/src/include/duckdb/function/window/window_collection.hpp +0 -142
  735. package/src/duckdb/src/include/duckdb/function/window/window_constant_aggregator.hpp +12 -11
  736. package/src/duckdb/src/include/duckdb/function/window/window_custom_aggregator.hpp +8 -8
  737. package/src/duckdb/src/include/duckdb/function/window/window_distinct_aggregator.hpp +10 -10
  738. package/src/duckdb/src/include/duckdb/function/window/window_executor.hpp +40 -26
  739. package/src/duckdb/src/include/duckdb/function/window/window_index_tree.hpp +2 -2
  740. package/src/duckdb/src/include/duckdb/function/window/window_merge_sort_tree.hpp +30 -32
  741. package/src/duckdb/src/include/duckdb/function/window/window_naive_aggregator.hpp +3 -5
  742. package/src/duckdb/src/include/duckdb/function/window/window_rank_function.hpp +16 -17
  743. package/src/duckdb/src/include/duckdb/function/window/window_rownumber_function.hpp +9 -10
  744. package/src/duckdb/src/include/duckdb/function/window/window_segment_tree.hpp +8 -8
  745. package/src/duckdb/src/include/duckdb/function/window/window_token_tree.hpp +6 -6
  746. package/src/duckdb/src/include/duckdb/function/window/window_value_function.hpp +21 -44
  747. package/src/duckdb/src/include/duckdb/logging/log_manager.hpp +4 -12
  748. package/src/duckdb/src/include/duckdb/logging/log_storage.hpp +50 -271
  749. package/src/duckdb/src/include/duckdb/main/appender.hpp +16 -37
  750. package/src/duckdb/src/include/duckdb/main/attached_database.hpp +4 -18
  751. package/src/duckdb/src/include/duckdb/main/capi/capi_internal.hpp +6 -23
  752. package/src/duckdb/src/include/duckdb/main/capi/extension_api.hpp +8 -92
  753. package/src/duckdb/src/include/duckdb/main/client_config.hpp +70 -11
  754. package/src/duckdb/src/include/duckdb/main/client_context.hpp +5 -28
  755. package/src/duckdb/src/include/duckdb/main/client_data.hpp +23 -21
  756. package/src/duckdb/src/include/duckdb/main/client_properties.hpp +19 -3
  757. package/src/duckdb/src/include/duckdb/main/config.hpp +111 -48
  758. package/src/duckdb/src/include/duckdb/main/database.hpp +27 -23
  759. package/src/duckdb/src/include/duckdb/main/database_file_opener.hpp +0 -1
  760. package/src/duckdb/src/include/duckdb/main/database_manager.hpp +21 -19
  761. package/src/duckdb/src/include/duckdb/main/database_path_and_type.hpp +1 -3
  762. package/src/duckdb/src/include/duckdb/main/db_instance_cache.hpp +4 -8
  763. package/src/duckdb/src/include/duckdb/main/error_manager.hpp +1 -3
  764. package/src/duckdb/src/include/duckdb/main/extension.hpp +2 -2
  765. package/src/duckdb/src/include/duckdb/main/extension_entries.hpp +0 -35
  766. package/src/duckdb/src/include/duckdb/main/extension_helper.hpp +0 -2
  767. package/src/duckdb/src/include/duckdb/main/extension_util.hpp +77 -6
  768. package/src/duckdb/src/include/duckdb/main/query_profiler.hpp +23 -41
  769. package/src/duckdb/src/include/duckdb/main/relation.hpp +1 -1
  770. package/src/duckdb/src/include/duckdb/main/secret/secret.hpp +0 -1
  771. package/src/duckdb/src/include/duckdb/main/secret/secret_manager.hpp +18 -18
  772. package/src/duckdb/src/include/duckdb/main/settings.hpp +184 -168
  773. package/src/duckdb/src/include/duckdb/main/valid_checker.hpp +2 -5
  774. package/src/duckdb/src/include/duckdb/optimizer/build_probe_side_optimizer.hpp +1 -1
  775. package/src/duckdb/src/include/duckdb/optimizer/column_lifetime_analyzer.hpp +1 -1
  776. package/src/duckdb/src/include/duckdb/optimizer/compressed_materialization.hpp +0 -4
  777. package/src/duckdb/src/include/duckdb/optimizer/filter_pushdown.hpp +1 -4
  778. package/src/duckdb/src/include/duckdb/optimizer/join_order/join_order_optimizer.hpp +0 -3
  779. package/src/duckdb/src/include/duckdb/optimizer/late_materialization.hpp +1 -1
  780. package/src/duckdb/src/include/duckdb/optimizer/rule/list.hpp +0 -1
  781. package/src/duckdb/src/include/duckdb/parallel/interrupt.hpp +3 -9
  782. package/src/duckdb/src/include/duckdb/parallel/task_scheduler.hpp +0 -1
  783. package/src/duckdb/src/include/duckdb/parser/common_table_expression_info.hpp +1 -3
  784. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +8 -18
  785. package/src/duckdb/src/include/duckdb/parser/parsed_data/attach_info.hpp +4 -3
  786. package/src/duckdb/src/include/duckdb/parser/parsed_data/copy_info.hpp +4 -6
  787. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_info.hpp +0 -2
  788. package/src/duckdb/src/include/duckdb/parser/parsed_expression_iterator.hpp +0 -14
  789. package/src/duckdb/src/include/duckdb/parser/parser.hpp +0 -2
  790. package/src/duckdb/src/include/duckdb/parser/qualified_name.hpp +0 -2
  791. package/src/duckdb/src/include/duckdb/parser/query_node/cte_node.hpp +0 -2
  792. package/src/duckdb/src/include/duckdb/parser/statement/list.hpp +0 -1
  793. package/src/duckdb/src/include/duckdb/parser/statement/select_statement.hpp +4 -1
  794. package/src/duckdb/src/include/duckdb/parser/statement/update_statement.hpp +0 -1
  795. package/src/duckdb/src/include/duckdb/parser/tableref/column_data_ref.hpp +9 -4
  796. package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +0 -2
  797. package/src/duckdb/src/include/duckdb/parser/tableref/list.hpp +0 -1
  798. package/src/duckdb/src/include/duckdb/parser/tableref/showref.hpp +1 -5
  799. package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +0 -4
  800. package/src/duckdb/src/include/duckdb/parser/tokens.hpp +0 -3
  801. package/src/duckdb/src/include/duckdb/parser/transformer.hpp +2 -9
  802. package/src/duckdb/src/include/duckdb/planner/bind_context.hpp +0 -5
  803. package/src/duckdb/src/include/duckdb/planner/binder.hpp +8 -45
  804. package/src/duckdb/src/include/duckdb/planner/bound_constraint.hpp +0 -2
  805. package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +0 -1
  806. package/src/duckdb/src/include/duckdb/planner/bound_tokens.hpp +0 -3
  807. package/src/duckdb/src/include/duckdb/planner/constraints/bound_check_constraint.hpp +0 -8
  808. package/src/duckdb/src/include/duckdb/planner/constraints/bound_foreign_key_constraint.hpp +0 -4
  809. package/src/duckdb/src/include/duckdb/planner/constraints/bound_not_null_constraint.hpp +0 -4
  810. package/src/duckdb/src/include/duckdb/planner/constraints/bound_unique_constraint.hpp +0 -5
  811. package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +2 -2
  812. package/src/duckdb/src/include/duckdb/planner/expression_binder/table_function_binder.hpp +1 -3
  813. package/src/duckdb/src/include/duckdb/planner/expression_binder.hpp +8 -3
  814. package/src/duckdb/src/include/duckdb/planner/expression_iterator.hpp +0 -18
  815. package/src/duckdb/src/include/duckdb/planner/extension_callback.hpp +0 -8
  816. package/src/duckdb/src/include/duckdb/planner/logical_tokens.hpp +0 -1
  817. package/src/duckdb/src/include/duckdb/planner/operator/list.hpp +0 -1
  818. package/src/duckdb/src/include/duckdb/planner/operator/logical_aggregate.hpp +0 -3
  819. package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +1 -1
  820. package/src/duckdb/src/include/duckdb/planner/operator/logical_get.hpp +0 -2
  821. package/src/duckdb/src/include/duckdb/planner/operator/logical_insert.hpp +22 -28
  822. package/src/duckdb/src/include/duckdb/planner/operator/logical_join.hpp +1 -1
  823. package/src/duckdb/src/include/duckdb/planner/operator/logical_materialized_cte.hpp +2 -5
  824. package/src/duckdb/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +0 -2
  825. package/src/duckdb/src/include/duckdb/planner/operator/logical_update.hpp +1 -1
  826. package/src/duckdb/src/include/duckdb/planner/query_node/bound_cte_node.hpp +0 -2
  827. package/src/duckdb/src/include/duckdb/storage/arena_allocator.hpp +0 -26
  828. package/src/duckdb/src/include/duckdb/storage/block.hpp +1 -1
  829. package/src/duckdb/src/include/duckdb/storage/block_manager.hpp +8 -24
  830. package/src/duckdb/src/include/duckdb/storage/buffer/block_handle.hpp +1 -3
  831. package/src/duckdb/src/include/duckdb/storage/buffer_manager.hpp +36 -55
  832. package/src/duckdb/src/include/duckdb/storage/caching_file_system.hpp +4 -10
  833. package/src/duckdb/src/include/duckdb/storage/checkpoint/row_group_writer.hpp +6 -19
  834. package/src/duckdb/src/include/duckdb/storage/checkpoint/table_data_reader.hpp +1 -1
  835. package/src/duckdb/src/include/duckdb/storage/checkpoint/table_data_writer.hpp +8 -15
  836. package/src/duckdb/src/include/duckdb/storage/checkpoint_manager.hpp +8 -6
  837. package/src/duckdb/src/include/duckdb/storage/compression/alp/algorithm/alp.hpp +1 -2
  838. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_fetch.hpp +1 -1
  839. package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_analyze.hpp +2 -4
  840. package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_fetch.hpp +1 -1
  841. package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_scan.hpp +1 -1
  842. package/src/duckdb/src/include/duckdb/storage/compression/chimp/algorithm/packed_data.hpp +1 -3
  843. package/src/duckdb/src/include/duckdb/storage/compression/dict_fsst/compression.hpp +1 -1
  844. package/src/duckdb/src/include/duckdb/storage/compression/dict_fsst/decompression.hpp +1 -1
  845. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas.hpp +1 -1
  846. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_fetch.hpp +1 -1
  847. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_scan.hpp +2 -7
  848. package/src/duckdb/src/include/duckdb/storage/data_pointer.hpp +0 -5
  849. package/src/duckdb/src/include/duckdb/storage/data_table.hpp +9 -14
  850. package/src/duckdb/src/include/duckdb/storage/external_file_cache.hpp +5 -6
  851. package/src/duckdb/src/include/duckdb/storage/in_memory_block_manager.hpp +2 -7
  852. package/src/duckdb/src/include/duckdb/storage/magic_bytes.hpp +1 -2
  853. package/src/duckdb/src/include/duckdb/storage/metadata/metadata_manager.hpp +0 -15
  854. package/src/duckdb/src/include/duckdb/storage/metadata/metadata_reader.hpp +0 -7
  855. package/src/duckdb/src/include/duckdb/storage/metadata/metadata_writer.hpp +0 -1
  856. package/src/duckdb/src/include/duckdb/storage/optimistic_data_writer.hpp +3 -10
  857. package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +3 -14
  858. package/src/duckdb/src/include/duckdb/storage/single_file_block_manager.hpp +20 -65
  859. package/src/duckdb/src/include/duckdb/storage/standard_buffer_manager.hpp +6 -6
  860. package/src/duckdb/src/include/duckdb/storage/statistics/base_statistics.hpp +2 -2
  861. package/src/duckdb/src/include/duckdb/storage/storage_extension.hpp +4 -4
  862. package/src/duckdb/src/include/duckdb/storage/storage_info.hpp +20 -80
  863. package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +17 -43
  864. package/src/duckdb/src/include/duckdb/storage/storage_options.hpp +0 -21
  865. package/src/duckdb/src/include/duckdb/storage/table/array_column_data.hpp +0 -1
  866. package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +2 -2
  867. package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +1 -7
  868. package/src/duckdb/src/include/duckdb/storage/table/column_data_checkpointer.hpp +2 -5
  869. package/src/duckdb/src/include/duckdb/storage/table/column_segment.hpp +7 -10
  870. package/src/duckdb/src/include/duckdb/storage/table/data_table_info.hpp +3 -3
  871. package/src/duckdb/src/include/duckdb/storage/table/list_column_data.hpp +0 -1
  872. package/src/duckdb/src/include/duckdb/storage/table/persistent_table_data.hpp +0 -1
  873. package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +2 -17
  874. package/src/duckdb/src/include/duckdb/storage/table/row_group_collection.hpp +1 -11
  875. package/src/duckdb/src/include/duckdb/storage/table/row_group_segment_tree.hpp +0 -5
  876. package/src/duckdb/src/include/duckdb/storage/table/segment_lock.hpp +0 -4
  877. package/src/duckdb/src/include/duckdb/storage/table/segment_tree.hpp +14 -34
  878. package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +0 -1
  879. package/src/duckdb/src/include/duckdb/storage/table/struct_column_data.hpp +0 -1
  880. package/src/duckdb/src/include/duckdb/storage/table/table_index_list.hpp +46 -55
  881. package/src/duckdb/src/include/duckdb/storage/table/update_segment.hpp +0 -3
  882. package/src/duckdb/src/include/duckdb/storage/temporary_file_manager.hpp +6 -17
  883. package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +1 -2
  884. package/src/duckdb/src/include/duckdb/transaction/duck_transaction.hpp +0 -3
  885. package/src/duckdb/src/include/duckdb/transaction/duck_transaction_manager.hpp +0 -1
  886. package/src/duckdb/src/include/duckdb/transaction/local_storage.hpp +1 -3
  887. package/src/duckdb/src/include/duckdb/transaction/meta_transaction.hpp +1 -22
  888. package/src/duckdb/src/include/duckdb/transaction/undo_buffer_allocator.hpp +0 -2
  889. package/src/duckdb/src/include/duckdb/verification/statement_verifier.hpp +7 -14
  890. package/src/duckdb/src/include/duckdb.h +121 -537
  891. package/src/duckdb/src/include/duckdb_extension.h +14 -122
  892. package/src/duckdb/src/logging/log_manager.cpp +15 -59
  893. package/src/duckdb/src/logging/log_storage.cpp +128 -672
  894. package/src/duckdb/src/main/appender.cpp +88 -129
  895. package/src/duckdb/src/main/attached_database.cpp +52 -47
  896. package/src/duckdb/src/main/capi/aggregate_function-c.cpp +9 -18
  897. package/src/duckdb/src/main/capi/appender-c.cpp +28 -82
  898. package/src/duckdb/src/main/capi/arrow-c.cpp +17 -181
  899. package/src/duckdb/src/main/capi/config-c.cpp +3 -18
  900. package/src/duckdb/src/main/capi/data_chunk-c.cpp +10 -22
  901. package/src/duckdb/src/main/capi/duckdb-c.cpp +21 -64
  902. package/src/duckdb/src/main/capi/duckdb_value-c.cpp +7 -13
  903. package/src/duckdb/src/main/capi/helper-c.cpp +39 -227
  904. package/src/duckdb/src/main/capi/logical_types-c.cpp +28 -48
  905. package/src/duckdb/src/main/capi/prepared-c.cpp +10 -68
  906. package/src/duckdb/src/main/capi/profiling_info-c.cpp +4 -6
  907. package/src/duckdb/src/main/capi/result-c.cpp +95 -16
  908. package/src/duckdb/src/main/capi/scalar_function-c.cpp +1 -43
  909. package/src/duckdb/src/main/capi/table_function-c.cpp +0 -9
  910. package/src/duckdb/src/main/client_config.cpp +0 -21
  911. package/src/duckdb/src/main/client_context.cpp +77 -153
  912. package/src/duckdb/src/main/client_context_file_opener.cpp +0 -1
  913. package/src/duckdb/src/main/client_data.cpp +1 -139
  914. package/src/duckdb/src/main/client_verify.cpp +6 -14
  915. package/src/duckdb/src/main/config.cpp +121 -214
  916. package/src/duckdb/src/main/database.cpp +58 -31
  917. package/src/duckdb/src/main/database_manager.cpp +108 -134
  918. package/src/duckdb/src/main/database_path_and_type.cpp +3 -4
  919. package/src/duckdb/src/main/db_instance_cache.cpp +35 -64
  920. package/src/duckdb/src/main/error_manager.cpp +1 -2
  921. package/src/duckdb/src/main/extension/extension_helper.cpp +22 -3
  922. package/src/duckdb/src/main/extension/extension_install.cpp +6 -6
  923. package/src/duckdb/src/main/extension/extension_load.cpp +9 -24
  924. package/src/duckdb/src/main/http/http_util.cpp +5 -18
  925. package/src/duckdb/src/main/profiling_info.cpp +2 -8
  926. package/src/duckdb/src/main/query_profiler.cpp +30 -65
  927. package/src/duckdb/src/main/query_result.cpp +1 -1
  928. package/src/duckdb/src/main/relation/query_relation.cpp +0 -23
  929. package/src/duckdb/src/main/secret/secret_manager.cpp +7 -8
  930. package/src/duckdb/src/main/settings/autogenerated_settings.cpp +645 -50
  931. package/src/duckdb/src/main/settings/custom_settings.cpp +152 -111
  932. package/src/duckdb/src/main/valid_checker.cpp +4 -10
  933. package/src/duckdb/src/optimizer/build_probe_side_optimizer.cpp +5 -7
  934. package/src/duckdb/src/optimizer/column_lifetime_analyzer.cpp +7 -7
  935. package/src/duckdb/src/optimizer/compressed_materialization/compress_comparison_join.cpp +7 -11
  936. package/src/duckdb/src/optimizer/compressed_materialization.cpp +39 -56
  937. package/src/duckdb/src/optimizer/empty_result_pullup.cpp +1 -8
  938. package/src/duckdb/src/optimizer/filter_combiner.cpp +7 -5
  939. package/src/duckdb/src/optimizer/filter_pushdown.cpp +0 -3
  940. package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +2 -18
  941. package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +0 -1
  942. package/src/duckdb/src/optimizer/join_order/plan_enumerator.cpp +3 -4
  943. package/src/duckdb/src/optimizer/join_order/query_graph_manager.cpp +15 -11
  944. package/src/duckdb/src/optimizer/join_order/relation_manager.cpp +23 -40
  945. package/src/duckdb/src/optimizer/late_materialization.cpp +23 -16
  946. package/src/duckdb/src/optimizer/optimizer.cpp +0 -15
  947. package/src/duckdb/src/optimizer/pushdown/pushdown_aggregate.cpp +20 -15
  948. package/src/duckdb/src/optimizer/pushdown/pushdown_left_join.cpp +13 -11
  949. package/src/duckdb/src/optimizer/pushdown/pushdown_projection.cpp +26 -20
  950. package/src/duckdb/src/optimizer/pushdown/pushdown_set_operation.cpp +14 -11
  951. package/src/duckdb/src/optimizer/remove_unused_columns.cpp +1 -2
  952. package/src/duckdb/src/optimizer/rule/join_dependent_filter.cpp +9 -3
  953. package/src/duckdb/src/optimizer/rule/ordered_aggregate_optimizer.cpp +6 -1
  954. package/src/duckdb/src/optimizer/rule/timestamp_comparison.cpp +6 -3
  955. package/src/duckdb/src/optimizer/statistics/operator/propagate_aggregate.cpp +1 -33
  956. package/src/duckdb/src/parallel/event.cpp +3 -1
  957. package/src/duckdb/src/parallel/executor.cpp +7 -0
  958. package/src/duckdb/src/parallel/pipeline.cpp +2 -2
  959. package/src/duckdb/src/parallel/pipeline_executor.cpp +2 -2
  960. package/src/duckdb/src/parallel/task_scheduler.cpp +34 -146
  961. package/src/duckdb/src/parallel/thread_context.cpp +9 -2
  962. package/src/duckdb/src/parser/column_definition.cpp +6 -3
  963. package/src/duckdb/src/parser/expression/window_expression.cpp +0 -3
  964. package/src/duckdb/src/parser/parsed_data/attach_info.cpp +35 -8
  965. package/src/duckdb/src/parser/parsed_data/copy_info.cpp +7 -27
  966. package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +13 -8
  967. package/src/duckdb/src/parser/parsed_data/create_info.cpp +0 -16
  968. package/src/duckdb/src/parser/parsed_data/create_macro_info.cpp +17 -7
  969. package/src/duckdb/src/parser/parsed_data/create_table_info.cpp +14 -1
  970. package/src/duckdb/src/parser/parsed_data/create_type_info.cpp +12 -1
  971. package/src/duckdb/src/parser/parsed_data/create_view_info.cpp +13 -1
  972. package/src/duckdb/src/parser/parsed_expression_iterator.cpp +0 -22
  973. package/src/duckdb/src/parser/parser.cpp +0 -5
  974. package/src/duckdb/src/parser/qualified_name.cpp +0 -26
  975. package/src/duckdb/src/parser/query_node/cte_node.cpp +0 -1
  976. package/src/duckdb/src/parser/query_node/select_node.cpp +0 -1
  977. package/src/duckdb/src/parser/query_node.cpp +0 -1
  978. package/src/duckdb/src/parser/statement/export_statement.cpp +3 -1
  979. package/src/duckdb/src/parser/statement/update_statement.cpp +16 -19
  980. package/src/duckdb/src/parser/tableref/column_data_ref.cpp +1 -26
  981. package/src/duckdb/src/parser/tableref/joinref.cpp +2 -3
  982. package/src/duckdb/src/parser/tableref/showref.cpp +0 -14
  983. package/src/duckdb/src/parser/tableref/table_function.cpp +1 -6
  984. package/src/duckdb/src/parser/transform/expression/transform_expression.cpp +1 -0
  985. package/src/duckdb/src/parser/transform/expression/transform_function.cpp +1 -6
  986. package/src/duckdb/src/parser/transform/expression/transform_subquery.cpp +11 -8
  987. package/src/duckdb/src/parser/transform/helpers/transform_cte.cpp +0 -3
  988. package/src/duckdb/src/parser/transform/helpers/transform_typename.cpp +5 -7
  989. package/src/duckdb/src/parser/transform/statement/transform_attach.cpp +4 -4
  990. package/src/duckdb/src/parser/transform/statement/transform_copy.cpp +80 -16
  991. package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +22 -27
  992. package/src/duckdb/src/parser/transform/statement/transform_create_type.cpp +1 -0
  993. package/src/duckdb/src/parser/transform/statement/transform_explain.cpp +2 -1
  994. package/src/duckdb/src/parser/transform/statement/transform_insert.cpp +14 -22
  995. package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +0 -2
  996. package/src/duckdb/src/parser/transform/statement/transform_pragma.cpp +1 -1
  997. package/src/duckdb/src/parser/transform/statement/transform_show.cpp +4 -22
  998. package/src/duckdb/src/parser/transform/tableref/transform_from.cpp +1 -3
  999. package/src/duckdb/src/parser/transform/tableref/transform_join.cpp +6 -12
  1000. package/src/duckdb/src/parser/transform/tableref/transform_table_function.cpp +3 -3
  1001. package/src/duckdb/src/parser/transformer.cpp +7 -8
  1002. package/src/duckdb/src/planner/bind_context.cpp +2 -19
  1003. package/src/duckdb/src/planner/binder/expression/bind_aggregate_expression.cpp +6 -13
  1004. package/src/duckdb/src/planner/binder/expression/bind_columnref_expression.cpp +0 -3
  1005. package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +4 -18
  1006. package/src/duckdb/src/planner/binder/expression/bind_macro_expression.cpp +25 -8
  1007. package/src/duckdb/src/planner/binder/expression/bind_operator_expression.cpp +4 -31
  1008. package/src/duckdb/src/planner/binder/expression/bind_unnest_expression.cpp +0 -2
  1009. package/src/duckdb/src/planner/binder/expression/bind_window_expression.cpp +11 -48
  1010. package/src/duckdb/src/planner/binder/query_node/bind_cte_node.cpp +1 -9
  1011. package/src/duckdb/src/planner/binder/query_node/bind_recursive_cte_node.cpp +0 -4
  1012. package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +6 -6
  1013. package/src/duckdb/src/planner/binder/query_node/bind_table_macro_node.cpp +26 -11
  1014. package/src/duckdb/src/planner/binder/query_node/plan_cte_node.cpp +3 -4
  1015. package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +4 -10
  1016. package/src/duckdb/src/planner/binder/statement/bind_attach.cpp +0 -15
  1017. package/src/duckdb/src/planner/binder/statement/bind_copy.cpp +58 -239
  1018. package/src/duckdb/src/planner/binder/statement/bind_create.cpp +55 -157
  1019. package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +25 -30
  1020. package/src/duckdb/src/planner/binder/statement/bind_delete.cpp +3 -2
  1021. package/src/duckdb/src/planner/binder/statement/bind_drop.cpp +3 -28
  1022. package/src/duckdb/src/planner/binder/statement/bind_export.cpp +0 -36
  1023. package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +322 -282
  1024. package/src/duckdb/src/planner/binder/statement/bind_update.cpp +14 -23
  1025. package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +27 -37
  1026. package/src/duckdb/src/planner/binder/tableref/bind_column_data_ref.cpp +1 -4
  1027. package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +36 -120
  1028. package/src/duckdb/src/planner/binder/tableref/bind_showref.cpp +0 -30
  1029. package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +1 -72
  1030. package/src/duckdb/src/planner/binder/tableref/plan_joinref.cpp +12 -7
  1031. package/src/duckdb/src/planner/binder/tableref/plan_table_function.cpp +1 -15
  1032. package/src/duckdb/src/planner/binder.cpp +175 -42
  1033. package/src/duckdb/src/planner/bound_result_modifier.cpp +0 -8
  1034. package/src/duckdb/src/planner/collation_binding.cpp +1 -2
  1035. package/src/duckdb/src/planner/expression.cpp +1 -1
  1036. package/src/duckdb/src/planner/expression_binder/order_binder.cpp +2 -4
  1037. package/src/duckdb/src/planner/expression_binder/table_function_binder.cpp +6 -8
  1038. package/src/duckdb/src/planner/expression_iterator.cpp +0 -31
  1039. package/src/duckdb/src/planner/logical_operator_visitor.cpp +4 -18
  1040. package/src/duckdb/src/planner/operator/logical_aggregate.cpp +1 -2
  1041. package/src/duckdb/src/planner/operator/logical_comparison_join.cpp +2 -4
  1042. package/src/duckdb/src/planner/operator/logical_copy_to_file.cpp +0 -3
  1043. package/src/duckdb/src/planner/operator/logical_get.cpp +2 -7
  1044. package/src/duckdb/src/planner/operator/logical_insert.cpp +2 -5
  1045. package/src/duckdb/src/planner/operator/logical_join.cpp +7 -6
  1046. package/src/duckdb/src/planner/operator/logical_materialized_cte.cpp +0 -1
  1047. package/src/duckdb/src/planner/operator/logical_recursive_cte.cpp +0 -8
  1048. package/src/duckdb/src/planner/planner.cpp +2 -4
  1049. package/src/duckdb/src/planner/pragma_handler.cpp +1 -1
  1050. package/src/duckdb/src/planner/subquery/flatten_dependent_join.cpp +7 -76
  1051. package/src/duckdb/src/planner/table_binding.cpp +12 -6
  1052. package/src/duckdb/src/storage/block.cpp +1 -2
  1053. package/src/duckdb/src/storage/buffer/block_handle.cpp +4 -7
  1054. package/src/duckdb/src/storage/buffer/block_manager.cpp +6 -14
  1055. package/src/duckdb/src/storage/buffer/buffer_pool.cpp +2 -2
  1056. package/src/duckdb/src/storage/buffer_manager.cpp +13 -45
  1057. package/src/duckdb/src/storage/caching_file_system.cpp +12 -20
  1058. package/src/duckdb/src/storage/checkpoint/row_group_writer.cpp +3 -26
  1059. package/src/duckdb/src/storage/checkpoint/table_data_reader.cpp +1 -3
  1060. package/src/duckdb/src/storage/checkpoint/table_data_writer.cpp +35 -56
  1061. package/src/duckdb/src/storage/checkpoint/write_overflow_strings_to_disk.cpp +1 -1
  1062. package/src/duckdb/src/storage/checkpoint_manager.cpp +11 -12
  1063. package/src/duckdb/src/storage/compression/bitpacking.cpp +1 -4
  1064. package/src/duckdb/src/storage/compression/dict_fsst/compression.cpp +25 -48
  1065. package/src/duckdb/src/storage/compression/dict_fsst/decompression.cpp +13 -10
  1066. package/src/duckdb/src/storage/compression/dict_fsst.cpp +2 -2
  1067. package/src/duckdb/src/storage/compression/fixed_size_uncompressed.cpp +5 -10
  1068. package/src/duckdb/src/storage/compression/fsst.cpp +2 -3
  1069. package/src/duckdb/src/storage/compression/rle.cpp +1 -1
  1070. package/src/duckdb/src/storage/compression/zstd.cpp +6 -5
  1071. package/src/duckdb/src/storage/data_table.cpp +144 -167
  1072. package/src/duckdb/src/storage/external_file_cache.cpp +6 -6
  1073. package/src/duckdb/src/storage/local_storage.cpp +68 -132
  1074. package/src/duckdb/src/storage/magic_bytes.cpp +2 -3
  1075. package/src/duckdb/src/storage/metadata/metadata_manager.cpp +17 -88
  1076. package/src/duckdb/src/storage/metadata/metadata_reader.cpp +3 -26
  1077. package/src/duckdb/src/storage/metadata/metadata_writer.cpp +0 -7
  1078. package/src/duckdb/src/storage/open_file_storage_extension.cpp +3 -3
  1079. package/src/duckdb/src/storage/optimistic_data_writer.cpp +3 -5
  1080. package/src/duckdb/src/storage/partial_block_manager.cpp +5 -26
  1081. package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +22 -72
  1082. package/src/duckdb/src/storage/serialization/serialize_macro_function.cpp +3 -9
  1083. package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +0 -2
  1084. package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +2 -12
  1085. package/src/duckdb/src/storage/serialization/serialize_types.cpp +0 -14
  1086. package/src/duckdb/src/storage/single_file_block_manager.cpp +86 -381
  1087. package/src/duckdb/src/storage/standard_buffer_manager.cpp +30 -86
  1088. package/src/duckdb/src/storage/statistics/base_statistics.cpp +3 -3
  1089. package/src/duckdb/src/storage/statistics/string_stats.cpp +2 -2
  1090. package/src/duckdb/src/storage/statistics/struct_stats.cpp +1 -1
  1091. package/src/duckdb/src/storage/storage_info.cpp +7 -13
  1092. package/src/duckdb/src/storage/storage_manager.cpp +35 -110
  1093. package/src/duckdb/src/storage/table/array_column_data.cpp +0 -4
  1094. package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +15 -22
  1095. package/src/duckdb/src/storage/table/column_data.cpp +14 -53
  1096. package/src/duckdb/src/storage/table/column_data_checkpointer.cpp +17 -17
  1097. package/src/duckdb/src/storage/table/column_segment.cpp +21 -23
  1098. package/src/duckdb/src/storage/table/list_column_data.cpp +1 -6
  1099. package/src/duckdb/src/storage/table/row_group.cpp +154 -226
  1100. package/src/duckdb/src/storage/table/row_group_collection.cpp +47 -146
  1101. package/src/duckdb/src/storage/table/row_version_manager.cpp +1 -1
  1102. package/src/duckdb/src/storage/table/standard_column_data.cpp +2 -14
  1103. package/src/duckdb/src/storage/table/struct_column_data.cpp +0 -15
  1104. package/src/duckdb/src/storage/table/update_segment.cpp +5 -111
  1105. package/src/duckdb/src/storage/table_index_list.cpp +73 -137
  1106. package/src/duckdb/src/storage/temporary_file_manager.cpp +28 -103
  1107. package/src/duckdb/src/storage/wal_replay.cpp +36 -158
  1108. package/src/duckdb/src/storage/write_ahead_log.cpp +17 -102
  1109. package/src/duckdb/src/transaction/commit_state.cpp +0 -2
  1110. package/src/duckdb/src/transaction/duck_transaction.cpp +2 -12
  1111. package/src/duckdb/src/transaction/duck_transaction_manager.cpp +35 -66
  1112. package/src/duckdb/src/transaction/meta_transaction.cpp +23 -85
  1113. package/src/duckdb/src/transaction/rollback_state.cpp +0 -7
  1114. package/src/duckdb/src/transaction/transaction_context.cpp +4 -3
  1115. package/src/duckdb/src/transaction/undo_buffer.cpp +4 -5
  1116. package/src/duckdb/src/transaction/undo_buffer_allocator.cpp +0 -1
  1117. package/src/duckdb/src/transaction/wal_write_state.cpp +0 -2
  1118. package/src/duckdb/src/verification/prepared_statement_verifier.cpp +1 -1
  1119. package/src/duckdb/src/verification/statement_verifier.cpp +5 -10
  1120. package/src/duckdb/third_party/brotli/common/shared_dictionary.cpp +4 -4
  1121. package/src/duckdb/third_party/fmt/include/fmt/core.h +12 -6
  1122. package/src/duckdb/third_party/fmt/include/fmt/format-inl.h +1 -5
  1123. package/src/duckdb/third_party/fmt/include/fmt/format.h +24 -34
  1124. package/src/duckdb/third_party/fmt/include/fmt/printf.h +21 -49
  1125. package/src/duckdb/third_party/httplib/httplib.hpp +5 -13
  1126. package/src/duckdb/third_party/jaro_winkler/details/jaro_impl.hpp +4 -4
  1127. package/src/duckdb/third_party/libpg_query/include/nodes/nodes.hpp +0 -3
  1128. package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +1 -56
  1129. package/src/duckdb/third_party/libpg_query/include/parser/gram.hpp +733 -744
  1130. package/src/duckdb/third_party/libpg_query/include/parser/kwlist.hpp +1 -6
  1131. package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +18623 -19067
  1132. package/src/duckdb/third_party/mbedtls/include/des_alt.h +1 -1
  1133. package/src/duckdb/third_party/mbedtls/include/mbedtls/aes_alt.h +1 -1
  1134. package/src/duckdb/third_party/mbedtls/include/mbedtls/aria_alt.h +1 -1
  1135. package/src/duckdb/third_party/mbedtls/include/mbedtls/block_cipher.h +1 -1
  1136. package/src/duckdb/third_party/mbedtls/include/mbedtls/build_info.h +4 -4
  1137. package/src/duckdb/third_party/mbedtls/include/mbedtls/camellia_alt.h +1 -1
  1138. package/src/duckdb/third_party/mbedtls/include/mbedtls/ccm_alt.h +1 -1
  1139. package/src/duckdb/third_party/mbedtls/include/mbedtls/chacha20.h +1 -1
  1140. package/src/duckdb/third_party/mbedtls/include/mbedtls/chachapoly.h +1 -1
  1141. package/src/duckdb/third_party/mbedtls/include/mbedtls/cmac.h +1 -1
  1142. package/src/duckdb/third_party/mbedtls/include/mbedtls/config_psa.h +1 -1
  1143. package/src/duckdb/third_party/mbedtls/include/mbedtls/ecdsa.h +1 -1
  1144. package/src/duckdb/third_party/mbedtls/include/mbedtls/gcm_alt.h +1 -1
  1145. package/src/duckdb/third_party/mbedtls/include/mbedtls/mbedtls_config.h +1 -5
  1146. package/src/duckdb/third_party/mbedtls/include/mbedtls/md5.h +1 -1
  1147. package/src/duckdb/third_party/mbedtls/include/mbedtls/nist_kw.h +1 -1
  1148. package/src/duckdb/third_party/mbedtls/include/mbedtls/pkcs12.h +1 -1
  1149. package/src/duckdb/third_party/mbedtls/include/mbedtls/pkcs5.h +1 -1
  1150. package/src/duckdb/third_party/mbedtls/include/mbedtls/psa_util.h +1 -1
  1151. package/src/duckdb/third_party/mbedtls/include/mbedtls/ripemd160.h +1 -1
  1152. package/src/duckdb/third_party/mbedtls/include/mbedtls/sha3.h +1 -1
  1153. package/src/duckdb/third_party/mbedtls/include/mbedtls/threading.h +1 -1
  1154. package/src/duckdb/third_party/mbedtls/include/mbedtls/timing.h +1 -1
  1155. package/src/duckdb/third_party/mbedtls/include/mbedtls_wrapper.hpp +7 -16
  1156. package/src/duckdb/third_party/mbedtls/include/platform_alt.h +1 -1
  1157. package/src/duckdb/third_party/mbedtls/include/psa/crypto.h +1 -1
  1158. package/src/duckdb/third_party/mbedtls/include/psa/crypto_config.h +1 -1
  1159. package/src/duckdb/third_party/mbedtls/include/rsa_alt.h +1 -1
  1160. package/src/duckdb/third_party/mbedtls/include/sha1_alt.h +1 -1
  1161. package/src/duckdb/third_party/mbedtls/include/sha256_alt.h +1 -1
  1162. package/src/duckdb/third_party/mbedtls/include/sha512_alt.h +1 -1
  1163. package/src/duckdb/third_party/mbedtls/include/ssl_misc.h +1 -1
  1164. package/src/duckdb/third_party/mbedtls/library/aes.cpp +1 -1
  1165. package/src/duckdb/third_party/mbedtls/library/aesce.h +1 -136
  1166. package/src/duckdb/third_party/mbedtls/library/alignment.h +9 -9
  1167. package/src/duckdb/third_party/mbedtls/library/asn1parse.cpp +1 -1
  1168. package/src/duckdb/third_party/mbedtls/library/asn1write.cpp +3 -6
  1169. package/src/duckdb/third_party/mbedtls/library/base64.cpp +24 -48
  1170. package/src/duckdb/third_party/mbedtls/library/base64_internal.h +1 -45
  1171. package/src/duckdb/third_party/mbedtls/library/bignum.cpp +3 -3
  1172. package/src/duckdb/third_party/mbedtls/library/bignum_core.cpp +14 -16
  1173. package/src/duckdb/third_party/mbedtls/library/bignum_core.h +18 -10
  1174. package/src/duckdb/third_party/mbedtls/library/block_cipher_internal.h +1 -99
  1175. package/src/duckdb/third_party/mbedtls/library/check_crypto_config.h +1 -141
  1176. package/src/duckdb/third_party/mbedtls/library/cipher.cpp +12 -18
  1177. package/src/duckdb/third_party/mbedtls/library/cipher_wrap.cpp +10 -110
  1178. package/src/duckdb/third_party/mbedtls/library/cipher_wrap.h +1 -1
  1179. package/src/duckdb/third_party/mbedtls/library/common.h +4 -20
  1180. package/src/duckdb/third_party/mbedtls/library/constant_time.cpp +1 -1
  1181. package/src/duckdb/third_party/mbedtls/library/constant_time_impl.h +43 -28
  1182. package/src/duckdb/third_party/mbedtls/library/constant_time_internal.h +24 -24
  1183. package/src/duckdb/third_party/mbedtls/library/ctr.h +1 -35
  1184. package/src/duckdb/third_party/mbedtls/library/gcm.cpp +2 -2
  1185. package/src/duckdb/third_party/mbedtls/library/md.cpp +11 -11
  1186. package/src/duckdb/third_party/mbedtls/library/md_psa.h +1 -1
  1187. package/src/duckdb/third_party/mbedtls/library/oid.cpp +2 -2
  1188. package/src/duckdb/third_party/mbedtls/library/pem.cpp +2 -5
  1189. package/src/duckdb/third_party/mbedtls/library/pk.cpp +5 -1
  1190. package/src/duckdb/third_party/mbedtls/library/pk_internal.h +4 -4
  1191. package/src/duckdb/third_party/mbedtls/library/pk_wrap.cpp +18 -16
  1192. package/src/duckdb/third_party/mbedtls/library/pkwrite.h +1 -121
  1193. package/src/duckdb/third_party/mbedtls/library/psa_crypto_core.h +1 -995
  1194. package/src/duckdb/third_party/mbedtls/library/psa_util_internal.h +1 -100
  1195. package/src/duckdb/third_party/mbedtls/library/rsa.cpp +4 -4
  1196. package/src/duckdb/third_party/mbedtls/mbedtls_wrapper.cpp +42 -114
  1197. package/src/duckdb/third_party/parquet/parquet_types.cpp +773 -2344
  1198. package/src/duckdb/third_party/parquet/parquet_types.h +4 -400
  1199. package/src/duckdb/third_party/snappy/snappy-stubs-internal.h +18 -18
  1200. package/src/duckdb/third_party/snappy/snappy.cc +6 -6
  1201. package/src/duckdb/third_party/thrift/thrift/protocol/TCompactProtocol.h +4 -4
  1202. package/src/duckdb/third_party/thrift/thrift/protocol/TCompactProtocol.tcc +36 -36
  1203. package/src/duckdb/third_party/utf8proc/include/utf8proc_wrapper.hpp +1 -1
  1204. package/src/duckdb/third_party/utf8proc/utf8proc_wrapper.cpp +1 -1
  1205. package/src/duckdb/ub_extension_core_functions_scalar_generic.cpp +0 -2
  1206. package/src/duckdb/ub_extension_core_functions_scalar_struct.cpp +0 -2
  1207. package/src/duckdb/ub_extension_parquet_reader.cpp +0 -2
  1208. package/src/duckdb/ub_src_common.cpp +0 -8
  1209. package/src/duckdb/ub_src_common_arrow_appender.cpp +0 -2
  1210. package/src/duckdb/ub_src_common_progress_bar.cpp +0 -2
  1211. package/src/duckdb/ub_src_common_tree_renderer.cpp +0 -2
  1212. package/src/duckdb/ub_src_common_types.cpp +1 -1
  1213. package/src/duckdb/ub_src_common_types_row.cpp +0 -2
  1214. package/src/duckdb/ub_src_execution_index_art.cpp +9 -11
  1215. package/src/duckdb/ub_src_execution_operator_persistent.cpp +0 -2
  1216. package/src/duckdb/ub_src_execution_physical_plan.cpp +0 -2
  1217. package/src/duckdb/ub_src_function.cpp +0 -2
  1218. package/src/duckdb/ub_src_function_cast.cpp +1 -1
  1219. package/src/duckdb/ub_src_function_scalar_struct.cpp +0 -2
  1220. package/src/duckdb/ub_src_function_table.cpp +0 -2
  1221. package/src/duckdb/ub_src_function_table_system.cpp +0 -4
  1222. package/src/duckdb/ub_src_main.cpp +0 -4
  1223. package/src/duckdb/ub_src_main_capi.cpp +0 -4
  1224. package/src/duckdb/ub_src_optimizer.cpp +0 -2
  1225. package/src/duckdb/ub_src_optimizer_pushdown.cpp +0 -2
  1226. package/src/duckdb/ub_src_optimizer_rule.cpp +0 -2
  1227. package/src/duckdb/ub_src_parser_statement.cpp +0 -2
  1228. package/src/duckdb/ub_src_parser_tableref.cpp +0 -2
  1229. package/src/duckdb/ub_src_parser_transform_statement.cpp +0 -2
  1230. package/src/duckdb/ub_src_planner.cpp +0 -2
  1231. package/src/duckdb/ub_src_planner_binder_statement.cpp +0 -2
  1232. package/src/duckdb/ub_src_planner_binder_tableref.cpp +0 -2
  1233. package/src/duckdb/ub_src_planner_expression_binder.cpp +0 -2
  1234. package/src/duckdb/ub_src_planner_operator.cpp +0 -2
  1235. package/src/duckdb/ub_src_storage_table.cpp +0 -4
  1236. package/test/columns.test.ts +1 -1
  1237. package/test/exec.test.ts +3 -3
  1238. package/test/jsdoc.test.ts +1 -2
  1239. package/test/syntax_error.test.ts +1 -1
  1240. package/test/test_all_types.test.ts +1 -1
  1241. package/src/duckdb/extension/core_functions/scalar/generic/replace_type.cpp +0 -34
  1242. package/src/duckdb/extension/core_functions/scalar/struct/struct_update.cpp +0 -161
  1243. package/src/duckdb/extension/parquet/include/reader/variant/variant_binary_decoder.hpp +0 -150
  1244. package/src/duckdb/extension/parquet/include/reader/variant/variant_shredded_conversion.hpp +0 -23
  1245. package/src/duckdb/extension/parquet/include/reader/variant/variant_value.hpp +0 -54
  1246. package/src/duckdb/extension/parquet/include/reader/variant_column_reader.hpp +0 -44
  1247. package/src/duckdb/extension/parquet/reader/variant/variant_binary_decoder.cpp +0 -367
  1248. package/src/duckdb/extension/parquet/reader/variant/variant_shredded_conversion.cpp +0 -565
  1249. package/src/duckdb/extension/parquet/reader/variant/variant_value.cpp +0 -85
  1250. package/src/duckdb/extension/parquet/reader/variant_column_reader.cpp +0 -161
  1251. package/src/duckdb/src/common/arrow/appender/append_data.cpp +0 -29
  1252. package/src/duckdb/src/common/bignum.cpp +0 -362
  1253. package/src/duckdb/src/common/csv_writer.cpp +0 -381
  1254. package/src/duckdb/src/common/encryption_functions.cpp +0 -228
  1255. package/src/duckdb/src/common/encryption_key_manager.cpp +0 -143
  1256. package/src/duckdb/src/common/progress_bar/unscented_kalman_filter.cpp +0 -288
  1257. package/src/duckdb/src/common/sorting/hashed_sort.cpp +0 -724
  1258. package/src/duckdb/src/common/sorting/sort.cpp +0 -513
  1259. package/src/duckdb/src/common/sorting/sorted_run.cpp +0 -341
  1260. package/src/duckdb/src/common/sorting/sorted_run_merger.cpp +0 -969
  1261. package/src/duckdb/src/common/tree_renderer/yaml_tree_renderer.cpp +0 -144
  1262. package/src/duckdb/src/common/types/bignum.cpp +0 -350
  1263. package/src/duckdb/src/common/types/row/block_iterator.cpp +0 -34
  1264. package/src/duckdb/src/execution/index/art/art_builder.cpp +0 -91
  1265. package/src/duckdb/src/execution/operator/persistent/physical_merge_into.cpp +0 -516
  1266. package/src/duckdb/src/execution/physical_plan/plan_merge_into.cpp +0 -132
  1267. package/src/duckdb/src/function/cast/bignum_casts.cpp +0 -315
  1268. package/src/duckdb/src/function/cast/variant/from_variant.cpp +0 -697
  1269. package/src/duckdb/src/function/cast/variant/to_json.cpp +0 -272
  1270. package/src/duckdb/src/function/cast/variant/to_variant.cpp +0 -193
  1271. package/src/duckdb/src/function/copy_blob.cpp +0 -157
  1272. package/src/duckdb/src/function/scalar/struct/struct_contains.cpp +0 -255
  1273. package/src/duckdb/src/function/scalar/variant/variant_extract.cpp +0 -234
  1274. package/src/duckdb/src/function/scalar/variant/variant_typeof.cpp +0 -70
  1275. package/src/duckdb/src/function/scalar/variant/variant_utils.cpp +0 -412
  1276. package/src/duckdb/src/function/table/direct_file_reader.cpp +0 -172
  1277. package/src/duckdb/src/function/table/system/duckdb_approx_database_count.cpp +0 -43
  1278. package/src/duckdb/src/function/table/system/logging_utils.cpp +0 -154
  1279. package/src/duckdb/src/include/duckdb/common/arena_linked_list.hpp +0 -169
  1280. package/src/duckdb/src/include/duckdb/common/bignum.hpp +0 -85
  1281. package/src/duckdb/src/include/duckdb/common/csv_writer.hpp +0 -153
  1282. package/src/duckdb/src/include/duckdb/common/encryption_functions.hpp +0 -54
  1283. package/src/duckdb/src/include/duckdb/common/encryption_key_manager.hpp +0 -80
  1284. package/src/duckdb/src/include/duckdb/common/enums/arrow_format_version.hpp +0 -33
  1285. package/src/duckdb/src/include/duckdb/common/enums/checkpoint_abort.hpp +0 -22
  1286. package/src/duckdb/src/include/duckdb/common/enums/copy_option_mode.hpp +0 -17
  1287. package/src/duckdb/src/include/duckdb/common/enums/merge_action_type.hpp +0 -19
  1288. package/src/duckdb/src/include/duckdb/common/enums/ordinality_request_type.hpp +0 -16
  1289. package/src/duckdb/src/include/duckdb/common/enums/thread_pin_mode.hpp +0 -17
  1290. package/src/duckdb/src/include/duckdb/common/enums/tuple_data_layout_enums.hpp +0 -25
  1291. package/src/duckdb/src/include/duckdb/common/operator/interpolate.hpp +0 -39
  1292. package/src/duckdb/src/include/duckdb/common/progress_bar/unscented_kalman_filter.hpp +0 -65
  1293. package/src/duckdb/src/include/duckdb/common/serializer/varint.hpp +0 -62
  1294. package/src/duckdb/src/include/duckdb/common/sorting/hashed_sort.hpp +0 -76
  1295. package/src/duckdb/src/include/duckdb/common/sorting/sort.hpp +0 -85
  1296. package/src/duckdb/src/include/duckdb/common/sorting/sort_key.hpp +0 -442
  1297. package/src/duckdb/src/include/duckdb/common/sorting/sort_projection_column.hpp +0 -21
  1298. package/src/duckdb/src/include/duckdb/common/sorting/sorted_run.hpp +0 -55
  1299. package/src/duckdb/src/include/duckdb/common/sorting/sorted_run_merger.hpp +0 -62
  1300. package/src/duckdb/src/include/duckdb/common/tree_renderer/yaml_tree_renderer.hpp +0 -40
  1301. package/src/duckdb/src/include/duckdb/common/types/bignum.hpp +0 -159
  1302. package/src/duckdb/src/include/duckdb/common/types/double_na_equal.hpp +0 -65
  1303. package/src/duckdb/src/include/duckdb/common/types/row/block_iterator.hpp +0 -360
  1304. package/src/duckdb/src/include/duckdb/common/types/string.hpp +0 -338
  1305. package/src/duckdb/src/include/duckdb/common/types/variant.hpp +0 -202
  1306. package/src/duckdb/src/include/duckdb/execution/index/art/art_builder.hpp +0 -55
  1307. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_merge_into.hpp +0 -87
  1308. package/src/duckdb/src/include/duckdb/function/cast/variant/array_to_variant.hpp +0 -66
  1309. package/src/duckdb/src/include/duckdb/function/cast/variant/json_to_variant.hpp +0 -283
  1310. package/src/duckdb/src/include/duckdb/function/cast/variant/list_to_variant.hpp +0 -70
  1311. package/src/duckdb/src/include/duckdb/function/cast/variant/primitive_to_variant.hpp +0 -399
  1312. package/src/duckdb/src/include/duckdb/function/cast/variant/struct_to_variant.hpp +0 -111
  1313. package/src/duckdb/src/include/duckdb/function/cast/variant/to_variant.hpp +0 -66
  1314. package/src/duckdb/src/include/duckdb/function/cast/variant/to_variant_fwd.hpp +0 -179
  1315. package/src/duckdb/src/include/duckdb/function/cast/variant/union_to_variant.hpp +0 -59
  1316. package/src/duckdb/src/include/duckdb/function/cast/variant/variant_to_variant.hpp +0 -275
  1317. package/src/duckdb/src/include/duckdb/function/scalar/variant_functions.hpp +0 -38
  1318. package/src/duckdb/src/include/duckdb/function/scalar/variant_utils.hpp +0 -85
  1319. package/src/duckdb/src/include/duckdb/function/table/direct_file_reader.hpp +0 -39
  1320. package/src/duckdb/src/include/duckdb/function/table/read_file.hpp +0 -83
  1321. package/src/duckdb/src/include/duckdb/main/database_file_path_manager.hpp +0 -39
  1322. package/src/duckdb/src/include/duckdb/main/extension/extension_loader.hpp +0 -120
  1323. package/src/duckdb/src/include/duckdb/main/extension_manager.hpp +0 -59
  1324. package/src/duckdb/src/include/duckdb/main/setting_info.hpp +0 -109
  1325. package/src/duckdb/src/include/duckdb/optimizer/cte_inlining.hpp +0 -50
  1326. package/src/duckdb/src/include/duckdb/optimizer/rule/date_trunc_simplification.hpp +0 -73
  1327. package/src/duckdb/src/include/duckdb/parser/statement/merge_into_statement.hpp +0 -72
  1328. package/src/duckdb/src/include/duckdb/parser/tableref/bound_ref_wrapper.hpp +0 -38
  1329. package/src/duckdb/src/include/duckdb/planner/expression_binder/projection_binder.hpp +0 -37
  1330. package/src/duckdb/src/include/duckdb/planner/logical_operator_deep_copy.hpp +0 -67
  1331. package/src/duckdb/src/include/duckdb/planner/operator/logical_merge_into.hpp +0 -75
  1332. package/src/duckdb/src/include/duckdb/storage/table/in_memory_checkpoint.hpp +0 -93
  1333. package/src/duckdb/src/include/duckdb/storage/table/row_id_column_data.hpp +0 -68
  1334. package/src/duckdb/src/include/duckdb/verification/explain_statement_verifier.hpp +0 -23
  1335. package/src/duckdb/src/main/capi/error_data-c.cpp +0 -46
  1336. package/src/duckdb/src/main/capi/expression-c.cpp +0 -57
  1337. package/src/duckdb/src/main/database_file_path_manager.cpp +0 -42
  1338. package/src/duckdb/src/main/extension/extension_loader.cpp +0 -234
  1339. package/src/duckdb/src/main/extension_manager.cpp +0 -115
  1340. package/src/duckdb/src/optimizer/cte_inlining.cpp +0 -225
  1341. package/src/duckdb/src/optimizer/pushdown/pushdown_outer_join.cpp +0 -201
  1342. package/src/duckdb/src/optimizer/rule/date_trunc_simplification.cpp +0 -446
  1343. package/src/duckdb/src/parser/statement/merge_into_statement.cpp +0 -167
  1344. package/src/duckdb/src/parser/tableref/bound_ref_wrapper.cpp +0 -29
  1345. package/src/duckdb/src/parser/transform/statement/transform_merge_into.cpp +0 -111
  1346. package/src/duckdb/src/planner/binder/statement/bind_merge_into.cpp +0 -335
  1347. package/src/duckdb/src/planner/binder/tableref/bind_bound_table_ref.cpp +0 -13
  1348. package/src/duckdb/src/planner/expression_binder/projection_binder.cpp +0 -46
  1349. package/src/duckdb/src/planner/logical_operator_deep_copy.cpp +0 -264
  1350. package/src/duckdb/src/planner/operator/logical_merge_into.cpp +0 -43
  1351. package/src/duckdb/src/storage/table/in_memory_checkpoint.cpp +0 -136
  1352. package/src/duckdb/src/storage/table/row_id_column_data.cpp +0 -173
  1353. package/src/duckdb/src/verification/explain_statement_verifier.cpp +0 -16
  1354. package/src/duckdb/third_party/mbedtls/include/psa/build_info.h +0 -20
  1355. package/src/duckdb/third_party/mbedtls/include/psa/crypto_se_driver.h +0 -1
  1356. package/src/duckdb/third_party/mbedtls/library/cipher_invasive.h +0 -1
  1357. package/src/duckdb/third_party/pdqsort/pdqsort.h +0 -550
  1358. package/src/duckdb/third_party/ska_sort/ska_sort.hpp +0 -1494
  1359. package/src/duckdb/third_party/vergesort/detail/insertion_sort.h +0 -56
  1360. package/src/duckdb/third_party/vergesort/detail/is_sorted_until.h +0 -51
  1361. package/src/duckdb/third_party/vergesort/detail/iter_sort3.h +0 -48
  1362. package/src/duckdb/third_party/vergesort/detail/log2.h +0 -41
  1363. package/src/duckdb/third_party/vergesort/detail/prevnext.h +0 -68
  1364. package/src/duckdb/third_party/vergesort/detail/quicksort.h +0 -138
  1365. package/src/duckdb/third_party/vergesort/vergesort.h +0 -352
  1366. package/src/duckdb/ub_extension_parquet_reader_variant.cpp +0 -6
  1367. package/src/duckdb/ub_src_common_sorting.cpp +0 -8
  1368. package/src/duckdb/ub_src_function_cast_variant.cpp +0 -6
  1369. package/src/duckdb/ub_src_function_scalar_variant.cpp +0 -6
@@ -55,8 +55,6 @@ ScalarFunctionSet BitStringFun::GetFunctions() {
55
55
  //===--------------------------------------------------------------------===//
56
56
  // get_bit
57
57
  //===--------------------------------------------------------------------===//
58
- namespace {
59
-
60
58
  struct GetBitOperator {
61
59
  template <class TA, class TB, class TR>
62
60
  static inline TR Operation(TA input, TB n) {
@@ -68,7 +66,6 @@ struct GetBitOperator {
68
66
  }
69
67
  };
70
68
 
71
- } // namespace
72
69
  ScalarFunction GetBitFun::GetFunction() {
73
70
  ScalarFunction func({LogicalType::BIT, LogicalType::INTEGER}, LogicalType::INTEGER,
74
71
  ScalarFunction::BinaryFunction<string_t, int32_t, int32_t, GetBitOperator>);
@@ -107,8 +104,6 @@ ScalarFunction SetBitFun::GetFunction() {
107
104
  //===--------------------------------------------------------------------===//
108
105
  // bit_position
109
106
  //===--------------------------------------------------------------------===//
110
- namespace {
111
-
112
107
  struct BitPositionOperator {
113
108
  template <class TA, class TB, class TR>
114
109
  static inline TR Operation(TA substring, TB input) {
@@ -119,8 +114,6 @@ struct BitPositionOperator {
119
114
  }
120
115
  };
121
116
 
122
- } // namespace
123
-
124
117
  ScalarFunction BitPositionFun::GetFunction() {
125
118
  return ScalarFunction({LogicalType::BIT, LogicalType::BIT}, LogicalType::INTEGER,
126
119
  ScalarFunction::BinaryFunction<string_t, string_t, int32_t, BitPositionOperator>);
@@ -3,7 +3,6 @@
3
3
 
4
4
  namespace duckdb {
5
5
 
6
- namespace {
7
6
  struct Base64EncodeOperator {
8
7
  template <class INPUT_TYPE, class RESULT_TYPE>
9
8
  static RESULT_TYPE Operation(INPUT_TYPE input, Vector &result) {
@@ -25,18 +24,16 @@ struct Base64DecodeOperator {
25
24
  }
26
25
  };
27
26
 
28
- void Base64EncodeFunction(DataChunk &args, ExpressionState &state, Vector &result) {
27
+ static void Base64EncodeFunction(DataChunk &args, ExpressionState &state, Vector &result) {
29
28
  // decode is also a nop cast, but requires verification if the provided string is actually
30
29
  UnaryExecutor::ExecuteString<string_t, string_t, Base64EncodeOperator>(args.data[0], result, args.size());
31
30
  }
32
31
 
33
- void Base64DecodeFunction(DataChunk &args, ExpressionState &state, Vector &result) {
32
+ static void Base64DecodeFunction(DataChunk &args, ExpressionState &state, Vector &result) {
34
33
  // decode is also a nop cast, but requires verification if the provided string is actually
35
34
  UnaryExecutor::ExecuteString<string_t, string_t, Base64DecodeOperator>(args.data[0], result, args.size());
36
35
  }
37
36
 
38
- } // namespace
39
-
40
37
  ScalarFunction ToBase64Fun::GetFunction() {
41
38
  return ScalarFunction({LogicalType::BLOB}, LogicalType::VARCHAR, Base64EncodeFunction);
42
39
  }
@@ -4,9 +4,7 @@
4
4
 
5
5
  namespace duckdb {
6
6
 
7
- namespace {
8
-
9
- void EncodeFunction(DataChunk &args, ExpressionState &state, Vector &result) {
7
+ static void EncodeFunction(DataChunk &args, ExpressionState &state, Vector &result) {
10
8
  // encode is essentially a nop cast from varchar to blob
11
9
  // we only need to reinterpret the data using the blob type
12
10
  result.Reinterpret(args.data[0]);
@@ -25,14 +23,12 @@ struct BlobDecodeOperator {
25
23
  }
26
24
  };
27
25
 
28
- void DecodeFunction(DataChunk &args, ExpressionState &state, Vector &result) {
26
+ static void DecodeFunction(DataChunk &args, ExpressionState &state, Vector &result) {
29
27
  // decode is also a nop cast, but requires verification if the provided string is actually
30
28
  UnaryExecutor::Execute<string_t, string_t, BlobDecodeOperator>(args.data[0], result, args.size());
31
29
  StringVector::AddHeapReference(result, args.data[0]);
32
30
  }
33
31
 
34
- } // namespace
35
-
36
32
  ScalarFunction EncodeFun::GetFunction() {
37
33
  return ScalarFunction({LogicalType::VARCHAR}, LogicalType::BLOB, EncodeFunction);
38
34
  }
@@ -14,8 +14,6 @@ namespace duckdb {
14
14
 
15
15
  // This function is an implementation of the "period-crossing" date difference function from T-SQL
16
16
  // https://docs.microsoft.com/en-us/sql/t-sql/functions/datediff-transact-sql?view=sql-server-ver15
17
-
18
- namespace {
19
17
  struct DateDiff {
20
18
  template <class TA, class TB, class TR, class OP>
21
19
  static inline void BinaryExecute(Vector &left, Vector &right, Vector &result, idx_t count) {
@@ -310,7 +308,7 @@ int64_t DateDiff::HoursOperator::Operation(dtime_t startdate, dtime_t enddate) {
310
308
  }
311
309
 
312
310
  template <typename TA, typename TB, typename TR>
313
- int64_t DifferenceDates(DatePartSpecifier type, TA startdate, TB enddate) {
311
+ static int64_t DifferenceDates(DatePartSpecifier type, TA startdate, TB enddate) {
314
312
  switch (type) {
315
313
  case DatePartSpecifier::YEAR:
316
314
  return DateDiff::YearOperator::template Operation<TA, TB, TR>(startdate, enddate);
@@ -364,7 +362,7 @@ struct DateDiffTernaryOperator {
364
362
  };
365
363
 
366
364
  template <typename TA, typename TB, typename TR>
367
- void DateDiffBinaryExecutor(DatePartSpecifier type, Vector &left, Vector &right, Vector &result, idx_t count) {
365
+ static void DateDiffBinaryExecutor(DatePartSpecifier type, Vector &left, Vector &right, Vector &result, idx_t count) {
368
366
  switch (type) {
369
367
  case DatePartSpecifier::YEAR:
370
368
  DateDiff::BinaryExecute<TA, TB, TR, DateDiff::YearOperator>(left, right, result, count);
@@ -420,7 +418,7 @@ void DateDiffBinaryExecutor(DatePartSpecifier type, Vector &left, Vector &right,
420
418
  }
421
419
 
422
420
  template <typename T>
423
- void DateDiffFunction(DataChunk &args, ExpressionState &state, Vector &result) {
421
+ static void DateDiffFunction(DataChunk &args, ExpressionState &state, Vector &result) {
424
422
  D_ASSERT(args.ColumnCount() == 3);
425
423
  auto &part_arg = args.data[0];
426
424
  auto &start_arg = args.data[1];
@@ -442,8 +440,6 @@ void DateDiffFunction(DataChunk &args, ExpressionState &state, Vector &result) {
442
440
  }
443
441
  }
444
442
 
445
- } // namespace
446
-
447
443
  ScalarFunctionSet DateDiffFun::GetFunctions() {
448
444
  ScalarFunctionSet date_diff("date_diff");
449
445
  date_diff.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::DATE, LogicalType::DATE},
@@ -5,15 +5,18 @@
5
5
  #include "duckdb/common/exception.hpp"
6
6
  #include "duckdb/common/exception/conversion_exception.hpp"
7
7
  #include "duckdb/common/operator/cast_operators.hpp"
8
+ #include "duckdb/common/string_util.hpp"
9
+ #include "duckdb/common/types/date.hpp"
8
10
  #include "duckdb/common/types/date_lookup_cache.hpp"
9
11
  #include "duckdb/common/types/time.hpp"
10
12
  #include "duckdb/common/types/timestamp.hpp"
13
+ #include "duckdb/common/vector_operations/vector_operations.hpp"
14
+ #include "duckdb/execution/expression_executor.hpp"
11
15
  #include "duckdb/function/scalar/nested_functions.hpp"
12
16
  #include "duckdb/planner/expression/bound_function_expression.hpp"
13
17
 
14
18
  namespace duckdb {
15
19
 
16
- namespace {
17
20
  DatePartSpecifier GetDateTypePartSpecifier(const string &specifier, LogicalType &type) {
18
21
  const auto part = GetDatePartSpecifier(specifier);
19
22
  switch (type.id()) {
@@ -44,7 +47,6 @@ DatePartSpecifier GetDateTypePartSpecifier(const string &specifier, LogicalType
44
47
  }
45
48
  break;
46
49
  case LogicalType::TIME:
47
- case LogicalType::TIME_NS:
48
50
  case LogicalType::TIME_TZ:
49
51
  switch (part) {
50
52
  case DatePartSpecifier::MICROSECONDS:
@@ -89,7 +91,7 @@ DatePartSpecifier GetDateTypePartSpecifier(const string &specifier, LogicalType
89
91
  }
90
92
 
91
93
  template <int64_t MIN, int64_t MAX>
92
- unique_ptr<BaseStatistics> PropagateSimpleDatePartStatistics(vector<BaseStatistics> &child_stats) {
94
+ static unique_ptr<BaseStatistics> PropagateSimpleDatePartStatistics(vector<BaseStatistics> &child_stats) {
93
95
  // we can always propagate simple date part statistics
94
96
  // since the min and max can never exceed these bounds
95
97
  auto result = NumericStats::CreateEmpty(LogicalType::BIGINT);
@@ -767,7 +769,7 @@ struct DatePart {
767
769
  };
768
770
 
769
771
  template <class OP, class T>
770
- void DatePartCachedFunction(DataChunk &args, ExpressionState &state, Vector &result) {
772
+ static void DatePartCachedFunction(DataChunk &args, ExpressionState &state, Vector &result) {
771
773
  auto &lstate = ExecuteFunctionState::GetFunctionState(state)->Cast<DateCacheLocalState<OP>>();
772
774
  UnaryExecutor::ExecuteWithNulls<T, int64_t>(
773
775
  args.data[0], result, args.size(),
@@ -789,11 +791,6 @@ int64_t DatePart::YearOperator::Operation(dtime_t input) {
789
791
  throw NotImplementedException("\"time\" units \"year\" not recognized");
790
792
  }
791
793
 
792
- template <>
793
- int64_t DatePart::YearOperator::Operation(dtime_ns_t input) {
794
- return YearOperator::Operation<dtime_t, int64_t>(input.time());
795
- }
796
-
797
794
  template <>
798
795
  int64_t DatePart::YearOperator::Operation(dtime_tz_t input) {
799
796
  return YearOperator::Operation<dtime_t, int64_t>(input.time());
@@ -814,11 +811,6 @@ int64_t DatePart::MonthOperator::Operation(dtime_t input) {
814
811
  throw NotImplementedException("\"time\" units \"month\" not recognized");
815
812
  }
816
813
 
817
- template <>
818
- int64_t DatePart::MonthOperator::Operation(dtime_ns_t input) {
819
- return MonthOperator::Operation<dtime_t, int64_t>(input.time());
820
- }
821
-
822
814
  template <>
823
815
  int64_t DatePart::MonthOperator::Operation(dtime_tz_t input) {
824
816
  return MonthOperator::Operation<dtime_t, int64_t>(input.time());
@@ -839,11 +831,6 @@ int64_t DatePart::DayOperator::Operation(dtime_t input) {
839
831
  throw NotImplementedException("\"time\" units \"day\" not recognized");
840
832
  }
841
833
 
842
- template <>
843
- int64_t DatePart::DayOperator::Operation(dtime_ns_t input) {
844
- return DayOperator::Operation<dtime_t, int64_t>(input.time());
845
- }
846
-
847
834
  template <>
848
835
  int64_t DatePart::DayOperator::Operation(dtime_tz_t input) {
849
836
  return DayOperator::Operation<dtime_t, int64_t>(input.time());
@@ -909,11 +896,6 @@ int64_t DatePart::QuarterOperator::Operation(dtime_t input) {
909
896
  throw NotImplementedException("\"time\" units \"quarter\" not recognized");
910
897
  }
911
898
 
912
- template <>
913
- int64_t DatePart::QuarterOperator::Operation(dtime_ns_t input) {
914
- return QuarterOperator::Operation<dtime_t, int64_t>(input.time());
915
- }
916
-
917
899
  template <>
918
900
  int64_t DatePart::QuarterOperator::Operation(dtime_tz_t input) {
919
901
  return QuarterOperator::Operation<dtime_t, int64_t>(input.time());
@@ -934,11 +916,6 @@ int64_t DatePart::DayOfWeekOperator::Operation(dtime_t input) {
934
916
  throw NotImplementedException("\"time\" units \"dow\" not recognized");
935
917
  }
936
918
 
937
- template <>
938
- int64_t DatePart::DayOfWeekOperator::Operation(dtime_ns_t input) {
939
- return DayOfWeekOperator::Operation<dtime_t, int64_t>(input.time());
940
- }
941
-
942
919
  template <>
943
920
  int64_t DatePart::DayOfWeekOperator::Operation(dtime_tz_t input) {
944
921
  return DayOfWeekOperator::Operation<dtime_t, int64_t>(input.time());
@@ -959,11 +936,6 @@ int64_t DatePart::ISODayOfWeekOperator::Operation(dtime_t input) {
959
936
  throw NotImplementedException("\"time\" units \"isodow\" not recognized");
960
937
  }
961
938
 
962
- template <>
963
- int64_t DatePart::ISODayOfWeekOperator::Operation(dtime_ns_t input) {
964
- return ISODayOfWeekOperator::Operation<dtime_t, int64_t>(input.time());
965
- }
966
-
967
939
  template <>
968
940
  int64_t DatePart::ISODayOfWeekOperator::Operation(dtime_tz_t input) {
969
941
  return ISODayOfWeekOperator::Operation<dtime_t, int64_t>(input.time());
@@ -984,11 +956,6 @@ int64_t DatePart::DayOfYearOperator::Operation(dtime_t input) {
984
956
  throw NotImplementedException("\"time\" units \"doy\" not recognized");
985
957
  }
986
958
 
987
- template <>
988
- int64_t DatePart::DayOfYearOperator::Operation(dtime_ns_t input) {
989
- return DayOfYearOperator::Operation<dtime_t, int64_t>(input.time());
990
- }
991
-
992
959
  template <>
993
960
  int64_t DatePart::DayOfYearOperator::Operation(dtime_tz_t input) {
994
961
  return DayOfYearOperator::Operation<dtime_t, int64_t>(input.time());
@@ -1009,11 +976,6 @@ int64_t DatePart::WeekOperator::Operation(dtime_t input) {
1009
976
  throw NotImplementedException("\"time\" units \"week\" not recognized");
1010
977
  }
1011
978
 
1012
- template <>
1013
- int64_t DatePart::WeekOperator::Operation(dtime_ns_t input) {
1014
- return WeekOperator::Operation<dtime_t, int64_t>(input.time());
1015
- }
1016
-
1017
979
  template <>
1018
980
  int64_t DatePart::WeekOperator::Operation(dtime_tz_t input) {
1019
981
  return WeekOperator::Operation<dtime_t, int64_t>(input.time());
@@ -1034,11 +996,6 @@ int64_t DatePart::ISOYearOperator::Operation(dtime_t input) {
1034
996
  throw NotImplementedException("\"time\" units \"isoyear\" not recognized");
1035
997
  }
1036
998
 
1037
- template <>
1038
- int64_t DatePart::ISOYearOperator::Operation(dtime_ns_t input) {
1039
- return ISOYearOperator::Operation<dtime_t, int64_t>(input.time());
1040
- }
1041
-
1042
999
  template <>
1043
1000
  int64_t DatePart::ISOYearOperator::Operation(dtime_tz_t input) {
1044
1001
  return ISOYearOperator::Operation<dtime_t, int64_t>(input.time());
@@ -1061,11 +1018,6 @@ int64_t DatePart::YearWeekOperator::Operation(dtime_t input) {
1061
1018
  throw NotImplementedException("\"time\" units \"yearweek\" not recognized");
1062
1019
  }
1063
1020
 
1064
- template <>
1065
- int64_t DatePart::YearWeekOperator::Operation(dtime_ns_t input) {
1066
- return YearWeekOperator::Operation<dtime_t, int64_t>(input.time());
1067
- }
1068
-
1069
1021
  template <>
1070
1022
  int64_t DatePart::YearWeekOperator::Operation(dtime_tz_t input) {
1071
1023
  return YearWeekOperator::Operation<dtime_t, int64_t>(input.time());
@@ -1093,11 +1045,6 @@ int64_t DatePart::EpochNanosecondsOperator::Operation(dtime_t input) {
1093
1045
  return input.micros * Interval::NANOS_PER_MICRO;
1094
1046
  }
1095
1047
 
1096
- template <>
1097
- int64_t DatePart::EpochNanosecondsOperator::Operation(dtime_ns_t input) {
1098
- return input.micros;
1099
- }
1100
-
1101
1048
  template <>
1102
1049
  int64_t DatePart::EpochNanosecondsOperator::Operation(dtime_tz_t input) {
1103
1050
  return DatePart::EpochNanosecondsOperator::Operation<dtime_t, int64_t>(input.time());
@@ -1124,11 +1071,6 @@ int64_t DatePart::EpochMicrosecondsOperator::Operation(dtime_t input) {
1124
1071
  return input.micros;
1125
1072
  }
1126
1073
 
1127
- template <>
1128
- int64_t DatePart::EpochMicrosecondsOperator::Operation(dtime_ns_t input) {
1129
- return DatePart::EpochMicrosecondsOperator::Operation<dtime_t, int64_t>(input.time());
1130
- }
1131
-
1132
1074
  template <>
1133
1075
  int64_t DatePart::EpochMicrosecondsOperator::Operation(dtime_tz_t input) {
1134
1076
  return DatePart::EpochMicrosecondsOperator::Operation<dtime_t, int64_t>(input.time());
@@ -1167,11 +1109,6 @@ int64_t DatePart::NanosecondsOperator::Operation(timestamp_ns_t input) {
1167
1109
  return (time.micros % Interval::MICROS_PER_MINUTE) * Interval::NANOS_PER_MICRO + nanos;
1168
1110
  }
1169
1111
 
1170
- template <>
1171
- int64_t DatePart::NanosecondsOperator::Operation(dtime_ns_t input) {
1172
- return input.micros % Interval::NANOS_PER_MINUTE;
1173
- }
1174
-
1175
1112
  template <>
1176
1113
  int64_t DatePart::MicrosecondsOperator::Operation(timestamp_t input) {
1177
1114
  D_ASSERT(Timestamp::IsFinite(input));
@@ -1192,11 +1129,6 @@ int64_t DatePart::MicrosecondsOperator::Operation(dtime_t input) {
1192
1129
  return input.micros % Interval::MICROS_PER_MINUTE;
1193
1130
  }
1194
1131
 
1195
- template <>
1196
- int64_t DatePart::MicrosecondsOperator::Operation(dtime_ns_t input) {
1197
- return DatePart::MicrosecondsOperator::Operation<dtime_t, int64_t>(input.time());
1198
- }
1199
-
1200
1132
  template <>
1201
1133
  int64_t DatePart::MicrosecondsOperator::Operation(dtime_tz_t input) {
1202
1134
  return DatePart::MicrosecondsOperator::Operation<dtime_t, int64_t>(input.time());
@@ -1218,11 +1150,6 @@ int64_t DatePart::MillisecondsOperator::Operation(dtime_t input) {
1218
1150
  return MicrosecondsOperator::Operation<dtime_t, int64_t>(input) / Interval::MICROS_PER_MSEC;
1219
1151
  }
1220
1152
 
1221
- template <>
1222
- int64_t DatePart::MillisecondsOperator::Operation(dtime_ns_t input) {
1223
- return MillisecondsOperator::Operation<dtime_t, int64_t>(input.time());
1224
- }
1225
-
1226
1153
  template <>
1227
1154
  int64_t DatePart::MillisecondsOperator::Operation(dtime_tz_t input) {
1228
1155
  return DatePart::MillisecondsOperator::Operation<dtime_t, int64_t>(input.time());
@@ -1244,11 +1171,6 @@ int64_t DatePart::SecondsOperator::Operation(dtime_t input) {
1244
1171
  return MicrosecondsOperator::Operation<dtime_t, int64_t>(input) / Interval::MICROS_PER_SEC;
1245
1172
  }
1246
1173
 
1247
- template <>
1248
- int64_t DatePart::SecondsOperator::Operation(dtime_ns_t input) {
1249
- return SecondsOperator::Operation<dtime_t, int64_t>(input.time());
1250
- }
1251
-
1252
1174
  template <>
1253
1175
  int64_t DatePart::SecondsOperator::Operation(dtime_tz_t input) {
1254
1176
  return DatePart::SecondsOperator::Operation<dtime_t, int64_t>(input.time());
@@ -1274,11 +1196,6 @@ int64_t DatePart::MinutesOperator::Operation(dtime_t input) {
1274
1196
  return (input.micros % Interval::MICROS_PER_HOUR) / Interval::MICROS_PER_MINUTE;
1275
1197
  }
1276
1198
 
1277
- template <>
1278
- int64_t DatePart::MinutesOperator::Operation(dtime_ns_t input) {
1279
- return MinutesOperator::Operation<dtime_t, int64_t>(input.time());
1280
- }
1281
-
1282
1199
  template <>
1283
1200
  int64_t DatePart::MinutesOperator::Operation(dtime_tz_t input) {
1284
1201
  return DatePart::MinutesOperator::Operation<dtime_t, int64_t>(input.time());
@@ -1300,11 +1217,6 @@ int64_t DatePart::HoursOperator::Operation(dtime_t input) {
1300
1217
  return input.micros / Interval::MICROS_PER_HOUR;
1301
1218
  }
1302
1219
 
1303
- template <>
1304
- int64_t DatePart::HoursOperator::Operation(dtime_ns_t input) {
1305
- return HoursOperator::Operation<dtime_t, int64_t>(input.time());
1306
- }
1307
-
1308
1220
  template <>
1309
1221
  int64_t DatePart::HoursOperator::Operation(dtime_tz_t input) {
1310
1222
  return DatePart::HoursOperator::Operation<dtime_t, int64_t>(input.time());
@@ -1342,11 +1254,6 @@ double DatePart::EpochOperator::Operation(dtime_t input) {
1342
1254
  return double(input.micros) / double(Interval::MICROS_PER_SEC);
1343
1255
  }
1344
1256
 
1345
- template <>
1346
- double DatePart::EpochOperator::Operation(dtime_ns_t input) {
1347
- return EpochOperator::Operation<dtime_t, double>(input.time());
1348
- }
1349
-
1350
1257
  template <>
1351
1258
  double DatePart::EpochOperator::Operation(dtime_tz_t input) {
1352
1259
  return DatePart::EpochOperator::Operation<dtime_t, double>(input.time());
@@ -1378,11 +1285,6 @@ int64_t DatePart::EraOperator::Operation(dtime_t input) {
1378
1285
  throw NotImplementedException("\"time\" units \"era\" not recognized");
1379
1286
  }
1380
1287
 
1381
- template <>
1382
- int64_t DatePart::EraOperator::Operation(dtime_ns_t input) {
1383
- return EraOperator::Operation<dtime_t, int64_t>(input.time());
1384
- }
1385
-
1386
1288
  template <>
1387
1289
  int64_t DatePart::EraOperator::Operation(dtime_tz_t input) {
1388
1290
  return EraOperator::Operation<dtime_t, int64_t>(input.time());
@@ -1439,62 +1341,26 @@ double DatePart::JulianDayOperator::Operation(date_t input) {
1439
1341
  }
1440
1342
 
1441
1343
  template <>
1442
- void DatePart::StructOperator::Operation(bigint_vec &bigint_values, double_vec &double_values, const dtime_t &input,
1443
- const idx_t idx, const part_mask_t mask) {
1444
- int64_t *part_data;
1445
- if (mask & TIME) {
1446
- const auto micros = MicrosecondsOperator::Operation<dtime_t, int64_t>(input);
1447
- part_data = HasPartValue(bigint_values, DatePartSpecifier::MICROSECONDS);
1448
- if (part_data) {
1449
- part_data[idx] = micros;
1450
- }
1451
- part_data = HasPartValue(bigint_values, DatePartSpecifier::MILLISECONDS);
1452
- if (part_data) {
1453
- part_data[idx] = micros / Interval::MICROS_PER_MSEC;
1454
- }
1455
- part_data = HasPartValue(bigint_values, DatePartSpecifier::SECOND);
1456
- if (part_data) {
1457
- part_data[idx] = micros / Interval::MICROS_PER_SEC;
1458
- }
1459
- part_data = HasPartValue(bigint_values, DatePartSpecifier::MINUTE);
1460
- if (part_data) {
1461
- part_data[idx] = MinutesOperator::Operation<dtime_t, int64_t>(input);
1462
- }
1463
- part_data = HasPartValue(bigint_values, DatePartSpecifier::HOUR);
1464
- if (part_data) {
1465
- part_data[idx] = HoursOperator::Operation<dtime_t, int64_t>(input);
1466
- }
1467
- }
1344
+ double DatePart::JulianDayOperator::Operation(interval_t input) {
1345
+ throw NotImplementedException("interval units \"julian\" not recognized");
1346
+ }
1468
1347
 
1469
- if (mask & EPOCH) {
1470
- auto part_data = HasPartValue(double_values, DatePartSpecifier::EPOCH);
1471
- if (part_data) {
1472
- part_data[idx] = EpochOperator::Operation<dtime_t, double>(input);
1473
- }
1474
- }
1348
+ template <>
1349
+ double DatePart::JulianDayOperator::Operation(dtime_t input) {
1350
+ throw NotImplementedException("\"time\" units \"julian\" not recognized");
1351
+ }
1475
1352
 
1476
- if (mask & ZONE) {
1477
- part_data = HasPartValue(bigint_values, DatePartSpecifier::TIMEZONE);
1478
- if (part_data) {
1479
- part_data[idx] = 0;
1480
- }
1481
- part_data = HasPartValue(bigint_values, DatePartSpecifier::TIMEZONE_HOUR);
1482
- if (part_data) {
1483
- part_data[idx] = 0;
1484
- }
1485
- part_data = HasPartValue(bigint_values, DatePartSpecifier::TIMEZONE_MINUTE);
1486
- if (part_data) {
1487
- part_data[idx] = 0;
1488
- }
1489
- }
1353
+ template <>
1354
+ double DatePart::JulianDayOperator::Operation(dtime_tz_t input) {
1355
+ return JulianDayOperator::Operation<dtime_t, double>(input.time());
1490
1356
  }
1491
1357
 
1492
1358
  template <>
1493
- void DatePart::StructOperator::Operation(bigint_vec &bigint_values, double_vec &double_values, const dtime_ns_t &input,
1359
+ void DatePart::StructOperator::Operation(bigint_vec &bigint_values, double_vec &double_values, const dtime_t &input,
1494
1360
  const idx_t idx, const part_mask_t mask) {
1495
1361
  int64_t *part_data;
1496
1362
  if (mask & TIME) {
1497
- const auto micros = MicrosecondsOperator::Operation<dtime_ns_t, int64_t>(input);
1363
+ const auto micros = MicrosecondsOperator::Operation<dtime_t, int64_t>(input);
1498
1364
  part_data = HasPartValue(bigint_values, DatePartSpecifier::MICROSECONDS);
1499
1365
  if (part_data) {
1500
1366
  part_data[idx] = micros;
@@ -1509,18 +1375,18 @@ void DatePart::StructOperator::Operation(bigint_vec &bigint_values, double_vec &
1509
1375
  }
1510
1376
  part_data = HasPartValue(bigint_values, DatePartSpecifier::MINUTE);
1511
1377
  if (part_data) {
1512
- part_data[idx] = MinutesOperator::Operation<dtime_ns_t, int64_t>(input);
1378
+ part_data[idx] = MinutesOperator::Operation<dtime_t, int64_t>(input);
1513
1379
  }
1514
1380
  part_data = HasPartValue(bigint_values, DatePartSpecifier::HOUR);
1515
1381
  if (part_data) {
1516
- part_data[idx] = HoursOperator::Operation<dtime_ns_t, int64_t>(input);
1382
+ part_data[idx] = HoursOperator::Operation<dtime_t, int64_t>(input);
1517
1383
  }
1518
1384
  }
1519
1385
 
1520
1386
  if (mask & EPOCH) {
1521
1387
  auto part_data = HasPartValue(double_values, DatePartSpecifier::EPOCH);
1522
1388
  if (part_data) {
1523
- part_data[idx] = EpochOperator::Operation<dtime_ns_t, double>(input);
1389
+ part_data[idx] = EpochOperator::Operation<dtime_t, double>(input);
1524
1390
  }
1525
1391
  }
1526
1392
 
@@ -1689,7 +1555,7 @@ void DatePart::StructOperator::Operation(bigint_vec &bigint_values, double_vec &
1689
1555
  }
1690
1556
 
1691
1557
  template <typename T>
1692
- int64_t ExtractElement(DatePartSpecifier type, T element) {
1558
+ static int64_t ExtractElement(DatePartSpecifier type, T element) {
1693
1559
  switch (type) {
1694
1560
  case DatePartSpecifier::YEAR:
1695
1561
  return DatePart::YearOperator::template Operation<T, int64_t>(element);
@@ -1741,7 +1607,7 @@ int64_t ExtractElement(DatePartSpecifier type, T element) {
1741
1607
  }
1742
1608
 
1743
1609
  template <typename T>
1744
- void DatePartFunction(DataChunk &args, ExpressionState &state, Vector &result) {
1610
+ static void DatePartFunction(DataChunk &args, ExpressionState &state, Vector &result) {
1745
1611
  D_ASSERT(args.ColumnCount() == 2);
1746
1612
  auto &spec_arg = args.data[0];
1747
1613
  auto &date_arg = args.data[1];
@@ -1757,8 +1623,8 @@ void DatePartFunction(DataChunk &args, ExpressionState &state, Vector &result) {
1757
1623
  });
1758
1624
  }
1759
1625
 
1760
- unique_ptr<FunctionData> DatePartBind(ClientContext &context, ScalarFunction &bound_function,
1761
- vector<unique_ptr<Expression>> &arguments) {
1626
+ static unique_ptr<FunctionData> DatePartBind(ClientContext &context, ScalarFunction &bound_function,
1627
+ vector<unique_ptr<Expression>> &arguments) {
1762
1628
  // If we are only looking for Julian Days for timestamps,
1763
1629
  // then return doubles.
1764
1630
  if (arguments[0]->HasParameter() || !arguments[0]->IsFoldable()) {
@@ -1814,10 +1680,6 @@ unique_ptr<FunctionData> DatePartBind(ClientContext &context, ScalarFunction &bo
1814
1680
  bound_function.function = DatePart::UnaryFunction<dtime_t, double, DatePart::EpochOperator>;
1815
1681
  bound_function.statistics = DatePart::EpochOperator::template PropagateStatistics<dtime_t>;
1816
1682
  break;
1817
- case LogicalType::TIME_NS:
1818
- bound_function.function = DatePart::UnaryFunction<dtime_ns_t, double, DatePart::EpochOperator>;
1819
- bound_function.statistics = DatePart::EpochOperator::template PropagateStatistics<dtime_ns_t>;
1820
- break;
1821
1683
  case LogicalType::TIME_TZ:
1822
1684
  bound_function.function = DatePart::UnaryFunction<dtime_tz_t, double, DatePart::EpochOperator>;
1823
1685
  bound_function.statistics = DatePart::EpochOperator::template PropagateStatistics<dtime_tz_t>;
@@ -1850,7 +1712,7 @@ ScalarFunctionSet GetGenericDatePartFunction(scalar_function_t date_func, scalar
1850
1712
  }
1851
1713
 
1852
1714
  template <class OP>
1853
- ScalarFunctionSet GetDatePartFunction() {
1715
+ static ScalarFunctionSet GetDatePartFunction() {
1854
1716
  return GetGenericDatePartFunction(
1855
1717
  DatePart::UnaryFunction<date_t, int64_t, OP>, DatePart::UnaryFunction<timestamp_t, int64_t, OP>,
1856
1718
  ScalarFunction::UnaryFunction<interval_t, int64_t, OP>, OP::template PropagateStatistics<date_t>,
@@ -1859,10 +1721,9 @@ ScalarFunctionSet GetDatePartFunction() {
1859
1721
 
1860
1722
  ScalarFunctionSet GetGenericTimePartFunction(const LogicalType &result_type, scalar_function_t date_func,
1861
1723
  scalar_function_t ts_func, scalar_function_t interval_func,
1862
- scalar_function_t time_func, scalar_function_t time_ns_func,
1863
- scalar_function_t timetz_func, function_statistics_t date_stats,
1864
- function_statistics_t ts_stats, function_statistics_t time_stats,
1865
- function_statistics_t time_ns_stats, function_statistics_t timetz_stats) {
1724
+ scalar_function_t time_func, scalar_function_t timetz_func,
1725
+ function_statistics_t date_stats, function_statistics_t ts_stats,
1726
+ function_statistics_t time_stats, function_statistics_t timetz_stats) {
1866
1727
  ScalarFunctionSet operator_set;
1867
1728
  operator_set.AddFunction(
1868
1729
  ScalarFunction({LogicalType::DATE}, result_type, std::move(date_func), nullptr, nullptr, date_stats));
@@ -1871,21 +1732,18 @@ ScalarFunctionSet GetGenericTimePartFunction(const LogicalType &result_type, sca
1871
1732
  operator_set.AddFunction(ScalarFunction({LogicalType::INTERVAL}, result_type, std::move(interval_func)));
1872
1733
  operator_set.AddFunction(
1873
1734
  ScalarFunction({LogicalType::TIME}, result_type, std::move(time_func), nullptr, nullptr, time_stats));
1874
- operator_set.AddFunction(
1875
- ScalarFunction({LogicalType::TIME_NS}, result_type, std::move(time_ns_func), nullptr, nullptr, time_ns_stats));
1876
1735
  operator_set.AddFunction(
1877
1736
  ScalarFunction({LogicalType::TIME_TZ}, result_type, std::move(timetz_func), nullptr, nullptr, timetz_stats));
1878
1737
  return operator_set;
1879
1738
  }
1880
1739
 
1881
1740
  template <class OP, class TR = int64_t>
1882
- ScalarFunctionSet GetTimePartFunction(const LogicalType &result_type = LogicalType::BIGINT) {
1741
+ static ScalarFunctionSet GetTimePartFunction(const LogicalType &result_type = LogicalType::BIGINT) {
1883
1742
  return GetGenericTimePartFunction(
1884
1743
  result_type, DatePart::UnaryFunction<date_t, TR, OP>, DatePart::UnaryFunction<timestamp_t, TR, OP>,
1885
1744
  ScalarFunction::UnaryFunction<interval_t, TR, OP>, ScalarFunction::UnaryFunction<dtime_t, TR, OP>,
1886
- ScalarFunction::UnaryFunction<dtime_ns_t, TR, OP>, ScalarFunction::UnaryFunction<dtime_tz_t, TR, OP>,
1887
- OP::template PropagateStatistics<date_t>, OP::template PropagateStatistics<timestamp_t>,
1888
- OP::template PropagateStatistics<dtime_t>, OP::template PropagateStatistics<dtime_ns_t>,
1745
+ ScalarFunction::UnaryFunction<dtime_tz_t, TR, OP>, OP::template PropagateStatistics<date_t>,
1746
+ OP::template PropagateStatistics<timestamp_t>, OP::template PropagateStatistics<dtime_t>,
1889
1747
  OP::template PropagateStatistics<dtime_tz_t>);
1890
1748
  }
1891
1749
 
@@ -2135,8 +1993,6 @@ ScalarFunctionSet GetCachedDatepartFunction() {
2135
1993
  OP::template PropagateStatistics<timestamp_t>);
2136
1994
  }
2137
1995
 
2138
- } // namespace
2139
-
2140
1996
  ScalarFunctionSet YearFun::GetFunctions() {
2141
1997
  return GetCachedDatepartFunction<DatePart::YearOperator>();
2142
1998
  }
@@ -2271,20 +2127,13 @@ ScalarFunctionSet EpochMsFun::GetFunctions() {
2271
2127
  operator_set.AddFunction(
2272
2128
  ScalarFunction({LogicalType::TIMESTAMP_TZ}, LogicalType::BIGINT, tstz_func, nullptr, nullptr, tstz_stats));
2273
2129
 
2274
- // Deprecated inverse BIGINT => TIMESTAMP
2130
+ // Legacy inverse BIGINT => TIMESTAMP
2275
2131
  operator_set.AddFunction(
2276
2132
  ScalarFunction({LogicalType::BIGINT}, LogicalType::TIMESTAMP, DatePart::EpochMillisOperator::Inverse));
2277
2133
 
2278
2134
  return operator_set;
2279
2135
  }
2280
2136
 
2281
- ScalarFunctionSet MakeTimestampMsFun::GetFunctions() {
2282
- ScalarFunctionSet operator_set("make_timestamp_ms");
2283
- operator_set.AddFunction(
2284
- ScalarFunction({LogicalType::BIGINT}, LogicalType::TIMESTAMP, DatePart::EpochMillisOperator::Inverse));
2285
- return operator_set;
2286
- }
2287
-
2288
2137
  ScalarFunctionSet NanosecondsFun::GetFunctions() {
2289
2138
  using OP = DatePart::NanosecondsOperator;
2290
2139
  using TR = int64_t;
@@ -2392,8 +2241,6 @@ ScalarFunctionSet DatePartFun::GetFunctions() {
2392
2241
  DatePartFunction<timestamp_t>, DatePartBind));
2393
2242
  date_part.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::TIME}, LogicalType::BIGINT,
2394
2243
  DatePartFunction<dtime_t>, DatePartBind));
2395
- date_part.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::TIME_NS}, LogicalType::BIGINT,
2396
- DatePartFunction<dtime_ns_t>, DatePartBind));
2397
2244
  date_part.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::INTERVAL}, LogicalType::BIGINT,
2398
2245
  DatePartFunction<interval_t>, DatePartBind));
2399
2246
  date_part.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::TIME_TZ}, LogicalType::BIGINT,
@@ -2403,7 +2250,6 @@ ScalarFunctionSet DatePartFun::GetFunctions() {
2403
2250
  date_part.AddFunction(StructDatePart::GetFunction<date_t>(LogicalType::DATE));
2404
2251
  date_part.AddFunction(StructDatePart::GetFunction<timestamp_t>(LogicalType::TIMESTAMP));
2405
2252
  date_part.AddFunction(StructDatePart::GetFunction<dtime_t>(LogicalType::TIME));
2406
- date_part.AddFunction(StructDatePart::GetFunction<dtime_ns_t>(LogicalType::TIME_NS));
2407
2253
  date_part.AddFunction(StructDatePart::GetFunction<interval_t>(LogicalType::INTERVAL));
2408
2254
  date_part.AddFunction(StructDatePart::GetFunction<dtime_tz_t>(LogicalType::TIME_TZ));
2409
2255