duckdb 0.8.1-dev0.0 → 0.8.1-dev111.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 (556) 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 +0 -4
  28. package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +3 -0
  29. package/src/duckdb/src/catalog/catalog_entry.cpp +4 -4
  30. package/src/duckdb/src/catalog/catalog_set.cpp +1 -1
  31. package/src/duckdb/src/catalog/dependency_manager.cpp +2 -2
  32. package/src/duckdb/src/catalog/duck_catalog.cpp +1 -0
  33. package/src/duckdb/src/common/adbc/adbc.cpp +183 -94
  34. package/src/duckdb/src/common/adbc/driver_manager.cpp +10 -2
  35. package/src/duckdb/src/common/arrow/arrow_appender.cpp +12 -12
  36. package/src/duckdb/src/common/arrow/arrow_wrapper.cpp +7 -7
  37. package/src/duckdb/src/common/checksum.cpp +1 -1
  38. package/src/duckdb/src/common/compressed_file_system.cpp +6 -6
  39. package/src/duckdb/src/common/crypto/md5.cpp +9 -9
  40. package/src/duckdb/src/common/field_writer.cpp +1 -1
  41. package/src/duckdb/src/common/file_system.cpp +15 -2
  42. package/src/duckdb/src/common/fsst.cpp +11 -6
  43. package/src/duckdb/src/common/gzip_file_system.cpp +8 -8
  44. package/src/duckdb/src/common/hive_partitioning.cpp +1 -1
  45. package/src/duckdb/src/common/local_file_system.cpp +11 -11
  46. package/src/duckdb/src/common/operator/cast_operators.cpp +1 -1
  47. package/src/duckdb/src/common/pipe_file_system.cpp +2 -2
  48. package/src/duckdb/src/common/radix_partitioning.cpp +2 -2
  49. package/src/duckdb/src/common/row_operations/row_heap_gather.cpp +1 -1
  50. package/src/duckdb/src/common/row_operations/row_heap_scatter.cpp +5 -5
  51. package/src/duckdb/src/common/row_operations/row_match.cpp +1 -1
  52. package/src/duckdb/src/common/row_operations/row_radix_scatter.cpp +2 -2
  53. package/src/duckdb/src/common/row_operations/row_scatter.cpp +4 -4
  54. package/src/duckdb/src/common/serializer/binary_deserializer.cpp +1 -1
  55. package/src/duckdb/src/common/serializer/binary_serializer.cpp +3 -3
  56. package/src/duckdb/src/common/serializer.cpp +1 -1
  57. package/src/duckdb/src/common/sort/comparators.cpp +1 -1
  58. package/src/duckdb/src/common/sort/merge_sorter.cpp +7 -2
  59. package/src/duckdb/src/common/sort/partition_state.cpp +2 -2
  60. package/src/duckdb/src/common/types/bit.cpp +5 -5
  61. package/src/duckdb/src/common/types/blob.cpp +8 -8
  62. package/src/duckdb/src/common/types/column/column_data_allocator.cpp +4 -4
  63. package/src/duckdb/src/common/types/column/column_data_collection.cpp +3 -3
  64. package/src/duckdb/src/common/types/column/column_data_collection_segment.cpp +1 -1
  65. package/src/duckdb/src/common/types/column/partitioned_column_data.cpp +2 -2
  66. package/src/duckdb/src/common/types/hash.cpp +2 -2
  67. package/src/duckdb/src/common/types/hyperloglog.cpp +22 -21
  68. package/src/duckdb/src/common/types/list_segment.cpp +77 -49
  69. package/src/duckdb/src/common/types/row/partitioned_tuple_data.cpp +1 -1
  70. package/src/duckdb/src/common/types/row/tuple_data_allocator.cpp +5 -3
  71. package/src/duckdb/src/common/types/row/tuple_data_scatter_gather.cpp +17 -17
  72. package/src/duckdb/src/common/types/string_heap.cpp +1 -1
  73. package/src/duckdb/src/common/types/value.cpp +2 -2
  74. package/src/duckdb/src/common/types/vector.cpp +101 -101
  75. package/src/duckdb/src/common/types/vector_cache.cpp +6 -6
  76. package/src/duckdb/src/common/types/vector_constants.cpp +2 -1
  77. package/src/duckdb/src/common/types.cpp +44 -33
  78. package/src/duckdb/src/common/vector_operations/boolean_operators.cpp +2 -2
  79. package/src/duckdb/src/common/vector_operations/is_distinct_from.cpp +12 -12
  80. package/src/duckdb/src/common/vector_operations/vector_hash.cpp +13 -11
  81. package/src/duckdb/src/common/vector_operations/vector_storage.cpp +1 -1
  82. package/src/duckdb/src/core_functions/aggregate/algebraic/avg.cpp +30 -33
  83. package/src/duckdb/src/core_functions/aggregate/algebraic/covar.cpp +0 -4
  84. package/src/duckdb/src/core_functions/aggregate/distributive/approx_count.cpp +32 -36
  85. package/src/duckdb/src/core_functions/aggregate/distributive/arg_min_max.cpp +53 -66
  86. package/src/duckdb/src/core_functions/aggregate/distributive/bitagg.cpp +48 -48
  87. package/src/duckdb/src/core_functions/aggregate/distributive/bitstring_agg.cpp +43 -43
  88. package/src/duckdb/src/core_functions/aggregate/distributive/bool.cpp +32 -32
  89. package/src/duckdb/src/core_functions/aggregate/distributive/entropy.cpp +34 -34
  90. package/src/duckdb/src/core_functions/aggregate/distributive/kurtosis.cpp +30 -31
  91. package/src/duckdb/src/core_functions/aggregate/distributive/minmax.cpp +91 -103
  92. package/src/duckdb/src/core_functions/aggregate/distributive/product.cpp +17 -17
  93. package/src/duckdb/src/core_functions/aggregate/distributive/skew.cpp +25 -27
  94. package/src/duckdb/src/core_functions/aggregate/distributive/string_agg.cpp +36 -37
  95. package/src/duckdb/src/core_functions/aggregate/distributive/sum.cpp +22 -22
  96. package/src/duckdb/src/core_functions/aggregate/holistic/approximate_quantile.cpp +48 -84
  97. package/src/duckdb/src/core_functions/aggregate/holistic/mode.cpp +49 -51
  98. package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +83 -119
  99. package/src/duckdb/src/core_functions/aggregate/holistic/reservoir_quantile.cpp +62 -99
  100. package/src/duckdb/src/core_functions/aggregate/nested/histogram.cpp +24 -26
  101. package/src/duckdb/src/core_functions/aggregate/nested/list.cpp +22 -23
  102. package/src/duckdb/src/core_functions/aggregate/regression/regr_avg.cpp +16 -18
  103. package/src/duckdb/src/core_functions/aggregate/regression/regr_intercept.cpp +22 -25
  104. package/src/duckdb/src/core_functions/aggregate/regression/regr_r2.cpp +19 -24
  105. package/src/duckdb/src/core_functions/aggregate/regression/regr_sxx_syy.cpp +18 -23
  106. package/src/duckdb/src/core_functions/aggregate/regression/regr_sxy.cpp +14 -18
  107. package/src/duckdb/src/core_functions/scalar/blob/base64.cpp +1 -1
  108. package/src/duckdb/src/core_functions/scalar/date/date_part.cpp +45 -45
  109. package/src/duckdb/src/core_functions/scalar/date/strftime.cpp +2 -2
  110. package/src/duckdb/src/core_functions/scalar/generic/current_setting.cpp +1 -1
  111. package/src/duckdb/src/core_functions/scalar/generic/least.cpp +2 -2
  112. package/src/duckdb/src/core_functions/scalar/generic/stats.cpp +1 -1
  113. package/src/duckdb/src/core_functions/scalar/list/array_slice.cpp +3 -3
  114. package/src/duckdb/src/core_functions/scalar/list/flatten.cpp +2 -4
  115. package/src/duckdb/src/core_functions/scalar/list/list_aggregates.cpp +3 -3
  116. package/src/duckdb/src/core_functions/scalar/list/list_lambdas.cpp +6 -7
  117. package/src/duckdb/src/core_functions/scalar/list/list_sort.cpp +1 -1
  118. package/src/duckdb/src/core_functions/scalar/map/cardinality.cpp +1 -1
  119. package/src/duckdb/src/core_functions/scalar/map/map.cpp +2 -2
  120. package/src/duckdb/src/core_functions/scalar/map/map_concat.cpp +1 -1
  121. package/src/duckdb/src/core_functions/scalar/map/map_extract.cpp +5 -9
  122. package/src/duckdb/src/core_functions/scalar/math/numeric.cpp +3 -3
  123. package/src/duckdb/src/core_functions/scalar/string/starts_with.cpp +3 -2
  124. package/src/duckdb/src/core_functions/scalar/string/string_split.cpp +4 -4
  125. package/src/duckdb/src/core_functions/scalar/string/trim.cpp +1 -1
  126. package/src/duckdb/src/core_functions/scalar/union/union_extract.cpp +1 -1
  127. package/src/duckdb/src/execution/adaptive_filter.cpp +1 -1
  128. package/src/duckdb/src/execution/expression_executor/execute_case.cpp +10 -10
  129. package/src/duckdb/src/execution/expression_executor/execute_conjunction.cpp +7 -7
  130. package/src/duckdb/src/execution/expression_executor.cpp +33 -28
  131. package/src/duckdb/src/execution/index/art/art.cpp +30 -32
  132. package/src/duckdb/src/execution/index/art/fixed_size_allocator.cpp +3 -4
  133. package/src/duckdb/src/execution/join_hashtable.cpp +4 -4
  134. package/src/duckdb/src/execution/nested_loop_join/nested_loop_join_inner.cpp +4 -4
  135. package/src/duckdb/src/execution/nested_loop_join/nested_loop_join_mark.cpp +2 -2
  136. package/src/duckdb/src/execution/operator/aggregate/distinct_aggregate_data.cpp +1 -1
  137. package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +1 -1
  138. package/src/duckdb/src/execution/operator/aggregate/physical_streaming_window.cpp +2 -2
  139. package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +4 -4
  140. package/src/duckdb/src/execution/operator/filter/physical_filter.cpp +1 -1
  141. package/src/duckdb/src/execution/operator/join/outer_join_marker.cpp +1 -1
  142. package/src/duckdb/src/execution/operator/join/perfect_hash_join_executor.cpp +1 -1
  143. package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +2 -2
  144. package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +4 -4
  145. package/src/duckdb/src/execution/operator/join/physical_index_join.cpp +3 -3
  146. package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +3 -3
  147. package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +3 -3
  148. package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +1 -1
  149. package/src/duckdb/src/execution/operator/persistent/buffered_csv_reader.cpp +2 -2
  150. package/src/duckdb/src/execution/operator/persistent/csv_file_handle.cpp +2 -2
  151. package/src/duckdb/src/execution/operator/persistent/csv_reader_options.cpp +2 -0
  152. package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +2 -3
  153. package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +1 -1
  154. package/src/duckdb/src/execution/operator/projection/physical_pivot.cpp +2 -2
  155. package/src/duckdb/src/execution/operator/projection/physical_projection.cpp +1 -1
  156. package/src/duckdb/src/execution/operator/projection/physical_unnest.cpp +3 -3
  157. package/src/duckdb/src/execution/operator/scan/physical_column_data_scan.cpp +2 -1
  158. package/src/duckdb/src/execution/operator/scan/physical_expression_scan.cpp +1 -1
  159. package/src/duckdb/src/execution/operator/scan/physical_positional_scan.cpp +2 -2
  160. package/src/duckdb/src/execution/operator/schema/physical_create_type.cpp +1 -1
  161. package/src/duckdb/src/execution/perfect_aggregate_hashtable.cpp +1 -1
  162. package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +1 -1
  163. package/src/duckdb/src/execution/physical_plan/plan_create_table.cpp +1 -1
  164. package/src/duckdb/src/execution/physical_plan_generator.cpp +2 -2
  165. package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +1 -1
  166. package/src/duckdb/src/execution/reservoir_sample.cpp +2 -2
  167. package/src/duckdb/src/execution/window_segment_tree.cpp +8 -6
  168. package/src/duckdb/src/function/aggregate/distributive/count.cpp +158 -20
  169. package/src/duckdb/src/function/aggregate/distributive/first.cpp +66 -74
  170. package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +13 -13
  171. package/src/duckdb/src/function/cast/cast_function_set.cpp +1 -1
  172. package/src/duckdb/src/function/cast/decimal_cast.cpp +1 -1
  173. package/src/duckdb/src/function/cast/enum_casts.cpp +2 -2
  174. package/src/duckdb/src/function/cast/string_cast.cpp +11 -11
  175. package/src/duckdb/src/function/cast/union_casts.cpp +2 -2
  176. package/src/duckdb/src/function/cast/vector_cast_helpers.cpp +3 -2
  177. package/src/duckdb/src/function/scalar/generic/constant_or_null.cpp +1 -1
  178. package/src/duckdb/src/function/scalar/list/list_concat.cpp +2 -2
  179. package/src/duckdb/src/function/scalar/list/list_extract.cpp +3 -3
  180. package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +2 -3
  181. package/src/duckdb/src/function/scalar/string/concat.cpp +8 -7
  182. package/src/duckdb/src/function/scalar/string/contains.cpp +4 -4
  183. package/src/duckdb/src/function/scalar/string/like.cpp +5 -5
  184. package/src/duckdb/src/function/scalar/string/regexp/regexp_extract_all.cpp +4 -4
  185. package/src/duckdb/src/function/scalar/string/regexp.cpp +3 -3
  186. package/src/duckdb/src/function/scalar/string/strip_accents.cpp +1 -1
  187. package/src/duckdb/src/function/scalar/struct/struct_extract.cpp +1 -1
  188. package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +25 -23
  189. package/src/duckdb/src/function/scalar_function.cpp +3 -3
  190. package/src/duckdb/src/function/table/arrow.cpp +4 -4
  191. package/src/duckdb/src/function/table/arrow_conversion.cpp +67 -61
  192. package/src/duckdb/src/function/table/checkpoint.cpp +1 -1
  193. package/src/duckdb/src/function/table/copy_csv.cpp +11 -7
  194. package/src/duckdb/src/function/table/glob.cpp +1 -1
  195. package/src/duckdb/src/function/table/pragma_last_profiling_output.cpp +1 -1
  196. package/src/duckdb/src/function/table/range.cpp +4 -4
  197. package/src/duckdb/src/function/table/read_csv.cpp +4 -7
  198. package/src/duckdb/src/function/table/repeat.cpp +2 -2
  199. package/src/duckdb/src/function/table/repeat_row.cpp +2 -2
  200. package/src/duckdb/src/function/table/system/duckdb_functions.cpp +1 -1
  201. package/src/duckdb/src/function/table/system/test_vector_types.cpp +1 -1
  202. package/src/duckdb/src/function/table/table_scan.cpp +2 -2
  203. package/src/duckdb/src/function/table/unnest.cpp +1 -1
  204. package/src/duckdb/src/function/table/version/pragma_version.cpp +3 -3
  205. package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +2 -2
  206. package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +2 -2
  207. package/src/duckdb/src/include/duckdb/common/adbc/adbc.hpp +5 -0
  208. package/src/duckdb/src/include/duckdb/common/allocator.hpp +15 -4
  209. package/src/duckdb/src/include/duckdb/common/arrow/arrow_buffer.hpp +7 -2
  210. package/src/duckdb/src/include/duckdb/common/crypto/md5.hpp +2 -2
  211. package/src/duckdb/src/include/duckdb/common/exception.hpp +2 -2
  212. package/src/duckdb/src/include/duckdb/common/field_writer.hpp +3 -3
  213. package/src/duckdb/src/include/duckdb/common/file_system.hpp +11 -0
  214. package/src/duckdb/src/include/duckdb/common/fsst.hpp +2 -3
  215. package/src/duckdb/src/include/duckdb/common/radix.hpp +3 -3
  216. package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +1 -1
  217. package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +4 -1
  218. package/src/duckdb/src/include/duckdb/common/serializer.hpp +4 -4
  219. package/src/duckdb/src/include/duckdb/common/typedefs.hpp +30 -0
  220. package/src/duckdb/src/include/duckdb/common/types/column/partitioned_column_data.hpp +12 -0
  221. package/src/duckdb/src/include/duckdb/common/types/hyperloglog.hpp +6 -2
  222. package/src/duckdb/src/include/duckdb/common/types/null_value.hpp +1 -1
  223. package/src/duckdb/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp +12 -0
  224. package/src/duckdb/src/include/duckdb/common/types/string_type.hpp +10 -10
  225. package/src/duckdb/src/include/duckdb/common/types/value.hpp +1 -1
  226. package/src/duckdb/src/include/duckdb/common/types/vector.hpp +9 -0
  227. package/src/duckdb/src/include/duckdb/common/types/vector_buffer.hpp +18 -6
  228. package/src/duckdb/src/include/duckdb/common/vector_operations/aggregate_executor.hpp +112 -76
  229. package/src/duckdb/src/include/duckdb/common/vector_operations/binary_executor.hpp +16 -15
  230. package/src/duckdb/src/include/duckdb/common/vector_operations/generic_executor.hpp +11 -11
  231. package/src/duckdb/src/include/duckdb/common/vector_operations/ternary_executor.hpp +23 -19
  232. package/src/duckdb/src/include/duckdb/common/vector_operations/unary_executor.hpp +3 -3
  233. package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/corr.hpp +20 -24
  234. package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/covar.hpp +36 -39
  235. package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/stddev.hpp +57 -53
  236. package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_count.hpp +8 -9
  237. package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_slope.hpp +16 -18
  238. package/src/duckdb/src/include/duckdb/core_functions/aggregate/sum_helpers.hpp +7 -8
  239. package/src/duckdb/src/include/duckdb/execution/expression_executor_state.hpp +14 -2
  240. package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +3 -3
  241. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_result_collector.hpp +3 -0
  242. package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_buffer.hpp +1 -1
  243. package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +5 -2
  244. package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +12 -12
  245. package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +8 -29
  246. package/src/duckdb/src/include/duckdb/function/aggregate_state.hpp +95 -0
  247. package/src/duckdb/src/include/duckdb/function/cast/default_casts.hpp +13 -2
  248. package/src/duckdb/src/include/duckdb/function/cast/vector_cast_helpers.hpp +4 -4
  249. package/src/duckdb/src/include/duckdb/function/compression_function.hpp +44 -0
  250. package/src/duckdb/src/include/duckdb/function/copy_function.hpp +6 -6
  251. package/src/duckdb/src/include/duckdb/function/function.hpp +3 -3
  252. package/src/duckdb/src/include/duckdb/function/macro_function.hpp +2 -2
  253. package/src/duckdb/src/include/duckdb/function/scalar/list/contains_or_position.hpp +3 -3
  254. package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +2 -2
  255. package/src/duckdb/src/include/duckdb/function/table_function.hpp +6 -6
  256. package/src/duckdb/src/include/duckdb/main/capi/cast/utils.hpp +1 -1
  257. package/src/duckdb/src/include/duckdb/main/materialized_query_result.hpp +3 -0
  258. package/src/duckdb/src/include/duckdb/main/pending_query_result.hpp +3 -0
  259. package/src/duckdb/src/include/duckdb/main/query_result.hpp +17 -0
  260. package/src/duckdb/src/include/duckdb/main/relation.hpp +12 -0
  261. package/src/duckdb/src/include/duckdb/main/stream_query_result.hpp +3 -0
  262. package/src/duckdb/src/include/duckdb/optimizer/join_order/cardinality_estimator.hpp +2 -2
  263. package/src/duckdb/src/include/duckdb/parser/base_expression.hpp +6 -12
  264. package/src/duckdb/src/include/duckdb/parser/constraint.hpp +2 -2
  265. package/src/duckdb/src/include/duckdb/parser/expression/between_expression.hpp +1 -1
  266. package/src/duckdb/src/include/duckdb/parser/expression/bound_expression.hpp +1 -1
  267. package/src/duckdb/src/include/duckdb/parser/expression/case_expression.hpp +1 -1
  268. package/src/duckdb/src/include/duckdb/parser/expression/cast_expression.hpp +1 -1
  269. package/src/duckdb/src/include/duckdb/parser/expression/collate_expression.hpp +1 -1
  270. package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +1 -1
  271. package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +1 -1
  272. package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +1 -1
  273. package/src/duckdb/src/include/duckdb/parser/expression/constant_expression.hpp +1 -1
  274. package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +1 -1
  275. package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +1 -1
  276. package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +1 -1
  277. package/src/duckdb/src/include/duckdb/parser/expression/parameter_expression.hpp +1 -1
  278. package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +1 -1
  279. package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +1 -1
  280. package/src/duckdb/src/include/duckdb/parser/expression/subquery_expression.hpp +1 -1
  281. package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +1 -1
  282. package/src/duckdb/src/include/duckdb/parser/expression_map.hpp +1 -1
  283. package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +2 -2
  284. package/src/duckdb/src/include/duckdb/parser/parsed_expression.hpp +5 -1
  285. package/src/duckdb/src/include/duckdb/parser/query_node.hpp +2 -2
  286. package/src/duckdb/src/include/duckdb/parser/result_modifier.hpp +36 -5
  287. package/src/duckdb/src/include/duckdb/parser/sql_statement.hpp +7 -4
  288. package/src/duckdb/src/include/duckdb/parser/statement/select_statement.hpp +1 -1
  289. package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +1 -1
  290. package/src/duckdb/src/include/duckdb/parser/tableref/emptytableref.hpp +1 -1
  291. package/src/duckdb/src/include/duckdb/parser/tableref/expressionlistref.hpp +1 -1
  292. package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +1 -1
  293. package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +1 -1
  294. package/src/duckdb/src/include/duckdb/parser/tableref/subqueryref.hpp +1 -1
  295. package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +1 -1
  296. package/src/duckdb/src/include/duckdb/parser/tableref.hpp +4 -3
  297. package/src/duckdb/src/include/duckdb/parser/transformer.hpp +107 -91
  298. package/src/duckdb/src/include/duckdb/planner/bind_context.hpp +1 -1
  299. package/src/duckdb/src/include/duckdb/planner/bound_constraint.hpp +2 -2
  300. package/src/duckdb/src/include/duckdb/planner/bound_query_node.hpp +2 -2
  301. package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +34 -1
  302. package/src/duckdb/src/include/duckdb/planner/bound_tableref.hpp +2 -2
  303. package/src/duckdb/src/include/duckdb/planner/expression/bound_aggregate_expression.hpp +1 -1
  304. package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +1 -1
  305. package/src/duckdb/src/include/duckdb/planner/expression/bound_case_expression.hpp +1 -1
  306. package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +1 -1
  307. package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +1 -1
  308. package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +1 -1
  309. package/src/duckdb/src/include/duckdb/planner/expression/bound_conjunction_expression.hpp +1 -1
  310. package/src/duckdb/src/include/duckdb/planner/expression/bound_constant_expression.hpp +1 -1
  311. package/src/duckdb/src/include/duckdb/planner/expression/bound_function_expression.hpp +1 -1
  312. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +1 -1
  313. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +1 -1
  314. package/src/duckdb/src/include/duckdb/planner/expression/bound_operator_expression.hpp +1 -1
  315. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_expression.hpp +1 -1
  316. package/src/duckdb/src/include/duckdb/planner/expression/bound_reference_expression.hpp +1 -1
  317. package/src/duckdb/src/include/duckdb/planner/expression/bound_subquery_expression.hpp +1 -1
  318. package/src/duckdb/src/include/duckdb/planner/expression/bound_unnest_expression.hpp +1 -1
  319. package/src/duckdb/src/include/duckdb/planner/expression/bound_window_expression.hpp +1 -1
  320. package/src/duckdb/src/include/duckdb/planner/expression.hpp +5 -7
  321. package/src/duckdb/src/include/duckdb/planner/filter/conjunction_filter.hpp +6 -0
  322. package/src/duckdb/src/include/duckdb/planner/filter/constant_filter.hpp +3 -0
  323. package/src/duckdb/src/include/duckdb/planner/filter/null_filter.hpp +6 -0
  324. package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +2 -2
  325. package/src/duckdb/src/include/duckdb/planner/operator/logical_pivot.hpp +3 -0
  326. package/src/duckdb/src/include/duckdb/planner/table_binding.hpp +26 -0
  327. package/src/duckdb/src/include/duckdb/planner/table_filter.hpp +17 -0
  328. package/src/duckdb/src/include/duckdb/planner/tableref/bound_pivotref.hpp +3 -0
  329. package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_analyze.hpp +1 -1
  330. package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_compress.hpp +2 -2
  331. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_analyze.hpp +2 -2
  332. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_compress.hpp +2 -2
  333. package/src/duckdb/src/include/duckdb/storage/index.hpp +2 -2
  334. package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +1 -1
  335. package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +12 -0
  336. package/src/duckdb/src/include/duckdb/storage/string_uncompressed.hpp +1 -1
  337. package/src/duckdb/src/include/duckdb/storage/table/chunk_info.hpp +25 -2
  338. package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +12 -0
  339. package/src/duckdb/src/include/duckdb/storage/table/scan_state.hpp +22 -0
  340. package/src/duckdb/src/include/duckdb/transaction/duck_transaction_manager.hpp +2 -2
  341. package/src/duckdb/src/include/duckdb/transaction/transaction.hpp +2 -2
  342. package/src/duckdb/src/main/capi/appender-c.cpp +5 -5
  343. package/src/duckdb/src/main/capi/arrow-c.cpp +10 -10
  344. package/src/duckdb/src/main/capi/cast/from_decimal-c.cpp +1 -1
  345. package/src/duckdb/src/main/capi/cast/utils-c.cpp +1 -1
  346. package/src/duckdb/src/main/capi/config-c.cpp +1 -1
  347. package/src/duckdb/src/main/capi/data_chunk-c.cpp +17 -17
  348. package/src/duckdb/src/main/capi/duckdb-c.cpp +4 -4
  349. package/src/duckdb/src/main/capi/duckdb_value-c.cpp +4 -4
  350. package/src/duckdb/src/main/capi/logical_types-c.cpp +22 -21
  351. package/src/duckdb/src/main/capi/pending-c.cpp +6 -6
  352. package/src/duckdb/src/main/capi/prepared-c.cpp +10 -10
  353. package/src/duckdb/src/main/capi/replacement_scan-c.cpp +6 -6
  354. package/src/duckdb/src/main/capi/result-c.cpp +23 -23
  355. package/src/duckdb/src/main/capi/table_function-c.cpp +1 -1
  356. package/src/duckdb/src/main/client_context.cpp +3 -3
  357. package/src/duckdb/src/main/database_manager.cpp +1 -1
  358. package/src/duckdb/src/main/error_manager.cpp +1 -1
  359. package/src/duckdb/src/main/extension/extension_load.cpp +1 -1
  360. package/src/duckdb/src/main/relation/create_table_relation.cpp +1 -1
  361. package/src/duckdb/src/main/relation/create_view_relation.cpp +1 -1
  362. package/src/duckdb/src/main/relation/delete_relation.cpp +1 -1
  363. package/src/duckdb/src/main/relation/explain_relation.cpp +1 -1
  364. package/src/duckdb/src/main/relation/insert_relation.cpp +1 -1
  365. package/src/duckdb/src/main/relation/update_relation.cpp +1 -1
  366. package/src/duckdb/src/main/relation/write_csv_relation.cpp +1 -1
  367. package/src/duckdb/src/main/relation/write_parquet_relation.cpp +1 -1
  368. package/src/duckdb/src/main/relation.cpp +1 -1
  369. package/src/duckdb/src/optimizer/deliminator.cpp +12 -12
  370. package/src/duckdb/src/optimizer/expression_heuristics.cpp +1 -0
  371. package/src/duckdb/src/optimizer/filter_combiner.cpp +3 -3
  372. package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +10 -10
  373. package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +4 -7
  374. package/src/duckdb/src/optimizer/matcher/expression_matcher.cpp +1 -1
  375. package/src/duckdb/src/optimizer/pullup/pullup_projection.cpp +2 -2
  376. package/src/duckdb/src/optimizer/regex_range_filter.cpp +2 -4
  377. package/src/duckdb/src/optimizer/rule/distributivity.cpp +2 -2
  378. package/src/duckdb/src/optimizer/statistics/operator/propagate_filter.cpp +6 -6
  379. package/src/duckdb/src/optimizer/statistics/operator/propagate_get.cpp +2 -2
  380. package/src/duckdb/src/parallel/executor.cpp +1 -1
  381. package/src/duckdb/src/parser/base_expression.cpp +2 -5
  382. package/src/duckdb/src/parser/expression/between_expression.cpp +4 -4
  383. package/src/duckdb/src/parser/expression/case_expression.cpp +6 -6
  384. package/src/duckdb/src/parser/expression/cast_expression.cpp +4 -4
  385. package/src/duckdb/src/parser/expression/collate_expression.cpp +3 -3
  386. package/src/duckdb/src/parser/expression/columnref_expression.cpp +4 -4
  387. package/src/duckdb/src/parser/expression/comparison_expression.cpp +3 -3
  388. package/src/duckdb/src/parser/expression/conjunction_expression.cpp +2 -2
  389. package/src/duckdb/src/parser/expression/constant_expression.cpp +2 -2
  390. package/src/duckdb/src/parser/expression/function_expression.cpp +10 -14
  391. package/src/duckdb/src/parser/expression/lambda_expression.cpp +2 -2
  392. package/src/duckdb/src/parser/expression/operator_expression.cpp +4 -4
  393. package/src/duckdb/src/parser/expression/parameter_expression.cpp +2 -2
  394. package/src/duckdb/src/parser/expression/positional_reference_expression.cpp +3 -3
  395. package/src/duckdb/src/parser/expression/star_expression.cpp +9 -9
  396. package/src/duckdb/src/parser/expression/subquery_expression.cpp +5 -5
  397. package/src/duckdb/src/parser/expression/window_expression.cpp +13 -24
  398. package/src/duckdb/src/parser/parsed_expression.cpp +34 -18
  399. package/src/duckdb/src/parser/parsed_expression_iterator.cpp +4 -4
  400. package/src/duckdb/src/parser/parser.cpp +3 -3
  401. package/src/duckdb/src/parser/query_node/select_node.cpp +6 -13
  402. package/src/duckdb/src/parser/query_node.cpp +7 -6
  403. package/src/duckdb/src/parser/result_modifier.cpp +25 -18
  404. package/src/duckdb/src/parser/statement/select_statement.cpp +3 -3
  405. package/src/duckdb/src/parser/tableref/basetableref.cpp +4 -4
  406. package/src/duckdb/src/parser/tableref/emptytableref.cpp +1 -1
  407. package/src/duckdb/src/parser/tableref/expressionlistref.cpp +5 -5
  408. package/src/duckdb/src/parser/tableref/joinref.cpp +6 -6
  409. package/src/duckdb/src/parser/tableref/pivotref.cpp +10 -15
  410. package/src/duckdb/src/parser/tableref/subqueryref.cpp +3 -3
  411. package/src/duckdb/src/parser/tableref/table_function.cpp +3 -3
  412. package/src/duckdb/src/parser/tableref.cpp +12 -3
  413. package/src/duckdb/src/parser/transform/expression/transform_array_access.cpp +7 -7
  414. package/src/duckdb/src/parser/transform/expression/transform_bool_expr.cpp +4 -4
  415. package/src/duckdb/src/parser/transform/expression/transform_boolean_test.cpp +4 -4
  416. package/src/duckdb/src/parser/transform/expression/transform_case.cpp +8 -10
  417. package/src/duckdb/src/parser/transform/expression/transform_cast.cpp +7 -9
  418. package/src/duckdb/src/parser/transform/expression/transform_coalesce.cpp +3 -5
  419. package/src/duckdb/src/parser/transform/expression/transform_columnref.cpp +22 -22
  420. package/src/duckdb/src/parser/transform/expression/transform_constant.cpp +2 -2
  421. package/src/duckdb/src/parser/transform/expression/transform_expression.cpp +42 -44
  422. package/src/duckdb/src/parser/transform/expression/transform_function.cpp +70 -75
  423. package/src/duckdb/src/parser/transform/expression/transform_grouping_function.cpp +4 -4
  424. package/src/duckdb/src/parser/transform/expression/transform_interval.cpp +7 -7
  425. package/src/duckdb/src/parser/transform/expression/transform_is_null.cpp +4 -5
  426. package/src/duckdb/src/parser/transform/expression/transform_lambda.cpp +5 -6
  427. package/src/duckdb/src/parser/transform/expression/transform_operator.cpp +28 -29
  428. package/src/duckdb/src/parser/transform/expression/transform_param_ref.cpp +13 -14
  429. package/src/duckdb/src/parser/transform/expression/transform_positional_reference.cpp +4 -4
  430. package/src/duckdb/src/parser/transform/expression/transform_subquery.cpp +9 -10
  431. package/src/duckdb/src/parser/transform/helpers/transform_cte.cpp +28 -32
  432. package/src/duckdb/src/parser/transform/helpers/transform_groupby.cpp +18 -18
  433. package/src/duckdb/src/parser/transform/helpers/transform_sample.cpp +3 -3
  434. package/src/duckdb/src/parser/transform/helpers/transform_typename.cpp +27 -26
  435. package/src/duckdb/src/parser/transform/statement/transform_alter_sequence.cpp +11 -14
  436. package/src/duckdb/src/parser/transform/statement/transform_alter_table.cpp +14 -16
  437. package/src/duckdb/src/parser/transform/statement/transform_attach.cpp +8 -9
  438. package/src/duckdb/src/parser/transform/statement/transform_call.cpp +2 -5
  439. package/src/duckdb/src/parser/transform/statement/transform_checkpoint.cpp +4 -6
  440. package/src/duckdb/src/parser/transform/statement/transform_copy.cpp +22 -23
  441. package/src/duckdb/src/parser/transform/statement/transform_create_database.cpp +3 -4
  442. package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +14 -18
  443. package/src/duckdb/src/parser/transform/statement/transform_create_index.cpp +13 -15
  444. package/src/duckdb/src/parser/transform/statement/transform_create_schema.cpp +8 -10
  445. package/src/duckdb/src/parser/transform/statement/transform_create_sequence.cpp +8 -10
  446. package/src/duckdb/src/parser/transform/statement/transform_create_table.cpp +26 -28
  447. package/src/duckdb/src/parser/transform/statement/transform_create_table_as.cpp +8 -10
  448. package/src/duckdb/src/parser/transform/statement/transform_create_type.cpp +12 -15
  449. package/src/duckdb/src/parser/transform/statement/transform_create_view.cpp +13 -18
  450. package/src/duckdb/src/parser/transform/statement/transform_delete.cpp +11 -13
  451. package/src/duckdb/src/parser/transform/statement/transform_detach.cpp +3 -4
  452. package/src/duckdb/src/parser/transform/statement/transform_drop.cpp +20 -22
  453. package/src/duckdb/src/parser/transform/statement/transform_explain.cpp +5 -7
  454. package/src/duckdb/src/parser/transform/statement/transform_export.cpp +5 -6
  455. package/src/duckdb/src/parser/transform/statement/transform_import.cpp +2 -3
  456. package/src/duckdb/src/parser/transform/statement/transform_insert.cpp +21 -24
  457. package/src/duckdb/src/parser/transform/statement/transform_load.cpp +4 -5
  458. package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +7 -7
  459. package/src/duckdb/src/parser/transform/statement/transform_pragma.cpp +7 -9
  460. package/src/duckdb/src/parser/transform/statement/transform_prepare.cpp +11 -19
  461. package/src/duckdb/src/parser/transform/statement/transform_rename.cpp +12 -14
  462. package/src/duckdb/src/parser/transform/statement/transform_select.cpp +12 -9
  463. package/src/duckdb/src/parser/transform/statement/transform_select_node.cpp +34 -34
  464. package/src/duckdb/src/parser/transform/statement/transform_set.cpp +18 -19
  465. package/src/duckdb/src/parser/transform/statement/transform_show.cpp +5 -7
  466. package/src/duckdb/src/parser/transform/statement/transform_show_select.cpp +4 -5
  467. package/src/duckdb/src/parser/transform/statement/transform_transaction.cpp +3 -5
  468. package/src/duckdb/src/parser/transform/statement/transform_update.cpp +10 -13
  469. package/src/duckdb/src/parser/transform/statement/transform_upsert.cpp +4 -4
  470. package/src/duckdb/src/parser/transform/statement/transform_use.cpp +2 -3
  471. package/src/duckdb/src/parser/transform/statement/transform_vacuum.cpp +6 -10
  472. package/src/duckdb/src/parser/transform/tableref/transform_base_tableref.cpp +18 -18
  473. package/src/duckdb/src/parser/transform/tableref/transform_from.cpp +5 -5
  474. package/src/duckdb/src/parser/transform/tableref/transform_join.cpp +11 -11
  475. package/src/duckdb/src/parser/transform/tableref/transform_pivot.cpp +27 -27
  476. package/src/duckdb/src/parser/transform/tableref/transform_subquery.cpp +5 -5
  477. package/src/duckdb/src/parser/transform/tableref/transform_table_function.cpp +13 -12
  478. package/src/duckdb/src/parser/transform/tableref/transform_tableref.cpp +8 -8
  479. package/src/duckdb/src/parser/transformer.cpp +46 -46
  480. package/src/duckdb/src/planner/bind_context.cpp +6 -6
  481. package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +1 -1
  482. package/src/duckdb/src/planner/binder/expression/bind_lambda.cpp +1 -1
  483. package/src/duckdb/src/planner/binder/expression/bind_star_expression.cpp +1 -1
  484. package/src/duckdb/src/planner/binder/expression/bind_subquery_expression.cpp +6 -3
  485. package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +8 -8
  486. package/src/duckdb/src/planner/binder/query_node/plan_query_node.cpp +4 -4
  487. package/src/duckdb/src/planner/binder/statement/bind_create.cpp +13 -5
  488. package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +2 -2
  489. package/src/duckdb/src/planner/binder/statement/bind_update.cpp +1 -1
  490. package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +1 -1
  491. package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +14 -7
  492. package/src/duckdb/src/planner/binder.cpp +1 -1
  493. package/src/duckdb/src/planner/bound_result_modifier.cpp +16 -11
  494. package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +5 -5
  495. package/src/duckdb/src/planner/expression/bound_between_expression.cpp +5 -5
  496. package/src/duckdb/src/planner/expression/bound_case_expression.cpp +5 -5
  497. package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +3 -3
  498. package/src/duckdb/src/planner/expression/bound_columnref_expression.cpp +2 -2
  499. package/src/duckdb/src/planner/expression/bound_comparison_expression.cpp +4 -4
  500. package/src/duckdb/src/planner/expression/bound_conjunction_expression.cpp +2 -2
  501. package/src/duckdb/src/planner/expression/bound_constant_expression.cpp +2 -2
  502. package/src/duckdb/src/planner/expression/bound_expression.cpp +1 -1
  503. package/src/duckdb/src/planner/expression/bound_function_expression.cpp +3 -4
  504. package/src/duckdb/src/planner/expression/bound_lambda_expression.cpp +4 -5
  505. package/src/duckdb/src/planner/expression/bound_lambdaref_expression.cpp +2 -2
  506. package/src/duckdb/src/planner/expression/bound_operator_expression.cpp +3 -4
  507. package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +2 -2
  508. package/src/duckdb/src/planner/expression/bound_reference_expression.cpp +2 -2
  509. package/src/duckdb/src/planner/expression/bound_subquery_expression.cpp +1 -1
  510. package/src/duckdb/src/planner/expression/bound_unnest_expression.cpp +3 -3
  511. package/src/duckdb/src/planner/expression/bound_window_expression.cpp +8 -21
  512. package/src/duckdb/src/planner/expression.cpp +15 -0
  513. package/src/duckdb/src/planner/expression_binder/base_select_binder.cpp +2 -2
  514. package/src/duckdb/src/planner/expression_iterator.cpp +2 -2
  515. package/src/duckdb/src/planner/filter/conjunction_filter.cpp +2 -2
  516. package/src/duckdb/src/planner/filter/constant_filter.cpp +1 -1
  517. package/src/duckdb/src/planner/logical_operator.cpp +3 -4
  518. package/src/duckdb/src/planner/logical_operator_visitor.cpp +1 -1
  519. package/src/duckdb/src/planner/table_filter.cpp +1 -1
  520. package/src/duckdb/src/storage/arena_allocator.cpp +2 -2
  521. package/src/duckdb/src/storage/buffer/block_handle.cpp +1 -1
  522. package/src/duckdb/src/storage/checkpoint/write_overflow_strings_to_disk.cpp +2 -2
  523. package/src/duckdb/src/storage/checkpoint_manager.cpp +3 -3
  524. package/src/duckdb/src/storage/compression/bitpacking.cpp +8 -8
  525. package/src/duckdb/src/storage/compression/dictionary_compression.cpp +36 -36
  526. package/src/duckdb/src/storage/compression/fixed_size_uncompressed.cpp +11 -11
  527. package/src/duckdb/src/storage/compression/fsst.cpp +34 -34
  528. package/src/duckdb/src/storage/compression/rle.cpp +8 -8
  529. package/src/duckdb/src/storage/compression/string_uncompressed.cpp +13 -13
  530. package/src/duckdb/src/storage/compression/validity_uncompressed.cpp +11 -11
  531. package/src/duckdb/src/storage/data_table.cpp +2 -2
  532. package/src/duckdb/src/storage/index.cpp +1 -3
  533. package/src/duckdb/src/storage/local_storage.cpp +2 -1
  534. package/src/duckdb/src/storage/magic_bytes.cpp +1 -1
  535. package/src/duckdb/src/storage/single_file_block_manager.cpp +3 -3
  536. package/src/duckdb/src/storage/standard_buffer_manager.cpp +3 -3
  537. package/src/duckdb/src/storage/statistics/list_stats.cpp +1 -1
  538. package/src/duckdb/src/storage/statistics/numeric_stats.cpp +1 -1
  539. package/src/duckdb/src/storage/statistics/string_stats.cpp +15 -14
  540. package/src/duckdb/src/storage/table/chunk_info.cpp +2 -2
  541. package/src/duckdb/src/storage/table/column_segment.cpp +3 -3
  542. package/src/duckdb/src/storage/table/list_column_data.cpp +8 -7
  543. package/src/duckdb/src/storage/table/row_group.cpp +4 -4
  544. package/src/duckdb/src/storage/table/standard_column_data.cpp +1 -1
  545. package/src/duckdb/src/storage/table/update_segment.cpp +12 -12
  546. package/src/duckdb/src/storage/wal_replay.cpp +1 -1
  547. package/src/duckdb/src/transaction/cleanup_state.cpp +3 -3
  548. package/src/duckdb/src/transaction/commit_state.cpp +8 -8
  549. package/src/duckdb/src/transaction/duck_transaction.cpp +9 -7
  550. package/src/duckdb/src/transaction/duck_transaction_manager.cpp +16 -16
  551. package/src/duckdb/src/transaction/rollback_state.cpp +3 -3
  552. package/src/duckdb/src/verification/prepared_statement_verifier.cpp +1 -1
  553. package/src/duckdb/src/verification/statement_verifier.cpp +3 -4
  554. package/src/duckdb/third_party/hyperloglog/hyperloglog.hpp +2 -2
  555. package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +13479 -13564
  556. package/src/duckdb/third_party/pcg/pcg_extras.hpp +1 -1
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "duckdb",
3
3
  "main": "./lib/duckdb.js",
