duckdb 0.8.1-dev0.0 → 0.8.1-dev125.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 (564) hide show
  1. package/package.json +1 -1
  2. package/src/duckdb/extension/icu/icu-datepart.cpp +1 -1
  3. package/src/duckdb/extension/json/include/json_common.hpp +1 -1
  4. package/src/duckdb/extension/json/include/json_executors.hpp +1 -1
  5. package/src/duckdb/extension/json/json_functions/json_create.cpp +6 -6
  6. package/src/duckdb/extension/json/json_functions/json_merge_patch.cpp +1 -1
  7. package/src/duckdb/extension/json/json_functions/json_transform.cpp +1 -1
  8. package/src/duckdb/extension/parquet/column_reader.cpp +57 -52
  9. package/src/duckdb/extension/parquet/column_writer.cpp +57 -45
  10. package/src/duckdb/extension/parquet/include/cast_column_reader.hpp +1 -1
  11. package/src/duckdb/extension/parquet/include/column_reader.hpp +5 -4
  12. package/src/duckdb/extension/parquet/include/column_writer.hpp +24 -0
  13. package/src/duckdb/extension/parquet/include/decode_utils.hpp +6 -0
  14. package/src/duckdb/extension/parquet/include/list_column_reader.hpp +1 -1
  15. package/src/duckdb/extension/parquet/include/parquet_dbp_decoder.hpp +4 -4
  16. package/src/duckdb/extension/parquet/include/parquet_rle_bp_decoder.hpp +4 -5
  17. package/src/duckdb/extension/parquet/include/resizable_buffer.hpp +4 -4
  18. package/src/duckdb/extension/parquet/include/row_number_column_reader.hpp +1 -1
  19. package/src/duckdb/extension/parquet/include/struct_column_reader.hpp +1 -1
  20. package/src/duckdb/extension/parquet/parquet-extension.cpp +1 -1
  21. package/src/duckdb/extension/parquet/parquet_metadata.cpp +1 -1
  22. package/src/duckdb/extension/parquet/parquet_reader.cpp +18 -18
  23. package/src/duckdb/extension/parquet/parquet_statistics.cpp +23 -26
  24. package/src/duckdb/extension/parquet/parquet_timestamp.cpp +2 -2
  25. package/src/duckdb/extension/parquet/parquet_writer.cpp +3 -3
  26. package/src/duckdb/extension/parquet/zstd_file_system.cpp +3 -3
  27. package/src/duckdb/src/catalog/catalog.cpp +5 -8
  28. package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +113 -0
  29. package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +7 -0
  30. package/src/duckdb/src/catalog/catalog_entry.cpp +4 -4
  31. package/src/duckdb/src/catalog/catalog_search_path.cpp +32 -12
  32. package/src/duckdb/src/catalog/catalog_set.cpp +1 -1
  33. package/src/duckdb/src/catalog/dependency_manager.cpp +2 -2
  34. package/src/duckdb/src/catalog/duck_catalog.cpp +1 -0
  35. package/src/duckdb/src/common/adbc/adbc.cpp +183 -94
  36. package/src/duckdb/src/common/adbc/driver_manager.cpp +10 -2
  37. package/src/duckdb/src/common/arrow/arrow_appender.cpp +12 -12
  38. package/src/duckdb/src/common/arrow/arrow_wrapper.cpp +7 -7
  39. package/src/duckdb/src/common/checksum.cpp +1 -1
  40. package/src/duckdb/src/common/compressed_file_system.cpp +6 -6
  41. package/src/duckdb/src/common/crypto/md5.cpp +9 -9
  42. package/src/duckdb/src/common/exception.cpp +4 -1
  43. package/src/duckdb/src/common/exception_format_value.cpp +19 -14
  44. package/src/duckdb/src/common/field_writer.cpp +1 -1
  45. package/src/duckdb/src/common/file_system.cpp +15 -2
  46. package/src/duckdb/src/common/fsst.cpp +11 -6
  47. package/src/duckdb/src/common/gzip_file_system.cpp +8 -8
  48. package/src/duckdb/src/common/hive_partitioning.cpp +1 -1
  49. package/src/duckdb/src/common/local_file_system.cpp +11 -11
  50. package/src/duckdb/src/common/operator/cast_operators.cpp +1 -1
  51. package/src/duckdb/src/common/pipe_file_system.cpp +2 -2
  52. package/src/duckdb/src/common/radix_partitioning.cpp +2 -2
  53. package/src/duckdb/src/common/row_operations/row_heap_gather.cpp +1 -1
  54. package/src/duckdb/src/common/row_operations/row_heap_scatter.cpp +5 -5
  55. package/src/duckdb/src/common/row_operations/row_match.cpp +1 -1
  56. package/src/duckdb/src/common/row_operations/row_radix_scatter.cpp +2 -2
  57. package/src/duckdb/src/common/row_operations/row_scatter.cpp +4 -4
  58. package/src/duckdb/src/common/serializer/binary_deserializer.cpp +1 -1
  59. package/src/duckdb/src/common/serializer/binary_serializer.cpp +3 -3
  60. package/src/duckdb/src/common/serializer.cpp +1 -1
  61. package/src/duckdb/src/common/sort/comparators.cpp +1 -1
  62. package/src/duckdb/src/common/sort/merge_sorter.cpp +7 -2
  63. package/src/duckdb/src/common/sort/partition_state.cpp +2 -2
  64. package/src/duckdb/src/common/types/bit.cpp +5 -5
  65. package/src/duckdb/src/common/types/blob.cpp +8 -8
  66. package/src/duckdb/src/common/types/column/column_data_allocator.cpp +4 -4
  67. package/src/duckdb/src/common/types/column/column_data_collection.cpp +3 -3
  68. package/src/duckdb/src/common/types/column/column_data_collection_segment.cpp +1 -1
  69. package/src/duckdb/src/common/types/column/partitioned_column_data.cpp +2 -2
  70. package/src/duckdb/src/common/types/hash.cpp +2 -2
  71. package/src/duckdb/src/common/types/hyperloglog.cpp +22 -21
  72. package/src/duckdb/src/common/types/list_segment.cpp +77 -49
  73. package/src/duckdb/src/common/types/row/partitioned_tuple_data.cpp +1 -1
  74. package/src/duckdb/src/common/types/row/tuple_data_allocator.cpp +5 -3
  75. package/src/duckdb/src/common/types/row/tuple_data_scatter_gather.cpp +17 -17
  76. package/src/duckdb/src/common/types/string_heap.cpp +1 -1
  77. package/src/duckdb/src/common/types/value.cpp +2 -2
  78. package/src/duckdb/src/common/types/vector.cpp +101 -101
  79. package/src/duckdb/src/common/types/vector_cache.cpp +6 -6
  80. package/src/duckdb/src/common/types/vector_constants.cpp +2 -1
  81. package/src/duckdb/src/common/types.cpp +44 -33
  82. package/src/duckdb/src/common/vector_operations/boolean_operators.cpp +2 -2
  83. package/src/duckdb/src/common/vector_operations/is_distinct_from.cpp +12 -12
  84. package/src/duckdb/src/common/vector_operations/vector_hash.cpp +13 -11
  85. package/src/duckdb/src/common/vector_operations/vector_storage.cpp +1 -1
  86. package/src/duckdb/src/core_functions/aggregate/algebraic/avg.cpp +30 -33
  87. package/src/duckdb/src/core_functions/aggregate/algebraic/covar.cpp +0 -4
  88. package/src/duckdb/src/core_functions/aggregate/distributive/approx_count.cpp +32 -36
  89. package/src/duckdb/src/core_functions/aggregate/distributive/arg_min_max.cpp +53 -66
  90. package/src/duckdb/src/core_functions/aggregate/distributive/bitagg.cpp +48 -48
  91. package/src/duckdb/src/core_functions/aggregate/distributive/bitstring_agg.cpp +43 -43
  92. package/src/duckdb/src/core_functions/aggregate/distributive/bool.cpp +32 -32
  93. package/src/duckdb/src/core_functions/aggregate/distributive/entropy.cpp +34 -34
  94. package/src/duckdb/src/core_functions/aggregate/distributive/kurtosis.cpp +30 -31
  95. package/src/duckdb/src/core_functions/aggregate/distributive/minmax.cpp +91 -103
  96. package/src/duckdb/src/core_functions/aggregate/distributive/product.cpp +17 -17
  97. package/src/duckdb/src/core_functions/aggregate/distributive/skew.cpp +25 -27
  98. package/src/duckdb/src/core_functions/aggregate/distributive/string_agg.cpp +36 -37
  99. package/src/duckdb/src/core_functions/aggregate/distributive/sum.cpp +22 -22
  100. package/src/duckdb/src/core_functions/aggregate/holistic/approximate_quantile.cpp +48 -84
  101. package/src/duckdb/src/core_functions/aggregate/holistic/mode.cpp +49 -51
  102. package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +83 -119
  103. package/src/duckdb/src/core_functions/aggregate/holistic/reservoir_quantile.cpp +62 -99
  104. package/src/duckdb/src/core_functions/aggregate/nested/histogram.cpp +24 -26
  105. package/src/duckdb/src/core_functions/aggregate/nested/list.cpp +22 -23
  106. package/src/duckdb/src/core_functions/aggregate/regression/regr_avg.cpp +16 -18
  107. package/src/duckdb/src/core_functions/aggregate/regression/regr_intercept.cpp +22 -25
  108. package/src/duckdb/src/core_functions/aggregate/regression/regr_r2.cpp +19 -24
  109. package/src/duckdb/src/core_functions/aggregate/regression/regr_sxx_syy.cpp +18 -23
  110. package/src/duckdb/src/core_functions/aggregate/regression/regr_sxy.cpp +14 -18
  111. package/src/duckdb/src/core_functions/scalar/blob/base64.cpp +1 -1
  112. package/src/duckdb/src/core_functions/scalar/date/date_part.cpp +45 -45
  113. package/src/duckdb/src/core_functions/scalar/date/strftime.cpp +2 -2
  114. package/src/duckdb/src/core_functions/scalar/generic/current_setting.cpp +1 -1
  115. package/src/duckdb/src/core_functions/scalar/generic/least.cpp +2 -2
  116. package/src/duckdb/src/core_functions/scalar/generic/stats.cpp +1 -1
  117. package/src/duckdb/src/core_functions/scalar/list/array_slice.cpp +3 -3
  118. package/src/duckdb/src/core_functions/scalar/list/flatten.cpp +2 -4
  119. package/src/duckdb/src/core_functions/scalar/list/list_aggregates.cpp +3 -3
  120. package/src/duckdb/src/core_functions/scalar/list/list_lambdas.cpp +6 -7
  121. package/src/duckdb/src/core_functions/scalar/list/list_sort.cpp +1 -1
  122. package/src/duckdb/src/core_functions/scalar/map/cardinality.cpp +1 -1
  123. package/src/duckdb/src/core_functions/scalar/map/map.cpp +2 -2
  124. package/src/duckdb/src/core_functions/scalar/map/map_concat.cpp +1 -1
  125. package/src/duckdb/src/core_functions/scalar/map/map_extract.cpp +5 -9
  126. package/src/duckdb/src/core_functions/scalar/math/numeric.cpp +3 -3
  127. package/src/duckdb/src/core_functions/scalar/string/starts_with.cpp +3 -2
  128. package/src/duckdb/src/core_functions/scalar/string/string_split.cpp +4 -4
  129. package/src/duckdb/src/core_functions/scalar/string/trim.cpp +1 -1
  130. package/src/duckdb/src/core_functions/scalar/union/union_extract.cpp +1 -1
  131. package/src/duckdb/src/execution/adaptive_filter.cpp +1 -1
  132. package/src/duckdb/src/execution/expression_executor/execute_case.cpp +10 -10
  133. package/src/duckdb/src/execution/expression_executor/execute_conjunction.cpp +7 -7
  134. package/src/duckdb/src/execution/expression_executor.cpp +33 -28
  135. package/src/duckdb/src/execution/index/art/art.cpp +30 -32
  136. package/src/duckdb/src/execution/index/art/fixed_size_allocator.cpp +3 -4
  137. package/src/duckdb/src/execution/join_hashtable.cpp +4 -4
  138. package/src/duckdb/src/execution/nested_loop_join/nested_loop_join_inner.cpp +4 -4
  139. package/src/duckdb/src/execution/nested_loop_join/nested_loop_join_mark.cpp +2 -2
  140. package/src/duckdb/src/execution/operator/aggregate/distinct_aggregate_data.cpp +1 -1
  141. package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +1 -1
  142. package/src/duckdb/src/execution/operator/aggregate/physical_streaming_window.cpp +2 -2
  143. package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +4 -4
  144. package/src/duckdb/src/execution/operator/filter/physical_filter.cpp +1 -1
  145. package/src/duckdb/src/execution/operator/join/outer_join_marker.cpp +1 -1
  146. package/src/duckdb/src/execution/operator/join/perfect_hash_join_executor.cpp +1 -1
  147. package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +2 -2
  148. package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +4 -4
  149. package/src/duckdb/src/execution/operator/join/physical_index_join.cpp +3 -3
  150. package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +3 -3
  151. package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +3 -3
  152. package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +1 -1
  153. package/src/duckdb/src/execution/operator/persistent/buffered_csv_reader.cpp +2 -2
  154. package/src/duckdb/src/execution/operator/persistent/csv_file_handle.cpp +2 -2
  155. package/src/duckdb/src/execution/operator/persistent/csv_reader_options.cpp +2 -0
  156. package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +2 -3
  157. package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +1 -1
  158. package/src/duckdb/src/execution/operator/projection/physical_pivot.cpp +2 -2
  159. package/src/duckdb/src/execution/operator/projection/physical_projection.cpp +1 -1
  160. package/src/duckdb/src/execution/operator/projection/physical_unnest.cpp +3 -3
  161. package/src/duckdb/src/execution/operator/scan/physical_column_data_scan.cpp +2 -1
  162. package/src/duckdb/src/execution/operator/scan/physical_expression_scan.cpp +1 -1
  163. package/src/duckdb/src/execution/operator/scan/physical_positional_scan.cpp +2 -2
  164. package/src/duckdb/src/execution/operator/schema/physical_create_type.cpp +1 -1
  165. package/src/duckdb/src/execution/perfect_aggregate_hashtable.cpp +1 -1
  166. package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +1 -1
  167. package/src/duckdb/src/execution/physical_plan/plan_create_table.cpp +1 -1
  168. package/src/duckdb/src/execution/physical_plan_generator.cpp +2 -2
  169. package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +1 -1
  170. package/src/duckdb/src/execution/reservoir_sample.cpp +2 -2
  171. package/src/duckdb/src/execution/window_segment_tree.cpp +8 -6
  172. package/src/duckdb/src/function/aggregate/distributive/count.cpp +158 -20
  173. package/src/duckdb/src/function/aggregate/distributive/first.cpp +66 -74
  174. package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +13 -13
  175. package/src/duckdb/src/function/cast/cast_function_set.cpp +1 -1
  176. package/src/duckdb/src/function/cast/decimal_cast.cpp +1 -1
  177. package/src/duckdb/src/function/cast/enum_casts.cpp +2 -2
  178. package/src/duckdb/src/function/cast/string_cast.cpp +11 -11
  179. package/src/duckdb/src/function/cast/union_casts.cpp +2 -2
  180. package/src/duckdb/src/function/cast/vector_cast_helpers.cpp +3 -2
  181. package/src/duckdb/src/function/scalar/generic/constant_or_null.cpp +1 -1
  182. package/src/duckdb/src/function/scalar/list/list_concat.cpp +2 -2
  183. package/src/duckdb/src/function/scalar/list/list_extract.cpp +3 -3
  184. package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +2 -3
  185. package/src/duckdb/src/function/scalar/string/concat.cpp +8 -7
  186. package/src/duckdb/src/function/scalar/string/contains.cpp +4 -4
  187. package/src/duckdb/src/function/scalar/string/like.cpp +5 -5
  188. package/src/duckdb/src/function/scalar/string/regexp/regexp_extract_all.cpp +4 -4
  189. package/src/duckdb/src/function/scalar/string/regexp.cpp +3 -3
  190. package/src/duckdb/src/function/scalar/string/strip_accents.cpp +1 -1
  191. package/src/duckdb/src/function/scalar/struct/struct_extract.cpp +1 -1
  192. package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +25 -23
  193. package/src/duckdb/src/function/scalar_function.cpp +3 -3
  194. package/src/duckdb/src/function/table/arrow.cpp +4 -4
  195. package/src/duckdb/src/function/table/arrow_conversion.cpp +67 -61
  196. package/src/duckdb/src/function/table/checkpoint.cpp +1 -1
  197. package/src/duckdb/src/function/table/copy_csv.cpp +11 -7
  198. package/src/duckdb/src/function/table/glob.cpp +1 -1
  199. package/src/duckdb/src/function/table/pragma_last_profiling_output.cpp +1 -1
  200. package/src/duckdb/src/function/table/range.cpp +4 -4
  201. package/src/duckdb/src/function/table/read_csv.cpp +4 -7
  202. package/src/duckdb/src/function/table/repeat.cpp +2 -2
  203. package/src/duckdb/src/function/table/repeat_row.cpp +2 -2
  204. package/src/duckdb/src/function/table/system/duckdb_functions.cpp +1 -1
  205. package/src/duckdb/src/function/table/system/test_vector_types.cpp +1 -1
  206. package/src/duckdb/src/function/table/table_scan.cpp +2 -2
  207. package/src/duckdb/src/function/table/unnest.cpp +1 -1
  208. package/src/duckdb/src/function/table/version/pragma_version.cpp +3 -3
  209. package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +2 -2
  210. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_table_entry.hpp +2 -0
  211. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +6 -0
  212. package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +2 -2
  213. package/src/duckdb/src/include/duckdb/catalog/catalog_search_path.hpp +6 -2
  214. package/src/duckdb/src/include/duckdb/common/adbc/adbc.hpp +5 -0
  215. package/src/duckdb/src/include/duckdb/common/allocator.hpp +15 -4
  216. package/src/duckdb/src/include/duckdb/common/arrow/arrow_buffer.hpp +7 -2
  217. package/src/duckdb/src/include/duckdb/common/crypto/md5.hpp +2 -2
  218. package/src/duckdb/src/include/duckdb/common/exception.hpp +5 -2
  219. package/src/duckdb/src/include/duckdb/common/field_writer.hpp +3 -3
  220. package/src/duckdb/src/include/duckdb/common/file_system.hpp +11 -0
  221. package/src/duckdb/src/include/duckdb/common/fsst.hpp +2 -3
  222. package/src/duckdb/src/include/duckdb/common/radix.hpp +3 -3
  223. package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +1 -1
  224. package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +4 -1
  225. package/src/duckdb/src/include/duckdb/common/serializer.hpp +4 -4
  226. package/src/duckdb/src/include/duckdb/common/typedefs.hpp +30 -0
  227. package/src/duckdb/src/include/duckdb/common/types/column/partitioned_column_data.hpp +12 -0
  228. package/src/duckdb/src/include/duckdb/common/types/hyperloglog.hpp +6 -2
  229. package/src/duckdb/src/include/duckdb/common/types/null_value.hpp +1 -1
  230. package/src/duckdb/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp +12 -0
  231. package/src/duckdb/src/include/duckdb/common/types/string_type.hpp +10 -10
  232. package/src/duckdb/src/include/duckdb/common/types/value.hpp +1 -1
  233. package/src/duckdb/src/include/duckdb/common/types/vector.hpp +9 -0
  234. package/src/duckdb/src/include/duckdb/common/types/vector_buffer.hpp +18 -6
  235. package/src/duckdb/src/include/duckdb/common/vector_operations/aggregate_executor.hpp +112 -76
  236. package/src/duckdb/src/include/duckdb/common/vector_operations/binary_executor.hpp +16 -15
  237. package/src/duckdb/src/include/duckdb/common/vector_operations/generic_executor.hpp +11 -11
  238. package/src/duckdb/src/include/duckdb/common/vector_operations/ternary_executor.hpp +23 -19
  239. package/src/duckdb/src/include/duckdb/common/vector_operations/unary_executor.hpp +3 -3
  240. package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/corr.hpp +20 -24
  241. package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/covar.hpp +36 -39
  242. package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/stddev.hpp +57 -53
  243. package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_count.hpp +8 -9
  244. package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_slope.hpp +16 -18
  245. package/src/duckdb/src/include/duckdb/core_functions/aggregate/sum_helpers.hpp +7 -8
  246. package/src/duckdb/src/include/duckdb/execution/expression_executor_state.hpp +14 -2
  247. package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +3 -3
  248. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_result_collector.hpp +3 -0
  249. package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_buffer.hpp +1 -1
  250. package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +5 -2
  251. package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +12 -12
  252. package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +8 -29
  253. package/src/duckdb/src/include/duckdb/function/aggregate_state.hpp +95 -0
  254. package/src/duckdb/src/include/duckdb/function/cast/default_casts.hpp +13 -2
  255. package/src/duckdb/src/include/duckdb/function/cast/vector_cast_helpers.hpp +4 -4
  256. package/src/duckdb/src/include/duckdb/function/compression_function.hpp +44 -0
  257. package/src/duckdb/src/include/duckdb/function/copy_function.hpp +6 -6
  258. package/src/duckdb/src/include/duckdb/function/function.hpp +3 -3
  259. package/src/duckdb/src/include/duckdb/function/macro_function.hpp +2 -2
  260. package/src/duckdb/src/include/duckdb/function/scalar/list/contains_or_position.hpp +3 -3
  261. package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +2 -2
  262. package/src/duckdb/src/include/duckdb/function/table_function.hpp +6 -6
  263. package/src/duckdb/src/include/duckdb/main/capi/cast/utils.hpp +1 -1
  264. package/src/duckdb/src/include/duckdb/main/materialized_query_result.hpp +3 -0
  265. package/src/duckdb/src/include/duckdb/main/pending_query_result.hpp +3 -0
  266. package/src/duckdb/src/include/duckdb/main/query_result.hpp +17 -0
  267. package/src/duckdb/src/include/duckdb/main/relation.hpp +12 -0
  268. package/src/duckdb/src/include/duckdb/main/stream_query_result.hpp +3 -0
  269. package/src/duckdb/src/include/duckdb/optimizer/join_order/cardinality_estimator.hpp +2 -2
  270. package/src/duckdb/src/include/duckdb/parser/base_expression.hpp +6 -12
  271. package/src/duckdb/src/include/duckdb/parser/constraint.hpp +2 -2
  272. package/src/duckdb/src/include/duckdb/parser/expression/between_expression.hpp +1 -1
  273. package/src/duckdb/src/include/duckdb/parser/expression/bound_expression.hpp +1 -1
  274. package/src/duckdb/src/include/duckdb/parser/expression/case_expression.hpp +1 -1
  275. package/src/duckdb/src/include/duckdb/parser/expression/cast_expression.hpp +1 -1
  276. package/src/duckdb/src/include/duckdb/parser/expression/collate_expression.hpp +1 -1
  277. package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +1 -1
  278. package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +1 -1
  279. package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +1 -1
  280. package/src/duckdb/src/include/duckdb/parser/expression/constant_expression.hpp +1 -1
  281. package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +1 -1
  282. package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +1 -1
  283. package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +1 -1
  284. package/src/duckdb/src/include/duckdb/parser/expression/parameter_expression.hpp +1 -1
  285. package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +1 -1
  286. package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +1 -1
  287. package/src/duckdb/src/include/duckdb/parser/expression/subquery_expression.hpp +1 -1
  288. package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +1 -1
  289. package/src/duckdb/src/include/duckdb/parser/expression_map.hpp +1 -1
  290. package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +2 -2
  291. package/src/duckdb/src/include/duckdb/parser/parsed_expression.hpp +5 -1
  292. package/src/duckdb/src/include/duckdb/parser/query_node.hpp +2 -2
  293. package/src/duckdb/src/include/duckdb/parser/result_modifier.hpp +36 -5
  294. package/src/duckdb/src/include/duckdb/parser/sql_statement.hpp +7 -4
  295. package/src/duckdb/src/include/duckdb/parser/statement/select_statement.hpp +1 -1
  296. package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +1 -1
  297. package/src/duckdb/src/include/duckdb/parser/tableref/emptytableref.hpp +1 -1
  298. package/src/duckdb/src/include/duckdb/parser/tableref/expressionlistref.hpp +1 -1
  299. package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +1 -1
  300. package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +1 -1
  301. package/src/duckdb/src/include/duckdb/parser/tableref/subqueryref.hpp +1 -1
  302. package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +1 -1
  303. package/src/duckdb/src/include/duckdb/parser/tableref.hpp +4 -3
  304. package/src/duckdb/src/include/duckdb/parser/transformer.hpp +107 -91
  305. package/src/duckdb/src/include/duckdb/planner/bind_context.hpp +1 -1
  306. package/src/duckdb/src/include/duckdb/planner/bound_constraint.hpp +2 -2
  307. package/src/duckdb/src/include/duckdb/planner/bound_query_node.hpp +2 -2
  308. package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +34 -1
  309. package/src/duckdb/src/include/duckdb/planner/bound_tableref.hpp +2 -2
  310. package/src/duckdb/src/include/duckdb/planner/expression/bound_aggregate_expression.hpp +1 -1
  311. package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +1 -1
  312. package/src/duckdb/src/include/duckdb/planner/expression/bound_case_expression.hpp +1 -1
  313. package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +1 -1
  314. package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +1 -1
  315. package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +1 -1
  316. package/src/duckdb/src/include/duckdb/planner/expression/bound_conjunction_expression.hpp +1 -1
  317. package/src/duckdb/src/include/duckdb/planner/expression/bound_constant_expression.hpp +1 -1
  318. package/src/duckdb/src/include/duckdb/planner/expression/bound_function_expression.hpp +1 -1
  319. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +1 -1
  320. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +1 -1
  321. package/src/duckdb/src/include/duckdb/planner/expression/bound_operator_expression.hpp +1 -1
  322. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_expression.hpp +1 -1
  323. package/src/duckdb/src/include/duckdb/planner/expression/bound_reference_expression.hpp +1 -1
  324. package/src/duckdb/src/include/duckdb/planner/expression/bound_subquery_expression.hpp +1 -1
  325. package/src/duckdb/src/include/duckdb/planner/expression/bound_unnest_expression.hpp +1 -1
  326. package/src/duckdb/src/include/duckdb/planner/expression/bound_window_expression.hpp +1 -1
  327. package/src/duckdb/src/include/duckdb/planner/expression.hpp +5 -7
  328. package/src/duckdb/src/include/duckdb/planner/filter/conjunction_filter.hpp +6 -0
  329. package/src/duckdb/src/include/duckdb/planner/filter/constant_filter.hpp +3 -0
  330. package/src/duckdb/src/include/duckdb/planner/filter/null_filter.hpp +6 -0
  331. package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +2 -2
  332. package/src/duckdb/src/include/duckdb/planner/operator/logical_pivot.hpp +3 -0
  333. package/src/duckdb/src/include/duckdb/planner/table_binding.hpp +26 -0
  334. package/src/duckdb/src/include/duckdb/planner/table_filter.hpp +17 -0
  335. package/src/duckdb/src/include/duckdb/planner/tableref/bound_pivotref.hpp +3 -0
  336. package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_analyze.hpp +1 -1
  337. package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_compress.hpp +2 -2
  338. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_analyze.hpp +2 -2
  339. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_compress.hpp +2 -2
  340. package/src/duckdb/src/include/duckdb/storage/index.hpp +2 -2
  341. package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +1 -1
  342. package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +12 -0
  343. package/src/duckdb/src/include/duckdb/storage/string_uncompressed.hpp +1 -1
  344. package/src/duckdb/src/include/duckdb/storage/table/chunk_info.hpp +25 -2
  345. package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +12 -0
  346. package/src/duckdb/src/include/duckdb/storage/table/scan_state.hpp +22 -0
  347. package/src/duckdb/src/include/duckdb/transaction/duck_transaction_manager.hpp +2 -2
  348. package/src/duckdb/src/include/duckdb/transaction/transaction.hpp +2 -2
  349. package/src/duckdb/src/main/capi/appender-c.cpp +5 -5
  350. package/src/duckdb/src/main/capi/arrow-c.cpp +10 -10
  351. package/src/duckdb/src/main/capi/cast/from_decimal-c.cpp +1 -1
  352. package/src/duckdb/src/main/capi/cast/utils-c.cpp +1 -1
  353. package/src/duckdb/src/main/capi/config-c.cpp +1 -1
  354. package/src/duckdb/src/main/capi/data_chunk-c.cpp +17 -17
  355. package/src/duckdb/src/main/capi/duckdb-c.cpp +4 -4
  356. package/src/duckdb/src/main/capi/duckdb_value-c.cpp +4 -4
  357. package/src/duckdb/src/main/capi/logical_types-c.cpp +22 -21
  358. package/src/duckdb/src/main/capi/pending-c.cpp +6 -6
  359. package/src/duckdb/src/main/capi/prepared-c.cpp +10 -10
  360. package/src/duckdb/src/main/capi/replacement_scan-c.cpp +6 -6
  361. package/src/duckdb/src/main/capi/result-c.cpp +23 -23
  362. package/src/duckdb/src/main/capi/table_function-c.cpp +1 -1
  363. package/src/duckdb/src/main/client_context.cpp +3 -3
  364. package/src/duckdb/src/main/database_manager.cpp +1 -1
  365. package/src/duckdb/src/main/error_manager.cpp +1 -1
  366. package/src/duckdb/src/main/extension/extension_load.cpp +1 -1
  367. package/src/duckdb/src/main/relation/create_table_relation.cpp +1 -1
  368. package/src/duckdb/src/main/relation/create_view_relation.cpp +1 -1
  369. package/src/duckdb/src/main/relation/delete_relation.cpp +1 -1
  370. package/src/duckdb/src/main/relation/explain_relation.cpp +1 -1
  371. package/src/duckdb/src/main/relation/insert_relation.cpp +1 -1
  372. package/src/duckdb/src/main/relation/update_relation.cpp +1 -1
  373. package/src/duckdb/src/main/relation/write_csv_relation.cpp +1 -1
  374. package/src/duckdb/src/main/relation/write_parquet_relation.cpp +1 -1
  375. package/src/duckdb/src/main/relation.cpp +1 -1
  376. package/src/duckdb/src/main/settings/settings.cpp +2 -2
  377. package/src/duckdb/src/optimizer/deliminator.cpp +12 -12
  378. package/src/duckdb/src/optimizer/expression_heuristics.cpp +1 -0
  379. package/src/duckdb/src/optimizer/filter_combiner.cpp +3 -3
  380. package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +10 -10
  381. package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +4 -7
  382. package/src/duckdb/src/optimizer/matcher/expression_matcher.cpp +1 -1
  383. package/src/duckdb/src/optimizer/pullup/pullup_projection.cpp +2 -2
  384. package/src/duckdb/src/optimizer/regex_range_filter.cpp +2 -4
  385. package/src/duckdb/src/optimizer/rule/distributivity.cpp +2 -2
  386. package/src/duckdb/src/optimizer/statistics/operator/propagate_filter.cpp +6 -6
  387. package/src/duckdb/src/optimizer/statistics/operator/propagate_get.cpp +2 -2
  388. package/src/duckdb/src/parallel/executor.cpp +1 -1
  389. package/src/duckdb/src/parser/base_expression.cpp +2 -5
  390. package/src/duckdb/src/parser/expression/between_expression.cpp +4 -4
  391. package/src/duckdb/src/parser/expression/case_expression.cpp +6 -6
  392. package/src/duckdb/src/parser/expression/cast_expression.cpp +4 -4
  393. package/src/duckdb/src/parser/expression/collate_expression.cpp +3 -3
  394. package/src/duckdb/src/parser/expression/columnref_expression.cpp +4 -4
  395. package/src/duckdb/src/parser/expression/comparison_expression.cpp +3 -3
  396. package/src/duckdb/src/parser/expression/conjunction_expression.cpp +2 -2
  397. package/src/duckdb/src/parser/expression/constant_expression.cpp +2 -2
  398. package/src/duckdb/src/parser/expression/function_expression.cpp +10 -14
  399. package/src/duckdb/src/parser/expression/lambda_expression.cpp +2 -2
  400. package/src/duckdb/src/parser/expression/operator_expression.cpp +4 -4
  401. package/src/duckdb/src/parser/expression/parameter_expression.cpp +2 -2
  402. package/src/duckdb/src/parser/expression/positional_reference_expression.cpp +3 -3
  403. package/src/duckdb/src/parser/expression/star_expression.cpp +9 -9
  404. package/src/duckdb/src/parser/expression/subquery_expression.cpp +5 -5
  405. package/src/duckdb/src/parser/expression/window_expression.cpp +13 -24
  406. package/src/duckdb/src/parser/parsed_expression.cpp +34 -18
  407. package/src/duckdb/src/parser/parsed_expression_iterator.cpp +4 -4
  408. package/src/duckdb/src/parser/parser.cpp +3 -3
  409. package/src/duckdb/src/parser/query_node/select_node.cpp +6 -13
  410. package/src/duckdb/src/parser/query_node.cpp +7 -6
  411. package/src/duckdb/src/parser/result_modifier.cpp +25 -18
  412. package/src/duckdb/src/parser/statement/select_statement.cpp +3 -3
  413. package/src/duckdb/src/parser/tableref/basetableref.cpp +4 -4
  414. package/src/duckdb/src/parser/tableref/emptytableref.cpp +1 -1
  415. package/src/duckdb/src/parser/tableref/expressionlistref.cpp +5 -5
  416. package/src/duckdb/src/parser/tableref/joinref.cpp +6 -6
  417. package/src/duckdb/src/parser/tableref/pivotref.cpp +10 -15
  418. package/src/duckdb/src/parser/tableref/subqueryref.cpp +3 -3
  419. package/src/duckdb/src/parser/tableref/table_function.cpp +3 -3
  420. package/src/duckdb/src/parser/tableref.cpp +12 -3
  421. package/src/duckdb/src/parser/transform/expression/transform_array_access.cpp +7 -7
  422. package/src/duckdb/src/parser/transform/expression/transform_bool_expr.cpp +4 -4
  423. package/src/duckdb/src/parser/transform/expression/transform_boolean_test.cpp +4 -4
  424. package/src/duckdb/src/parser/transform/expression/transform_case.cpp +8 -10
  425. package/src/duckdb/src/parser/transform/expression/transform_cast.cpp +7 -9
  426. package/src/duckdb/src/parser/transform/expression/transform_coalesce.cpp +3 -5
  427. package/src/duckdb/src/parser/transform/expression/transform_columnref.cpp +22 -22
  428. package/src/duckdb/src/parser/transform/expression/transform_constant.cpp +2 -2
  429. package/src/duckdb/src/parser/transform/expression/transform_expression.cpp +42 -44
  430. package/src/duckdb/src/parser/transform/expression/transform_function.cpp +70 -75
  431. package/src/duckdb/src/parser/transform/expression/transform_grouping_function.cpp +4 -4
  432. package/src/duckdb/src/parser/transform/expression/transform_interval.cpp +7 -7
  433. package/src/duckdb/src/parser/transform/expression/transform_is_null.cpp +4 -5
  434. package/src/duckdb/src/parser/transform/expression/transform_lambda.cpp +5 -6
  435. package/src/duckdb/src/parser/transform/expression/transform_operator.cpp +28 -29
  436. package/src/duckdb/src/parser/transform/expression/transform_param_ref.cpp +13 -14
  437. package/src/duckdb/src/parser/transform/expression/transform_positional_reference.cpp +4 -4
  438. package/src/duckdb/src/parser/transform/expression/transform_subquery.cpp +9 -10
  439. package/src/duckdb/src/parser/transform/helpers/transform_cte.cpp +28 -32
  440. package/src/duckdb/src/parser/transform/helpers/transform_groupby.cpp +18 -18
  441. package/src/duckdb/src/parser/transform/helpers/transform_sample.cpp +3 -3
  442. package/src/duckdb/src/parser/transform/helpers/transform_typename.cpp +27 -26
  443. package/src/duckdb/src/parser/transform/statement/transform_alter_sequence.cpp +11 -14
  444. package/src/duckdb/src/parser/transform/statement/transform_alter_table.cpp +14 -16
  445. package/src/duckdb/src/parser/transform/statement/transform_attach.cpp +8 -9
  446. package/src/duckdb/src/parser/transform/statement/transform_call.cpp +2 -5
  447. package/src/duckdb/src/parser/transform/statement/transform_checkpoint.cpp +4 -6
  448. package/src/duckdb/src/parser/transform/statement/transform_copy.cpp +22 -23
  449. package/src/duckdb/src/parser/transform/statement/transform_create_database.cpp +3 -4
  450. package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +14 -18
  451. package/src/duckdb/src/parser/transform/statement/transform_create_index.cpp +13 -15
  452. package/src/duckdb/src/parser/transform/statement/transform_create_schema.cpp +8 -10
  453. package/src/duckdb/src/parser/transform/statement/transform_create_sequence.cpp +8 -10
  454. package/src/duckdb/src/parser/transform/statement/transform_create_table.cpp +26 -28
  455. package/src/duckdb/src/parser/transform/statement/transform_create_table_as.cpp +8 -10
  456. package/src/duckdb/src/parser/transform/statement/transform_create_type.cpp +12 -15
  457. package/src/duckdb/src/parser/transform/statement/transform_create_view.cpp +13 -18
  458. package/src/duckdb/src/parser/transform/statement/transform_delete.cpp +11 -13
  459. package/src/duckdb/src/parser/transform/statement/transform_detach.cpp +3 -4
  460. package/src/duckdb/src/parser/transform/statement/transform_drop.cpp +20 -22
  461. package/src/duckdb/src/parser/transform/statement/transform_explain.cpp +5 -7
  462. package/src/duckdb/src/parser/transform/statement/transform_export.cpp +5 -6
  463. package/src/duckdb/src/parser/transform/statement/transform_import.cpp +2 -3
  464. package/src/duckdb/src/parser/transform/statement/transform_insert.cpp +21 -24
  465. package/src/duckdb/src/parser/transform/statement/transform_load.cpp +4 -5
  466. package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +7 -7
  467. package/src/duckdb/src/parser/transform/statement/transform_pragma.cpp +7 -9
  468. package/src/duckdb/src/parser/transform/statement/transform_prepare.cpp +11 -19
  469. package/src/duckdb/src/parser/transform/statement/transform_rename.cpp +12 -14
  470. package/src/duckdb/src/parser/transform/statement/transform_select.cpp +12 -9
  471. package/src/duckdb/src/parser/transform/statement/transform_select_node.cpp +34 -34
  472. package/src/duckdb/src/parser/transform/statement/transform_set.cpp +18 -19
  473. package/src/duckdb/src/parser/transform/statement/transform_show.cpp +5 -7
  474. package/src/duckdb/src/parser/transform/statement/transform_show_select.cpp +4 -5
  475. package/src/duckdb/src/parser/transform/statement/transform_transaction.cpp +3 -5
  476. package/src/duckdb/src/parser/transform/statement/transform_update.cpp +10 -13
  477. package/src/duckdb/src/parser/transform/statement/transform_upsert.cpp +4 -4
  478. package/src/duckdb/src/parser/transform/statement/transform_use.cpp +2 -3
  479. package/src/duckdb/src/parser/transform/statement/transform_vacuum.cpp +6 -10
  480. package/src/duckdb/src/parser/transform/tableref/transform_base_tableref.cpp +18 -18
  481. package/src/duckdb/src/parser/transform/tableref/transform_from.cpp +5 -5
  482. package/src/duckdb/src/parser/transform/tableref/transform_join.cpp +11 -11
  483. package/src/duckdb/src/parser/transform/tableref/transform_pivot.cpp +27 -27
  484. package/src/duckdb/src/parser/transform/tableref/transform_subquery.cpp +5 -5
  485. package/src/duckdb/src/parser/transform/tableref/transform_table_function.cpp +13 -12
  486. package/src/duckdb/src/parser/transform/tableref/transform_tableref.cpp +8 -8
  487. package/src/duckdb/src/parser/transformer.cpp +46 -46
  488. package/src/duckdb/src/planner/bind_context.cpp +6 -6
  489. package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +1 -1
  490. package/src/duckdb/src/planner/binder/expression/bind_lambda.cpp +1 -1
  491. package/src/duckdb/src/planner/binder/expression/bind_star_expression.cpp +1 -1
  492. package/src/duckdb/src/planner/binder/expression/bind_subquery_expression.cpp +6 -3
  493. package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +8 -8
  494. package/src/duckdb/src/planner/binder/query_node/plan_query_node.cpp +4 -4
  495. package/src/duckdb/src/planner/binder/statement/bind_create.cpp +13 -5
  496. package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +2 -2
  497. package/src/duckdb/src/planner/binder/statement/bind_update.cpp +2 -114
  498. package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +1 -1
  499. package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +14 -7
  500. package/src/duckdb/src/planner/binder.cpp +1 -1
  501. package/src/duckdb/src/planner/bound_result_modifier.cpp +16 -11
  502. package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +5 -5
  503. package/src/duckdb/src/planner/expression/bound_between_expression.cpp +5 -5
  504. package/src/duckdb/src/planner/expression/bound_case_expression.cpp +5 -5
  505. package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +3 -3
  506. package/src/duckdb/src/planner/expression/bound_columnref_expression.cpp +2 -2
  507. package/src/duckdb/src/planner/expression/bound_comparison_expression.cpp +4 -4
  508. package/src/duckdb/src/planner/expression/bound_conjunction_expression.cpp +2 -2
  509. package/src/duckdb/src/planner/expression/bound_constant_expression.cpp +2 -2
  510. package/src/duckdb/src/planner/expression/bound_expression.cpp +1 -1
  511. package/src/duckdb/src/planner/expression/bound_function_expression.cpp +3 -4
  512. package/src/duckdb/src/planner/expression/bound_lambda_expression.cpp +4 -5
  513. package/src/duckdb/src/planner/expression/bound_lambdaref_expression.cpp +2 -2
  514. package/src/duckdb/src/planner/expression/bound_operator_expression.cpp +3 -4
  515. package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +2 -2
  516. package/src/duckdb/src/planner/expression/bound_reference_expression.cpp +2 -2
  517. package/src/duckdb/src/planner/expression/bound_subquery_expression.cpp +1 -1
  518. package/src/duckdb/src/planner/expression/bound_unnest_expression.cpp +3 -3
  519. package/src/duckdb/src/planner/expression/bound_window_expression.cpp +8 -21
  520. package/src/duckdb/src/planner/expression.cpp +15 -0
  521. package/src/duckdb/src/planner/expression_binder/base_select_binder.cpp +2 -2
  522. package/src/duckdb/src/planner/expression_iterator.cpp +2 -2
  523. package/src/duckdb/src/planner/filter/conjunction_filter.cpp +2 -2
  524. package/src/duckdb/src/planner/filter/constant_filter.cpp +1 -1
  525. package/src/duckdb/src/planner/logical_operator.cpp +3 -4
  526. package/src/duckdb/src/planner/logical_operator_visitor.cpp +1 -1
  527. package/src/duckdb/src/planner/table_filter.cpp +1 -1
  528. package/src/duckdb/src/storage/arena_allocator.cpp +2 -2
  529. package/src/duckdb/src/storage/buffer/block_handle.cpp +1 -1
  530. package/src/duckdb/src/storage/checkpoint/write_overflow_strings_to_disk.cpp +2 -2
  531. package/src/duckdb/src/storage/checkpoint_manager.cpp +3 -3
  532. package/src/duckdb/src/storage/compression/bitpacking.cpp +8 -8
  533. package/src/duckdb/src/storage/compression/dictionary_compression.cpp +36 -36
  534. package/src/duckdb/src/storage/compression/fixed_size_uncompressed.cpp +11 -11
  535. package/src/duckdb/src/storage/compression/fsst.cpp +34 -34
  536. package/src/duckdb/src/storage/compression/rle.cpp +8 -8
  537. package/src/duckdb/src/storage/compression/string_uncompressed.cpp +13 -13
  538. package/src/duckdb/src/storage/compression/validity_uncompressed.cpp +11 -11
  539. package/src/duckdb/src/storage/data_table.cpp +2 -2
  540. package/src/duckdb/src/storage/index.cpp +1 -3
  541. package/src/duckdb/src/storage/local_storage.cpp +2 -1
  542. package/src/duckdb/src/storage/magic_bytes.cpp +1 -1
  543. package/src/duckdb/src/storage/single_file_block_manager.cpp +3 -3
  544. package/src/duckdb/src/storage/standard_buffer_manager.cpp +3 -3
  545. package/src/duckdb/src/storage/statistics/list_stats.cpp +1 -1
  546. package/src/duckdb/src/storage/statistics/numeric_stats.cpp +1 -1
  547. package/src/duckdb/src/storage/statistics/string_stats.cpp +15 -14
  548. package/src/duckdb/src/storage/table/chunk_info.cpp +2 -2
  549. package/src/duckdb/src/storage/table/column_segment.cpp +3 -3
  550. package/src/duckdb/src/storage/table/list_column_data.cpp +8 -7
  551. package/src/duckdb/src/storage/table/row_group.cpp +4 -4
  552. package/src/duckdb/src/storage/table/standard_column_data.cpp +1 -1
  553. package/src/duckdb/src/storage/table/update_segment.cpp +12 -12
  554. package/src/duckdb/src/storage/wal_replay.cpp +1 -1
  555. package/src/duckdb/src/transaction/cleanup_state.cpp +3 -3
  556. package/src/duckdb/src/transaction/commit_state.cpp +8 -8
  557. package/src/duckdb/src/transaction/duck_transaction.cpp +9 -7
  558. package/src/duckdb/src/transaction/duck_transaction_manager.cpp +16 -16
  559. package/src/duckdb/src/transaction/rollback_state.cpp +3 -3
  560. package/src/duckdb/src/verification/prepared_statement_verifier.cpp +1 -1
  561. package/src/duckdb/src/verification/statement_verifier.cpp +3 -4
  562. package/src/duckdb/third_party/hyperloglog/hyperloglog.hpp +2 -2
  563. package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +13479 -13564
  564. package/src/duckdb/third_party/pcg/pcg_extras.hpp +1 -1
