duckdb 1.1.2-dev6.0 → 1.1.4-dev11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1747) hide show
  1. package/.github/workflows/NodeJS.yml +5 -54
  2. package/binding.gyp +73 -52
  3. package/package.json +2 -2
  4. package/src/duckdb/{src → extension}/core_functions/aggregate/algebraic/avg.cpp +2 -2
  5. package/src/duckdb/{src → extension}/core_functions/aggregate/algebraic/corr.cpp +4 -4
  6. package/src/duckdb/{src → extension}/core_functions/aggregate/algebraic/covar.cpp +2 -2
  7. package/src/duckdb/{src → extension}/core_functions/aggregate/algebraic/stddev.cpp +2 -2
  8. package/src/duckdb/{src → extension}/core_functions/aggregate/distributive/approx_count.cpp +1 -1
  9. package/src/duckdb/{src → extension}/core_functions/aggregate/distributive/arg_min_max.cpp +66 -18
  10. package/src/duckdb/{src → extension}/core_functions/aggregate/distributive/bitagg.cpp +1 -1
  11. package/src/duckdb/{src → extension}/core_functions/aggregate/distributive/bitstring_agg.cpp +5 -7
  12. package/src/duckdb/{src → extension}/core_functions/aggregate/distributive/bool.cpp +3 -1
  13. package/src/duckdb/{src → extension}/core_functions/aggregate/distributive/kurtosis.cpp +1 -1
  14. package/src/duckdb/{src → extension}/core_functions/aggregate/distributive/product.cpp +1 -1
  15. package/src/duckdb/{src → extension}/core_functions/aggregate/distributive/skew.cpp +2 -2
  16. package/src/duckdb/{src → extension}/core_functions/aggregate/distributive/string_agg.cpp +1 -1
  17. package/src/duckdb/{src → extension}/core_functions/aggregate/distributive/sum.cpp +13 -2
  18. package/src/duckdb/{src → extension}/core_functions/aggregate/holistic/approx_top_k.cpp +3 -3
  19. package/src/duckdb/{src → extension}/core_functions/aggregate/holistic/approximate_quantile.cpp +51 -15
  20. package/src/duckdb/{src → extension}/core_functions/aggregate/holistic/mad.cpp +25 -10
  21. package/src/duckdb/{src → extension}/core_functions/aggregate/holistic/mode.cpp +215 -71
  22. package/src/duckdb/{src → extension}/core_functions/aggregate/holistic/quantile.cpp +58 -31
  23. package/src/duckdb/{src → extension}/core_functions/aggregate/holistic/reservoir_quantile.cpp +2 -2
  24. package/src/duckdb/{src → extension}/core_functions/aggregate/nested/binned_histogram.cpp +9 -4
  25. package/src/duckdb/{src → extension}/core_functions/aggregate/nested/histogram.cpp +4 -2
  26. package/src/duckdb/{src → extension}/core_functions/aggregate/nested/list.cpp +1 -1
  27. package/src/duckdb/{src → extension}/core_functions/aggregate/regression/regr_avg.cpp +1 -1
  28. package/src/duckdb/{src → extension}/core_functions/aggregate/regression/regr_count.cpp +2 -2
  29. package/src/duckdb/{src → extension}/core_functions/aggregate/regression/regr_intercept.cpp +6 -2
  30. package/src/duckdb/{src → extension}/core_functions/aggregate/regression/regr_r2.cpp +2 -2
  31. package/src/duckdb/{src → extension}/core_functions/aggregate/regression/regr_slope.cpp +2 -2
  32. package/src/duckdb/{src → extension}/core_functions/aggregate/regression/regr_sxx_syy.cpp +2 -2
  33. package/src/duckdb/{src → extension}/core_functions/aggregate/regression/regr_sxy.cpp +3 -3
  34. package/src/duckdb/extension/core_functions/core_functions_extension.cpp +85 -0
  35. package/src/duckdb/{src → extension}/core_functions/function_list.cpp +30 -51
  36. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/aggregate/algebraic/corr.hpp +3 -7
  37. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/aggregate/algebraic_functions.hpp +1 -1
  38. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/aggregate/distributive_functions.hpp +16 -21
  39. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/aggregate/histogram_helpers.hpp +1 -1
  40. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/aggregate/holistic_functions.hpp +1 -1
  41. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/aggregate/nested_functions.hpp +1 -1
  42. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/aggregate/quantile_helpers.hpp +2 -2
  43. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/aggregate/quantile_sort_tree.hpp +140 -58
  44. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/aggregate/quantile_state.hpp +50 -43
  45. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/aggregate/regression/regr_count.hpp +2 -2
  46. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/aggregate/regression/regr_slope.hpp +3 -7
  47. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/aggregate/regression_functions.hpp +1 -1
  48. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/scalar/array_functions.hpp +1 -1
  49. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/scalar/bit_functions.hpp +1 -1
  50. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/scalar/blob_functions.hpp +1 -10
  51. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/scalar/date_functions.hpp +22 -55
  52. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/scalar/debug_functions.hpp +1 -1
  53. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/scalar/enum_functions.hpp +1 -1
  54. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/scalar/generic_functions.hpp +1 -10
  55. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/scalar/list_functions.hpp +4 -4
  56. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/scalar/map_functions.hpp +1 -10
  57. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/scalar/math_functions.hpp +1 -1
  58. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/scalar/operators_functions.hpp +1 -1
  59. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/scalar/random_functions.hpp +1 -1
  60. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/scalar/string_functions.hpp +10 -103
  61. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/scalar/struct_functions.hpp +1 -19
  62. package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/scalar/union_functions.hpp +1 -1
  63. package/src/duckdb/extension/core_functions/include/core_functions_extension.hpp +22 -0
  64. package/src/duckdb/{src → extension}/core_functions/lambda_functions.cpp +1 -1
  65. package/src/duckdb/{src → extension}/core_functions/scalar/array/array_functions.cpp +11 -4
  66. package/src/duckdb/{src → extension}/core_functions/scalar/array/array_value.cpp +2 -2
  67. package/src/duckdb/{src → extension}/core_functions/scalar/bit/bitstring.cpp +12 -5
  68. package/src/duckdb/{src → extension}/core_functions/scalar/blob/base64.cpp +4 -2
  69. package/src/duckdb/{src → extension}/core_functions/scalar/blob/encode.cpp +4 -2
  70. package/src/duckdb/{src → extension}/core_functions/scalar/date/age.cpp +9 -3
  71. package/src/duckdb/extension/core_functions/scalar/date/current.cpp +29 -0
  72. package/src/duckdb/{src → extension}/core_functions/scalar/date/date_diff.cpp +1 -1
  73. package/src/duckdb/{src → extension}/core_functions/scalar/date/date_part.cpp +42 -9
  74. package/src/duckdb/{src → extension}/core_functions/scalar/date/date_sub.cpp +1 -1
  75. package/src/duckdb/{src → extension}/core_functions/scalar/date/date_trunc.cpp +4 -1
  76. package/src/duckdb/{src → extension}/core_functions/scalar/date/epoch.cpp +19 -3
  77. package/src/duckdb/{src → extension}/core_functions/scalar/date/make_date.cpp +40 -5
  78. package/src/duckdb/{src → extension}/core_functions/scalar/date/time_bucket.cpp +4 -1
  79. package/src/duckdb/{src → extension}/core_functions/scalar/date/to_interval.cpp +54 -28
  80. package/src/duckdb/{src → extension}/core_functions/scalar/debug/vector_type.cpp +1 -1
  81. package/src/duckdb/{src → extension}/core_functions/scalar/enum/enum_functions.cpp +2 -7
  82. package/src/duckdb/{src → extension}/core_functions/scalar/generic/alias.cpp +2 -2
  83. package/src/duckdb/{src/function → extension/core_functions}/scalar/generic/binning.cpp +4 -3
  84. package/src/duckdb/{src → extension}/core_functions/scalar/generic/can_implicitly_cast.cpp +1 -1
  85. package/src/duckdb/{src → extension}/core_functions/scalar/generic/current_setting.cpp +1 -1
  86. package/src/duckdb/{src → extension}/core_functions/scalar/generic/hash.cpp +1 -1
  87. package/src/duckdb/{src → extension}/core_functions/scalar/generic/least.cpp +30 -10
  88. package/src/duckdb/{src → extension}/core_functions/scalar/generic/stats.cpp +1 -1
  89. package/src/duckdb/{src → extension}/core_functions/scalar/generic/system_functions.cpp +1 -1
  90. package/src/duckdb/{src → extension}/core_functions/scalar/generic/typeof.cpp +1 -1
  91. package/src/duckdb/{src → extension}/core_functions/scalar/list/array_slice.cpp +93 -88
  92. package/src/duckdb/{src → extension}/core_functions/scalar/list/flatten.cpp +1 -1
  93. package/src/duckdb/{src → extension}/core_functions/scalar/list/list_aggregates.cpp +7 -3
  94. package/src/duckdb/{src → extension}/core_functions/scalar/list/list_distance.cpp +8 -2
  95. package/src/duckdb/{src → extension}/core_functions/scalar/list/list_filter.cpp +3 -3
  96. package/src/duckdb/{src → extension}/core_functions/scalar/list/list_has_any_or_all.cpp +3 -3
  97. package/src/duckdb/{src → extension}/core_functions/scalar/list/list_reduce.cpp +5 -5
  98. package/src/duckdb/{src → extension}/core_functions/scalar/list/list_sort.cpp +1 -1
  99. package/src/duckdb/{src → extension}/core_functions/scalar/list/list_transform.cpp +3 -3
  100. package/src/duckdb/{src → extension}/core_functions/scalar/list/list_value.cpp +3 -3
  101. package/src/duckdb/{src → extension}/core_functions/scalar/list/range.cpp +7 -1
  102. package/src/duckdb/{src → extension}/core_functions/scalar/map/cardinality.cpp +1 -1
  103. package/src/duckdb/{src → extension}/core_functions/scalar/map/map.cpp +5 -4
  104. package/src/duckdb/{src → extension}/core_functions/scalar/map/map_concat.cpp +1 -1
  105. package/src/duckdb/{src → extension}/core_functions/scalar/map/map_entries.cpp +1 -1
  106. package/src/duckdb/{src → extension}/core_functions/scalar/map/map_extract.cpp +13 -25
  107. package/src/duckdb/{src → extension}/core_functions/scalar/map/map_from_entries.cpp +2 -1
  108. package/src/duckdb/{src → extension}/core_functions/scalar/map/map_keys_values.cpp +11 -9
  109. package/src/duckdb/{src → extension}/core_functions/scalar/math/numeric.cpp +83 -37
  110. package/src/duckdb/{src → extension}/core_functions/scalar/operators/bitwise.cpp +19 -1
  111. package/src/duckdb/{src → extension}/core_functions/scalar/random/random.cpp +4 -3
  112. package/src/duckdb/{src → extension}/core_functions/scalar/random/setseed.cpp +2 -1
  113. package/src/duckdb/{src → extension}/core_functions/scalar/string/ascii.cpp +1 -1
  114. package/src/duckdb/{src → extension}/core_functions/scalar/string/bar.cpp +6 -4
  115. package/src/duckdb/{src → extension}/core_functions/scalar/string/chr.cpp +1 -1
  116. package/src/duckdb/{src → extension}/core_functions/scalar/string/damerau_levenshtein.cpp +1 -1
  117. package/src/duckdb/{src → extension}/core_functions/scalar/string/format_bytes.cpp +1 -1
  118. package/src/duckdb/{src → extension}/core_functions/scalar/string/hamming.cpp +1 -1
  119. package/src/duckdb/{src → extension}/core_functions/scalar/string/hex.cpp +7 -3
  120. package/src/duckdb/{src → extension}/core_functions/scalar/string/instr.cpp +4 -4
  121. package/src/duckdb/{src → extension}/core_functions/scalar/string/jaccard.cpp +1 -1
  122. package/src/duckdb/extension/core_functions/scalar/string/jaro_winkler.cpp +112 -0
  123. package/src/duckdb/{src → extension}/core_functions/scalar/string/left_right.cpp +6 -6
  124. package/src/duckdb/{src → extension}/core_functions/scalar/string/levenshtein.cpp +1 -1
  125. package/src/duckdb/{src → extension}/core_functions/scalar/string/pad.cpp +9 -5
  126. package/src/duckdb/{src → extension}/core_functions/scalar/string/parse_path.cpp +4 -4
  127. package/src/duckdb/{src → extension}/core_functions/scalar/string/printf.cpp +3 -1
  128. package/src/duckdb/{src → extension}/core_functions/scalar/string/repeat.cpp +4 -1
  129. package/src/duckdb/{src → extension}/core_functions/scalar/string/replace.cpp +1 -1
  130. package/src/duckdb/{src → extension}/core_functions/scalar/string/reverse.cpp +1 -1
  131. package/src/duckdb/{src → extension}/core_functions/scalar/string/starts_with.cpp +5 -3
  132. package/src/duckdb/{src → extension}/core_functions/scalar/string/to_base.cpp +1 -1
  133. package/src/duckdb/{src → extension}/core_functions/scalar/string/translate.cpp +1 -1
  134. package/src/duckdb/{src → extension}/core_functions/scalar/string/trim.cpp +1 -1
  135. package/src/duckdb/{src → extension}/core_functions/scalar/string/unicode.cpp +1 -1
  136. package/src/duckdb/{src → extension}/core_functions/scalar/string/url_encode.cpp +1 -1
  137. package/src/duckdb/{src → extension}/core_functions/scalar/struct/struct_insert.cpp +25 -31
  138. package/src/duckdb/{src → extension}/core_functions/scalar/union/union_extract.cpp +1 -1
  139. package/src/duckdb/{src → extension}/core_functions/scalar/union/union_tag.cpp +1 -1
  140. package/src/duckdb/{src → extension}/core_functions/scalar/union/union_value.cpp +3 -3
  141. package/src/duckdb/extension/icu/icu-dateadd.cpp +16 -11
  142. package/src/duckdb/extension/icu/icu-datefunc.cpp +2 -2
  143. package/src/duckdb/extension/icu/icu-datepart.cpp +8 -5
  144. package/src/duckdb/extension/icu/icu-datesub.cpp +2 -2
  145. package/src/duckdb/extension/icu/icu-datetrunc.cpp +8 -1
  146. package/src/duckdb/extension/icu/icu-list-range.cpp +2 -2
  147. package/src/duckdb/extension/icu/icu-makedate.cpp +18 -7
  148. package/src/duckdb/extension/icu/icu-strptime.cpp +9 -3
  149. package/src/duckdb/extension/icu/icu-table-range.cpp +2 -2
  150. package/src/duckdb/extension/icu/icu-timebucket.cpp +4 -1
  151. package/src/duckdb/extension/icu/icu-timezone.cpp +67 -1
  152. package/src/duckdb/extension/icu/icu_extension.cpp +60 -5
  153. package/src/duckdb/extension/icu/include/icu-datefunc.hpp +2 -1
  154. package/src/duckdb/extension/icu/third_party/icu/common/bytestriebuilder.cpp +1 -1
  155. package/src/duckdb/extension/icu/third_party/icu/common/dtintrv.cpp +1 -1
  156. package/src/duckdb/extension/icu/third_party/icu/common/filteredbrk.cpp +1 -1
  157. package/src/duckdb/extension/icu/third_party/icu/common/locid.cpp +1 -1
  158. package/src/duckdb/extension/icu/third_party/icu/common/lsr.cpp +1 -1
  159. package/src/duckdb/extension/icu/third_party/icu/common/lsr.h +2 -2
  160. package/src/duckdb/extension/icu/third_party/icu/common/messagepattern.cpp +2 -2
  161. package/src/duckdb/extension/icu/third_party/icu/common/normlzr.cpp +1 -1
  162. package/src/duckdb/extension/icu/third_party/icu/common/rbbinode.h +1 -1
  163. package/src/duckdb/extension/icu/third_party/icu/common/schriter.cpp +1 -1
  164. package/src/duckdb/extension/icu/third_party/icu/common/stringtriebuilder.cpp +8 -8
  165. package/src/duckdb/extension/icu/third_party/icu/common/ucharstriebuilder.cpp +1 -1
  166. package/src/duckdb/extension/icu/third_party/icu/common/uchriter.cpp +1 -1
  167. package/src/duckdb/extension/icu/third_party/icu/common/unicode/brkiter.h +2 -2
  168. package/src/duckdb/extension/icu/third_party/icu/common/unicode/bytestriebuilder.h +1 -1
  169. package/src/duckdb/extension/icu/third_party/icu/common/unicode/chariter.h +3 -3
  170. package/src/duckdb/extension/icu/third_party/icu/common/unicode/dtintrv.h +3 -3
  171. package/src/duckdb/extension/icu/third_party/icu/common/unicode/locid.h +3 -3
  172. package/src/duckdb/extension/icu/third_party/icu/common/unicode/messagepattern.h +4 -4
  173. package/src/duckdb/extension/icu/third_party/icu/common/unicode/normlzr.h +3 -3
  174. package/src/duckdb/extension/icu/third_party/icu/common/unicode/parsepos.h +4 -4
  175. package/src/duckdb/extension/icu/third_party/icu/common/unicode/rbbi.h +2 -2
  176. package/src/duckdb/extension/icu/third_party/icu/common/unicode/schriter.h +1 -1
  177. package/src/duckdb/extension/icu/third_party/icu/common/unicode/strenum.h +2 -2
  178. package/src/duckdb/extension/icu/third_party/icu/common/unicode/stringpiece.h +1 -1
  179. package/src/duckdb/extension/icu/third_party/icu/common/unicode/stringtriebuilder.h +9 -9
  180. package/src/duckdb/extension/icu/third_party/icu/common/unicode/ucharstriebuilder.h +1 -1
  181. package/src/duckdb/extension/icu/third_party/icu/common/unicode/uchriter.h +1 -1
  182. package/src/duckdb/extension/icu/third_party/icu/common/unicode/uniset.h +3 -3
  183. package/src/duckdb/extension/icu/third_party/icu/common/unicode/unistr.h +12 -12
  184. package/src/duckdb/extension/icu/third_party/icu/common/unicode/uobject.h +2 -2
  185. package/src/duckdb/extension/icu/third_party/icu/common/unifiedcache.h +4 -4
  186. package/src/duckdb/extension/icu/third_party/icu/common/uniset.cpp +1 -1
  187. package/src/duckdb/extension/icu/third_party/icu/common/ustr_titlecase_brkiter.cpp +1 -1
  188. package/src/duckdb/extension/icu/third_party/icu/common/ustrenum.cpp +2 -2
  189. package/src/duckdb/extension/icu/third_party/icu/common/uvector.cpp +1 -1
  190. package/src/duckdb/extension/icu/third_party/icu/common/uvector.h +3 -3
  191. package/src/duckdb/extension/icu/third_party/icu/common/uvectr32.cpp +1 -1
  192. package/src/duckdb/extension/icu/third_party/icu/common/uvectr32.h +3 -3
  193. package/src/duckdb/extension/icu/third_party/icu/common/uvectr64.cpp +1 -1
  194. package/src/duckdb/extension/icu/third_party/icu/common/uvectr64.h +3 -3
  195. package/src/duckdb/extension/icu/third_party/icu/i18n/alphaindex.cpp +2 -2
  196. package/src/duckdb/extension/icu/third_party/icu/i18n/calendar.cpp +1 -1
  197. package/src/duckdb/extension/icu/third_party/icu/i18n/choicfmt.cpp +1 -1
  198. package/src/duckdb/extension/icu/third_party/icu/i18n/coleitr.cpp +2 -2
  199. package/src/duckdb/extension/icu/third_party/icu/i18n/coll.cpp +2 -2
  200. package/src/duckdb/extension/icu/third_party/icu/i18n/collationiterator.cpp +1 -1
  201. package/src/duckdb/extension/icu/third_party/icu/i18n/collationiterator.h +2 -2
  202. package/src/duckdb/extension/icu/third_party/icu/i18n/collationsettings.cpp +1 -1
  203. package/src/duckdb/extension/icu/third_party/icu/i18n/collationsettings.h +2 -2
  204. package/src/duckdb/extension/icu/third_party/icu/i18n/currpinf.cpp +1 -1
  205. package/src/duckdb/extension/icu/third_party/icu/i18n/datefmt.cpp +2 -2
  206. package/src/duckdb/extension/icu/third_party/icu/i18n/dcfmtsym.cpp +1 -1
  207. package/src/duckdb/extension/icu/third_party/icu/i18n/decimfmt.cpp +1 -1
  208. package/src/duckdb/extension/icu/third_party/icu/i18n/dtfmtsym.cpp +1 -1
  209. package/src/duckdb/extension/icu/third_party/icu/i18n/dtitvfmt.cpp +1 -1
  210. package/src/duckdb/extension/icu/third_party/icu/i18n/dtitvinf.cpp +1 -1
  211. package/src/duckdb/extension/icu/third_party/icu/i18n/dtptngen.cpp +2 -2
  212. package/src/duckdb/extension/icu/third_party/icu/i18n/dtptngen_impl.h +4 -4
  213. package/src/duckdb/extension/icu/third_party/icu/i18n/dtrule.cpp +2 -2
  214. package/src/duckdb/extension/icu/third_party/icu/i18n/fmtable.cpp +1 -1
  215. package/src/duckdb/extension/icu/third_party/icu/i18n/format.cpp +1 -1
  216. package/src/duckdb/extension/icu/third_party/icu/i18n/fpositer.cpp +1 -1
  217. package/src/duckdb/extension/icu/third_party/icu/i18n/measfmt.cpp +1 -1
  218. package/src/duckdb/extension/icu/third_party/icu/i18n/measunit.cpp +1 -1
  219. package/src/duckdb/extension/icu/third_party/icu/i18n/measure.cpp +1 -1
  220. package/src/duckdb/extension/icu/third_party/icu/i18n/msgfmt.cpp +2 -2
  221. package/src/duckdb/extension/icu/third_party/icu/i18n/nfrs.cpp +1 -1
  222. package/src/duckdb/extension/icu/third_party/icu/i18n/nfrs.h +2 -2
  223. package/src/duckdb/extension/icu/third_party/icu/i18n/nfrule.cpp +1 -1
  224. package/src/duckdb/extension/icu/third_party/icu/i18n/nfrule.h +2 -2
  225. package/src/duckdb/extension/icu/third_party/icu/i18n/nfsubs.cpp +9 -9
  226. package/src/duckdb/extension/icu/third_party/icu/i18n/nfsubs.h +2 -2
  227. package/src/duckdb/extension/icu/third_party/icu/i18n/number_asformat.cpp +1 -1
  228. package/src/duckdb/extension/icu/third_party/icu/i18n/number_asformat.h +1 -1
  229. package/src/duckdb/extension/icu/third_party/icu/i18n/numfmt.cpp +1 -1
  230. package/src/duckdb/extension/icu/third_party/icu/i18n/olsontz.cpp +1 -1
  231. package/src/duckdb/extension/icu/third_party/icu/i18n/olsontz.h +1 -1
  232. package/src/duckdb/extension/icu/third_party/icu/i18n/plurfmt.cpp +2 -2
  233. package/src/duckdb/extension/icu/third_party/icu/i18n/plurrule.cpp +1 -1
  234. package/src/duckdb/extension/icu/third_party/icu/i18n/rbnf.cpp +4 -4
  235. package/src/duckdb/extension/icu/third_party/icu/i18n/rbtz.cpp +2 -2
  236. package/src/duckdb/extension/icu/third_party/icu/i18n/region.cpp +2 -2
  237. package/src/duckdb/extension/icu/third_party/icu/i18n/reldtfmt.cpp +1 -1
  238. package/src/duckdb/extension/icu/third_party/icu/i18n/reldtfmt.h +1 -1
  239. package/src/duckdb/extension/icu/third_party/icu/i18n/rulebasedcollator.cpp +1 -1
  240. package/src/duckdb/extension/icu/third_party/icu/i18n/selfmt.cpp +2 -2
  241. package/src/duckdb/extension/icu/third_party/icu/i18n/simpletz.cpp +1 -1
  242. package/src/duckdb/extension/icu/third_party/icu/i18n/smpdtfmt.cpp +1 -1
  243. package/src/duckdb/extension/icu/third_party/icu/i18n/sortkey.cpp +1 -1
  244. package/src/duckdb/extension/icu/third_party/icu/i18n/timezone.cpp +1 -1
  245. package/src/duckdb/extension/icu/third_party/icu/i18n/tmutamt.cpp +1 -1
  246. package/src/duckdb/extension/icu/third_party/icu/i18n/tzfmt.cpp +1 -1
  247. package/src/duckdb/extension/icu/third_party/icu/i18n/tzgnames.cpp +1 -1
  248. package/src/duckdb/extension/icu/third_party/icu/i18n/tzgnames.h +2 -2
  249. package/src/duckdb/extension/icu/third_party/icu/i18n/tznames.cpp +3 -3
  250. package/src/duckdb/extension/icu/third_party/icu/i18n/tznames_impl.cpp +2 -2
  251. package/src/duckdb/extension/icu/third_party/icu/i18n/tznames_impl.h +2 -2
  252. package/src/duckdb/extension/icu/third_party/icu/i18n/tzrule.cpp +8 -8
  253. package/src/duckdb/extension/icu/third_party/icu/i18n/tztrans.cpp +2 -2
  254. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/alphaindex.h +2 -2
  255. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/calendar.h +2 -2
  256. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/choicfmt.h +1 -1
  257. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/coleitr.h +2 -2
  258. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/coll.h +2 -2
  259. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/currpinf.h +3 -3
  260. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/datefmt.h +1 -1
  261. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/dcfmtsym.h +2 -2
  262. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/decimfmt.h +1 -1
  263. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/dtfmtsym.h +2 -2
  264. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/dtitvfmt.h +3 -3
  265. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/dtitvinf.h +3 -3
  266. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/dtptngen.h +2 -2
  267. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/dtrule.h +2 -2
  268. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/fieldpos.h +4 -4
  269. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/fmtable.h +2 -2
  270. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/format.h +2 -2
  271. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/fpositer.h +2 -2
  272. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/measfmt.h +1 -1
  273. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/measunit.h +2 -2
  274. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/measure.h +1 -1
  275. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/msgfmt.h +2 -2
  276. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/numfmt.h +1 -1
  277. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/plurfmt.h +2 -2
  278. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/plurrule.h +2 -2
  279. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/rbnf.h +1 -1
  280. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/rbtz.h +2 -2
  281. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/region.h +2 -2
  282. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/search.h +2 -2
  283. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/selfmt.h +2 -2
  284. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/simpletz.h +1 -1
  285. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/smpdtfmt.h +1 -1
  286. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/sortkey.h +3 -3
  287. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/stsearch.h +1 -1
  288. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/tblcoll.h +1 -1
  289. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/timezone.h +2 -2
  290. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/tmutamt.h +3 -3
  291. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/tmutfmt.h +2 -2
  292. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/tzfmt.h +1 -1
  293. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/tznames.h +2 -2
  294. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/tzrule.h +8 -8
  295. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/tztrans.h +2 -2
  296. package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/vtzone.h +2 -2
  297. package/src/duckdb/extension/icu/third_party/icu/i18n/utf16collationiterator.cpp +2 -2
  298. package/src/duckdb/extension/icu/third_party/icu/i18n/utf16collationiterator.h +2 -2
  299. package/src/duckdb/extension/icu/third_party/icu/i18n/vtzone.cpp +2 -2
  300. package/src/duckdb/extension/json/buffered_json_reader.cpp +6 -1
  301. package/src/duckdb/extension/json/include/buffered_json_reader.hpp +2 -0
  302. package/src/duckdb/extension/json/include/json_common.hpp +14 -10
  303. package/src/duckdb/extension/json/include/json_scan.hpp +48 -7
  304. package/src/duckdb/extension/json/include/json_structure.hpp +2 -1
  305. package/src/duckdb/extension/json/include/json_transform.hpp +5 -2
  306. package/src/duckdb/extension/json/json_functions/copy_json.cpp +1 -1
  307. package/src/duckdb/extension/json/json_functions/json_create.cpp +57 -20
  308. package/src/duckdb/extension/json/json_functions/json_serialize_plan.cpp +7 -6
  309. package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +6 -5
  310. package/src/duckdb/extension/json/json_functions/json_structure.cpp +20 -17
  311. package/src/duckdb/extension/json/json_functions/json_transform.cpp +48 -17
  312. package/src/duckdb/extension/json/json_functions/read_json.cpp +83 -34
  313. package/src/duckdb/extension/json/json_functions/read_json_objects.cpp +3 -3
  314. package/src/duckdb/extension/json/json_functions.cpp +14 -16
  315. package/src/duckdb/extension/json/json_scan.cpp +36 -16
  316. package/src/duckdb/extension/json/json_serializer.cpp +1 -1
  317. package/src/duckdb/extension/json/serialize_json.cpp +2 -2
  318. package/src/duckdb/extension/parquet/column_reader.cpp +136 -116
  319. package/src/duckdb/extension/parquet/column_writer.cpp +870 -604
  320. package/src/duckdb/extension/parquet/geo_parquet.cpp +4 -5
  321. package/src/duckdb/extension/parquet/include/boolean_column_reader.hpp +0 -4
  322. package/src/duckdb/extension/parquet/include/column_reader.hpp +24 -19
  323. package/src/duckdb/extension/parquet/include/column_writer.hpp +7 -5
  324. package/src/duckdb/extension/parquet/include/decode_utils.hpp +138 -18
  325. package/src/duckdb/extension/parquet/include/geo_parquet.hpp +4 -3
  326. package/src/duckdb/extension/parquet/include/null_column_reader.hpp +1 -14
  327. package/src/duckdb/extension/parquet/include/parquet_bss_encoder.hpp +45 -0
  328. package/src/duckdb/extension/parquet/include/parquet_crypto.hpp +1 -1
  329. package/src/duckdb/extension/parquet/include/parquet_dbp_decoder.hpp +101 -90
  330. package/src/duckdb/extension/parquet/include/parquet_dbp_encoder.hpp +179 -0
  331. package/src/duckdb/extension/parquet/include/parquet_decimal_utils.hpp +2 -3
  332. package/src/duckdb/extension/parquet/include/parquet_dlba_encoder.hpp +48 -0
  333. package/src/duckdb/extension/parquet/include/parquet_extension.hpp +8 -0
  334. package/src/duckdb/extension/parquet/include/parquet_file_metadata_cache.hpp +2 -2
  335. package/src/duckdb/extension/parquet/include/parquet_metadata.hpp +5 -0
  336. package/src/duckdb/extension/parquet/include/parquet_reader.hpp +22 -18
  337. package/src/duckdb/extension/parquet/include/parquet_rle_bp_decoder.hpp +1 -5
  338. package/src/duckdb/extension/parquet/include/parquet_statistics.hpp +87 -3
  339. package/src/duckdb/extension/parquet/include/parquet_writer.hpp +30 -16
  340. package/src/duckdb/extension/parquet/include/resizable_buffer.hpp +1 -0
  341. package/src/duckdb/extension/parquet/include/string_column_reader.hpp +0 -8
  342. package/src/duckdb/extension/parquet/include/struct_column_reader.hpp +1 -1
  343. package/src/duckdb/extension/parquet/include/templated_column_reader.hpp +1 -42
  344. package/src/duckdb/extension/parquet/include/thrift_tools.hpp +13 -1
  345. package/src/duckdb/extension/parquet/include/zstd_file_system.hpp +4 -0
  346. package/src/duckdb/extension/parquet/parquet_extension.cpp +240 -197
  347. package/src/duckdb/extension/parquet/parquet_metadata.cpp +138 -6
  348. package/src/duckdb/extension/parquet/parquet_reader.cpp +155 -79
  349. package/src/duckdb/extension/parquet/parquet_statistics.cpp +258 -38
  350. package/src/duckdb/extension/parquet/parquet_timestamp.cpp +17 -3
  351. package/src/duckdb/extension/parquet/parquet_writer.cpp +65 -34
  352. package/src/duckdb/extension/parquet/serialize_parquet.cpp +4 -0
  353. package/src/duckdb/extension/parquet/zstd_file_system.cpp +13 -0
  354. package/src/duckdb/src/catalog/catalog.cpp +272 -97
  355. package/src/duckdb/src/catalog/catalog_entry/duck_index_entry.cpp +9 -4
  356. package/src/duckdb/src/catalog/catalog_entry/duck_schema_entry.cpp +8 -0
  357. package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +145 -95
  358. package/src/duckdb/src/catalog/catalog_entry/scalar_function_catalog_entry.cpp +9 -3
  359. package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +15 -0
  360. package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +40 -24
  361. package/src/duckdb/src/catalog/catalog_entry/table_function_catalog_entry.cpp +1 -1
  362. package/src/duckdb/src/catalog/catalog_entry/type_catalog_entry.cpp +2 -2
  363. package/src/duckdb/src/catalog/catalog_entry.cpp +3 -0
  364. package/src/duckdb/src/catalog/catalog_entry_retriever.cpp +60 -5
  365. package/src/duckdb/src/catalog/catalog_search_path.cpp +27 -14
  366. package/src/duckdb/src/catalog/catalog_set.cpp +75 -31
  367. package/src/duckdb/src/catalog/default/default_functions.cpp +13 -8
  368. package/src/duckdb/src/catalog/default/default_views.cpp +1 -0
  369. package/src/duckdb/src/catalog/dependency_manager.cpp +133 -5
  370. package/src/duckdb/src/catalog/duck_catalog.cpp +17 -9
  371. package/src/duckdb/src/common/adbc/adbc.cpp +18 -0
  372. package/src/duckdb/src/common/allocator.cpp +3 -1
  373. package/src/duckdb/src/common/arrow/arrow_appender.cpp +30 -9
  374. package/src/duckdb/src/common/arrow/arrow_converter.cpp +63 -82
  375. package/src/duckdb/src/common/arrow/arrow_merge_event.cpp +4 -3
  376. package/src/duckdb/src/common/arrow/arrow_type_extension.cpp +361 -0
  377. package/src/duckdb/src/common/arrow/arrow_util.cpp +10 -6
  378. package/src/duckdb/src/common/arrow/arrow_wrapper.cpp +6 -2
  379. package/src/duckdb/src/common/arrow/physical_arrow_collector.cpp +2 -1
  380. package/src/duckdb/src/common/arrow/schema_metadata.cpp +27 -14
  381. package/src/duckdb/src/common/assert.cpp +1 -2
  382. package/src/duckdb/src/common/bind_helpers.cpp +1 -1
  383. package/src/duckdb/src/common/box_renderer.cpp +316 -26
  384. package/src/duckdb/src/common/cgroups.cpp +7 -1
  385. package/src/duckdb/src/common/compressed_file_system.cpp +1 -1
  386. package/src/duckdb/src/common/enum_util.cpp +2865 -6882
  387. package/src/duckdb/src/common/enums/compression_type.cpp +12 -0
  388. package/src/duckdb/src/common/enums/metric_type.cpp +24 -0
  389. package/src/duckdb/src/common/enums/optimizer_type.cpp +4 -0
  390. package/src/duckdb/src/common/enums/physical_operator_type.cpp +2 -0
  391. package/src/duckdb/src/common/error_data.cpp +23 -6
  392. package/src/duckdb/src/common/exception/binder_exception.cpp +1 -1
  393. package/src/duckdb/src/common/exception.cpp +20 -28
  394. package/src/duckdb/src/common/extra_type_info.cpp +85 -20
  395. package/src/duckdb/src/common/file_buffer.cpp +5 -2
  396. package/src/duckdb/src/common/file_system.cpp +8 -3
  397. package/src/duckdb/src/common/fsst.cpp +3 -3
  398. package/src/duckdb/src/common/hive_partitioning.cpp +1 -1
  399. package/src/duckdb/src/common/local_file_system.cpp +169 -60
  400. package/src/duckdb/src/common/multi_file_list.cpp +4 -1
  401. package/src/duckdb/src/common/multi_file_reader.cpp +240 -63
  402. package/src/duckdb/src/common/opener_file_system.cpp +37 -0
  403. package/src/duckdb/src/common/operator/cast_operators.cpp +77 -11
  404. package/src/duckdb/src/common/operator/string_cast.cpp +6 -2
  405. package/src/duckdb/src/common/pipe_file_system.cpp +4 -4
  406. package/src/duckdb/src/common/progress_bar/progress_bar.cpp +25 -14
  407. package/src/duckdb/src/common/radix_partitioning.cpp +17 -16
  408. package/src/duckdb/src/common/random_engine.cpp +39 -3
  409. package/src/duckdb/src/common/render_tree.cpp +3 -19
  410. package/src/duckdb/src/common/row_operations/row_external.cpp +1 -1
  411. package/src/duckdb/src/common/row_operations/row_gather.cpp +2 -58
  412. package/src/duckdb/src/common/row_operations/row_matcher.cpp +2 -2
  413. package/src/duckdb/src/common/row_operations/row_radix_scatter.cpp +2 -0
  414. package/src/duckdb/src/common/row_operations/row_scatter.cpp +20 -19
  415. package/src/duckdb/src/common/serializer/buffered_file_writer.cpp +1 -1
  416. package/src/duckdb/src/common/serializer/memory_stream.cpp +36 -0
  417. package/src/duckdb/src/common/sort/comparators.cpp +7 -7
  418. package/src/duckdb/src/common/sort/partition_state.cpp +2 -2
  419. package/src/duckdb/src/common/stacktrace.cpp +127 -0
  420. package/src/duckdb/src/common/string_util.cpp +157 -32
  421. package/src/duckdb/src/common/tree_renderer/text_tree_renderer.cpp +15 -3
  422. package/src/duckdb/src/common/types/column/column_data_allocator.cpp +4 -0
  423. package/src/duckdb/src/common/types/column/column_data_collection.cpp +71 -8
  424. package/src/duckdb/src/common/types/column/column_data_collection_segment.cpp +27 -6
  425. package/src/duckdb/src/common/types/conflict_manager.cpp +21 -7
  426. package/src/duckdb/src/common/types/date.cpp +39 -25
  427. package/src/duckdb/src/common/types/row/partitioned_tuple_data.cpp +4 -11
  428. package/src/duckdb/src/common/types/row/tuple_data_allocator.cpp +21 -7
  429. package/src/duckdb/src/common/types/row/tuple_data_collection.cpp +10 -1
  430. package/src/duckdb/src/common/types/row/tuple_data_scatter_gather.cpp +17 -17
  431. package/src/duckdb/src/common/types/timestamp.cpp +70 -33
  432. package/src/duckdb/src/common/types/uuid.cpp +11 -0
  433. package/src/duckdb/src/common/types/validity_mask.cpp +16 -5
  434. package/src/duckdb/src/common/types/value.cpp +357 -199
  435. package/src/duckdb/src/common/types/varint.cpp +64 -18
  436. package/src/duckdb/src/common/types/vector.cpp +78 -38
  437. package/src/duckdb/src/common/types.cpp +199 -92
  438. package/src/duckdb/src/common/vector_operations/comparison_operators.cpp +2 -1
  439. package/src/duckdb/src/common/vector_operations/is_distinct_from.cpp +32 -5
  440. package/src/duckdb/src/common/vector_operations/vector_hash.cpp +3 -1
  441. package/src/duckdb/src/execution/adaptive_filter.cpp +6 -2
  442. package/src/duckdb/src/execution/aggregate_hashtable.cpp +410 -111
  443. package/src/duckdb/src/execution/column_binding_resolver.cpp +2 -2
  444. package/src/duckdb/src/execution/expression_executor/execute_between.cpp +6 -0
  445. package/src/duckdb/src/execution/expression_executor/execute_cast.cpp +4 -3
  446. package/src/duckdb/src/execution/expression_executor/execute_comparison.cpp +2 -2
  447. package/src/duckdb/src/execution/expression_executor/execute_conjunction.cpp +2 -2
  448. package/src/duckdb/src/execution/expression_executor/execute_function.cpp +1 -0
  449. package/src/duckdb/src/execution/expression_executor/execute_operator.cpp +5 -4
  450. package/src/duckdb/src/execution/expression_executor.cpp +5 -3
  451. package/src/duckdb/src/execution/index/art/art.cpp +208 -72
  452. package/src/duckdb/src/execution/index/art/base_leaf.cpp +1 -1
  453. package/src/duckdb/src/execution/index/art/leaf.cpp +12 -7
  454. package/src/duckdb/src/execution/index/art/node.cpp +2 -1
  455. package/src/duckdb/src/execution/index/art/node256_leaf.cpp +6 -6
  456. package/src/duckdb/src/execution/index/art/plan_art.cpp +50 -55
  457. package/src/duckdb/src/execution/index/art/prefix.cpp +7 -13
  458. package/src/duckdb/src/execution/index/bound_index.cpp +30 -5
  459. package/src/duckdb/src/execution/index/fixed_size_allocator.cpp +3 -5
  460. package/src/duckdb/src/execution/index/fixed_size_buffer.cpp +14 -9
  461. package/src/duckdb/src/execution/join_hashtable.cpp +254 -158
  462. package/src/duckdb/src/execution/operator/aggregate/grouped_aggregate_data.cpp +1 -1
  463. package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +7 -7
  464. package/src/duckdb/src/execution/operator/aggregate/physical_partitioned_aggregate.cpp +226 -0
  465. package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +3 -3
  466. package/src/duckdb/src/execution/operator/aggregate/physical_streaming_window.cpp +3 -3
  467. package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +77 -70
  468. package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +114 -50
  469. package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer.cpp +2 -2
  470. package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.cpp +19 -10
  471. package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_file_handle.cpp +22 -15
  472. package/src/duckdb/src/execution/operator/csv_scanner/encode/csv_encoder.cpp +95 -0
  473. package/src/duckdb/src/execution/operator/csv_scanner/scanner/column_count_scanner.cpp +6 -1
  474. package/src/duckdb/src/execution/operator/csv_scanner/scanner/csv_schema.cpp +75 -2
  475. package/src/duckdb/src/execution/operator/csv_scanner/scanner/scanner_boundary.cpp +40 -12
  476. package/src/duckdb/src/execution/operator/csv_scanner/scanner/string_value_scanner.cpp +395 -163
  477. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp +20 -23
  478. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp +115 -49
  479. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/header_detection.cpp +66 -12
  480. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_detection.cpp +20 -23
  481. package/src/duckdb/src/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.cpp +220 -46
  482. package/src/duckdb/src/execution/operator/csv_scanner/table_function/csv_file_scanner.cpp +43 -32
  483. package/src/duckdb/src/execution/operator/csv_scanner/table_function/global_csv_state.cpp +54 -119
  484. package/src/duckdb/src/execution/operator/csv_scanner/util/csv_error.cpp +184 -20
  485. package/src/duckdb/src/execution/operator/csv_scanner/util/csv_reader_options.cpp +83 -21
  486. package/src/duckdb/src/execution/operator/csv_scanner/util/csv_validator.cpp +63 -0
  487. package/src/duckdb/src/execution/operator/helper/physical_reservoir_sample.cpp +7 -4
  488. package/src/duckdb/src/execution/operator/helper/physical_set.cpp +1 -1
  489. package/src/duckdb/src/execution/operator/helper/physical_vacuum.cpp +3 -2
  490. package/src/duckdb/src/execution/operator/helper/physical_verify_vector.cpp +9 -1
  491. package/src/duckdb/src/execution/operator/join/perfect_hash_join_executor.cpp +132 -15
  492. package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +64 -55
  493. package/src/duckdb/src/execution/operator/join/physical_hash_join.cpp +284 -154
  494. package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +40 -55
  495. package/src/duckdb/src/execution/operator/join/physical_range_join.cpp +0 -1
  496. package/src/duckdb/src/execution/operator/order/physical_order.cpp +7 -3
  497. package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +298 -227
  498. package/src/duckdb/src/execution/operator/persistent/csv_rejects_table.cpp +5 -2
  499. package/src/duckdb/src/execution/operator/persistent/physical_batch_copy_to_file.cpp +3 -4
  500. package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +32 -19
  501. package/src/duckdb/src/execution/operator/persistent/physical_copy_database.cpp +1 -0
  502. package/src/duckdb/src/execution/operator/persistent/physical_copy_to_file.cpp +6 -0
  503. package/src/duckdb/src/execution/operator/persistent/physical_delete.cpp +58 -19
  504. package/src/duckdb/src/execution/operator/persistent/physical_export.cpp +11 -27
  505. package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +308 -119
  506. package/src/duckdb/src/execution/operator/persistent/physical_update.cpp +105 -55
  507. package/src/duckdb/src/execution/operator/projection/physical_tableinout_function.cpp +6 -2
  508. package/src/duckdb/src/execution/operator/projection/physical_unnest.cpp +1 -1
  509. package/src/duckdb/src/execution/operator/scan/physical_positional_scan.cpp +15 -6
  510. package/src/duckdb/src/execution/operator/scan/physical_table_scan.cpp +92 -50
  511. package/src/duckdb/src/execution/operator/schema/physical_alter.cpp +0 -1
  512. package/src/duckdb/src/execution/operator/schema/physical_attach.cpp +8 -4
  513. package/src/duckdb/src/execution/operator/schema/physical_create_art_index.cpp +54 -22
  514. package/src/duckdb/src/execution/operator/set/physical_union.cpp +5 -1
  515. package/src/duckdb/src/execution/physical_operator.cpp +15 -9
  516. package/src/duckdb/src/execution/physical_plan/plan_aggregate.cpp +101 -12
  517. package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +11 -140
  518. package/src/duckdb/src/execution/physical_plan/plan_create_index.cpp +11 -13
  519. package/src/duckdb/src/execution/physical_plan/plan_cte.cpp +1 -1
  520. package/src/duckdb/src/execution/physical_plan/plan_delete.cpp +1 -1
  521. package/src/duckdb/src/execution/physical_plan/plan_delim_join.cpp +1 -1
  522. package/src/duckdb/src/execution/physical_plan/plan_distinct.cpp +6 -5
  523. package/src/duckdb/src/execution/physical_plan/plan_export.cpp +0 -4
  524. package/src/duckdb/src/execution/physical_plan/plan_filter.cpp +1 -1
  525. package/src/duckdb/src/execution/physical_plan/plan_get.cpp +16 -13
  526. package/src/duckdb/src/execution/physical_plan/plan_insert.cpp +1 -1
  527. package/src/duckdb/src/execution/physical_plan/plan_order.cpp +7 -7
  528. package/src/duckdb/src/execution/physical_plan/plan_prepare.cpp +2 -2
  529. package/src/duckdb/src/execution/physical_plan/plan_projection.cpp +1 -1
  530. package/src/duckdb/src/execution/physical_plan/plan_sample.cpp +8 -3
  531. package/src/duckdb/src/execution/physical_plan/plan_set_operation.cpp +1 -2
  532. package/src/duckdb/src/execution/physical_plan/plan_simple.cpp +1 -2
  533. package/src/duckdb/src/execution/physical_plan/plan_top_n.cpp +3 -2
  534. package/src/duckdb/src/execution/physical_plan_generator.cpp +0 -22
  535. package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +136 -116
  536. package/src/duckdb/src/execution/sample/base_reservoir_sample.cpp +136 -0
  537. package/src/duckdb/src/execution/sample/reservoir_sample.cpp +930 -0
  538. package/src/duckdb/src/function/aggregate/distributive/count.cpp +6 -12
  539. package/src/duckdb/src/function/aggregate/distributive/{first.cpp → first_last_any.cpp} +37 -18
  540. package/src/duckdb/src/{core_functions → function}/aggregate/distributive/minmax.cpp +19 -12
  541. package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +72 -13
  542. package/src/duckdb/src/function/built_in_functions.cpp +85 -2
  543. package/src/duckdb/src/function/cast/decimal_cast.cpp +1 -1
  544. package/src/duckdb/src/function/cast/string_cast.cpp +1 -1
  545. package/src/duckdb/src/function/cast/struct_cast.cpp +81 -49
  546. package/src/duckdb/src/function/cast/union/from_struct.cpp +7 -5
  547. package/src/duckdb/src/function/compression_config.cpp +6 -0
  548. package/src/duckdb/src/function/encoding_function.cpp +134 -0
  549. package/src/duckdb/src/function/function.cpp +8 -13
  550. package/src/duckdb/src/function/function_binder.cpp +100 -21
  551. package/src/duckdb/src/function/function_list.cpp +178 -0
  552. package/src/duckdb/src/function/macro_function.cpp +4 -4
  553. package/src/duckdb/src/function/pragma/pragma_functions.cpp +0 -2
  554. package/src/duckdb/src/function/pragma/pragma_queries.cpp +0 -4
  555. package/src/duckdb/src/{core_functions/core_functions.cpp → function/register_function_list.cpp} +12 -8
  556. package/src/duckdb/src/function/scalar/compressed_materialization/compress_integral.cpp +62 -23
  557. package/src/duckdb/src/function/scalar/compressed_materialization/compress_string.cpp +33 -16
  558. package/src/duckdb/src/function/scalar/compressed_materialization_utils.cpp +21 -0
  559. package/src/duckdb/src/{core_functions/scalar/blob → function/scalar}/create_sort_key.cpp +86 -23
  560. package/src/duckdb/src/{core_functions → function}/scalar/date/strftime.cpp +6 -4
  561. package/src/duckdb/src/function/scalar/generic/constant_or_null.cpp +5 -7
  562. package/src/duckdb/src/{core_functions → function}/scalar/generic/error.cpp +3 -1
  563. package/src/duckdb/src/function/scalar/generic/getvariable.cpp +2 -2
  564. package/src/duckdb/src/function/scalar/list/contains_or_position.cpp +1 -7
  565. package/src/duckdb/src/function/scalar/list/list_extract.cpp +27 -21
  566. package/src/duckdb/src/function/scalar/list/list_resize.cpp +8 -12
  567. package/src/duckdb/src/function/scalar/list/list_select.cpp +1 -4
  568. package/src/duckdb/src/function/scalar/list/list_zip.cpp +6 -6
  569. package/src/duckdb/src/{core_functions → function}/scalar/map/map_contains.cpp +2 -2
  570. package/src/duckdb/src/function/scalar/nested_functions.cpp +0 -11
  571. package/src/duckdb/src/function/scalar/{operators → operator}/add.cpp +2 -1
  572. package/src/duckdb/src/function/scalar/{operators → operator}/arithmetic.cpp +195 -127
  573. package/src/duckdb/src/function/scalar/sequence/nextval.cpp +30 -21
  574. package/src/duckdb/src/function/scalar/strftime_format.cpp +10 -0
  575. package/src/duckdb/src/function/scalar/string/caseconvert.cpp +11 -41
  576. package/src/duckdb/src/function/scalar/string/concat.cpp +22 -20
  577. package/src/duckdb/src/function/scalar/string/concat_ws.cpp +2 -2
  578. package/src/duckdb/src/function/scalar/string/contains.cpp +16 -19
  579. package/src/duckdb/src/function/scalar/string/length.cpp +38 -24
  580. package/src/duckdb/src/function/scalar/string/like.cpp +80 -47
  581. package/src/duckdb/src/{core_functions → function}/scalar/string/md5.cpp +2 -2
  582. package/src/duckdb/src/function/scalar/string/nfc_normalize.cpp +2 -6
  583. package/src/duckdb/src/function/scalar/string/prefix.cpp +0 -4
  584. package/src/duckdb/src/function/scalar/string/regexp/regexp_extract_all.cpp +2 -1
  585. package/src/duckdb/src/function/scalar/string/regexp.cpp +17 -7
  586. package/src/duckdb/src/{core_functions → function}/scalar/string/regexp_escape.cpp +2 -2
  587. package/src/duckdb/src/{core_functions → function}/scalar/string/sha1.cpp +1 -1
  588. package/src/duckdb/src/{core_functions → function}/scalar/string/sha256.cpp +1 -1
  589. package/src/duckdb/src/{core_functions → function}/scalar/string/string_split.cpp +4 -5
  590. package/src/duckdb/src/function/scalar/string/strip_accents.cpp +3 -6
  591. package/src/duckdb/src/function/scalar/string/substring.cpp +14 -13
  592. package/src/duckdb/src/function/scalar/string/suffix.cpp +0 -4
  593. package/src/duckdb/src/function/scalar/struct/struct_concat.cpp +115 -0
  594. package/src/duckdb/src/function/scalar/struct/struct_extract.cpp +35 -31
  595. package/src/duckdb/src/{core_functions → function}/scalar/struct/struct_pack.cpp +7 -7
  596. package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +5 -8
  597. package/src/duckdb/src/function/scalar/system/write_log.cpp +170 -0
  598. package/src/duckdb/src/function/scalar_function.cpp +5 -5
  599. package/src/duckdb/src/function/table/arrow/arrow_array_scan_state.cpp +3 -2
  600. package/src/duckdb/src/function/table/arrow/arrow_duck_schema.cpp +287 -1
  601. package/src/duckdb/src/function/table/arrow/arrow_type_info.cpp +6 -6
  602. package/src/duckdb/src/function/table/arrow.cpp +32 -352
  603. package/src/duckdb/src/function/table/arrow_conversion.cpp +43 -7
  604. package/src/duckdb/src/function/table/copy_csv.cpp +38 -23
  605. package/src/duckdb/src/function/table/glob.cpp +1 -1
  606. package/src/duckdb/src/function/table/query_function.cpp +12 -7
  607. package/src/duckdb/src/function/table/read_csv.cpp +114 -46
  608. package/src/duckdb/src/function/table/read_file.cpp +26 -6
  609. package/src/duckdb/src/function/table/sniff_csv.cpp +25 -5
  610. package/src/duckdb/src/function/table/system/duckdb_columns.cpp +1 -1
  611. package/src/duckdb/src/function/table/system/duckdb_constraints.cpp +1 -1
  612. package/src/duckdb/src/function/table/system/duckdb_dependencies.cpp +6 -7
  613. package/src/duckdb/src/function/table/system/duckdb_extensions.cpp +1 -1
  614. package/src/duckdb/src/function/table/system/duckdb_functions.cpp +141 -16
  615. package/src/duckdb/src/function/table/system/duckdb_log.cpp +64 -0
  616. package/src/duckdb/src/function/table/system/duckdb_log_contexts.cpp +65 -0
  617. package/src/duckdb/src/function/table/system/duckdb_memory.cpp +0 -1
  618. package/src/duckdb/src/function/table/system/duckdb_settings.cpp +1 -1
  619. package/src/duckdb/src/function/table/system/duckdb_tables.cpp +1 -13
  620. package/src/duckdb/src/function/table/system/duckdb_types.cpp +1 -1
  621. package/src/duckdb/src/function/table/system/pragma_storage_info.cpp +17 -0
  622. package/src/duckdb/src/function/table/system/pragma_table_info.cpp +6 -0
  623. package/src/duckdb/src/function/table/system/pragma_table_sample.cpp +95 -0
  624. package/src/duckdb/src/function/table/system/test_all_types.cpp +56 -46
  625. package/src/duckdb/src/function/table/system_functions.cpp +3 -0
  626. package/src/duckdb/src/function/table/table_scan.cpp +487 -289
  627. package/src/duckdb/src/function/table/version/pragma_version.cpp +3 -3
  628. package/src/duckdb/src/function/table_function.cpp +10 -6
  629. package/src/duckdb/src/function/window/window_aggregate_function.cpp +248 -0
  630. package/src/duckdb/src/function/window/window_aggregate_states.cpp +48 -0
  631. package/src/duckdb/src/function/window/window_aggregator.cpp +88 -0
  632. package/src/duckdb/src/function/window/window_boundaries_state.cpp +854 -0
  633. package/src/duckdb/src/function/window/window_collection.cpp +146 -0
  634. package/src/duckdb/src/function/window/window_constant_aggregator.cpp +357 -0
  635. package/src/duckdb/src/function/window/window_custom_aggregator.cpp +146 -0
  636. package/src/duckdb/src/function/window/window_distinct_aggregator.cpp +758 -0
  637. package/src/duckdb/src/function/window/window_executor.cpp +99 -0
  638. package/src/duckdb/src/function/window/window_index_tree.cpp +63 -0
  639. package/src/duckdb/src/function/window/window_merge_sort_tree.cpp +275 -0
  640. package/src/duckdb/src/function/window/window_naive_aggregator.cpp +361 -0
  641. package/src/duckdb/src/function/window/window_rank_function.cpp +288 -0
  642. package/src/duckdb/src/function/window/window_rownumber_function.cpp +191 -0
  643. package/src/duckdb/src/function/window/window_segment_tree.cpp +594 -0
  644. package/src/duckdb/src/function/window/window_shared_expressions.cpp +50 -0
  645. package/src/duckdb/src/function/window/window_token_tree.cpp +142 -0
  646. package/src/duckdb/src/function/window/window_value_function.cpp +566 -0
  647. package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +74 -17
  648. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_index_entry.hpp +1 -1
  649. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_schema_entry.hpp +2 -0
  650. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_table_entry.hpp +9 -0
  651. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/function_entry.hpp +4 -10
  652. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/pragma_function_catalog_entry.hpp +1 -1
  653. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/scalar_function_catalog_entry.hpp +2 -2
  654. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp +2 -0
  655. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +18 -3
  656. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_function_catalog_entry.hpp +1 -1
  657. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/type_catalog_entry.hpp +2 -1
  658. package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +5 -2
  659. package/src/duckdb/src/include/duckdb/catalog/catalog_entry_retriever.hpp +21 -18
  660. package/src/duckdb/src/include/duckdb/catalog/catalog_search_path.hpp +3 -2
  661. package/src/duckdb/src/include/duckdb/catalog/catalog_set.hpp +10 -2
  662. package/src/duckdb/src/include/duckdb/catalog/dependency_manager.hpp +11 -0
  663. package/src/duckdb/src/include/duckdb/catalog/duck_catalog.hpp +9 -4
  664. package/src/duckdb/src/include/duckdb/common/allocator.hpp +3 -0
  665. package/src/duckdb/src/include/duckdb/common/array_ptr.hpp +8 -0
  666. package/src/duckdb/src/include/duckdb/common/arrow/appender/append_data.hpp +4 -1
  667. package/src/duckdb/src/include/duckdb/common/arrow/appender/list_data.hpp +3 -1
  668. package/src/duckdb/src/include/duckdb/common/arrow/appender/list_view_data.hpp +3 -1
  669. package/src/duckdb/src/include/duckdb/common/arrow/appender/varchar_data.hpp +2 -1
  670. package/src/duckdb/src/include/duckdb/common/arrow/arrow_appender.hpp +7 -3
  671. package/src/duckdb/src/include/duckdb/common/arrow/arrow_converter.hpp +26 -3
  672. package/src/duckdb/src/include/duckdb/common/arrow/arrow_query_result.hpp +1 -1
  673. package/src/duckdb/src/include/duckdb/common/arrow/arrow_type_extension.hpp +144 -0
  674. package/src/duckdb/src/include/duckdb/common/arrow/arrow_util.hpp +5 -2
  675. package/src/duckdb/src/include/duckdb/common/arrow/result_arrow_wrapper.hpp +2 -0
  676. package/src/duckdb/src/include/duckdb/common/arrow/schema_metadata.hpp +11 -4
  677. package/src/duckdb/src/include/duckdb/common/assert.hpp +12 -1
  678. package/src/duckdb/src/include/duckdb/common/atomic_ptr.hpp +102 -0
  679. package/src/duckdb/src/include/duckdb/common/box_renderer.hpp +65 -6
  680. package/src/duckdb/src/include/duckdb/common/chrono.hpp +1 -0
  681. package/src/duckdb/src/include/duckdb/common/column_index.hpp +72 -0
  682. package/src/duckdb/src/include/duckdb/common/enum_util.hpp +120 -0
  683. package/src/duckdb/src/include/duckdb/{core_functions/core_functions.hpp → common/enums/collation_type.hpp} +2 -7
  684. package/src/duckdb/src/include/duckdb/common/enums/compression_type.hpp +5 -2
  685. package/src/duckdb/src/include/duckdb/common/enums/function_errors.hpp +18 -0
  686. package/src/duckdb/src/include/duckdb/common/enums/memory_tag.hpp +3 -2
  687. package/src/duckdb/src/include/duckdb/common/enums/metric_type.hpp +7 -2
  688. package/src/duckdb/src/include/duckdb/common/enums/optimizer_type.hpp +4 -0
  689. package/src/duckdb/src/include/duckdb/common/enums/order_preservation_type.hpp +1 -1
  690. package/src/duckdb/src/include/duckdb/common/enums/physical_operator_type.hpp +1 -0
  691. package/src/duckdb/src/include/duckdb/common/enums/profiler_format.hpp +1 -1
  692. package/src/duckdb/src/include/duckdb/{core_functions/aggregate → common/enums}/quantile_enum.hpp +3 -1
  693. package/src/duckdb/src/include/duckdb/common/enums/scan_vector_type.hpp +2 -0
  694. package/src/duckdb/src/include/duckdb/common/error_data.hpp +1 -0
  695. package/src/duckdb/src/include/duckdb/common/exception/parser_exception.hpp +4 -0
  696. package/src/duckdb/src/include/duckdb/common/exception.hpp +1 -1
  697. package/src/duckdb/src/include/duckdb/common/extension_type_info.hpp +37 -0
  698. package/src/duckdb/src/include/duckdb/common/extra_operator_info.hpp +7 -2
  699. package/src/duckdb/src/include/duckdb/common/extra_type_info.hpp +9 -3
  700. package/src/duckdb/src/include/duckdb/common/fast_mem.hpp +6 -6
  701. package/src/duckdb/src/include/duckdb/common/file_buffer.hpp +19 -10
  702. package/src/duckdb/src/include/duckdb/common/file_opener.hpp +2 -0
  703. package/src/duckdb/src/include/duckdb/common/file_system.hpp +6 -1
  704. package/src/duckdb/src/include/duckdb/common/fsst.hpp +2 -2
  705. package/src/duckdb/src/include/duckdb/common/helper.hpp +6 -0
  706. package/src/duckdb/src/include/duckdb/common/hugeint.hpp +10 -0
  707. package/src/duckdb/src/include/duckdb/common/insertion_order_preserving_map.hpp +12 -2
  708. package/src/duckdb/src/include/duckdb/common/local_file_system.hpp +3 -0
  709. package/src/duckdb/src/include/duckdb/common/multi_file_list.hpp +2 -1
  710. package/src/duckdb/src/include/duckdb/common/multi_file_reader.hpp +147 -27
  711. package/src/duckdb/src/include/duckdb/common/multi_file_reader_options.hpp +4 -0
  712. package/src/duckdb/src/include/duckdb/common/numeric_utils.hpp +2 -7
  713. package/src/duckdb/src/include/duckdb/common/opener_file_system.hpp +16 -5
  714. package/src/duckdb/src/include/duckdb/common/operator/cast_operators.hpp +16 -0
  715. package/src/duckdb/src/include/duckdb/common/optional_idx.hpp +4 -0
  716. package/src/duckdb/src/include/duckdb/common/platform.hpp +34 -3
  717. package/src/duckdb/src/include/duckdb/common/radix_partitioning.hpp +10 -13
  718. package/src/duckdb/src/include/duckdb/common/random_engine.hpp +8 -3
  719. package/src/duckdb/src/include/duckdb/common/row_operations/row_operations.hpp +0 -2
  720. package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_writer.hpp +1 -1
  721. package/src/duckdb/src/include/duckdb/common/serializer/memory_stream.hpp +7 -0
  722. package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +1 -0
  723. package/src/duckdb/src/include/duckdb/common/serializer/serializer.hpp +1 -0
  724. package/src/duckdb/src/include/duckdb/common/stacktrace.hpp +25 -0
  725. package/src/duckdb/src/include/duckdb/common/string_util.hpp +30 -2
  726. package/src/duckdb/src/include/duckdb/common/tree_renderer/graphviz_tree_renderer.hpp +1 -1
  727. package/src/duckdb/src/include/duckdb/common/tree_renderer/html_tree_renderer.hpp +1 -1
  728. package/src/duckdb/src/include/duckdb/common/tree_renderer/json_tree_renderer.hpp +1 -1
  729. package/src/duckdb/src/include/duckdb/common/tree_renderer/text_tree_renderer.hpp +3 -2
  730. package/src/duckdb/src/include/duckdb/common/tree_renderer.hpp +2 -0
  731. package/src/duckdb/src/include/duckdb/common/type_util.hpp +8 -0
  732. package/src/duckdb/src/include/duckdb/common/types/column/column_data_allocator.hpp +8 -0
  733. package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection.hpp +13 -2
  734. package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection_segment.hpp +2 -1
  735. package/src/duckdb/src/include/duckdb/common/types/conflict_manager.hpp +21 -4
  736. package/src/duckdb/src/include/duckdb/common/types/data_chunk.hpp +4 -1
  737. package/src/duckdb/src/include/duckdb/common/types/date.hpp +9 -4
  738. package/src/duckdb/src/include/duckdb/common/types/date_lookup_cache.hpp +1 -1
  739. package/src/duckdb/src/include/duckdb/common/types/interval.hpp +58 -10
  740. package/src/duckdb/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp +0 -4
  741. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_allocator.hpp +4 -0
  742. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_collection.hpp +4 -0
  743. package/src/duckdb/src/include/duckdb/common/types/string_type.hpp +10 -0
  744. package/src/duckdb/src/include/duckdb/common/types/timestamp.hpp +43 -16
  745. package/src/duckdb/src/include/duckdb/common/types/uuid.hpp +3 -1
  746. package/src/duckdb/src/include/duckdb/common/types/validity_mask.hpp +63 -21
  747. package/src/duckdb/src/include/duckdb/common/types/value.hpp +62 -16
  748. package/src/duckdb/src/include/duckdb/common/types/varint.hpp +13 -0
  749. package/src/duckdb/src/include/duckdb/common/types/vector.hpp +34 -7
  750. package/src/duckdb/src/include/duckdb/common/types/vector_buffer.hpp +15 -0
  751. package/src/duckdb/src/include/duckdb/common/types.hpp +12 -7
  752. package/src/duckdb/src/include/duckdb/common/uhugeint.hpp +10 -0
  753. package/src/duckdb/src/include/duckdb/common/vector_operations/aggregate_executor.hpp +12 -13
  754. package/src/duckdb/src/include/duckdb/common/vector_operations/binary_executor.hpp +27 -0
  755. package/src/duckdb/src/include/duckdb/common/vector_operations/unary_executor.hpp +111 -4
  756. package/src/duckdb/src/include/duckdb/common/vector_operations/vector_operations.hpp +0 -1
  757. package/src/duckdb/src/include/duckdb/execution/adaptive_filter.hpp +2 -0
  758. package/src/duckdb/src/include/duckdb/execution/aggregate_hashtable.hpp +48 -10
  759. package/src/duckdb/src/include/duckdb/execution/executor.hpp +2 -1
  760. package/src/duckdb/src/include/duckdb/execution/expression_executor.hpp +0 -1
  761. package/src/duckdb/src/include/duckdb/execution/ht_entry.hpp +25 -27
  762. package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +28 -18
  763. package/src/duckdb/src/include/duckdb/execution/index/art/node.hpp +1 -0
  764. package/src/duckdb/src/include/duckdb/execution/index/art/prefix.hpp +2 -2
  765. package/src/duckdb/src/include/duckdb/execution/index/bound_index.hpp +23 -16
  766. package/src/duckdb/src/include/duckdb/execution/index/fixed_size_allocator.hpp +4 -0
  767. package/src/duckdb/src/include/duckdb/execution/index/fixed_size_buffer.hpp +2 -2
  768. package/src/duckdb/src/include/duckdb/execution/join_hashtable.hpp +25 -16
  769. package/src/duckdb/src/include/duckdb/execution/merge_sort_tree.hpp +15 -10
  770. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp +1 -1
  771. package/src/duckdb/src/include/duckdb/execution/operator/{persistent/physical_fixed_batch_copy.hpp → aggregate/physical_partitioned_aggregate.hpp} +25 -27
  772. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_ungrouped_aggregate.hpp +1 -2
  773. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_window.hpp +5 -4
  774. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/ungrouped_aggregate_state.hpp +21 -1
  775. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/base_scanner.hpp +38 -9
  776. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_buffer.hpp +8 -9
  777. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_buffer_manager.hpp +7 -1
  778. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_error.hpp +29 -23
  779. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_handle.hpp +15 -13
  780. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_scanner.hpp +13 -5
  781. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_option.hpp +2 -1
  782. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_reader_options.hpp +24 -10
  783. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_schema.hpp +36 -1
  784. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state.hpp +21 -13
  785. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state_machine.hpp +52 -22
  786. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state_machine_cache.hpp +6 -6
  787. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_validator.hpp +58 -0
  788. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/encode/csv_encoder.hpp +62 -0
  789. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/global_csv_state.hpp +6 -3
  790. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/scanner_boundary.hpp +16 -6
  791. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp +9 -4
  792. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/state_machine_options.hpp +8 -4
  793. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/string_value_scanner.hpp +55 -10
  794. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp +2 -2
  795. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_buffered_batch_collector.hpp +2 -2
  796. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_limit.hpp +2 -2
  797. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_reservoir_sample.hpp +1 -1
  798. package/src/duckdb/src/include/duckdb/execution/operator/join/join_filter_pushdown.hpp +28 -7
  799. package/src/duckdb/src/include/duckdb/execution/operator/join/perfect_hash_join_executor.hpp +6 -9
  800. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_hash_join.hpp +17 -16
  801. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_iejoin.hpp +1 -1
  802. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_order.hpp +7 -3
  803. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_top_n.hpp +5 -1
  804. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_copy_to_file.hpp +2 -2
  805. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_insert.hpp +2 -2
  806. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_insert.hpp +55 -4
  807. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_update.hpp +2 -0
  808. package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_tableinout_function.hpp +2 -2
  809. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_positional_scan.hpp +2 -1
  810. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_table_scan.hpp +10 -9
  811. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_art_index.hpp +16 -13
  812. package/src/duckdb/src/include/duckdb/execution/operator/set/physical_cte.hpp +0 -4
  813. package/src/duckdb/src/include/duckdb/execution/partition_info.hpp +79 -0
  814. package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +20 -9
  815. package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +1 -11
  816. package/src/duckdb/src/include/duckdb/execution/physical_plan_generator.hpp +0 -2
  817. package/src/duckdb/src/include/duckdb/execution/progress_data.hpp +58 -0
  818. package/src/duckdb/src/include/duckdb/execution/radix_partitioned_hashtable.hpp +2 -1
  819. package/src/duckdb/src/include/duckdb/execution/reservoir_sample.hpp +160 -31
  820. package/src/duckdb/src/include/duckdb/function/aggregate/distributive_function_utils.hpp +31 -0
  821. package/src/duckdb/src/include/duckdb/function/aggregate/distributive_functions.hpp +61 -10
  822. package/src/duckdb/src/include/duckdb/{core_functions → function}/aggregate/minmax_n_helpers.hpp +1 -1
  823. package/src/duckdb/src/include/duckdb/{core_functions → function}/aggregate/sort_key_helpers.hpp +2 -2
  824. package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +47 -27
  825. package/src/duckdb/src/include/duckdb/function/aggregate_state.hpp +2 -0
  826. package/src/duckdb/src/include/duckdb/function/built_in_functions.hpp +3 -10
  827. package/src/duckdb/src/include/duckdb/function/cast/bound_cast_data.hpp +13 -6
  828. package/src/duckdb/src/include/duckdb/function/compression/compression.hpp +15 -0
  829. package/src/duckdb/src/include/duckdb/function/compression_function.hpp +29 -6
  830. package/src/duckdb/src/include/duckdb/{core_functions → function}/create_sort_key.hpp +4 -1
  831. package/src/duckdb/src/include/duckdb/function/encoding_function.hpp +78 -0
  832. package/src/duckdb/src/include/duckdb/function/function.hpp +22 -1
  833. package/src/duckdb/src/include/duckdb/function/function_binder.hpp +3 -0
  834. package/src/duckdb/src/include/duckdb/function/function_list.hpp +39 -0
  835. package/src/duckdb/src/include/duckdb/function/function_set.hpp +13 -7
  836. package/src/duckdb/src/include/duckdb/{core_functions → function}/lambda_functions.hpp +1 -1
  837. package/src/duckdb/src/include/duckdb/function/partition_stats.hpp +36 -0
  838. package/src/duckdb/src/include/duckdb/function/register_function_list_helper.hpp +69 -0
  839. package/src/duckdb/src/include/duckdb/function/scalar/compressed_materialization_functions.hpp +154 -23
  840. package/src/duckdb/src/include/duckdb/function/scalar/compressed_materialization_utils.hpp +45 -0
  841. package/src/duckdb/src/include/duckdb/function/scalar/date_functions.hpp +45 -0
  842. package/src/duckdb/src/include/duckdb/function/scalar/generic_common.hpp +36 -0
  843. package/src/duckdb/src/include/duckdb/function/scalar/generic_functions.hpp +32 -23
  844. package/src/duckdb/src/include/duckdb/function/scalar/list/contains_or_position.hpp +1 -1
  845. package/src/duckdb/src/include/duckdb/function/scalar/list_functions.hpp +156 -0
  846. package/src/duckdb/src/include/duckdb/function/scalar/map_functions.hpp +27 -0
  847. package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +4 -45
  848. package/src/duckdb/src/include/duckdb/function/scalar/operator_functions.hpp +102 -0
  849. package/src/duckdb/src/include/duckdb/function/scalar/operators.hpp +2 -16
  850. package/src/duckdb/src/include/duckdb/function/scalar/sequence_functions.hpp +16 -25
  851. package/src/duckdb/src/include/duckdb/function/scalar/sequence_utils.hpp +38 -0
  852. package/src/duckdb/src/include/duckdb/function/scalar/strftime_format.hpp +1 -0
  853. package/src/duckdb/src/include/duckdb/function/scalar/string_common.hpp +49 -0
  854. package/src/duckdb/src/include/duckdb/function/scalar/string_functions.hpp +401 -76
  855. package/src/duckdb/src/include/duckdb/function/scalar/struct_functions.hpp +63 -0
  856. package/src/duckdb/src/include/duckdb/function/scalar/struct_utils.hpp +33 -0
  857. package/src/duckdb/src/include/duckdb/function/scalar/system_functions.hpp +45 -0
  858. package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +17 -8
  859. package/src/duckdb/src/include/duckdb/function/table/arrow/arrow_duck_schema.hpp +59 -6
  860. package/src/duckdb/src/include/duckdb/function/table/arrow/arrow_type_info.hpp +12 -9
  861. package/src/duckdb/src/include/duckdb/function/table/arrow/enum/arrow_type_info_type.hpp +2 -0
  862. package/src/duckdb/src/include/duckdb/function/table/arrow.hpp +18 -13
  863. package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +7 -4
  864. package/src/duckdb/src/include/duckdb/function/table/system_functions.hpp +14 -0
  865. package/src/duckdb/src/include/duckdb/function/table/table_scan.hpp +15 -10
  866. package/src/duckdb/src/include/duckdb/function/table_function.hpp +94 -18
  867. package/src/duckdb/src/include/duckdb/{core_functions → function}/to_interval.hpp +1 -1
  868. package/src/duckdb/src/include/duckdb/function/window/window_aggregate_function.hpp +44 -0
  869. package/src/duckdb/src/include/duckdb/function/window/window_aggregate_states.hpp +56 -0
  870. package/src/duckdb/src/include/duckdb/function/window/window_aggregator.hpp +194 -0
  871. package/src/duckdb/src/include/duckdb/function/window/window_boundaries_state.hpp +153 -0
  872. package/src/duckdb/src/include/duckdb/function/window/window_collection.hpp +146 -0
  873. package/src/duckdb/src/include/duckdb/function/window/window_constant_aggregator.hpp +38 -0
  874. package/src/duckdb/src/include/duckdb/function/window/window_custom_aggregator.hpp +32 -0
  875. package/src/duckdb/src/include/duckdb/function/window/window_distinct_aggregator.hpp +39 -0
  876. package/src/duckdb/src/include/duckdb/function/window/window_executor.hpp +122 -0
  877. package/src/duckdb/src/include/duckdb/function/window/window_index_tree.hpp +42 -0
  878. package/src/duckdb/src/include/duckdb/function/window/window_merge_sort_tree.hpp +108 -0
  879. package/src/duckdb/src/include/duckdb/function/window/window_naive_aggregator.hpp +33 -0
  880. package/src/duckdb/src/include/duckdb/function/window/window_rank_function.hpp +63 -0
  881. package/src/duckdb/src/include/duckdb/function/window/window_rownumber_function.hpp +43 -0
  882. package/src/duckdb/src/include/duckdb/function/window/window_segment_tree.hpp +31 -0
  883. package/src/duckdb/src/include/duckdb/function/window/window_shared_expressions.hpp +76 -0
  884. package/src/duckdb/src/include/duckdb/function/window/window_token_tree.hpp +46 -0
  885. package/src/duckdb/src/include/duckdb/function/window/window_value_function.hpp +79 -0
  886. package/src/duckdb/src/include/duckdb/logging/http_logger.hpp +2 -0
  887. package/src/duckdb/src/include/duckdb/logging/log_manager.hpp +81 -0
  888. package/src/duckdb/src/include/duckdb/logging/log_storage.hpp +127 -0
  889. package/src/duckdb/src/include/duckdb/logging/logger.hpp +287 -0
  890. package/src/duckdb/src/include/duckdb/logging/logging.hpp +83 -0
  891. package/src/duckdb/src/include/duckdb/main/appender.hpp +41 -18
  892. package/src/duckdb/src/include/duckdb/main/attached_database.hpp +6 -3
  893. package/src/duckdb/src/include/duckdb/main/capi/capi_internal.hpp +7 -2
  894. package/src/duckdb/src/include/duckdb/main/capi/extension_api.hpp +317 -231
  895. package/src/duckdb/src/include/duckdb/main/client_config.hpp +17 -1
  896. package/src/duckdb/src/include/duckdb/main/client_context.hpp +28 -6
  897. package/src/duckdb/src/include/duckdb/main/client_context_file_opener.hpp +1 -0
  898. package/src/duckdb/src/include/duckdb/main/client_context_wrapper.hpp +5 -0
  899. package/src/duckdb/src/include/duckdb/main/client_data.hpp +3 -2
  900. package/src/duckdb/src/include/duckdb/main/client_properties.hpp +8 -3
  901. package/src/duckdb/src/include/duckdb/main/config.hpp +52 -8
  902. package/src/duckdb/src/include/duckdb/main/connection.hpp +18 -3
  903. package/src/duckdb/src/include/duckdb/main/database.hpp +8 -7
  904. package/src/duckdb/src/include/duckdb/main/database_file_opener.hpp +5 -1
  905. package/src/duckdb/src/include/duckdb/main/database_manager.hpp +3 -0
  906. package/src/duckdb/src/include/duckdb/main/db_instance_cache.hpp +1 -0
  907. package/src/duckdb/src/include/duckdb/main/extension.hpp +8 -2
  908. package/src/duckdb/src/include/duckdb/main/extension_entries.hpp +548 -9
  909. package/src/duckdb/src/include/duckdb/main/extension_helper.hpp +18 -0
  910. package/src/duckdb/src/include/duckdb/main/extension_util.hpp +12 -7
  911. package/src/duckdb/src/include/duckdb/main/prepared_statement.hpp +3 -3
  912. package/src/duckdb/src/include/duckdb/main/profiling_info.hpp +2 -2
  913. package/src/duckdb/src/include/duckdb/main/query_profiler.hpp +8 -4
  914. package/src/duckdb/src/include/duckdb/main/relation/create_table_relation.hpp +3 -1
  915. package/src/duckdb/src/include/duckdb/main/relation/delete_relation.hpp +2 -2
  916. package/src/duckdb/src/include/duckdb/main/relation/subquery_relation.hpp +1 -4
  917. package/src/duckdb/src/include/duckdb/main/relation/table_function_relation.hpp +3 -1
  918. package/src/duckdb/src/include/duckdb/main/relation/table_relation.hpp +3 -0
  919. package/src/duckdb/src/include/duckdb/main/relation/update_relation.hpp +3 -2
  920. package/src/duckdb/src/include/duckdb/main/relation/value_relation.hpp +7 -0
  921. package/src/duckdb/src/include/duckdb/main/relation/view_relation.hpp +1 -0
  922. package/src/duckdb/src/include/duckdb/main/relation/write_parquet_relation.hpp +1 -1
  923. package/src/duckdb/src/include/duckdb/main/relation.hpp +45 -9
  924. package/src/duckdb/src/include/duckdb/main/secret/secret_storage.hpp +20 -22
  925. package/src/duckdb/src/include/duckdb/main/settings.hpp +613 -378
  926. package/src/duckdb/src/include/duckdb/main/table_description.hpp +14 -4
  927. package/src/duckdb/src/include/duckdb/optimizer/build_probe_side_optimizer.hpp +1 -3
  928. package/src/duckdb/src/include/duckdb/optimizer/column_lifetime_analyzer.hpp +14 -7
  929. package/src/duckdb/src/include/duckdb/optimizer/common_aggregate_optimizer.hpp +2 -2
  930. package/src/duckdb/src/include/duckdb/optimizer/empty_result_pullup.hpp +27 -0
  931. package/src/duckdb/src/include/duckdb/optimizer/expression_heuristics.hpp +1 -1
  932. package/src/duckdb/src/include/duckdb/optimizer/filter_combiner.hpp +6 -1
  933. package/src/duckdb/src/include/duckdb/optimizer/filter_pushdown.hpp +2 -0
  934. package/src/duckdb/src/include/duckdb/optimizer/in_clause_rewriter.hpp +3 -0
  935. package/src/duckdb/src/include/duckdb/optimizer/join_filter_pushdown_optimizer.hpp +5 -0
  936. package/src/duckdb/src/include/duckdb/optimizer/join_order/plan_enumerator.hpp +2 -0
  937. package/src/duckdb/src/include/duckdb/optimizer/join_order/relation_statistics_helper.hpp +2 -2
  938. package/src/duckdb/src/include/duckdb/optimizer/late_materialization.hpp +45 -0
  939. package/src/duckdb/src/include/duckdb/optimizer/matcher/expression_matcher.hpp +23 -0
  940. package/src/duckdb/src/include/duckdb/optimizer/matcher/type_matcher.hpp +18 -0
  941. package/src/duckdb/src/include/duckdb/optimizer/optimizer.hpp +9 -0
  942. package/src/duckdb/src/include/duckdb/optimizer/remove_unused_columns.hpp +33 -11
  943. package/src/duckdb/src/include/duckdb/optimizer/rule/distinct_aggregate_optimizer.hpp +34 -0
  944. package/src/duckdb/src/include/duckdb/optimizer/sampling_pushdown.hpp +25 -0
  945. package/src/duckdb/src/include/duckdb/optimizer/statistics_propagator.hpp +3 -1
  946. package/src/duckdb/src/include/duckdb/optimizer/sum_rewriter.hpp +37 -0
  947. package/src/duckdb/src/include/duckdb/optimizer/topn_optimizer.hpp +4 -0
  948. package/src/duckdb/src/include/duckdb/parallel/event.hpp +3 -0
  949. package/src/duckdb/src/include/duckdb/parallel/pipeline.hpp +1 -1
  950. package/src/duckdb/src/include/duckdb/parallel/pipeline_executor.hpp +26 -8
  951. package/src/duckdb/src/include/duckdb/parallel/thread_context.hpp +3 -0
  952. package/src/duckdb/src/include/duckdb/parser/base_expression.hpp +51 -3
  953. package/src/duckdb/src/include/duckdb/parser/constraints/unique_constraint.hpp +28 -44
  954. package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +3 -0
  955. package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +2 -2
  956. package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +1 -1
  957. package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +2 -2
  958. package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +6 -6
  959. package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +11 -1
  960. package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +12 -0
  961. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_info.hpp +1 -0
  962. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_scalar_function_info.hpp +3 -2
  963. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +22 -1
  964. package/src/duckdb/src/include/duckdb/parser/parsed_data/attach_info.hpp +3 -4
  965. package/src/duckdb/src/include/duckdb/parser/parsed_data/comment_on_column_info.hpp +1 -1
  966. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_function_info.hpp +16 -12
  967. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +3 -3
  968. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_type_info.hpp +5 -5
  969. package/src/duckdb/src/include/duckdb/parser/parsed_data/sample_options.hpp +12 -3
  970. package/src/duckdb/src/include/duckdb/parser/parser.hpp +3 -0
  971. package/src/duckdb/src/include/duckdb/parser/qualified_name.hpp +17 -57
  972. package/src/duckdb/src/include/duckdb/parser/qualified_name_set.hpp +19 -3
  973. package/src/duckdb/src/include/duckdb/parser/simplified_token.hpp +2 -1
  974. package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +12 -9
  975. package/src/duckdb/src/include/duckdb/parser/tokens.hpp +1 -1
  976. package/src/duckdb/src/include/duckdb/parser/transformer.hpp +2 -2
  977. package/src/duckdb/src/include/duckdb/planner/bind_context.hpp +45 -28
  978. package/src/duckdb/src/include/duckdb/planner/binder.hpp +23 -11
  979. package/src/duckdb/src/include/duckdb/planner/binding_alias.hpp +44 -0
  980. package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +1 -0
  981. package/src/duckdb/src/include/duckdb/planner/collation_binding.hpp +4 -3
  982. package/src/duckdb/src/include/duckdb/planner/constraints/bound_unique_constraint.hpp +11 -10
  983. package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +2 -0
  984. package/src/duckdb/src/include/duckdb/planner/expression/bound_function_expression.hpp +1 -0
  985. package/src/duckdb/src/include/duckdb/planner/expression/bound_subquery_expression.hpp +4 -4
  986. package/src/duckdb/src/include/duckdb/planner/expression/bound_window_expression.hpp +6 -0
  987. package/src/duckdb/src/include/duckdb/planner/expression.hpp +2 -0
  988. package/src/duckdb/src/include/duckdb/planner/expression_binder/having_binder.hpp +2 -0
  989. package/src/duckdb/src/include/duckdb/planner/expression_binder/index_binder.hpp +9 -4
  990. package/src/duckdb/src/include/duckdb/planner/expression_binder.hpp +8 -2
  991. package/src/duckdb/src/include/duckdb/planner/filter/conjunction_filter.hpp +1 -2
  992. package/src/duckdb/src/include/duckdb/planner/filter/dynamic_filter.hpp +48 -0
  993. package/src/duckdb/src/include/duckdb/planner/filter/in_filter.hpp +37 -0
  994. package/src/duckdb/src/include/duckdb/planner/filter/optional_filter.hpp +35 -0
  995. package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +4 -0
  996. package/src/duckdb/src/include/duckdb/planner/logical_operator_visitor.hpp +3 -0
  997. package/src/duckdb/src/include/duckdb/planner/operator/logical_comparison_join.hpp +2 -0
  998. package/src/duckdb/src/include/duckdb/planner/operator/logical_create_index.hpp +9 -9
  999. package/src/duckdb/src/include/duckdb/planner/operator/logical_filter.hpp +4 -0
  1000. package/src/duckdb/src/include/duckdb/planner/operator/logical_get.hpp +16 -7
  1001. package/src/duckdb/src/include/duckdb/planner/operator/logical_insert.hpp +2 -0
  1002. package/src/duckdb/src/include/duckdb/planner/operator/logical_join.hpp +4 -0
  1003. package/src/duckdb/src/include/duckdb/planner/operator/logical_order.hpp +5 -1
  1004. package/src/duckdb/src/include/duckdb/planner/operator/logical_top_n.hpp +5 -3
  1005. package/src/duckdb/src/include/duckdb/planner/table_binding.hpp +14 -6
  1006. package/src/duckdb/src/include/duckdb/planner/table_filter.hpp +12 -8
  1007. package/src/duckdb/src/include/duckdb/storage/arena_allocator.hpp +1 -0
  1008. package/src/duckdb/src/include/duckdb/storage/block_manager.hpp +3 -0
  1009. package/src/duckdb/src/include/duckdb/storage/buffer/block_handle.hpp +82 -26
  1010. package/src/duckdb/src/include/duckdb/storage/buffer/buffer_handle.hpp +1 -1
  1011. package/src/duckdb/src/include/duckdb/storage/buffer/buffer_pool.hpp +10 -3
  1012. package/src/duckdb/src/include/duckdb/storage/buffer_manager.hpp +2 -1
  1013. package/src/duckdb/src/include/duckdb/storage/checkpoint/string_checkpoint_state.hpp +4 -13
  1014. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_compress.hpp +14 -15
  1015. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_constants.hpp +1 -1
  1016. package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_compress.hpp +13 -15
  1017. package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_compress.hpp +1 -1
  1018. package/src/duckdb/src/include/duckdb/storage/compression/dictionary/analyze.hpp +46 -0
  1019. package/src/duckdb/src/include/duckdb/storage/compression/dictionary/common.hpp +60 -0
  1020. package/src/duckdb/src/include/duckdb/storage/compression/dictionary/compression.hpp +61 -0
  1021. package/src/duckdb/src/include/duckdb/storage/compression/dictionary/decompression.hpp +50 -0
  1022. package/src/duckdb/src/include/duckdb/storage/compression/empty_validity.hpp +100 -0
  1023. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_compress.hpp +1 -1
  1024. package/src/duckdb/src/include/duckdb/storage/compression/roaring/appender.hpp +150 -0
  1025. package/src/duckdb/src/include/duckdb/storage/compression/roaring/roaring.hpp +618 -0
  1026. package/src/duckdb/src/include/duckdb/storage/data_table.hpp +53 -31
  1027. package/src/duckdb/src/include/duckdb/storage/index.hpp +2 -3
  1028. package/src/duckdb/src/include/duckdb/storage/object_cache.hpp +0 -1
  1029. package/src/duckdb/src/include/duckdb/storage/segment/uncompressed.hpp +4 -1
  1030. package/src/duckdb/src/include/duckdb/storage/standard_buffer_manager.hpp +3 -3
  1031. package/src/duckdb/src/include/duckdb/storage/statistics/column_statistics.hpp +1 -1
  1032. package/src/duckdb/src/include/duckdb/storage/statistics/distinct_statistics.hpp +5 -4
  1033. package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats.hpp +16 -1
  1034. package/src/duckdb/src/include/duckdb/storage/statistics/string_stats.hpp +2 -1
  1035. package/src/duckdb/src/include/duckdb/storage/storage_index.hpp +70 -0
  1036. package/src/duckdb/src/include/duckdb/storage/storage_info.hpp +5 -7
  1037. package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +4 -3
  1038. package/src/duckdb/src/include/duckdb/storage/storage_options.hpp +23 -0
  1039. package/src/duckdb/src/include/duckdb/storage/string_uncompressed.hpp +34 -6
  1040. package/src/duckdb/src/include/duckdb/storage/table/append_state.hpp +2 -0
  1041. package/src/duckdb/src/include/duckdb/storage/table/array_column_data.hpp +2 -2
  1042. package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +2 -1
  1043. package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +39 -10
  1044. package/src/duckdb/src/include/duckdb/storage/table/column_data_checkpointer.hpp +56 -14
  1045. package/src/duckdb/src/include/duckdb/storage/table/column_segment.hpp +35 -29
  1046. package/src/duckdb/src/include/duckdb/storage/table/delete_state.hpp +1 -1
  1047. package/src/duckdb/src/include/duckdb/storage/table/list_column_data.hpp +1 -1
  1048. package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +7 -1
  1049. package/src/duckdb/src/include/duckdb/storage/table/row_group_collection.hpp +19 -6
  1050. package/src/duckdb/src/include/duckdb/storage/table/row_version_manager.hpp +2 -1
  1051. package/src/duckdb/src/include/duckdb/storage/table/scan_state.hpp +29 -6
  1052. package/src/duckdb/src/include/duckdb/storage/table/segment_tree.hpp +10 -10
  1053. package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +5 -0
  1054. package/src/duckdb/src/include/duckdb/storage/table/table_index_list.hpp +26 -19
  1055. package/src/duckdb/src/include/duckdb/storage/table/table_statistics.hpp +8 -1
  1056. package/src/duckdb/src/include/duckdb/storage/table/update_segment.hpp +16 -14
  1057. package/src/duckdb/src/include/duckdb/storage/table/validity_column_data.hpp +2 -0
  1058. package/src/duckdb/src/include/duckdb/storage/table_io_manager.hpp +3 -0
  1059. package/src/duckdb/src/include/duckdb/storage/table_storage_info.hpp +1 -0
  1060. package/src/duckdb/src/include/duckdb/storage/temporary_file_manager.hpp +228 -61
  1061. package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +14 -10
  1062. package/src/duckdb/src/include/duckdb/transaction/commit_state.hpp +3 -1
  1063. package/src/duckdb/src/include/duckdb/transaction/duck_transaction.hpp +3 -2
  1064. package/src/duckdb/src/include/duckdb/transaction/duck_transaction_manager.hpp +1 -0
  1065. package/src/duckdb/src/include/duckdb/transaction/local_storage.hpp +19 -17
  1066. package/src/duckdb/src/include/duckdb/transaction/rollback_state.hpp +5 -2
  1067. package/src/duckdb/src/include/duckdb/transaction/transaction.hpp +1 -2
  1068. package/src/duckdb/src/include/duckdb/transaction/undo_buffer.hpp +13 -8
  1069. package/src/duckdb/src/include/duckdb/transaction/undo_buffer_allocator.hpp +79 -0
  1070. package/src/duckdb/src/include/duckdb/transaction/update_info.hpp +43 -13
  1071. package/src/duckdb/src/include/duckdb/transaction/wal_write_state.hpp +4 -1
  1072. package/src/duckdb/src/include/duckdb/verification/copied_statement_verifier.hpp +4 -2
  1073. package/src/duckdb/src/include/duckdb/verification/deserialized_statement_verifier.hpp +4 -2
  1074. package/src/duckdb/src/include/duckdb/verification/external_statement_verifier.hpp +4 -2
  1075. package/src/duckdb/src/include/duckdb/verification/fetch_row_verifier.hpp +4 -2
  1076. package/src/duckdb/src/include/duckdb/verification/no_operator_caching_verifier.hpp +4 -2
  1077. package/src/duckdb/src/include/duckdb/verification/parsed_statement_verifier.hpp +4 -2
  1078. package/src/duckdb/src/include/duckdb/verification/prepared_statement_verifier.hpp +7 -3
  1079. package/src/duckdb/src/include/duckdb/verification/statement_verifier.hpp +11 -5
  1080. package/src/duckdb/src/include/duckdb/verification/unoptimized_statement_verifier.hpp +4 -2
  1081. package/src/duckdb/src/include/duckdb.h +424 -41
  1082. package/src/duckdb/src/include/duckdb_extension.h +301 -195
  1083. package/src/duckdb/src/logging/log_manager.cpp +157 -0
  1084. package/src/duckdb/src/logging/log_storage.cpp +209 -0
  1085. package/src/duckdb/src/logging/logger.cpp +211 -0
  1086. package/src/duckdb/src/logging/logging.cpp +42 -0
  1087. package/src/duckdb/src/main/appender.cpp +187 -45
  1088. package/src/duckdb/src/main/attached_database.cpp +16 -8
  1089. package/src/duckdb/src/main/capi/appender-c.cpp +47 -4
  1090. package/src/duckdb/src/main/capi/arrow-c.cpp +9 -4
  1091. package/src/duckdb/src/main/capi/config-c.cpp +17 -4
  1092. package/src/duckdb/src/main/capi/datetime-c.cpp +15 -0
  1093. package/src/duckdb/src/main/capi/duckdb-c.cpp +54 -13
  1094. package/src/duckdb/src/main/capi/duckdb_value-c.cpp +212 -4
  1095. package/src/duckdb/src/main/capi/helper-c.cpp +3 -0
  1096. package/src/duckdb/src/main/capi/prepared-c.cpp +26 -7
  1097. package/src/duckdb/src/main/capi/replacement_scan-c.cpp +1 -1
  1098. package/src/duckdb/src/main/capi/result-c.cpp +3 -0
  1099. package/src/duckdb/src/main/capi/table_description-c.cpp +43 -10
  1100. package/src/duckdb/src/main/capi/threading-c.cpp +4 -4
  1101. package/src/duckdb/src/main/client_context.cpp +125 -51
  1102. package/src/duckdb/src/main/client_context_file_opener.cpp +4 -0
  1103. package/src/duckdb/src/main/client_context_wrapper.cpp +4 -0
  1104. package/src/duckdb/src/main/client_data.cpp +1 -1
  1105. package/src/duckdb/src/main/client_verify.cpp +39 -20
  1106. package/src/duckdb/src/main/config.cpp +266 -74
  1107. package/src/duckdb/src/main/connection.cpp +53 -13
  1108. package/src/duckdb/src/main/database.cpp +39 -18
  1109. package/src/duckdb/src/main/database_manager.cpp +12 -11
  1110. package/src/duckdb/src/main/db_instance_cache.cpp +14 -7
  1111. package/src/duckdb/src/main/extension/extension_helper.cpp +24 -23
  1112. package/src/duckdb/src/main/extension/extension_install.cpp +19 -7
  1113. package/src/duckdb/src/main/extension/extension_load.cpp +91 -41
  1114. package/src/duckdb/src/main/extension/extension_util.cpp +40 -19
  1115. package/src/duckdb/src/main/extension.cpp +20 -11
  1116. package/src/duckdb/src/main/profiling_info.cpp +19 -5
  1117. package/src/duckdb/src/main/query_profiler.cpp +135 -36
  1118. package/src/duckdb/src/main/query_result.cpp +2 -1
  1119. package/src/duckdb/src/main/relation/aggregate_relation.cpp +3 -3
  1120. package/src/duckdb/src/main/relation/create_table_relation.cpp +5 -4
  1121. package/src/duckdb/src/main/relation/create_view_relation.cpp +2 -2
  1122. package/src/duckdb/src/main/relation/cross_product_relation.cpp +2 -2
  1123. package/src/duckdb/src/main/relation/delete_relation.cpp +2 -2
  1124. package/src/duckdb/src/main/relation/delim_get_relation.cpp +1 -1
  1125. package/src/duckdb/src/main/relation/distinct_relation.cpp +1 -1
  1126. package/src/duckdb/src/main/relation/explain_relation.cpp +1 -1
  1127. package/src/duckdb/src/main/relation/filter_relation.cpp +1 -1
  1128. package/src/duckdb/src/main/relation/insert_relation.cpp +1 -1
  1129. package/src/duckdb/src/main/relation/join_relation.cpp +5 -5
  1130. package/src/duckdb/src/main/relation/order_relation.cpp +1 -1
  1131. package/src/duckdb/src/main/relation/projection_relation.cpp +3 -3
  1132. package/src/duckdb/src/main/relation/query_relation.cpp +1 -1
  1133. package/src/duckdb/src/main/relation/read_csv_relation.cpp +58 -20
  1134. package/src/duckdb/src/main/relation/setop_relation.cpp +2 -2
  1135. package/src/duckdb/src/main/relation/subquery_relation.cpp +3 -8
  1136. package/src/duckdb/src/main/relation/table_function_relation.cpp +10 -1
  1137. package/src/duckdb/src/main/relation/table_relation.cpp +19 -3
  1138. package/src/duckdb/src/main/relation/update_relation.cpp +2 -2
  1139. package/src/duckdb/src/main/relation/value_relation.cpp +42 -2
  1140. package/src/duckdb/src/main/relation/view_relation.cpp +8 -2
  1141. package/src/duckdb/src/main/relation/write_csv_relation.cpp +1 -1
  1142. package/src/duckdb/src/main/relation/write_parquet_relation.cpp +1 -1
  1143. package/src/duckdb/src/main/relation.cpp +49 -28
  1144. package/src/duckdb/src/main/secret/secret_manager.cpp +1 -1
  1145. package/src/duckdb/src/main/secret/secret_storage.cpp +6 -4
  1146. package/src/duckdb/src/main/settings/autogenerated_settings.cpp +1102 -0
  1147. package/src/duckdb/src/main/settings/custom_settings.cpp +1343 -0
  1148. package/src/duckdb/src/optimizer/build_probe_side_optimizer.cpp +60 -37
  1149. package/src/duckdb/src/optimizer/column_binding_replacer.cpp +1 -1
  1150. package/src/duckdb/src/optimizer/column_lifetime_analyzer.cpp +126 -72
  1151. package/src/duckdb/src/optimizer/common_aggregate_optimizer.cpp +22 -6
  1152. package/src/duckdb/src/optimizer/compressed_materialization/compress_aggregate.cpp +3 -3
  1153. package/src/duckdb/src/optimizer/compressed_materialization/compress_distinct.cpp +2 -2
  1154. package/src/duckdb/src/optimizer/compressed_materialization.cpp +3 -3
  1155. package/src/duckdb/src/optimizer/cse_optimizer.cpp +7 -7
  1156. package/src/duckdb/src/optimizer/deliminator.cpp +6 -5
  1157. package/src/duckdb/src/optimizer/empty_result_pullup.cpp +96 -0
  1158. package/src/duckdb/src/optimizer/expression_heuristics.cpp +11 -3
  1159. package/src/duckdb/src/optimizer/expression_rewriter.cpp +9 -2
  1160. package/src/duckdb/src/optimizer/filter_combiner.cpp +190 -88
  1161. package/src/duckdb/src/optimizer/filter_pushdown.cpp +6 -5
  1162. package/src/duckdb/src/optimizer/in_clause_rewriter.cpp +25 -9
  1163. package/src/duckdb/src/optimizer/join_filter_pushdown_optimizer.cpp +170 -72
  1164. package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +5 -4
  1165. package/src/duckdb/src/optimizer/join_order/plan_enumerator.cpp +3 -1
  1166. package/src/duckdb/src/optimizer/join_order/query_graph_manager.cpp +7 -7
  1167. package/src/duckdb/src/optimizer/join_order/relation_manager.cpp +15 -6
  1168. package/src/duckdb/src/optimizer/join_order/relation_statistics_helper.cpp +37 -22
  1169. package/src/duckdb/src/optimizer/late_materialization.cpp +414 -0
  1170. package/src/duckdb/src/optimizer/limit_pushdown.cpp +1 -0
  1171. package/src/duckdb/src/optimizer/matcher/expression_matcher.cpp +30 -2
  1172. package/src/duckdb/src/optimizer/optimizer.cpp +67 -7
  1173. package/src/duckdb/src/optimizer/pullup/pullup_filter.cpp +3 -3
  1174. package/src/duckdb/src/optimizer/pullup/pullup_projection.cpp +2 -2
  1175. package/src/duckdb/src/optimizer/pullup/pullup_set_operation.cpp +1 -1
  1176. package/src/duckdb/src/optimizer/pushdown/pushdown_aggregate.cpp +2 -2
  1177. package/src/duckdb/src/optimizer/pushdown/pushdown_filter.cpp +1 -1
  1178. package/src/duckdb/src/optimizer/pushdown/pushdown_left_join.cpp +1 -1
  1179. package/src/duckdb/src/optimizer/pushdown/pushdown_mark_join.cpp +3 -3
  1180. package/src/duckdb/src/optimizer/pushdown/pushdown_projection.cpp +5 -3
  1181. package/src/duckdb/src/optimizer/pushdown/pushdown_set_operation.cpp +1 -1
  1182. package/src/duckdb/src/optimizer/pushdown/pushdown_unnest.cpp +52 -0
  1183. package/src/duckdb/src/optimizer/pushdown/pushdown_window.cpp +2 -2
  1184. package/src/duckdb/src/optimizer/regex_range_filter.cpp +1 -1
  1185. package/src/duckdb/src/optimizer/remove_duplicate_groups.cpp +1 -1
  1186. package/src/duckdb/src/optimizer/remove_unused_columns.cpp +168 -38
  1187. package/src/duckdb/src/optimizer/rule/arithmetic_simplification.cpp +2 -1
  1188. package/src/duckdb/src/optimizer/rule/comparison_simplification.cpp +8 -5
  1189. package/src/duckdb/src/optimizer/rule/conjunction_simplification.cpp +2 -2
  1190. package/src/duckdb/src/optimizer/rule/constant_folding.cpp +2 -2
  1191. package/src/duckdb/src/optimizer/rule/distinct_aggregate_optimizer.cpp +65 -0
  1192. package/src/duckdb/src/optimizer/rule/distributivity.cpp +2 -2
  1193. package/src/duckdb/src/optimizer/rule/enum_comparison.cpp +2 -1
  1194. package/src/duckdb/src/optimizer/rule/equal_or_null_simplification.cpp +4 -3
  1195. package/src/duckdb/src/optimizer/rule/in_clause_simplification_rule.cpp +3 -3
  1196. package/src/duckdb/src/optimizer/rule/like_optimizations.cpp +3 -1
  1197. package/src/duckdb/src/optimizer/rule/move_constants.cpp +9 -9
  1198. package/src/duckdb/src/optimizer/rule/regex_optimizations.cpp +4 -3
  1199. package/src/duckdb/src/optimizer/rule/timestamp_comparison.cpp +1 -1
  1200. package/src/duckdb/src/optimizer/sampling_pushdown.cpp +24 -0
  1201. package/src/duckdb/src/optimizer/statistics/expression/propagate_comparison.cpp +1 -1
  1202. package/src/duckdb/src/optimizer/statistics/expression/propagate_conjunction.cpp +1 -1
  1203. package/src/duckdb/src/optimizer/statistics/expression/propagate_operator.cpp +1 -1
  1204. package/src/duckdb/src/optimizer/statistics/operator/propagate_aggregate.cpp +74 -0
  1205. package/src/duckdb/src/optimizer/statistics/operator/propagate_filter.cpp +10 -7
  1206. package/src/duckdb/src/optimizer/statistics/operator/propagate_get.cpp +3 -3
  1207. package/src/duckdb/src/optimizer/statistics/operator/propagate_join.cpp +3 -3
  1208. package/src/duckdb/src/optimizer/statistics/operator/propagate_window.cpp +3 -0
  1209. package/src/duckdb/src/optimizer/sum_rewriter.cpp +174 -0
  1210. package/src/duckdb/src/optimizer/topn_optimizer.cpp +71 -0
  1211. package/src/duckdb/src/optimizer/unnest_rewriter.cpp +5 -5
  1212. package/src/duckdb/src/parallel/event.cpp +4 -0
  1213. package/src/duckdb/src/parallel/executor.cpp +11 -29
  1214. package/src/duckdb/src/parallel/executor_task.cpp +8 -3
  1215. package/src/duckdb/src/parallel/pipeline.cpp +15 -8
  1216. package/src/duckdb/src/parallel/pipeline_executor.cpp +67 -43
  1217. package/src/duckdb/src/parallel/thread_context.cpp +12 -1
  1218. package/src/duckdb/src/parser/column_definition.cpp +3 -3
  1219. package/src/duckdb/src/parser/constraints/unique_constraint.cpp +72 -9
  1220. package/src/duckdb/src/parser/expression/columnref_expression.cpp +15 -3
  1221. package/src/duckdb/src/parser/expression/conjunction_expression.cpp +1 -1
  1222. package/src/duckdb/src/parser/expression/function_expression.cpp +1 -1
  1223. package/src/duckdb/src/parser/expression/lambda_expression.cpp +3 -3
  1224. package/src/duckdb/src/parser/expression/lambdaref_expression.cpp +1 -1
  1225. package/src/duckdb/src/parser/expression/star_expression.cpp +46 -2
  1226. package/src/duckdb/src/parser/expression/window_expression.cpp +24 -1
  1227. package/src/duckdb/src/parser/parsed_data/alter_info.cpp +26 -2
  1228. package/src/duckdb/src/parser/parsed_data/alter_scalar_function_info.cpp +5 -3
  1229. package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +29 -1
  1230. package/src/duckdb/src/parser/parsed_data/attach_info.cpp +6 -6
  1231. package/src/duckdb/src/parser/parsed_data/create_aggregate_function_info.cpp +1 -1
  1232. package/src/duckdb/src/parser/parsed_data/create_function_info.cpp +17 -0
  1233. package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +16 -15
  1234. package/src/duckdb/src/parser/parsed_data/create_macro_info.cpp +1 -1
  1235. package/src/duckdb/src/parser/parsed_data/create_pragma_function_info.cpp +1 -1
  1236. package/src/duckdb/src/parser/parsed_data/create_scalar_function_info.cpp +3 -2
  1237. package/src/duckdb/src/parser/parsed_data/create_schema_info.cpp +1 -1
  1238. package/src/duckdb/src/parser/parsed_data/create_table_function_info.cpp +1 -1
  1239. package/src/duckdb/src/parser/parsed_data/create_table_info.cpp +1 -0
  1240. package/src/duckdb/src/parser/parsed_data/create_type_info.cpp +4 -4
  1241. package/src/duckdb/src/parser/parsed_data/load_info.cpp +1 -0
  1242. package/src/duckdb/src/parser/parsed_data/sample_options.cpp +31 -1
  1243. package/src/duckdb/src/parser/parsed_expression.cpp +1 -1
  1244. package/src/duckdb/src/parser/parsed_expression_iterator.cpp +4 -1
  1245. package/src/duckdb/src/parser/parser.cpp +129 -0
  1246. package/src/duckdb/src/parser/qualified_name.cpp +99 -0
  1247. package/src/duckdb/src/parser/query_error_context.cpp +35 -6
  1248. package/src/duckdb/src/parser/query_node/select_node.cpp +4 -4
  1249. package/src/duckdb/src/parser/statement/delete_statement.cpp +6 -1
  1250. package/src/duckdb/src/parser/statement/insert_statement.cpp +4 -3
  1251. package/src/duckdb/src/parser/statement/update_statement.cpp +6 -1
  1252. package/src/duckdb/src/parser/tableref/pivotref.cpp +2 -2
  1253. package/src/duckdb/src/parser/tableref.cpp +2 -2
  1254. package/src/duckdb/src/parser/transform/constraint/transform_constraint.cpp +16 -24
  1255. package/src/duckdb/src/parser/transform/expression/transform_array_access.cpp +1 -1
  1256. package/src/duckdb/src/parser/transform/expression/transform_bool_expr.cpp +5 -5
  1257. package/src/duckdb/src/parser/transform/expression/transform_columnref.cpp +61 -13
  1258. package/src/duckdb/src/parser/transform/expression/transform_constant.cpp +10 -4
  1259. package/src/duckdb/src/parser/transform/expression/transform_expression.cpp +2 -2
  1260. package/src/duckdb/src/parser/transform/expression/transform_function.cpp +30 -3
  1261. package/src/duckdb/src/parser/transform/expression/transform_operator.cpp +1 -1
  1262. package/src/duckdb/src/parser/transform/expression/transform_subquery.cpp +25 -6
  1263. package/src/duckdb/src/parser/transform/helpers/transform_groupby.cpp +1 -1
  1264. package/src/duckdb/src/parser/transform/helpers/transform_sample.cpp +10 -3
  1265. package/src/duckdb/src/parser/transform/helpers/transform_typename.cpp +4 -3
  1266. package/src/duckdb/src/parser/transform/statement/transform_alter_table.cpp +18 -3
  1267. package/src/duckdb/src/parser/transform/statement/transform_comment_on.cpp +1 -1
  1268. package/src/duckdb/src/parser/transform/statement/transform_copy.cpp +0 -1
  1269. package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +5 -5
  1270. package/src/duckdb/src/parser/transform/statement/transform_create_table.cpp +26 -12
  1271. package/src/duckdb/src/parser/transform/statement/transform_create_table_as.cpp +11 -3
  1272. package/src/duckdb/src/parser/transform/statement/transform_create_view.cpp +1 -1
  1273. package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +2 -0
  1274. package/src/duckdb/src/parser/transform/statement/transform_pragma.cpp +3 -3
  1275. package/src/duckdb/src/parser/transform/statement/transform_prepare.cpp +4 -4
  1276. package/src/duckdb/src/parser/transform/statement/transform_set.cpp +2 -2
  1277. package/src/duckdb/src/parser/transform/statement/transform_show.cpp +21 -3
  1278. package/src/duckdb/src/parser/transform/tableref/transform_pivot.cpp +8 -6
  1279. package/src/duckdb/src/parser/transformer.cpp +2 -2
  1280. package/src/duckdb/src/planner/bind_context.cpp +308 -136
  1281. package/src/duckdb/src/planner/binder/expression/bind_aggregate_expression.cpp +30 -31
  1282. package/src/duckdb/src/planner/binder/expression/bind_between_expression.cpp +4 -2
  1283. package/src/duckdb/src/planner/binder/expression/bind_columnref_expression.cpp +102 -94
  1284. package/src/duckdb/src/planner/binder/expression/bind_comparison_expression.cpp +7 -5
  1285. package/src/duckdb/src/planner/binder/expression/bind_conjunction_expression.cpp +1 -1
  1286. package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +7 -7
  1287. package/src/duckdb/src/planner/binder/expression/bind_lambda.cpp +10 -10
  1288. package/src/duckdb/src/planner/binder/expression/bind_macro_expression.cpp +24 -6
  1289. package/src/duckdb/src/planner/binder/expression/bind_operator_expression.cpp +23 -15
  1290. package/src/duckdb/src/planner/binder/expression/bind_parameter_expression.cpp +1 -1
  1291. package/src/duckdb/src/planner/binder/expression/bind_star_expression.cpp +97 -19
  1292. package/src/duckdb/src/planner/binder/expression/bind_subquery_expression.cpp +74 -16
  1293. package/src/duckdb/src/planner/binder/expression/bind_unnest_expression.cpp +6 -6
  1294. package/src/duckdb/src/planner/binder/expression/bind_window_expression.cpp +49 -15
  1295. package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +32 -23
  1296. package/src/duckdb/src/planner/binder/query_node/bind_setop_node.cpp +20 -3
  1297. package/src/duckdb/src/planner/binder/query_node/bind_table_macro_node.cpp +2 -2
  1298. package/src/duckdb/src/planner/binder/query_node/plan_query_node.cpp +3 -0
  1299. package/src/duckdb/src/planner/binder/query_node/plan_setop.cpp +6 -5
  1300. package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +38 -19
  1301. package/src/duckdb/src/planner/binder/statement/bind_copy.cpp +2 -12
  1302. package/src/duckdb/src/planner/binder/statement/bind_create.cpp +117 -412
  1303. package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +423 -144
  1304. package/src/duckdb/src/planner/binder/statement/bind_delete.cpp +1 -1
  1305. package/src/duckdb/src/planner/binder/statement/bind_drop.cpp +5 -0
  1306. package/src/duckdb/src/planner/binder/statement/bind_execute.cpp +1 -1
  1307. package/src/duckdb/src/planner/binder/statement/bind_export.cpp +0 -4
  1308. package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +31 -13
  1309. package/src/duckdb/src/planner/binder/statement/bind_pragma.cpp +1 -1
  1310. package/src/duckdb/src/planner/binder/statement/bind_simple.cpp +96 -27
  1311. package/src/duckdb/src/planner/binder/statement/bind_summarize.cpp +1 -1
  1312. package/src/duckdb/src/planner/binder/statement/bind_update.cpp +5 -3
  1313. package/src/duckdb/src/planner/binder/statement/bind_vacuum.cpp +7 -6
  1314. package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +36 -9
  1315. package/src/duckdb/src/planner/binder/tableref/bind_joinref.cpp +34 -34
  1316. package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +72 -35
  1317. package/src/duckdb/src/planner/binder/tableref/bind_showref.cpp +99 -18
  1318. package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +23 -11
  1319. package/src/duckdb/src/planner/binder/tableref/plan_joinref.cpp +22 -19
  1320. package/src/duckdb/src/planner/binder.cpp +23 -45
  1321. package/src/duckdb/src/planner/binding_alias.cpp +69 -0
  1322. package/src/duckdb/src/planner/bound_parameter_map.cpp +1 -1
  1323. package/src/duckdb/src/planner/bound_result_modifier.cpp +6 -2
  1324. package/src/duckdb/src/planner/collation_binding.cpp +38 -4
  1325. package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +17 -5
  1326. package/src/duckdb/src/planner/expression/bound_expression.cpp +1 -1
  1327. package/src/duckdb/src/planner/expression/bound_function_expression.cpp +8 -1
  1328. package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +2 -2
  1329. package/src/duckdb/src/planner/expression/bound_window_expression.cpp +24 -4
  1330. package/src/duckdb/src/planner/expression.cpp +7 -1
  1331. package/src/duckdb/src/planner/expression_binder/aggregate_binder.cpp +1 -1
  1332. package/src/duckdb/src/planner/expression_binder/base_select_binder.cpp +2 -2
  1333. package/src/duckdb/src/planner/expression_binder/group_binder.cpp +2 -2
  1334. package/src/duckdb/src/planner/expression_binder/having_binder.cpp +16 -0
  1335. package/src/duckdb/src/planner/expression_binder/index_binder.cpp +53 -1
  1336. package/src/duckdb/src/planner/expression_binder/lateral_binder.cpp +3 -3
  1337. package/src/duckdb/src/planner/expression_binder/order_binder.cpp +8 -8
  1338. package/src/duckdb/src/planner/expression_binder/relation_binder.cpp +1 -1
  1339. package/src/duckdb/src/planner/expression_binder/select_bind_state.cpp +2 -2
  1340. package/src/duckdb/src/planner/expression_binder/table_function_binder.cpp +1 -1
  1341. package/src/duckdb/src/planner/expression_binder/update_binder.cpp +1 -1
  1342. package/src/duckdb/src/planner/expression_binder.cpp +7 -7
  1343. package/src/duckdb/src/planner/expression_iterator.cpp +6 -3
  1344. package/src/duckdb/src/planner/filter/constant_filter.cpp +17 -2
  1345. package/src/duckdb/src/planner/filter/dynamic_filter.cpp +68 -0
  1346. package/src/duckdb/src/planner/filter/in_filter.cpp +84 -0
  1347. package/src/duckdb/src/planner/filter/null_filter.cpp +1 -2
  1348. package/src/duckdb/src/planner/filter/optional_filter.cpp +29 -0
  1349. package/src/duckdb/src/planner/filter/struct_filter.cpp +11 -6
  1350. package/src/duckdb/src/planner/joinside.cpp +6 -5
  1351. package/src/duckdb/src/planner/logical_operator.cpp +4 -1
  1352. package/src/duckdb/src/planner/logical_operator_visitor.cpp +68 -2
  1353. package/src/duckdb/src/planner/operator/logical_comparison_join.cpp +23 -0
  1354. package/src/duckdb/src/planner/operator/logical_create_index.cpp +16 -12
  1355. package/src/duckdb/src/planner/operator/logical_filter.cpp +1 -1
  1356. package/src/duckdb/src/planner/operator/logical_get.cpp +48 -25
  1357. package/src/duckdb/src/planner/operator/logical_insert.cpp +1 -1
  1358. package/src/duckdb/src/planner/operator/logical_join.cpp +1 -1
  1359. package/src/duckdb/src/planner/operator/logical_order.cpp +4 -11
  1360. package/src/duckdb/src/planner/operator/logical_top_n.cpp +7 -0
  1361. package/src/duckdb/src/planner/subquery/flatten_dependent_join.cpp +33 -5
  1362. package/src/duckdb/src/planner/subquery/rewrite_correlated_expressions.cpp +2 -2
  1363. package/src/duckdb/src/planner/table_binding.cpp +74 -36
  1364. package/src/duckdb/src/planner/table_filter.cpp +5 -8
  1365. package/src/duckdb/src/storage/arena_allocator.cpp +5 -4
  1366. package/src/duckdb/src/storage/buffer/block_handle.cpp +88 -17
  1367. package/src/duckdb/src/storage/buffer/block_manager.cpp +34 -26
  1368. package/src/duckdb/src/storage/buffer/buffer_handle.cpp +2 -2
  1369. package/src/duckdb/src/storage/buffer/buffer_pool.cpp +70 -49
  1370. package/src/duckdb/src/storage/buffer_manager.cpp +4 -0
  1371. package/src/duckdb/src/storage/checkpoint_manager.cpp +24 -5
  1372. package/src/duckdb/src/storage/compression/bitpacking.cpp +14 -16
  1373. package/src/duckdb/src/storage/compression/dictionary/analyze.cpp +54 -0
  1374. package/src/duckdb/src/storage/compression/dictionary/common.cpp +90 -0
  1375. package/src/duckdb/src/storage/compression/dictionary/compression.cpp +174 -0
  1376. package/src/duckdb/src/storage/compression/dictionary/decompression.cpp +115 -0
  1377. package/src/duckdb/src/storage/compression/dictionary_compression.cpp +53 -545
  1378. package/src/duckdb/src/storage/compression/empty_validity.cpp +15 -0
  1379. package/src/duckdb/src/storage/compression/fixed_size_uncompressed.cpp +25 -16
  1380. package/src/duckdb/src/storage/compression/fsst.cpp +101 -47
  1381. package/src/duckdb/src/storage/compression/numeric_constant.cpp +92 -2
  1382. package/src/duckdb/src/storage/compression/rle.cpp +216 -46
  1383. package/src/duckdb/src/storage/compression/roaring/analyze.cpp +179 -0
  1384. package/src/duckdb/src/storage/compression/roaring/common.cpp +282 -0
  1385. package/src/duckdb/src/storage/compression/roaring/compress.cpp +481 -0
  1386. package/src/duckdb/src/storage/compression/roaring/metadata.cpp +262 -0
  1387. package/src/duckdb/src/storage/compression/roaring/scan.cpp +364 -0
  1388. package/src/duckdb/src/storage/compression/string_uncompressed.cpp +47 -65
  1389. package/src/duckdb/src/storage/compression/validity_uncompressed.cpp +102 -39
  1390. package/src/duckdb/src/storage/compression/zstd.cpp +1049 -0
  1391. package/src/duckdb/src/storage/data_table.cpp +312 -172
  1392. package/src/duckdb/src/storage/local_storage.cpp +104 -46
  1393. package/src/duckdb/src/storage/metadata/metadata_manager.cpp +1 -1
  1394. package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +7 -3
  1395. package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +138 -58
  1396. package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +14 -0
  1397. package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +19 -8
  1398. package/src/duckdb/src/storage/serialization/serialize_statement.cpp +2 -0
  1399. package/src/duckdb/src/storage/serialization/serialize_table_filter.cpp +43 -0
  1400. package/src/duckdb/src/storage/serialization/serialize_types.cpp +32 -5
  1401. package/src/duckdb/src/storage/single_file_block_manager.cpp +6 -8
  1402. package/src/duckdb/src/storage/standard_buffer_manager.cpp +82 -71
  1403. package/src/duckdb/src/storage/statistics/column_statistics.cpp +3 -3
  1404. package/src/duckdb/src/storage/statistics/distinct_statistics.cpp +18 -17
  1405. package/src/duckdb/src/storage/statistics/numeric_stats.cpp +34 -22
  1406. package/src/duckdb/src/storage/statistics/string_stats.cpp +14 -3
  1407. package/src/duckdb/src/storage/storage_info.cpp +72 -10
  1408. package/src/duckdb/src/storage/storage_manager.cpp +41 -47
  1409. package/src/duckdb/src/storage/table/array_column_data.cpp +7 -1
  1410. package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +10 -9
  1411. package/src/duckdb/src/storage/table/column_data.cpp +105 -43
  1412. package/src/duckdb/src/storage/table/column_data_checkpointer.cpp +307 -132
  1413. package/src/duckdb/src/storage/table/column_segment.cpp +36 -13
  1414. package/src/duckdb/src/storage/table/list_column_data.cpp +4 -4
  1415. package/src/duckdb/src/storage/table/row_group.cpp +159 -66
  1416. package/src/duckdb/src/storage/table/row_group_collection.cpp +157 -68
  1417. package/src/duckdb/src/storage/table/row_version_manager.cpp +33 -10
  1418. package/src/duckdb/src/storage/table/scan_state.cpp +21 -7
  1419. package/src/duckdb/src/storage/table/standard_column_data.cpp +68 -5
  1420. package/src/duckdb/src/storage/table/struct_column_data.cpp +42 -4
  1421. package/src/duckdb/src/storage/table/table_statistics.cpp +91 -5
  1422. package/src/duckdb/src/storage/table/update_segment.cpp +287 -210
  1423. package/src/duckdb/src/storage/table_index_list.cpp +55 -58
  1424. package/src/duckdb/src/storage/temporary_file_manager.cpp +412 -149
  1425. package/src/duckdb/src/storage/wal_replay.cpp +132 -48
  1426. package/src/duckdb/src/storage/write_ahead_log.cpp +75 -48
  1427. package/src/duckdb/src/transaction/cleanup_state.cpp +0 -1
  1428. package/src/duckdb/src/transaction/commit_state.cpp +23 -14
  1429. package/src/duckdb/src/transaction/duck_transaction.cpp +29 -25
  1430. package/src/duckdb/src/transaction/duck_transaction_manager.cpp +18 -6
  1431. package/src/duckdb/src/transaction/meta_transaction.cpp +3 -2
  1432. package/src/duckdb/src/transaction/rollback_state.cpp +5 -2
  1433. package/src/duckdb/src/transaction/transaction_context.cpp +9 -1
  1434. package/src/duckdb/src/transaction/undo_buffer.cpp +35 -27
  1435. package/src/duckdb/src/transaction/undo_buffer_allocator.cpp +72 -0
  1436. package/src/duckdb/src/transaction/wal_write_state.cpp +12 -10
  1437. package/src/duckdb/src/verification/copied_statement_verifier.cpp +7 -4
  1438. package/src/duckdb/src/verification/deserialized_statement_verifier.cpp +7 -5
  1439. package/src/duckdb/src/verification/external_statement_verifier.cpp +7 -4
  1440. package/src/duckdb/src/verification/fetch_row_verifier.cpp +7 -4
  1441. package/src/duckdb/src/verification/no_operator_caching_verifier.cpp +8 -4
  1442. package/src/duckdb/src/verification/parsed_statement_verifier.cpp +7 -4
  1443. package/src/duckdb/src/verification/prepared_statement_verifier.cpp +16 -12
  1444. package/src/duckdb/src/verification/statement_verifier.cpp +20 -15
  1445. package/src/duckdb/src/verification/unoptimized_statement_verifier.cpp +7 -4
  1446. package/src/duckdb/third_party/fsst/libfsst.hpp +1 -0
  1447. package/src/duckdb/third_party/httplib/httplib.hpp +15 -22
  1448. package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +4 -2
  1449. package/src/duckdb/third_party/libpg_query/pg_functions.cpp +2 -4
  1450. package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +14278 -13832
  1451. package/src/duckdb/third_party/parquet/parquet_types.cpp +3410 -1686
  1452. package/src/duckdb/third_party/parquet/parquet_types.h +1585 -1204
  1453. package/src/duckdb/third_party/skiplist/SkipList.h +0 -1
  1454. package/src/duckdb/third_party/snappy/snappy-stubs-internal.h +13 -15
  1455. package/src/duckdb/third_party/zstd/common/debug.cpp +36 -0
  1456. package/src/duckdb/third_party/zstd/common/entropy_common.cpp +173 -49
  1457. package/src/duckdb/third_party/zstd/common/error_private.cpp +11 -3
  1458. package/src/duckdb/third_party/zstd/common/fse_decompress.cpp +126 -97
  1459. package/src/duckdb/third_party/zstd/common/pool.cpp +376 -0
  1460. package/src/duckdb/third_party/zstd/common/threading.cpp +193 -0
  1461. package/src/duckdb/third_party/zstd/common/xxhash.cpp +18 -14
  1462. package/src/duckdb/third_party/zstd/common/zstd_common.cpp +3 -38
  1463. package/src/duckdb/third_party/zstd/compress/fse_compress.cpp +93 -165
  1464. package/src/duckdb/third_party/zstd/compress/hist.cpp +28 -31
  1465. package/src/duckdb/third_party/zstd/compress/huf_compress.cpp +957 -291
  1466. package/src/duckdb/third_party/zstd/compress/zstd_compress.cpp +3988 -1124
  1467. package/src/duckdb/third_party/zstd/compress/zstd_compress_literals.cpp +120 -43
  1468. package/src/duckdb/third_party/zstd/compress/zstd_compress_sequences.cpp +47 -23
  1469. package/src/duckdb/third_party/zstd/compress/zstd_compress_superblock.cpp +274 -424
  1470. package/src/duckdb/third_party/zstd/compress/zstd_double_fast.cpp +403 -153
  1471. package/src/duckdb/third_party/zstd/compress/zstd_fast.cpp +741 -268
  1472. package/src/duckdb/third_party/zstd/compress/zstd_lazy.cpp +1339 -278
  1473. package/src/duckdb/third_party/zstd/compress/zstd_ldm.cpp +334 -222
  1474. package/src/duckdb/third_party/zstd/compress/zstd_opt.cpp +674 -298
  1475. package/src/duckdb/third_party/zstd/compress/zstdmt_compress.cpp +1885 -0
  1476. package/src/duckdb/third_party/zstd/decompress/huf_decompress.cpp +1247 -586
  1477. package/src/duckdb/third_party/zstd/decompress/zstd_ddict.cpp +18 -17
  1478. package/src/duckdb/third_party/zstd/decompress/zstd_decompress.cpp +724 -270
  1479. package/src/duckdb/third_party/zstd/decompress/zstd_decompress_block.cpp +1193 -393
  1480. package/src/duckdb/third_party/zstd/deprecated/zbuff_common.cpp +30 -0
  1481. package/src/duckdb/third_party/zstd/deprecated/zbuff_compress.cpp +171 -0
  1482. package/src/duckdb/third_party/zstd/deprecated/zbuff_decompress.cpp +80 -0
  1483. package/src/duckdb/third_party/zstd/dict/cover.cpp +1271 -0
  1484. package/src/duckdb/third_party/zstd/dict/divsufsort.cpp +1916 -0
  1485. package/src/duckdb/third_party/zstd/dict/fastcover.cpp +775 -0
  1486. package/src/duckdb/third_party/zstd/dict/zdict.cpp +1139 -0
  1487. package/src/duckdb/third_party/zstd/include/zdict.h +473 -0
  1488. package/src/duckdb/third_party/zstd/include/zstd/common/allocations.h +58 -0
  1489. package/src/duckdb/third_party/zstd/include/zstd/common/bits.h +204 -0
  1490. package/src/duckdb/third_party/zstd/include/zstd/common/bitstream.h +88 -85
  1491. package/src/duckdb/third_party/zstd/include/zstd/common/compiler.h +243 -47
  1492. package/src/duckdb/third_party/zstd/include/zstd/common/cpu.h +253 -0
  1493. package/src/duckdb/third_party/zstd/include/zstd/common/debug.h +31 -31
  1494. package/src/duckdb/third_party/zstd/include/zstd/common/error_private.h +94 -6
  1495. package/src/duckdb/third_party/zstd/include/zstd/common/fse.h +424 -64
  1496. package/src/duckdb/third_party/zstd/include/zstd/common/huf.h +255 -70
  1497. package/src/duckdb/third_party/zstd/include/zstd/common/mem.h +125 -85
  1498. package/src/duckdb/third_party/zstd/include/zstd/common/pool.h +84 -0
  1499. package/src/duckdb/third_party/zstd/include/zstd/common/portability_macros.h +158 -0
  1500. package/src/duckdb/third_party/zstd/include/zstd/common/threading.h +152 -0
  1501. package/src/duckdb/third_party/zstd/include/zstd/common/{xxhash.h → xxhash.hpp} +0 -1
  1502. package/src/duckdb/third_party/zstd/include/zstd/common/{xxhash_static.h → xxhash_static.hpp} +1 -1
  1503. package/src/duckdb/third_party/zstd/include/zstd/common/zstd_deps.h +122 -0
  1504. package/src/duckdb/third_party/zstd/include/zstd/common/zstd_internal.h +143 -174
  1505. package/src/duckdb/third_party/zstd/include/zstd/common/zstd_trace.h +159 -0
  1506. package/src/duckdb/third_party/zstd/include/zstd/compress/clevels.h +136 -0
  1507. package/src/duckdb/third_party/zstd/include/zstd/compress/hist.h +4 -4
  1508. package/src/duckdb/third_party/zstd/include/zstd/compress/zstd_compress_internal.h +631 -220
  1509. package/src/duckdb/third_party/zstd/include/zstd/compress/zstd_compress_literals.h +17 -7
  1510. package/src/duckdb/third_party/zstd/include/zstd/compress/zstd_compress_sequences.h +2 -2
  1511. package/src/duckdb/third_party/zstd/include/zstd/compress/zstd_compress_superblock.h +3 -2
  1512. package/src/duckdb/third_party/zstd/include/zstd/compress/zstd_cwksp.h +256 -153
  1513. package/src/duckdb/third_party/zstd/include/zstd/compress/zstd_double_fast.h +16 -3
  1514. package/src/duckdb/third_party/zstd/include/zstd/compress/zstd_fast.h +4 -3
  1515. package/src/duckdb/third_party/zstd/include/zstd/compress/zstd_lazy.h +145 -11
  1516. package/src/duckdb/third_party/zstd/include/zstd/compress/zstd_ldm.h +14 -6
  1517. package/src/duckdb/third_party/zstd/include/zstd/compress/zstd_ldm_geartab.h +110 -0
  1518. package/src/duckdb/third_party/zstd/include/zstd/compress/zstd_opt.h +33 -9
  1519. package/src/duckdb/third_party/zstd/include/zstd/compress/zstdmt_compress.h +107 -0
  1520. package/src/duckdb/third_party/zstd/include/zstd/decompress/zstd_ddict.h +4 -3
  1521. package/src/duckdb/third_party/zstd/include/zstd/decompress/zstd_decompress_block.h +20 -6
  1522. package/src/duckdb/third_party/zstd/include/zstd/decompress/zstd_decompress_internal.h +88 -16
  1523. package/src/duckdb/third_party/zstd/include/zstd/deprecated/zbuff.h +214 -0
  1524. package/src/duckdb/third_party/zstd/include/zstd/dict/cover.h +156 -0
  1525. package/src/duckdb/third_party/zstd/include/zstd/dict/divsufsort.h +62 -0
  1526. package/src/duckdb/third_party/zstd/include/zstd.h +2171 -93
  1527. package/src/duckdb/third_party/zstd/include/{zstd/common/zstd_errors.h → zstd_errors.h} +32 -10
  1528. package/src/duckdb/ub_extension_core_functions_aggregate_algebraic.cpp +8 -0
  1529. package/src/duckdb/ub_extension_core_functions_aggregate_distributive.cpp +20 -0
  1530. package/src/duckdb/ub_extension_core_functions_aggregate_holistic.cpp +12 -0
  1531. package/src/duckdb/ub_extension_core_functions_aggregate_nested.cpp +6 -0
  1532. package/src/duckdb/ub_extension_core_functions_aggregate_regression.cpp +14 -0
  1533. package/src/duckdb/ub_extension_core_functions_scalar_array.cpp +4 -0
  1534. package/src/duckdb/ub_extension_core_functions_scalar_bit.cpp +2 -0
  1535. package/src/duckdb/ub_extension_core_functions_scalar_blob.cpp +4 -0
  1536. package/src/duckdb/ub_extension_core_functions_scalar_date.cpp +20 -0
  1537. package/src/duckdb/ub_extension_core_functions_scalar_debug.cpp +2 -0
  1538. package/src/duckdb/ub_extension_core_functions_scalar_enum.cpp +2 -0
  1539. package/src/duckdb/ub_extension_core_functions_scalar_generic.cpp +18 -0
  1540. package/src/duckdb/ub_extension_core_functions_scalar_list.cpp +22 -0
  1541. package/src/duckdb/ub_extension_core_functions_scalar_map.cpp +14 -0
  1542. package/src/duckdb/ub_extension_core_functions_scalar_math.cpp +2 -0
  1543. package/src/duckdb/ub_extension_core_functions_scalar_operators.cpp +2 -0
  1544. package/src/duckdb/ub_extension_core_functions_scalar_random.cpp +4 -0
  1545. package/src/duckdb/ub_extension_core_functions_scalar_string.cpp +48 -0
  1546. package/src/duckdb/ub_extension_core_functions_scalar_struct.cpp +2 -0
  1547. package/src/duckdb/ub_extension_core_functions_scalar_union.cpp +6 -0
  1548. package/src/duckdb/ub_src_common.cpp +4 -0
  1549. package/src/duckdb/ub_src_common_arrow.cpp +3 -1
  1550. package/src/duckdb/ub_src_execution.cpp +0 -6
  1551. package/src/duckdb/ub_src_execution_operator_aggregate.cpp +2 -0
  1552. package/src/duckdb/ub_src_execution_operator_csv_scanner_encode.cpp +2 -0
  1553. package/src/duckdb/ub_src_execution_operator_csv_scanner_util.cpp +2 -0
  1554. package/src/duckdb/ub_src_execution_sample.cpp +4 -0
  1555. package/src/duckdb/ub_src_function.cpp +6 -0
  1556. package/src/duckdb/ub_src_function_aggregate.cpp +0 -2
  1557. package/src/duckdb/ub_src_function_aggregate_distributive.cpp +3 -1
  1558. package/src/duckdb/ub_src_function_scalar.cpp +2 -8
  1559. package/src/duckdb/ub_src_function_scalar_date.cpp +2 -0
  1560. package/src/duckdb/ub_src_function_scalar_generic.cpp +2 -2
  1561. package/src/duckdb/ub_src_function_scalar_map.cpp +2 -0
  1562. package/src/duckdb/ub_src_function_scalar_operator.cpp +8 -0
  1563. package/src/duckdb/ub_src_function_scalar_string.cpp +10 -0
  1564. package/src/duckdb/ub_src_function_scalar_struct.cpp +4 -0
  1565. package/src/duckdb/ub_src_function_scalar_system.cpp +2 -0
  1566. package/src/duckdb/ub_src_function_table_system.cpp +6 -0
  1567. package/src/duckdb/ub_src_function_window.cpp +36 -0
  1568. package/src/duckdb/ub_src_logging.cpp +8 -0
  1569. package/src/duckdb/ub_src_main_settings.cpp +3 -1
  1570. package/src/duckdb/ub_src_optimizer.cpp +8 -0
  1571. package/src/duckdb/ub_src_optimizer_pushdown.cpp +2 -0
  1572. package/src/duckdb/ub_src_optimizer_rule.cpp +2 -0
  1573. package/src/duckdb/ub_src_parser.cpp +2 -0
  1574. package/src/duckdb/ub_src_parser_parsed_data.cpp +2 -0
  1575. package/src/duckdb/ub_src_planner.cpp +2 -0
  1576. package/src/duckdb/ub_src_planner_filter.cpp +6 -0
  1577. package/src/duckdb/ub_src_storage_compression.cpp +4 -0
  1578. package/src/duckdb/ub_src_storage_compression_dictionary.cpp +8 -0
  1579. package/src/duckdb/ub_src_storage_compression_roaring.cpp +10 -0
  1580. package/src/duckdb/ub_src_transaction.cpp +2 -0
  1581. package/vendor.py +1 -1
  1582. package/src/duckdb/extension/json/yyjson/include/yyjson.hpp +0 -6003
  1583. package/src/duckdb/extension/json/yyjson/yyjson.cpp +0 -8218
  1584. package/src/duckdb/src/common/arrow/appender/list_data.cpp +0 -78
  1585. package/src/duckdb/src/common/arrow/appender/map_data.cpp +0 -91
  1586. package/src/duckdb/src/common/cycle_counter.cpp +0 -76
  1587. package/src/duckdb/src/common/field_writer.cpp +0 -97
  1588. package/src/duckdb/src/common/http_state.cpp +0 -95
  1589. package/src/duckdb/src/common/preserved_error.cpp +0 -87
  1590. package/src/duckdb/src/common/row_operations/row_match.cpp +0 -359
  1591. package/src/duckdb/src/common/serializer/buffered_deserializer.cpp +0 -27
  1592. package/src/duckdb/src/common/serializer/buffered_serializer.cpp +0 -36
  1593. package/src/duckdb/src/common/serializer/format_serializer.cpp +0 -15
  1594. package/src/duckdb/src/common/serializer.cpp +0 -24
  1595. package/src/duckdb/src/common/types/chunk_collection.cpp +0 -190
  1596. package/src/duckdb/src/core_functions/aggregate/distributive/entropy.cpp +0 -183
  1597. package/src/duckdb/src/core_functions/scalar/date/current.cpp +0 -54
  1598. package/src/duckdb/src/core_functions/scalar/list/list_cosine_similarity.cpp +0 -78
  1599. package/src/duckdb/src/core_functions/scalar/list/list_inner_product.cpp +0 -70
  1600. package/src/duckdb/src/core_functions/scalar/list/list_lambdas.cpp +0 -412
  1601. package/src/duckdb/src/core_functions/scalar/secret/which_secret.cpp +0 -28
  1602. package/src/duckdb/src/core_functions/scalar/string/jaro_winkler.cpp +0 -71
  1603. package/src/duckdb/src/execution/index/art/fixed_size_allocator.cpp +0 -238
  1604. package/src/duckdb/src/execution/index/art/node16.cpp +0 -196
  1605. package/src/duckdb/src/execution/index/art/node4.cpp +0 -189
  1606. package/src/duckdb/src/execution/index/unknown_index.cpp +0 -65
  1607. package/src/duckdb/src/execution/operator/csv_scanner/base_csv_reader.cpp +0 -595
  1608. package/src/duckdb/src/execution/operator/csv_scanner/buffered_csv_reader.cpp +0 -434
  1609. package/src/duckdb/src/execution/operator/csv_scanner/csv_buffer.cpp +0 -89
  1610. package/src/duckdb/src/execution/operator/csv_scanner/csv_buffer_manager.cpp +0 -90
  1611. package/src/duckdb/src/execution/operator/csv_scanner/csv_file_handle.cpp +0 -95
  1612. package/src/duckdb/src/execution/operator/csv_scanner/csv_reader_options.cpp +0 -494
  1613. package/src/duckdb/src/execution/operator/csv_scanner/csv_state_machine.cpp +0 -35
  1614. package/src/duckdb/src/execution/operator/csv_scanner/csv_state_machine_cache.cpp +0 -99
  1615. package/src/duckdb/src/execution/operator/csv_scanner/parallel_csv_reader.cpp +0 -689
  1616. package/src/duckdb/src/execution/operator/join/physical_index_join.cpp +0 -242
  1617. package/src/duckdb/src/execution/operator/persistent/base_csv_reader.cpp +0 -695
  1618. package/src/duckdb/src/execution/operator/persistent/buffered_csv_reader.cpp +0 -1487
  1619. package/src/duckdb/src/execution/operator/persistent/csv_buffer.cpp +0 -72
  1620. package/src/duckdb/src/execution/operator/persistent/csv_file_handle.cpp +0 -158
  1621. package/src/duckdb/src/execution/operator/persistent/csv_reader_options.cpp +0 -280
  1622. package/src/duckdb/src/execution/operator/persistent/parallel_csv_reader.cpp +0 -666
  1623. package/src/duckdb/src/execution/operator/persistent/physical_fixed_batch_copy.cpp +0 -499
  1624. package/src/duckdb/src/execution/operator/schema/physical_create_index.cpp +0 -207
  1625. package/src/duckdb/src/execution/partitionable_hashtable.cpp +0 -207
  1626. package/src/duckdb/src/execution/physical_plan/plan_limit_percent.cpp +0 -18
  1627. package/src/duckdb/src/execution/physical_plan/plan_show_select.cpp +0 -47
  1628. package/src/duckdb/src/execution/reservoir_sample.cpp +0 -324
  1629. package/src/duckdb/src/execution/window_executor.cpp +0 -1830
  1630. package/src/duckdb/src/execution/window_segment_tree.cpp +0 -2073
  1631. package/src/duckdb/src/extension_forward_decl/icu.cpp +0 -59
  1632. package/src/duckdb/src/function/aggregate/distributive_functions.cpp +0 -15
  1633. package/src/duckdb/src/function/scalar/compressed_materialization_functions.cpp +0 -29
  1634. package/src/duckdb/src/function/scalar/generic_functions.cpp +0 -11
  1635. package/src/duckdb/src/function/scalar/list/list_concat.cpp +0 -143
  1636. package/src/duckdb/src/function/scalar/operators.cpp +0 -14
  1637. package/src/duckdb/src/function/scalar/sequence_functions.cpp +0 -10
  1638. package/src/duckdb/src/function/scalar/string_functions.cpp +0 -22
  1639. package/src/duckdb/src/function/table/pragma_detailed_profiling_output.cpp +0 -173
  1640. package/src/duckdb/src/function/table/pragma_last_profiling_output.cpp +0 -101
  1641. package/src/duckdb/src/include/duckdb/catalog/mapping_value.hpp +0 -92
  1642. package/src/duckdb/src/include/duckdb/common/arrow/arrow_types_extension.hpp +0 -42
  1643. package/src/duckdb/src/include/duckdb/common/cycle_counter.hpp +0 -68
  1644. package/src/duckdb/src/include/duckdb/common/enums/index_type.hpp +0 -34
  1645. package/src/duckdb/src/include/duckdb/common/http_state.hpp +0 -113
  1646. package/src/duckdb/src/include/duckdb/common/platform.h +0 -58
  1647. package/src/duckdb/src/include/duckdb/common/preserved_error.hpp +0 -59
  1648. package/src/duckdb/src/include/duckdb/common/serializer/deserialization_data.hpp +0 -192
  1649. package/src/duckdb/src/include/duckdb/common/types/chunk_collection.hpp +0 -137
  1650. package/src/duckdb/src/include/duckdb/execution/index/art/node16.hpp +0 -65
  1651. package/src/duckdb/src/include/duckdb/execution/index/art/node4.hpp +0 -63
  1652. package/src/duckdb/src/include/duckdb/execution/index/unknown_index.hpp +0 -65
  1653. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer.hpp +0 -103
  1654. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp +0 -74
  1655. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/buffer_manager/csv_file_handle.hpp +0 -60
  1656. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_sniffer.hpp +0 -253
  1657. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/options/csv_option.hpp +0 -155
  1658. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp +0 -163
  1659. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/options/state_machine_options.hpp +0 -35
  1660. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/scanner/base_scanner.hpp +0 -228
  1661. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/scanner/column_count_scanner.hpp +0 -70
  1662. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/scanner/scanner_boundary.hpp +0 -93
  1663. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/scanner/skip_scanner.hpp +0 -60
  1664. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/scanner/string_value_scanner.hpp +0 -197
  1665. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/sniffer/quote_rules.hpp +0 -21
  1666. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/state_machine/csv_state.hpp +0 -30
  1667. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine.hpp +0 -99
  1668. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.hpp +0 -87
  1669. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/table_function/csv_file_scanner.hpp +0 -70
  1670. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/table_function/global_csv_state.hpp +0 -80
  1671. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/util/csv_casting.hpp +0 -137
  1672. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/util/csv_error.hpp +0 -104
  1673. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_index_join.hpp +0 -79
  1674. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/base_csv_reader.hpp +0 -119
  1675. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/buffered_csv_reader.hpp +0 -72
  1676. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_buffer.hpp +0 -110
  1677. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_buffer_manager.hpp +0 -103
  1678. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_file_handle.hpp +0 -59
  1679. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_line_info.hpp +0 -46
  1680. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_reader_options.hpp +0 -210
  1681. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_sniffer.hpp +0 -131
  1682. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_state.hpp +0 -28
  1683. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_state_machine.hpp +0 -70
  1684. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_state_machine_cache.hpp +0 -65
  1685. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/parallel_csv_reader.hpp +0 -167
  1686. package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/quote_rules.hpp +0 -21
  1687. package/src/duckdb/src/include/duckdb/execution/window_executor.hpp +0 -343
  1688. package/src/duckdb/src/include/duckdb/execution/window_segment_tree.hpp +0 -165
  1689. package/src/duckdb/src/include/duckdb/optimizer/column_lifetime_optimizer.hpp +0 -45
  1690. package/src/duckdb/src/include/duckdb/optimizer/join_order/estimated_properties.hpp +0 -57
  1691. package/src/duckdb/src/include/duckdb/parser/parsed_data/comment_on_info.hpp +0 -45
  1692. package/src/duckdb/src/include/duckdb/parser/statement/show_statement.hpp +0 -32
  1693. package/src/duckdb/src/include/duckdb/planner/operator/logical_limit_percent.hpp +0 -49
  1694. package/src/duckdb/src/include/duckdb/planner/operator/logical_show.hpp +0 -42
  1695. package/src/duckdb/src/main/settings/settings.cpp +0 -2056
  1696. package/src/duckdb/src/optimizer/join_order/estimated_properties.cpp +0 -36
  1697. package/src/duckdb/src/parser/parsed_data/comment_on_info.cpp +0 -19
  1698. package/src/duckdb/src/parser/statement/show_statement.cpp +0 -15
  1699. package/src/duckdb/src/planner/binder/statement/bind_show.cpp +0 -30
  1700. package/src/duckdb/src/planner/operator/logical_limit_percent.cpp +0 -14
  1701. package/src/duckdb/src/storage/statistics/numeric_stats_union.cpp +0 -70
  1702. package/src/duckdb/third_party/fsst/fsst_avx512.cpp +0 -140
  1703. package/src/duckdb/third_party/fsst/fsst_avx512.inc +0 -57
  1704. package/src/duckdb/third_party/fsst/fsst_avx512_unroll1.inc +0 -57
  1705. package/src/duckdb/third_party/fsst/fsst_avx512_unroll2.inc +0 -114
  1706. package/src/duckdb/third_party/fsst/fsst_avx512_unroll3.inc +0 -171
  1707. package/src/duckdb/third_party/fsst/fsst_avx512_unroll4.inc +0 -228
  1708. package/src/duckdb/third_party/parquet/parquet_constants.cpp +0 -17
  1709. package/src/duckdb/third_party/parquet/parquet_constants.h +0 -24
  1710. package/src/duckdb/third_party/re2/util/pod_array.h +0 -55
  1711. package/src/duckdb/third_party/re2/util/sparse_array.h +0 -392
  1712. package/src/duckdb/third_party/re2/util/sparse_set.h +0 -264
  1713. package/src/duckdb/third_party/zstd/include/zstd/common/fse_static.h +0 -421
  1714. package/src/duckdb/third_party/zstd/include/zstd/common/huf_static.h +0 -238
  1715. package/src/duckdb/third_party/zstd/include/zstd_static.h +0 -1070
  1716. package/src/duckdb/ub_src_core_functions.cpp +0 -6
  1717. package/src/duckdb/ub_src_core_functions_aggregate_algebraic.cpp +0 -8
  1718. package/src/duckdb/ub_src_core_functions_aggregate_distributive.cpp +0 -24
  1719. package/src/duckdb/ub_src_core_functions_aggregate_holistic.cpp +0 -12
  1720. package/src/duckdb/ub_src_core_functions_aggregate_nested.cpp +0 -6
  1721. package/src/duckdb/ub_src_core_functions_aggregate_regression.cpp +0 -14
  1722. package/src/duckdb/ub_src_core_functions_scalar_array.cpp +0 -4
  1723. package/src/duckdb/ub_src_core_functions_scalar_bit.cpp +0 -2
  1724. package/src/duckdb/ub_src_core_functions_scalar_blob.cpp +0 -6
  1725. package/src/duckdb/ub_src_core_functions_scalar_date.cpp +0 -22
  1726. package/src/duckdb/ub_src_core_functions_scalar_debug.cpp +0 -2
  1727. package/src/duckdb/ub_src_core_functions_scalar_enum.cpp +0 -2
  1728. package/src/duckdb/ub_src_core_functions_scalar_generic.cpp +0 -18
  1729. package/src/duckdb/ub_src_core_functions_scalar_list.cpp +0 -22
  1730. package/src/duckdb/ub_src_core_functions_scalar_map.cpp +0 -16
  1731. package/src/duckdb/ub_src_core_functions_scalar_math.cpp +0 -2
  1732. package/src/duckdb/ub_src_core_functions_scalar_operators.cpp +0 -2
  1733. package/src/duckdb/ub_src_core_functions_scalar_random.cpp +0 -4
  1734. package/src/duckdb/ub_src_core_functions_scalar_secret.cpp +0 -2
  1735. package/src/duckdb/ub_src_core_functions_scalar_string.cpp +0 -58
  1736. package/src/duckdb/ub_src_core_functions_scalar_struct.cpp +0 -4
  1737. package/src/duckdb/ub_src_core_functions_scalar_union.cpp +0 -6
  1738. package/src/duckdb/ub_src_execution_operator_csv_scanner.cpp +0 -18
  1739. package/src/duckdb/ub_src_function_scalar_operators.cpp +0 -8
  1740. /package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/aggregate/algebraic/covar.hpp +0 -0
  1741. /package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/aggregate/algebraic/stddev.hpp +0 -0
  1742. /package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/aggregate/sum_helpers.hpp +0 -0
  1743. /package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/array_kernels.hpp +0 -0
  1744. /package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/function_list.hpp +0 -0
  1745. /package/src/duckdb/{src/include/duckdb → extension/core_functions/include}/core_functions/scalar/secret_functions.hpp +0 -0
  1746. /package/src/duckdb/src/function/scalar/{operators → operator}/multiply.cpp +0 -0
  1747. /package/src/duckdb/src/function/scalar/{operators → operator}/subtract.cpp +0 -0