4
4
  "types": "./lib/duckdb.d.ts",
5
- "version": "0.8.1-dev0.0",
5
+ "version": "0.8.1-dev111.0",
6
6
  "description": "DuckDB node.js API",
7
7
  "gypfile": true,
8
8
  "dependencies": {
@@ -329,7 +329,7 @@ struct ICUDatePart : public ICUDateFunc {
329
329
  input.ToUnifiedFormat(count, rdata);
330
330
 
331
331
  const auto &arg_valid = rdata.validity;
332
- auto tdata = (const INPUT_TYPE *)rdata.data;
332
+ auto tdata = UnifiedVectorFormat::GetData<INPUT_TYPE>(rdata);
333
333
 
334
334
  result.SetVectorType(VectorType::FLAT_VECTOR);
335
335
  auto &child_entries = StructVector::GetEntries(result);
@@ -38,7 +38,7 @@ private:
38
38
 
39
39
  static inline void *Reallocate(void *ctx, void *ptr, size_t old_size, size_t size) {
40
40
  auto alloc = (ArenaAllocator *)ctx;
41
- return alloc->ReallocateAligned((data_ptr_t)ptr, old_size, size);
41
+ return alloc->ReallocateAligned(data_ptr_cast(ptr), old_size, size);
42
42
  }
43
43
 
44
44
  static inline void Free(void *ctx, void *ptr) {
@@ -89,7 +89,7 @@ public:
89
89
  UnifiedVectorFormat input_data;
90
90
  auto &input_vector = args.data[0];
91
91
  input_vector.ToUnifiedFormat(count, input_data);
92
- auto inputs = (string_t *)input_data.data;
92
+ auto inputs = UnifiedVectorFormat::GetData<string_t>(input_data);
93
93
 
94
94
  ListVector::Reserve(result, list_size);
95
95
  auto list_entries = FlatVector::GetData<list_entry_t>(result);
@@ -225,7 +225,7 @@ static void AddKeyValuePairs(yyjson_mut_doc *doc, yyjson_mut_val *objs[], Vector
225
225
  idx_t count) {
226
226
  UnifiedVectorFormat key_data;
227
227
  key_v.ToUnifiedFormat(count, key_data);
228
- auto keys = (string_t *)key_data.data;
228
+ auto keys = UnifiedVectorFormat::GetData<string_t>(key_data);
229
229
 
230
230
  for (idx_t i = 0; i < count; i++) {
231
231
  auto key_idx = key_data.sel->get_index(i);
@@ -253,7 +253,7 @@ template <class INPUT_TYPE, class TARGET_TYPE>
253
253
  static void TemplatedCreateValues(yyjson_mut_doc *doc, yyjson_mut_val *vals[], Vector &value_v, idx_t count) {
254
254
  UnifiedVectorFormat value_data;
255
255
  value_v.ToUnifiedFormat(count, value_data);
256
- auto values = (INPUT_TYPE *)value_data.data;
256
+ auto values = UnifiedVectorFormat::GetData<INPUT_TYPE>(value_data);
257
257
 
258
258
  const auto type_is_json = JSONCommon::LogicalTypeIsJSON(value_v.GetType());
259
259
  for (idx_t i = 0; i < count; i++) {
@@ -311,7 +311,7 @@ static void CreateValuesMap(const StructNames &names, yyjson_mut_doc *doc, yyjso
311
311
  // Add the key/value pairs to the values
312
312
  UnifiedVectorFormat map_data;
313
313
  value_v.ToUnifiedFormat(count, map_data);
314
- auto map_key_list_entries = (list_entry_t *)map_data.data;
314
+ auto map_key_list_entries = UnifiedVectorFormat::GetData<list_entry_t>(map_data);
315
315
  for (idx_t i = 0; i < count; i++) {
316
316
  idx_t idx = map_data.sel->get_index(i);
317
317
  if (!map_data.validity.RowIsValid(idx)) {
@@ -358,14 +358,14 @@ static void CreateValuesUnion(const StructNames &names, yyjson_mut_doc *doc, yyj
358
358
  // and the rows where the member is not matching the tag
359
359
  UnifiedVectorFormat key_data;
360
360
  member_key_v.ToUnifiedFormat(count, key_data);
361
- auto keys = (string_t *)key_data.data;
361
+ auto keys = UnifiedVectorFormat::GetData<string_t>(key_data);
362
362
 
363
363
  for (idx_t i = 0; i < count; i++) {
364
364
  auto tag_idx = tag_data.sel->get_index(i);
365
365
  if (!tag_data.validity.RowIsValid(tag_idx)) {
366
366
  continue;
367
367
  }
368
- auto tag = ((uint8_t *)tag_data.data)[tag_idx];
368
+ auto tag = (UnifiedVectorFormat::GetData<uint8_t>(tag_data))[tag_idx];
369
369
  if (tag != member_idx) {
370
370
  continue;
371
371
  }
@@ -390,7 +390,7 @@ static void CreateValuesList(const StructNames &names, yyjson_mut_doc *doc, yyjs
390
390
  // Now we add the values to the appropriate JSON arrays
391
391
  UnifiedVectorFormat list_data;
392
392
  value_v.ToUnifiedFormat(count, list_data);
393
- auto list_entries = (list_entry_t *)list_data.data;
393
+ auto list_entries = UnifiedVectorFormat::GetData<list_entry_t>(list_data);
394
394
  for (idx_t i = 0; i < count; i++) {
395
395
  idx_t idx = list_data.sel->get_index(i);
396
396
  if (!list_data.validity.RowIsValid(idx)) {
@@ -36,7 +36,7 @@ static inline void ReadObjects(yyjson_mut_doc *doc, Vector &input, yyjson_mut_va
36
36
  UnifiedVectorFormat input_data;
37
37
  auto &input_vector = input;
38
38
  input_vector.ToUnifiedFormat(count, input_data);
39
- auto inputs = (string_t *)input_data.data;
39
+ auto inputs = UnifiedVectorFormat::GetData<string_t>(input_data);
40
40
 
41
41
  // Read the documents
42
42
  for (idx_t i = 0; i < count; i++) {
@@ -776,7 +776,7 @@ static bool TransformFunctionInternal(Vector &input, const idx_t count, Vector &
776
776
  JSONTransformOptions &options) {
777
777
  UnifiedVectorFormat input_data;
778
778
  input.ToUnifiedFormat(count, input_data);
779
- auto inputs = (string_t *)input_data.data;
779
+ auto inputs = UnifiedVectorFormat::GetData<string_t>(input_data);
780
780
 
781
781
  // Read documents
782
782
  auto docs = (yyjson_doc **)alc->malloc(alc->ctx, sizeof(yyjson_doc *) * count);
@@ -95,7 +95,11 @@ const uint64_t ParquetDecodeUtils::BITPACK_MASKS[] = {0,
95
95
  576460752303423487,
96
96
  1152921504606846975,
97
97
  2305843009213693951,
98
- 4611686018427387903};
98
+ 4611686018427387903,
99
+ 9223372036854775807,
100
+ 18446744073709551615ULL};
101
+
102
+ const uint64_t ParquetDecodeUtils::BITPACK_MASKS_SIZE = sizeof(ParquetDecodeUtils::BITPACK_MASKS) / sizeof(uint64_t);
99
103
 
100
104
  const uint8_t ParquetDecodeUtils::BITPACK_DLEN = 8;
101
105
 
@@ -270,7 +274,7 @@ void ColumnReader::ResetPage() {
270
274
  void ColumnReader::PreparePageV2(PageHeader &page_hdr) {
271
275
  D_ASSERT(page_hdr.type == PageType::DATA_PAGE_V2);
272
276
 
273
- auto &trans = (ThriftFileTransport &)*protocol->getTransport();
277
+ auto &trans = reinterpret_cast<ThriftFileTransport &>(*protocol->getTransport());
274
278
 
275
279
  AllocateBlock(page_hdr.uncompressed_page_size + 1);
276
280
  bool uncompressed = false;
@@ -284,22 +288,22 @@ void ColumnReader::PreparePageV2(PageHeader &page_hdr) {
284
288
  uncompressed = true;
285
289
  }
286
290
  if (uncompressed) {
287
- trans.read((uint8_t *)block->ptr, page_hdr.compressed_page_size);
291
+ trans.read(block->ptr, page_hdr.compressed_page_size);
288
292
  return;
289
293
  }
290
294
 
291
295
  // copy repeats & defines as-is because FOR SOME REASON they are uncompressed
292
296
  auto uncompressed_bytes = page_hdr.data_page_header_v2.repetition_levels_byte_length +
293
297
  page_hdr.data_page_header_v2.definition_levels_byte_length;
294
- trans.read((uint8_t *)block->ptr, uncompressed_bytes);
298
+ trans.read(block->ptr, uncompressed_bytes);
295
299
 
296
300
  auto compressed_bytes = page_hdr.compressed_page_size - uncompressed_bytes;
297
301
 
298
302
  AllocateCompressed(compressed_bytes);
299
- trans.read((uint8_t *)compressed_buffer.ptr, compressed_bytes);
303
+ trans.read(compressed_buffer.ptr, compressed_bytes);
300
304
 
301
- DecompressInternal(chunk->meta_data.codec, (const char *)compressed_buffer.ptr, compressed_bytes,
302
- (char *)block->ptr + uncompressed_bytes, page_hdr.uncompressed_page_size - uncompressed_bytes);
305
+ DecompressInternal(chunk->meta_data.codec, compressed_buffer.ptr, compressed_bytes, block->ptr + uncompressed_bytes,
306
+ page_hdr.uncompressed_page_size - uncompressed_bytes);
303
307
  }
304
308
 
305
309
  void ColumnReader::AllocateBlock(idx_t size) {
@@ -315,7 +319,7 @@ void ColumnReader::AllocateCompressed(idx_t size) {
315
319
  }
316
320
 
317
321
  void ColumnReader::PreparePage(PageHeader &page_hdr) {
318
- auto &trans = (ThriftFileTransport &)*protocol->getTransport();
322
+ auto &trans = reinterpret_cast<ThriftFileTransport &>(*protocol->getTransport());
319
323
 
320
324
  AllocateBlock(page_hdr.uncompressed_page_size + 1);
321
325
  if (chunk->meta_data.codec == CompressionCodec::UNCOMPRESSED) {
@@ -329,24 +333,24 @@ void ColumnReader::PreparePage(PageHeader &page_hdr) {
329
333
  AllocateCompressed(page_hdr.compressed_page_size + 1);
330
334
  trans.read((uint8_t *)compressed_buffer.ptr, page_hdr.compressed_page_size);
331
335
 
332
- DecompressInternal(chunk->meta_data.codec, (const char *)compressed_buffer.ptr, page_hdr.compressed_page_size,
333
- (char *)block->ptr, page_hdr.uncompressed_page_size);
336
+ DecompressInternal(chunk->meta_data.codec, compressed_buffer.ptr, page_hdr.compressed_page_size, block->ptr,
337
+ page_hdr.uncompressed_page_size);
334
338
  }
335
339
 
336
- void ColumnReader::DecompressInternal(CompressionCodec::type codec, const char *src, idx_t src_size, char *dst,
337
- idx_t dst_size) {
340
+ void ColumnReader::DecompressInternal(CompressionCodec::type codec, const_data_ptr_t src, idx_t src_size,
341
+ data_ptr_t dst, idx_t dst_size) {
338
342
  switch (codec) {
339
343
  case CompressionCodec::UNCOMPRESSED:
340
344
  throw InternalException("Parquet data unexpectedly uncompressed");
341
345
  case CompressionCodec::GZIP: {
342
346
  MiniZStream s;
343
- s.Decompress(src, src_size, dst, dst_size);
347
+ s.Decompress(const_char_ptr_cast(src), src_size, char_ptr_cast(dst), dst_size);
344
348
  break;
345
349
  }
346
350
  case CompressionCodec::SNAPPY: {
347
351
  {
348
352
  size_t uncompressed_size = 0;
349
- auto res = duckdb_snappy::GetUncompressedLength(src, src_size, &uncompressed_size);
353
+ auto res = duckdb_snappy::GetUncompressedLength(const_char_ptr_cast(src), src_size, &uncompressed_size);
350
354
  if (!res) {
351
355
  throw std::runtime_error("Snappy decompression failure");
352
356
  }
@@ -354,7 +358,7 @@ void ColumnReader::DecompressInternal(CompressionCodec::type codec, const char *
354
358
  throw std::runtime_error("Snappy decompression failure: Uncompressed data size mismatch");
355
359
  }
356
360
  }
357
- auto res = duckdb_snappy::RawUncompress(src, src_size, dst);
361
+ auto res = duckdb_snappy::RawUncompress(const_char_ptr_cast(src), src_size, char_ptr_cast(dst));
358
362
  if (!res) {
359
363
  throw std::runtime_error("Snappy decompression failure");
360
364
  }
@@ -395,8 +399,7 @@ void ColumnReader::PrepareDataPage(PageHeader &page_hdr) {
395
399
  if (HasRepeats()) {
396
400
  uint32_t rep_length = is_v1 ? block->read<uint32_t>() : v2_header.repetition_levels_byte_length;
397
401
  block->available(rep_length);
398
- repeated_decoder =
399
- make_uniq<RleBpDecoder>((const uint8_t *)block->ptr, rep_length, RleBpDecoder::ComputeBitWidth(max_repeat));
402
+ repeated_decoder = make_uniq<RleBpDecoder>(block->ptr, rep_length, RleBpDecoder::ComputeBitWidth(max_repeat));
400
403
  block->inc(rep_length);
401
404
  } else if (is_v2 && v2_header.repetition_levels_byte_length > 0) {
402
405
  block->inc(v2_header.repetition_levels_byte_length);
@@ -405,8 +408,7 @@ void ColumnReader::PrepareDataPage(PageHeader &page_hdr) {
405
408
  if (HasDefines()) {
406
409
  uint32_t def_length = is_v1 ? block->read<uint32_t>() : v2_header.definition_levels_byte_length;
407
410
  block->available(def_length);
408
- defined_decoder =
409
- make_uniq<RleBpDecoder>((const uint8_t *)block->ptr, def_length, RleBpDecoder::ComputeBitWidth(max_define));
411
+ defined_decoder = make_uniq<RleBpDecoder>(block->ptr, def_length, RleBpDecoder::ComputeBitWidth(max_define));
410
412
  block->inc(def_length);
411
413
  } else if (is_v2 && v2_header.definition_levels_byte_length > 0) {
412
414
  block->inc(v2_header.definition_levels_byte_length);
@@ -418,7 +420,7 @@ void ColumnReader::PrepareDataPage(PageHeader &page_hdr) {
418
420
  // where is it otherwise??
419
421
  auto dict_width = block->read<uint8_t>();
420
422
  // TODO somehow dict_width can be 0 ?
421
- dict_decoder = make_uniq<RleBpDecoder>((const uint8_t *)block->ptr, block->len, dict_width);
423
+ dict_decoder = make_uniq<RleBpDecoder>(block->ptr, block->len, dict_width);
422
424
  block->inc(block->len);
423
425
  break;
424
426
  }
@@ -427,11 +429,11 @@ void ColumnReader::PrepareDataPage(PageHeader &page_hdr) {
427
429
  throw std::runtime_error("RLE encoding is only supported for boolean data");
428
430
  }
429
431
  block->inc(sizeof(uint32_t));
430
- rle_decoder = make_uniq<RleBpDecoder>((const uint8_t *)block->ptr, block->len, 1);
432
+ rle_decoder = make_uniq<RleBpDecoder>(block->ptr, block->len, 1);
431
433
  break;
432
434
  }
433
435
  case Encoding::DELTA_BINARY_PACKED: {
434
- dbp_decoder = make_uniq<DbpDecoder>((const uint8_t *)block->ptr, block->len);
436
+ dbp_decoder = make_uniq<DbpDecoder>(block->ptr, block->len);
435
437
  block->inc(block->len);
436
438
  break;
437
439
  }
@@ -452,10 +454,10 @@ void ColumnReader::PrepareDataPage(PageHeader &page_hdr) {
452
454
  }
453
455
  }
454
456
 
455
- idx_t ColumnReader::Read(uint64_t num_values, parquet_filter_t &filter, uint8_t *define_out, uint8_t *repeat_out,
457
+ idx_t ColumnReader::Read(uint64_t num_values, parquet_filter_t &filter, data_ptr_t define_out, data_ptr_t repeat_out,
456
458
  Vector &result) {
457
459
  // we need to reset the location because multiple column readers share the same protocol
458
- auto &trans = (ThriftFileTransport &)*protocol->getTransport();
460
+ auto &trans = reinterpret_cast<ThriftFileTransport &>(*protocol->getTransport());
459
461
  trans.SetLocation(chunk_read_offset);
460
462
 
461
463
  // Perform any skips that were not applied yet.
@@ -478,12 +480,12 @@ idx_t ColumnReader::Read(uint64_t num_values, parquet_filter_t &filter, uint8_t
478
480
 
479
481
  if (HasRepeats()) {
480
482
  D_ASSERT(repeated_decoder);
481
- repeated_decoder->GetBatch<uint8_t>((char *)repeat_out + result_offset, read_now);
483
+ repeated_decoder->GetBatch<uint8_t>(repeat_out + result_offset, read_now);
482
484
  }
483
485
 
484
486
  if (HasDefines()) {
485
487
  D_ASSERT(defined_decoder);
486
- defined_decoder->GetBatch<uint8_t>((char *)define_out + result_offset, read_now);
488
+ defined_decoder->GetBatch<uint8_t>(define_out + result_offset, read_now);
487
489
  }
488
490
 
489
491
  idx_t null_count = 0;
@@ -501,7 +503,8 @@ idx_t ColumnReader::Read(uint64_t num_values, parquet_filter_t &filter, uint8_t
501
503
  offset_buffer.resize(reader.allocator, sizeof(uint32_t) * (read_now - null_count));
502
504
  dict_decoder->GetBatch<uint32_t>(offset_buffer.ptr, read_now - null_count);
503
505
  DictReference(result);
504
- Offsets((uint32_t *)offset_buffer.ptr, define_out, read_now, filter, result_offset, result);
506
+ Offsets(reinterpret_cast<uint32_t *>(offset_buffer.ptr), define_out, read_now, filter, result_offset,
507
+ result);
505
508
  } else if (dbp_decoder) {
506
509
  // TODO keep this in the state
507
510
  auto read_buf = make_shared<ResizeableBuffer>();
@@ -566,7 +569,7 @@ void ColumnReader::ApplyPendingSkips(idx_t num_values) {
566
569
 
567
570
  while (remaining) {
568
571
  idx_t to_read = MinValue<idx_t>(remaining, STANDARD_VECTOR_SIZE);
569
- read += Read(to_read, none_filter, (uint8_t *)dummy_define.ptr, (uint8_t *)dummy_repeat.ptr, dummy_result);
572
+ read += Read(to_read, none_filter, dummy_define.ptr, dummy_repeat.ptr, dummy_result);
570
573
  remaining -= to_read;
571
574
  }
572
575
 
@@ -623,14 +626,15 @@ void StringColumnReader::Dictionary(shared_ptr<ResizeableBuffer> data, idx_t num
623
626
  }
624
627
  dict->available(str_len);
625
628
 
626
- auto actual_str_len = VerifyString(dict->ptr, str_len);
627
- dict_strings[dict_idx] = string_t(dict->ptr, actual_str_len);
629
+ auto dict_str = reinterpret_cast<const char *>(dict->ptr);
630
+ auto actual_str_len = VerifyString(dict_str, str_len);
631
+ dict_strings[dict_idx] = string_t(dict_str, actual_str_len);
628
632
  dict->inc(str_len);
629
633
  }
630
634
  }
631
635
 
632
636
  static shared_ptr<ResizeableBuffer> ReadDbpData(Allocator &allocator, ResizeableBuffer &buffer, idx_t &value_count) {
633
- auto decoder = make_uniq<DbpDecoder>((const uint8_t *)buffer.ptr, buffer.len);
637
+ auto decoder = make_uniq<DbpDecoder>(buffer.ptr, buffer.len);
634
638
  value_count = decoder->TotalValues();
635
639
  auto result = make_shared<ResizeableBuffer>();
636
640
  result->resize(allocator, sizeof(uint32_t) * value_count);
@@ -648,7 +652,7 @@ void StringColumnReader::PrepareDeltaLengthByteArray(ResizeableBuffer &buffer) {
648
652
  byte_array_data = make_uniq<Vector>(LogicalType::VARCHAR, nullptr);
649
653
  return;
650
654
  }
651
- auto length_data = (uint32_t *)length_buffer->ptr;
655
+ auto length_data = reinterpret_cast<uint32_t *>(length_buffer->ptr);
652
656
  byte_array_data = make_uniq<Vector>(LogicalType::VARCHAR, value_count);
653
657
  byte_array_count = value_count;
654
658
  delta_offset = 0;
@@ -675,8 +679,8 @@ void StringColumnReader::PrepareDeltaByteArray(ResizeableBuffer &buffer) {
675
679
  byte_array_data = make_uniq<Vector>(LogicalType::VARCHAR, nullptr);
676
680
  return;
677
681
  }
678
- auto prefix_data = (uint32_t *)prefix_buffer->ptr;
679
- auto suffix_data = (uint32_t *)suffix_buffer->ptr;
682
+ auto prefix_data = reinterpret_cast<uint32_t *>(prefix_buffer->ptr);
683
+ auto suffix_data = reinterpret_cast<uint32_t *>(suffix_buffer->ptr);
680
684
  byte_array_data = make_uniq<Vector>(LogicalType::VARCHAR, prefix_count);
681
685
  byte_array_count = prefix_count;
682
686
  delta_offset = 0;
@@ -750,8 +754,9 @@ string_t StringParquetValueConversion::PlainRead(ByteBuffer &plain_data, ColumnR
750
754
  auto &scr = reader.Cast<StringColumnReader>();
751
755
  uint32_t str_len = scr.fixed_width_string_length == 0 ? plain_data.read<uint32_t>() : scr.fixed_width_string_length;
752
756
  plain_data.available(str_len);
753
- auto actual_str_len = reader.Cast<StringColumnReader>().VerifyString(plain_data.ptr, str_len);
754
- auto ret_str = string_t(plain_data.ptr, actual_str_len);
757
+ auto plain_str = char_ptr_cast(plain_data.ptr);
758
+ auto actual_str_len = reader.Cast<StringColumnReader>().VerifyString(plain_str, str_len);
759
+ auto ret_str = string_t(plain_str, actual_str_len);
755
760
  plain_data.inc(str_len);
756
761
  return ret_str;
757
762
  }
@@ -765,8 +770,8 @@ void StringParquetValueConversion::PlainSkip(ByteBuffer &plain_data, ColumnReade
765
770
  //===--------------------------------------------------------------------===//
766
771
  // List Column Reader
767
772
  //===--------------------------------------------------------------------===//
768
- idx_t ListColumnReader::Read(uint64_t num_values, parquet_filter_t &filter, uint8_t *define_out, uint8_t *repeat_out,
769
- Vector &result_out) {
773
+ idx_t ListColumnReader::Read(uint64_t num_values, parquet_filter_t &filter, data_ptr_t define_out,
774
+ data_ptr_t repeat_out, Vector &result_out) {
770
775
  idx_t result_offset = 0;
771
776
  auto result_ptr = FlatVector::GetData<list_entry_t>(result_out);
772
777
  auto &result_mask = FlatVector::Validity(result_out);
@@ -935,8 +940,8 @@ void RowNumberColumnReader::InitializeRead(idx_t row_group_idx_p, const vector<C
935
940
  }
936
941
  }
937
942
 
938
- idx_t RowNumberColumnReader::Read(uint64_t num_values, parquet_filter_t &filter, uint8_t *define_out,
939
- uint8_t *repeat_out, Vector &result) {
943
+ idx_t RowNumberColumnReader::Read(uint64_t num_values, parquet_filter_t &filter, data_ptr_t define_out,
944
+ data_ptr_t repeat_out, Vector &result) {
940
945
 
941
946
  auto data_ptr = FlatVector::GetData<int64_t>(result);
942
947
  for (idx_t i = 0; i < num_values; i++) {
@@ -966,8 +971,8 @@ void CastColumnReader::InitializeRead(idx_t row_group_idx_p, const vector<Column
966
971
  child_reader->InitializeRead(row_group_idx_p, columns, protocol_p);
967
972
  }
968
973
 
969
- idx_t CastColumnReader::Read(uint64_t num_values, parquet_filter_t &filter, uint8_t *define_out, uint8_t *repeat_out,
970
- Vector &result) {
974
+ idx_t CastColumnReader::Read(uint64_t num_values, parquet_filter_t &filter, data_ptr_t define_out,
975
+ data_ptr_t repeat_out, Vector &result) {
971
976
  intermediate_chunk.Reset();
972
977
  auto &intermediate_vector = intermediate_chunk.data[0];
973
978
 
@@ -1018,8 +1023,8 @@ void StructColumnReader::InitializeRead(idx_t row_group_idx_p, const vector<Colu
1018
1023
  }
1019
1024
  }
1020
1025
 
1021
- idx_t StructColumnReader::Read(uint64_t num_values, parquet_filter_t &filter, uint8_t *define_out, uint8_t *repeat_out,
1022
- Vector &result) {
1026
+ idx_t StructColumnReader::Read(uint64_t num_values, parquet_filter_t &filter, data_ptr_t define_out,
1027
+ data_ptr_t repeat_out, Vector &result) {
1023
1028
  auto &struct_entries = StructVector::GetEntries(result);
1024
1029
  D_ASSERT(StructType::GetChildTypes(Type()).size() == struct_entries.size());
1025
1030
 
@@ -1099,7 +1104,7 @@ idx_t StructColumnReader::GroupRowsAvailable() {
1099
1104
  template <class DUCKDB_PHYSICAL_TYPE, bool FIXED_LENGTH>
1100
1105
  struct DecimalParquetValueConversion {
1101
1106
  static DUCKDB_PHYSICAL_TYPE DictRead(ByteBuffer &dict, uint32_t &offset, ColumnReader &reader) {
1102
- auto dict_ptr = (DUCKDB_PHYSICAL_TYPE *)dict.ptr;
1107
+ auto dict_ptr = reinterpret_cast<DUCKDB_PHYSICAL_TYPE *>(dict.ptr);
1103
1108
  return dict_ptr[offset];
1104
1109
  }
1105
1110
 
@@ -1112,7 +1117,7 @@ struct DecimalParquetValueConversion {
1112
1117
  }
1113
1118
  plain_data.available(byte_len);
1114
1119
  auto res =
1115
- ParquetDecimalUtils::ReadDecimalValue<DUCKDB_PHYSICAL_TYPE>((const_data_ptr_t)plain_data.ptr, byte_len);
1120
+ ParquetDecimalUtils::ReadDecimalValue<DUCKDB_PHYSICAL_TYPE>(const_data_ptr_cast(plain_data.ptr), byte_len);
1116
1121
 
1117
1122
  plain_data.inc(byte_len);
1118
1123
  return res;
@@ -1186,7 +1191,7 @@ unique_ptr<ColumnReader> ParquetDecimalUtils::CreateReader(ParquetReader &reader
1186
1191
  //===--------------------------------------------------------------------===//
1187
1192
  struct UUIDValueConversion {
1188
1193
  static hugeint_t DictRead(ByteBuffer &dict, uint32_t &offset, ColumnReader &reader) {
1189
- auto dict_ptr = (hugeint_t *)dict.ptr;
1194
+ auto dict_ptr = reinterpret_cast<hugeint_t *>(dict.ptr);
1190
1195
  return dict_ptr[offset];
1191
1196
  }
1192
1197
 
@@ -1210,7 +1215,7 @@ struct UUIDValueConversion {
1210
1215
  static hugeint_t PlainRead(ByteBuffer &plain_data, ColumnReader &reader) {
1211
1216
  idx_t byte_len = sizeof(hugeint_t);
1212
1217
  plain_data.available(byte_len);
1213
- auto res = ReadParquetUUID((const_data_ptr_t)plain_data.ptr);
1218
+ auto res = ReadParquetUUID(const_data_ptr_cast(plain_data.ptr));
1214
1219
 
1215
1220
  plain_data.inc(byte_len);
1216
1221
  return res;
@@ -1232,7 +1237,7 @@ public:
1232
1237
  protected:
1233
1238
  void Dictionary(shared_ptr<ResizeableBuffer> dictionary_data, idx_t num_entries) { // NOLINT
1234
1239
  AllocateDict(num_entries * sizeof(hugeint_t));
1235
- auto dict_ptr = (hugeint_t *)this->dict->ptr;
1240
+ auto dict_ptr = reinterpret_cast<hugeint_t *>(this->dict->ptr);
1236
1241
  for (idx_t i = 0; i < num_entries; i++) {
1237
1242
  dict_ptr[i] = UUIDValueConversion::PlainRead(*dictionary_data, *this);
1238
1243
  }
@@ -1246,7 +1251,7 @@ struct IntervalValueConversion {
1246
1251
  static constexpr const idx_t PARQUET_INTERVAL_SIZE = 12;
1247
1252
 
1248
1253
  static interval_t DictRead(ByteBuffer &dict, uint32_t &offset, ColumnReader &reader) {
1249
- auto dict_ptr = (interval_t *)dict.ptr;
1254
+ auto dict_ptr = reinterpret_cast<interval_t *>(dict.ptr);
1250
1255
  return dict_ptr[offset];
1251
1256
  }
1252
1257
 
@@ -1261,7 +1266,7 @@ struct IntervalValueConversion {
1261
1266
  static interval_t PlainRead(ByteBuffer &plain_data, ColumnReader &reader) {
1262
1267
  idx_t byte_len = PARQUET_INTERVAL_SIZE;
1263
1268
  plain_data.available(byte_len);
1264
- auto res = ReadParquetInterval((const_data_ptr_t)plain_data.ptr);
1269
+ auto res = ReadParquetInterval(const_data_ptr_cast(plain_data.ptr));
1265
1270
 
1266
1271
  plain_data.inc(byte_len);
1267
1272
  return res;
@@ -1283,7 +1288,7 @@ public:
1283
1288
  protected:
1284
1289
  void Dictionary(shared_ptr<ResizeableBuffer> dictionary_data, idx_t num_entries) override { // NOLINT
1285
1290
  AllocateDict(num_entries * sizeof(interval_t));
1286
- auto dict_ptr = (interval_t *)this->dict->ptr;
1291
+ auto dict_ptr = reinterpret_cast<interval_t *>(this->dict->ptr);
1287
1292
  for (idx_t i = 0; i < num_entries; i++) {
1288
1293
  dict_ptr[i] = IntervalValueConversion::PlainRead(*dictionary_data, *this);
1289
1294
  }