duckdb 0.10.1-dev9.0 → 0.10.2-dev0.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/.github/workflows/NodeJS.yml +9 -16
- package/binding.gyp +4 -1
- package/package.json +1 -1
- package/src/database.cpp +1 -0
- package/src/duckdb/extension/icu/icu-strptime.cpp +46 -4
- package/src/duckdb/extension/icu/icu-table-range.cpp +5 -0
- package/src/duckdb/extension/icu/icu-timezone.cpp +28 -4
- package/src/duckdb/extension/json/buffered_json_reader.cpp +6 -5
- package/src/duckdb/extension/json/include/buffered_json_reader.hpp +3 -3
- package/src/duckdb/extension/json/include/json_transform.hpp +2 -0
- package/src/duckdb/extension/json/json_functions/json_create.cpp +6 -0
- package/src/duckdb/extension/json/json_functions/json_transform.cpp +8 -9
- package/src/duckdb/extension/json/json_functions.cpp +1 -2
- package/src/duckdb/extension/json/json_scan.cpp +1 -0
- package/src/duckdb/extension/parquet/column_reader.cpp +17 -1
- package/src/duckdb/extension/parquet/column_writer.cpp +151 -20
- package/src/duckdb/extension/parquet/include/column_writer.hpp +3 -4
- package/src/duckdb/extension/parquet/parquet_extension.cpp +14 -9
- package/src/duckdb/extension/parquet/parquet_timestamp.cpp +10 -0
- package/src/duckdb/extension/parquet/parquet_writer.cpp +4 -0
- package/src/duckdb/src/catalog/catalog.cpp +94 -10
- package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +9 -5
- package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +1 -0
- package/src/duckdb/src/catalog/catalog_entry/ub_duckdb_catalog_entries.cpp +16 -0
- package/src/duckdb/src/catalog/catalog_entry/view_catalog_entry.cpp +28 -0
- package/src/duckdb/src/catalog/default/default_functions.cpp +3 -0
- package/src/duckdb/src/catalog/default/default_views.cpp +3 -3
- package/src/duckdb/src/catalog/default/ub_duckdb_catalog_default_entries.cpp +5 -0
- package/src/duckdb/src/catalog/dependency_catalog_set.cpp +1 -3
- package/src/duckdb/src/catalog/dependency_manager.cpp +2 -5
- package/src/duckdb/src/catalog/ub_duckdb_catalog.cpp +10 -0
- package/src/duckdb/src/common/adbc/adbc.cpp +1 -1
- package/src/duckdb/src/common/adbc/driver_manager.cpp +2 -1
- package/src/duckdb/src/common/adbc/nanoarrow/ub_duckdb_adbc_nanoarrow.cpp +5 -0
- package/src/duckdb/src/common/adbc/ub_duckdb_adbc.cpp +3 -0
- package/src/duckdb/src/common/allocator.cpp +34 -8
- package/src/duckdb/src/common/arrow/appender/fixed_size_list_data.cpp +39 -0
- package/src/duckdb/src/common/arrow/appender/ub_duckdb_common_arrow_appender.cpp +6 -0
- package/src/duckdb/src/common/arrow/appender/union_data.cpp +2 -1
- package/src/duckdb/src/common/arrow/arrow_appender.cpp +5 -5
- package/src/duckdb/src/common/arrow/arrow_converter.cpp +17 -0
- package/src/duckdb/src/common/arrow/ub_duckdb_common_arrow.cpp +4 -0
- package/src/duckdb/src/common/compressed_file_system.cpp +1 -0
- package/src/duckdb/src/common/crypto/ub_duckdb_common_crypto.cpp +2 -0
- package/src/duckdb/src/common/enum_util.cpp +153 -13
- package/src/duckdb/src/common/enums/logical_operator_type.cpp +0 -2
- package/src/duckdb/src/common/enums/physical_operator_type.cpp +2 -2
- package/src/duckdb/src/common/enums/ub_duckdb_common_enums.cpp +12 -0
- package/src/duckdb/src/common/exception/conversion_exception.cpp +23 -0
- package/src/duckdb/src/common/exception.cpp +7 -14
- package/src/duckdb/src/common/extra_type_info.cpp +6 -5
- package/src/duckdb/src/common/gzip_file_system.cpp +5 -4
- package/src/duckdb/src/common/local_file_system.cpp +85 -10
- package/src/duckdb/src/common/operator/cast_operators.cpp +413 -305
- package/src/duckdb/src/common/operator/ub_duckdb_common_operators.cpp +4 -0
- package/src/duckdb/src/common/progress_bar/ub_duckdb_progress_bar.cpp +3 -0
- package/src/duckdb/src/common/re2_regex.cpp +2 -1
- package/src/duckdb/src/common/row_operations/row_heap_scatter.cpp +2 -2
- package/src/duckdb/src/common/row_operations/row_matcher.cpp +1 -0
- package/src/duckdb/src/common/row_operations/row_scatter.cpp +2 -2
- package/src/duckdb/src/common/row_operations/ub_duckdb_row_operations.cpp +9 -0
- package/src/duckdb/src/common/serializer/binary_serializer.cpp +3 -3
- package/src/duckdb/src/common/serializer/ub_duckdb_common_serializer.cpp +7 -0
- package/src/duckdb/src/common/sort/partition_state.cpp +2 -3
- package/src/duckdb/src/common/sort/ub_duckdb_sort.cpp +7 -0
- package/src/duckdb/src/common/string_util.cpp +3 -3
- package/src/duckdb/src/common/types/bit.cpp +7 -6
- package/src/duckdb/src/common/types/blob.cpp +20 -9
- package/src/duckdb/src/common/types/column/column_data_allocator.cpp +8 -6
- package/src/duckdb/src/common/types/column/column_data_collection.cpp +11 -1
- package/src/duckdb/src/common/types/column/column_data_collection_segment.cpp +5 -0
- package/src/duckdb/src/common/types/column/partitioned_column_data.cpp +1 -1
- package/src/duckdb/src/common/types/column/ub_duckdb_common_types_column.cpp +6 -0
- package/src/duckdb/src/common/types/data_chunk.cpp +1 -1
- package/src/duckdb/src/common/types/date.cpp +1 -1
- package/src/duckdb/src/common/types/hugeint.cpp +3 -2
- package/src/duckdb/src/common/types/interval.cpp +1 -1
- package/src/duckdb/src/common/types/list_segment.cpp +2 -1
- package/src/duckdb/src/common/types/row/partitioned_tuple_data.cpp +3 -9
- package/src/duckdb/src/common/types/row/tuple_data_allocator.cpp +7 -7
- package/src/duckdb/src/common/types/row/tuple_data_collection.cpp +10 -27
- package/src/duckdb/src/common/types/row/tuple_data_scatter_gather.cpp +168 -88
- package/src/duckdb/src/common/types/row/ub_duckdb_common_types_row.cpp +11 -0
- package/src/duckdb/src/common/types/selection_vector.cpp +1 -1
- package/src/duckdb/src/common/types/string_heap.cpp +5 -1
- package/src/duckdb/src/common/types/string_type.cpp +18 -4
- package/src/duckdb/src/common/types/time.cpp +4 -2
- package/src/duckdb/src/common/types/timestamp.cpp +32 -6
- package/src/duckdb/src/common/types/ub_duckdb_common_types.cpp +28 -0
- package/src/duckdb/src/common/types/uhugeint.cpp +3 -2
- package/src/duckdb/src/common/types/uuid.cpp +11 -0
- package/src/duckdb/src/common/types/validity_mask.cpp +4 -3
- package/src/duckdb/src/common/types/value.cpp +17 -6
- package/src/duckdb/src/common/types/vector.cpp +243 -68
- package/src/duckdb/src/common/types.cpp +7 -5
- package/src/duckdb/src/common/ub_duckdb_common.cpp +34 -0
- package/src/duckdb/src/common/value_operations/ub_duckdb_value_operations.cpp +2 -0
- package/src/duckdb/src/common/vector_operations/generators.cpp +2 -1
- package/src/duckdb/src/common/vector_operations/vector_cast.cpp +4 -4
- package/src/duckdb/src/common/vector_operations/vector_copy.cpp +2 -2
- package/src/duckdb/src/common/vector_operations/vector_hash.cpp +17 -6
- package/src/duckdb/src/core_functions/aggregate/algebraic/ub_duckdb_aggr_algebraic.cpp +5 -0
- package/src/duckdb/src/core_functions/aggregate/distributive/arg_min_max.cpp +30 -6
- package/src/duckdb/src/core_functions/aggregate/distributive/bitagg.cpp +1 -1
- package/src/duckdb/src/core_functions/aggregate/distributive/bitstring_agg.cpp +12 -5
- package/src/duckdb/src/core_functions/aggregate/distributive/minmax.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/distributive/string_agg.cpp +2 -1
- package/src/duckdb/src/core_functions/aggregate/distributive/ub_duckdb_aggr_distributive.cpp +13 -0
- package/src/duckdb/src/core_functions/aggregate/holistic/mode.cpp +2 -1
- package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +2 -9
- package/src/duckdb/src/core_functions/aggregate/holistic/ub_duckdb_aggr_holistic.cpp +5 -0
- package/src/duckdb/src/core_functions/aggregate/nested/ub_duckdb_aggr_nested.cpp +3 -0
- package/src/duckdb/src/core_functions/aggregate/regression/ub_duckdb_aggr_regr.cpp +8 -0
- package/src/duckdb/src/core_functions/function_list.cpp +1 -0
- package/src/duckdb/src/core_functions/scalar/bit/bitstring.cpp +2 -2
- package/src/duckdb/src/core_functions/scalar/bit/ub_duckdb_func_bit.cpp +2 -0
- package/src/duckdb/src/core_functions/scalar/blob/ub_duckdb_func_blob.cpp +3 -0
- package/src/duckdb/src/core_functions/scalar/date/date_diff.cpp +8 -0
- package/src/duckdb/src/core_functions/scalar/date/date_part.cpp +22 -3
- package/src/duckdb/src/core_functions/scalar/date/make_date.cpp +29 -7
- package/src/duckdb/src/core_functions/scalar/date/to_interval.cpp +3 -1
- package/src/duckdb/src/core_functions/scalar/date/ub_duckdb_func_date.cpp +12 -0
- package/src/duckdb/src/core_functions/scalar/debug/ub_duckdb_func_debug.cpp +2 -0
- package/src/duckdb/src/core_functions/scalar/enum/ub_duckdb_func_enum.cpp +2 -0
- package/src/duckdb/src/core_functions/scalar/generic/ub_duckdb_func_generic.cpp +9 -0
- package/src/duckdb/src/core_functions/scalar/list/array_slice.cpp +12 -8
- package/src/duckdb/src/core_functions/scalar/list/list_aggregates.cpp +2 -1
- package/src/duckdb/src/core_functions/scalar/list/list_reduce.cpp +6 -5
- package/src/duckdb/src/core_functions/scalar/list/list_sort.cpp +5 -3
- package/src/duckdb/src/core_functions/scalar/list/list_value.cpp +28 -12
- package/src/duckdb/src/core_functions/scalar/list/ub_duckdb_func_list.cpp +11 -0
- package/src/duckdb/src/core_functions/scalar/map/map.cpp +129 -160
- package/src/duckdb/src/core_functions/scalar/map/ub_duckdb_func_map_nested.cpp +8 -0
- package/src/duckdb/src/core_functions/scalar/math/numeric.cpp +19 -16
- package/src/duckdb/src/core_functions/scalar/math/ub_duckdb_func_math.cpp +1 -0
- package/src/duckdb/src/core_functions/scalar/operators/bitwise.cpp +4 -4
- package/src/duckdb/src/core_functions/scalar/operators/ub_duckdb_func_ops.cpp +1 -0
- package/src/duckdb/src/core_functions/scalar/random/ub_duckdb_func_random.cpp +3 -0
- package/src/duckdb/src/core_functions/scalar/string/hex.cpp +2 -1
- package/src/duckdb/src/core_functions/scalar/string/pad.cpp +2 -2
- package/src/duckdb/src/core_functions/scalar/string/repeat.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/string/replace.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/string/string_split.cpp +2 -1
- package/src/duckdb/src/core_functions/scalar/string/translate.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/string/ub_duckdb_func_string.cpp +26 -0
- package/src/duckdb/src/core_functions/scalar/struct/ub_duckdb_func_struct.cpp +3 -0
- package/src/duckdb/src/core_functions/scalar/union/ub_duckdb_func_union.cpp +4 -0
- package/src/duckdb/src/core_functions/ub_duckdb_core_functions.cpp +3 -0
- package/src/duckdb/src/execution/adaptive_filter.cpp +1 -1
- package/src/duckdb/src/execution/aggregate_hashtable.cpp +1 -1
- package/src/duckdb/src/execution/column_binding_resolver.cpp +7 -1
- package/src/duckdb/src/execution/expression_executor/execute_case.cpp +2 -2
- package/src/duckdb/src/execution/expression_executor/execute_cast.cpp +2 -0
- package/src/duckdb/src/execution/expression_executor/execute_function.cpp +2 -2
- package/src/duckdb/src/execution/expression_executor/execute_operator.cpp +1 -1
- package/src/duckdb/src/execution/expression_executor/ub_duckdb_expression_executor.cpp +11 -0
- package/src/duckdb/src/execution/expression_executor.cpp +5 -2
- package/src/duckdb/src/execution/index/art/art.cpp +12 -6
- package/src/duckdb/src/execution/index/art/art_key.cpp +3 -3
- package/src/duckdb/src/execution/index/art/leaf.cpp +2 -2
- package/src/duckdb/src/execution/index/art/node16.cpp +2 -2
- package/src/duckdb/src/execution/index/art/node256.cpp +3 -3
- package/src/duckdb/src/execution/index/art/node48.cpp +5 -5
- package/src/duckdb/src/execution/index/art/prefix.cpp +1 -1
- package/src/duckdb/src/execution/index/art/ub_duckdb_art_index_execution.cpp +12 -0
- package/src/duckdb/src/execution/index/art/ub_duckdb_execution_index_art.cpp +11 -0
- package/src/duckdb/src/execution/index/fixed_size_buffer.cpp +6 -5
- package/src/duckdb/src/execution/index/ub_duckdb_execution_index.cpp +3 -0
- package/src/duckdb/src/execution/nested_loop_join/ub_duckdb_nested_loop_join.cpp +3 -0
- package/src/duckdb/src/execution/operator/aggregate/aggregate_object.cpp +1 -1
- package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +3 -4
- package/src/duckdb/src/execution/operator/aggregate/physical_streaming_window.cpp +0 -1
- package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +3 -4
- package/src/duckdb/src/execution/operator/aggregate/ub_duckdb_operator_aggregate.cpp +9 -0
- package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer.cpp +1 -1
- package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.cpp +8 -3
- package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_file_handle.cpp +1 -1
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/base_scanner.cpp +5 -5
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/column_count_scanner.cpp +2 -3
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/scanner_boundary.cpp +5 -1
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/skip_scanner.cpp +2 -2
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/string_value_scanner.cpp +151 -79
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp +11 -6
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp +27 -6
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/header_detection.cpp +71 -18
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_detection.cpp +22 -11
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_refinement.cpp +6 -4
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_replacement.cpp +5 -3
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/ub_duckdb_operator_csv_sniffer.cpp +7 -0
- package/src/duckdb/src/execution/operator/csv_scanner/state_machine/csv_state_machine.cpp +3 -3
- package/src/duckdb/src/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.cpp +30 -5
- package/src/duckdb/src/execution/operator/csv_scanner/table_function/csv_file_scanner.cpp +6 -2
- package/src/duckdb/src/execution/operator/csv_scanner/table_function/global_csv_state.cpp +47 -46
- package/src/duckdb/src/execution/operator/csv_scanner/ub_duckdb_operator_csv_scanner.cpp +10 -0
- package/src/duckdb/src/execution/operator/csv_scanner/util/csv_error.cpp +102 -54
- package/src/duckdb/src/execution/operator/csv_scanner/util/csv_reader_options.cpp +8 -1
- package/src/duckdb/src/execution/operator/filter/ub_duckdb_operator_filter.cpp +2 -0
- package/src/duckdb/src/execution/operator/helper/physical_limit.cpp +54 -36
- package/src/duckdb/src/execution/operator/helper/physical_limit_percent.cpp +56 -32
- package/src/duckdb/src/execution/operator/helper/physical_streaming_limit.cpp +9 -13
- package/src/duckdb/src/execution/operator/helper/physical_transaction.cpp +12 -0
- package/src/duckdb/src/execution/operator/helper/physical_verify_vector.cpp +221 -0
- package/src/duckdb/src/execution/operator/helper/ub_duckdb_operator_helper.cpp +18 -0
- package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +1 -0
- package/src/duckdb/src/execution/operator/join/physical_hash_join.cpp +23 -8
- package/src/duckdb/src/execution/operator/join/physical_range_join.cpp +8 -3
- package/src/duckdb/src/execution/operator/join/ub_duckdb_operator_join.cpp +16 -0
- package/src/duckdb/src/execution/operator/order/physical_order.cpp +2 -3
- package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +2 -7
- package/src/duckdb/src/execution/operator/order/ub_duckdb_operator_order.cpp +3 -0
- package/src/duckdb/src/execution/operator/persistent/physical_batch_copy_to_file.cpp +451 -55
- package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +312 -150
- package/src/duckdb/src/execution/operator/persistent/physical_copy_to_file.cpp +200 -75
- package/src/duckdb/src/execution/operator/persistent/physical_delete.cpp +1 -0
- package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +6 -5
- package/src/duckdb/src/execution/operator/persistent/ub_duckdb_operator_persistent.cpp +10 -0
- package/src/duckdb/src/execution/operator/projection/physical_pivot.cpp +3 -2
- package/src/duckdb/src/execution/operator/projection/ub_duckdb_operator_projection.cpp +5 -0
- package/src/duckdb/src/execution/operator/scan/ub_duckdb_operator_scan.cpp +7 -0
- package/src/duckdb/src/execution/operator/schema/ub_duckdb_operator_schema.cpp +12 -0
- package/src/duckdb/src/execution/operator/set/physical_recursive_cte.cpp +25 -0
- package/src/duckdb/src/execution/operator/set/ub_duckdb_operator_set.cpp +4 -0
- package/src/duckdb/src/execution/perfect_aggregate_hashtable.cpp +4 -4
- package/src/duckdb/src/execution/physical_plan/plan_aggregate.cpp +2 -2
- package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +2 -2
- package/src/duckdb/src/execution/physical_plan/plan_copy_to_file.cpp +7 -17
- package/src/duckdb/src/execution/physical_plan/plan_distinct.cpp +10 -0
- package/src/duckdb/src/execution/physical_plan/plan_insert.cpp +7 -0
- package/src/duckdb/src/execution/physical_plan/plan_limit.cpp +45 -13
- package/src/duckdb/src/execution/physical_plan/ub_duckdb_physical_plan.cpp +44 -0
- package/src/duckdb/src/execution/physical_plan_generator.cpp +5 -3
- package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +13 -12
- package/src/duckdb/src/execution/ub_duckdb_execution.cpp +15 -0
- package/src/duckdb/src/execution/window_executor.cpp +71 -61
- package/src/duckdb/src/execution/window_segment_tree.cpp +6 -6
- package/src/duckdb/src/extension_forward_decl/icu.cpp +59 -0
- package/src/duckdb/src/function/aggregate/algebraic/ub_duckdb_aggr_algebraic.cpp +5 -0
- package/src/duckdb/src/function/aggregate/distributive/first.cpp +2 -2
- package/src/duckdb/src/function/aggregate/distributive/ub_duckdb_aggr_distr.cpp +3 -0
- package/src/duckdb/src/function/aggregate/holistic/ub_duckdb_aggr_holistic.cpp +5 -0
- package/src/duckdb/src/function/aggregate/nested/ub_duckdb_aggr_nested.cpp +3 -0
- package/src/duckdb/src/function/aggregate/regression/ub_duckdb_aggr_regr.cpp +8 -0
- package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +3 -2
- package/src/duckdb/src/function/aggregate/ub_duckdb_func_aggr.cpp +3 -0
- package/src/duckdb/src/function/cast/array_casts.cpp +2 -4
- package/src/duckdb/src/function/cast/bit_cast.cpp +13 -13
- package/src/duckdb/src/function/cast/cast_function_set.cpp +2 -0
- package/src/duckdb/src/function/cast/decimal_cast.cpp +38 -44
- package/src/duckdb/src/function/cast/default_casts.cpp +5 -2
- package/src/duckdb/src/function/cast/enum_casts.cpp +5 -5
- package/src/duckdb/src/function/cast/list_casts.cpp +24 -14
- package/src/duckdb/src/function/cast/string_cast.cpp +48 -30
- package/src/duckdb/src/function/cast/struct_cast.cpp +2 -2
- package/src/duckdb/src/function/cast/time_casts.cpp +12 -0
- package/src/duckdb/src/function/cast/ub_duckdb_func_cast.cpp +17 -0
- package/src/duckdb/src/function/cast/union/ub_duckdb_union_cast.cpp +2 -0
- package/src/duckdb/src/function/cast/union_casts.cpp +13 -15
- package/src/duckdb/src/function/cast/vector_cast_helpers.cpp +1 -1
- package/src/duckdb/src/function/cast_rules.cpp +2 -1
- package/src/duckdb/src/function/pragma/ub_duckdb_func_pragma.cpp +3 -0
- package/src/duckdb/src/function/scalar/bit/ub_duckdb_func_bit.cpp +2 -0
- package/src/duckdb/src/function/scalar/blob/ub_duckdb_func_blob.cpp +3 -0
- package/src/duckdb/src/function/scalar/compressed_materialization/compress_integral.cpp +7 -6
- package/src/duckdb/src/function/scalar/compressed_materialization/compress_string.cpp +3 -3
- package/src/duckdb/src/function/scalar/compressed_materialization/ub_duckdb_func_compressed_materialization.cpp +3 -0
- package/src/duckdb/src/function/scalar/date/ub_duckdb_func_date.cpp +12 -0
- package/src/duckdb/src/function/scalar/enum/ub_duckdb_func_enum.cpp +2 -0
- package/src/duckdb/src/function/scalar/generic/ub_duckdb_func_generic.cpp +8 -0
- package/src/duckdb/src/function/scalar/generic/ub_duckdb_func_generic_main.cpp +2 -0
- package/src/duckdb/src/function/scalar/list/list_resize.cpp +3 -1
- package/src/duckdb/src/function/scalar/list/list_zip.cpp +3 -4
- package/src/duckdb/src/function/scalar/list/ub_duckdb_func_list.cpp +11 -0
- package/src/duckdb/src/function/scalar/list/ub_duckdb_func_list_nested.cpp +5 -0
- package/src/duckdb/src/function/scalar/map/ub_duckdb_func_map_nested.cpp +7 -0
- package/src/duckdb/src/function/scalar/math/ub_duckdb_func_math.cpp +4 -0
- package/src/duckdb/src/function/scalar/nested_functions.cpp +7 -3
- package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +1 -1
- package/src/duckdb/src/function/scalar/operators/multiply.cpp +4 -2
- package/src/duckdb/src/function/scalar/operators/subtract.cpp +9 -3
- package/src/duckdb/src/function/scalar/operators/ub_duckdb_func_ops.cpp +6 -0
- package/src/duckdb/src/function/scalar/operators/ub_duckdb_func_ops_main.cpp +5 -0
- package/src/duckdb/src/function/scalar/sequence/ub_duckdb_func_seq.cpp +2 -0
- package/src/duckdb/src/function/scalar/strftime_format.cpp +21 -20
- package/src/duckdb/src/function/scalar/string/like.cpp +14 -3
- package/src/duckdb/src/function/scalar/string/regexp/regexp_extract_all.cpp +4 -2
- package/src/duckdb/src/function/scalar/string/regexp/ub_duckdb_func_string_regexp.cpp +3 -0
- package/src/duckdb/src/function/scalar/string/regexp.cpp +6 -4
- package/src/duckdb/src/function/scalar/string/suffix.cpp +1 -1
- package/src/duckdb/src/function/scalar/string/ub_duckdb_func_string.cpp +31 -0
- package/src/duckdb/src/function/scalar/string/ub_duckdb_func_string_main.cpp +12 -0
- package/src/duckdb/src/function/scalar/struct/ub_duckdb_func_struct.cpp +4 -0
- package/src/duckdb/src/function/scalar/struct/ub_duckdb_func_struct_main.cpp +2 -0
- package/src/duckdb/src/function/scalar/system/ub_duckdb_func_system.cpp +2 -0
- package/src/duckdb/src/function/scalar/ub_duckdb_func_scalar.cpp +9 -0
- package/src/duckdb/src/function/scalar/union/ub_duckdb_func_union.cpp +4 -0
- package/src/duckdb/src/function/table/arrow/arrow_array_scan_state.cpp +28 -2
- package/src/duckdb/src/function/table/arrow/ub_duckdb_arrow_conversion.cpp +2 -0
- package/src/duckdb/src/function/table/arrow.cpp +23 -6
- package/src/duckdb/src/function/table/arrow_conversion.cpp +75 -33
- package/src/duckdb/src/function/table/copy_csv.cpp +8 -3
- package/src/duckdb/src/function/table/range.cpp +5 -0
- package/src/duckdb/src/function/table/read_csv.cpp +9 -8
- package/src/duckdb/src/function/table/read_file.cpp +1 -1
- package/src/duckdb/src/function/table/sniff_csv.cpp +5 -5
- package/src/duckdb/src/function/table/system/duckdb_columns.cpp +6 -2
- package/src/duckdb/src/function/table/system/duckdb_secrets.cpp +5 -1
- package/src/duckdb/src/function/table/system/duckdb_sequences.cpp +3 -1
- package/src/duckdb/src/function/table/system/duckdb_settings.cpp +13 -1
- package/src/duckdb/src/function/table/system/test_all_types.cpp +64 -0
- package/src/duckdb/src/function/table/system/ub_duckdb_table_func_system.cpp +23 -0
- package/src/duckdb/src/function/table/ub_duckdb_func_table.cpp +16 -0
- package/src/duckdb/src/function/table/version/pragma_version.cpp +11 -2
- package/src/duckdb/src/function/table/version/ub_duckdb_func_table_version.cpp +2 -0
- package/src/duckdb/src/function/ub_duckdb_function.cpp +14 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +11 -1
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/view_catalog_entry.hpp +2 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/allocator.hpp +8 -11
- package/src/duckdb/src/include/duckdb/common/arrow/appender/enum_data.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/arrow/appender/fixed_size_list_data.hpp +14 -0
- package/src/duckdb/src/include/duckdb/common/arrow/appender/list.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/arrow/appender/list_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/arrow/appender/varchar_data.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/bitpacking.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/bswap.hpp +6 -2
- package/src/duckdb/src/include/duckdb/common/enum_util.hpp +32 -0
- package/src/duckdb/src/include/duckdb/common/enums/catalog_lookup_behavior.hpp +21 -0
- package/src/duckdb/src/include/duckdb/common/enums/logical_operator_type.hpp +0 -1
- package/src/duckdb/src/include/duckdb/common/enums/physical_operator_type.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/enums/prepared_statement_mode.hpp +20 -0
- package/src/duckdb/src/include/duckdb/common/enums/statement_type.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/exception/conversion_exception.hpp +6 -0
- package/src/duckdb/src/include/duckdb/common/exception/parser_exception.hpp +4 -0
- package/src/duckdb/src/include/duckdb/common/exception.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/extra_type_info.hpp +3 -3
- package/src/duckdb/src/include/duckdb/common/file_opener.hpp +6 -5
- package/src/duckdb/src/include/duckdb/common/file_system.hpp +4 -2
- package/src/duckdb/src/include/duckdb/common/helper.hpp +7 -0
- package/src/duckdb/src/include/duckdb/common/limits.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/local_file_system.hpp +3 -0
- package/src/duckdb/src/include/duckdb/common/numeric_utils.hpp +64 -0
- package/src/duckdb/src/include/duckdb/common/operator/cast_operators.hpp +34 -33
- package/src/duckdb/src/include/duckdb/common/operator/decimal_cast_operators.hpp +150 -124
- package/src/duckdb/src/include/duckdb/common/operator/integer_cast_operator.hpp +5 -5
- package/src/duckdb/src/include/duckdb/common/radix.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/serializer/deserializer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/sort/duckdb_pdqsort.hpp +4 -4
- package/src/duckdb/src/include/duckdb/common/types/bit.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/blob.hpp +4 -1
- package/src/duckdb/src/include/duckdb/common/types/cast_helpers.hpp +15 -13
- package/src/duckdb/src/include/duckdb/common/types/column/column_data_allocator.hpp +5 -0
- package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection_segment.hpp +3 -0
- package/src/duckdb/src/include/duckdb/common/types/column/partitioned_column_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_states.hpp +4 -1
- package/src/duckdb/src/include/duckdb/common/types/selection_vector.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/types/string_heap.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/types/string_type.hpp +11 -4
- package/src/duckdb/src/include/duckdb/common/types/time.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/timestamp.hpp +7 -2
- package/src/duckdb/src/include/duckdb/common/types/uuid.hpp +3 -0
- package/src/duckdb/src/include/duckdb/common/types/value.hpp +7 -0
- package/src/duckdb/src/include/duckdb/common/types/vector.hpp +40 -7
- package/src/duckdb/src/include/duckdb/common/types/vector_buffer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/vector_operations/general_cast.hpp +12 -4
- package/src/duckdb/src/include/duckdb/common/vector_operations/generic_executor.hpp +6 -6
- package/src/duckdb/src/include/duckdb/common/vector_operations/vector_operations.hpp +3 -2
- package/src/duckdb/src/include/duckdb/common/windows_undefs.hpp +4 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_count.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/scalar/list_functions.hpp +9 -0
- package/src/duckdb/src/include/duckdb/execution/column_binding_resolver.hpp +2 -1
- package/src/duckdb/src/include/duckdb/execution/executor.hpp +10 -0
- package/src/duckdb/src/include/duckdb/execution/expression_executor_state.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/base_scanner.hpp +262 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/column_count_scanner.hpp +70 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_buffer.hpp +103 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_buffer_manager.hpp +74 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_casting.hpp +154 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_error.hpp +130 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_handle.hpp +60 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_scanner.hpp +70 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_option.hpp +155 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_reader_options.hpp +166 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_sniffer.hpp +191 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state.hpp +30 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state_machine.hpp +99 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state_machine_cache.hpp +91 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/global_csv_state.hpp +80 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/quote_rules.hpp +21 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/scanner_boundary.hpp +93 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/skip_scanner.hpp +60 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/state_machine_options.hpp +35 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/string_value_scanner.hpp +200 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_limit.hpp +13 -10
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_limit_percent.hpp +5 -11
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_streaming_limit.hpp +4 -6
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_verify_vector.hpp +51 -0
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_hash_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/batch_memory_manager.hpp +165 -0
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/batch_task_manager.hpp +48 -0
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_copy_to_file.hpp +10 -17
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_insert.hpp +4 -0
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp +2 -0
- package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +10 -6
- package/src/duckdb/src/include/duckdb/execution/physical_plan_generator.hpp +0 -2
- package/src/duckdb/src/include/duckdb/execution/window_executor.hpp +2 -1
- package/src/duckdb/src/include/duckdb/execution/window_segment_tree.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/cast/cast_function_set.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/cast/default_casts.hpp +14 -5
- package/src/duckdb/src/include/duckdb/function/cast/vector_cast_helpers.hpp +27 -43
- package/src/duckdb/src/include/duckdb/function/compression_function.hpp +4 -4
- package/src/duckdb/src/include/duckdb/function/copy_function.hpp +3 -3
- package/src/duckdb/src/include/duckdb/function/function.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/scalar/list/contains_or_position.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/table/arrow.hpp +10 -4
- package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +8 -6
- package/src/duckdb/src/include/duckdb/function/table_function.hpp +3 -3
- package/src/duckdb/src/include/duckdb/main/attached_database.hpp +3 -0
- package/src/duckdb/src/include/duckdb/main/capi/cast/from_decimal.hpp +6 -4
- package/src/duckdb/src/include/duckdb/main/capi/cast/to_decimal.hpp +17 -10
- package/src/duckdb/src/include/duckdb/main/client_config.hpp +2 -0
- package/src/duckdb/src/include/duckdb/main/client_context.hpp +17 -3
- package/src/duckdb/src/include/duckdb/main/client_context_file_opener.hpp +2 -2
- package/src/duckdb/src/include/duckdb/main/client_context_state.hpp +20 -0
- package/src/duckdb/src/include/duckdb/main/client_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/database.hpp +3 -2
- package/src/duckdb/src/include/duckdb/main/database_manager.hpp +2 -1
- package/src/duckdb/src/include/duckdb/main/extension/generated_extension_loader.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/extension_entries.hpp +230 -199
- package/src/duckdb/src/include/duckdb/main/extension_helper.hpp +18 -0
- package/src/duckdb/src/include/duckdb/main/relation/read_csv_relation.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/relation/table_function_relation.hpp +2 -0
- package/src/duckdb/src/include/duckdb/main/relation.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/secret/secret_manager.hpp +4 -0
- package/src/duckdb/src/include/duckdb/main/settings.hpp +54 -10
- package/src/duckdb/src/include/duckdb/optimizer/join_order/relation_manager.hpp +2 -1
- package/src/duckdb/src/include/duckdb/optimizer/rule/ordered_aggregate_optimizer.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parallel/concurrentqueue.hpp +21 -5
- package/src/duckdb/src/include/duckdb/parallel/event.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parallel/executor_task.hpp +37 -0
- package/src/duckdb/src/include/duckdb/parallel/interrupt.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parallel/pipeline.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parallel/task.hpp +0 -20
- package/src/duckdb/src/include/duckdb/parallel/task_scheduler.hpp +4 -2
- package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +10 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_info.hpp +2 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +0 -24
- package/src/duckdb/src/include/duckdb/parser/parsed_data/comment_on_column_info.hpp +46 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_view_info.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/extra_drop_info.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +3 -2
- package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +3 -3
- package/src/duckdb/src/include/duckdb/parser/transformer.hpp +3 -3
- package/src/duckdb/src/include/duckdb/planner/binder.hpp +11 -4
- package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +59 -23
- package/src/duckdb/src/include/duckdb/planner/expression.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/expression_binder/column_alias_binder.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/expression_iterator.hpp +11 -3
- package/src/duckdb/src/include/duckdb/planner/extension_callback.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/operator/list.hpp +0 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_insert.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_limit.hpp +5 -9
- package/src/duckdb/src/include/duckdb/planner/subquery/rewrite_correlated_expressions.hpp +0 -15
- package/src/duckdb/src/include/duckdb/storage/arena_allocator.hpp +5 -0
- package/src/duckdb/src/include/duckdb/storage/buffer/buffer_pool.hpp +40 -5
- package/src/duckdb/src/include/duckdb/storage/compression/alp/algorithm/alp.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_analyze.hpp +5 -1
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_compress.hpp +4 -4
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_utils.hpp +2 -1
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/algorithm/alprd.hpp +10 -8
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_analyze.hpp +5 -1
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_compress.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/algorithm/bit_reader.hpp +11 -10
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/algorithm/bit_utils.hpp +3 -1
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/algorithm/chimp128.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/algorithm/leading_zero_buffer.hpp +5 -3
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_scan.hpp +2 -1
- package/src/duckdb/src/include/duckdb/storage/data_pointer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/data_table.hpp +3 -1
- package/src/duckdb/src/include/duckdb/storage/index.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/standard_buffer_manager.hpp +3 -0
- package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/append_state.hpp +0 -2
- package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +5 -3
- package/src/duckdb/src/include/duckdb/storage/table/column_segment.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +5 -0
- package/src/duckdb/src/include/duckdb/storage/table/row_group_collection.hpp +9 -2
- package/src/duckdb/src/include/duckdb/storage/table/scan_state.hpp +2 -6
- package/src/duckdb/src/include/duckdb/storage/table/segment_tree.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/temporary_file_manager.hpp +169 -0
- package/src/duckdb/src/include/duckdb/transaction/duck_transaction_manager.hpp +11 -1
- package/src/duckdb/src/include/duckdb/transaction/meta_transaction.hpp +6 -1
- package/src/duckdb/src/include/duckdb/transaction/transaction.hpp +1 -1
- package/src/duckdb/src/include/duckdb.h +119 -67
- package/src/duckdb/src/main/appender.cpp +2 -1
- package/src/duckdb/src/main/attached_database.cpp +49 -27
- package/src/duckdb/src/main/capi/appender-c.cpp +1 -1
- package/src/duckdb/src/main/capi/cast/ub_duckdb_main_capi_cast.cpp +3 -0
- package/src/duckdb/src/main/capi/cast/utils-c.cpp +1 -1
- package/src/duckdb/src/main/capi/data_chunk-c.cpp +9 -1
- package/src/duckdb/src/main/capi/datetime-c.cpp +14 -8
- package/src/duckdb/src/main/capi/duckdb_value-c.cpp +29 -2
- package/src/duckdb/src/main/capi/helper-c.cpp +2 -0
- package/src/duckdb/src/main/capi/hugeint-c.cpp +2 -1
- package/src/duckdb/src/main/capi/logical_types-c.cpp +35 -1
- package/src/duckdb/src/main/capi/result-c.cpp +9 -0
- package/src/duckdb/src/main/capi/ub_duckdb_main_capi.cpp +19 -0
- package/src/duckdb/src/main/chunk_scan_state/ub_duckdb_main_chunk_scan_state.cpp +2 -0
- package/src/duckdb/src/main/client_context.cpp +133 -33
- package/src/duckdb/src/main/client_context_file_opener.cpp +8 -7
- package/src/duckdb/src/main/config.cpp +2 -0
- package/src/duckdb/src/main/connection_manager.cpp +8 -0
- package/src/duckdb/src/main/database.cpp +13 -4
- package/src/duckdb/src/main/database_manager.cpp +10 -1
- package/src/duckdb/src/main/extension/extension_helper.cpp +8 -5
- package/src/duckdb/src/main/extension/extension_install.cpp +1 -1
- package/src/duckdb/src/main/extension/ub_duckdb_main_extension.cpp +6 -0
- package/src/duckdb/src/main/prepared_statement_data.cpp +23 -6
- package/src/duckdb/src/main/query_profiler.cpp +9 -7
- package/src/duckdb/src/main/relation/read_csv_relation.cpp +17 -12
- package/src/duckdb/src/main/relation/ub_duckdb_main_relation.cpp +26 -0
- package/src/duckdb/src/main/relation/value_relation.cpp +2 -0
- package/src/duckdb/src/main/secret/secret.cpp +1 -1
- package/src/duckdb/src/main/secret/secret_manager.cpp +41 -8
- package/src/duckdb/src/main/secret/secret_storage.cpp +8 -2
- package/src/duckdb/src/main/settings/settings.cpp +42 -2
- package/src/duckdb/src/main/settings/ub_duckdb_main_settings.cpp +2 -0
- package/src/duckdb/src/main/ub_duckdb_main.cpp +25 -0
- package/src/duckdb/src/optimizer/compressed_materialization/ub_duckdb_optimizer_compressed_materialization.cpp +4 -0
- package/src/duckdb/src/optimizer/filter_combiner.cpp +20 -14
- package/src/duckdb/src/optimizer/in_clause_rewriter.cpp +5 -1
- package/src/duckdb/src/optimizer/join_order/relation_manager.cpp +23 -11
- package/src/duckdb/src/optimizer/join_order/ub_duckdb_optimizer_join_order.cpp +12 -0
- package/src/duckdb/src/optimizer/matcher/ub_duckdb_optimizer_matcher.cpp +2 -0
- package/src/duckdb/src/optimizer/pullup/ub_duckdb_optimizer_pullup.cpp +6 -0
- package/src/duckdb/src/optimizer/pushdown/pushdown_limit.cpp +1 -1
- package/src/duckdb/src/optimizer/pushdown/ub_duckdb_optimizer_pushdown.cpp +12 -0
- package/src/duckdb/src/optimizer/remove_unused_columns.cpp +7 -6
- package/src/duckdb/src/optimizer/rule/ordered_aggregate_optimizer.cpp +8 -6
- package/src/duckdb/src/optimizer/rule/regex_optimizations.cpp +1 -1
- package/src/duckdb/src/optimizer/rule/ub_duckdb_optimizer_rules.cpp +16 -0
- package/src/duckdb/src/optimizer/statistics/expression/propagate_cast.cpp +71 -1
- package/src/duckdb/src/optimizer/statistics/expression/ub_duckdb_optimizer_statistics_expr.cpp +11 -0
- package/src/duckdb/src/optimizer/statistics/operator/propagate_join.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/operator/propagate_limit.cpp +5 -1
- package/src/duckdb/src/optimizer/statistics/operator/ub_duckdb_optimizer_statistics_op.cpp +11 -0
- package/src/duckdb/src/optimizer/topn_optimizer.cpp +12 -11
- package/src/duckdb/src/optimizer/ub_duckdb_optimizer.cpp +20 -0
- package/src/duckdb/src/parallel/executor.cpp +8 -19
- package/src/duckdb/src/parallel/executor_task.cpp +6 -2
- package/src/duckdb/src/parallel/pipeline.cpp +12 -6
- package/src/duckdb/src/parallel/pipeline_executor.cpp +1 -1
- package/src/duckdb/src/parallel/pipeline_finish_event.cpp +2 -2
- package/src/duckdb/src/parallel/pipeline_initialize_event.cpp +1 -2
- package/src/duckdb/src/parallel/task_scheduler.cpp +15 -8
- package/src/duckdb/src/parallel/ub_duckdb_parallel.cpp +15 -0
- package/src/duckdb/src/parser/constraints/ub_duckdb_constraints.cpp +5 -0
- package/src/duckdb/src/parser/expression/ub_duckdb_expression.cpp +18 -0
- package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +0 -18
- package/src/duckdb/src/parser/parsed_data/comment_on_column_info.cpp +44 -0
- package/src/duckdb/src/parser/parsed_data/create_view_info.cpp +1 -0
- package/src/duckdb/src/parser/parsed_data/extra_drop_info.cpp +2 -0
- package/src/duckdb/src/parser/parsed_data/ub_duckdb_parsed_data.cpp +24 -0
- package/src/duckdb/src/parser/parser.cpp +1 -1
- package/src/duckdb/src/parser/query_error_context.cpp +15 -1
- package/src/duckdb/src/parser/query_node/ub_duckdb_query_node.cpp +5 -0
- package/src/duckdb/src/parser/statement/export_statement.cpp +2 -1
- package/src/duckdb/src/parser/statement/relation_statement.cpp +2 -2
- package/src/duckdb/src/parser/statement/ub_duckdb_statement.cpp +25 -0
- package/src/duckdb/src/parser/tableref/pivotref.cpp +3 -3
- package/src/duckdb/src/parser/tableref/showref.cpp +2 -0
- package/src/duckdb/src/parser/tableref/ub_duckdb_parser_tableref.cpp +8 -0
- package/src/duckdb/src/parser/transform/constraint/ub_duckdb_transformer_constraint.cpp +2 -0
- package/src/duckdb/src/parser/transform/expression/transform_boolean_test.cpp +1 -1
- package/src/duckdb/src/parser/transform/expression/transform_cast.cpp +10 -2
- package/src/duckdb/src/parser/transform/expression/transform_constant.cpp +7 -7
- package/src/duckdb/src/parser/transform/expression/transform_interval.cpp +2 -1
- package/src/duckdb/src/parser/transform/expression/ub_duckdb_transformer_expression.cpp +20 -0
- package/src/duckdb/src/parser/transform/helpers/transform_typename.cpp +2 -2
- package/src/duckdb/src/parser/transform/helpers/ub_duckdb_transformer_helpers.cpp +8 -0
- package/src/duckdb/src/parser/transform/statement/transform_comment_on.cpp +3 -8
- package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +3 -1
- package/src/duckdb/src/parser/transform/statement/transform_show_select.cpp +2 -3
- package/src/duckdb/src/parser/transform/statement/ub_duckdb_transformer_statement.cpp +37 -0
- package/src/duckdb/src/parser/transform/tableref/transform_join.cpp +16 -0
- package/src/duckdb/src/parser/transform/tableref/transform_pivot.cpp +49 -32
- package/src/duckdb/src/parser/transform/tableref/ub_duckdb_transformer_tableref.cpp +8 -0
- package/src/duckdb/src/parser/ub_duckdb_parser.cpp +15 -0
- package/src/duckdb/src/planner/binder/expression/bind_lambda.cpp +11 -4
- package/src/duckdb/src/planner/binder/expression/bind_operator_expression.cpp +4 -1
- package/src/duckdb/src/planner/binder/expression/bind_star_expression.cpp +71 -5
- package/src/duckdb/src/planner/binder/expression/bind_window_expression.cpp +35 -1
- package/src/duckdb/src/planner/binder/expression/ub_duckdb_bind_expression.cpp +20 -0
- package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +55 -51
- package/src/duckdb/src/planner/binder/query_node/plan_query_node.cpp +1 -11
- package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +2 -2
- package/src/duckdb/src/planner/binder/query_node/ub_duckdb_bind_query_node.cpp +12 -0
- package/src/duckdb/src/planner/binder/statement/bind_create.cpp +12 -6
- package/src/duckdb/src/planner/binder/statement/bind_drop.cpp +1 -1
- package/src/duckdb/src/planner/binder/statement/bind_export.cpp +8 -2
- package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +6 -3
- package/src/duckdb/src/planner/binder/statement/bind_simple.cpp +13 -2
- package/src/duckdb/src/planner/binder/statement/ub_duckdb_bind_statement.cpp +26 -0
- package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +15 -4
- package/src/duckdb/src/planner/binder/tableref/bind_joinref.cpp +9 -2
- package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +93 -45
- package/src/duckdb/src/planner/binder/tableref/bind_subqueryref.cpp +6 -1
- package/src/duckdb/src/planner/binder/tableref/ub_duckdb_bind_tableref.cpp +17 -0
- package/src/duckdb/src/planner/binder.cpp +22 -23
- package/src/duckdb/src/planner/bound_result_modifier.cpp +67 -4
- package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +5 -1
- package/src/duckdb/src/planner/expression/bound_window_expression.cpp +3 -0
- package/src/duckdb/src/planner/expression/ub_duckdb_planner_expression.cpp +19 -0
- package/src/duckdb/src/planner/expression_binder/column_alias_binder.cpp +14 -9
- package/src/duckdb/src/planner/expression_binder/having_binder.cpp +17 -9
- package/src/duckdb/src/planner/expression_binder/lateral_binder.cpp +61 -37
- package/src/duckdb/src/planner/expression_binder/qualify_binder.cpp +8 -4
- package/src/duckdb/src/planner/expression_binder/ub_duckdb_expression_binders.cpp +20 -0
- package/src/duckdb/src/planner/expression_binder/where_binder.cpp +3 -2
- package/src/duckdb/src/planner/expression_iterator.cpp +73 -52
- package/src/duckdb/src/planner/filter/ub_duckdb_planner_filter.cpp +4 -0
- package/src/duckdb/src/planner/logical_operator_visitor.cpp +4 -14
- package/src/duckdb/src/planner/operator/logical_limit.cpp +14 -6
- package/src/duckdb/src/planner/operator/ub_duckdb_planner_operator.cpp +43 -0
- package/src/duckdb/src/planner/parsed_data/ub_duckdb_planner_parsed_data.cpp +2 -0
- package/src/duckdb/src/planner/planner.cpp +3 -0
- package/src/duckdb/src/planner/subquery/flatten_dependent_join.cpp +46 -18
- package/src/duckdb/src/planner/subquery/rewrite_correlated_expressions.cpp +39 -33
- package/src/duckdb/src/planner/subquery/ub_duckdb_planner_subquery.cpp +4 -0
- package/src/duckdb/src/planner/ub_duckdb_planner.cpp +15 -0
- package/src/duckdb/src/storage/arena_allocator.cpp +9 -0
- package/src/duckdb/src/storage/buffer/block_handle.cpp +7 -2
- package/src/duckdb/src/storage/buffer/block_manager.cpp +7 -3
- package/src/duckdb/src/storage/buffer/buffer_pool.cpp +121 -24
- package/src/duckdb/src/storage/buffer/ub_duckdb_storage_buffer.cpp +6 -0
- package/src/duckdb/src/storage/checkpoint/ub_duckdb_storage_checkpoint.cpp +5 -0
- package/src/duckdb/src/storage/checkpoint/write_overflow_strings_to_disk.cpp +4 -4
- package/src/duckdb/src/storage/compression/chimp/ub_duckdb_storage_compression_chimp.cpp +6 -0
- package/src/duckdb/src/storage/compression/dictionary_compression.cpp +6 -5
- package/src/duckdb/src/storage/compression/fsst.cpp +3 -2
- package/src/duckdb/src/storage/compression/rle.cpp +1 -1
- package/src/duckdb/src/storage/compression/string_uncompressed.cpp +4 -4
- package/src/duckdb/src/storage/compression/ub_duckdb_storage_compression.cpp +12 -0
- package/src/duckdb/src/storage/data_table.cpp +6 -3
- package/src/duckdb/src/storage/local_storage.cpp +5 -2
- package/src/duckdb/src/storage/metadata/metadata_manager.cpp +4 -4
- package/src/duckdb/src/storage/metadata/metadata_reader.cpp +1 -1
- package/src/duckdb/src/storage/metadata/metadata_writer.cpp +1 -1
- package/src/duckdb/src/storage/metadata/ub_duckdb_storage_metadata.cpp +4 -0
- package/src/duckdb/src/storage/partial_block_manager.cpp +1 -1
- package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +2 -0
- package/src/duckdb/src/storage/serialization/serialize_expression.cpp +3 -0
- package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +5 -29
- package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +22 -4
- package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +12 -32
- package/src/duckdb/src/storage/serialization/ub_duckdb_storage_serialization.cpp +16 -0
- package/src/duckdb/src/storage/standard_buffer_manager.cpp +29 -397
- package/src/duckdb/src/storage/statistics/string_stats.cpp +1 -1
- package/src/duckdb/src/storage/statistics/ub_duckdb_storage_statistics.cpp +10 -0
- package/src/duckdb/src/storage/storage_info.cpp +1 -1
- package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +3 -3
- package/src/duckdb/src/storage/table/column_data.cpp +7 -16
- package/src/duckdb/src/storage/table/column_data_checkpointer.cpp +4 -1
- package/src/duckdb/src/storage/table/column_segment.cpp +68 -78
- package/src/duckdb/src/storage/table/list_column_data.cpp +1 -0
- package/src/duckdb/src/storage/table/row_group.cpp +17 -7
- package/src/duckdb/src/storage/table/row_group_collection.cpp +28 -27
- package/src/duckdb/src/storage/table/ub_duckdb_storage_table.cpp +17 -0
- package/src/duckdb/src/storage/table/update_segment.cpp +7 -7
- package/src/duckdb/src/storage/temporary_file_manager.cpp +334 -0
- package/src/duckdb/src/storage/ub_duckdb_storage.cpp +20 -0
- package/src/duckdb/src/storage/write_ahead_log.cpp +3 -2
- package/src/duckdb/src/transaction/commit_state.cpp +4 -2
- package/src/duckdb/src/transaction/duck_transaction_manager.cpp +32 -17
- package/src/duckdb/src/transaction/meta_transaction.cpp +24 -0
- package/src/duckdb/src/transaction/transaction_context.cpp +0 -9
- package/src/duckdb/src/transaction/ub_duckdb_transaction.cpp +11 -0
- package/src/duckdb/src/transaction/undo_buffer.cpp +1 -1
- package/src/duckdb/third_party/jaro_winkler/details/common.hpp +1 -1
- package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +2 -0
- package/src/duckdb/third_party/libpg_query/include/parser/gram.hpp +1032 -551
- package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +24122 -24304
- package/src/duckdb/third_party/mbedtls/include/mbedtls/mbedtls_config.h +0 -3
- package/src/duckdb/third_party/mbedtls/library/entropy_poll.cpp +32 -4
- package/src/duckdb/third_party/miniz/miniz_wrapper.hpp +4 -4
- package/src/duckdb/third_party/tdigest/t_digest.hpp +3 -3
- package/src/duckdb/ub_src_common_arrow_appender.cpp +2 -0
- package/src/duckdb/ub_src_common_exception.cpp +2 -0
- package/src/duckdb/ub_src_execution_operator_helper.cpp +2 -0
- package/src/duckdb/ub_src_execution_operator_persistent.cpp +0 -2
- package/src/duckdb/ub_src_execution_physical_plan.cpp +0 -2
- package/src/duckdb/ub_src_parser_parsed_data.cpp +1 -1
- package/src/duckdb/ub_src_planner_operator.cpp +0 -2
- package/src/duckdb/ub_src_storage.cpp +2 -0
- package/test/columns.test.ts +1 -1
- package/test/test_all_types.test.ts +1 -1
|
@@ -17,21 +17,21 @@ namespace duckdb {
|
|
|
17
17
|
//===--------------------------------------------------------------------===//
|
|
18
18
|
struct TryCastToDecimal {
|
|
19
19
|
template <class SRC, class DST>
|
|
20
|
-
static inline bool Operation(SRC input, DST &result,
|
|
20
|
+
static inline bool Operation(SRC input, DST &result, CastParameters ¶meters, uint8_t width, uint8_t scale) {
|
|
21
21
|
throw NotImplementedException("Unimplemented type for TryCastToDecimal!");
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
struct TryCastToDecimalCommaSeparated {
|
|
26
26
|
template <class SRC, class DST>
|
|
27
|
-
static inline bool Operation(SRC input, DST &result,
|
|
27
|
+
static inline bool Operation(SRC input, DST &result, CastParameters ¶meters, uint8_t width, uint8_t scale) {
|
|
28
28
|
throw NotImplementedException("Unimplemented type for TryCastToDecimal!");
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
struct TryCastFromDecimal {
|
|
33
33
|
template <class SRC, class DST>
|
|
34
|
-
static inline bool Operation(SRC input, DST &result,
|
|
34
|
+
static inline bool Operation(SRC input, DST &result, CastParameters ¶meters, uint8_t width, uint8_t scale) {
|
|
35
35
|
throw NotImplementedException("Unimplemented type for TryCastFromDecimal!");
|
|
36
36
|
}
|
|
37
37
|
};
|
|
@@ -40,379 +40,405 @@ struct TryCastFromDecimal {
|
|
|
40
40
|
// Cast Decimal <-> bool
|
|
41
41
|
//===--------------------------------------------------------------------===//
|
|
42
42
|
template <>
|
|
43
|
-
DUCKDB_API bool TryCastToDecimal::Operation(bool input, int16_t &result,
|
|
43
|
+
DUCKDB_API bool TryCastToDecimal::Operation(bool input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
44
44
|
uint8_t scale);
|
|
45
45
|
template <>
|
|
46
|
-
DUCKDB_API bool TryCastToDecimal::Operation(bool input, int32_t &result,
|
|
46
|
+
DUCKDB_API bool TryCastToDecimal::Operation(bool input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
47
47
|
uint8_t scale);
|
|
48
48
|
template <>
|
|
49
|
-
DUCKDB_API bool TryCastToDecimal::Operation(bool input, int64_t &result,
|
|
49
|
+
DUCKDB_API bool TryCastToDecimal::Operation(bool input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
50
50
|
uint8_t scale);
|
|
51
51
|
template <>
|
|
52
|
-
DUCKDB_API bool TryCastToDecimal::Operation(bool input, hugeint_t &result,
|
|
52
|
+
DUCKDB_API bool TryCastToDecimal::Operation(bool input, hugeint_t &result, CastParameters ¶meters, uint8_t width,
|
|
53
53
|
uint8_t scale);
|
|
54
54
|
|
|
55
55
|
template <>
|
|
56
|
-
bool TryCastFromDecimal::Operation(int16_t input, bool &result,
|
|
56
|
+
bool TryCastFromDecimal::Operation(int16_t input, bool &result, CastParameters ¶meters, uint8_t width,
|
|
57
|
+
uint8_t scale);
|
|
57
58
|
template <>
|
|
58
|
-
bool TryCastFromDecimal::Operation(int32_t input, bool &result,
|
|
59
|
+
bool TryCastFromDecimal::Operation(int32_t input, bool &result, CastParameters ¶meters, uint8_t width,
|
|
60
|
+
uint8_t scale);
|
|
59
61
|
template <>
|
|
60
|
-
bool TryCastFromDecimal::Operation(int64_t input, bool &result,
|
|
62
|
+
bool TryCastFromDecimal::Operation(int64_t input, bool &result, CastParameters ¶meters, uint8_t width,
|
|
63
|
+
uint8_t scale);
|
|
61
64
|
template <>
|
|
62
|
-
bool TryCastFromDecimal::Operation(hugeint_t input, bool &result,
|
|
65
|
+
bool TryCastFromDecimal::Operation(hugeint_t input, bool &result, CastParameters ¶meters, uint8_t width,
|
|
66
|
+
uint8_t scale);
|
|
63
67
|
|
|
64
68
|
//===--------------------------------------------------------------------===//
|
|
65
69
|
// Cast Decimal <-> int8_t
|
|
66
70
|
//===--------------------------------------------------------------------===//
|
|
67
71
|
template <>
|
|
68
|
-
DUCKDB_API bool TryCastToDecimal::Operation(int8_t input, int16_t &result,
|
|
72
|
+
DUCKDB_API bool TryCastToDecimal::Operation(int8_t input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
69
73
|
uint8_t scale);
|
|
70
74
|
template <>
|
|
71
|
-
DUCKDB_API bool TryCastToDecimal::Operation(int8_t input, int32_t &result,
|
|
75
|
+
DUCKDB_API bool TryCastToDecimal::Operation(int8_t input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
72
76
|
uint8_t scale);
|
|
73
77
|
template <>
|
|
74
|
-
DUCKDB_API bool TryCastToDecimal::Operation(int8_t input, int64_t &result,
|
|
78
|
+
DUCKDB_API bool TryCastToDecimal::Operation(int8_t input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
75
79
|
uint8_t scale);
|
|
76
80
|
template <>
|
|
77
|
-
DUCKDB_API bool TryCastToDecimal::Operation(int8_t input, hugeint_t &result,
|
|
81
|
+
DUCKDB_API bool TryCastToDecimal::Operation(int8_t input, hugeint_t &result, CastParameters ¶meters, uint8_t width,
|
|
78
82
|
uint8_t scale);
|
|
79
83
|
|
|
80
84
|
template <>
|
|
81
|
-
bool TryCastFromDecimal::Operation(int16_t input, int8_t &result,
|
|
85
|
+
bool TryCastFromDecimal::Operation(int16_t input, int8_t &result, CastParameters ¶meters, uint8_t width,
|
|
86
|
+
uint8_t scale);
|
|
82
87
|
template <>
|
|
83
|
-
bool TryCastFromDecimal::Operation(int32_t input, int8_t &result,
|
|
88
|
+
bool TryCastFromDecimal::Operation(int32_t input, int8_t &result, CastParameters ¶meters, uint8_t width,
|
|
89
|
+
uint8_t scale);
|
|
84
90
|
template <>
|
|
85
|
-
bool TryCastFromDecimal::Operation(int64_t input, int8_t &result,
|
|
91
|
+
bool TryCastFromDecimal::Operation(int64_t input, int8_t &result, CastParameters ¶meters, uint8_t width,
|
|
92
|
+
uint8_t scale);
|
|
86
93
|
template <>
|
|
87
|
-
bool TryCastFromDecimal::Operation(hugeint_t input, int8_t &result,
|
|
94
|
+
bool TryCastFromDecimal::Operation(hugeint_t input, int8_t &result, CastParameters ¶meters, uint8_t width,
|
|
88
95
|
uint8_t scale);
|
|
89
96
|
|
|
90
97
|
//===--------------------------------------------------------------------===//
|
|
91
98
|
// Cast Decimal <-> int16_t
|
|
92
99
|
//===--------------------------------------------------------------------===//
|
|
93
100
|
template <>
|
|
94
|
-
DUCKDB_API bool TryCastToDecimal::Operation(int16_t input, int16_t &result,
|
|
101
|
+
DUCKDB_API bool TryCastToDecimal::Operation(int16_t input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
95
102
|
uint8_t scale);
|
|
96
103
|
template <>
|
|
97
|
-
DUCKDB_API bool TryCastToDecimal::Operation(int16_t input, int32_t &result,
|
|
104
|
+
DUCKDB_API bool TryCastToDecimal::Operation(int16_t input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
98
105
|
uint8_t scale);
|
|
99
106
|
template <>
|
|
100
|
-
DUCKDB_API bool TryCastToDecimal::Operation(int16_t input, int64_t &result,
|
|
107
|
+
DUCKDB_API bool TryCastToDecimal::Operation(int16_t input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
101
108
|
uint8_t scale);
|
|
102
109
|
template <>
|
|
103
|
-
DUCKDB_API bool TryCastToDecimal::Operation(int16_t input, hugeint_t &result,
|
|
110
|
+
DUCKDB_API bool TryCastToDecimal::Operation(int16_t input, hugeint_t &result, CastParameters ¶meters, uint8_t width,
|
|
104
111
|
uint8_t scale);
|
|
105
112
|
|
|
106
113
|
template <>
|
|
107
|
-
bool TryCastFromDecimal::Operation(int16_t input, int16_t &result,
|
|
114
|
+
bool TryCastFromDecimal::Operation(int16_t input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
115
|
+
uint8_t scale);
|
|
108
116
|
template <>
|
|
109
|
-
bool TryCastFromDecimal::Operation(int32_t input, int16_t &result,
|
|
117
|
+
bool TryCastFromDecimal::Operation(int32_t input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
118
|
+
uint8_t scale);
|
|
110
119
|
template <>
|
|
111
|
-
bool TryCastFromDecimal::Operation(int64_t input, int16_t &result,
|
|
120
|
+
bool TryCastFromDecimal::Operation(int64_t input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
121
|
+
uint8_t scale);
|
|
112
122
|
template <>
|
|
113
|
-
bool TryCastFromDecimal::Operation(hugeint_t input, int16_t &result,
|
|
123
|
+
bool TryCastFromDecimal::Operation(hugeint_t input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
114
124
|
uint8_t scale);
|
|
115
125
|
|
|
116
126
|
//===--------------------------------------------------------------------===//
|
|
117
127
|
// Cast Decimal <-> int32_t
|
|
118
128
|
//===--------------------------------------------------------------------===//
|
|
119
129
|
template <>
|
|
120
|
-
DUCKDB_API bool TryCastToDecimal::Operation(int32_t input, int16_t &result,
|
|
130
|
+
DUCKDB_API bool TryCastToDecimal::Operation(int32_t input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
121
131
|
uint8_t scale);
|
|
122
132
|
template <>
|
|
123
|
-
DUCKDB_API bool TryCastToDecimal::Operation(int32_t input, int32_t &result,
|
|
133
|
+
DUCKDB_API bool TryCastToDecimal::Operation(int32_t input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
124
134
|
uint8_t scale);
|
|
125
135
|
template <>
|
|
126
|
-
DUCKDB_API bool TryCastToDecimal::Operation(int32_t input, int64_t &result,
|
|
136
|
+
DUCKDB_API bool TryCastToDecimal::Operation(int32_t input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
127
137
|
uint8_t scale);
|
|
128
138
|
template <>
|
|
129
|
-
DUCKDB_API bool TryCastToDecimal::Operation(int32_t input, hugeint_t &result,
|
|
139
|
+
DUCKDB_API bool TryCastToDecimal::Operation(int32_t input, hugeint_t &result, CastParameters ¶meters, uint8_t width,
|
|
130
140
|
uint8_t scale);
|
|
131
141
|
|
|
132
142
|
template <>
|
|
133
|
-
bool TryCastFromDecimal::Operation(int16_t input, int32_t &result,
|
|
143
|
+
bool TryCastFromDecimal::Operation(int16_t input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
144
|
+
uint8_t scale);
|
|
134
145
|
template <>
|
|
135
|
-
bool TryCastFromDecimal::Operation(int32_t input, int32_t &result,
|
|
146
|
+
bool TryCastFromDecimal::Operation(int32_t input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
147
|
+
uint8_t scale);
|
|
136
148
|
template <>
|
|
137
|
-
bool TryCastFromDecimal::Operation(int64_t input, int32_t &result,
|
|
149
|
+
bool TryCastFromDecimal::Operation(int64_t input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
150
|
+
uint8_t scale);
|
|
138
151
|
template <>
|
|
139
|
-
bool TryCastFromDecimal::Operation(hugeint_t input, int32_t &result,
|
|
152
|
+
bool TryCastFromDecimal::Operation(hugeint_t input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
140
153
|
uint8_t scale);
|
|
141
154
|
|
|
142
155
|
//===--------------------------------------------------------------------===//
|
|
143
156
|
// Cast Decimal <-> int64_t
|
|
144
157
|
//===--------------------------------------------------------------------===//
|
|
145
158
|
template <>
|
|
146
|
-
DUCKDB_API bool TryCastToDecimal::Operation(int64_t input, int16_t &result,
|
|
159
|
+
DUCKDB_API bool TryCastToDecimal::Operation(int64_t input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
147
160
|
uint8_t scale);
|
|
148
161
|
template <>
|
|
149
|
-
DUCKDB_API bool TryCastToDecimal::Operation(int64_t input, int32_t &result,
|
|
162
|
+
DUCKDB_API bool TryCastToDecimal::Operation(int64_t input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
150
163
|
uint8_t scale);
|
|
151
164
|
template <>
|
|
152
|
-
DUCKDB_API bool TryCastToDecimal::Operation(int64_t input, int64_t &result,
|
|
165
|
+
DUCKDB_API bool TryCastToDecimal::Operation(int64_t input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
153
166
|
uint8_t scale);
|
|
154
167
|
template <>
|
|
155
|
-
DUCKDB_API bool TryCastToDecimal::Operation(int64_t input, hugeint_t &result,
|
|
168
|
+
DUCKDB_API bool TryCastToDecimal::Operation(int64_t input, hugeint_t &result, CastParameters ¶meters, uint8_t width,
|
|
156
169
|
uint8_t scale);
|
|
157
170
|
|
|
158
171
|
template <>
|
|
159
|
-
bool TryCastFromDecimal::Operation(int16_t input, int64_t &result,
|
|
172
|
+
bool TryCastFromDecimal::Operation(int16_t input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
173
|
+
uint8_t scale);
|
|
160
174
|
template <>
|
|
161
|
-
bool TryCastFromDecimal::Operation(int32_t input, int64_t &result,
|
|
175
|
+
bool TryCastFromDecimal::Operation(int32_t input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
176
|
+
uint8_t scale);
|
|
162
177
|
template <>
|
|
163
|
-
bool TryCastFromDecimal::Operation(int64_t input, int64_t &result,
|
|
178
|
+
bool TryCastFromDecimal::Operation(int64_t input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
179
|
+
uint8_t scale);
|
|
164
180
|
template <>
|
|
165
|
-
bool TryCastFromDecimal::Operation(hugeint_t input, int64_t &result,
|
|
181
|
+
bool TryCastFromDecimal::Operation(hugeint_t input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
166
182
|
uint8_t scale);
|
|
167
183
|
|
|
168
184
|
//===--------------------------------------------------------------------===//
|
|
169
185
|
// Cast Decimal <-> hugeint_t
|
|
170
186
|
//===--------------------------------------------------------------------===//
|
|
171
187
|
template <>
|
|
172
|
-
DUCKDB_API bool TryCastToDecimal::Operation(hugeint_t input, int16_t &result,
|
|
188
|
+
DUCKDB_API bool TryCastToDecimal::Operation(hugeint_t input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
173
189
|
uint8_t scale);
|
|
174
190
|
template <>
|
|
175
|
-
DUCKDB_API bool TryCastToDecimal::Operation(hugeint_t input, int32_t &result,
|
|
191
|
+
DUCKDB_API bool TryCastToDecimal::Operation(hugeint_t input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
176
192
|
uint8_t scale);
|
|
177
193
|
template <>
|
|
178
|
-
DUCKDB_API bool TryCastToDecimal::Operation(hugeint_t input, int64_t &result,
|
|
194
|
+
DUCKDB_API bool TryCastToDecimal::Operation(hugeint_t input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
179
195
|
uint8_t scale);
|
|
180
196
|
template <>
|
|
181
|
-
DUCKDB_API bool TryCastToDecimal::Operation(hugeint_t input, hugeint_t &result,
|
|
182
|
-
uint8_t scale);
|
|
197
|
+
DUCKDB_API bool TryCastToDecimal::Operation(hugeint_t input, hugeint_t &result, CastParameters ¶meters,
|
|
198
|
+
uint8_t width, uint8_t scale);
|
|
183
199
|
|
|
184
200
|
template <>
|
|
185
|
-
bool TryCastFromDecimal::Operation(int16_t input, hugeint_t &result,
|
|
201
|
+
bool TryCastFromDecimal::Operation(int16_t input, hugeint_t &result, CastParameters ¶meters, uint8_t width,
|
|
186
202
|
uint8_t scale);
|
|
187
203
|
template <>
|
|
188
|
-
bool TryCastFromDecimal::Operation(int32_t input, hugeint_t &result,
|
|
204
|
+
bool TryCastFromDecimal::Operation(int32_t input, hugeint_t &result, CastParameters ¶meters, uint8_t width,
|
|
189
205
|
uint8_t scale);
|
|
190
206
|
template <>
|
|
191
|
-
bool TryCastFromDecimal::Operation(int64_t input, hugeint_t &result,
|
|
207
|
+
bool TryCastFromDecimal::Operation(int64_t input, hugeint_t &result, CastParameters ¶meters, uint8_t width,
|
|
192
208
|
uint8_t scale);
|
|
193
209
|
template <>
|
|
194
|
-
bool TryCastFromDecimal::Operation(hugeint_t input, hugeint_t &result,
|
|
210
|
+
bool TryCastFromDecimal::Operation(hugeint_t input, hugeint_t &result, CastParameters ¶meters, uint8_t width,
|
|
195
211
|
uint8_t scale);
|
|
196
212
|
|
|
197
213
|
//===--------------------------------------------------------------------===//
|
|
198
214
|
// Cast Decimal <-> uhugeint_t
|
|
199
215
|
//===--------------------------------------------------------------------===//
|
|
200
216
|
template <>
|
|
201
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uhugeint_t input, int16_t &result,
|
|
202
|
-
uint8_t scale);
|
|
217
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uhugeint_t input, int16_t &result, CastParameters ¶meters,
|
|
218
|
+
uint8_t width, uint8_t scale);
|
|
203
219
|
template <>
|
|
204
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uhugeint_t input, int32_t &result,
|
|
205
|
-
uint8_t scale);
|
|
220
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uhugeint_t input, int32_t &result, CastParameters ¶meters,
|
|
221
|
+
uint8_t width, uint8_t scale);
|
|
206
222
|
template <>
|
|
207
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uhugeint_t input, int64_t &result,
|
|
208
|
-
uint8_t scale);
|
|
223
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uhugeint_t input, int64_t &result, CastParameters ¶meters,
|
|
224
|
+
uint8_t width, uint8_t scale);
|
|
209
225
|
template <>
|
|
210
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uhugeint_t input, hugeint_t &result,
|
|
211
|
-
uint8_t scale);
|
|
226
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uhugeint_t input, hugeint_t &result, CastParameters ¶meters,
|
|
227
|
+
uint8_t width, uint8_t scale);
|
|
212
228
|
|
|
213
229
|
template <>
|
|
214
|
-
bool TryCastFromDecimal::Operation(int16_t input, uhugeint_t &result,
|
|
230
|
+
bool TryCastFromDecimal::Operation(int16_t input, uhugeint_t &result, CastParameters ¶meters, uint8_t width,
|
|
215
231
|
uint8_t scale);
|
|
216
232
|
template <>
|
|
217
|
-
bool TryCastFromDecimal::Operation(int32_t input, uhugeint_t &result,
|
|
233
|
+
bool TryCastFromDecimal::Operation(int32_t input, uhugeint_t &result, CastParameters ¶meters, uint8_t width,
|
|
218
234
|
uint8_t scale);
|
|
219
235
|
template <>
|
|
220
|
-
bool TryCastFromDecimal::Operation(int64_t input, uhugeint_t &result,
|
|
236
|
+
bool TryCastFromDecimal::Operation(int64_t input, uhugeint_t &result, CastParameters ¶meters, uint8_t width,
|
|
221
237
|
uint8_t scale);
|
|
222
238
|
template <>
|
|
223
|
-
bool TryCastFromDecimal::Operation(hugeint_t input, uhugeint_t &result,
|
|
239
|
+
bool TryCastFromDecimal::Operation(hugeint_t input, uhugeint_t &result, CastParameters ¶meters, uint8_t width,
|
|
224
240
|
uint8_t scale);
|
|
225
241
|
|
|
226
242
|
//===--------------------------------------------------------------------===//
|
|
227
243
|
// Cast Decimal <-> uint8_t
|
|
228
244
|
//===--------------------------------------------------------------------===//
|
|
229
245
|
template <>
|
|
230
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uint8_t input, int16_t &result,
|
|
246
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uint8_t input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
231
247
|
uint8_t scale);
|
|
232
248
|
template <>
|
|
233
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uint8_t input, int32_t &result,
|
|
249
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uint8_t input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
234
250
|
uint8_t scale);
|
|
235
251
|
template <>
|
|
236
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uint8_t input, int64_t &result,
|
|
252
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uint8_t input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
237
253
|
uint8_t scale);
|
|
238
254
|
template <>
|
|
239
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uint8_t input, hugeint_t &result,
|
|
255
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uint8_t input, hugeint_t &result, CastParameters ¶meters, uint8_t width,
|
|
240
256
|
uint8_t scale);
|
|
241
257
|
|
|
242
258
|
template <>
|
|
243
|
-
bool TryCastFromDecimal::Operation(int16_t input, uint8_t &result,
|
|
259
|
+
bool TryCastFromDecimal::Operation(int16_t input, uint8_t &result, CastParameters ¶meters, uint8_t width,
|
|
260
|
+
uint8_t scale);
|
|
244
261
|
template <>
|
|
245
|
-
bool TryCastFromDecimal::Operation(int32_t input, uint8_t &result,
|
|
262
|
+
bool TryCastFromDecimal::Operation(int32_t input, uint8_t &result, CastParameters ¶meters, uint8_t width,
|
|
263
|
+
uint8_t scale);
|
|
246
264
|
template <>
|
|
247
|
-
bool TryCastFromDecimal::Operation(int64_t input, uint8_t &result,
|
|
265
|
+
bool TryCastFromDecimal::Operation(int64_t input, uint8_t &result, CastParameters ¶meters, uint8_t width,
|
|
266
|
+
uint8_t scale);
|
|
248
267
|
template <>
|
|
249
|
-
bool TryCastFromDecimal::Operation(hugeint_t input, uint8_t &result,
|
|
268
|
+
bool TryCastFromDecimal::Operation(hugeint_t input, uint8_t &result, CastParameters ¶meters, uint8_t width,
|
|
250
269
|
uint8_t scale);
|
|
251
270
|
|
|
252
271
|
//===--------------------------------------------------------------------===//
|
|
253
272
|
// Cast Decimal <-> uint16_t
|
|
254
273
|
//===--------------------------------------------------------------------===//
|
|
255
274
|
template <>
|
|
256
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uint16_t input, int16_t &result,
|
|
275
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uint16_t input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
257
276
|
uint8_t scale);
|
|
258
277
|
template <>
|
|
259
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uint16_t input, int32_t &result,
|
|
278
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uint16_t input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
260
279
|
uint8_t scale);
|
|
261
280
|
template <>
|
|
262
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uint16_t input, int64_t &result,
|
|
281
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uint16_t input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
263
282
|
uint8_t scale);
|
|
264
283
|
template <>
|
|
265
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uint16_t input, hugeint_t &result,
|
|
266
|
-
uint8_t scale);
|
|
284
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uint16_t input, hugeint_t &result, CastParameters ¶meters,
|
|
285
|
+
uint8_t width, uint8_t scale);
|
|
267
286
|
|
|
268
287
|
template <>
|
|
269
|
-
bool TryCastFromDecimal::Operation(int16_t input, uint16_t &result,
|
|
288
|
+
bool TryCastFromDecimal::Operation(int16_t input, uint16_t &result, CastParameters ¶meters, uint8_t width,
|
|
270
289
|
uint8_t scale);
|
|
271
290
|
template <>
|
|
272
|
-
bool TryCastFromDecimal::Operation(int32_t input, uint16_t &result,
|
|
291
|
+
bool TryCastFromDecimal::Operation(int32_t input, uint16_t &result, CastParameters ¶meters, uint8_t width,
|
|
273
292
|
uint8_t scale);
|
|
274
293
|
template <>
|
|
275
|
-
bool TryCastFromDecimal::Operation(int64_t input, uint16_t &result,
|
|
294
|
+
bool TryCastFromDecimal::Operation(int64_t input, uint16_t &result, CastParameters ¶meters, uint8_t width,
|
|
276
295
|
uint8_t scale);
|
|
277
296
|
template <>
|
|
278
|
-
bool TryCastFromDecimal::Operation(hugeint_t input, uint16_t &result,
|
|
297
|
+
bool TryCastFromDecimal::Operation(hugeint_t input, uint16_t &result, CastParameters ¶meters, uint8_t width,
|
|
279
298
|
uint8_t scale);
|
|
280
299
|
|
|
281
300
|
//===--------------------------------------------------------------------===//
|
|
282
301
|
// Cast Decimal <-> uint32_t
|
|
283
302
|
//===--------------------------------------------------------------------===//
|
|
284
303
|
template <>
|
|
285
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uint32_t input, int16_t &result,
|
|
304
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uint32_t input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
286
305
|
uint8_t scale);
|
|
287
306
|
template <>
|
|
288
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uint32_t input, int32_t &result,
|
|
307
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uint32_t input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
289
308
|
uint8_t scale);
|
|
290
309
|
template <>
|
|
291
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uint32_t input, int64_t &result,
|
|
310
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uint32_t input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
292
311
|
uint8_t scale);
|
|
293
312
|
template <>
|
|
294
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uint32_t input, hugeint_t &result,
|
|
295
|
-
uint8_t scale);
|
|
313
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uint32_t input, hugeint_t &result, CastParameters ¶meters,
|
|
314
|
+
uint8_t width, uint8_t scale);
|
|
296
315
|
|
|
297
316
|
template <>
|
|
298
|
-
bool TryCastFromDecimal::Operation(int16_t input, uint32_t &result,
|
|
317
|
+
bool TryCastFromDecimal::Operation(int16_t input, uint32_t &result, CastParameters ¶meters, uint8_t width,
|
|
299
318
|
uint8_t scale);
|
|
300
319
|
template <>
|
|
301
|
-
bool TryCastFromDecimal::Operation(int32_t input, uint32_t &result,
|
|
320
|
+
bool TryCastFromDecimal::Operation(int32_t input, uint32_t &result, CastParameters ¶meters, uint8_t width,
|
|
302
321
|
uint8_t scale);
|
|
303
322
|
template <>
|
|
304
|
-
bool TryCastFromDecimal::Operation(int64_t input, uint32_t &result,
|
|
323
|
+
bool TryCastFromDecimal::Operation(int64_t input, uint32_t &result, CastParameters ¶meters, uint8_t width,
|
|
305
324
|
uint8_t scale);
|
|
306
325
|
template <>
|
|
307
|
-
bool TryCastFromDecimal::Operation(hugeint_t input, uint32_t &result,
|
|
326
|
+
bool TryCastFromDecimal::Operation(hugeint_t input, uint32_t &result, CastParameters ¶meters, uint8_t width,
|
|
308
327
|
uint8_t scale);
|
|
309
328
|
|
|
310
329
|
//===--------------------------------------------------------------------===//
|
|
311
330
|
// Cast Decimal <-> uint64_t
|
|
312
331
|
//===--------------------------------------------------------------------===//
|
|
313
332
|
template <>
|
|
314
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uint64_t input, int16_t &result,
|
|
333
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uint64_t input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
315
334
|
uint8_t scale);
|
|
316
335
|
template <>
|
|
317
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uint64_t input, int32_t &result,
|
|
336
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uint64_t input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
318
337
|
uint8_t scale);
|
|
319
338
|
template <>
|
|
320
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uint64_t input, int64_t &result,
|
|
339
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uint64_t input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
321
340
|
uint8_t scale);
|
|
322
341
|
template <>
|
|
323
|
-
DUCKDB_API bool TryCastToDecimal::Operation(uint64_t input, hugeint_t &result,
|
|
324
|
-
uint8_t scale);
|
|
342
|
+
DUCKDB_API bool TryCastToDecimal::Operation(uint64_t input, hugeint_t &result, CastParameters ¶meters,
|
|
343
|
+
uint8_t width, uint8_t scale);
|
|
325
344
|
|
|
326
345
|
template <>
|
|
327
|
-
bool TryCastFromDecimal::Operation(int16_t input, uint64_t &result,
|
|
346
|
+
bool TryCastFromDecimal::Operation(int16_t input, uint64_t &result, CastParameters ¶meters, uint8_t width,
|
|
328
347
|
uint8_t scale);
|
|
329
348
|
template <>
|
|
330
|
-
bool TryCastFromDecimal::Operation(int32_t input, uint64_t &result,
|
|
349
|
+
bool TryCastFromDecimal::Operation(int32_t input, uint64_t &result, CastParameters ¶meters, uint8_t width,
|
|
331
350
|
uint8_t scale);
|
|
332
351
|
template <>
|
|
333
|
-
bool TryCastFromDecimal::Operation(int64_t input, uint64_t &result,
|
|
352
|
+
bool TryCastFromDecimal::Operation(int64_t input, uint64_t &result, CastParameters ¶meters, uint8_t width,
|
|
334
353
|
uint8_t scale);
|
|
335
354
|
template <>
|
|
336
|
-
bool TryCastFromDecimal::Operation(hugeint_t input, uint64_t &result,
|
|
355
|
+
bool TryCastFromDecimal::Operation(hugeint_t input, uint64_t &result, CastParameters ¶meters, uint8_t width,
|
|
337
356
|
uint8_t scale);
|
|
338
357
|
|
|
339
358
|
//===--------------------------------------------------------------------===//
|
|
340
359
|
// Cast Decimal <-> float
|
|
341
360
|
//===--------------------------------------------------------------------===//
|
|
342
361
|
template <>
|
|
343
|
-
DUCKDB_API bool TryCastToDecimal::Operation(float input, int16_t &result,
|
|
362
|
+
DUCKDB_API bool TryCastToDecimal::Operation(float input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
344
363
|
uint8_t scale);
|
|
345
364
|
template <>
|
|
346
|
-
DUCKDB_API bool TryCastToDecimal::Operation(float input, int32_t &result,
|
|
365
|
+
DUCKDB_API bool TryCastToDecimal::Operation(float input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
347
366
|
uint8_t scale);
|
|
348
367
|
template <>
|
|
349
|
-
DUCKDB_API bool TryCastToDecimal::Operation(float input, int64_t &result,
|
|
368
|
+
DUCKDB_API bool TryCastToDecimal::Operation(float input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
350
369
|
uint8_t scale);
|
|
351
370
|
template <>
|
|
352
|
-
DUCKDB_API bool TryCastToDecimal::Operation(float input, hugeint_t &result,
|
|
371
|
+
DUCKDB_API bool TryCastToDecimal::Operation(float input, hugeint_t &result, CastParameters ¶meters, uint8_t width,
|
|
353
372
|
uint8_t scale);
|
|
354
373
|
|
|
355
374
|
template <>
|
|
356
|
-
bool TryCastFromDecimal::Operation(int16_t input, float &result,
|
|
375
|
+
bool TryCastFromDecimal::Operation(int16_t input, float &result, CastParameters ¶meters, uint8_t width,
|
|
376
|
+
uint8_t scale);
|
|
357
377
|
template <>
|
|
358
|
-
bool TryCastFromDecimal::Operation(int32_t input, float &result,
|
|
378
|
+
bool TryCastFromDecimal::Operation(int32_t input, float &result, CastParameters ¶meters, uint8_t width,
|
|
379
|
+
uint8_t scale);
|
|
359
380
|
template <>
|
|
360
|
-
bool TryCastFromDecimal::Operation(int64_t input, float &result,
|
|
381
|
+
bool TryCastFromDecimal::Operation(int64_t input, float &result, CastParameters ¶meters, uint8_t width,
|
|
382
|
+
uint8_t scale);
|
|
361
383
|
template <>
|
|
362
|
-
bool TryCastFromDecimal::Operation(hugeint_t input, float &result,
|
|
384
|
+
bool TryCastFromDecimal::Operation(hugeint_t input, float &result, CastParameters ¶meters, uint8_t width,
|
|
385
|
+
uint8_t scale);
|
|
363
386
|
|
|
364
387
|
//===--------------------------------------------------------------------===//
|
|
365
388
|
// Cast Decimal <-> double
|
|
366
389
|
//===--------------------------------------------------------------------===//
|
|
367
390
|
template <>
|
|
368
|
-
DUCKDB_API bool TryCastToDecimal::Operation(double input, int16_t &result,
|
|
391
|
+
DUCKDB_API bool TryCastToDecimal::Operation(double input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
369
392
|
uint8_t scale);
|
|
370
393
|
template <>
|
|
371
|
-
DUCKDB_API bool TryCastToDecimal::Operation(double input, int32_t &result,
|
|
394
|
+
DUCKDB_API bool TryCastToDecimal::Operation(double input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
372
395
|
uint8_t scale);
|
|
373
396
|
template <>
|
|
374
|
-
DUCKDB_API bool TryCastToDecimal::Operation(double input, int64_t &result,
|
|
397
|
+
DUCKDB_API bool TryCastToDecimal::Operation(double input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
375
398
|
uint8_t scale);
|
|
376
399
|
template <>
|
|
377
|
-
DUCKDB_API bool TryCastToDecimal::Operation(double input, hugeint_t &result,
|
|
400
|
+
DUCKDB_API bool TryCastToDecimal::Operation(double input, hugeint_t &result, CastParameters ¶meters, uint8_t width,
|
|
378
401
|
uint8_t scale);
|
|
379
402
|
|
|
380
403
|
template <>
|
|
381
|
-
bool TryCastFromDecimal::Operation(int16_t input, double &result,
|
|
404
|
+
bool TryCastFromDecimal::Operation(int16_t input, double &result, CastParameters ¶meters, uint8_t width,
|
|
405
|
+
uint8_t scale);
|
|
382
406
|
template <>
|
|
383
|
-
bool TryCastFromDecimal::Operation(int32_t input, double &result,
|
|
407
|
+
bool TryCastFromDecimal::Operation(int32_t input, double &result, CastParameters ¶meters, uint8_t width,
|
|
408
|
+
uint8_t scale);
|
|
384
409
|
template <>
|
|
385
|
-
bool TryCastFromDecimal::Operation(int64_t input, double &result,
|
|
410
|
+
bool TryCastFromDecimal::Operation(int64_t input, double &result, CastParameters ¶meters, uint8_t width,
|
|
411
|
+
uint8_t scale);
|
|
386
412
|
template <>
|
|
387
|
-
bool TryCastFromDecimal::Operation(hugeint_t input, double &result,
|
|
413
|
+
bool TryCastFromDecimal::Operation(hugeint_t input, double &result, CastParameters ¶meters, uint8_t width,
|
|
388
414
|
uint8_t scale);
|
|
389
415
|
|
|
390
416
|
//===--------------------------------------------------------------------===//
|
|
391
417
|
// Cast Decimal <-> VARCHAR
|
|
392
418
|
//===--------------------------------------------------------------------===//
|
|
393
419
|
template <>
|
|
394
|
-
DUCKDB_API bool TryCastToDecimal::Operation(string_t input, int16_t &result,
|
|
420
|
+
DUCKDB_API bool TryCastToDecimal::Operation(string_t input, int16_t &result, CastParameters ¶meters, uint8_t width,
|
|
395
421
|
uint8_t scale);
|
|
396
422
|
template <>
|
|
397
|
-
DUCKDB_API bool TryCastToDecimal::Operation(string_t input, int32_t &result,
|
|
423
|
+
DUCKDB_API bool TryCastToDecimal::Operation(string_t input, int32_t &result, CastParameters ¶meters, uint8_t width,
|
|
398
424
|
uint8_t scale);
|
|
399
425
|
template <>
|
|
400
|
-
DUCKDB_API bool TryCastToDecimal::Operation(string_t input, int64_t &result,
|
|
426
|
+
DUCKDB_API bool TryCastToDecimal::Operation(string_t input, int64_t &result, CastParameters ¶meters, uint8_t width,
|
|
401
427
|
uint8_t scale);
|
|
402
428
|
template <>
|
|
403
|
-
DUCKDB_API bool TryCastToDecimal::Operation(string_t input, hugeint_t &result,
|
|
404
|
-
uint8_t scale);
|
|
429
|
+
DUCKDB_API bool TryCastToDecimal::Operation(string_t input, hugeint_t &result, CastParameters ¶meters,
|
|
430
|
+
uint8_t width, uint8_t scale);
|
|
405
431
|
template <>
|
|
406
|
-
DUCKDB_API bool TryCastToDecimalCommaSeparated::Operation(string_t input, int16_t &result,
|
|
432
|
+
DUCKDB_API bool TryCastToDecimalCommaSeparated::Operation(string_t input, int16_t &result, CastParameters ¶meters,
|
|
407
433
|
uint8_t width, uint8_t scale);
|
|
408
434
|
template <>
|
|
409
|
-
DUCKDB_API bool TryCastToDecimalCommaSeparated::Operation(string_t input, int32_t &result,
|
|
435
|
+
DUCKDB_API bool TryCastToDecimalCommaSeparated::Operation(string_t input, int32_t &result, CastParameters ¶meters,
|
|
410
436
|
uint8_t width, uint8_t scale);
|
|
411
437
|
template <>
|
|
412
|
-
DUCKDB_API bool TryCastToDecimalCommaSeparated::Operation(string_t input, int64_t &result,
|
|
438
|
+
DUCKDB_API bool TryCastToDecimalCommaSeparated::Operation(string_t input, int64_t &result, CastParameters ¶meters,
|
|
413
439
|
uint8_t width, uint8_t scale);
|
|
414
440
|
template <>
|
|
415
|
-
DUCKDB_API bool TryCastToDecimalCommaSeparated::Operation(string_t input, hugeint_t &result,
|
|
441
|
+
DUCKDB_API bool TryCastToDecimalCommaSeparated::Operation(string_t input, hugeint_t &result, CastParameters ¶meters,
|
|
416
442
|
uint8_t width, uint8_t scale);
|
|
417
443
|
|
|
418
444
|
struct StringCastFromDecimal {
|
|
@@ -29,12 +29,12 @@ struct IntegerCastOperation {
|
|
|
29
29
|
if (DUCKDB_UNLIKELY(state.result < (NumericLimits<store_t>::Minimum() + digit) / 10)) {
|
|
30
30
|
return false;
|
|
31
31
|
}
|
|
32
|
-
state.result = state.result * 10 - digit;
|
|
32
|
+
state.result = UnsafeNumericCast<store_t>(state.result * 10 - digit);
|
|
33
33
|
} else {
|
|
34
34
|
if (DUCKDB_UNLIKELY(state.result > (NumericLimits<store_t>::Maximum() - digit) / 10)) {
|
|
35
35
|
return false;
|
|
36
36
|
}
|
|
37
|
-
state.result = state.result * 10 + digit;
|
|
37
|
+
state.result = UnsafeNumericCast<store_t>(state.result * 10 + digit);
|
|
38
38
|
}
|
|
39
39
|
return true;
|
|
40
40
|
}
|
|
@@ -45,7 +45,7 @@ struct IntegerCastOperation {
|
|
|
45
45
|
if (DUCKDB_UNLIKELY(state.result > (NumericLimits<store_t>::Maximum() - digit) / 16)) {
|
|
46
46
|
return false;
|
|
47
47
|
}
|
|
48
|
-
state.result = state.result * 16 + digit;
|
|
48
|
+
state.result = UnsafeNumericCast<store_t>(state.result * 16 + digit);
|
|
49
49
|
return true;
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -55,7 +55,7 @@ struct IntegerCastOperation {
|
|
|
55
55
|
if (DUCKDB_UNLIKELY(state.result > (NumericLimits<store_t>::Maximum() - digit) / 2)) {
|
|
56
56
|
return false;
|
|
57
57
|
}
|
|
58
|
-
state.result = state.result * 2 + digit;
|
|
58
|
+
state.result = UnsafeNumericCast<store_t>(state.result * 2 + digit);
|
|
59
59
|
return true;
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -126,7 +126,7 @@ struct IntegerDecimalCastOperation : IntegerCastOperation {
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
// Handle decimals
|
|
129
|
-
e = exponent - state.decimal_digits;
|
|
129
|
+
e = UnsafeNumericCast<int16_t>(exponent - state.decimal_digits);
|
|
130
130
|
store_t remainder = 0;
|
|
131
131
|
if (e < 0) {
|
|
132
132
|
if (static_cast<uint16_t>(-e) <= NumericLimits<store_t>::Digits()) {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
#include "duckdb/common/unordered_map.hpp"
|
|
16
16
|
#include "duckdb/common/unordered_set.hpp"
|
|
17
17
|
#include "duckdb/common/uhugeint.hpp"
|
|
18
|
-
#include "duckdb/execution/operator/csv_scanner/
|
|
18
|
+
#include "duckdb/execution/operator/csv_scanner/csv_reader_options.hpp"
|
|
19
19
|
|
|
20
20
|
namespace duckdb {
|
|
21
21
|
|