@@ -10,6 +10,7 @@
10
10
 
11
11
  #include "duckdb/common/common.hpp"
12
12
  #include "duckdb/common/types/value.hpp"
13
+ #include "duckdb/main/config.hpp"
13
14
 
14
15
  namespace duckdb {
15
16
  class ClientContext;
@@ -52,906 +53,1140 @@ private:
52
53
  SettingScope scope = SettingScope::INVALID;
53
54
  };
54
55
 
56
+ //===----------------------------------------------------------------------===//
57
+ // This code is autogenerated from 'update_settings_header_file.py'.
58
+ // Please do not make any changes directly here, as they will be overwritten.
59
+ //
60
+ // Start of the auto-generated list of settings structures
61
+ //===----------------------------------------------------------------------===//
62
+
55
63
  struct AccessModeSetting {
64
+ using RETURN_TYPE = AccessMode;
56
65
  static constexpr const char *Name = "access_mode";
57
66
  static constexpr const char *Description = "Access mode of the database (AUTOMATIC, READ_ONLY or READ_WRITE)";
58
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
67
+ static constexpr const char *InputType = "VARCHAR";
59
68
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
60
69
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
70
+ static bool OnGlobalSet(DatabaseInstance *db, DBConfig &config, const Value &input);
61
71
  static Value GetSetting(const ClientContext &context);
62
72
  };
