duckdb 0.8.1-dev2.0 → 0.8.1-dev219.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.
- package/binding.gyp +8 -8
- package/package.json +1 -1
- package/src/duckdb/extension/icu/icu-datepart.cpp +1 -1
- package/src/duckdb/extension/json/include/json_common.hpp +1 -1
- package/src/duckdb/extension/json/include/json_executors.hpp +1 -1
- package/src/duckdb/extension/json/json_functions/json_create.cpp +6 -6
- package/src/duckdb/extension/json/json_functions/json_merge_patch.cpp +1 -1
- package/src/duckdb/extension/json/json_functions/json_transform.cpp +1 -1
- package/src/duckdb/extension/parquet/column_reader.cpp +57 -52
- package/src/duckdb/extension/parquet/column_writer.cpp +57 -45
- package/src/duckdb/extension/parquet/include/cast_column_reader.hpp +1 -1
- package/src/duckdb/extension/parquet/include/column_reader.hpp +5 -4
- package/src/duckdb/extension/parquet/include/column_writer.hpp +24 -0
- package/src/duckdb/extension/parquet/include/decode_utils.hpp +6 -0
- package/src/duckdb/extension/parquet/include/list_column_reader.hpp +1 -1
- package/src/duckdb/extension/parquet/include/parquet_dbp_decoder.hpp +4 -4
- package/src/duckdb/extension/parquet/include/parquet_rle_bp_decoder.hpp +4 -5
- package/src/duckdb/extension/parquet/include/resizable_buffer.hpp +4 -4
- package/src/duckdb/extension/parquet/include/row_number_column_reader.hpp +1 -1
- package/src/duckdb/extension/parquet/include/struct_column_reader.hpp +1 -1
- package/src/duckdb/extension/parquet/parquet-extension.cpp +1 -1
- package/src/duckdb/extension/parquet/parquet_metadata.cpp +1 -1
- package/src/duckdb/extension/parquet/parquet_reader.cpp +18 -18
- package/src/duckdb/extension/parquet/parquet_statistics.cpp +23 -26
- package/src/duckdb/extension/parquet/parquet_timestamp.cpp +2 -2
- package/src/duckdb/extension/parquet/parquet_writer.cpp +3 -3
- package/src/duckdb/extension/parquet/zstd_file_system.cpp +3 -3
- package/src/duckdb/src/catalog/catalog.cpp +5 -21
- package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +113 -0
- package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +7 -0
- package/src/duckdb/src/catalog/catalog_entry.cpp +4 -4
- package/src/duckdb/src/catalog/catalog_search_path.cpp +49 -12
- package/src/duckdb/src/catalog/catalog_set.cpp +1 -1
- package/src/duckdb/src/catalog/default/default_types.cpp +9 -84
- package/src/duckdb/src/catalog/dependency_manager.cpp +2 -2
- package/src/duckdb/src/catalog/duck_catalog.cpp +1 -0
- package/src/duckdb/src/common/adbc/adbc.cpp +301 -106
- package/src/duckdb/src/common/adbc/driver_manager.cpp +10 -22
- package/src/duckdb/src/common/arrow/arrow_appender.cpp +12 -12
- package/src/duckdb/src/common/arrow/arrow_wrapper.cpp +7 -7
- package/src/duckdb/src/common/checksum.cpp +1 -1
- package/src/duckdb/src/common/compressed_file_system.cpp +6 -6
- package/src/duckdb/src/common/crypto/md5.cpp +9 -9
- package/src/duckdb/src/common/exception.cpp +4 -1
- package/src/duckdb/src/common/exception_format_value.cpp +19 -14
- package/src/duckdb/src/common/field_writer.cpp +1 -1
- package/src/duckdb/src/common/file_system.cpp +15 -2
- package/src/duckdb/src/common/fsst.cpp +11 -6
- package/src/duckdb/src/common/gzip_file_system.cpp +8 -8
- package/src/duckdb/src/common/hive_partitioning.cpp +1 -1
- package/src/duckdb/src/common/local_file_system.cpp +11 -11
- package/src/duckdb/src/common/operator/cast_operators.cpp +1 -1
- package/src/duckdb/src/common/pipe_file_system.cpp +2 -2
- package/src/duckdb/src/common/radix_partitioning.cpp +2 -2
- package/src/duckdb/src/common/row_operations/row_heap_gather.cpp +1 -1
- package/src/duckdb/src/common/row_operations/row_heap_scatter.cpp +5 -5
- package/src/duckdb/src/common/row_operations/row_match.cpp +1 -1
- package/src/duckdb/src/common/row_operations/row_radix_scatter.cpp +2 -2
- package/src/duckdb/src/common/row_operations/row_scatter.cpp +4 -4
- package/src/duckdb/src/common/serializer/binary_deserializer.cpp +1 -1
- package/src/duckdb/src/common/serializer/binary_serializer.cpp +3 -3
- package/src/duckdb/src/common/serializer.cpp +1 -1
- package/src/duckdb/src/common/sort/comparators.cpp +1 -1
- package/src/duckdb/src/common/sort/merge_sorter.cpp +7 -2
- package/src/duckdb/src/common/sort/partition_state.cpp +2 -2
- package/src/duckdb/src/common/types/bit.cpp +5 -5
- package/src/duckdb/src/common/types/blob.cpp +8 -8
- package/src/duckdb/src/common/types/column/column_data_allocator.cpp +4 -4
- package/src/duckdb/src/common/types/column/column_data_collection.cpp +3 -3
- package/src/duckdb/src/common/types/column/column_data_collection_segment.cpp +1 -1
- package/src/duckdb/src/common/types/column/partitioned_column_data.cpp +2 -2
- package/src/duckdb/src/common/types/hash.cpp +2 -2
- package/src/duckdb/src/common/types/hyperloglog.cpp +22 -21
- package/src/duckdb/src/common/types/list_segment.cpp +77 -49
- package/src/duckdb/src/common/types/row/partitioned_tuple_data.cpp +1 -1
- package/src/duckdb/src/common/types/row/row_data_collection_scanner.cpp +5 -4
- package/src/duckdb/src/common/types/row/tuple_data_allocator.cpp +5 -3
- package/src/duckdb/src/common/types/row/tuple_data_scatter_gather.cpp +59 -24
- package/src/duckdb/src/common/types/string_heap.cpp +1 -1
- package/src/duckdb/src/common/types/value.cpp +3 -2
- package/src/duckdb/src/common/types/vector.cpp +101 -101
- package/src/duckdb/src/common/types/vector_cache.cpp +6 -6
- package/src/duckdb/src/common/types/vector_constants.cpp +2 -1
- package/src/duckdb/src/common/types.cpp +44 -33
- package/src/duckdb/src/common/vector_operations/boolean_operators.cpp +2 -2
- package/src/duckdb/src/common/vector_operations/is_distinct_from.cpp +12 -12
- package/src/duckdb/src/common/vector_operations/vector_hash.cpp +13 -11
- package/src/duckdb/src/common/vector_operations/vector_storage.cpp +1 -1
- package/src/duckdb/src/core_functions/aggregate/algebraic/avg.cpp +30 -33
- package/src/duckdb/src/core_functions/aggregate/algebraic/covar.cpp +0 -4
- package/src/duckdb/src/core_functions/aggregate/distributive/approx_count.cpp +32 -36
- package/src/duckdb/src/core_functions/aggregate/distributive/arg_min_max.cpp +53 -66
- package/src/duckdb/src/core_functions/aggregate/distributive/bitagg.cpp +48 -48
- package/src/duckdb/src/core_functions/aggregate/distributive/bitstring_agg.cpp +44 -44
- package/src/duckdb/src/core_functions/aggregate/distributive/bool.cpp +32 -32
- package/src/duckdb/src/core_functions/aggregate/distributive/entropy.cpp +34 -34
- package/src/duckdb/src/core_functions/aggregate/distributive/kurtosis.cpp +30 -31
- package/src/duckdb/src/core_functions/aggregate/distributive/minmax.cpp +91 -103
- package/src/duckdb/src/core_functions/aggregate/distributive/product.cpp +17 -17
- package/src/duckdb/src/core_functions/aggregate/distributive/skew.cpp +25 -27
- package/src/duckdb/src/core_functions/aggregate/distributive/string_agg.cpp +36 -37
- package/src/duckdb/src/core_functions/aggregate/distributive/sum.cpp +22 -22
- package/src/duckdb/src/core_functions/aggregate/holistic/approximate_quantile.cpp +48 -84
- package/src/duckdb/src/core_functions/aggregate/holistic/mode.cpp +49 -51
- package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +97 -121
- package/src/duckdb/src/core_functions/aggregate/holistic/reservoir_quantile.cpp +62 -99
- package/src/duckdb/src/core_functions/aggregate/nested/histogram.cpp +24 -26
- package/src/duckdb/src/core_functions/aggregate/nested/list.cpp +22 -23
- package/src/duckdb/src/core_functions/aggregate/regression/regr_avg.cpp +16 -18
- package/src/duckdb/src/core_functions/aggregate/regression/regr_intercept.cpp +22 -25
- package/src/duckdb/src/core_functions/aggregate/regression/regr_r2.cpp +19 -24
- package/src/duckdb/src/core_functions/aggregate/regression/regr_sxx_syy.cpp +18 -23
- package/src/duckdb/src/core_functions/aggregate/regression/regr_sxy.cpp +14 -18
- package/src/duckdb/src/core_functions/function_list.cpp +1 -0
- package/src/duckdb/src/core_functions/scalar/blob/base64.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/date/date_part.cpp +45 -45
- package/src/duckdb/src/core_functions/scalar/date/strftime.cpp +2 -2
- package/src/duckdb/src/core_functions/scalar/generic/current_setting.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/generic/least.cpp +2 -2
- package/src/duckdb/src/core_functions/scalar/generic/stats.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/generic/system_functions.cpp +14 -0
- package/src/duckdb/src/core_functions/scalar/list/array_slice.cpp +3 -3
- package/src/duckdb/src/core_functions/scalar/list/flatten.cpp +2 -4
- package/src/duckdb/src/core_functions/scalar/list/list_aggregates.cpp +3 -3
- package/src/duckdb/src/core_functions/scalar/list/list_lambdas.cpp +6 -7
- package/src/duckdb/src/core_functions/scalar/list/list_sort.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/map/cardinality.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/map/map.cpp +2 -2
- package/src/duckdb/src/core_functions/scalar/map/map_concat.cpp +4 -1
- package/src/duckdb/src/core_functions/scalar/map/map_extract.cpp +5 -9
- package/src/duckdb/src/core_functions/scalar/math/numeric.cpp +3 -3
- package/src/duckdb/src/core_functions/scalar/string/starts_with.cpp +3 -2
- package/src/duckdb/src/core_functions/scalar/string/string_split.cpp +4 -4
- package/src/duckdb/src/core_functions/scalar/string/trim.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/union/union_extract.cpp +1 -1
- package/src/duckdb/src/execution/adaptive_filter.cpp +1 -1
- package/src/duckdb/src/execution/expression_executor/execute_case.cpp +10 -10
- package/src/duckdb/src/execution/expression_executor/execute_conjunction.cpp +7 -7
- package/src/duckdb/src/execution/expression_executor.cpp +33 -28
- package/src/duckdb/src/execution/index/art/art.cpp +30 -32
- package/src/duckdb/src/execution/index/art/fixed_size_allocator.cpp +3 -4
- package/src/duckdb/src/execution/join_hashtable.cpp +4 -4
- package/src/duckdb/src/execution/nested_loop_join/nested_loop_join_inner.cpp +4 -4
- package/src/duckdb/src/execution/nested_loop_join/nested_loop_join_mark.cpp +2 -2
- package/src/duckdb/src/execution/operator/aggregate/distinct_aggregate_data.cpp +1 -1
- package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +1 -1
- package/src/duckdb/src/execution/operator/aggregate/physical_streaming_window.cpp +2 -2
- package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +4 -4
- package/src/duckdb/src/execution/operator/filter/physical_filter.cpp +1 -1
- package/src/duckdb/src/execution/operator/helper/physical_reset.cpp +5 -2
- package/src/duckdb/src/execution/operator/helper/physical_set.cpp +5 -1
- package/src/duckdb/src/execution/operator/join/outer_join_marker.cpp +1 -1
- package/src/duckdb/src/execution/operator/join/perfect_hash_join_executor.cpp +1 -1
- package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +2 -2
- package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +4 -4
- package/src/duckdb/src/execution/operator/join/physical_index_join.cpp +3 -3
- package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +3 -3
- package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +3 -3
- package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +1 -1
- package/src/duckdb/src/execution/operator/persistent/buffered_csv_reader.cpp +2 -2
- package/src/duckdb/src/execution/operator/persistent/csv_file_handle.cpp +2 -2
- package/src/duckdb/src/execution/operator/persistent/csv_reader_options.cpp +2 -0
- package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +2 -3
- package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +1 -1
- package/src/duckdb/src/execution/operator/projection/physical_pivot.cpp +2 -2
- package/src/duckdb/src/execution/operator/projection/physical_projection.cpp +1 -1
- package/src/duckdb/src/execution/operator/projection/physical_unnest.cpp +3 -3
- package/src/duckdb/src/execution/operator/scan/physical_column_data_scan.cpp +2 -1
- package/src/duckdb/src/execution/operator/scan/physical_expression_scan.cpp +1 -1
- package/src/duckdb/src/execution/operator/scan/physical_positional_scan.cpp +2 -2
- package/src/duckdb/src/execution/operator/schema/physical_create_type.cpp +1 -1
- package/src/duckdb/src/execution/perfect_aggregate_hashtable.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan/plan_create_table.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan_generator.cpp +2 -2
- package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +1 -1
- package/src/duckdb/src/execution/reservoir_sample.cpp +2 -2
- package/src/duckdb/src/execution/window_segment_tree.cpp +8 -6
- package/src/duckdb/src/function/aggregate/distributive/count.cpp +158 -20
- package/src/duckdb/src/function/aggregate/distributive/first.cpp +66 -74
- package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +13 -13
- package/src/duckdb/src/function/cast/cast_function_set.cpp +1 -1
- package/src/duckdb/src/function/cast/decimal_cast.cpp +1 -1
- package/src/duckdb/src/function/cast/enum_casts.cpp +2 -2
- package/src/duckdb/src/function/cast/string_cast.cpp +11 -11
- package/src/duckdb/src/function/cast/union_casts.cpp +2 -2
- package/src/duckdb/src/function/cast/vector_cast_helpers.cpp +3 -2
- package/src/duckdb/src/function/pragma/pragma_queries.cpp +33 -23
- package/src/duckdb/src/function/scalar/generic/constant_or_null.cpp +1 -1
- package/src/duckdb/src/function/scalar/list/list_concat.cpp +2 -2
- package/src/duckdb/src/function/scalar/list/list_extract.cpp +3 -3
- package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +2 -3
- package/src/duckdb/src/function/scalar/string/concat.cpp +8 -7
- package/src/duckdb/src/function/scalar/string/contains.cpp +4 -4
- package/src/duckdb/src/function/scalar/string/like.cpp +5 -5
- package/src/duckdb/src/function/scalar/string/regexp/regexp_extract_all.cpp +4 -4
- package/src/duckdb/src/function/scalar/string/regexp.cpp +3 -3
- package/src/duckdb/src/function/scalar/string/strip_accents.cpp +1 -1
- package/src/duckdb/src/function/scalar/struct/struct_extract.cpp +1 -1
- package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +25 -23
- package/src/duckdb/src/function/scalar_function.cpp +3 -3
- package/src/duckdb/src/function/table/arrow.cpp +6 -6
- package/src/duckdb/src/function/table/arrow_conversion.cpp +67 -61
- package/src/duckdb/src/function/table/checkpoint.cpp +1 -1
- package/src/duckdb/src/function/table/copy_csv.cpp +11 -7
- package/src/duckdb/src/function/table/glob.cpp +1 -1
- package/src/duckdb/src/function/table/pragma_last_profiling_output.cpp +1 -1
- package/src/duckdb/src/function/table/range.cpp +4 -4
- package/src/duckdb/src/function/table/read_csv.cpp +15 -23
- package/src/duckdb/src/function/table/repeat.cpp +2 -2
- package/src/duckdb/src/function/table/repeat_row.cpp +10 -3
- package/src/duckdb/src/function/table/system/duckdb_functions.cpp +1 -1
- package/src/duckdb/src/function/table/system/test_vector_types.cpp +1 -1
- package/src/duckdb/src/function/table/table_scan.cpp +2 -2
- package/src/duckdb/src/function/table/unnest.cpp +1 -1
- package/src/duckdb/src/function/table/version/pragma_version.cpp +3 -3
- package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +2 -5
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_table_entry.hpp +2 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +6 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_search_path.hpp +8 -2
- package/src/duckdb/src/include/duckdb/catalog/default/builtin_types/types.hpp +97 -0
- package/src/duckdb/src/include/duckdb/common/adbc/adbc.hpp +5 -0
- package/src/duckdb/src/include/duckdb/common/allocator.hpp +15 -4
- package/src/duckdb/src/include/duckdb/common/arrow/arrow_buffer.hpp +7 -2
- package/src/duckdb/src/include/duckdb/common/crypto/md5.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/exception.hpp +5 -2
- package/src/duckdb/src/include/duckdb/common/field_writer.hpp +3 -3
- package/src/duckdb/src/include/duckdb/common/file_system.hpp +11 -0
- package/src/duckdb/src/include/duckdb/common/fsst.hpp +2 -3
- package/src/duckdb/src/include/duckdb/common/radix.hpp +3 -3
- package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +4 -1
- package/src/duckdb/src/include/duckdb/common/serializer.hpp +4 -4
- package/src/duckdb/src/include/duckdb/common/typedefs.hpp +30 -0
- package/src/duckdb/src/include/duckdb/common/types/column/partitioned_column_data.hpp +12 -0
- package/src/duckdb/src/include/duckdb/common/types/hyperloglog.hpp +6 -2
- package/src/duckdb/src/include/duckdb/common/types/null_value.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp +12 -0
- package/src/duckdb/src/include/duckdb/common/types/string_type.hpp +10 -10
- package/src/duckdb/src/include/duckdb/common/types/value.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/vector.hpp +9 -0
- package/src/duckdb/src/include/duckdb/common/types/vector_buffer.hpp +18 -6
- package/src/duckdb/src/include/duckdb/common/vector_operations/aggregate_executor.hpp +112 -76
- package/src/duckdb/src/include/duckdb/common/vector_operations/binary_executor.hpp +16 -15
- package/src/duckdb/src/include/duckdb/common/vector_operations/generic_executor.hpp +11 -11
- package/src/duckdb/src/include/duckdb/common/vector_operations/ternary_executor.hpp +23 -19
- package/src/duckdb/src/include/duckdb/common/vector_operations/unary_executor.hpp +3 -3
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/corr.hpp +20 -24
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/covar.hpp +36 -39
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/stddev.hpp +57 -53
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_count.hpp +8 -9
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_slope.hpp +16 -18
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/sum_helpers.hpp +7 -8
- package/src/duckdb/src/include/duckdb/core_functions/scalar/generic_functions.hpp +9 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/map_functions.hpp +2 -6
- package/src/duckdb/src/include/duckdb/core_functions/scalar/string_functions.hpp +16 -36
- package/src/duckdb/src/include/duckdb/execution/expression_executor_state.hpp +14 -2
- package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +3 -3
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_result_collector.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_buffer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +5 -2
- package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +12 -12
- package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +8 -29
- package/src/duckdb/src/include/duckdb/function/aggregate_state.hpp +95 -0
- package/src/duckdb/src/include/duckdb/function/cast/default_casts.hpp +13 -2
- package/src/duckdb/src/include/duckdb/function/cast/vector_cast_helpers.hpp +4 -4
- package/src/duckdb/src/include/duckdb/function/compression_function.hpp +44 -0
- package/src/duckdb/src/include/duckdb/function/copy_function.hpp +6 -6
- package/src/duckdb/src/include/duckdb/function/function.hpp +3 -3
- package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +3 -1
- package/src/duckdb/src/include/duckdb/function/macro_function.hpp +2 -2
- package/src/duckdb/src/include/duckdb/function/scalar/list/contains_or_position.hpp +3 -3
- package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +2 -2
- package/src/duckdb/src/include/duckdb/function/table_function.hpp +6 -6
- package/src/duckdb/src/include/duckdb/main/capi/cast/utils.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/config.hpp +2 -0
- package/src/duckdb/src/include/duckdb/main/materialized_query_result.hpp +3 -0
- package/src/duckdb/src/include/duckdb/main/pending_query_result.hpp +3 -0
- package/src/duckdb/src/include/duckdb/main/query_result.hpp +17 -0
- package/src/duckdb/src/include/duckdb/main/relation.hpp +12 -0
- package/src/duckdb/src/include/duckdb/main/settings.hpp +9 -0
- package/src/duckdb/src/include/duckdb/main/stream_query_result.hpp +3 -0
- package/src/duckdb/src/include/duckdb/optimizer/join_order/cardinality_estimator.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/base_expression.hpp +6 -12
- package/src/duckdb/src/include/duckdb/parser/constraint.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/expression/between_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/bound_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/case_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/cast_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/collate_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/constant_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/parameter_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/subquery_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression_map.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/parsed_expression.hpp +5 -1
- package/src/duckdb/src/include/duckdb/parser/parser.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/query_node.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/result_modifier.hpp +36 -5
- package/src/duckdb/src/include/duckdb/parser/sql_statement.hpp +7 -4
- package/src/duckdb/src/include/duckdb/parser/statement/select_statement.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref/emptytableref.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/tableref/expressionlistref.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref/subqueryref.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref.hpp +4 -3
- package/src/duckdb/src/include/duckdb/parser/transformer.hpp +107 -91
- package/src/duckdb/src/include/duckdb/planner/bind_context.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/bound_constraint.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/bound_query_node.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +34 -1
- package/src/duckdb/src/include/duckdb/planner/bound_tableref.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/expression/bound_aggregate_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_case_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_conjunction_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_constant_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_function_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_operator_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_reference_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_subquery_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_unnest_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_window_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression.hpp +5 -7
- package/src/duckdb/src/include/duckdb/planner/expression_binder.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/filter/conjunction_filter.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/filter/constant_filter.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/filter/null_filter.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_pivot.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/table_binding.hpp +26 -0
- package/src/duckdb/src/include/duckdb/planner/table_filter.hpp +17 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_pivotref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_analyze.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_compress.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_analyze.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_compress.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/index.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +12 -0
- package/src/duckdb/src/include/duckdb/storage/string_uncompressed.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/chunk_info.hpp +25 -2
- package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +12 -0
- package/src/duckdb/src/include/duckdb/storage/table/scan_state.hpp +22 -0
- package/src/duckdb/src/include/duckdb/transaction/duck_transaction_manager.hpp +2 -2
- package/src/duckdb/src/include/duckdb/transaction/transaction.hpp +2 -2
- package/src/duckdb/src/main/capi/appender-c.cpp +5 -5
- package/src/duckdb/src/main/capi/arrow-c.cpp +10 -10
- package/src/duckdb/src/main/capi/cast/from_decimal-c.cpp +1 -1
- package/src/duckdb/src/main/capi/cast/utils-c.cpp +1 -1
- package/src/duckdb/src/main/capi/config-c.cpp +1 -1
- package/src/duckdb/src/main/capi/data_chunk-c.cpp +17 -17
- package/src/duckdb/src/main/capi/duckdb-c.cpp +4 -4
- package/src/duckdb/src/main/capi/duckdb_value-c.cpp +4 -4
- package/src/duckdb/src/main/capi/logical_types-c.cpp +22 -21
- package/src/duckdb/src/main/capi/pending-c.cpp +6 -6
- package/src/duckdb/src/main/capi/prepared-c.cpp +10 -10
- package/src/duckdb/src/main/capi/replacement_scan-c.cpp +6 -6
- package/src/duckdb/src/main/capi/result-c.cpp +23 -23
- package/src/duckdb/src/main/capi/table_function-c.cpp +1 -1
- package/src/duckdb/src/main/client_context.cpp +3 -3
- package/src/duckdb/src/main/config.cpp +1 -0
- package/src/duckdb/src/main/database_manager.cpp +1 -1
- package/src/duckdb/src/main/error_manager.cpp +1 -1
- package/src/duckdb/src/main/extension/extension_load.cpp +1 -1
- package/src/duckdb/src/main/relation/create_table_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/create_view_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/delete_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/explain_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/insert_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/update_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/write_csv_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/write_parquet_relation.cpp +1 -1
- package/src/duckdb/src/main/relation.cpp +1 -1
- package/src/duckdb/src/main/settings/settings.cpp +22 -6
- package/src/duckdb/src/optimizer/deliminator.cpp +12 -12
- package/src/duckdb/src/optimizer/expression_heuristics.cpp +1 -0
- package/src/duckdb/src/optimizer/filter_combiner.cpp +3 -3
- package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +10 -10
- package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +4 -7
- package/src/duckdb/src/optimizer/matcher/expression_matcher.cpp +1 -1
- package/src/duckdb/src/optimizer/pullup/pullup_projection.cpp +2 -2
- package/src/duckdb/src/optimizer/regex_range_filter.cpp +2 -4
- package/src/duckdb/src/optimizer/rule/distributivity.cpp +2 -2
- package/src/duckdb/src/optimizer/statistics/operator/propagate_filter.cpp +6 -6
- package/src/duckdb/src/optimizer/statistics/operator/propagate_get.cpp +2 -2
- package/src/duckdb/src/parallel/executor.cpp +1 -1
- package/src/duckdb/src/parser/base_expression.cpp +2 -5
- package/src/duckdb/src/parser/column_definition.cpp +5 -8
- package/src/duckdb/src/parser/expression/between_expression.cpp +4 -4
- package/src/duckdb/src/parser/expression/case_expression.cpp +6 -6
- package/src/duckdb/src/parser/expression/cast_expression.cpp +4 -4
- package/src/duckdb/src/parser/expression/collate_expression.cpp +3 -3
- package/src/duckdb/src/parser/expression/columnref_expression.cpp +4 -4
- package/src/duckdb/src/parser/expression/comparison_expression.cpp +3 -3
- package/src/duckdb/src/parser/expression/conjunction_expression.cpp +2 -2
- package/src/duckdb/src/parser/expression/constant_expression.cpp +2 -2
- package/src/duckdb/src/parser/expression/function_expression.cpp +10 -14
- package/src/duckdb/src/parser/expression/lambda_expression.cpp +2 -2
- package/src/duckdb/src/parser/expression/operator_expression.cpp +4 -4
- package/src/duckdb/src/parser/expression/parameter_expression.cpp +2 -2
- package/src/duckdb/src/parser/expression/positional_reference_expression.cpp +3 -3
- package/src/duckdb/src/parser/expression/star_expression.cpp +9 -9
- package/src/duckdb/src/parser/expression/subquery_expression.cpp +5 -5
- package/src/duckdb/src/parser/expression/window_expression.cpp +13 -24
- package/src/duckdb/src/parser/parsed_expression.cpp +34 -18
- package/src/duckdb/src/parser/parsed_expression_iterator.cpp +4 -4
- package/src/duckdb/src/parser/parser.cpp +4 -4
- package/src/duckdb/src/parser/query_node/select_node.cpp +6 -13
- package/src/duckdb/src/parser/query_node.cpp +7 -6
- package/src/duckdb/src/parser/result_modifier.cpp +25 -18
- package/src/duckdb/src/parser/statement/select_statement.cpp +3 -3
- package/src/duckdb/src/parser/tableref/basetableref.cpp +4 -4
- package/src/duckdb/src/parser/tableref/emptytableref.cpp +1 -1
- package/src/duckdb/src/parser/tableref/expressionlistref.cpp +5 -5
- package/src/duckdb/src/parser/tableref/joinref.cpp +6 -6
- package/src/duckdb/src/parser/tableref/pivotref.cpp +10 -15
- package/src/duckdb/src/parser/tableref/subqueryref.cpp +3 -3
- package/src/duckdb/src/parser/tableref/table_function.cpp +3 -3
- package/src/duckdb/src/parser/tableref.cpp +12 -3
- package/src/duckdb/src/parser/transform/expression/transform_array_access.cpp +7 -7
- package/src/duckdb/src/parser/transform/expression/transform_bool_expr.cpp +4 -4
- package/src/duckdb/src/parser/transform/expression/transform_boolean_test.cpp +4 -4
- package/src/duckdb/src/parser/transform/expression/transform_case.cpp +8 -10
- package/src/duckdb/src/parser/transform/expression/transform_cast.cpp +7 -9
- package/src/duckdb/src/parser/transform/expression/transform_coalesce.cpp +3 -5
- package/src/duckdb/src/parser/transform/expression/transform_columnref.cpp +22 -22
- package/src/duckdb/src/parser/transform/expression/transform_constant.cpp +2 -2
- package/src/duckdb/src/parser/transform/expression/transform_expression.cpp +42 -44
- package/src/duckdb/src/parser/transform/expression/transform_function.cpp +70 -75
- package/src/duckdb/src/parser/transform/expression/transform_grouping_function.cpp +4 -4
- package/src/duckdb/src/parser/transform/expression/transform_interval.cpp +7 -7
- package/src/duckdb/src/parser/transform/expression/transform_is_null.cpp +4 -5
- package/src/duckdb/src/parser/transform/expression/transform_lambda.cpp +5 -6
- package/src/duckdb/src/parser/transform/expression/transform_operator.cpp +28 -29
- package/src/duckdb/src/parser/transform/expression/transform_param_ref.cpp +13 -14
- package/src/duckdb/src/parser/transform/expression/transform_positional_reference.cpp +4 -4
- package/src/duckdb/src/parser/transform/expression/transform_subquery.cpp +9 -10
- package/src/duckdb/src/parser/transform/helpers/transform_cte.cpp +28 -32
- package/src/duckdb/src/parser/transform/helpers/transform_groupby.cpp +18 -18
- package/src/duckdb/src/parser/transform/helpers/transform_sample.cpp +3 -3
- package/src/duckdb/src/parser/transform/helpers/transform_typename.cpp +27 -26
- package/src/duckdb/src/parser/transform/statement/transform_alter_sequence.cpp +11 -14
- package/src/duckdb/src/parser/transform/statement/transform_alter_table.cpp +14 -16
- package/src/duckdb/src/parser/transform/statement/transform_attach.cpp +8 -9
- package/src/duckdb/src/parser/transform/statement/transform_call.cpp +2 -5
- package/src/duckdb/src/parser/transform/statement/transform_checkpoint.cpp +4 -6
- package/src/duckdb/src/parser/transform/statement/transform_copy.cpp +22 -23
- package/src/duckdb/src/parser/transform/statement/transform_create_database.cpp +3 -4
- package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +14 -18
- package/src/duckdb/src/parser/transform/statement/transform_create_index.cpp +13 -15
- package/src/duckdb/src/parser/transform/statement/transform_create_schema.cpp +8 -10
- package/src/duckdb/src/parser/transform/statement/transform_create_sequence.cpp +8 -10
- package/src/duckdb/src/parser/transform/statement/transform_create_table.cpp +26 -28
- package/src/duckdb/src/parser/transform/statement/transform_create_table_as.cpp +8 -10
- package/src/duckdb/src/parser/transform/statement/transform_create_type.cpp +12 -15
- package/src/duckdb/src/parser/transform/statement/transform_create_view.cpp +13 -18
- package/src/duckdb/src/parser/transform/statement/transform_delete.cpp +11 -13
- package/src/duckdb/src/parser/transform/statement/transform_detach.cpp +3 -4
- package/src/duckdb/src/parser/transform/statement/transform_drop.cpp +20 -22
- package/src/duckdb/src/parser/transform/statement/transform_explain.cpp +5 -7
- package/src/duckdb/src/parser/transform/statement/transform_export.cpp +5 -6
- package/src/duckdb/src/parser/transform/statement/transform_import.cpp +2 -3
- package/src/duckdb/src/parser/transform/statement/transform_insert.cpp +21 -24
- package/src/duckdb/src/parser/transform/statement/transform_load.cpp +4 -5
- package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +7 -7
- package/src/duckdb/src/parser/transform/statement/transform_pragma.cpp +7 -9
- package/src/duckdb/src/parser/transform/statement/transform_prepare.cpp +11 -19
- package/src/duckdb/src/parser/transform/statement/transform_rename.cpp +12 -14
- package/src/duckdb/src/parser/transform/statement/transform_select.cpp +12 -9
- package/src/duckdb/src/parser/transform/statement/transform_select_node.cpp +34 -34
- package/src/duckdb/src/parser/transform/statement/transform_set.cpp +18 -19
- package/src/duckdb/src/parser/transform/statement/transform_show.cpp +5 -7
- package/src/duckdb/src/parser/transform/statement/transform_show_select.cpp +4 -5
- package/src/duckdb/src/parser/transform/statement/transform_transaction.cpp +3 -5
- package/src/duckdb/src/parser/transform/statement/transform_update.cpp +10 -13
- package/src/duckdb/src/parser/transform/statement/transform_upsert.cpp +4 -4
- package/src/duckdb/src/parser/transform/statement/transform_use.cpp +2 -3
- package/src/duckdb/src/parser/transform/statement/transform_vacuum.cpp +6 -10
- package/src/duckdb/src/parser/transform/tableref/transform_base_tableref.cpp +18 -18
- package/src/duckdb/src/parser/transform/tableref/transform_from.cpp +5 -5
- package/src/duckdb/src/parser/transform/tableref/transform_join.cpp +11 -11
- package/src/duckdb/src/parser/transform/tableref/transform_pivot.cpp +30 -27
- package/src/duckdb/src/parser/transform/tableref/transform_subquery.cpp +5 -5
- package/src/duckdb/src/parser/transform/tableref/transform_table_function.cpp +13 -12
- package/src/duckdb/src/parser/transform/tableref/transform_tableref.cpp +8 -8
- package/src/duckdb/src/parser/transformer.cpp +46 -46
- package/src/duckdb/src/planner/bind_context.cpp +9 -10
- package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +1 -1
- package/src/duckdb/src/planner/binder/expression/bind_lambda.cpp +1 -1
- package/src/duckdb/src/planner/binder/expression/bind_positional_reference_expression.cpp +7 -2
- package/src/duckdb/src/planner/binder/expression/bind_star_expression.cpp +1 -1
- package/src/duckdb/src/planner/binder/expression/bind_subquery_expression.cpp +6 -3
- package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +8 -8
- package/src/duckdb/src/planner/binder/query_node/plan_query_node.cpp +4 -4
- package/src/duckdb/src/planner/binder/statement/bind_create.cpp +13 -5
- package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +2 -2
- package/src/duckdb/src/planner/binder/statement/bind_update.cpp +2 -114
- package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +4 -2
- package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +17 -7
- package/src/duckdb/src/planner/binder.cpp +1 -1
- package/src/duckdb/src/planner/bound_result_modifier.cpp +16 -11
- package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +5 -5
- package/src/duckdb/src/planner/expression/bound_between_expression.cpp +5 -5
- package/src/duckdb/src/planner/expression/bound_case_expression.cpp +5 -5
- package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +3 -3
- package/src/duckdb/src/planner/expression/bound_columnref_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_comparison_expression.cpp +4 -4
- package/src/duckdb/src/planner/expression/bound_conjunction_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_constant_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_function_expression.cpp +3 -4
- package/src/duckdb/src/planner/expression/bound_lambda_expression.cpp +4 -5
- package/src/duckdb/src/planner/expression/bound_lambdaref_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_operator_expression.cpp +3 -4
- package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_reference_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_subquery_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_unnest_expression.cpp +3 -3
- package/src/duckdb/src/planner/expression/bound_window_expression.cpp +8 -21
- package/src/duckdb/src/planner/expression.cpp +15 -0
- package/src/duckdb/src/planner/expression_binder/base_select_binder.cpp +2 -2
- package/src/duckdb/src/planner/expression_binder.cpp +3 -2
- package/src/duckdb/src/planner/expression_iterator.cpp +2 -2
- package/src/duckdb/src/planner/filter/conjunction_filter.cpp +2 -2
- package/src/duckdb/src/planner/filter/constant_filter.cpp +1 -1
- package/src/duckdb/src/planner/logical_operator.cpp +3 -4
- package/src/duckdb/src/planner/logical_operator_visitor.cpp +1 -1
- package/src/duckdb/src/planner/table_filter.cpp +1 -1
- package/src/duckdb/src/storage/arena_allocator.cpp +2 -2
- package/src/duckdb/src/storage/buffer/block_handle.cpp +1 -1
- package/src/duckdb/src/storage/checkpoint/write_overflow_strings_to_disk.cpp +2 -2
- package/src/duckdb/src/storage/checkpoint_manager.cpp +3 -3
- package/src/duckdb/src/storage/compression/bitpacking.cpp +8 -8
- package/src/duckdb/src/storage/compression/dictionary_compression.cpp +36 -36
- package/src/duckdb/src/storage/compression/fixed_size_uncompressed.cpp +11 -11
- package/src/duckdb/src/storage/compression/fsst.cpp +34 -34
- package/src/duckdb/src/storage/compression/rle.cpp +8 -8
- package/src/duckdb/src/storage/compression/string_uncompressed.cpp +13 -13
- package/src/duckdb/src/storage/compression/validity_uncompressed.cpp +11 -11
- package/src/duckdb/src/storage/data_table.cpp +8 -7
- package/src/duckdb/src/storage/index.cpp +1 -3
- package/src/duckdb/src/storage/local_storage.cpp +2 -1
- package/src/duckdb/src/storage/magic_bytes.cpp +1 -1
- package/src/duckdb/src/storage/single_file_block_manager.cpp +3 -3
- package/src/duckdb/src/storage/standard_buffer_manager.cpp +3 -3
- package/src/duckdb/src/storage/statistics/list_stats.cpp +1 -1
- package/src/duckdb/src/storage/statistics/numeric_stats.cpp +1 -1
- package/src/duckdb/src/storage/statistics/string_stats.cpp +15 -14
- package/src/duckdb/src/storage/table/chunk_info.cpp +2 -2
- package/src/duckdb/src/storage/table/column_segment.cpp +3 -3
- package/src/duckdb/src/storage/table/list_column_data.cpp +8 -7
- package/src/duckdb/src/storage/table/row_group.cpp +4 -4
- package/src/duckdb/src/storage/table/standard_column_data.cpp +1 -1
- package/src/duckdb/src/storage/table/update_segment.cpp +12 -12
- package/src/duckdb/src/storage/wal_replay.cpp +5 -6
- package/src/duckdb/src/transaction/cleanup_state.cpp +3 -3
- package/src/duckdb/src/transaction/commit_state.cpp +8 -8
- package/src/duckdb/src/transaction/duck_transaction.cpp +9 -7
- package/src/duckdb/src/transaction/duck_transaction_manager.cpp +16 -16
- package/src/duckdb/src/transaction/rollback_state.cpp +3 -3
- package/src/duckdb/src/verification/prepared_statement_verifier.cpp +1 -1
- package/src/duckdb/src/verification/statement_verifier.cpp +3 -4
- package/src/duckdb/third_party/hyperloglog/hyperloglog.hpp +2 -2
- package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +13479 -13564
- package/src/duckdb/third_party/pcg/pcg_extras.hpp +1 -1
- package/src/duckdb/ub_extension_icu_third_party_icu_i18n.cpp +5 -5
@@ -162,8 +162,8 @@ struct ArrowScalarBaseData {
|
|
162
162
|
|
163
163
|
// append the main data
|
164
164
|
append_data.main_buffer.resize(append_data.main_buffer.size() + sizeof(TGT) * size);
|
165
|
-
auto data = (
|
166
|
-
auto result_data =
|
165
|
+
auto data = UnifiedVectorFormat::GetData<SRC>(format);
|
166
|
+
auto result_data = append_data.main_buffer.GetData<TGT>();
|
167
167
|
|
168
168
|
for (idx_t i = from; i < to; i++) {
|
169
169
|
auto source_idx = format.sel->get_index(i);
|
@@ -210,8 +210,8 @@ struct ArrowEnumData : public ArrowScalarBaseData<TGT> {
|
|
210
210
|
|
211
211
|
// resize the offset buffer - the offset buffer holds the offsets into the child array
|
212
212
|
append_data.main_buffer.resize(append_data.main_buffer.size() + sizeof(uint32_t) * (size + 1));
|
213
|
-
auto data =
|
214
|
-
auto offset_data =
|
213
|
+
auto data = FlatVector::GetData<string_t>(input);
|
214
|
+
auto offset_data = append_data.main_buffer.GetData<uint32_t>();
|
215
215
|
if (append_data.row_count == 0) {
|
216
216
|
// first entry
|
217
217
|
offset_data[0] = 0;
|
@@ -269,10 +269,10 @@ struct ArrowBoolData {
|
|
269
269
|
// we initialize both the validity and the bit set to 1's
|
270
270
|
ResizeValidity(append_data.validity, append_data.row_count + size);
|
271
271
|
ResizeValidity(append_data.main_buffer, append_data.row_count + size);
|
272
|
-
auto data = (
|
272
|
+
auto data = UnifiedVectorFormat::GetData<bool>(format);
|
273
273
|
|
274
|
-
auto result_data =
|
275
|
-
auto validity_data =
|
274
|
+
auto result_data = append_data.main_buffer.GetData<uint8_t>();
|
275
|
+
auto validity_data = append_data.validity.GetData<uint8_t>();
|
276
276
|
uint8_t current_bit;
|
277
277
|
idx_t current_byte;
|
278
278
|
GetBitPosition(append_data.row_count, current_byte, current_bit);
|
@@ -318,7 +318,7 @@ struct ArrowUUIDConverter {
|
|
318
318
|
|
319
319
|
template <class SRC>
|
320
320
|
static void WriteData(data_ptr_t target, SRC input) {
|
321
|
-
UUID::ToString(input, (
|
321
|
+
UUID::ToString(input, char_ptr_cast(target));
|
322
322
|
}
|
323
323
|
};
|
324
324
|
|
@@ -341,8 +341,8 @@ struct ArrowVarcharData {
|
|
341
341
|
|
342
342
|
// resize the offset buffer - the offset buffer holds the offsets into the child array
|
343
343
|
append_data.main_buffer.resize(append_data.main_buffer.size() + sizeof(BUFTYPE) * (size + 1));
|
344
|
-
auto data = (
|
345
|
-
auto offset_data =
|
344
|
+
auto data = UnifiedVectorFormat::GetData<SRC>(format);
|
345
|
+
auto offset_data = append_data.main_buffer.GetData<BUFTYPE>();
|
346
346
|
if (append_data.row_count == 0) {
|
347
347
|
// first entry
|
348
348
|
offset_data[0] = 0;
|
@@ -441,8 +441,8 @@ void AppendListOffsets(ArrowAppendData &append_data, UnifiedVectorFormat &format
|
|
441
441
|
// resize the offset buffer - the offset buffer holds the offsets into the child array
|
442
442
|
idx_t size = to - from;
|
443
443
|
append_data.main_buffer.resize(append_data.main_buffer.size() + sizeof(uint32_t) * (size + 1));
|
444
|
-
auto data = (
|
445
|
-
auto offset_data =
|
444
|
+
auto data = UnifiedVectorFormat::GetData<list_entry_t>(format);
|
445
|
+
auto offset_data = append_data.main_buffer.GetData<uint32_t>();
|
446
446
|
if (append_data.row_count == 0) {
|
447
447
|
// first entry
|
448
448
|
offset_data[0] = 0;
|
@@ -77,7 +77,7 @@ int ResultArrowArrayStreamWrapper::MyStreamGetSchema(struct ArrowArrayStream *st
|
|
77
77
|
if (!stream->release) {
|
78
78
|
return -1;
|
79
79
|
}
|
80
|
-
auto my_stream =
|
80
|
+
auto my_stream = reinterpret_cast<ResultArrowArrayStreamWrapper *>(stream->private_data);
|
81
81
|
if (!my_stream->column_types.empty()) {
|
82
82
|
ArrowConverter::ToArrowSchema(out, my_stream->column_types, my_stream->column_names,
|
83
83
|
my_stream->timezone_config);
|
@@ -90,7 +90,7 @@ int ResultArrowArrayStreamWrapper::MyStreamGetSchema(struct ArrowArrayStream *st
|
|
90
90
|
return -1;
|
91
91
|
}
|
92
92
|
if (result.type == QueryResultType::STREAM_RESULT) {
|
93
|
-
auto &stream_result = (
|
93
|
+
auto &stream_result = result.Cast<StreamQueryResult>();
|
94
94
|
if (!stream_result.IsOpen()) {
|
95
95
|
my_stream->last_error = PreservedError("Query Stream is closed");
|
96
96
|
return -1;
|
@@ -108,14 +108,14 @@ int ResultArrowArrayStreamWrapper::MyStreamGetNext(struct ArrowArrayStream *stre
|
|
108
108
|
if (!stream->release) {
|
109
109
|
return -1;
|
110
110
|
}
|
111
|
-
auto my_stream =
|
111
|
+
auto my_stream = reinterpret_cast<ResultArrowArrayStreamWrapper *>(stream->private_data);
|
112
112
|
auto &result = *my_stream->result;
|
113
113
|
if (result.HasError()) {
|
114
114
|
my_stream->last_error = result.GetErrorObject();
|
115
115
|
return -1;
|
116
116
|
}
|
117
117
|
if (result.type == QueryResultType::STREAM_RESULT) {
|
118
|
-
auto &stream_result = (
|
118
|
+
auto &stream_result = result.Cast<StreamQueryResult>();
|
119
119
|
if (!stream_result.IsOpen()) {
|
120
120
|
// Nothing to output
|
121
121
|
out->release = nullptr;
|
@@ -145,7 +145,7 @@ void ResultArrowArrayStreamWrapper::MyStreamRelease(struct ArrowArrayStream *str
|
|
145
145
|
return;
|
146
146
|
}
|
147
147
|
stream->release = nullptr;
|
148
|
-
delete
|
148
|
+
delete reinterpret_cast<ResultArrowArrayStreamWrapper *>(stream->private_data);
|
149
149
|
}
|
150
150
|
|
151
151
|
const char *ResultArrowArrayStreamWrapper::MyStreamGetLastError(struct ArrowArrayStream *stream) {
|
@@ -153,7 +153,7 @@ const char *ResultArrowArrayStreamWrapper::MyStreamGetLastError(struct ArrowArra
|
|
153
153
|
return "stream was released";
|
154
154
|
}
|
155
155
|
D_ASSERT(stream->private_data);
|
156
|
-
auto my_stream =
|
156
|
+
auto my_stream = reinterpret_cast<ResultArrowArrayStreamWrapper *>(stream->private_data);
|
157
157
|
return my_stream->last_error.Message().c_str();
|
158
158
|
}
|
159
159
|
|
@@ -175,7 +175,7 @@ ResultArrowArrayStreamWrapper::ResultArrowArrayStreamWrapper(unique_ptr<QueryRes
|
|
175
175
|
|
176
176
|
bool ArrowUtil::TryFetchNext(QueryResult &result, unique_ptr<DataChunk> &chunk, PreservedError &error) {
|
177
177
|
if (result.type == QueryResultType::STREAM_RESULT) {
|
178
|
-
auto &stream_result = (
|
178
|
+
auto &stream_result = result.Cast<StreamQueryResult>();
|
179
179
|
if (!stream_result.IsOpen()) {
|
180
180
|
return true;
|
181
181
|
}
|
@@ -9,7 +9,7 @@ hash_t Checksum(uint64_t x) {
|
|
9
9
|
|
10
10
|
uint64_t Checksum(uint8_t *buffer, size_t size) {
|
11
11
|
uint64_t result = 5381;
|
12
|
-
uint64_t *ptr =
|
12
|
+
uint64_t *ptr = reinterpret_cast<uint64_t *>(buffer);
|
13
13
|
size_t i;
|
14
14
|
// for efficiency, we first checksum uint64_t values
|
15
15
|
for (i = 0; i < size / 8; i++) {
|
@@ -115,28 +115,28 @@ void CompressedFile::Close() {
|
|
115
115
|
}
|
116
116
|
|
117
117
|
int64_t CompressedFileSystem::Read(FileHandle &handle, void *buffer, int64_t nr_bytes) {
|
118
|
-
auto &compressed_file = (
|
118
|
+
auto &compressed_file = handle.Cast<CompressedFile>();
|
119
119
|
return compressed_file.ReadData(buffer, nr_bytes);
|
120
120
|
}
|
121
121
|
|
122
122
|
int64_t CompressedFileSystem::Write(FileHandle &handle, void *buffer, int64_t nr_bytes) {
|
123
|
-
auto &compressed_file = (
|
124
|
-
return compressed_file.WriteData((
|
123
|
+
auto &compressed_file = handle.Cast<CompressedFile>();
|
124
|
+
return compressed_file.WriteData(data_ptr_cast(buffer), nr_bytes);
|
125
125
|
}
|
126
126
|
|
127
127
|
void CompressedFileSystem::Reset(FileHandle &handle) {
|
128
|
-
auto &compressed_file = (
|
128
|
+
auto &compressed_file = handle.Cast<CompressedFile>();
|
129
129
|
compressed_file.child_handle->Reset();
|
130
130
|
compressed_file.Initialize(compressed_file.write);
|
131
131
|
}
|
132
132
|
|
133
133
|
int64_t CompressedFileSystem::GetFileSize(FileHandle &handle) {
|
134
|
-
auto &compressed_file = (
|
134
|
+
auto &compressed_file = handle.Cast<CompressedFile>();
|
135
135
|
return compressed_file.child_handle->GetFileSize();
|
136
136
|
}
|
137
137
|
|
138
138
|
bool CompressedFileSystem::OnDiskFile(FileHandle &handle) {
|
139
|
-
auto &compressed_file = (
|
139
|
+
auto &compressed_file = handle.Cast<CompressedFile>();
|
140
140
|
return compressed_file.child_handle->OnDiskFile();
|
141
141
|
}
|
142
142
|
|
@@ -30,7 +30,7 @@ static void ByteReverse(unsigned char *buf, unsigned longs) {
|
|
30
30
|
uint32_t t;
|
31
31
|
do {
|
32
32
|
t = (uint32_t)((unsigned)buf[3] << 8 | buf[2]) << 16 | ((unsigned)buf[1] << 8 | buf[0]);
|
33
|
-
*
|
33
|
+
*reinterpret_cast<uint32_t *>(buf) = t;
|
34
34
|
buf += 4;
|
35
35
|
} while (--longs);
|
36
36
|
}
|
@@ -174,7 +174,7 @@ void MD5Context::MD5Update(const_data_ptr_t input, idx_t len) {
|
|
174
174
|
}
|
175
175
|
memcpy(p, input, t);
|
176
176
|
ByteReverse(in, 16);
|
177
|
-
MD5Transform(buf,
|
177
|
+
MD5Transform(buf, reinterpret_cast<uint32_t *>(in));
|
178
178
|
input += t;
|
179
179
|
len -= t;
|
180
180
|
}
|
@@ -184,7 +184,7 @@ void MD5Context::MD5Update(const_data_ptr_t input, idx_t len) {
|
|
184
184
|
while (len >= 64) {
|
185
185
|
memcpy(in, input, 64);
|
186
186
|
ByteReverse(in, 16);
|
187
|
-
MD5Transform(buf,
|
187
|
+
MD5Transform(buf, reinterpret_cast<uint32_t *>(in));
|
188
188
|
input += 64;
|
189
189
|
len -= 64;
|
190
190
|
}
|
@@ -217,7 +217,7 @@ void MD5Context::Finish(data_ptr_t out_digest) {
|
|
217
217
|
/* Two lots of padding: Pad the first block to 64 bytes */
|
218
218
|
memset(p, 0, count);
|
219
219
|
ByteReverse(in, 16);
|
220
|
-
MD5Transform(buf,
|
220
|
+
MD5Transform(buf, reinterpret_cast<uint32_t *>(in));
|
221
221
|
|
222
222
|
/* Now fill the next block with 56 bytes */
|
223
223
|
memset(in, 0, 56);
|
@@ -228,11 +228,11 @@ void MD5Context::Finish(data_ptr_t out_digest) {
|
|
228
228
|
ByteReverse(in, 14);
|
229
229
|
|
230
230
|
/* Append length in bits and transform */
|
231
|
-
(
|
232
|
-
(
|
231
|
+
(reinterpret_cast<uint32_t *>(in))[14] = bits[0];
|
232
|
+
(reinterpret_cast<uint32_t *>(in))[15] = bits[1];
|
233
233
|
|
234
|
-
MD5Transform(buf,
|
235
|
-
ByteReverse(
|
234
|
+
MD5Transform(buf, reinterpret_cast<uint32_t *>(in));
|
235
|
+
ByteReverse(reinterpret_cast<unsigned char *>(buf), 4);
|
236
236
|
memcpy(out_digest, buf, 16);
|
237
237
|
}
|
238
238
|
|
@@ -260,7 +260,7 @@ string MD5Context::FinishHex() {
|
|
260
260
|
}
|
261
261
|
|
262
262
|
void MD5Context::Add(const char *data) {
|
263
|
-
MD5Update((
|
263
|
+
MD5Update(const_data_ptr_cast(data), strlen(data));
|
264
264
|
}
|
265
265
|
|
266
266
|
} // namespace duckdb
|
@@ -73,8 +73,11 @@ string Exception::ConstructMessageRecursive(const string &msg, std::vector<Excep
|
|
73
73
|
parameter_count++;
|
74
74
|
}
|
75
75
|
if (parameter_count != values.size()) {
|
76
|
-
throw InternalException("
|
76
|
+
throw InternalException("Primary exception: %s\nSecondary exception in ConstructMessageRecursive: Expected %d "
|
77
|
+
"parameters, received %d",
|
78
|
+
msg.c_str(), parameter_count, values.size());
|
77
79
|
}
|
80
|
+
|
78
81
|
#endif
|
79
82
|
return ExceptionFormatValue::Format(msg, values);
|
80
83
|
}
|
@@ -68,22 +68,27 @@ ExceptionFormatValue ExceptionFormatValue::CreateFormatValue(hugeint_t value) {
|
|
68
68
|
}
|
69
69
|
|
70
70
|
string ExceptionFormatValue::Format(const string &msg, std::vector<ExceptionFormatValue> &values) {
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
71
|
+
try {
|
72
|
+
std::vector<duckdb_fmt::basic_format_arg<duckdb_fmt::printf_context>> format_args;
|
73
|
+
for (auto &val : values) {
|
74
|
+
switch (val.type) {
|
75
|
+
case ExceptionFormatValueType::FORMAT_VALUE_TYPE_DOUBLE:
|
76
|
+
format_args.push_back(duckdb_fmt::internal::make_arg<duckdb_fmt::printf_context>(val.dbl_val));
|
77
|
+
break;
|
78
|
+
case ExceptionFormatValueType::FORMAT_VALUE_TYPE_INTEGER:
|
79
|
+
format_args.push_back(duckdb_fmt::internal::make_arg<duckdb_fmt::printf_context>(val.int_val));
|
80
|
+
break;
|
81
|
+
case ExceptionFormatValueType::FORMAT_VALUE_TYPE_STRING:
|
82
|
+
format_args.push_back(duckdb_fmt::internal::make_arg<duckdb_fmt::printf_context>(val.str_val));
|
83
|
+
break;
|
84
|
+
}
|
83
85
|
}
|
86
|
+
return duckdb_fmt::vsprintf(msg, duckdb_fmt::basic_format_args<duckdb_fmt::printf_context>(
|
87
|
+
format_args.data(), static_cast<int>(format_args.size())));
|
88
|
+
} catch (std::exception &ex) {
|
89
|
+
throw InternalException(std::string("Primary exception: ") + msg +
|
90
|
+
"\nSecondary exception in ExceptionFormatValue: " + ex.what());
|
84
91
|
}
|
85
|
-
return duckdb_fmt::vsprintf(msg, duckdb_fmt::basic_format_args<duckdb_fmt::printf_context>(
|
86
|
-
format_args.data(), static_cast<int>(format_args.size())));
|
87
92
|
}
|
88
93
|
|
89
94
|
} // namespace duckdb
|
@@ -114,9 +114,22 @@ string FileSystem::GetEnvVariable(const string &env) {
|
|
114
114
|
return WindowsUtil::UnicodeToUTF8(res_w);
|
115
115
|
}
|
116
116
|
|
117
|
+
static bool StartsWithSingleBackslash(const string &path) {
|
118
|
+
if (path.size() < 2) {
|
119
|
+
return false;
|
120
|
+
}
|
121
|
+
if (path[0] != '/' && path[0] != '\\') {
|
122
|
+
return false;
|
123
|
+
}
|
124
|
+
if (path[1] == '/' || path[1] == '\\') {
|
125
|
+
return false;
|
126
|
+
}
|
127
|
+
return true;
|
128
|
+
}
|
129
|
+
|
117
130
|
bool FileSystem::IsPathAbsolute(const string &path) {
|
118
131
|
// 1) A single backslash or forward-slash
|
119
|
-
if (
|
132
|
+
if (StartsWithSingleBackslash(path)) {
|
120
133
|
return true;
|
121
134
|
}
|
122
135
|
// 2) A disk designator with a backslash (e.g., C:\ or C:/)
|
@@ -131,7 +144,7 @@ bool FileSystem::IsPathAbsolute(const string &path) {
|
|
131
144
|
string FileSystem::NormalizeAbsolutePath(const string &path) {
|
132
145
|
D_ASSERT(IsPathAbsolute(path));
|
133
146
|
auto result = StringUtil::Lower(FileSystem::ConvertSeparators(path));
|
134
|
-
if (
|
147
|
+
if (StartsWithSingleBackslash(result)) {
|
135
148
|
// Path starts with a single backslash or forward slash
|
136
149
|
// prepend drive letter
|
137
150
|
return GetWorkingDirectory().substr(0, 2) + result;
|
@@ -4,27 +4,32 @@
|
|
4
4
|
#include "fsst.h"
|
5
5
|
|
6
6
|
namespace duckdb {
|
7
|
-
|
7
|
+
|
8
|
+
string_t FSSTPrimitives::DecompressValue(void *duckdb_fsst_decoder, Vector &result, const char *compressed_string,
|
8
9
|
idx_t compressed_string_len) {
|
9
10
|
D_ASSERT(result.GetVectorType() == VectorType::FLAT_VECTOR);
|
10
11
|
unsigned char decompress_buffer[StringUncompressed::STRING_BLOCK_LIMIT + 1];
|
12
|
+
auto fsst_decoder = reinterpret_cast<duckdb_fsst_decoder_t *>(duckdb_fsst_decoder);
|
13
|
+
auto compressed_string_ptr = (unsigned char *)compressed_string; // NOLINT
|
11
14
|
auto decompressed_string_size =
|
12
|
-
duckdb_fsst_decompress(
|
15
|
+
duckdb_fsst_decompress(fsst_decoder, compressed_string_len, compressed_string_ptr,
|
13
16
|
StringUncompressed::STRING_BLOCK_LIMIT + 1, &decompress_buffer[0]);
|
14
17
|
D_ASSERT(decompressed_string_size <= StringUncompressed::STRING_BLOCK_LIMIT);
|
15
18
|
|
16
|
-
return StringVector::AddStringOrBlob(result, (
|
19
|
+
return StringVector::AddStringOrBlob(result, const_char_ptr_cast(decompress_buffer), decompressed_string_size);
|
17
20
|
}
|
18
21
|
|
19
|
-
Value FSSTPrimitives::DecompressValue(void *duckdb_fsst_decoder,
|
22
|
+
Value FSSTPrimitives::DecompressValue(void *duckdb_fsst_decoder, const char *compressed_string,
|
20
23
|
idx_t compressed_string_len) {
|
21
24
|
unsigned char decompress_buffer[StringUncompressed::STRING_BLOCK_LIMIT + 1];
|
25
|
+
auto compressed_string_ptr = (unsigned char *)compressed_string; // NOLINT
|
26
|
+
auto fsst_decoder = reinterpret_cast<duckdb_fsst_decoder_t *>(duckdb_fsst_decoder);
|
22
27
|
auto decompressed_string_size =
|
23
|
-
duckdb_fsst_decompress(
|
28
|
+
duckdb_fsst_decompress(fsst_decoder, compressed_string_len, compressed_string_ptr,
|
24
29
|
StringUncompressed::STRING_BLOCK_LIMIT + 1, &decompress_buffer[0]);
|
25
30
|
D_ASSERT(decompressed_string_size <= StringUncompressed::STRING_BLOCK_LIMIT);
|
26
31
|
|
27
|
-
return Value(string((
|
32
|
+
return Value(string(char_ptr_cast(decompress_buffer), decompressed_string_size));
|
28
33
|
}
|
29
34
|
|
30
35
|
} // namespace duckdb
|
@@ -183,19 +183,19 @@ bool MiniZStreamWrapper::Read(StreamData &sd) {
|
|
183
183
|
}
|
184
184
|
|
185
185
|
// actually decompress
|
186
|
-
mz_stream_ptr->next_in =
|
186
|
+
mz_stream_ptr->next_in = sd.in_buff_start;
|
187
187
|
D_ASSERT(sd.in_buff_end - sd.in_buff_start < NumericLimits<int32_t>::Maximum());
|
188
188
|
mz_stream_ptr->avail_in = (uint32_t)(sd.in_buff_end - sd.in_buff_start);
|
189
|
-
mz_stream_ptr->next_out = (
|
189
|
+
mz_stream_ptr->next_out = data_ptr_cast(sd.out_buff_end);
|
190
190
|
mz_stream_ptr->avail_out = (uint32_t)((sd.out_buff.get() + sd.out_buf_size) - sd.out_buff_end);
|
191
191
|
auto ret = duckdb_miniz::mz_inflate(mz_stream_ptr, duckdb_miniz::MZ_NO_FLUSH);
|
192
192
|
if (ret != duckdb_miniz::MZ_OK && ret != duckdb_miniz::MZ_STREAM_END) {
|
193
193
|
throw IOException("Failed to decode gzip stream: %s", duckdb_miniz::mz_error(ret));
|
194
194
|
}
|
195
195
|
// update pointers following inflate()
|
196
|
-
sd.in_buff_start = (data_ptr_t)mz_stream_ptr->next_in;
|
196
|
+
sd.in_buff_start = (data_ptr_t)mz_stream_ptr->next_in; // NOLINT
|
197
197
|
sd.in_buff_end = sd.in_buff_start + mz_stream_ptr->avail_in;
|
198
|
-
sd.out_buff_end = (
|
198
|
+
sd.out_buff_end = data_ptr_cast(mz_stream_ptr->next_out);
|
199
199
|
D_ASSERT(sd.out_buff_end + mz_stream_ptr->avail_out == sd.out_buff.get() + sd.out_buf_size);
|
200
200
|
|
201
201
|
// if stream ended, deallocate inflator
|
@@ -221,14 +221,14 @@ bool MiniZStreamWrapper::Read(StreamData &sd) {
|
|
221
221
|
void MiniZStreamWrapper::Write(CompressedFile &file, StreamData &sd, data_ptr_t uncompressed_data,
|
222
222
|
int64_t uncompressed_size) {
|
223
223
|
// update the src and the total size
|
224
|
-
crc = duckdb_miniz::mz_crc32(crc,
|
224
|
+
crc = duckdb_miniz::mz_crc32(crc, reinterpret_cast<const unsigned char *>(uncompressed_data), uncompressed_size);
|
225
225
|
total_size += uncompressed_size;
|
226
226
|
|
227
227
|
auto remaining = uncompressed_size;
|
228
228
|
while (remaining > 0) {
|
229
229
|
idx_t output_remaining = (sd.out_buff.get() + sd.out_buf_size) - sd.out_buff_start;
|
230
230
|
|
231
|
-
mz_stream_ptr->next_in =
|
231
|
+
mz_stream_ptr->next_in = reinterpret_cast<const unsigned char *>(uncompressed_data);
|
232
232
|
mz_stream_ptr->avail_in = remaining;
|
233
233
|
mz_stream_ptr->next_out = sd.out_buff_start;
|
234
234
|
mz_stream_ptr->avail_out = output_remaining;
|
@@ -360,7 +360,7 @@ string GZipFileSystem::UncompressGZIPString(const string &in) {
|
|
360
360
|
}
|
361
361
|
|
362
362
|
auto bytes_remaining = in.size() - (body_ptr - in.data());
|
363
|
-
mz_stream_ptr->next_in = (
|
363
|
+
mz_stream_ptr->next_in = const_uchar_ptr_cast(body_ptr);
|
364
364
|
mz_stream_ptr->avail_in = bytes_remaining;
|
365
365
|
|
366
366
|
unsigned char decompress_buffer[BUFSIZ];
|
@@ -373,7 +373,7 @@ string GZipFileSystem::UncompressGZIPString(const string &in) {
|
|
373
373
|
if (status != duckdb_miniz::MZ_STREAM_END && status != duckdb_miniz::MZ_OK) {
|
374
374
|
throw IOException("Failed to uncompress");
|
375
375
|
}
|
376
|
-
decompressed.append((
|
376
|
+
decompressed.append(char_ptr_cast(decompress_buffer), mz_stream_ptr->total_out - decompressed.size());
|
377
377
|
}
|
378
378
|
duckdb_miniz::mz_inflateEnd(mz_stream_ptr);
|
379
379
|
if (decompressed.empty()) {
|
@@ -183,7 +183,7 @@ static void TemplatedGetHivePartitionValues(Vector &input, vector<HivePartitionK
|
|
183
183
|
input.ToUnifiedFormat(count, format);
|
184
184
|
|
185
185
|
const auto &sel = *format.sel;
|
186
|
-
const auto data = (
|
186
|
+
const auto data = UnifiedVectorFormat::GetData<T>(format);
|
187
187
|
const auto &validity = format.validity;
|
188
188
|
|
189
189
|
const auto &type = input.GetType();
|
@@ -242,7 +242,7 @@ unique_ptr<FileHandle> LocalFileSystem::OpenFile(const string &path_p, uint8_t f
|
|
242
242
|
}
|
243
243
|
|
244
244
|
void LocalFileSystem::SetFilePointer(FileHandle &handle, idx_t location) {
|
245
|
-
int fd = (
|
245
|
+
int fd = handle.Cast<UnixFileHandle>().fd;
|
246
246
|
off_t offset = lseek(fd, location, SEEK_SET);
|
247
247
|
if (offset == (off_t)-1) {
|
248
248
|
throw IOException("Could not seek to location %lld for file \"%s\": %s", location, handle.path,
|
@@ -251,7 +251,7 @@ void LocalFileSystem::SetFilePointer(FileHandle &handle, idx_t location) {
|
|
251
251
|
}
|
252
252
|
|
253
253
|
idx_t LocalFileSystem::GetFilePointer(FileHandle &handle) {
|
254
|
-
int fd = (
|
254
|
+
int fd = handle.Cast<UnixFileHandle>().fd;
|
255
255
|
off_t position = lseek(fd, 0, SEEK_CUR);
|
256
256
|
if (position == (off_t)-1) {
|
257
257
|
throw IOException("Could not get file position file \"%s\": %s", handle.path, strerror(errno));
|
@@ -260,7 +260,7 @@ idx_t LocalFileSystem::GetFilePointer(FileHandle &handle) {
|
|
260
260
|
}
|
261
261
|
|
262
262
|
void LocalFileSystem::Read(FileHandle &handle, void *buffer, int64_t nr_bytes, idx_t location) {
|
263
|
-
int fd = (
|
263
|
+
int fd = handle.Cast<UnixFileHandle>().fd;
|
264
264
|
int64_t bytes_read = pread(fd, buffer, nr_bytes, location);
|
265
265
|
if (bytes_read == -1) {
|
266
266
|
throw IOException("Could not read from file \"%s\": %s", handle.path, strerror(errno));
|
@@ -272,7 +272,7 @@ void LocalFileSystem::Read(FileHandle &handle, void *buffer, int64_t nr_bytes, i
|
|
272
272
|
}
|
273
273
|
|
274
274
|
int64_t LocalFileSystem::Read(FileHandle &handle, void *buffer, int64_t nr_bytes) {
|
275
|
-
int fd = (
|
275
|
+
int fd = handle.Cast<UnixFileHandle>().fd;
|
276
276
|
int64_t bytes_read = read(fd, buffer, nr_bytes);
|
277
277
|
if (bytes_read == -1) {
|
278
278
|
throw IOException("Could not read from file \"%s\": %s", handle.path, strerror(errno));
|
@@ -281,7 +281,7 @@ int64_t LocalFileSystem::Read(FileHandle &handle, void *buffer, int64_t nr_bytes
|
|
281
281
|
}
|
282
282
|
|
283
283
|
void LocalFileSystem::Write(FileHandle &handle, void *buffer, int64_t nr_bytes, idx_t location) {
|
284
|
-
int fd = (
|
284
|
+
int fd = handle.Cast<UnixFileHandle>().fd;
|
285
285
|
int64_t bytes_written = pwrite(fd, buffer, nr_bytes, location);
|
286
286
|
if (bytes_written == -1) {
|
287
287
|
throw IOException("Could not write file \"%s\": %s", handle.path, strerror(errno));
|
@@ -293,7 +293,7 @@ void LocalFileSystem::Write(FileHandle &handle, void *buffer, int64_t nr_bytes,
|
|
293
293
|
}
|
294
294
|
|
295
295
|
int64_t LocalFileSystem::Write(FileHandle &handle, void *buffer, int64_t nr_bytes) {
|
296
|
-
int fd = (
|
296
|
+
int fd = handle.Cast<UnixFileHandle>().fd;
|
297
297
|
int64_t bytes_written = write(fd, buffer, nr_bytes);
|
298
298
|
if (bytes_written == -1) {
|
299
299
|
throw IOException("Could not write file \"%s\": %s", handle.path, strerror(errno));
|
@@ -302,7 +302,7 @@ int64_t LocalFileSystem::Write(FileHandle &handle, void *buffer, int64_t nr_byte
|
|
302
302
|
}
|
303
303
|
|
304
304
|
int64_t LocalFileSystem::GetFileSize(FileHandle &handle) {
|
305
|
-
int fd = (
|
305
|
+
int fd = handle.Cast<UnixFileHandle>().fd;
|
306
306
|
struct stat s;
|
307
307
|
if (fstat(fd, &s) == -1) {
|
308
308
|
return -1;
|
@@ -311,7 +311,7 @@ int64_t LocalFileSystem::GetFileSize(FileHandle &handle) {
|
|
311
311
|
}
|
312
312
|
|
313
313
|
time_t LocalFileSystem::GetLastModifiedTime(FileHandle &handle) {
|
314
|
-
int fd = (
|
314
|
+
int fd = handle.Cast<UnixFileHandle>().fd;
|
315
315
|
struct stat s;
|
316
316
|
if (fstat(fd, &s) == -1) {
|
317
317
|
return -1;
|
@@ -320,12 +320,12 @@ time_t LocalFileSystem::GetLastModifiedTime(FileHandle &handle) {
|
|
320
320
|
}
|
321
321
|
|
322
322
|
FileType LocalFileSystem::GetFileType(FileHandle &handle) {
|
323
|
-
int fd = (
|
323
|
+
int fd = handle.Cast<UnixFileHandle>().fd;
|
324
324
|
return GetFileTypeInternal(fd);
|
325
325
|
}
|
326
326
|
|
327
327
|
void LocalFileSystem::Truncate(FileHandle &handle, int64_t new_size) {
|
328
|
-
int fd = (
|
328
|
+
int fd = handle.Cast<UnixFileHandle>().fd;
|
329
329
|
if (ftruncate(fd, new_size) != 0) {
|
330
330
|
throw IOException("Could not truncate file \"%s\": %s", handle.path, strerror(errno));
|
331
331
|
}
|
@@ -444,7 +444,7 @@ bool LocalFileSystem::ListFiles(const string &directory, const std::function<voi
|
|
444
444
|
}
|
445
445
|
|
446
446
|
void LocalFileSystem::FileSync(FileHandle &handle) {
|
447
|
-
int fd = (
|
447
|
+
int fd = handle.Cast<UnixFileHandle>().fd;
|
448
448
|
if (fsync(fd) != 0) {
|
449
449
|
throw FatalException("fsync failed!");
|
450
450
|
}
|
@@ -1460,7 +1460,7 @@ bool TryCastToBlob::Operation(string_t input, string_t &result, Vector &result_v
|
|
1460
1460
|
}
|
1461
1461
|
|
1462
1462
|
result = StringVector::EmptyString(result_vector, result_size);
|
1463
|
-
Blob::ToBlob(input, (
|
1463
|
+
Blob::ToBlob(input, data_ptr_cast(result.GetDataWriteable()));
|
1464
1464
|
result.Finalize();
|
1465
1465
|
return true;
|
1466
1466
|
}
|
@@ -33,12 +33,12 @@ void PipeFileSystem::Reset(FileHandle &handle) {
|
|
33
33
|
}
|
34
34
|
|
35
35
|
int64_t PipeFileSystem::Read(FileHandle &handle, void *buffer, int64_t nr_bytes) {
|
36
|
-
auto &pipe = (
|
36
|
+
auto &pipe = handle.Cast<PipeFile>();
|
37
37
|
return pipe.ReadChunk(buffer, nr_bytes);
|
38
38
|
}
|
39
39
|
|
40
40
|
int64_t PipeFileSystem::Write(FileHandle &handle, void *buffer, int64_t nr_bytes) {
|
41
|
-
auto &pipe = (
|
41
|
+
auto &pipe = handle.Cast<PipeFile>();
|
42
42
|
return pipe.WriteChunk(buffer, nr_bytes);
|
43
43
|
}
|
44
44
|
|
@@ -219,8 +219,8 @@ void RadixPartitionedTupleData::RepartitionFinalizeStates(PartitionedTupleData &
|
|
219
219
|
idx_t finished_partition_idx) const {
|
220
220
|
D_ASSERT(old_partitioned_data.GetType() == PartitionedTupleDataType::RADIX &&
|
221
221
|
new_partitioned_data.GetType() == PartitionedTupleDataType::RADIX);
|
222
|
-
const auto &old_radix_partitions = (
|
223
|
-
const auto &new_radix_partitions = (
|
222
|
+
const auto &old_radix_partitions = old_partitioned_data.Cast<RadixPartitionedTupleData>();
|
223
|
+
const auto &new_radix_partitions = new_partitioned_data.Cast<RadixPartitionedTupleData>();
|
224
224
|
const auto old_radix_bits = old_radix_partitions.GetRadixBits();
|
225
225
|
const auto new_radix_bits = new_radix_partitions.GetRadixBits();
|
226
226
|
D_ASSERT(new_radix_bits > old_radix_bits);
|
@@ -29,7 +29,7 @@ static void HeapGatherStringVector(Vector &v, const idx_t vcount, const Selectio
|
|
29
29
|
}
|
30
30
|
auto len = Load<uint32_t>(key_locations[i]);
|
31
31
|
key_locations[i] += sizeof(uint32_t);
|
32
|
-
target[col_idx] = StringVector::AddStringOrBlob(v, string_t((
|
32
|
+
target[col_idx] = StringVector::AddStringOrBlob(v, string_t(const_char_ptr_cast(key_locations[i]), len));
|
33
33
|
key_locations[i] += len;
|
34
34
|
}
|
35
35
|
}
|
@@ -8,7 +8,7 @@ using ValidityBytes = TemplatedValidityMask<uint8_t>;
|
|
8
8
|
|
9
9
|
static void ComputeStringEntrySizes(UnifiedVectorFormat &vdata, idx_t entry_sizes[], const idx_t ser_count,
|
10
10
|
const SelectionVector &sel, const idx_t offset) {
|
11
|
-
auto strings = (
|
11
|
+
auto strings = UnifiedVectorFormat::GetData<string_t>(vdata);
|
12
12
|
for (idx_t i = 0; i < ser_count; i++) {
|
13
13
|
auto idx = sel.get_index(i);
|
14
14
|
auto str_idx = vdata.sel->get_index(idx + offset);
|
@@ -116,14 +116,14 @@ void RowOperations::ComputeEntrySizes(Vector &v, idx_t entry_sizes[], idx_t vcou
|
|
116
116
|
template <class T>
|
117
117
|
static void TemplatedHeapScatter(UnifiedVectorFormat &vdata, const SelectionVector &sel, idx_t count, idx_t col_idx,
|
118
118
|
data_ptr_t *key_locations, data_ptr_t *validitymask_locations, idx_t offset) {
|
119
|
-
auto source = (
|
119
|
+
auto source = UnifiedVectorFormat::GetData<T>(vdata);
|
120
120
|
if (!validitymask_locations) {
|
121
121
|
for (idx_t i = 0; i < count; i++) {
|
122
122
|
auto idx = sel.get_index(i);
|
123
123
|
auto source_idx = vdata.sel->get_index(idx + offset);
|
124
124
|
|
125
125
|
auto target = (T *)key_locations[i];
|
126
|
-
Store<T>(source[source_idx], (
|
126
|
+
Store<T>(source[source_idx], data_ptr_cast(target));
|
127
127
|
key_locations[i] += sizeof(T);
|
128
128
|
}
|
129
129
|
} else {
|
@@ -136,7 +136,7 @@ static void TemplatedHeapScatter(UnifiedVectorFormat &vdata, const SelectionVect
|
|
136
136
|
auto source_idx = vdata.sel->get_index(idx + offset);
|
137
137
|
|
138
138
|
auto target = (T *)key_locations[i];
|
139
|
-
Store<T>(source[source_idx], (
|
139
|
+
Store<T>(source[source_idx], data_ptr_cast(target));
|
140
140
|
key_locations[i] += sizeof(T);
|
141
141
|
|
142
142
|
// set the validitymask
|
@@ -152,7 +152,7 @@ static void HeapScatterStringVector(Vector &v, idx_t vcount, const SelectionVect
|
|
152
152
|
UnifiedVectorFormat vdata;
|
153
153
|
v.ToUnifiedFormat(vcount, vdata);
|
154
154
|
|
155
|
-
auto strings = (
|
155
|
+
auto strings = UnifiedVectorFormat::GetData<string_t>(vdata);
|
156
156
|
if (!validitymask_locations) {
|
157
157
|
for (idx_t i = 0; i < ser_count; i++) {
|
158
158
|
auto idx = sel.get_index(i);
|
@@ -64,7 +64,7 @@ static void TemplatedMatchType(UnifiedVectorFormat &col, Vector &rows, Selection
|
|
64
64
|
idx_t idx_in_entry;
|
65
65
|
ValidityBytes::GetEntryIndex(col_no, entry_idx, idx_in_entry);
|
66
66
|
|
67
|
-
auto data = (
|
67
|
+
auto data = UnifiedVectorFormat::GetData<T>(col);
|
68
68
|
auto ptrs = FlatVector::GetData<data_ptr_t>(rows);
|
69
69
|
idx_t match_count = 0;
|
70
70
|
if (!col.validity.AllValid()) {
|