duckdb 0.8.1-dev51.0 → 0.8.1-dev96.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/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 +52 -51
- 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/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_set.cpp +1 -1
- package/src/duckdb/src/catalog/dependency_manager.cpp +2 -2
- 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/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/tuple_data_allocator.cpp +5 -3
- package/src/duckdb/src/common/types/row/tuple_data_scatter_gather.cpp +17 -17
- package/src/duckdb/src/common/types/string_heap.cpp +1 -1
- package/src/duckdb/src/common/types/value.cpp +2 -2
- package/src/duckdb/src/common/types/vector.cpp +98 -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/distributive/approx_count.cpp +3 -3
- package/src/duckdb/src/core_functions/aggregate/distributive/arg_min_max.cpp +3 -3
- package/src/duckdb/src/core_functions/aggregate/distributive/bitagg.cpp +4 -4
- package/src/duckdb/src/core_functions/aggregate/distributive/bitstring_agg.cpp +12 -11
- package/src/duckdb/src/core_functions/aggregate/distributive/bool.cpp +3 -3
- package/src/duckdb/src/core_functions/aggregate/distributive/entropy.cpp +3 -3
- package/src/duckdb/src/core_functions/aggregate/distributive/kurtosis.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/distributive/minmax.cpp +7 -7
- package/src/duckdb/src/core_functions/aggregate/distributive/product.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/distributive/skew.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/distributive/string_agg.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/holistic/approximate_quantile.cpp +14 -14
- package/src/duckdb/src/core_functions/aggregate/holistic/mode.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +21 -21
- package/src/duckdb/src/core_functions/aggregate/holistic/reservoir_quantile.cpp +18 -19
- package/src/duckdb/src/core_functions/aggregate/nested/histogram.cpp +3 -4
- package/src/duckdb/src/core_functions/aggregate/nested/list.cpp +4 -4
- package/src/duckdb/src/core_functions/aggregate/regression/regr_avg.cpp +4 -4
- package/src/duckdb/src/core_functions/aggregate/regression/regr_intercept.cpp +1 -1
- package/src/duckdb/src/core_functions/aggregate/regression/regr_r2.cpp +1 -1
- package/src/duckdb/src/core_functions/aggregate/regression/regr_sxx_syy.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/regression/regr_sxy.cpp +1 -1
- 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/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 +1 -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 +28 -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/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/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 +2 -2
- package/src/duckdb/src/function/aggregate/distributive/first.cpp +5 -5
- package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +8 -8
- 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/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 +4 -4
- 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 +4 -4
- package/src/duckdb/src/function/table/repeat.cpp +2 -2
- package/src/duckdb/src/function/table/repeat_row.cpp +2 -2
- 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 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +2 -2
- 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 +2 -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 +20 -19
- 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 +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/covar.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/stddev.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_count.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_slope.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/sum_helpers.hpp +2 -2
- 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/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/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/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/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/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 +1 -1
- 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 +1 -1
- 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/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/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/optimizer/deliminator.cpp +12 -12
- 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/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/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 +3 -3
- 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 +69 -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 +27 -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 +6 -6
- 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_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 +1 -1
- package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +2 -2
- package/src/duckdb/src/planner/binder/statement/bind_update.cpp +1 -1
- package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +1 -1
- package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +2 -2
- 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_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 +2 -2
- 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 +3 -3
- 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 +1 -1
- 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/pcg/pcg_extras.hpp +1 -1
@@ -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()) {
|
@@ -9,7 +9,7 @@ template <class T>
|
|
9
9
|
void TemplatedRadixScatter(UnifiedVectorFormat &vdata, const SelectionVector &sel, idx_t add_count,
|
10
10
|
data_ptr_t *key_locations, const bool desc, const bool has_null, const bool nulls_first,
|
11
11
|
const idx_t offset) {
|
12
|
-
auto source = (
|
12
|
+
auto source = UnifiedVectorFormat::GetData<T>(vdata);
|
13
13
|
if (has_null) {
|
14
14
|
auto &validity = vdata.validity;
|
15
15
|
const data_t valid = nulls_first ? 1 : 0;
|
@@ -54,7 +54,7 @@ void TemplatedRadixScatter(UnifiedVectorFormat &vdata, const SelectionVector &se
|
|
54
54
|
void RadixScatterStringVector(UnifiedVectorFormat &vdata, const SelectionVector &sel, idx_t add_count,
|
55
55
|
data_ptr_t *key_locations, const bool desc, const bool has_null, const bool nulls_first,
|
56
56
|
const idx_t prefix_len, idx_t offset) {
|
57
|
-
auto source = (
|
57
|
+
auto source = UnifiedVectorFormat::GetData<string_t>(vdata);
|
58
58
|
if (has_null) {
|
59
59
|
auto &validity = vdata.validity;
|
60
60
|
const data_t valid = nulls_first ? 1 : 0;
|
@@ -20,7 +20,7 @@ using ValidityBytes = RowLayout::ValidityBytes;
|
|
20
20
|
template <class T>
|
21
21
|
static void TemplatedScatter(UnifiedVectorFormat &col, Vector &rows, const SelectionVector &sel, const idx_t count,
|
22
22
|
const idx_t col_offset, const idx_t col_no) {
|
23
|
-
auto data = (
|
23
|
+
auto data = UnifiedVectorFormat::GetData<T>(col);
|
24
24
|
auto ptrs = FlatVector::GetData<data_ptr_t>(rows);
|
25
25
|
|
26
26
|
if (!col.validity.AllValid()) {
|
@@ -50,7 +50,7 @@ static void TemplatedScatter(UnifiedVectorFormat &col, Vector &rows, const Selec
|
|
50
50
|
|
51
51
|
static void ComputeStringEntrySizes(const UnifiedVectorFormat &col, idx_t entry_sizes[], const SelectionVector &sel,
|
52
52
|
const idx_t count, const idx_t offset = 0) {
|
53
|
-
auto data = (
|
53
|
+
auto data = UnifiedVectorFormat::GetData<string_t>(col);
|
54
54
|
for (idx_t i = 0; i < count; i++) {
|
55
55
|
auto idx = sel.get_index(i);
|
56
56
|
auto col_idx = col.sel->get_index(idx) + offset;
|
@@ -64,7 +64,7 @@ static void ComputeStringEntrySizes(const UnifiedVectorFormat &col, idx_t entry_
|
|
64
64
|
static void ScatterStringVector(UnifiedVectorFormat &col, Vector &rows, data_ptr_t str_locations[],
|
65
65
|
const SelectionVector &sel, const idx_t count, const idx_t col_offset,
|
66
66
|
const idx_t col_no) {
|
67
|
-
auto string_data = (
|
67
|
+
auto string_data = UnifiedVectorFormat::GetData<string_t>(col);
|
68
68
|
auto ptrs = FlatVector::GetData<data_ptr_t>(rows);
|
69
69
|
|
70
70
|
// Write out zero length to avoid swizzling problems.
|
@@ -81,7 +81,7 @@ static void ScatterStringVector(UnifiedVectorFormat &col, Vector &rows, data_ptr
|
|
81
81
|
Store<string_t>(string_data[col_idx], row + col_offset);
|
82
82
|
} else {
|
83
83
|
const auto &str = string_data[col_idx];
|
84
|
-
string_t inserted((
|
84
|
+
string_t inserted(const_char_ptr_cast(str_locations[i]), str.GetSize());
|
85
85
|
memcpy(inserted.GetDataWriteable(), str.GetData(), str.GetSize());
|
86
86
|
str_locations[i] += str.GetSize();
|
87
87
|
inserted.Finalize();
|
@@ -125,7 +125,7 @@ string BinaryDeserializer::ReadString() {
|
|
125
125
|
}
|
126
126
|
auto buffer = make_unsafe_uniq_array<data_t>(size);
|
127
127
|
ReadData(buffer.get(), size);
|
128
|
-
return string((
|
128
|
+
return string(const_char_ptr_cast(buffer.get()), size);
|
129
129
|
}
|
130
130
|
|
131
131
|
interval_t BinaryDeserializer::ReadInterval() {
|
@@ -129,7 +129,7 @@ void BinarySerializer::WriteValue(const string &value) {
|
|
129
129
|
auto len = value.length();
|
130
130
|
Write<uint32_t>((uint32_t)len);
|
131
131
|
if (len > 0) {
|
132
|
-
WriteData(
|
132
|
+
WriteData(value.c_str(), len);
|
133
133
|
}
|
134
134
|
}
|
135
135
|
|
@@ -137,7 +137,7 @@ void BinarySerializer::WriteValue(const string_t value) {
|
|
137
137
|
auto len = value.GetSize();
|
138
138
|
Write<uint32_t>((uint32_t)len);
|
139
139
|
if (len > 0) {
|
140
|
-
WriteData(
|
140
|
+
WriteData(value.GetDataUnsafe(), len);
|
141
141
|
}
|
142
142
|
}
|
143
143
|
|
@@ -145,7 +145,7 @@ void BinarySerializer::WriteValue(const char *value) {
|
|
145
145
|
auto len = strlen(value);
|
146
146
|
Write<uint32_t>((uint32_t)len);
|
147
147
|
if (len > 0) {
|
148
|
-
WriteData(
|
148
|
+
WriteData(value, len);
|
149
149
|
}
|
150
150
|
}
|
151
151
|
|
@@ -10,7 +10,7 @@ string Deserializer::Read() {
|
|
10
10
|
}
|
11
11
|
auto buffer = make_unsafe_uniq_array<data_t>(size);
|
12
12
|
ReadData(buffer.get(), size);
|
13
|
-
return string((
|
13
|
+
return string(const_char_ptr_cast(buffer.get()), size);
|
14
14
|
}
|
15
15
|
|
16
16
|
void Deserializer::ReadStringVector(vector<string> &list) {
|
@@ -167,7 +167,7 @@ int Comparators::CompareStringAndAdvance(data_ptr_t &left_ptr, data_ptr_t &right
|
|
167
167
|
uint32_t right_string_size = Load<uint32_t>(right_ptr);
|
168
168
|
left_ptr += sizeof(uint32_t);
|
169
169
|
right_ptr += sizeof(uint32_t);
|
170
|
-
auto memcmp_res = memcmp((
|
170
|
+
auto memcmp_res = memcmp(const_char_ptr_cast(left_ptr), const_char_ptr_cast(right_ptr),
|
171
171
|
std::min<uint32_t>(left_string_size, right_string_size));
|
172
172
|
|
173
173
|
left_ptr += left_string_size;
|
@@ -544,7 +544,9 @@ void MergeSorter::MergeData(SortedData &result_data, SortedData &l_data, SortedD
|
|
544
544
|
const bool &l_smaller = left_smaller[copied + i];
|
545
545
|
const bool r_smaller = !l_smaller;
|
546
546
|
const auto &entry_size = next_entry_sizes[copied + i];
|
547
|
-
memcpy(result_heap_ptr,
|
547
|
+
memcpy(result_heap_ptr,
|
548
|
+
reinterpret_cast<data_ptr_t>(l_smaller * CastPointerToValue(l_heap_ptr) +
|
549
|
+
r_smaller * CastPointerToValue(r_heap_ptr)),
|
548
550
|
entry_size);
|
549
551
|
D_ASSERT(Load<uint32_t>(result_heap_ptr) == entry_size);
|
550
552
|
result_heap_ptr += entry_size;
|
@@ -585,7 +587,10 @@ void MergeSorter::MergeRows(data_ptr_t &l_ptr, idx_t &l_entry_idx, const idx_t &
|
|
585
587
|
const bool &l_smaller = left_smaller[copied + i];
|
586
588
|
const bool r_smaller = !l_smaller;
|
587
589
|
// Use comparison bool (0 or 1) to copy an entry from either side
|
588
|
-
FastMemcpy(
|
590
|
+
FastMemcpy(
|
591
|
+
target_ptr,
|
592
|
+
reinterpret_cast<data_ptr_t>(l_smaller * CastPointerToValue(l_ptr) + r_smaller * CastPointerToValue(r_ptr)),
|
593
|
+
entry_size);
|
589
594
|
target_ptr += entry_size;
|
590
595
|
// Use the comparison bool to increment entries and pointers
|
591
596
|
l_entry_idx += l_smaller;
|
@@ -124,8 +124,8 @@ void PartitionGlobalSinkState::ResizeGroupingData(idx_t cardinality) {
|
|
124
124
|
|
125
125
|
void PartitionGlobalSinkState::SyncLocalPartition(GroupingPartition &local_partition, GroupingAppend &local_append) {
|
126
126
|
// We are done if the local_partition is right sized.
|
127
|
-
auto local_radix =
|
128
|
-
if (local_radix
|
127
|
+
auto &local_radix = local_partition->Cast<RadixPartitionedColumnData>();
|
128
|
+
if (local_radix.GetRadixBits() == grouping_data->GetRadixBits()) {
|
129
129
|
return;
|
130
130
|
}
|
131
131
|
|
@@ -20,7 +20,7 @@ idx_t Bit::ComputeBitstringLen(idx_t len) {
|
|
20
20
|
}
|
21
21
|
|
22
22
|
static inline idx_t GetBitPadding(const string_t &bit_string) {
|
23
|
-
auto data = (
|
23
|
+
auto data = const_data_ptr_cast(bit_string.GetData());
|
24
24
|
D_ASSERT(idx_t(data[0]) <= 8);
|
25
25
|
return data[0];
|
26
26
|
}
|
@@ -61,7 +61,7 @@ void Bit::SetEmptyBitString(string_t &target, idx_t len) {
|
|
61
61
|
|
62
62
|
// **** casting functions ****
|
63
63
|
void Bit::ToString(string_t bits, char *output) {
|
64
|
-
auto data = (
|
64
|
+
auto data = const_data_ptr_cast(bits.GetData());
|
65
65
|
auto len = bits.GetSize();
|
66
66
|
|
67
67
|
idx_t padding = GetBitPadding(bits);
|
@@ -84,7 +84,7 @@ string Bit::ToString(string_t str) {
|
|
84
84
|
}
|
85
85
|
|
86
86
|
bool Bit::TryGetBitStringSize(string_t str, idx_t &str_len, string *error_message) {
|
87
|
-
auto data = (
|
87
|
+
auto data = const_data_ptr_cast(str.GetData());
|
88
88
|
auto len = str.GetSize();
|
89
89
|
str_len = 0;
|
90
90
|
for (idx_t i = 0; i < len; i++) {
|
@@ -92,7 +92,7 @@ bool Bit::TryGetBitStringSize(string_t str, idx_t &str_len, string *error_messag
|
|
92
92
|
str_len++;
|
93
93
|
} else {
|
94
94
|
string error = StringUtil::Format("Invalid character encountered in string -> bit conversion: '%s'",
|
95
|
-
string((
|
95
|
+
string(const_char_ptr_cast(data) + i, 1));
|
96
96
|
HandleCastError::AssignError(error, error_message);
|
97
97
|
return false;
|
98
98
|
}
|
@@ -107,7 +107,7 @@ bool Bit::TryGetBitStringSize(string_t str, idx_t &str_len, string *error_messag
|
|
107
107
|
}
|
108
108
|
|
109
109
|
void Bit::ToBit(string_t str, string_t &output_str) {
|
110
|
-
auto data = (
|
110
|
+
auto data = const_data_ptr_cast(str.GetData());
|
111
111
|
auto len = str.GetSize();
|
112
112
|
auto output = output_str.GetDataWriteable();
|
113
113
|
|
@@ -24,7 +24,7 @@ bool IsRegularCharacter(data_t c) {
|
|
24
24
|
}
|
25
25
|
|
26
26
|
idx_t Blob::GetStringSize(string_t blob) {
|
27
|
-
auto data = (
|
27
|
+
auto data = const_data_ptr_cast(blob.GetData());
|
28
28
|
auto len = blob.GetSize();
|
29
29
|
idx_t str_len = 0;
|
30
30
|
for (idx_t i = 0; i < len; i++) {
|
@@ -40,7 +40,7 @@ idx_t Blob::GetStringSize(string_t blob) {
|
|
40
40
|
}
|
41
41
|
|
42
42
|
void Blob::ToString(string_t blob, char *output) {
|
43
|
-
auto data = (
|
43
|
+
auto data = const_data_ptr_cast(blob.GetData());
|
44
44
|
auto len = blob.GetSize();
|
45
45
|
idx_t str_idx = 0;
|
46
46
|
for (idx_t i = 0; i < len; i++) {
|
@@ -70,7 +70,7 @@ string Blob::ToString(string_t blob) {
|
|
70
70
|
}
|
71
71
|
|
72
72
|
bool Blob::TryGetBlobSize(string_t str, idx_t &str_len, string *error_message) {
|
73
|
-
auto data = (
|
73
|
+
auto data = const_data_ptr_cast(str.GetData());
|
74
74
|
auto len = str.GetSize();
|
75
75
|
str_len = 0;
|
76
76
|
for (idx_t i = 0; i < len; i++) {
|
@@ -84,7 +84,7 @@ bool Blob::TryGetBlobSize(string_t str, idx_t &str_len, string *error_message) {
|
|
84
84
|
if (data[i + 1] != 'x' || Blob::HEX_MAP[data[i + 2]] < 0 || Blob::HEX_MAP[data[i + 3]] < 0) {
|
85
85
|
string error =
|
86
86
|
StringUtil::Format("Invalid hex escape code encountered in string -> blob conversion: %s",
|
87
|
-
string((
|
87
|
+
string(const_char_ptr_cast(data) + i, 4));
|
88
88
|
HandleCastError::AssignError(error, error_message);
|
89
89
|
return false;
|
90
90
|
}
|
@@ -112,7 +112,7 @@ idx_t Blob::GetBlobSize(string_t str) {
|
|
112
112
|
}
|
113
113
|
|
114
114
|
void Blob::ToBlob(string_t str, data_ptr_t output) {
|
115
|
-
auto data = (
|
115
|
+
auto data = const_data_ptr_cast(str.GetData());
|
116
116
|
auto len = str.GetSize();
|
117
117
|
idx_t blob_idx = 0;
|
118
118
|
for (idx_t i = 0; i < len; i++) {
|
@@ -137,7 +137,7 @@ void Blob::ToBlob(string_t str, data_ptr_t output) {
|
|
137
137
|
string Blob::ToBlob(string_t str) {
|
138
138
|
auto blob_len = GetBlobSize(str);
|
139
139
|
auto buffer = make_unsafe_uniq_array<char>(blob_len);
|
140
|
-
Blob::ToBlob(str, (
|
140
|
+
Blob::ToBlob(str, data_ptr_cast(buffer.get()));
|
141
141
|
return string(buffer.get(), blob_len);
|
142
142
|
}
|
143
143
|
|
@@ -149,7 +149,7 @@ idx_t Blob::ToBase64Size(string_t blob) {
|
|
149
149
|
}
|
150
150
|
|
151
151
|
void Blob::ToBase64(string_t blob, char *output) {
|
152
|
-
auto input_data = (
|
152
|
+
auto input_data = const_data_ptr_cast(blob.GetData());
|
153
153
|
auto input_size = blob.GetSize();
|
154
154
|
idx_t out_idx = 0;
|
155
155
|
idx_t i;
|
@@ -239,7 +239,7 @@ uint32_t DecodeBase64Bytes(const string_t &str, const_data_ptr_t input_data, idx
|
|
239
239
|
|
240
240
|
void Blob::FromBase64(string_t str, data_ptr_t output, idx_t output_size) {
|
241
241
|
D_ASSERT(output_size == FromBase64Size(str));
|
242
|
-
auto input_data = (
|
242
|
+
auto input_data = const_data_ptr_cast(str.GetData());
|
243
243
|
auto input_size = str.GetSize();
|
244
244
|
if (input_size == 0) {
|
245
245
|
return;
|
@@ -71,7 +71,7 @@ BufferHandle ColumnDataAllocator::AllocateBlock(idx_t size) {
|
|
71
71
|
void ColumnDataAllocator::AllocateEmptyBlock(idx_t size) {
|
72
72
|
auto allocation_amount = MaxValue<idx_t>(NextPowerOfTwo(size), 4096);
|
73
73
|
if (!blocks.empty()) {
|
74
|
-
|
74
|
+
idx_t last_capacity = blocks.back().capacity;
|
75
75
|
auto next_capacity = MinValue<idx_t>(last_capacity * 2, last_capacity + Storage::BLOCK_SIZE);
|
76
76
|
allocation_amount = MaxValue<idx_t>(next_capacity, allocation_amount);
|
77
77
|
}
|
@@ -162,10 +162,10 @@ data_ptr_t ColumnDataAllocator::GetDataPointer(ChunkManagementState &state, uint
|
|
162
162
|
// in-memory allocator: construct pointer from block_id and offset
|
163
163
|
if (sizeof(uintptr_t) == sizeof(uint32_t)) {
|
164
164
|
uintptr_t pointer_value = uintptr_t(block_id);
|
165
|
-
return (data_ptr_t)pointer_value;
|
165
|
+
return (data_ptr_t)pointer_value; // NOLINT - convert from pointer value back to pointer
|
166
166
|
} else if (sizeof(uintptr_t) == sizeof(uint64_t)) {
|
167
167
|
uintptr_t pointer_value = (uintptr_t(offset) << 32) | uintptr_t(block_id);
|
168
|
-
return (data_ptr_t)pointer_value;
|
168
|
+
return (data_ptr_t)pointer_value; // NOLINT - convert from pointer value back to pointer
|
169
169
|
} else {
|
170
170
|
throw InternalException("ColumnDataCollection: Architecture not supported!?");
|
171
171
|
}
|
@@ -196,7 +196,7 @@ void ColumnDataAllocator::UnswizzlePointers(ChunkManagementState &state, Vector
|
|
196
196
|
// at least one string must be non-inlined, otherwise this function should not be called
|
197
197
|
D_ASSERT(i < end);
|
198
198
|
|
199
|
-
auto base_ptr = (
|
199
|
+
auto base_ptr = char_ptr_cast(GetDataPointer(state, block_id, offset));
|
200
200
|
if (strings[i].GetData() == base_ptr) {
|
201
201
|
// pointers are still valid
|
202
202
|
return;
|
@@ -454,7 +454,7 @@ void ColumnDataCopy<string_t>(ColumnDataMetaData &meta_data, const UnifiedVector
|
|
454
454
|
// 'append_count' is less if we cannot fit that amount of non-inlined strings on one buffer-managed block
|
455
455
|
idx_t append_count;
|
456
456
|
idx_t heap_size = 0;
|
457
|
-
const auto source_entries = (
|
457
|
+
const auto source_entries = UnifiedVectorFormat::GetData<string_t>(source_data);
|
458
458
|
for (append_count = 0; append_count < vector_remaining; append_count++) {
|
459
459
|
auto source_idx = source_data.sel->get_index(offset + append_count);
|
460
460
|
if (!source_data.validity.RowIsValid(source_idx)) {
|
@@ -505,7 +505,7 @@ void ColumnDataCopy<string_t>(ColumnDataMetaData &meta_data, const UnifiedVector
|
|
505
505
|
target_validity.SetAllValid(STANDARD_VECTOR_SIZE);
|
506
506
|
}
|
507
507
|
|
508
|
-
auto target_entries =
|
508
|
+
auto target_entries = reinterpret_cast<string_t *>(base_ptr);
|
509
509
|
for (idx_t i = 0; i < append_count; i++) {
|
510
510
|
auto source_idx = source_data.sel->get_index(offset + i);
|
511
511
|
auto target_idx = current_segment.count + i;
|
@@ -520,7 +520,7 @@ void ColumnDataCopy<string_t>(ColumnDataMetaData &meta_data, const UnifiedVector
|
|
520
520
|
} else {
|
521
521
|
D_ASSERT(heap_ptr != nullptr);
|
522
522
|
memcpy(heap_ptr, source_entry.GetData(), source_entry.GetSize());
|
523
|
-
target_entry = string_t((
|
523
|
+
target_entry = string_t(const_char_ptr_cast(heap_ptr), source_entry.GetSize());
|
524
524
|
heap_ptr += source_entry.GetSize();
|
525
525
|
}
|
526
526
|
}
|
@@ -14,7 +14,7 @@ idx_t ColumnDataCollectionSegment::GetDataSize(idx_t type_size) {
|
|
14
14
|
}
|
15
15
|
|
16
16
|
validity_t *ColumnDataCollectionSegment::GetValidityPointer(data_ptr_t base_ptr, idx_t type_size) {
|
17
|
-
return
|
17
|
+
return reinterpret_cast<validity_t *>(base_ptr + GetDataSize(type_size));
|
18
18
|
}
|
19
19
|
|
20
20
|
VectorDataIndex ColumnDataCollectionSegment::AllocateVectorInternal(const LogicalType &type, ChunkMetaData &chunk_meta,
|