63
73
 
64
- struct AllowPersistentSecrets {
65
- static constexpr const char *Name = "allow_persistent_secrets";
66
- static constexpr const char *Description =
67
- "Allow the creation of persistent secrets, that are stored and loaded on restarts";
68
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
74
+ struct AllocatorBackgroundThreadsSetting {
75
+ using RETURN_TYPE = bool;
76
+ static constexpr const char *Name = "allocator_background_threads";
77
+ static constexpr const char *Description = "Whether to enable the allocator background thread.";
78
+ static constexpr const char *InputType = "BOOLEAN";
69
79
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
70
80
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
81
+ static bool OnGlobalSet(DatabaseInstance *db, DBConfig &config, const Value &input);
82
+ static bool OnGlobalReset(DatabaseInstance *db, DBConfig &config);
71
83
  static Value GetSetting(const ClientContext &context);
72
84
  };
73
85
 
74
- struct CatalogErrorMaxSchema {
75
- static constexpr const char *Name = "catalog_error_max_schemas";
86
+ struct AllocatorBulkDeallocationFlushThresholdSetting {
87
+ using RETURN_TYPE = string;
88
+ static constexpr const char *Name = "allocator_bulk_deallocation_flush_threshold";
76
89
  static constexpr const char *Description =
77
- "The maximum number of schemas the system will scan for \"did you mean...\" style errors in the catalog";
78
- static constexpr const LogicalTypeId InputType = LogicalTypeId::UBIGINT;
90
+ "If a bulk deallocation larger than this occurs, flush outstanding allocations.";
91
+ static constexpr const char *InputType = "VARCHAR";
79
92
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
80
93
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
81
94
  static Value GetSetting(const ClientContext &context);
82
95
  };
83
96
 
84
- struct CheckpointThresholdSetting {
85
- static constexpr const char *Name = "checkpoint_threshold";
97
+ struct AllocatorFlushThresholdSetting {
98
+ using RETURN_TYPE = string;
99
+ static constexpr const char *Name = "allocator_flush_threshold";
86
100
  static constexpr const char *Description =
87
- "The WAL size threshold at which to automatically trigger a checkpoint (e.g. 1GB)";
88
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
101
+ "Peak allocation threshold at which to flush the allocator after completing a task.";
102
+ static constexpr const char *InputType = "VARCHAR";
89
103
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
90
104
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
91
105
  static Value GetSetting(const ClientContext &context);
92
106
  };
93
107
 
94
- struct DebugCheckpointAbort {
95
- static constexpr const char *Name = "debug_checkpoint_abort";
96
- static constexpr const char *Description =
97
- "DEBUG SETTING: trigger an abort while checkpointing for testing purposes";
98
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
108
+ struct AllowCommunityExtensionsSetting {
109
+ using RETURN_TYPE = bool;
110
+ static constexpr const char *Name = "allow_community_extensions";
111
+ static constexpr const char *Description = "Allow to load community built extensions";
112
+ static constexpr const char *InputType = "BOOLEAN";
99
113
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
100
114
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
115
+ static bool OnGlobalSet(DatabaseInstance *db, DBConfig &config, const Value &input);
116
+ static bool OnGlobalReset(DatabaseInstance *db, DBConfig &config);
101
117
  static Value GetSetting(const ClientContext &context);
102
118
  };
103
119
 
104
- struct DebugForceExternal {
105
- static constexpr const char *Name = "debug_force_external";
106
- static constexpr const char *Description =
107
- "DEBUG SETTING: force out-of-core computation for operators that support it, used for testing";
108
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
109
- static void SetLocal(ClientContext &context, const Value &parameter);
110
- static void ResetLocal(ClientContext &context);
120
+ struct AllowExtensionsMetadataMismatchSetting {
121
+ using RETURN_TYPE = bool;
122
+ static constexpr const char *Name = "allow_extensions_metadata_mismatch";
123
+ static constexpr const char *Description = "Allow to load extensions with not compatible metadata";
124
+ static constexpr const char *InputType = "BOOLEAN";
125
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
126
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
111
127
  static Value GetSetting(const ClientContext &context);
112
128
  };
113
129
 
114
- struct DebugForceNoCrossProduct {
115
- static constexpr const char *Name = "debug_force_no_cross_product";
130
+ struct AllowPersistentSecretsSetting {
131
+ using RETURN_TYPE = bool;
132
+ static constexpr const char *Name = "allow_persistent_secrets";
116
133
  static constexpr const char *Description =
117
- "DEBUG SETTING: Force disable cross product generation when hyper graph isn't connected, used for testing";
118
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
119
- static void SetLocal(ClientContext &context, const Value &parameter);
120
- static void ResetLocal(ClientContext &context);
134
+ "Allow the creation of persistent secrets, that are stored and loaded on restarts";
135
+ static constexpr const char *InputType = "BOOLEAN";
136
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
137
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
121
138
  static Value GetSetting(const ClientContext &context);
122
139
  };
123
140
 
124
- struct DebugSkipCheckpointOnCommit {
125
- static constexpr const char *Name = "debug_skip_checkpoint_on_commit";
126
- static constexpr const char *Description = "DEBUG SETTING: skip checkpointing on commit";
127
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
141
+ struct AllowUnredactedSecretsSetting {
142
+ using RETURN_TYPE = bool;
143
+ static constexpr const char *Name = "allow_unredacted_secrets";
144
+ static constexpr const char *Description = "Allow printing unredacted secrets";
145
+ static constexpr const char *InputType = "BOOLEAN";
128
146
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
129
147
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
148
+ static bool OnGlobalSet(DatabaseInstance *db, DBConfig &config, const Value &input);
149
+ static bool OnGlobalReset(DatabaseInstance *db, DBConfig &config);
130
150
  static Value GetSetting(const ClientContext &context);
131
151
  };
132
152
 
133
- struct OrderedAggregateThreshold {
134
- static constexpr const char *Name = "ordered_aggregate_threshold"; // NOLINT
135
- static constexpr const char *Description = // NOLINT
136
- "The number of rows to accumulate before sorting, used for tuning";
137
- static constexpr const LogicalTypeId InputType = LogicalTypeId::UBIGINT; // NOLINT
138
- static void SetLocal(ClientContext &context, const Value &parameter);
139
- static void ResetLocal(ClientContext &context);
153
+ struct AllowUnsignedExtensionsSetting {
154
+ using RETURN_TYPE = bool;
155
+ static constexpr const char *Name = "allow_unsigned_extensions";
156
+ static constexpr const char *Description = "Allow to load extensions with invalid or missing signatures";
157
+ static constexpr const char *InputType = "BOOLEAN";
158
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
159
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
160
+ static bool OnGlobalSet(DatabaseInstance *db, DBConfig &config, const Value &input);
161
+ static bool OnGlobalReset(DatabaseInstance *db, DBConfig &config);
140
162
  static Value GetSetting(const ClientContext &context);
141
163
  };
142
164
 
143
- struct DebugAsOfIEJoin {
144
- static constexpr const char *Name = "debug_asof_iejoin"; // NOLINT
145
- static constexpr const char *Description = "DEBUG SETTING: force use of IEJoin to implement AsOf joins"; // NOLINT
146
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN; // NOLINT
147
- static void SetLocal(ClientContext &context, const Value &parameter);
148
- static void ResetLocal(ClientContext &context);
165
+ struct AllowedDirectoriesSetting {
166
+ using RETURN_TYPE = vector<string>;
167
+ static constexpr const char *Name = "allowed_directories";
168
+ static constexpr const char *Description = "List of directories/prefixes that are ALWAYS allowed to be queried - "
169
+ "even when enable_external_access is false";
170
+ static constexpr const char *InputType = "VARCHAR[]";
171
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
172
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
149
173
  static Value GetSetting(const ClientContext &context);
150
174
  };
151
175
 
152
- struct PreferRangeJoins {
153
- static constexpr const char *Name = "prefer_range_joins"; // NOLINT
154
- static constexpr const char *Description = "Force use of range joins with mixed predicates"; // NOLINT
155
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN; // NOLINT
156
- static void SetLocal(ClientContext &context, const Value &parameter);
157
- static void ResetLocal(ClientContext &context);
176
+ struct AllowedPathsSetting {
177
+ using RETURN_TYPE = vector<string>;
178
+ static constexpr const char *Name = "allowed_paths";
179
+ static constexpr const char *Description =
180
+ "List of files that are ALWAYS allowed to be queried - even when enable_external_access is false";
181
+ static constexpr const char *InputType = "VARCHAR[]";
182
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
183
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
158
184
  static Value GetSetting(const ClientContext &context);
159
185
  };
160
186
 
161
- struct DebugWindowMode {
162
- static constexpr const char *Name = "debug_window_mode";
163
- static constexpr const char *Description = "DEBUG SETTING: switch window mode to use";
164
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
187
+ struct ArrowLargeBufferSizeSetting {
188
+ using RETURN_TYPE = bool;
189
+ static constexpr const char *Name = "arrow_large_buffer_size";
190
+ static constexpr const char *Description =
191
+ "Whether Arrow buffers for strings, blobs, uuids and bits should be exported using large buffers";
192
+ static constexpr const char *InputType = "BOOLEAN";
165
193
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
166
194
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
167
195
  static Value GetSetting(const ClientContext &context);
168
196
  };
169
197
 
170
- struct DefaultCollationSetting {
171
- static constexpr const char *Name = "default_collation";
172
- static constexpr const char *Description = "The collation setting used when none is specified";
173
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
198
+ struct ArrowLosslessConversionSetting {
199
+ using RETURN_TYPE = bool;
200
+ static constexpr const char *Name = "arrow_lossless_conversion";
201
+ static constexpr const char *Description =
202
+ "Whenever a DuckDB type does not have a clear native or canonical extension match in Arrow, export the types "
203
+ "with a duckdb.type_name extension name.";
204
+ static constexpr const char *InputType = "BOOLEAN";
174
205
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
175
206
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
176
- static void SetLocal(ClientContext &context, const Value &parameter);
177
- static void ResetLocal(ClientContext &context);
178
207
  static Value GetSetting(const ClientContext &context);
179
208
  };
180
209
 
181
- struct DefaultOrderSetting {
182
- static constexpr const char *Name = "default_order";
183
- static constexpr const char *Description = "The order type used when none is specified (ASC or DESC)";
184
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
210
+ struct ArrowOutputListViewSetting {
211
+ using RETURN_TYPE = bool;
212
+ static constexpr const char *Name = "arrow_output_list_view";
213
+ static constexpr const char *Description =
214
+ "Whether export to Arrow format should use ListView as the physical layout for LIST columns";
215
+ static constexpr const char *InputType = "BOOLEAN";
185
216
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
186
217
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
187
218
  static Value GetSetting(const ClientContext &context);
188
219
  };
189
220
 
190
- struct DefaultNullOrderSetting {
191
- static constexpr const char *Name = "default_null_order";
192
- static constexpr const char *Description = "Null ordering used when none is specified (NULLS_FIRST or NULLS_LAST)";
193
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
221
+ struct AutoinstallExtensionRepositorySetting {
222
+ using RETURN_TYPE = string;
223
+ static constexpr const char *Name = "autoinstall_extension_repository";
224
+ static constexpr const char *Description =
225
+ "Overrides the custom endpoint for extension installation on autoloading";
226
+ static constexpr const char *InputType = "VARCHAR";
194
227
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
195
228
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
196
229
  static Value GetSetting(const ClientContext &context);
197
230
  };
198
231
 
199
- struct DefaultSecretStorage {
200
- static constexpr const char *Name = "default_secret_storage";
201
- static constexpr const char *Description = "Allows switching the default storage for secrets";
202
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
232
+ struct AutoinstallKnownExtensionsSetting {
233
+ using RETURN_TYPE = bool;
234
+ static constexpr const char *Name = "autoinstall_known_extensions";
235
+ static constexpr const char *Description =
236
+ "Whether known extensions are allowed to be automatically installed when a query depends on them";
237
+ static constexpr const char *InputType = "BOOLEAN";
203
238
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
204
239
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
205
240
  static Value GetSetting(const ClientContext &context);
206
241
  };
207
242
 
208
- struct DisabledFileSystemsSetting {
209
- static constexpr const char *Name = "disabled_filesystems";
210
- static constexpr const char *Description = "Disable specific file systems preventing access (e.g. LocalFileSystem)";
211
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
243
+ struct AutoloadKnownExtensionsSetting {
244
+ using RETURN_TYPE = bool;
245
+ static constexpr const char *Name = "autoload_known_extensions";
246
+ static constexpr const char *Description =
247
+ "Whether known extensions are allowed to be automatically loaded when a query depends on them";
248
+ static constexpr const char *InputType = "BOOLEAN";
212
249
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
213
250
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
214
251
  static Value GetSetting(const ClientContext &context);
215
252
  };
216
253
 
217
- struct DisabledOptimizersSetting {
218
- static constexpr const char *Name = "disabled_optimizers";
219
- static constexpr const char *Description = "DEBUG SETTING: disable a specific set of optimizers (comma separated)";
220
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
254
+ struct CatalogErrorMaxSchemasSetting {
255
+ using RETURN_TYPE = idx_t;
256
+ static constexpr const char *Name = "catalog_error_max_schemas";
257
+ static constexpr const char *Description =
258
+ "The maximum number of schemas the system will scan for \"did you mean...\" style errors in the catalog";
259
+ static constexpr const char *InputType = "UBIGINT";
221
260
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
222
261
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
223
262
  static Value GetSetting(const ClientContext &context);
224
263
  };
225
264
 
226
- struct EnableExternalAccessSetting {
227
- static constexpr const char *Name = "enable_external_access";
265
+ struct CheckpointThresholdSetting {
266
+ using RETURN_TYPE = string;
267
+ static constexpr const char *Name = "checkpoint_threshold";
228
268
  static constexpr const char *Description =
229
- "Allow the database to access external state (through e.g. loading/installing modules, COPY TO/FROM, CSV "
230
- "readers, pandas replacement scans, etc)";
231
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
269
+ "The WAL size threshold at which to automatically trigger a checkpoint (e.g. 1GB)";
270
+ static constexpr const char *InputType = "VARCHAR";
232
271
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
233
272
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
234
273
  static Value GetSetting(const ClientContext &context);
235
274
  };
236
275
 
237
- struct EnableMacrosDependencies {
238
- static constexpr const char *Name = "enable_macro_dependencies";
276
+ struct CustomExtensionRepositorySetting {
277
+ using RETURN_TYPE = string;
278
+ static constexpr const char *Name = "custom_extension_repository";
279
+ static constexpr const char *Description = "Overrides the custom endpoint for remote extension installation";
280
+ static constexpr const char *InputType = "VARCHAR";
281
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
282
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
283
+ static Value GetSetting(const ClientContext &context);
284
+ };
285
+
286
+ struct CustomProfilingSettingsSetting {
287
+ using RETURN_TYPE = string;
288
+ static constexpr const char *Name = "custom_profiling_settings";
289
+ static constexpr const char *Description = "Accepts a JSON enabling custom metrics";
290
+ static constexpr const char *InputType = "VARCHAR";
291
+ static void SetLocal(ClientContext &context, const Value &parameter);
292
+ static void ResetLocal(ClientContext &context);
293
+ static Value GetSetting(const ClientContext &context);
294
+ };
295
+
296
+ struct CustomUserAgentSetting {
297
+ using RETURN_TYPE = string;
298
+ static constexpr const char *Name = "custom_user_agent";
299
+ static constexpr const char *Description = "Metadata from DuckDB callers";
300
+ static constexpr const char *InputType = "VARCHAR";
301
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
302
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
303
+ static Value GetSetting(const ClientContext &context);
304
+ };
305
+
306
+ struct DebugAsofIejoinSetting {
307
+ using RETURN_TYPE = bool;
308
+ static constexpr const char *Name = "debug_asof_iejoin";
309
+ static constexpr const char *Description = "DEBUG SETTING: force use of IEJoin to implement AsOf joins";
310
+ static constexpr const char *InputType = "BOOLEAN";
311
+ static void SetLocal(ClientContext &context, const Value &parameter);
312
+ static void ResetLocal(ClientContext &context);
313
+ static Value GetSetting(const ClientContext &context);
314
+ };
315
+
316
+ struct DebugCheckpointAbortSetting {
317
+ using RETURN_TYPE = CheckpointAbort;
318
+ static constexpr const char *Name = "debug_checkpoint_abort";
239
319
  static constexpr const char *Description =
240
- "Enable created MACROs to create dependencies on the referenced objects (such as tables)";
241
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
320
+ "DEBUG SETTING: trigger an abort while checkpointing for testing purposes";
321
+ static constexpr const char *InputType = "VARCHAR";
242
322
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
243
323
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
244
324
  static Value GetSetting(const ClientContext &context);
245
325
  };
246
326
 
247
- struct EnableViewDependencies {
248
- static constexpr const char *Name = "enable_view_dependencies";
327
+ struct DebugForceExternalSetting {
328
+ using RETURN_TYPE = bool;
329
+ static constexpr const char *Name = "debug_force_external";
249
330
  static constexpr const char *Description =
250
- "Enable created VIEWs to create dependencies on the referenced objects (such as tables)";
251
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
331
+ "DEBUG SETTING: force out-of-core computation for operators that support it, used for testing";
332
+ static constexpr const char *InputType = "BOOLEAN";
333
+ static void SetLocal(ClientContext &context, const Value &parameter);
334
+ static void ResetLocal(ClientContext &context);
335
+ static Value GetSetting(const ClientContext &context);
336
+ };
337
+
338
+ struct DebugForceNoCrossProductSetting {
339
+ using RETURN_TYPE = bool;
340
+ static constexpr const char *Name = "debug_force_no_cross_product";
341
+ static constexpr const char *Description =
342
+ "DEBUG SETTING: Force disable cross product generation when hyper graph isn't connected, used for testing";
343
+ static constexpr const char *InputType = "BOOLEAN";
344
+ static void SetLocal(ClientContext &context, const Value &parameter);
345
+ static void ResetLocal(ClientContext &context);
346
+ static Value GetSetting(const ClientContext &context);
347
+ };
348
+
349
+ struct DebugSkipCheckpointOnCommitSetting {
350
+ using RETURN_TYPE = bool;
351
+ static constexpr const char *Name = "debug_skip_checkpoint_on_commit";
352
+ static constexpr const char *Description = "DEBUG SETTING: skip checkpointing on commit";
353
+ static constexpr const char *InputType = "BOOLEAN";
252
354
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
253
355
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
254
356
  static Value GetSetting(const ClientContext &context);
255
357
  };
256
358
 
257
- struct EnableFSSTVectors {
258
- static constexpr const char *Name = "enable_fsst_vectors";
359
+ struct DebugWindowModeSetting {
360
+ using RETURN_TYPE = WindowAggregationMode;
361
+ static constexpr const char *Name = "debug_window_mode";
362
+ static constexpr const char *Description = "DEBUG SETTING: switch window mode to use";
363
+ static constexpr const char *InputType = "VARCHAR";
364
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
365
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
366
+ static Value GetSetting(const ClientContext &context);
367
+ };
368
+
369
+ struct DefaultBlockSizeSetting {
370
+ using RETURN_TYPE = idx_t;
371
+ static constexpr const char *Name = "default_block_size";
259
372
  static constexpr const char *Description =
260
- "Allow scans on FSST compressed segments to emit compressed vectors to utilize late decompression";
261
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
373
+ "The default block size for new duckdb database files (new as-in, they do not yet exist).";
374
+ static constexpr const char *InputType = "UBIGINT";
262
375
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
263
376
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
264
377
  static Value GetSetting(const ClientContext &context);
265
378
  };
266
379
 
267
- struct AllowUnsignedExtensionsSetting {
268
- static constexpr const char *Name = "allow_unsigned_extensions";
269
- static constexpr const char *Description = "Allow to load extensions with invalid or missing signatures";
270
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
380
+ struct DefaultCollationSetting {
381
+ using RETURN_TYPE = string;
382
+ static constexpr const char *Name = "default_collation";
383
+ static constexpr const char *Description = "The collation setting used when none is specified";
384
+ static constexpr const char *InputType = "VARCHAR";
271
385
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
272
386
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
387
+ static void SetLocal(ClientContext &context, const Value &parameter);
388
+ static void ResetLocal(ClientContext &context);
273
389
  static Value GetSetting(const ClientContext &context);
274
390
  };
275
391
 
276
- struct AllowCommunityExtensionsSetting {
277
- static constexpr const char *Name = "allow_community_extensions";
278
- static constexpr const char *Description = "Allow to load community built extensions";
279
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
392
+ struct DefaultNullOrderSetting {
393
+ using RETURN_TYPE = DefaultOrderByNullType;
394
+ static constexpr const char *Name = "default_null_order";
395
+ static constexpr const char *Description = "NULL ordering used when none is specified (NULLS_FIRST or NULLS_LAST)";
396
+ static constexpr const char *InputType = "VARCHAR";
280
397
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
281
398
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
282
399
  static Value GetSetting(const ClientContext &context);
283
400
  };
284
401
 
285
- struct AllowExtensionsMetadataMismatchSetting {
286
- static constexpr const char *Name = "allow_extensions_metadata_mismatch";
287
- static constexpr const char *Description = "Allow to load extensions with not compatible metadata";
288
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
402
+ struct DefaultOrderSetting {
403
+ using RETURN_TYPE = string;
404
+ static constexpr const char *Name = "default_order";
405
+ static constexpr const char *Description = "The order type used when none is specified (ASC or DESC)";
406
+ static constexpr const char *InputType = "VARCHAR";
289
407
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
290
408
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
291
409
  static Value GetSetting(const ClientContext &context);
292
410
  };
293
411
 
294
- struct AllowUnredactedSecretsSetting {
295
- static constexpr const char *Name = "allow_unredacted_secrets";
296
- static constexpr const char *Description = "Allow printing unredacted secrets";
297
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
412
+ struct DefaultSecretStorageSetting {
413
+ using RETURN_TYPE = string;
414
+ static constexpr const char *Name = "default_secret_storage";
415
+ static constexpr const char *Description = "Allows switching the default storage for secrets";
416
+ static constexpr const char *InputType = "VARCHAR";
298
417
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
299
418
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
300
419
  static Value GetSetting(const ClientContext &context);
301
420
  };
302
421
 
303
- struct CustomExtensionRepository {
304
- static constexpr const char *Name = "custom_extension_repository";
305
- static constexpr const char *Description = "Overrides the custom endpoint for remote extension installation";
306
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
422
+ struct DisabledFilesystemsSetting {
423
+ using RETURN_TYPE = string;
424
+ static constexpr const char *Name = "disabled_filesystems";
425
+ static constexpr const char *Description = "Disable specific file systems preventing access (e.g. LocalFileSystem)";
426
+ static constexpr const char *InputType = "VARCHAR";
307
427
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
308
428
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
309
429
  static Value GetSetting(const ClientContext &context);
310
430
  };
311
431
 
312
- struct AutoloadExtensionRepository {
313
- static constexpr const char *Name = "autoinstall_extension_repository";
314
- static constexpr const char *Description =
315
- "Overrides the custom endpoint for extension installation on autoloading";
316
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
432
+ struct DisabledLogTypes {
433
+ using RETURN_TYPE = string;
434
+ static constexpr const char *Name = "disabled_log_types";
435
+ static constexpr const char *Description = "Sets the list of disabled loggers";
436
+ static constexpr const char *InputType = "VARCHAR";
317
437
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
318
438
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
319
439
  static Value GetSetting(const ClientContext &context);
320
440
  };
321
441
 
322
- struct AutoinstallKnownExtensions {
323
- static constexpr const char *Name = "autoinstall_known_extensions";
324
- static constexpr const char *Description =
325
- "Whether known extensions are allowed to be automatically installed when a query depends on them";
326
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
442
+ struct DisabledOptimizersSetting {
443
+ using RETURN_TYPE = string;
444
+ static constexpr const char *Name = "disabled_optimizers";
445
+ static constexpr const char *Description = "DEBUG SETTING: disable a specific set of optimizers (comma separated)";
446
+ static constexpr const char *InputType = "VARCHAR";
327
447
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
328
448
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
329
449
  static Value GetSetting(const ClientContext &context);
330
450
  };
331
451
 
332
- struct AutoloadKnownExtensions {
333
- static constexpr const char *Name = "autoload_known_extensions";
334
- static constexpr const char *Description =
335
- "Whether known extensions are allowed to be automatically loaded when a query depends on them";
336
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
452
+ struct DuckDBAPISetting {
453
+ using RETURN_TYPE = string;
454
+ static constexpr const char *Name = "duckdb_api";
455
+ static constexpr const char *Description = "DuckDB API surface";
456
+ static constexpr const char *InputType = "VARCHAR";
337
457
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
338
458
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
339
459
  static Value GetSetting(const ClientContext &context);
340
460
  };
341
461
 
342
- struct EnableObjectCacheSetting {
343
- static constexpr const char *Name = "enable_object_cache";
344
- static constexpr const char *Description = "Whether or not object cache is used to cache e.g. Parquet metadata";
345
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
462
+ struct DynamicOrFilterThresholdSetting {
463
+ using RETURN_TYPE = idx_t;
464
+ static constexpr const char *Name = "dynamic_or_filter_threshold";
465
+ static constexpr const char *Description =
466
+ "The maximum amount of OR filters we generate dynamically from a hash join";
467
+ static constexpr const char *InputType = "UBIGINT";
468
+ static void SetLocal(ClientContext &context, const Value &parameter);
469
+ static void ResetLocal(ClientContext &context);
470
+ static Value GetSetting(const ClientContext &context);
471
+ };
472
+
473
+ struct EnableExternalAccessSetting {
474
+ using RETURN_TYPE = bool;
475
+ static constexpr const char *Name = "enable_external_access";
476
+ static constexpr const char *Description =
477
+ "Allow the database to access external state (through e.g. loading/installing modules, COPY TO/FROM, CSV "
478
+ "readers, pandas replacement scans, etc)";
479
+ static constexpr const char *InputType = "BOOLEAN";
346
480
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
347
481
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
482
+ static bool OnGlobalSet(DatabaseInstance *db, DBConfig &config, const Value &input);
483
+ static bool OnGlobalReset(DatabaseInstance *db, DBConfig &config);
348
484
  static Value GetSetting(const ClientContext &context);
349
485
  };
350
486
 
351
- struct StorageCompatibilityVersion {
352
- static constexpr const char *Name = "storage_compatibility_version";
353
- static constexpr const char *Description = "Serialize on checkpoint with compatibility for a given duckdb version";
354
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
487
+ struct EnableFSSTVectorsSetting {
488
+ using RETURN_TYPE = bool;
489
+ static constexpr const char *Name = "enable_fsst_vectors";
490
+ static constexpr const char *Description =
491
+ "Allow scans on FSST compressed segments to emit compressed vectors to utilize late decompression";
492
+ static constexpr const char *InputType = "BOOLEAN";
355
493
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
356
494
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
357
495
  static Value GetSetting(const ClientContext &context);
358
496
  };
359
497
 
498
+ struct EnableHTTPLoggingSetting {
499
+ using RETURN_TYPE = bool;
500
+ static constexpr const char *Name = "enable_http_logging";
501
+ static constexpr const char *Description = "Enables HTTP logging";
502
+ static constexpr const char *InputType = "BOOLEAN";
503
+ static void SetLocal(ClientContext &context, const Value &parameter);
504
+ static void ResetLocal(ClientContext &context);
505
+ static Value GetSetting(const ClientContext &context);
506
+ };
507
+
360
508
  struct EnableHTTPMetadataCacheSetting {
509
+ using RETURN_TYPE = bool;
361
510
  static constexpr const char *Name = "enable_http_metadata_cache";
362
511
  static constexpr const char *Description = "Whether or not the global http metadata is used to cache HTTP metadata";
363
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
512
+ static constexpr const char *InputType = "BOOLEAN";
513
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
364
514
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
515
+ static Value GetSetting(const ClientContext &context);
516
+ };
517
+
518
+ struct EnableLogging {
519
+ using RETURN_TYPE = bool;
520
+ static constexpr const char *Name = "enable_logging";
521
+ static constexpr const char *Description = "Enables the logger";
522
+ static constexpr const char *InputType = "BOOLEAN";
365
523
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
524
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
366
525
  static Value GetSetting(const ClientContext &context);
367
526
  };
368
527
 
369
- struct EnableProfilingSetting {
370
- static constexpr const char *Name = "enable_profiling";
528
+ struct EnableMacroDependenciesSetting {
529
+ using RETURN_TYPE = bool;
530
+ static constexpr const char *Name = "enable_macro_dependencies";
371
531
  static constexpr const char *Description =
372
- "Enables profiling, and sets the output format (JSON, QUERY_TREE, QUERY_TREE_OPTIMIZER)";
373
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
374
- static void SetLocal(ClientContext &context, const Value &parameter);
375
- static void ResetLocal(ClientContext &context);
532
+ "Enable created MACROs to create dependencies on the referenced objects (such as tables)";
533
+ static constexpr const char *InputType = "BOOLEAN";
534
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
535
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
376
536
  static Value GetSetting(const ClientContext &context);
377
537
  };
378
538
 
379
- struct CustomProfilingSettings {
380
- static constexpr const char *Name = "custom_profiling_settings";
381
- static constexpr const char *Description = "Accepts a JSON enabling custom metrics";
382
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
539
+ struct EnableObjectCacheSetting {
540
+ using RETURN_TYPE = bool;
541
+ static constexpr const char *Name = "enable_object_cache";
542
+ static constexpr const char *Description = "[PLACEHOLDER] Legacy setting - does nothing";
543
+ static constexpr const char *InputType = "BOOLEAN";
544
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
545
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
546
+ static Value GetSetting(const ClientContext &context);
547
+ };
548
+
549
+ struct EnableProfilingSetting {
550
+ using RETURN_TYPE = string;
551
+ static constexpr const char *Name = "enable_profiling";
552
+ static constexpr const char *Description =
553
+ "Enables profiling, and sets the output format (JSON, QUERY_TREE, QUERY_TREE_OPTIMIZER)";
554
+ static constexpr const char *InputType = "VARCHAR";
383
555
  static void SetLocal(ClientContext &context, const Value &parameter);
384
556
  static void ResetLocal(ClientContext &context);
385
557
  static Value GetSetting(const ClientContext &context);
386
558
  };
387
559
 
388
560
  struct EnableProgressBarSetting {
561
+ using RETURN_TYPE = bool;
389
562
  static constexpr const char *Name = "enable_progress_bar";
390
563
  static constexpr const char *Description =
391
564
  "Enables the progress bar, printing progress to the terminal for long queries";
392
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
565
+ static constexpr const char *InputType = "BOOLEAN";
393
566
  static void SetLocal(ClientContext &context, const Value &parameter);
394
567
  static void ResetLocal(ClientContext &context);
568
+ static bool OnLocalSet(ClientContext &context, const Value &input);
569
+ static bool OnLocalReset(ClientContext &context);
395
570
  static Value GetSetting(const ClientContext &context);
396
571
  };
397
572
 
398
573
  struct EnableProgressBarPrintSetting {
574
+ using RETURN_TYPE = bool;
399
575
  static constexpr const char *Name = "enable_progress_bar_print";
400
576
  static constexpr const char *Description =
401
577
  "Controls the printing of the progress bar, when 'enable_progress_bar' is true";
402
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
578
+ static constexpr const char *InputType = "BOOLEAN";
403
579
  static void SetLocal(ClientContext &context, const Value &parameter);
404
580
  static void ResetLocal(ClientContext &context);
405
581
  static Value GetSetting(const ClientContext &context);
406
582
  };
407
583
 
408
- struct ErrorsAsJsonSetting {
584
+ struct EnableViewDependenciesSetting {
585
+ using RETURN_TYPE = bool;
586
+ static constexpr const char *Name = "enable_view_dependencies";
587
+ static constexpr const char *Description =
588
+ "Enable created VIEWs to create dependencies on the referenced objects (such as tables)";
589
+ static constexpr const char *InputType = "BOOLEAN";
590
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
591
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
592
+ static Value GetSetting(const ClientContext &context);
593
+ };
594
+
595
+ struct EnabledLogTypes {
596
+ using RETURN_TYPE = string;
597
+ static constexpr const char *Name = "enabled_log_types";
598
+ static constexpr const char *Description = "Sets the list of enabled loggers";
599
+ static constexpr const char *InputType = "VARCHAR";
600
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
601
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
602
+ static Value GetSetting(const ClientContext &context);
603
+ };
604
+
605
+ struct ErrorsAsJSONSetting {
606
+ using RETURN_TYPE = bool;
409
607
  static constexpr const char *Name = "errors_as_json";
410
608
  static constexpr const char *Description = "Output error messages as structured JSON instead of as a raw string";
411
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
609
+ static constexpr const char *InputType = "BOOLEAN";
412
610
  static void SetLocal(ClientContext &context, const Value &parameter);
413
611
  static void ResetLocal(ClientContext &context);
414
612
  static Value GetSetting(const ClientContext &context);
415
613
  };
416
614
 
417
615
  struct ExplainOutputSetting {
616
+ using RETURN_TYPE = ExplainOutputType;
418
617
  static constexpr const char *Name = "explain_output";
419
618
  static constexpr const char *Description = "Output of EXPLAIN statements (ALL, OPTIMIZED_ONLY, PHYSICAL_ONLY)";
420
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
619
+ static constexpr const char *InputType = "VARCHAR";
421
620
  static void SetLocal(ClientContext &context, const Value &parameter);
422
621
  static void ResetLocal(ClientContext &context);
423
622
  static Value GetSetting(const ClientContext &context);
424
623
  };
425
624
 
426
- struct ExportLargeBufferArrow {
427
- static constexpr const char *Name = "arrow_large_buffer_size";
428
- static constexpr const char *Description =
429
- "If arrow buffers for strings, blobs, uuids and bits should be exported using large buffers";
430
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
431
- static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
432
- static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
433
- static Value GetSetting(const ClientContext &context);
434
- };
435
-
436
625
  struct ExtensionDirectorySetting {
626
+ using RETURN_TYPE = string;
437
627
  static constexpr const char *Name = "extension_directory";
438
628
  static constexpr const char *Description = "Set the directory to store extensions in";
439
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
629
+ static constexpr const char *InputType = "VARCHAR";
440
630
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
441
631
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
442
632
  static Value GetSetting(const ClientContext &context);
443
633
  };
444
634
 
445
635
  struct ExternalThreadsSetting {
636
+ using RETURN_TYPE = idx_t;
446
637
  static constexpr const char *Name = "external_threads";
447
638
  static constexpr const char *Description = "The number of external threads that work on DuckDB tasks.";
448
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BIGINT;
639
+ static constexpr const char *InputType = "UBIGINT";
449
640
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
450
641
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
642
+ static bool OnGlobalSet(DatabaseInstance *db, DBConfig &config, const Value &input);
643
+ static bool OnGlobalReset(DatabaseInstance *db, DBConfig &config);
451
644
  static Value GetSetting(const ClientContext &context);
452
645
  };
453
646
 
454
647
  struct FileSearchPathSetting {
648
+ using RETURN_TYPE = string;
455
649
  static constexpr const char *Name = "file_search_path";
456
650
  static constexpr const char *Description = "A comma separated list of directories to search for input files";
457
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
651
+ static constexpr const char *InputType = "VARCHAR";
458
652
  static void SetLocal(ClientContext &context, const Value &parameter);
459
653
  static void ResetLocal(ClientContext &context);
460
654
  static Value GetSetting(const ClientContext &context);
461
655
  };
462
656
 
463
- struct ForceCompressionSetting {
464
- static constexpr const char *Name = "force_compression";
465
- static constexpr const char *Description = "DEBUG SETTING: forces a specific compression method to be used";
466
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
657
+ struct ForceBitpackingModeSetting {
658
+ using RETURN_TYPE = string;
659
+ static constexpr const char *Name = "force_bitpacking_mode";
660
+ static constexpr const char *Description = "DEBUG SETTING: forces a specific bitpacking mode";
661
+ static constexpr const char *InputType = "VARCHAR";
467
662
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
468
663
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
469
664
  static Value GetSetting(const ClientContext &context);
470
665
  };
471
666
 
472
- struct ForceBitpackingModeSetting {
473
- static constexpr const char *Name = "force_bitpacking_mode";
474
- static constexpr const char *Description = "DEBUG SETTING: forces a specific bitpacking mode";
475
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
667
+ struct ForceCompressionSetting {
668
+ using RETURN_TYPE = string;
669
+ static constexpr const char *Name = "force_compression";
670
+ static constexpr const char *Description = "DEBUG SETTING: forces a specific compression method to be used";
671
+ static constexpr const char *InputType = "VARCHAR";
476
672
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
477
673
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
478
674
  static Value GetSetting(const ClientContext &context);
479
675
  };
480
676
 
481
677
  struct HomeDirectorySetting {
678
+ using RETURN_TYPE = string;
482
679
  static constexpr const char *Name = "home_directory";
483
680
  static constexpr const char *Description = "Sets the home directory used by the system";
484
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
681
+ static constexpr const char *InputType = "VARCHAR";
485
682
  static void SetLocal(ClientContext &context, const Value &parameter);
486
683
  static void ResetLocal(ClientContext &context);
487
684
  static Value GetSetting(const ClientContext &context);
488
685
  };
489
686
 
490
- struct HTTPProxy {
687
+ struct HTTPLoggingOutputSetting {
688
+ using RETURN_TYPE = string;
689
+ static constexpr const char *Name = "http_logging_output";
690
+ static constexpr const char *Description =
691
+ "The file to which HTTP logging output should be saved, or empty to print to the terminal";
692
+ static constexpr const char *InputType = "VARCHAR";
693
+ static void SetLocal(ClientContext &context, const Value &parameter);
694
+ static void ResetLocal(ClientContext &context);
695
+ static Value GetSetting(const ClientContext &context);
696
+ };
697
+
698
+ struct HTTPProxySetting {
699
+ using RETURN_TYPE = string;
491
700
  static constexpr const char *Name = "http_proxy";
492
701
  static constexpr const char *Description = "HTTP proxy host";
493
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
702
+ static constexpr const char *InputType = "VARCHAR";
494
703
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
495
704
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
496
705
  static Value GetSetting(const ClientContext &context);
497
706
  };
498
707
 
499
- struct HTTPProxyUsername {
708
+ struct HTTPProxyPasswordSetting {
709
+ using RETURN_TYPE = string;
710
+ static constexpr const char *Name = "http_proxy_password";
711
+ static constexpr const char *Description = "Password for HTTP proxy";
712
+ static constexpr const char *InputType = "VARCHAR";
713
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
714
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
715
+ static Value GetSetting(const ClientContext &context);
716
+ };
717
+
718
+ struct HTTPProxyUsernameSetting {
719
+ using RETURN_TYPE = string;
500
720
  static constexpr const char *Name = "http_proxy_username";
501
721
  static constexpr const char *Description = "Username for HTTP proxy";
502
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
722
+ static constexpr const char *InputType = "VARCHAR";
503
723
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
504
724
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
505
725
  static Value GetSetting(const ClientContext &context);
506
726
  };
507
727
 
508
- struct HTTPProxyPassword {
509
- static constexpr const char *Name = "http_proxy_password";
510
- static constexpr const char *Description = "Password for HTTP proxy";
511
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
728
+ struct IEEEFloatingPointOpsSetting {
729
+ using RETURN_TYPE = bool;
730
+ static constexpr const char *Name = "ieee_floating_point_ops";
731
+ static constexpr const char *Description =
732
+ "Use IEE754-compliant floating point operations (returning NAN instead of errors/NULL).";
733
+ static constexpr const char *InputType = "BOOLEAN";
734
+ static void SetLocal(ClientContext &context, const Value &parameter);
735
+ static void ResetLocal(ClientContext &context);
736
+ static Value GetSetting(const ClientContext &context);
737
+ };
738
+
739
+ struct ImmediateTransactionModeSetting {
740
+ using RETURN_TYPE = bool;
741
+ static constexpr const char *Name = "immediate_transaction_mode";
742
+ static constexpr const char *Description =
743
+ "Whether transactions should be started lazily when needed, or immediately when BEGIN TRANSACTION is called";
744
+ static constexpr const char *InputType = "BOOLEAN";
512
745
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
513
746
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
514
747
  static Value GetSetting(const ClientContext &context);
515
748
  };
516
749
 
750
+ struct IndexScanMaxCountSetting {
751
+ using RETURN_TYPE = idx_t;
752
+ static constexpr const char *Name = "index_scan_max_count";
753
+ static constexpr const char *Description =
754
+ "The maximum index scan count sets a threshold for index scans. If fewer than MAX(index_scan_max_count, "
755
+ "index_scan_percentage * total_row_count) rows match, we perform an index scan instead of a table scan.";
756
+ static constexpr const char *InputType = "UBIGINT";
757
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
758
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
759
+ static Value GetSetting(const ClientContext &context);
760
+ };
761
+
762
+ struct IndexScanPercentageSetting {
763
+ using RETURN_TYPE = double;
764
+ static constexpr const char *Name = "index_scan_percentage";
765
+ static constexpr const char *Description =
766
+ "The index scan percentage sets a threshold for index scans. If fewer than MAX(index_scan_max_count, "
767
+ "index_scan_percentage * total_row_count) rows match, we perform an index scan instead of a table scan.";
768
+ static constexpr const char *InputType = "DOUBLE";
769
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
770
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
771
+ static bool OnGlobalSet(DatabaseInstance *db, DBConfig &config, const Value &input);
772
+ static Value GetSetting(const ClientContext &context);
773
+ };
774
+
517
775
  struct IntegerDivisionSetting {
776
+ using RETURN_TYPE = bool;
518
777
  static constexpr const char *Name = "integer_division";
519
778
  static constexpr const char *Description =
520
779
  "Whether or not the / operator defaults to integer division, or to floating point division";
521
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
780
+ static constexpr const char *InputType = "BOOLEAN";
522
781
  static void SetLocal(ClientContext &context, const Value &parameter);
523
782
  static void ResetLocal(ClientContext &context);
524
783
  static Value GetSetting(const ClientContext &context);
525
784
  };
526
785
 
527
- struct LogQueryPathSetting {
528
- static constexpr const char *Name = "log_query_path";
786
+ struct LateMaterializationMaxRowsSetting {
787
+ using RETURN_TYPE = idx_t;
788
+ static constexpr const char *Name = "late_materialization_max_rows";
529
789
  static constexpr const char *Description =
530
- "Specifies the path to which queries should be logged (default: NULL, queries are not logged)";
531
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
790
+ "The maximum amount of rows in the LIMIT/SAMPLE for which we trigger late materialization";
791
+ static constexpr const char *InputType = "UBIGINT";
532
792
  static void SetLocal(ClientContext &context, const Value &parameter);
533
793
  static void ResetLocal(ClientContext &context);
534
794
  static Value GetSetting(const ClientContext &context);
535
795
  };
536
796
 
537
797
  struct LockConfigurationSetting {
798
+ using RETURN_TYPE = bool;
538
799
  static constexpr const char *Name = "lock_configuration";
539
800
  static constexpr const char *Description = "Whether or not the configuration can be altered";
540
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
801
+ static constexpr const char *InputType = "BOOLEAN";
541
802
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
542
803
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
543
804
  static Value GetSetting(const ClientContext &context);
544
805
  };
545
806
 
546
- struct IEEEFloatingPointOpsSetting {
547
- static constexpr const char *Name = "ieee_floating_point_ops";
807
+ struct LogQueryPathSetting {
808
+ using RETURN_TYPE = string;
809
+ static constexpr const char *Name = "log_query_path";
548
810
  static constexpr const char *Description =
549
- "Use IEE754-compliant floating point operations (returning NAN instead of errors/NULL)";
550
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
811
+ "Specifies the path to which queries should be logged (default: NULL, queries are not logged)";
812
+ static constexpr const char *InputType = "VARCHAR";
551
813
  static void SetLocal(ClientContext &context, const Value &parameter);
552
814
  static void ResetLocal(ClientContext &context);
553
815
  static Value GetSetting(const ClientContext &context);
554
816
  };
555
817
 
556
- struct ImmediateTransactionModeSetting {
557
- static constexpr const char *Name = "immediate_transaction_mode";
558
- static constexpr const char *Description =
559
- "Whether transactions should be started lazily when needed, or immediately when BEGIN TRANSACTION is called";
560
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
818
+ struct LoggingLevel {
819
+ using RETURN_TYPE = string;
820
+ static constexpr const char *Name = "logging_level";
821
+ static constexpr const char *Description = "The log level which will be recorded in the log";
822
+ static constexpr const char *InputType = "VARCHAR";
823
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
824
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
825
+ static Value GetSetting(const ClientContext &context);
826
+ };
827
+
828
+ struct LoggingMode {
829
+ using RETURN_TYPE = string;
830
+ static constexpr const char *Name = "logging_mode";
831
+ static constexpr const char *Description = "Enables the logger";
832
+ static constexpr const char *InputType = "VARCHAR";
561
833
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
562
834
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
563
835
  static Value GetSetting(const ClientContext &context);
564
836
  };
565
837
 
566
- struct MaximumExpressionDepthSetting {
838
+ struct LoggingStorage {
839
+ using RETURN_TYPE = string;
840
+ static constexpr const char *Name = "logging_storage";
841
+ static constexpr const char *Description = "Set the logging storage (memory/stdout/file)";
842
+ static constexpr const char *InputType = "VARCHAR";
843
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
844
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
845
+ static Value GetSetting(const ClientContext &context);
846
+ };
847
+
848
+ struct MaxExpressionDepthSetting {
849
+ using RETURN_TYPE = idx_t;
567
850
  static constexpr const char *Name = "max_expression_depth";
568
851
  static constexpr const char *Description =
569
852
  "The maximum expression depth limit in the parser. WARNING: increasing this setting and using very deep "
570
853
  "expressions might lead to stack overflow errors.";
571
- static constexpr const LogicalTypeId InputType = LogicalTypeId::UBIGINT;
854
+ static constexpr const char *InputType = "UBIGINT";
572
855
  static void SetLocal(ClientContext &context, const Value &parameter);
573
856
  static void ResetLocal(ClientContext &context);
574
857
  static Value GetSetting(const ClientContext &context);
575
858
  };
576
859
 
577
- struct MaximumMemorySetting {
860
+ struct MaxMemorySetting {
861
+ using RETURN_TYPE = string;
578
862
  static constexpr const char *Name = "max_memory";
579
863
  static constexpr const char *Description = "The maximum memory of the system (e.g. 1GB)";
580
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
864
+ static constexpr const char *InputType = "VARCHAR";
581
865
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
582
866
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
583
867
  static Value GetSetting(const ClientContext &context);
584
868
  };
585
869
 
586
- struct StreamingBufferSize {
587
- static constexpr const char *Name = "streaming_buffer_size";
588
- static constexpr const char *Description =
589
- "The maximum memory to buffer between fetching from a streaming result (e.g. 1GB)";
590
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
591
- static void SetLocal(ClientContext &context, const Value &parameter);
592
- static void ResetLocal(ClientContext &context);
593
- static Value GetSetting(const ClientContext &context);
594
- };
595
-
596
- struct MaximumTempDirectorySize {
870
+ struct MaxTempDirectorySizeSetting {
871
+ using RETURN_TYPE = string;
597
872
  static constexpr const char *Name = "max_temp_directory_size";
598
873
  static constexpr const char *Description =
599
- "The maximum amount of data stored inside the 'temp_directory' (when set). If the `temp_directory` is set to "
600
- "an existing directory, this option defaults to the available disk space on "
601
- "that drive. Otherwise, it defaults to 0 (implying that the temporary directory is not used).";
602
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
874
+ "The maximum amount of data stored inside the 'temp_directory' (when set) (e.g. 1GB)";
875
+ static constexpr const char *InputType = "VARCHAR";
603
876
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
604
877
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
605
878
  static Value GetSetting(const ClientContext &context);
606
879
  };
607
880
 
608
- struct MaximumVacuumTasks {
881
+ struct MaxVacuumTasksSetting {
882
+ using RETURN_TYPE = idx_t;
609
883
  static constexpr const char *Name = "max_vacuum_tasks";
610
- static constexpr const char *Description = "The maximum vacuum tasks to schedule during a checkpoint";
611
- static constexpr const LogicalTypeId InputType = LogicalTypeId::UBIGINT;
884
+ static constexpr const char *Description = "The maximum vacuum tasks to schedule during a checkpoint.";
885
+ static constexpr const char *InputType = "UBIGINT";
612
886
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
613
887
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
614
888
  static Value GetSetting(const ClientContext &context);
615
889
  };
616
890
 
617
- struct MergeJoinThreshold {
891
+ struct MergeJoinThresholdSetting {
892
+ using RETURN_TYPE = idx_t;
618
893
  static constexpr const char *Name = "merge_join_threshold";
619
894
  static constexpr const char *Description = "The number of rows we need on either table to choose a merge join";
620
- static constexpr const LogicalTypeId InputType = LogicalTypeId::UBIGINT;
895
+ static constexpr const char *InputType = "UBIGINT";
621
896
  static void SetLocal(ClientContext &context, const Value &parameter);
622
897
  static void ResetLocal(ClientContext &context);
623
898
  static Value GetSetting(const ClientContext &context);
624
899
  };
625
900
 
626
- struct NestedLoopJoinThreshold {
901
+ struct NestedLoopJoinThresholdSetting {
902
+ using RETURN_TYPE = idx_t;
627
903
  static constexpr const char *Name = "nested_loop_join_threshold";
628
904
  static constexpr const char *Description =
629
905
  "The number of rows we need on either table to choose a nested loop join";
630
- static constexpr const LogicalTypeId InputType = LogicalTypeId::UBIGINT;
906
+ static constexpr const char *InputType = "UBIGINT";
631
907
  static void SetLocal(ClientContext &context, const Value &parameter);
632
908
  static void ResetLocal(ClientContext &context);
633
909
  static Value GetSetting(const ClientContext &context);
634
910
  };
635
911
 
636
- struct OldImplicitCasting {
912
+ struct OldImplicitCastingSetting {
913
+ using RETURN_TYPE = bool;
637
914
  static constexpr const char *Name = "old_implicit_casting";
638
915
  static constexpr const char *Description = "Allow implicit casting to/from VARCHAR";
639
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
916
+ static constexpr const char *InputType = "BOOLEAN";
640
917
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
641
918
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
642
919
  static Value GetSetting(const ClientContext &context);
643
920
  };
644
921
 
645
- struct OrderByNonIntegerLiteral {
922
+ struct OrderByNonIntegerLiteralSetting {
923
+ using RETURN_TYPE = bool;
646
924
  static constexpr const char *Name = "order_by_non_integer_literal";
647
925
  static constexpr const char *Description =
648
- "Allow ordering by non-integer literals - ordering by such literals has no effect";
649
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
926
+ "Allow ordering by non-integer literals - ordering by such literals has no effect.";
927
+ static constexpr const char *InputType = "BOOLEAN";
928
+ static void SetLocal(ClientContext &context, const Value &parameter);
929
+ static void ResetLocal(ClientContext &context);
930
+ static Value GetSetting(const ClientContext &context);
931
+ };
932
+
933
+ struct OrderedAggregateThresholdSetting {
934
+ using RETURN_TYPE = idx_t;
935
+ static constexpr const char *Name = "ordered_aggregate_threshold";
936
+ static constexpr const char *Description = "The number of rows to accumulate before sorting, used for tuning";
937
+ static constexpr const char *InputType = "UBIGINT";
650
938
  static void SetLocal(ClientContext &context, const Value &parameter);
651
939
  static void ResetLocal(ClientContext &context);
940
+ static bool OnLocalSet(ClientContext &context, const Value &input);
652
941
  static Value GetSetting(const ClientContext &context);
653
942
  };
654
943
 
655
- struct PartitionedWriteFlushThreshold {
944
+ struct PartitionedWriteFlushThresholdSetting {
945
+ using RETURN_TYPE = idx_t;
656
946
  static constexpr const char *Name = "partitioned_write_flush_threshold";
657
947
  static constexpr const char *Description =
658
948
  "The threshold in number of rows after which we flush a thread state when writing using PARTITION_BY";
659
- static constexpr const LogicalTypeId InputType = LogicalTypeId::UBIGINT;
949
+ static constexpr const char *InputType = "UBIGINT";
660
950
  static void SetLocal(ClientContext &context, const Value &parameter);
661
951
  static void ResetLocal(ClientContext &context);
662
952
  static Value GetSetting(const ClientContext &context);
663
953
  };
664
954
 
665
- struct PartitionedWriteMaxOpenFiles {
955
+ struct PartitionedWriteMaxOpenFilesSetting {
956
+ using RETURN_TYPE = idx_t;
666
957
  static constexpr const char *Name = "partitioned_write_max_open_files";
667
958
  static constexpr const char *Description =
668
959
  "The maximum amount of files the system can keep open before flushing to disk when writing using PARTITION_BY";
669
- static constexpr const LogicalTypeId InputType = LogicalTypeId::UBIGINT;
960
+ static constexpr const char *InputType = "UBIGINT";
670
961
  static void SetLocal(ClientContext &context, const Value &parameter);
671
962
  static void ResetLocal(ClientContext &context);
672
963
  static Value GetSetting(const ClientContext &context);
673
964
  };
674
965
 
675
- struct DefaultBlockAllocSize {
676
- static constexpr const char *Name = "default_block_size";
677
- static constexpr const char *Description =
678
- "The default block size for new duckdb database files (new as-in, they do not yet exist).";
679
- static constexpr const LogicalTypeId InputType = LogicalTypeId::UBIGINT;
680
- static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
681
- static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
682
- static Value GetSetting(const ClientContext &context);
683
- };
684
-
685
- struct IndexScanPercentage {
686
- static constexpr const char *Name = "index_scan_percentage";
687
- static constexpr const char *Description =
688
- "The index scan percentage sets a threshold for index scans. If fewer than MAX(index_scan_max_count, "
689
- "index_scan_percentage * total_row_count) rows match, we perform an index scan instead of a table scan.";
690
- static constexpr const LogicalTypeId InputType = LogicalTypeId::DOUBLE;
691
- static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
692
- static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
693
- static Value GetSetting(const ClientContext &context);
694
- };
695
-
696
- struct IndexScanMaxCount {
697
- static constexpr const char *Name = "index_scan_max_count";
698
- static constexpr const char *Description =
699
- "The maximum index scan count sets a threshold for index scans. If fewer than MAX(index_scan_max_count, "
700
- "index_scan_percentage * total_row_count) rows match, we perform an index scan instead of a table scan.";
701
- static constexpr const LogicalTypeId InputType = LogicalTypeId::UBIGINT;
702
- static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
703
- static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
704
- static Value GetSetting(const ClientContext &context);
705
- };
706
-
707
966
  struct PasswordSetting {
967
+ using RETURN_TYPE = string;
708
968
  static constexpr const char *Name = "password";
709
969
  static constexpr const char *Description = "The password to use. Ignored for legacy compatibility.";
710
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
970
+ static constexpr const char *InputType = "VARCHAR";
711
971
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
712
972
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
713
973
  static Value GetSetting(const ClientContext &context);
714
974
  };
715
975
 
716
- struct PerfectHashThresholdSetting {
976
+ struct PerfectHtThresholdSetting {
977
+ using RETURN_TYPE = idx_t;
717
978
  static constexpr const char *Name = "perfect_ht_threshold";
718
979
  static constexpr const char *Description = "Threshold in bytes for when to use a perfect hash table";
719
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BIGINT;
980
+ static constexpr const char *InputType = "UBIGINT";
720
981
  static void SetLocal(ClientContext &context, const Value &parameter);
721
982
  static void ResetLocal(ClientContext &context);
722
983
  static Value GetSetting(const ClientContext &context);
723
984
  };
724
985
 
725
- struct PivotFilterThreshold {
986
+ struct PivotFilterThresholdSetting {
987
+ using RETURN_TYPE = idx_t;
726
988
  static constexpr const char *Name = "pivot_filter_threshold";
727
989
  static constexpr const char *Description =
728
990
  "The threshold to switch from using filtered aggregates to LIST with a dedicated pivot operator";
729
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BIGINT;
991
+ static constexpr const char *InputType = "UBIGINT";
730
992
  static void SetLocal(ClientContext &context, const Value &parameter);
731
993
  static void ResetLocal(ClientContext &context);
732
994
  static Value GetSetting(const ClientContext &context);
733
995
  };
734
996
 
735
997
  struct PivotLimitSetting {
998
+ using RETURN_TYPE = idx_t;
736
999
  static constexpr const char *Name = "pivot_limit";
737
1000
  static constexpr const char *Description = "The maximum number of pivot columns in a pivot statement";
738
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BIGINT;
1001
+ static constexpr const char *InputType = "UBIGINT";
1002
+ static void SetLocal(ClientContext &context, const Value &parameter);
1003
+ static void ResetLocal(ClientContext &context);
1004
+ static Value GetSetting(const ClientContext &context);
1005
+ };
1006
+
1007
+ struct PreferRangeJoinsSetting {
1008
+ using RETURN_TYPE = bool;
1009
+ static constexpr const char *Name = "prefer_range_joins";
1010
+ static constexpr const char *Description = "Force use of range joins with mixed predicates";
1011
+ static constexpr const char *InputType = "BOOLEAN";
739
1012
  static void SetLocal(ClientContext &context, const Value &parameter);
740
1013
  static void ResetLocal(ClientContext &context);
741
1014
  static Value GetSetting(const ClientContext &context);
742
1015
  };
743
1016
 
744
- struct PreserveIdentifierCase {
1017
+ struct PreserveIdentifierCaseSetting {
1018
+ using RETURN_TYPE = bool;
745
1019
  static constexpr const char *Name = "preserve_identifier_case";
746
1020
  static constexpr const char *Description =
747
1021
  "Whether or not to preserve the identifier case, instead of always lowercasing all non-quoted identifiers";
748
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
1022
+ static constexpr const char *InputType = "BOOLEAN";
749
1023
  static void SetLocal(ClientContext &context, const Value &parameter);
750
1024
  static void ResetLocal(ClientContext &context);
751
1025
  static Value GetSetting(const ClientContext &context);
752
1026
  };
753
1027
 
754
- struct PreserveInsertionOrder {
1028
+ struct PreserveInsertionOrderSetting {
1029
+ using RETURN_TYPE = bool;
755
1030
  static constexpr const char *Name = "preserve_insertion_order";
756
1031
  static constexpr const char *Description =
757
1032
  "Whether or not to preserve insertion order. If set to false the system is allowed to re-order any results "
758
1033
  "that do not contain ORDER BY clauses.";
759
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
1034
+ static constexpr const char *InputType = "BOOLEAN";
760
1035
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
761
1036
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
762
1037
  static Value GetSetting(const ClientContext &context);
763
1038
  };
764
1039
 
765
- struct ArrowOutputListView {
766
- static constexpr const char *Name = "arrow_output_list_view";
767
- static constexpr const char *Description =
768
- "If export to arrow format should use ListView as the physical layout for LIST columns";
769
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
770
- static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
771
- static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
772
- static Value GetSetting(const ClientContext &context);
773
- };
774
-
775
- struct LosslessConversionArrow {
776
- static constexpr const char *Name = "arrow_lossless_conversion";
777
- static constexpr const char *Description =
778
- "Whenever a DuckDB type does not have a clear native or canonical extension match in Arrow, export the types "
779
- "with a duckdb.type_name extension name.";
780
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
781
- static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
782
- static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
783
- static Value GetSetting(const ClientContext &context);
784
- };
785
-
786
- struct ProduceArrowStringView {
1040
+ struct ProduceArrowStringViewSetting {
1041
+ using RETURN_TYPE = bool;
787
1042
  static constexpr const char *Name = "produce_arrow_string_view";
788
1043
  static constexpr const char *Description =
789
- "If strings should be produced by DuckDB in Utf8View format instead of Utf8";
790
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
1044
+ "Whether strings should be produced by DuckDB in Utf8View format instead of Utf8";
1045
+ static constexpr const char *InputType = "BOOLEAN";
791
1046
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
792
1047
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
793
1048
  static Value GetSetting(const ClientContext &context);
794
1049
  };
795
1050
 
796
1051
  struct ProfileOutputSetting {
1052
+ using RETURN_TYPE = string;
797
1053
  static constexpr const char *Name = "profile_output";
798
1054
  static constexpr const char *Description =
799
1055
  "The file to which profile output should be saved, or empty to print to the terminal";
800
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
1056
+ static constexpr const char *InputType = "VARCHAR";
801
1057
  static void SetLocal(ClientContext &context, const Value &parameter);
802
1058
  static void ResetLocal(ClientContext &context);
803
1059
  static Value GetSetting(const ClientContext &context);
804
1060
  };
805
1061
 
806
1062
  struct ProfilingModeSetting {
1063
+ using RETURN_TYPE = string;
807
1064
  static constexpr const char *Name = "profiling_mode";
808
1065
  static constexpr const char *Description = "The profiling mode (STANDARD or DETAILED)";
809
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
1066
+ static constexpr const char *InputType = "VARCHAR";
810
1067
  static void SetLocal(ClientContext &context, const Value &parameter);
811
1068
  static void ResetLocal(ClientContext &context);
812
1069
  static Value GetSetting(const ClientContext &context);
813
1070
  };
814
1071
 
815
1072
  struct ProgressBarTimeSetting {
1073
+ using RETURN_TYPE = int64_t;
816
1074
  static constexpr const char *Name = "progress_bar_time";
817
1075
  static constexpr const char *Description =
818
1076
  "Sets the time (in milliseconds) how long a query needs to take before we start printing a progress bar";
819
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BIGINT;
1077
+ static constexpr const char *InputType = "BIGINT";
820
1078
  static void SetLocal(ClientContext &context, const Value &parameter);
821
1079
  static void ResetLocal(ClientContext &context);
822
1080
  static Value GetSetting(const ClientContext &context);
823
1081
  };
824
1082
 
825
- struct ScalarSubqueryErrorOnMultipleRows {
1083
+ struct ScalarSubqueryErrorOnMultipleRowsSetting {
1084
+ using RETURN_TYPE = bool;
826
1085
  static constexpr const char *Name = "scalar_subquery_error_on_multiple_rows";
827
1086
  static constexpr const char *Description =
828
- "When a scalar subquery returns multiple rows - return a random row instead of returning an error";
829
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
1087
+ "When a scalar subquery returns multiple rows - return a random row instead of returning an error.";
1088
+ static constexpr const char *InputType = "BOOLEAN";
830
1089
  static void SetLocal(ClientContext &context, const Value &parameter);
831
1090
  static void ResetLocal(ClientContext &context);
832
1091
  static Value GetSetting(const ClientContext &context);
833
1092
  };
834
1093
 
835
1094
  struct SchemaSetting {
1095
+ using RETURN_TYPE = string;
836
1096
  static constexpr const char *Name = "schema";
837
1097
  static constexpr const char *Description =
838
1098
  "Sets the default search schema. Equivalent to setting search_path to a single value.";
839
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
1099
+ static constexpr const char *InputType = "VARCHAR";
840
1100
  static void SetLocal(ClientContext &context, const Value &parameter);
841
1101
  static void ResetLocal(ClientContext &context);
842
1102
  static Value GetSetting(const ClientContext &context);
843
1103
  };
844
1104
 
845
1105
  struct SearchPathSetting {
1106
+ using RETURN_TYPE = string;
846
1107
  static constexpr const char *Name = "search_path";
847
1108
  static constexpr const char *Description =
848
1109
  "Sets the default catalog search path as a comma-separated list of values";
849
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
1110
+ static constexpr const char *InputType = "VARCHAR";
850
1111
  static void SetLocal(ClientContext &context, const Value &parameter);
851
1112
  static void ResetLocal(ClientContext &context);
852
1113
  static Value GetSetting(const ClientContext &context);
853
1114
  };
854
1115
 
855
1116
  struct SecretDirectorySetting {
1117
+ using RETURN_TYPE = string;
856
1118
  static constexpr const char *Name = "secret_directory";
857
1119
  static constexpr const char *Description = "Set the directory to which persistent secrets are stored";
858
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
1120
+ static constexpr const char *InputType = "VARCHAR";
859
1121
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
860
1122
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
861
1123
  static Value GetSetting(const ClientContext &context);
862
1124
  };
863
1125
 
1126
+ struct StorageCompatibilityVersionSetting {
1127
+ using RETURN_TYPE = string;
1128
+ static constexpr const char *Name = "storage_compatibility_version";
1129
+ static constexpr const char *Description = "Serialize on checkpoint with compatibility for a given duckdb version";
1130
+ static constexpr const char *InputType = "VARCHAR";
1131
+ static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
1132
+ static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
1133
+ static Value GetSetting(const ClientContext &context);
1134
+ };
1135
+
1136
+ struct StreamingBufferSizeSetting {
1137
+ using RETURN_TYPE = string;
1138
+ static constexpr const char *Name = "streaming_buffer_size";
1139
+ static constexpr const char *Description =
1140
+ "The maximum memory to buffer between fetching from a streaming result (e.g. 1GB)";
1141
+ static constexpr const char *InputType = "VARCHAR";
1142
+ static void SetLocal(ClientContext &context, const Value &parameter);
1143
+ static void ResetLocal(ClientContext &context);
1144
+ static Value GetSetting(const ClientContext &context);
1145
+ };
1146
+
864
1147
  struct TempDirectorySetting {
1148
+ using RETURN_TYPE = string;
865
1149
  static constexpr const char *Name = "temp_directory";
866
1150
  static constexpr const char *Description = "Set the directory to which to write temp files";
867
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
1151
+ static constexpr const char *InputType = "VARCHAR";
868
1152
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
869
1153
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
870
1154
  static Value GetSetting(const ClientContext &context);
871
1155
  };
872
1156
 
873
1157
  struct ThreadsSetting {
1158
+ using RETURN_TYPE = int64_t;
874
1159
  static constexpr const char *Name = "threads";
875
1160
  static constexpr const char *Description = "The number of total threads used by the system.";
876
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BIGINT;
1161
+ static constexpr const char *InputType = "BIGINT";
877
1162
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
878
1163
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
879
1164
  static Value GetSetting(const ClientContext &context);
880
1165
  };
881
1166
 
882
1167
  struct UsernameSetting {
1168
+ using RETURN_TYPE = string;
883
1169
  static constexpr const char *Name = "username";
884
1170
  static constexpr const char *Description = "The username to use. Ignored for legacy compatibility.";
885
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
1171
+ static constexpr const char *InputType = "VARCHAR";
886
1172
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
887
1173
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
888
1174
  static Value GetSetting(const ClientContext &context);
889
1175
  };
890
1176
 
891
- struct AllocatorFlushThreshold {
892
- static constexpr const char *Name = "allocator_flush_threshold";
1177
+ struct ZstdMinStringLengthSetting {
1178
+ using RETURN_TYPE = idx_t;
1179
+ static constexpr const char *Name = "zstd_min_string_length";
893
1180
  static constexpr const char *Description =
894
- "Peak allocation threshold at which to flush the allocator after completing a task.";
895
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
1181
+ "The (average) length at which to enable ZSTD compression, defaults to 4096";
1182
+ static constexpr const char *InputType = "UBIGINT";
896
1183
  static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
897
1184
  static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
898
1185
  static Value GetSetting(const ClientContext &context);
899
1186
  };
900
1187
 
901
- struct AllocatorBulkDeallocationFlushThreshold {
902
- static constexpr const char *Name = "allocator_bulk_deallocation_flush_threshold";
903
- static constexpr const char *Description =
904
- "If a bulk deallocation larger than this occurs, flush outstanding allocations.";
905
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
906
- static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
907
- static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
908
- static Value GetSetting(const ClientContext &context);
909
- };
910
-
911
- struct AllocatorBackgroundThreadsSetting {
912
- static constexpr const char *Name = "allocator_background_threads";
913
- static constexpr const char *Description = "Whether to enable the allocator background thread.";
914
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
915
- static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
916
- static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
917
- static Value GetSetting(const ClientContext &context);
918
- };
919
-
920
- struct DuckDBApiSetting {
921
- static constexpr const char *Name = "duckdb_api";
922
- static constexpr const char *Description = "DuckDB API surface";
923
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
924
- static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
925
- static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
926
- static Value GetSetting(const ClientContext &context);
927
- };
928
-
929
- struct CustomUserAgentSetting {
930
- static constexpr const char *Name = "custom_user_agent";
931
- static constexpr const char *Description = "Metadata from DuckDB callers";
932
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
933
- static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &parameter);
934
- static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
935
- static Value GetSetting(const ClientContext &context);
936
- };
937
-
938
- struct EnableHTTPLoggingSetting {
939
- static constexpr const char *Name = "enable_http_logging";
940
- static constexpr const char *Description = "Enables HTTP logging";
941
- static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
942
- static void SetLocal(ClientContext &context, const Value &parameter);
943
- static void ResetLocal(ClientContext &context);
944
- static Value GetSetting(const ClientContext &context);
945
- };
946
-
947
- struct HTTPLoggingOutputSetting {
948
- static constexpr const char *Name = "http_logging_output";
949
- static constexpr const char *Description =
950
- "The file to which HTTP logging output should be saved, or empty to print to the terminal";
951
- static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
952
- static void SetLocal(ClientContext &context, const Value &parameter);
953
- static void ResetLocal(ClientContext &context);
954
- static Value GetSetting(const ClientContext &context);
955
- };
1188
+ //===----------------------------------------------------------------------===//
1189
+ // End of the auto-generated list of settings structures
1190
+ //===--------------------------------------------------------------------===//
956
1191
 
957
1192
  } // namespace duckdb