@@ -20,7 +20,7 @@ idx_t Bit::ComputeBitstringLen(idx_t len) {
20
20
  }
21
21
 
22
22
  static inline idx_t GetBitPadding(const string_t &bit_string) {
23
- auto data = (const_data_ptr_t)bit_string.GetData();
23
+ auto data = const_data_ptr_cast(bit_string.GetData());
24
24
  D_ASSERT(idx_t(data[0]) <= 8);
25
25
  return data[0];
26
26
  }
@@ -61,7 +61,7 @@ void Bit::SetEmptyBitString(string_t &target, idx_t len) {
61
61
 
62
62
  // **** casting functions ****
63
63
  void Bit::ToString(string_t bits, char *output) {
64
- auto data = (const_data_ptr_t)bits.GetData();
64
+ auto data = const_data_ptr_cast(bits.GetData());
65
65
  auto len = bits.GetSize();
66
66
 
67
67
  idx_t padding = GetBitPadding(bits);
@@ -84,7 +84,7 @@ string Bit::ToString(string_t str) {
84
84
  }
85
85
 
86
86
  bool Bit::TryGetBitStringSize(string_t str, idx_t &str_len, string *error_message) {
87
- auto data = (const_data_ptr_t)str.GetData();
87
+ auto data = const_data_ptr_cast(str.GetData());
88
88
  auto len = str.GetSize();
89
89
  str_len = 0;
90
90
  for (idx_t i = 0; i < len; i++) {
@@ -92,7 +92,7 @@ bool Bit::TryGetBitStringSize(string_t str, idx_t &str_len, string *error_messag
92
92
  str_len++;
93
93
  } else {
94
94
  string error = StringUtil::Format("Invalid character encountered in string -> bit conversion: '%s'",
95
- string((char *)data + i, 1));
95
+ string(const_char_ptr_cast(data) + i, 1));
96
96
  HandleCastError::AssignError(error, error_message);
97
97
  return false;
98
98
  }
@@ -107,7 +107,7 @@ bool Bit::TryGetBitStringSize(string_t str, idx_t &str_len, string *error_messag
107
107
  }
108
108
 
109
109
  void Bit::ToBit(string_t str, string_t &output_str) {
110
- auto data = (const_data_ptr_t)str.GetData();
110
+ auto data = const_data_ptr_cast(str.GetData());
111
111
  auto len = str.GetSize();
112
112
  auto output = output_str.GetDataWriteable();
113
113
 
@@ -24,7 +24,7 @@ bool IsRegularCharacter(data_t c) {
24
24
  }
25
25
 
26
26
  idx_t Blob::GetStringSize(string_t blob) {
27
- auto data = (const_data_ptr_t)blob.GetData();
27
+ auto data = const_data_ptr_cast(blob.GetData());
28
28
  auto len = blob.GetSize();
29
29
  idx_t str_len = 0;
30
30
  for (idx_t i = 0; i < len; i++) {
@@ -40,7 +40,7 @@ idx_t Blob::GetStringSize(string_t blob) {
40
40
  }
41
41
 
42
42
  void Blob::ToString(string_t blob, char *output) {
43
- auto data = (const_data_ptr_t)blob.GetData();
43
+ auto data = const_data_ptr_cast(blob.GetData());
44
44
  auto len = blob.GetSize();
45
45
  idx_t str_idx = 0;
46
46
  for (idx_t i = 0; i < len; i++) {
@@ -70,7 +70,7 @@ string Blob::ToString(string_t blob) {
70
70
  }
71
71
 
72
72
  bool Blob::TryGetBlobSize(string_t str, idx_t &str_len, string *error_message) {
73
- auto data = (const_data_ptr_t)str.GetData();
73
+ auto data = const_data_ptr_cast(str.GetData());
74
74
  auto len = str.GetSize();
75
75
  str_len = 0;
76
76
  for (idx_t i = 0; i < len; i++) {
@@ -84,7 +84,7 @@ bool Blob::TryGetBlobSize(string_t str, idx_t &str_len, string *error_message) {
84
84
  if (data[i + 1] != 'x' || Blob::HEX_MAP[data[i + 2]] < 0 || Blob::HEX_MAP[data[i + 3]] < 0) {
85
85
  string error =
86
86
  StringUtil::Format("Invalid hex escape code encountered in string -> blob conversion: %s",
87
- string((char *)data + i, 4));
87
+ string(const_char_ptr_cast(data) + i, 4));
88
88
  HandleCastError::AssignError(error, error_message);
89
89
  return false;
90
90
  }
@@ -112,7 +112,7 @@ idx_t Blob::GetBlobSize(string_t str) {
112
112
  }
113
113
 
114
114
  void Blob::ToBlob(string_t str, data_ptr_t output) {
115
- auto data = (const_data_ptr_t)str.GetData();
115
+ auto data = const_data_ptr_cast(str.GetData());
116
116
  auto len = str.GetSize();
117
117
  idx_t blob_idx = 0;
118
118
  for (idx_t i = 0; i < len; i++) {
@@ -137,7 +137,7 @@ void Blob::ToBlob(string_t str, data_ptr_t output) {
137
137
  string Blob::ToBlob(string_t str) {
138
138
  auto blob_len = GetBlobSize(str);
139
139
  auto buffer = make_unsafe_uniq_array<char>(blob_len);
140
- Blob::ToBlob(str, (data_ptr_t)buffer.get());
140
+ Blob::ToBlob(str, data_ptr_cast(buffer.get()));
141
141
  return string(buffer.get(), blob_len);
142
142
  }
143
143
 
@@ -149,7 +149,7 @@ idx_t Blob::ToBase64Size(string_t blob) {
149
149
  }
150
150
 
151
151
  void Blob::ToBase64(string_t blob, char *output) {
152
- auto input_data = (const_data_ptr_t)blob.GetData();
152
+ auto input_data = const_data_ptr_cast(blob.GetData());
153
153
  auto input_size = blob.GetSize();
154
154
  idx_t out_idx = 0;
155
155
  idx_t i;
@@ -239,7 +239,7 @@ uint32_t DecodeBase64Bytes(const string_t &str, const_data_ptr_t input_data, idx
239
239
 
240
240
  void Blob::FromBase64(string_t str, data_ptr_t output, idx_t output_size) {
241
241
  D_ASSERT(output_size == FromBase64Size(str));
242
- auto input_data = (const_data_ptr_t)str.GetData();
242
+ auto input_data = const_data_ptr_cast(str.GetData());
243
243
  auto input_size = str.GetSize();
244
244
  if (input_size == 0) {
245
245
  return;
@@ -71,7 +71,7 @@ BufferHandle ColumnDataAllocator::AllocateBlock(idx_t size) {
71
71
  void ColumnDataAllocator::AllocateEmptyBlock(idx_t size) {
72
72
  auto allocation_amount = MaxValue<idx_t>(NextPowerOfTwo(size), 4096);
73
73
  if (!blocks.empty()) {
74
- auto last_capacity = blocks.back().capacity;
74
+ idx_t last_capacity = blocks.back().capacity;
75
75
  auto next_capacity = MinValue<idx_t>(last_capacity * 2, last_capacity + Storage::BLOCK_SIZE);
76
76
  allocation_amount = MaxValue<idx_t>(next_capacity, allocation_amount);
77
77
  }
@@ -162,10 +162,10 @@ data_ptr_t ColumnDataAllocator::GetDataPointer(ChunkManagementState &state, uint
162
162
  // in-memory allocator: construct pointer from block_id and offset
163
163
  if (sizeof(uintptr_t) == sizeof(uint32_t)) {
164
164
  uintptr_t pointer_value = uintptr_t(block_id);
165
- return (data_ptr_t)pointer_value;
165
+ return (data_ptr_t)pointer_value; // NOLINT - convert from pointer value back to pointer
166
166
  } else if (sizeof(uintptr_t) == sizeof(uint64_t)) {
167
167
  uintptr_t pointer_value = (uintptr_t(offset) << 32) | uintptr_t(block_id);
168
- return (data_ptr_t)pointer_value;
168
+ return (data_ptr_t)pointer_value; // NOLINT - convert from pointer value back to pointer
169
169
  } else {
170
170
  throw InternalException("ColumnDataCollection: Architecture not supported!?");
171
171
  }
@@ -196,7 +196,7 @@ void ColumnDataAllocator::UnswizzlePointers(ChunkManagementState &state, Vector
196
196
  // at least one string must be non-inlined, otherwise this function should not be called
197
197
  D_ASSERT(i < end);
198
198
 
199
- auto base_ptr = (char *)GetDataPointer(state, block_id, offset);
199
+ auto base_ptr = char_ptr_cast(GetDataPointer(state, block_id, offset));
200
200
  if (strings[i].GetData() == base_ptr) {
201
201
  // pointers are still valid
202
202
  return;
@@ -454,7 +454,7 @@ void ColumnDataCopy<string_t>(ColumnDataMetaData &meta_data, const UnifiedVector
454
454
  // 'append_count' is less if we cannot fit that amount of non-inlined strings on one buffer-managed block
455
455
  idx_t append_count;
456
456
  idx_t heap_size = 0;
457
- const auto source_entries = (string_t *)source_data.data;
457
+ const auto source_entries = UnifiedVectorFormat::GetData<string_t>(source_data);
458
458
  for (append_count = 0; append_count < vector_remaining; append_count++) {
459
459
  auto source_idx = source_data.sel->get_index(offset + append_count);
460
460
  if (!source_data.validity.RowIsValid(source_idx)) {
@@ -505,7 +505,7 @@ void ColumnDataCopy<string_t>(ColumnDataMetaData &meta_data, const UnifiedVector
505
505
  target_validity.SetAllValid(STANDARD_VECTOR_SIZE);
506
506
  }
507
507
 
508
- auto target_entries = (string_t *)base_ptr;
508
+ auto target_entries = reinterpret_cast<string_t *>(base_ptr);
509
509
  for (idx_t i = 0; i < append_count; i++) {
510
510
  auto source_idx = source_data.sel->get_index(offset + i);
511
511
  auto target_idx = current_segment.count + i;
@@ -520,7 +520,7 @@ void ColumnDataCopy<string_t>(ColumnDataMetaData &meta_data, const UnifiedVector
520
520
  } else {
521
521
  D_ASSERT(heap_ptr != nullptr);
522
522
  memcpy(heap_ptr, source_entry.GetData(), source_entry.GetSize());
523
- target_entry = string_t((const char *)heap_ptr, source_entry.GetSize());
523
+ target_entry = string_t(const_char_ptr_cast(heap_ptr), source_entry.GetSize());
524
524
  heap_ptr += source_entry.GetSize();
525
525
  }
526
526
  }
@@ -14,7 +14,7 @@ idx_t ColumnDataCollectionSegment::GetDataSize(idx_t type_size) {
14
14
  }
15
15
 
16
16
  validity_t *ColumnDataCollectionSegment::GetValidityPointer(data_ptr_t base_ptr, idx_t type_size) {
17
- return (validity_t *)(base_ptr + GetDataSize(type_size));
17
+ return reinterpret_cast<validity_t *>(base_ptr + GetDataSize(type_size));
18
18
  }
19
19
 
20
20
  VectorDataIndex ColumnDataCollectionSegment::AllocateVectorInternal(const LogicalType &type, ChunkMetaData &chunk_meta,
@@ -19,9 +19,9 @@ PartitionedColumnData::PartitionedColumnData(const PartitionedColumnData &other)
19
19
  unique_ptr<PartitionedColumnData> PartitionedColumnData::CreateShared() {
20
20
  switch (type) {
21
21
  case PartitionedColumnDataType::RADIX:
22
- return make_uniq<RadixPartitionedColumnData>((RadixPartitionedColumnData &)*this);
22
+ return make_uniq<RadixPartitionedColumnData>(Cast<RadixPartitionedColumnData>());
23
23
  case PartitionedColumnDataType::HIVE:
24
- return make_uniq<HivePartitionedColumnData>((HivePartitionedColumnData &)*this);
24
+ return make_uniq<HivePartitionedColumnData>(Cast<HivePartitionedColumnData>());
25
25
  default:
26
26
  throw NotImplementedException("CreateShared for this type of PartitionedColumnData");
27
27
  }
@@ -40,7 +40,7 @@ template <>
40
40
  hash_t Hash(float val) {
41
41
  static_assert(sizeof(float) == sizeof(uint32_t), "");
42
42
  FloatingPointEqualityTransform<float>::OP(val);
43
- uint32_t uval = Load<uint32_t>((const_data_ptr_t)&val);
43
+ uint32_t uval = Load<uint32_t>(const_data_ptr_cast(&val));
44
44
  return murmurhash64(uval);
45
45
  }
46
46
 
@@ -48,7 +48,7 @@ template <>
48
48
  hash_t Hash(double val) {
49
49
  static_assert(sizeof(double) == sizeof(uint64_t), "");
50
50
  FloatingPointEqualityTransform<double>::OP(val);
51
- uint64_t uval = Load<uint64_t>((const_data_ptr_t)&val);
51
+ uint64_t uval = Load<uint64_t>(const_data_ptr_cast(&val));
52
52
  return murmurhash64(uval);
53
53
  }
54
54
 
@@ -9,18 +9,18 @@ namespace duckdb {
9
9
  HyperLogLog::HyperLogLog() : hll(nullptr) {
10
10
  hll = duckdb_hll::hll_create();
11
11
  // Insert into a dense hll can be vectorized, sparse cannot, so we immediately convert
12
- duckdb_hll::hllSparseToDense((duckdb_hll::robj *)hll);
12
+ duckdb_hll::hllSparseToDense(hll);
13
13
  }
14
14
 
15
- HyperLogLog::HyperLogLog(void *hll) : hll(hll) {
15
+ HyperLogLog::HyperLogLog(duckdb_hll::robj *hll) : hll(hll) {
16
16
  }
17
17
 
18
18
  HyperLogLog::~HyperLogLog() {
19
- duckdb_hll::hll_destroy((duckdb_hll::robj *)hll);
19
+ duckdb_hll::hll_destroy(hll);
20
20
  }
21
21
 
22
22
  void HyperLogLog::Add(data_ptr_t element, idx_t size) {
23
- if (duckdb_hll::hll_add((duckdb_hll::robj *)hll, element, size) == HLL_C_ERR) {
23
+ if (duckdb_hll::hll_add(hll, element, size) == HLL_C_ERR) {
24
24
  throw InternalException("Could not add to HLL?");
25
25
  }
26
26
  }
@@ -29,7 +29,7 @@ idx_t HyperLogLog::Count() const {
29
29
  // exception from size_t ban
30
30
  size_t result;
31
31
 
32
- if (duckdb_hll::hll_count((duckdb_hll::robj *)hll, &result) != HLL_C_OK) {
32
+ if (duckdb_hll::hll_count(hll, &result) != HLL_C_OK) {
33
33
  throw InternalException("Could not count HLL?");
34
34
  }
35
35
  return result;
@@ -37,24 +37,24 @@ idx_t HyperLogLog::Count() const {
37
37
 
38
38
  unique_ptr<HyperLogLog> HyperLogLog::Merge(HyperLogLog &other) {
39
39
  duckdb_hll::robj *hlls[2];
40
- hlls[0] = (duckdb_hll::robj *)hll;
41
- hlls[1] = (duckdb_hll::robj *)other.hll;
40
+ hlls[0] = hll;
41
+ hlls[1] = other.hll;
42
42
  auto new_hll = duckdb_hll::hll_merge(hlls, 2);
43
43
  if (!new_hll) {
44
44
  throw InternalException("Could not merge HLLs");
45
45
  }
46
- return unique_ptr<HyperLogLog>(new HyperLogLog((void *)new_hll));
46
+ return unique_ptr<HyperLogLog>(new HyperLogLog(new_hll));
47
47
  }
48
48
 
49
49
  HyperLogLog *HyperLogLog::MergePointer(HyperLogLog &other) {
50
50
  duckdb_hll::robj *hlls[2];
51
- hlls[0] = (duckdb_hll::robj *)hll;
52
- hlls[1] = (duckdb_hll::robj *)other.hll;
51
+ hlls[0] = hll;
52
+ hlls[1] = other.hll;
53
53
  auto new_hll = duckdb_hll::hll_merge(hlls, 2);
54
54
  if (!new_hll) {
55
55
  throw Exception("Could not merge HLLs");
56
56
  }
57
- return new HyperLogLog((void *)new_hll);
57
+ return new HyperLogLog(new_hll);
58
58
  }
59
59
 
60
60
  unique_ptr<HyperLogLog> HyperLogLog::Merge(HyperLogLog logs[], idx_t count) {
@@ -63,13 +63,13 @@ unique_ptr<HyperLogLog> HyperLogLog::Merge(HyperLogLog logs[], idx_t count) {
63
63
  };
64
64
  auto hlls = hlls_uptr.get();
65
65
  for (idx_t i = 0; i < count; i++) {
66
- hlls[i] = (duckdb_hll::robj *)logs[i].hll;
66
+ hlls[i] = logs[i].hll;
67
67
  }
68
68
  auto new_hll = duckdb_hll::hll_merge(hlls, count);
69
69
  if (!new_hll) {
70
70
  throw InternalException("Could not merge HLLs");
71
71
  }
72
- return unique_ptr<HyperLogLog>(new HyperLogLog((void *)new_hll));
72
+ return unique_ptr<HyperLogLog>(new HyperLogLog(new_hll));
73
73
  }
74
74
 
75
75
  idx_t HyperLogLog::GetSize() {
@@ -77,7 +77,7 @@ idx_t HyperLogLog::GetSize() {
77
77
  }
78
78
 
79
79
  data_ptr_t HyperLogLog::GetPtr() const {
80
- return (data_ptr_t)((duckdb_hll::robj *)hll)->ptr;
80
+ return data_ptr_cast((hll)->ptr);
81
81
  }
82
82
 
83
83
  unique_ptr<HyperLogLog> HyperLogLog::Copy() {
@@ -123,21 +123,22 @@ inline uint64_t TemplatedHash(const T &elem) {
123
123
 
124
124
  template <>
125
125
  inline uint64_t TemplatedHash(const hugeint_t &elem) {
126
- return TemplatedHash<uint64_t>(Load<uint64_t>((data_ptr_t)&elem.upper)) ^ TemplatedHash<uint64_t>(elem.lower);
126
+ return TemplatedHash<uint64_t>(Load<uint64_t>(const_data_ptr_cast(&elem.upper))) ^
127
+ TemplatedHash<uint64_t>(elem.lower);
127
128
  }
128
129
 
129
130
  template <idx_t rest>
130
- inline void CreateIntegerRecursive(const data_ptr_t &data, uint64_t &x) {
131
+ inline void CreateIntegerRecursive(const_data_ptr_t &data, uint64_t &x) {
131
132
  x ^= (uint64_t)data[rest - 1] << ((rest - 1) * 8);
132
133
  return CreateIntegerRecursive<rest - 1>(data, x);
133
134
  }
134
135
 
135
136
  template <>
136
- inline void CreateIntegerRecursive<1>(const data_ptr_t &data, uint64_t &x) {
137
+ inline void CreateIntegerRecursive<1>(const_data_ptr_t &data, uint64_t &x) {
137
138
  x ^= (uint64_t)data[0];
138
139
  }
139
140
 
140
- inline uint64_t HashOtherSize(const data_ptr_t &data, const idx_t &len) {
141
+ inline uint64_t HashOtherSize(const_data_ptr_t &data, const idx_t &len) {
141
142
  uint64_t x = 0;
142
143
  switch (len & 7) {
143
144
  case 7:
@@ -169,7 +170,7 @@ inline uint64_t HashOtherSize(const data_ptr_t &data, const idx_t &len) {
169
170
 
170
171
  template <>
171
172
  inline uint64_t TemplatedHash(const string_t &elem) {
172
- data_ptr_t data = (data_ptr_t)elem.GetData();
173
+ auto data = const_data_ptr_cast(elem.GetData());
173
174
  const auto &len = elem.GetSize();
174
175
  uint64_t h = 0;
175
176
  for (idx_t i = 0; i + sizeof(uint64_t) <= len; i += sizeof(uint64_t)) {
@@ -194,7 +195,7 @@ inline uint64_t TemplatedHash(const string_t &elem) {
194
195
 
195
196
  template <class T>
196
197
  void TemplatedComputeHashes(UnifiedVectorFormat &vdata, const idx_t &count, uint64_t hashes[]) {
197
- T *data = (T *)vdata.data;
198
+ auto data = UnifiedVectorFormat::GetData<T>(vdata);
198
199
  for (idx_t i = 0; i < count; i++) {
199
200
  auto idx = vdata.sel->get_index(i);
200
201
  if (vdata.validity.RowIsValid(idx)) {
@@ -262,7 +263,7 @@ void HyperLogLog::ProcessEntries(UnifiedVectorFormat &vdata, const LogicalType &
262
263
 
263
264
  void HyperLogLog::AddToLogs(UnifiedVectorFormat &vdata, idx_t count, uint64_t indices[], uint8_t counts[],
264
265
  HyperLogLog **logs[], const SelectionVector *log_sel) {
265
- AddToLogsInternal(vdata, count, indices, counts, (void ****)logs, log_sel);
266
+ AddToLogsInternal(vdata, count, indices, counts, reinterpret_cast<void ****>(logs), log_sel);
266
267
  }
267
268
 
268
269
  void HyperLogLog::AddToLog(UnifiedVectorFormat &vdata, idx_t count, uint64_t indices[], uint8_t counts[]) {