duckdb 0.10.2-dev0.0 → 0.10.2-dev3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.gyp +22 -18
- package/binding.gyp.in +3 -0
- package/package.json +1 -1
- package/src/duckdb/extension/icu/icu-timezone.cpp +3 -1
- package/src/duckdb/extension/icu/icu_extension.cpp +6 -2
- package/src/duckdb/extension/json/buffered_json_reader.cpp +10 -3
- package/src/duckdb/extension/json/include/buffered_json_reader.hpp +2 -0
- package/src/duckdb/extension/json/include/json_scan.hpp +13 -7
- package/src/duckdb/extension/json/include/json_serializer.hpp +5 -4
- package/src/duckdb/extension/json/include/json_structure.hpp +3 -3
- package/src/duckdb/extension/json/json_functions/json_serialize_plan.cpp +15 -5
- package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +15 -6
- package/src/duckdb/extension/json/json_functions/json_structure.cpp +21 -20
- package/src/duckdb/extension/json/json_functions/read_json.cpp +37 -3
- package/src/duckdb/extension/json/json_functions.cpp +7 -2
- package/src/duckdb/extension/json/json_scan.cpp +57 -33
- package/src/duckdb/extension/parquet/column_reader.cpp +12 -3
- package/src/duckdb/extension/parquet/column_writer.cpp +44 -7
- package/src/duckdb/extension/parquet/include/parquet_writer.hpp +5 -1
- package/src/duckdb/extension/parquet/parquet_extension.cpp +30 -3
- package/src/duckdb/extension/parquet/parquet_metadata.cpp +1 -1
- package/src/duckdb/extension/parquet/parquet_writer.cpp +4 -2
- package/src/duckdb/extension/parquet/zstd_file_system.cpp +1 -1
- package/src/duckdb/src/catalog/catalog.cpp +5 -1
- package/src/duckdb/src/catalog/catalog_entry/duck_schema_entry.cpp +21 -5
- package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +8 -9
- package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +3 -7
- package/src/duckdb/src/catalog/catalog_entry/sequence_catalog_entry.cpp +1 -1
- package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +6 -7
- package/src/duckdb/src/catalog/catalog_entry.cpp +8 -0
- package/src/duckdb/src/catalog/catalog_search_path.cpp +5 -0
- package/src/duckdb/src/catalog/catalog_set.cpp +2 -2
- package/src/duckdb/src/catalog/default/default_functions.cpp +6 -6
- package/src/duckdb/src/catalog/default/default_schemas.cpp +1 -1
- package/src/duckdb/src/catalog/default/default_views.cpp +7 -7
- package/src/duckdb/src/catalog/dependency_catalog_set.cpp +2 -1
- package/src/duckdb/src/catalog/dependency_list.cpp +92 -8
- package/src/duckdb/src/catalog/dependency_manager.cpp +53 -68
- package/src/duckdb/src/catalog/duck_catalog.cpp +1 -1
- package/src/duckdb/src/common/adbc/adbc.cpp +287 -45
- package/src/duckdb/src/common/arrow/appender/union_data.cpp +2 -2
- package/src/duckdb/src/common/box_renderer.cpp +12 -12
- package/src/duckdb/src/common/crypto/md5.cpp +2 -1
- package/src/duckdb/src/common/enum_util.cpp +307 -1
- package/src/duckdb/src/common/enums/expression_type.cpp +4 -0
- package/src/duckdb/src/common/enums/optimizer_type.cpp +1 -1
- package/src/duckdb/src/common/file_system.cpp +60 -13
- package/src/duckdb/src/common/filename_pattern.cpp +13 -13
- package/src/duckdb/src/common/gzip_file_system.cpp +1 -1
- package/src/duckdb/src/common/http_state.cpp +1 -1
- package/src/duckdb/src/common/local_file_system.cpp +72 -71
- package/src/duckdb/src/common/multi_file_reader.cpp +48 -28
- package/src/duckdb/src/common/row_operations/row_matcher.cpp +2 -2
- package/src/duckdb/src/common/serializer/buffered_file_reader.cpp +13 -1
- package/src/duckdb/src/common/serializer/buffered_file_writer.cpp +32 -13
- package/src/duckdb/src/common/string_util.cpp +2 -3
- package/src/duckdb/src/common/tree_renderer.cpp +32 -67
- package/src/duckdb/src/common/types/bit.cpp +6 -6
- package/src/duckdb/src/common/types/data_chunk.cpp +2 -2
- package/src/duckdb/src/common/types/hash.cpp +6 -6
- package/src/duckdb/src/common/types/hyperloglog.cpp +2 -0
- package/src/duckdb/src/common/types/row/tuple_data_allocator.cpp +13 -0
- package/src/duckdb/src/common/types/row/tuple_data_layout.cpp +5 -7
- package/src/duckdb/src/common/types/uuid.cpp +1 -1
- package/src/duckdb/src/common/types/vector.cpp +22 -14
- package/src/duckdb/src/common/types.cpp +8 -1
- package/src/duckdb/src/common/vector_operations/comparison_operators.cpp +20 -18
- package/src/duckdb/src/common/vector_operations/generators.cpp +1 -1
- package/src/duckdb/src/common/vector_operations/is_distinct_from.cpp +267 -110
- package/src/duckdb/src/common/vector_operations/vector_hash.cpp +52 -23
- package/src/duckdb/src/common/virtual_file_system.cpp +33 -20
- package/src/duckdb/src/core_functions/aggregate/algebraic/avg.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/distributive/minmax.cpp +3 -3
- package/src/duckdb/src/core_functions/aggregate/distributive/sum.cpp +31 -16
- package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +3 -0
- package/src/duckdb/src/core_functions/aggregate/nested/list.cpp +2 -0
- package/src/duckdb/src/core_functions/core_functions.cpp +1 -1
- package/src/duckdb/src/core_functions/function_list.cpp +2 -2
- package/src/duckdb/src/core_functions/scalar/date/time_bucket.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/generic/system_functions.cpp +46 -17
- package/src/duckdb/src/core_functions/scalar/list/array_slice.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/list/flatten.cpp +82 -45
- package/src/duckdb/src/core_functions/scalar/list/list_aggregates.cpp +2 -2
- package/src/duckdb/src/core_functions/scalar/list/list_sort.cpp +3 -0
- package/src/duckdb/src/core_functions/scalar/math/numeric.cpp +3 -2
- package/src/duckdb/src/core_functions/scalar/string/hex.cpp +2 -4
- package/src/duckdb/src/core_functions/scalar/string/repeat.cpp +12 -21
- package/src/duckdb/src/execution/column_binding_resolver.cpp +2 -10
- package/src/duckdb/src/execution/expression_executor/execute_comparison.cpp +133 -66
- package/src/duckdb/src/execution/expression_executor/execute_function.cpp +0 -2
- package/src/duckdb/src/execution/expression_executor.cpp +0 -4
- package/src/duckdb/src/execution/expression_executor_state.cpp +1 -1
- package/src/duckdb/src/execution/index/art/art.cpp +2 -2
- package/src/duckdb/src/execution/index/unknown_index.cpp +13 -13
- package/src/duckdb/src/execution/join_hashtable.cpp +1 -1
- package/src/duckdb/src/execution/nested_loop_join/nested_loop_join_mark.cpp +0 -1
- package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer.cpp +10 -7
- package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.cpp +32 -1
- package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_file_handle.cpp +16 -2
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/scanner_boundary.cpp +7 -7
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/string_value_scanner.cpp +354 -159
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp +11 -2
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp +22 -7
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_detection.cpp +1 -1
- package/src/duckdb/src/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.cpp +10 -10
- package/src/duckdb/src/execution/operator/csv_scanner/table_function/csv_file_scanner.cpp +9 -18
- package/src/duckdb/src/execution/operator/csv_scanner/table_function/global_csv_state.cpp +180 -47
- package/src/duckdb/src/execution/operator/csv_scanner/util/csv_error.cpp +100 -58
- package/src/duckdb/src/execution/operator/csv_scanner/util/csv_reader_options.cpp +88 -21
- package/src/duckdb/src/execution/operator/helper/physical_vacuum.cpp +12 -13
- package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +2 -0
- package/src/duckdb/src/execution/operator/persistent/csv_rejects_table.cpp +118 -23
- package/src/duckdb/src/execution/operator/persistent/physical_batch_copy_to_file.cpp +2 -2
- package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +14 -5
- package/src/duckdb/src/execution/operator/persistent/physical_copy_database.cpp +1 -1
- package/src/duckdb/src/execution/operator/persistent/physical_export.cpp +5 -5
- package/src/duckdb/src/execution/operator/schema/physical_attach.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan/plan_simple.cpp +0 -9
- package/src/duckdb/src/execution/physical_plan/plan_vacuum.cpp +18 -0
- package/src/duckdb/src/execution/physical_plan_generator.cpp +5 -3
- package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +81 -106
- package/src/duckdb/src/execution/reservoir_sample.cpp +1 -1
- package/src/duckdb/src/execution/window_executor.cpp +48 -28
- package/src/duckdb/src/execution/window_segment_tree.cpp +20 -23
- package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +1 -1
- package/src/duckdb/src/function/cast/enum_casts.cpp +20 -55
- package/src/duckdb/src/function/cast/vector_cast_helpers.cpp +10 -9
- package/src/duckdb/src/function/cast_rules.cpp +9 -1
- package/src/duckdb/src/function/compression_config.cpp +1 -1
- package/src/duckdb/src/function/function_binder.cpp +45 -44
- package/src/duckdb/src/function/function_set.cpp +9 -9
- package/src/duckdb/src/function/pragma/pragma_queries.cpp +1 -2
- package/src/duckdb/src/function/scalar/compressed_materialization/compress_integral.cpp +21 -5
- package/src/duckdb/src/function/scalar/compressed_materialization/compress_string.cpp +2 -2
- package/src/duckdb/src/function/scalar/list/list_select.cpp +5 -2
- package/src/duckdb/src/function/scalar/list/list_zip.cpp +5 -4
- package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +60 -32
- package/src/duckdb/src/function/scalar/sequence/nextval.cpp +1 -1
- package/src/duckdb/src/function/scalar/strftime_format.cpp +31 -25
- package/src/duckdb/src/function/scalar/string/caseconvert.cpp +6 -6
- package/src/duckdb/src/function/scalar/string/length.cpp +23 -2
- package/src/duckdb/src/function/scalar/string/like.cpp +1 -1
- package/src/duckdb/src/function/scalar/string/regexp/regexp_extract_all.cpp +1 -1
- package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +3 -3
- package/src/duckdb/src/function/table/arrow/arrow_array_scan_state.cpp +1 -1
- package/src/duckdb/src/function/table/arrow.cpp +7 -1
- package/src/duckdb/src/function/table/copy_csv.cpp +17 -13
- package/src/duckdb/src/function/table/read_csv.cpp +52 -39
- package/src/duckdb/src/function/table/sniff_csv.cpp +7 -13
- package/src/duckdb/src/function/table/system/duckdb_constraints.cpp +1 -1
- package/src/duckdb/src/function/table/system/duckdb_databases.cpp +7 -1
- package/src/duckdb/src/function/table/system/duckdb_extensions.cpp +12 -2
- package/src/duckdb/src/function/table/system/duckdb_sequences.cpp +1 -2
- package/src/duckdb/src/function/table/system/duckdb_tables.cpp +2 -2
- package/src/duckdb/src/function/table/system/pragma_metadata_info.cpp +9 -2
- package/src/duckdb/src/function/table/system/pragma_table_info.cpp +10 -6
- package/src/duckdb/src/function/table/table_scan.cpp +1 -4
- package/src/duckdb/src/function/table/version/pragma_version.cpp +3 -3
- package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +6 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_index_entry.hpp +1 -1
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_schema_entry.hpp +1 -1
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp +1 -1
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +6 -1
- package/src/duckdb/src/include/duckdb/catalog/catalog_set.hpp +3 -3
- package/src/duckdb/src/include/duckdb/catalog/default/default_functions.hpp +3 -3
- package/src/duckdb/src/include/duckdb/catalog/dependency.hpp +26 -4
- package/src/duckdb/src/include/duckdb/catalog/dependency_list.hpp +39 -6
- package/src/duckdb/src/include/duckdb/catalog/dependency_manager.hpp +19 -14
- package/src/duckdb/src/include/duckdb/catalog/duck_catalog.hpp +1 -1
- package/src/duckdb/src/include/duckdb/catalog/standard_entry.hpp +4 -0
- package/src/duckdb/src/include/duckdb/common/allocator.hpp +3 -3
- package/src/duckdb/src/include/duckdb/common/arrow/arrow_wrapper.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/bit_utils.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/box_renderer.hpp +16 -16
- package/src/duckdb/src/include/duckdb/common/crypto/md5.hpp +0 -1
- package/src/duckdb/src/include/duckdb/common/enum_util.hpp +32 -0
- package/src/duckdb/src/include/duckdb/common/enums/expression_type.hpp +4 -2
- package/src/duckdb/src/include/duckdb/common/exception/binder_exception.hpp +14 -10
- package/src/duckdb/src/include/duckdb/common/exception/catalog_exception.hpp +4 -4
- package/src/duckdb/src/include/duckdb/common/exception/conversion_exception.hpp +6 -6
- package/src/duckdb/src/include/duckdb/common/exception/http_exception.hpp +3 -3
- package/src/duckdb/src/include/duckdb/common/exception/parser_exception.hpp +4 -4
- package/src/duckdb/src/include/duckdb/common/exception/transaction_exception.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/exception.hpp +57 -58
- package/src/duckdb/src/include/duckdb/common/exception_format_value.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/extra_type_info.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/file_open_flags.hpp +134 -0
- package/src/duckdb/src/include/duckdb/common/file_opener.hpp +9 -6
- package/src/duckdb/src/include/duckdb/common/file_system.hpp +35 -36
- package/src/duckdb/src/include/duckdb/common/filename_pattern.hpp +4 -6
- package/src/duckdb/src/include/duckdb/common/fixed_size_map.hpp +13 -13
- package/src/duckdb/src/include/duckdb/common/helper.hpp +42 -47
- package/src/duckdb/src/include/duckdb/common/http_state.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/hugeint.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/index_vector.hpp +10 -10
- package/src/duckdb/src/include/duckdb/common/local_file_system.hpp +13 -10
- package/src/duckdb/src/include/duckdb/common/memory_safety.hpp +3 -3
- package/src/duckdb/src/include/duckdb/common/multi_file_reader_options.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/opener_file_system.hpp +50 -24
- package/src/duckdb/src/include/duckdb/common/operator/abs.hpp +12 -4
- package/src/duckdb/src/include/duckdb/common/optional_ptr.hpp +5 -5
- package/src/duckdb/src/include/duckdb/common/pipe_file_system.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/platform.h +1 -1
- package/src/duckdb/src/include/duckdb/common/printer.hpp +5 -5
- package/src/duckdb/src/include/duckdb/common/profiler.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/progress_bar/display/terminal_progress_bar_display.hpp +5 -5
- package/src/duckdb/src/include/duckdb/common/random_engine.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/re2_regex.hpp +7 -7
- package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_reader.hpp +3 -0
- package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_writer.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/serializer/deserialization_data.hpp +17 -6
- package/src/duckdb/src/include/duckdb/common/serializer/deserializer.hpp +12 -0
- package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +14 -0
- package/src/duckdb/src/include/duckdb/common/serializer/serializer.hpp +16 -0
- package/src/duckdb/src/include/duckdb/common/sort/duckdb_pdqsort.hpp +3 -0
- package/src/duckdb/src/include/duckdb/common/sort/partition_state.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/string_util.hpp +4 -4
- package/src/duckdb/src/include/duckdb/common/tree_renderer.hpp +24 -25
- package/src/duckdb/src/include/duckdb/common/typedefs.hpp +5 -5
- package/src/duckdb/src/include/duckdb/common/types/cast_helpers.hpp +1 -2
- package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection.hpp +10 -10
- package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection_iterators.hpp +5 -5
- package/src/duckdb/src/include/duckdb/common/types/column/partitioned_column_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/constraint_conflict_info.hpp +1 -2
- package/src/duckdb/src/include/duckdb/common/types/data_chunk.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/types/date.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/hash.hpp +5 -5
- package/src/duckdb/src/include/duckdb/common/types/hyperloglog.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/interval.hpp +4 -4
- 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_layout.hpp +10 -3
- package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_segment.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/selection_vector.hpp +12 -12
- package/src/duckdb/src/include/duckdb/common/types/string_heap.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/string_type.hpp +21 -20
- package/src/duckdb/src/include/duckdb/common/types/time.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/types/timestamp.hpp +3 -3
- package/src/duckdb/src/include/duckdb/common/types/uuid.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/types/value.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/types/vector.hpp +15 -7
- package/src/duckdb/src/include/duckdb/common/types/vector_buffer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types.hpp +14 -10
- package/src/duckdb/src/include/duckdb/common/uhugeint.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/union_by_name.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/unique_ptr.hpp +15 -14
- package/src/duckdb/src/include/duckdb/common/vector.hpp +21 -21
- package/src/duckdb/src/include/duckdb/common/vector_operations/aggregate_executor.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/vector_operations/general_cast.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/vector_operations/generic_executor.hpp +2 -3
- package/src/duckdb/src/include/duckdb/common/vector_operations/unary_executor.hpp +3 -2
- package/src/duckdb/src/include/duckdb/common/vector_operations/vector_operations.hpp +50 -32
- package/src/duckdb/src/include/duckdb/common/virtual_file_system.hpp +10 -11
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/distributive_functions.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/sum_helpers.hpp +13 -1
- package/src/duckdb/src/include/duckdb/core_functions/function_list.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/lambda_functions.hpp +2 -1
- package/src/duckdb/src/include/duckdb/execution/aggregate_hashtable.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/column_binding_resolver.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/expression_executor.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/expression_executor_state.hpp +2 -5
- package/src/duckdb/src/include/duckdb/execution/merge_sort_tree.hpp +3 -3
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/aggregate_object.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/distinct_aggregate_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/base_scanner.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/column_count_scanner.hpp +0 -3
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_buffer.hpp +9 -6
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_buffer_manager.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_error.hpp +40 -22
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_handle.hpp +5 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_scanner.hpp +1 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_option.hpp +6 -4
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_reader_options.hpp +24 -10
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state_machine.hpp +4 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/global_csv_state.hpp +3 -1
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/skip_scanner.hpp +0 -3
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/string_value_scanner.hpp +58 -17
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_explain_analyze.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_prepare.hpp +3 -3
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_set.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_vacuum.hpp +4 -1
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_rejects_table.hpp +16 -5
- package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +6 -6
- package/src/duckdb/src/include/duckdb/execution/physical_plan_generator.hpp +2 -1
- package/src/duckdb/src/include/duckdb/execution/window_executor.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/window_segment_tree.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/cast/cast_function_set.hpp +5 -5
- package/src/duckdb/src/include/duckdb/function/cast/default_casts.hpp +4 -4
- package/src/duckdb/src/include/duckdb/function/cast/vector_cast_helpers.hpp +6 -6
- package/src/duckdb/src/include/duckdb/function/compression_function.hpp +4 -4
- package/src/duckdb/src/include/duckdb/function/copy_function.hpp +10 -13
- package/src/duckdb/src/include/duckdb/function/function.hpp +3 -3
- package/src/duckdb/src/include/duckdb/function/function_binder.hpp +24 -23
- package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/function_set.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/pragma_function.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/scalar/regexp.hpp +3 -3
- package/src/duckdb/src/include/duckdb/function/scalar/strftime_format.hpp +7 -7
- package/src/duckdb/src/include/duckdb/function/scalar/string_functions.hpp +3 -3
- package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +6 -6
- package/src/duckdb/src/include/duckdb/function/table/arrow/arrow_duck_schema.hpp +4 -4
- package/src/duckdb/src/include/duckdb/function/table/arrow.hpp +2 -2
- package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +1 -3
- package/src/duckdb/src/include/duckdb/function/table/table_scan.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/table_function.hpp +12 -11
- package/src/duckdb/src/include/duckdb/function/udf_function.hpp +66 -60
- package/src/duckdb/src/include/duckdb/main/appender.hpp +6 -6
- package/src/duckdb/src/include/duckdb/main/attached_database.hpp +3 -1
- package/src/duckdb/src/include/duckdb/main/buffered_data/buffered_data.hpp +2 -2
- package/src/duckdb/src/include/duckdb/main/buffered_data/simple_buffered_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/capi/capi_internal.hpp +2 -2
- package/src/duckdb/src/include/duckdb/main/chunk_scan_state/query_result.hpp +2 -2
- package/src/duckdb/src/include/duckdb/main/client_context.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/client_context_file_opener.hpp +3 -2
- package/src/duckdb/src/include/duckdb/main/client_data.hpp +1 -0
- package/src/duckdb/src/include/duckdb/main/client_properties.hpp +2 -1
- package/src/duckdb/src/include/duckdb/main/config.hpp +14 -5
- package/src/duckdb/src/include/duckdb/main/connection.hpp +27 -26
- package/src/duckdb/src/include/duckdb/main/database.hpp +19 -3
- package/src/duckdb/src/include/duckdb/main/database_file_opener.hpp +58 -0
- package/src/duckdb/src/include/duckdb/main/database_path_and_type.hpp +2 -2
- package/src/duckdb/src/include/duckdb/main/error_manager.hpp +6 -6
- package/src/duckdb/src/include/duckdb/main/extension_entries.hpp +8 -0
- package/src/duckdb/src/include/duckdb/main/extension_helper.hpp +1 -0
- package/src/duckdb/src/include/duckdb/main/external_dependencies.hpp +2 -1
- package/src/duckdb/src/include/duckdb/main/prepared_statement.hpp +8 -8
- package/src/duckdb/src/include/duckdb/main/query_profiler.hpp +2 -59
- package/src/duckdb/src/include/duckdb/main/query_result.hpp +3 -3
- package/src/duckdb/src/include/duckdb/main/relation/query_relation.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/relation.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/secret/secret.hpp +11 -7
- package/src/duckdb/src/include/duckdb/main/secret/secret_manager.hpp +2 -2
- package/src/duckdb/src/include/duckdb/main/secret/secret_storage.hpp +4 -4
- package/src/duckdb/src/include/duckdb/main/settings.hpp +78 -70
- package/src/duckdb/src/include/duckdb/optimizer/column_lifetime_analyzer.hpp +45 -0
- package/src/duckdb/src/include/duckdb/optimizer/compressed_materialization.hpp +11 -13
- package/src/duckdb/src/include/duckdb/optimizer/join_order/cardinality_estimator.hpp +2 -2
- package/src/duckdb/src/include/duckdb/optimizer/join_order/cost_model.hpp +1 -1
- package/src/duckdb/src/include/duckdb/optimizer/join_order/join_node.hpp +1 -1
- package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph.hpp +1 -1
- package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph_manager.hpp +1 -1
- package/src/duckdb/src/include/duckdb/optimizer/join_order/relation_manager.hpp +1 -1
- package/src/duckdb/src/include/duckdb/optimizer/matcher/expression_matcher.hpp +7 -7
- package/src/duckdb/src/include/duckdb/optimizer/matcher/function_matcher.hpp +7 -7
- package/src/duckdb/src/include/duckdb/optimizer/matcher/type_matcher.hpp +1 -1
- package/src/duckdb/src/include/duckdb/optimizer/optimizer.hpp +3 -0
- package/src/duckdb/src/include/duckdb/optimizer/statistics_propagator.hpp +32 -30
- package/src/duckdb/src/include/duckdb/optimizer/unnest_rewriter.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parallel/event.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parallel/executor_task.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parallel/interrupt.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parallel/pipeline_event.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/column_list.hpp +4 -4
- package/src/duckdb/src/include/duckdb/parser/constraints/unique_constraint.hpp +49 -8
- package/src/duckdb/src/include/duckdb/parser/expression/bound_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/parsed_data/alter_scalar_function_info.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_function_info.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/copy_database_info.hpp +40 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_function_info.hpp +2 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +1 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_info.hpp +2 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_macro_info.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_pragma_function_info.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_secret_info.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/parsed_data/extra_drop_info.hpp +3 -3
- package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +3 -2
- package/src/duckdb/src/include/duckdb/parser/parsed_data/vacuum_info.hpp +2 -5
- package/src/duckdb/src/include/duckdb/parser/parser.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parser_extension.hpp +3 -3
- package/src/duckdb/src/include/duckdb/parser/query_error_context.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/transformer.hpp +3 -5
- package/src/duckdb/src/include/duckdb/planner/bind_context.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/binder.hpp +16 -9
- 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_default_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_expanded_expression.hpp +34 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_subquery_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression_binder/base_select_binder.hpp +5 -8
- package/src/duckdb/src/include/duckdb/planner/expression_binder/column_alias_binder.hpp +3 -4
- package/src/duckdb/src/include/duckdb/planner/expression_binder/group_binder.hpp +3 -2
- package/src/duckdb/src/include/duckdb/planner/expression_binder/having_binder.hpp +3 -5
- package/src/duckdb/src/include/duckdb/planner/expression_binder/order_binder.hpp +6 -14
- package/src/duckdb/src/include/duckdb/planner/expression_binder/qualify_binder.hpp +3 -6
- package/src/duckdb/src/include/duckdb/planner/expression_binder/select_bind_state.hpp +52 -0
- package/src/duckdb/src/include/duckdb/planner/expression_binder/select_binder.hpp +4 -10
- package/src/duckdb/src/include/duckdb/planner/expression_binder/table_function_binder.hpp +5 -2
- package/src/duckdb/src/include/duckdb/planner/expression_binder.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/expression_iterator.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/filter/conjunction_filter.hpp +3 -6
- package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/logical_tokens.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/operator/list.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_copy_database.hpp +4 -12
- package/src/duckdb/src/include/duckdb/planner/operator/logical_create_secret.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_dummy_scan.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_explain.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_export.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_expression_get.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_extension_operator.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_materialized_cte.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_pragma.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_prepare.hpp +3 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +3 -3
- package/src/duckdb/src/include/duckdb/planner/operator/logical_reset.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_set.hpp +2 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_vacuum.hpp +52 -0
- package/src/duckdb/src/include/duckdb/planner/operator_extension.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/parsed_data/bound_create_table_info.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/query_node/bound_select_node.hpp +5 -4
- package/src/duckdb/src/include/duckdb/planner/subquery/flatten_dependent_join.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/arena_allocator.hpp +4 -1
- package/src/duckdb/src/include/duckdb/storage/buffer/block_handle.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/buffer_manager.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/checkpoint/row_group_writer.hpp +2 -3
- package/src/duckdb/src/include/duckdb/storage/checkpoint/string_checkpoint_state.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/checkpoint/table_data_writer.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/checkpoint_manager.hpp +5 -5
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_analyze.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_compress.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_fetch.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_scan.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/algorithm/alprd.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_analyze.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_compress.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_fetch.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_scan.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/algorithm/flag_buffer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/algorithm/leading_zero_buffer.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_analyze.hpp +0 -1
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_fetch.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_scan.hpp +4 -4
- package/src/duckdb/src/include/duckdb/storage/compression/patas/patas.hpp +4 -4
- package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_analyze.hpp +0 -1
- package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_fetch.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_scan.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/data_pointer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/index.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/magic_bytes.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/object_cache.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/optimistic_data_writer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/single_file_block_manager.hpp +4 -1
- package/src/duckdb/src/include/duckdb/storage/standard_buffer_manager.hpp +24 -24
- package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats_union.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/statistics/segment_statistics.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/storage_info.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +4 -4
- package/src/duckdb/src/include/duckdb/storage/string_uncompressed.hpp +9 -6
- package/src/duckdb/src/include/duckdb/storage/table/append_state.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/chunk_info.hpp +2 -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 +10 -1
- package/src/duckdb/src/include/duckdb/storage/table/data_table_info.hpp +3 -2
- package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/row_group_segment_tree.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/row_version_manager.hpp +2 -1
- package/src/duckdb/src/include/duckdb/storage/table/scan_state.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/table/segment_lock.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/segment_tree.hpp +4 -4
- package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +2 -0
- package/src/duckdb/src/include/duckdb/storage/table/table_index_list.hpp +3 -2
- package/src/duckdb/src/include/duckdb/storage/table/table_statistics.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/update_segment.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table_storage_info.hpp +2 -1
- package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +1 -1
- package/src/duckdb/src/include/duckdb/transaction/delete_info.hpp +20 -1
- package/src/duckdb/src/include/duckdb/transaction/transaction.hpp +1 -1
- package/src/duckdb/src/include/duckdb/transaction/transaction_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/transaction/undo_buffer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/transaction/update_info.hpp +1 -1
- package/src/duckdb/src/main/appender.cpp +1 -1
- package/src/duckdb/src/main/attached_database.cpp +11 -3
- package/src/duckdb/src/main/capi/arrow-c.cpp +6 -2
- package/src/duckdb/src/main/capi/cast/utils-c.cpp +1 -1
- package/src/duckdb/src/main/capi/duckdb-c.cpp +1 -1
- package/src/duckdb/src/main/capi/pending-c.cpp +1 -1
- package/src/duckdb/src/main/capi/prepared-c.cpp +2 -2
- package/src/duckdb/src/main/capi/result-c.cpp +4 -4
- package/src/duckdb/src/main/client_context.cpp +4 -12
- package/src/duckdb/src/main/client_context_file_opener.cpp +15 -3
- package/src/duckdb/src/main/client_data.cpp +5 -0
- package/src/duckdb/src/main/config.cpp +82 -82
- package/src/duckdb/src/main/database.cpp +31 -7
- package/src/duckdb/src/main/database_manager.cpp +3 -2
- package/src/duckdb/src/main/database_path_and_type.cpp +4 -4
- package/src/duckdb/src/main/error_manager.cpp +1 -1
- package/src/duckdb/src/main/extension/extension_alias.cpp +9 -9
- package/src/duckdb/src/main/extension/extension_helper.cpp +10 -5
- package/src/duckdb/src/main/extension/extension_install.cpp +1 -1
- package/src/duckdb/src/main/extension/extension_load.cpp +111 -37
- package/src/duckdb/src/main/query_profiler.cpp +1 -118
- package/src/duckdb/src/main/secret/secret_manager.cpp +1 -2
- package/src/duckdb/src/main/secret/secret_storage.cpp +1 -1
- package/src/duckdb/src/main/settings/settings.cpp +81 -65
- package/src/duckdb/src/optimizer/column_lifetime_analyzer.cpp +8 -1
- package/src/duckdb/src/optimizer/compressed_materialization/compress_aggregate.cpp +3 -0
- package/src/duckdb/src/optimizer/compressed_materialization.cpp +26 -28
- package/src/duckdb/src/optimizer/cse_optimizer.cpp +5 -5
- package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +10 -6
- package/src/duckdb/src/optimizer/optimizer.cpp +14 -17
- package/src/duckdb/src/optimizer/pushdown/pushdown_cross_product.cpp +16 -5
- package/src/duckdb/src/optimizer/pushdown/pushdown_inner_join.cpp +7 -4
- package/src/duckdb/src/optimizer/pushdown/pushdown_set_operation.cpp +2 -2
- package/src/duckdb/src/optimizer/remove_unused_columns.cpp +3 -3
- package/src/duckdb/src/optimizer/rule/ordered_aggregate_optimizer.cpp +2 -2
- package/src/duckdb/src/optimizer/statistics/expression/propagate_aggregate.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/expression/propagate_between.cpp +8 -8
- package/src/duckdb/src/optimizer/statistics/expression/propagate_case.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/expression/propagate_cast.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/expression/propagate_columnref.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/expression/propagate_comparison.cpp +7 -7
- package/src/duckdb/src/optimizer/statistics/expression/propagate_conjunction.cpp +6 -6
- package/src/duckdb/src/optimizer/statistics/expression/propagate_constant.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/expression/propagate_function.cpp +2 -2
- package/src/duckdb/src/optimizer/statistics/expression/propagate_operator.cpp +10 -10
- package/src/duckdb/src/optimizer/statistics/operator/propagate_aggregate.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/operator/propagate_cross_product.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/operator/propagate_filter.cpp +14 -7
- package/src/duckdb/src/optimizer/statistics/operator/propagate_get.cpp +2 -2
- package/src/duckdb/src/optimizer/statistics/operator/propagate_join.cpp +9 -9
- package/src/duckdb/src/optimizer/statistics/operator/propagate_limit.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/operator/propagate_order.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/operator/propagate_projection.cpp +2 -2
- package/src/duckdb/src/optimizer/statistics/operator/propagate_set_operation.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/operator/propagate_window.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics_propagator.cpp +39 -18
- package/src/duckdb/src/parallel/pipeline_finish_event.cpp +1 -1
- package/src/duckdb/src/parallel/task_scheduler.cpp +8 -1
- package/src/duckdb/src/parser/constraints/unique_constraint.cpp +4 -2
- package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +64 -0
- package/src/duckdb/src/parser/parsed_data/vacuum_info.cpp +1 -0
- package/src/duckdb/src/parser/transform/expression/transform_function.cpp +13 -5
- package/src/duckdb/src/parser/transform/expression/transform_subquery.cpp +24 -0
- package/src/duckdb/src/parser/transform/helpers/transform_cte.cpp +1 -8
- package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +2 -1
- package/src/duckdb/src/parser/transform/statement/transform_create_index.cpp +3 -0
- package/src/duckdb/src/parser/transform/statement/transform_delete.cpp +2 -6
- package/src/duckdb/src/parser/transform/statement/transform_insert.cpp +2 -6
- package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +2 -6
- package/src/duckdb/src/parser/transform/statement/transform_pragma.cpp +1 -1
- package/src/duckdb/src/parser/transform/statement/transform_select.cpp +5 -2
- package/src/duckdb/src/parser/transform/statement/transform_select_node.cpp +2 -8
- package/src/duckdb/src/parser/transform/statement/transform_update.cpp +1 -6
- package/src/duckdb/src/parser/transform/statement/transform_use.cpp +3 -2
- package/src/duckdb/src/parser/transformer.cpp +14 -2
- package/src/duckdb/src/planner/binder/expression/bind_aggregate_expression.cpp +40 -17
- package/src/duckdb/src/planner/binder/expression/bind_unnest_expression.cpp +8 -3
- package/src/duckdb/src/planner/binder/expression/bind_window_expression.cpp +32 -30
- package/src/duckdb/src/planner/binder/query_node/bind_cte_node.cpp +28 -17
- package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +146 -101
- package/src/duckdb/src/planner/binder/query_node/bind_setop_node.cpp +28 -26
- package/src/duckdb/src/planner/binder/query_node/plan_cte_node.cpp +29 -0
- package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +10 -10
- package/src/duckdb/src/planner/binder/statement/bind_copy.cpp +3 -2
- package/src/duckdb/src/planner/binder/statement/bind_copy_database.cpp +23 -28
- package/src/duckdb/src/planner/binder/statement/bind_create.cpp +11 -12
- package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +9 -11
- package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +10 -13
- package/src/duckdb/src/planner/binder/statement/bind_pragma.cpp +3 -3
- package/src/duckdb/src/planner/binder/statement/bind_set.cpp +3 -0
- package/src/duckdb/src/planner/binder/statement/bind_vacuum.cpp +66 -65
- package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +54 -46
- package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +3 -0
- package/src/duckdb/src/planner/binder/tableref/bind_subqueryref.cpp +1 -1
- package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +5 -5
- package/src/duckdb/src/planner/binder.cpp +78 -6
- package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +11 -3
- package/src/duckdb/src/planner/expression/bound_expanded_expression.cpp +22 -0
- package/src/duckdb/src/planner/expression_binder/base_select_binder.cpp +11 -58
- package/src/duckdb/src/planner/expression_binder/column_alias_binder.cpp +5 -8
- package/src/duckdb/src/planner/expression_binder/group_binder.cpp +5 -4
- package/src/duckdb/src/planner/expression_binder/having_binder.cpp +5 -19
- package/src/duckdb/src/planner/expression_binder/lateral_binder.cpp +8 -8
- package/src/duckdb/src/planner/expression_binder/order_binder.cpp +42 -26
- package/src/duckdb/src/planner/expression_binder/qualify_binder.cpp +3 -22
- package/src/duckdb/src/planner/expression_binder/select_bind_state.cpp +52 -0
- package/src/duckdb/src/planner/expression_binder/select_binder.cpp +43 -5
- package/src/duckdb/src/planner/expression_binder/table_function_binder.cpp +19 -7
- package/src/duckdb/src/planner/logical_operator.cpp +20 -3
- package/src/duckdb/src/planner/operator/logical_copy_database.cpp +4 -14
- package/src/duckdb/src/planner/operator/logical_delete.cpp +1 -1
- package/src/duckdb/src/planner/operator/logical_get.cpp +1 -1
- package/src/duckdb/src/planner/operator/logical_insert.cpp +1 -1
- package/src/duckdb/src/planner/operator/logical_update.cpp +1 -1
- package/src/duckdb/src/planner/operator/logical_vacuum.cpp +65 -0
- package/src/duckdb/src/planner/planner.cpp +4 -4
- package/src/duckdb/src/planner/subquery/flatten_dependent_join.cpp +26 -27
- package/src/duckdb/src/storage/arena_allocator.cpp +9 -0
- package/src/duckdb/src/storage/buffer/buffer_pool_reservation.cpp +1 -1
- package/src/duckdb/src/storage/buffer_manager.cpp +2 -10
- package/src/duckdb/src/storage/checkpoint/table_data_writer.cpp +2 -3
- package/src/duckdb/src/storage/checkpoint_manager.cpp +15 -8
- package/src/duckdb/src/storage/compression/bitpacking.cpp +6 -1
- package/src/duckdb/src/storage/compression/string_uncompressed.cpp +1 -1
- package/src/duckdb/src/storage/data_pointer.cpp +1 -1
- package/src/duckdb/src/storage/data_table.cpp +18 -7
- package/src/duckdb/src/storage/local_storage.cpp +8 -5
- package/src/duckdb/src/storage/magic_bytes.cpp +6 -5
- package/src/duckdb/src/storage/partial_block_manager.cpp +1 -1
- package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +20 -9
- package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +12 -10
- package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +23 -0
- package/src/duckdb/src/storage/single_file_block_manager.cpp +46 -19
- package/src/duckdb/src/storage/standard_buffer_manager.cpp +21 -5
- package/src/duckdb/src/storage/statistics/array_stats.cpp +1 -1
- package/src/duckdb/src/storage/statistics/base_statistics.cpp +2 -3
- package/src/duckdb/src/storage/statistics/list_stats.cpp +1 -1
- package/src/duckdb/src/storage/statistics/struct_stats.cpp +1 -1
- package/src/duckdb/src/storage/storage_info.cpp +19 -19
- package/src/duckdb/src/storage/storage_manager.cpp +18 -13
- package/src/duckdb/src/storage/table/chunk_info.cpp +11 -3
- package/src/duckdb/src/storage/table/column_data.cpp +88 -66
- package/src/duckdb/src/storage/table/row_group.cpp +7 -7
- package/src/duckdb/src/storage/table/row_version_manager.cpp +2 -2
- package/src/duckdb/src/storage/table/standard_column_data.cpp +4 -0
- package/src/duckdb/src/storage/table/update_segment.cpp +3 -1
- package/src/duckdb/src/storage/table_index_list.cpp +6 -1
- package/src/duckdb/src/storage/temporary_file_manager.cpp +1 -1
- package/src/duckdb/src/storage/wal_replay.cpp +8 -7
- package/src/duckdb/src/storage/write_ahead_log.cpp +3 -4
- package/src/duckdb/src/transaction/cleanup_state.cpp +10 -3
- package/src/duckdb/src/transaction/commit_state.cpp +11 -4
- package/src/duckdb/src/transaction/duck_transaction.cpp +23 -3
- package/src/duckdb/src/transaction/rollback_state.cpp +1 -1
- package/src/duckdb/src/transaction/transaction_context.cpp +1 -1
- package/src/duckdb/src/transaction/undo_buffer.cpp +3 -1
- package/src/duckdb/third_party/fmt/include/fmt/core.h +0 -5
- package/src/duckdb/third_party/fsst/fsst.h +1 -1
- package/src/duckdb/third_party/fsst/libfsst.cpp +1 -140
- package/src/duckdb/third_party/fsst/libfsst.hpp +0 -13
- package/src/duckdb/third_party/hyperloglog/hyperloglog.hpp +4 -0
- package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +8 -1
- package/src/duckdb/third_party/libpg_query/include/parser/gram.hpp +2 -1
- package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +15401 -15354
- package/src/duckdb/third_party/libpg_query/src_backend_parser_scan.cpp +299 -538
- package/src/duckdb/third_party/lz4/lz4.cpp +2605 -0
- package/src/duckdb/third_party/lz4/lz4.hpp +843 -0
- package/src/duckdb/third_party/parquet/parquet_types.cpp +3 -0
- package/src/duckdb/third_party/parquet/parquet_types.h +2 -1
- package/src/duckdb/third_party/re2/re2/bitmap256.cc +44 -0
- package/src/duckdb/third_party/re2/re2/bitmap256.h +3 -35
- package/src/duckdb/third_party/re2/re2/bitstate.cc +31 -24
- package/src/duckdb/third_party/re2/re2/compile.cc +146 -164
- package/src/duckdb/third_party/re2/re2/dfa.cc +174 -181
- package/src/duckdb/third_party/re2/re2/filtered_re2.cc +19 -3
- package/src/duckdb/third_party/re2/re2/filtered_re2.h +27 -23
- package/src/duckdb/third_party/re2/re2/mimics_pcre.cc +21 -11
- package/src/duckdb/third_party/re2/re2/nfa.cc +91 -131
- package/src/duckdb/third_party/re2/re2/onepass.cc +11 -10
- package/src/duckdb/third_party/re2/re2/parse.cc +171 -154
- package/src/duckdb/third_party/re2/re2/perl_groups.cc +35 -35
- package/src/duckdb/third_party/re2/re2/pod_array.h +55 -0
- package/src/duckdb/third_party/re2/re2/prefilter.cc +40 -40
- package/src/duckdb/third_party/re2/re2/prefilter.h +24 -2
- package/src/duckdb/third_party/re2/re2/prefilter_tree.cc +70 -84
- package/src/duckdb/third_party/re2/re2/prefilter_tree.h +5 -4
- package/src/duckdb/third_party/re2/re2/prog.cc +315 -58
- package/src/duckdb/third_party/re2/re2/prog.h +77 -44
- package/src/duckdb/third_party/re2/re2/re2.cc +333 -221
- package/src/duckdb/third_party/re2/re2/re2.h +277 -201
- package/src/duckdb/third_party/re2/re2/regexp.cc +137 -105
- package/src/duckdb/third_party/re2/re2/regexp.h +45 -40
- package/src/duckdb/third_party/re2/re2/set.cc +40 -17
- package/src/duckdb/third_party/re2/re2/set.h +11 -6
- package/src/duckdb/third_party/re2/re2/simplify.cc +50 -41
- package/src/duckdb/third_party/re2/re2/sparse_array.h +392 -0
- package/src/duckdb/third_party/re2/re2/sparse_set.h +264 -0
- package/src/duckdb/third_party/re2/re2/stringpiece.cc +1 -1
- package/src/duckdb/third_party/re2/re2/stringpiece.h +11 -8
- package/src/duckdb/third_party/re2/re2/tostring.cc +8 -6
- package/src/duckdb/third_party/re2/re2/unicode_casefold.cc +39 -10
- package/src/duckdb/third_party/re2/re2/unicode_casefold.h +1 -1
- package/src/duckdb/third_party/re2/re2/unicode_groups.cc +5019 -4566
- package/src/duckdb/third_party/re2/re2/unicode_groups.h +1 -1
- package/src/duckdb/third_party/re2/re2/walker-inl.h +21 -20
- package/src/duckdb/third_party/re2/util/logging.h +14 -18
- package/src/duckdb/third_party/re2/util/mix.h +4 -4
- package/src/duckdb/third_party/re2/util/mutex.h +48 -15
- package/src/duckdb/third_party/re2/util/rune.cc +5 -5
- package/src/duckdb/third_party/re2/util/strutil.cc +1 -16
- package/src/duckdb/third_party/re2/util/strutil.h +1 -3
- package/src/duckdb/third_party/re2/util/utf.h +1 -1
- package/src/duckdb/third_party/re2/util/util.h +9 -1
- package/src/duckdb/third_party/utf8proc/include/utf8proc_wrapper.hpp +2 -0
- package/src/duckdb/third_party/utf8proc/utf8proc_wrapper.cpp +36 -1
- package/src/duckdb/ub_src_common.cpp +0 -2
- package/src/duckdb/ub_src_execution_physical_plan.cpp +2 -0
- package/src/duckdb/ub_src_planner_expression.cpp +2 -0
- package/src/duckdb/ub_src_planner_expression_binder.cpp +2 -0
- package/src/duckdb/ub_src_planner_operator.cpp +2 -0
|
@@ -53,10 +53,11 @@
|
|
|
53
53
|
#include "duckdb/common/enums/vector_type.hpp"
|
|
54
54
|
#include "duckdb/common/enums/wal_type.hpp"
|
|
55
55
|
#include "duckdb/common/enums/window_aggregation_mode.hpp"
|
|
56
|
+
#include "duckdb/common/exception.hpp"
|
|
56
57
|
#include "duckdb/common/exception_format_value.hpp"
|
|
57
58
|
#include "duckdb/common/extra_type_info.hpp"
|
|
58
59
|
#include "duckdb/common/file_buffer.hpp"
|
|
59
|
-
#include "duckdb/common/
|
|
60
|
+
#include "duckdb/common/file_open_flags.hpp"
|
|
60
61
|
#include "duckdb/common/printer.hpp"
|
|
61
62
|
#include "duckdb/common/sort/partition_state.hpp"
|
|
62
63
|
#include "duckdb/common/types.hpp"
|
|
@@ -81,11 +82,14 @@
|
|
|
81
82
|
#include "duckdb/function/scalar/compressed_materialization_functions.hpp"
|
|
82
83
|
#include "duckdb/function/scalar/strftime_format.hpp"
|
|
83
84
|
#include "duckdb/function/table/arrow/arrow_duck_schema.hpp"
|
|
85
|
+
#include "duckdb/function/table_function.hpp"
|
|
84
86
|
#include "duckdb/main/appender.hpp"
|
|
85
87
|
#include "duckdb/main/capi/capi_internal.hpp"
|
|
88
|
+
#include "duckdb/main/client_properties.hpp"
|
|
86
89
|
#include "duckdb/main/config.hpp"
|
|
87
90
|
#include "duckdb/main/error_manager.hpp"
|
|
88
91
|
#include "duckdb/main/extension_helper.hpp"
|
|
92
|
+
#include "duckdb/main/external_dependencies.hpp"
|
|
89
93
|
#include "duckdb/main/query_result.hpp"
|
|
90
94
|
#include "duckdb/main/secret/secret.hpp"
|
|
91
95
|
#include "duckdb/main/settings.hpp"
|
|
@@ -544,6 +548,29 @@ ArrowDateTimeType EnumUtil::FromString<ArrowDateTimeType>(const char *value) {
|
|
|
544
548
|
throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
|
|
545
549
|
}
|
|
546
550
|
|
|
551
|
+
template<>
|
|
552
|
+
const char* EnumUtil::ToChars<ArrowOffsetSize>(ArrowOffsetSize value) {
|
|
553
|
+
switch(value) {
|
|
554
|
+
case ArrowOffsetSize::REGULAR:
|
|
555
|
+
return "REGULAR";
|
|
556
|
+
case ArrowOffsetSize::LARGE:
|
|
557
|
+
return "LARGE";
|
|
558
|
+
default:
|
|
559
|
+
throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
template<>
|
|
564
|
+
ArrowOffsetSize EnumUtil::FromString<ArrowOffsetSize>(const char *value) {
|
|
565
|
+
if (StringUtil::Equals(value, "REGULAR")) {
|
|
566
|
+
return ArrowOffsetSize::REGULAR;
|
|
567
|
+
}
|
|
568
|
+
if (StringUtil::Equals(value, "LARGE")) {
|
|
569
|
+
return ArrowOffsetSize::LARGE;
|
|
570
|
+
}
|
|
571
|
+
throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
|
|
572
|
+
}
|
|
573
|
+
|
|
547
574
|
template<>
|
|
548
575
|
const char* EnumUtil::ToChars<ArrowVariableSizeType>(ArrowVariableSizeType value) {
|
|
549
576
|
switch(value) {
|
|
@@ -1630,6 +1657,229 @@ ExceptionFormatValueType EnumUtil::FromString<ExceptionFormatValueType>(const ch
|
|
|
1630
1657
|
throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
|
|
1631
1658
|
}
|
|
1632
1659
|
|
|
1660
|
+
template<>
|
|
1661
|
+
const char* EnumUtil::ToChars<ExceptionType>(ExceptionType value) {
|
|
1662
|
+
switch(value) {
|
|
1663
|
+
case ExceptionType::INVALID:
|
|
1664
|
+
return "INVALID";
|
|
1665
|
+
case ExceptionType::OUT_OF_RANGE:
|
|
1666
|
+
return "OUT_OF_RANGE";
|
|
1667
|
+
case ExceptionType::CONVERSION:
|
|
1668
|
+
return "CONVERSION";
|
|
1669
|
+
case ExceptionType::UNKNOWN_TYPE:
|
|
1670
|
+
return "UNKNOWN_TYPE";
|
|
1671
|
+
case ExceptionType::DECIMAL:
|
|
1672
|
+
return "DECIMAL";
|
|
1673
|
+
case ExceptionType::MISMATCH_TYPE:
|
|
1674
|
+
return "MISMATCH_TYPE";
|
|
1675
|
+
case ExceptionType::DIVIDE_BY_ZERO:
|
|
1676
|
+
return "DIVIDE_BY_ZERO";
|
|
1677
|
+
case ExceptionType::OBJECT_SIZE:
|
|
1678
|
+
return "OBJECT_SIZE";
|
|
1679
|
+
case ExceptionType::INVALID_TYPE:
|
|
1680
|
+
return "INVALID_TYPE";
|
|
1681
|
+
case ExceptionType::SERIALIZATION:
|
|
1682
|
+
return "SERIALIZATION";
|
|
1683
|
+
case ExceptionType::TRANSACTION:
|
|
1684
|
+
return "TRANSACTION";
|
|
1685
|
+
case ExceptionType::NOT_IMPLEMENTED:
|
|
1686
|
+
return "NOT_IMPLEMENTED";
|
|
1687
|
+
case ExceptionType::EXPRESSION:
|
|
1688
|
+
return "EXPRESSION";
|
|
1689
|
+
case ExceptionType::CATALOG:
|
|
1690
|
+
return "CATALOG";
|
|
1691
|
+
case ExceptionType::PARSER:
|
|
1692
|
+
return "PARSER";
|
|
1693
|
+
case ExceptionType::PLANNER:
|
|
1694
|
+
return "PLANNER";
|
|
1695
|
+
case ExceptionType::SCHEDULER:
|
|
1696
|
+
return "SCHEDULER";
|
|
1697
|
+
case ExceptionType::EXECUTOR:
|
|
1698
|
+
return "EXECUTOR";
|
|
1699
|
+
case ExceptionType::CONSTRAINT:
|
|
1700
|
+
return "CONSTRAINT";
|
|
1701
|
+
case ExceptionType::INDEX:
|
|
1702
|
+
return "INDEX";
|
|
1703
|
+
case ExceptionType::STAT:
|
|
1704
|
+
return "STAT";
|
|
1705
|
+
case ExceptionType::CONNECTION:
|
|
1706
|
+
return "CONNECTION";
|
|
1707
|
+
case ExceptionType::SYNTAX:
|
|
1708
|
+
return "SYNTAX";
|
|
1709
|
+
case ExceptionType::SETTINGS:
|
|
1710
|
+
return "SETTINGS";
|
|
1711
|
+
case ExceptionType::BINDER:
|
|
1712
|
+
return "BINDER";
|
|
1713
|
+
case ExceptionType::NETWORK:
|
|
1714
|
+
return "NETWORK";
|
|
1715
|
+
case ExceptionType::OPTIMIZER:
|
|
1716
|
+
return "OPTIMIZER";
|
|
1717
|
+
case ExceptionType::NULL_POINTER:
|
|
1718
|
+
return "NULL_POINTER";
|
|
1719
|
+
case ExceptionType::IO:
|
|
1720
|
+
return "IO";
|
|
1721
|
+
case ExceptionType::INTERRUPT:
|
|
1722
|
+
return "INTERRUPT";
|
|
1723
|
+
case ExceptionType::FATAL:
|
|
1724
|
+
return "FATAL";
|
|
1725
|
+
case ExceptionType::INTERNAL:
|
|
1726
|
+
return "INTERNAL";
|
|
1727
|
+
case ExceptionType::INVALID_INPUT:
|
|
1728
|
+
return "INVALID_INPUT";
|
|
1729
|
+
case ExceptionType::OUT_OF_MEMORY:
|
|
1730
|
+
return "OUT_OF_MEMORY";
|
|
1731
|
+
case ExceptionType::PERMISSION:
|
|
1732
|
+
return "PERMISSION";
|
|
1733
|
+
case ExceptionType::PARAMETER_NOT_RESOLVED:
|
|
1734
|
+
return "PARAMETER_NOT_RESOLVED";
|
|
1735
|
+
case ExceptionType::PARAMETER_NOT_ALLOWED:
|
|
1736
|
+
return "PARAMETER_NOT_ALLOWED";
|
|
1737
|
+
case ExceptionType::DEPENDENCY:
|
|
1738
|
+
return "DEPENDENCY";
|
|
1739
|
+
case ExceptionType::HTTP:
|
|
1740
|
+
return "HTTP";
|
|
1741
|
+
case ExceptionType::MISSING_EXTENSION:
|
|
1742
|
+
return "MISSING_EXTENSION";
|
|
1743
|
+
case ExceptionType::AUTOLOAD:
|
|
1744
|
+
return "AUTOLOAD";
|
|
1745
|
+
case ExceptionType::SEQUENCE:
|
|
1746
|
+
return "SEQUENCE";
|
|
1747
|
+
default:
|
|
1748
|
+
throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
|
|
1749
|
+
}
|
|
1750
|
+
}
|
|
1751
|
+
|
|
1752
|
+
template<>
|
|
1753
|
+
ExceptionType EnumUtil::FromString<ExceptionType>(const char *value) {
|
|
1754
|
+
if (StringUtil::Equals(value, "INVALID")) {
|
|
1755
|
+
return ExceptionType::INVALID;
|
|
1756
|
+
}
|
|
1757
|
+
if (StringUtil::Equals(value, "OUT_OF_RANGE")) {
|
|
1758
|
+
return ExceptionType::OUT_OF_RANGE;
|
|
1759
|
+
}
|
|
1760
|
+
if (StringUtil::Equals(value, "CONVERSION")) {
|
|
1761
|
+
return ExceptionType::CONVERSION;
|
|
1762
|
+
}
|
|
1763
|
+
if (StringUtil::Equals(value, "UNKNOWN_TYPE")) {
|
|
1764
|
+
return ExceptionType::UNKNOWN_TYPE;
|
|
1765
|
+
}
|
|
1766
|
+
if (StringUtil::Equals(value, "DECIMAL")) {
|
|
1767
|
+
return ExceptionType::DECIMAL;
|
|
1768
|
+
}
|
|
1769
|
+
if (StringUtil::Equals(value, "MISMATCH_TYPE")) {
|
|
1770
|
+
return ExceptionType::MISMATCH_TYPE;
|
|
1771
|
+
}
|
|
1772
|
+
if (StringUtil::Equals(value, "DIVIDE_BY_ZERO")) {
|
|
1773
|
+
return ExceptionType::DIVIDE_BY_ZERO;
|
|
1774
|
+
}
|
|
1775
|
+
if (StringUtil::Equals(value, "OBJECT_SIZE")) {
|
|
1776
|
+
return ExceptionType::OBJECT_SIZE;
|
|
1777
|
+
}
|
|
1778
|
+
if (StringUtil::Equals(value, "INVALID_TYPE")) {
|
|
1779
|
+
return ExceptionType::INVALID_TYPE;
|
|
1780
|
+
}
|
|
1781
|
+
if (StringUtil::Equals(value, "SERIALIZATION")) {
|
|
1782
|
+
return ExceptionType::SERIALIZATION;
|
|
1783
|
+
}
|
|
1784
|
+
if (StringUtil::Equals(value, "TRANSACTION")) {
|
|
1785
|
+
return ExceptionType::TRANSACTION;
|
|
1786
|
+
}
|
|
1787
|
+
if (StringUtil::Equals(value, "NOT_IMPLEMENTED")) {
|
|
1788
|
+
return ExceptionType::NOT_IMPLEMENTED;
|
|
1789
|
+
}
|
|
1790
|
+
if (StringUtil::Equals(value, "EXPRESSION")) {
|
|
1791
|
+
return ExceptionType::EXPRESSION;
|
|
1792
|
+
}
|
|
1793
|
+
if (StringUtil::Equals(value, "CATALOG")) {
|
|
1794
|
+
return ExceptionType::CATALOG;
|
|
1795
|
+
}
|
|
1796
|
+
if (StringUtil::Equals(value, "PARSER")) {
|
|
1797
|
+
return ExceptionType::PARSER;
|
|
1798
|
+
}
|
|
1799
|
+
if (StringUtil::Equals(value, "PLANNER")) {
|
|
1800
|
+
return ExceptionType::PLANNER;
|
|
1801
|
+
}
|
|
1802
|
+
if (StringUtil::Equals(value, "SCHEDULER")) {
|
|
1803
|
+
return ExceptionType::SCHEDULER;
|
|
1804
|
+
}
|
|
1805
|
+
if (StringUtil::Equals(value, "EXECUTOR")) {
|
|
1806
|
+
return ExceptionType::EXECUTOR;
|
|
1807
|
+
}
|
|
1808
|
+
if (StringUtil::Equals(value, "CONSTRAINT")) {
|
|
1809
|
+
return ExceptionType::CONSTRAINT;
|
|
1810
|
+
}
|
|
1811
|
+
if (StringUtil::Equals(value, "INDEX")) {
|
|
1812
|
+
return ExceptionType::INDEX;
|
|
1813
|
+
}
|
|
1814
|
+
if (StringUtil::Equals(value, "STAT")) {
|
|
1815
|
+
return ExceptionType::STAT;
|
|
1816
|
+
}
|
|
1817
|
+
if (StringUtil::Equals(value, "CONNECTION")) {
|
|
1818
|
+
return ExceptionType::CONNECTION;
|
|
1819
|
+
}
|
|
1820
|
+
if (StringUtil::Equals(value, "SYNTAX")) {
|
|
1821
|
+
return ExceptionType::SYNTAX;
|
|
1822
|
+
}
|
|
1823
|
+
if (StringUtil::Equals(value, "SETTINGS")) {
|
|
1824
|
+
return ExceptionType::SETTINGS;
|
|
1825
|
+
}
|
|
1826
|
+
if (StringUtil::Equals(value, "BINDER")) {
|
|
1827
|
+
return ExceptionType::BINDER;
|
|
1828
|
+
}
|
|
1829
|
+
if (StringUtil::Equals(value, "NETWORK")) {
|
|
1830
|
+
return ExceptionType::NETWORK;
|
|
1831
|
+
}
|
|
1832
|
+
if (StringUtil::Equals(value, "OPTIMIZER")) {
|
|
1833
|
+
return ExceptionType::OPTIMIZER;
|
|
1834
|
+
}
|
|
1835
|
+
if (StringUtil::Equals(value, "NULL_POINTER")) {
|
|
1836
|
+
return ExceptionType::NULL_POINTER;
|
|
1837
|
+
}
|
|
1838
|
+
if (StringUtil::Equals(value, "IO")) {
|
|
1839
|
+
return ExceptionType::IO;
|
|
1840
|
+
}
|
|
1841
|
+
if (StringUtil::Equals(value, "INTERRUPT")) {
|
|
1842
|
+
return ExceptionType::INTERRUPT;
|
|
1843
|
+
}
|
|
1844
|
+
if (StringUtil::Equals(value, "FATAL")) {
|
|
1845
|
+
return ExceptionType::FATAL;
|
|
1846
|
+
}
|
|
1847
|
+
if (StringUtil::Equals(value, "INTERNAL")) {
|
|
1848
|
+
return ExceptionType::INTERNAL;
|
|
1849
|
+
}
|
|
1850
|
+
if (StringUtil::Equals(value, "INVALID_INPUT")) {
|
|
1851
|
+
return ExceptionType::INVALID_INPUT;
|
|
1852
|
+
}
|
|
1853
|
+
if (StringUtil::Equals(value, "OUT_OF_MEMORY")) {
|
|
1854
|
+
return ExceptionType::OUT_OF_MEMORY;
|
|
1855
|
+
}
|
|
1856
|
+
if (StringUtil::Equals(value, "PERMISSION")) {
|
|
1857
|
+
return ExceptionType::PERMISSION;
|
|
1858
|
+
}
|
|
1859
|
+
if (StringUtil::Equals(value, "PARAMETER_NOT_RESOLVED")) {
|
|
1860
|
+
return ExceptionType::PARAMETER_NOT_RESOLVED;
|
|
1861
|
+
}
|
|
1862
|
+
if (StringUtil::Equals(value, "PARAMETER_NOT_ALLOWED")) {
|
|
1863
|
+
return ExceptionType::PARAMETER_NOT_ALLOWED;
|
|
1864
|
+
}
|
|
1865
|
+
if (StringUtil::Equals(value, "DEPENDENCY")) {
|
|
1866
|
+
return ExceptionType::DEPENDENCY;
|
|
1867
|
+
}
|
|
1868
|
+
if (StringUtil::Equals(value, "HTTP")) {
|
|
1869
|
+
return ExceptionType::HTTP;
|
|
1870
|
+
}
|
|
1871
|
+
if (StringUtil::Equals(value, "MISSING_EXTENSION")) {
|
|
1872
|
+
return ExceptionType::MISSING_EXTENSION;
|
|
1873
|
+
}
|
|
1874
|
+
if (StringUtil::Equals(value, "AUTOLOAD")) {
|
|
1875
|
+
return ExceptionType::AUTOLOAD;
|
|
1876
|
+
}
|
|
1877
|
+
if (StringUtil::Equals(value, "SEQUENCE")) {
|
|
1878
|
+
return ExceptionType::SEQUENCE;
|
|
1879
|
+
}
|
|
1880
|
+
throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
|
|
1881
|
+
}
|
|
1882
|
+
|
|
1633
1883
|
template<>
|
|
1634
1884
|
const char* EnumUtil::ToChars<ExplainOutputType>(ExplainOutputType value) {
|
|
1635
1885
|
switch(value) {
|
|
@@ -1762,6 +2012,8 @@ const char* EnumUtil::ToChars<ExpressionClass>(ExpressionClass value) {
|
|
|
1762
2012
|
return "BOUND_LAMBDA_REF";
|
|
1763
2013
|
case ExpressionClass::BOUND_EXPRESSION:
|
|
1764
2014
|
return "BOUND_EXPRESSION";
|
|
2015
|
+
case ExpressionClass::BOUND_EXPANDED:
|
|
2016
|
+
return "BOUND_EXPANDED";
|
|
1765
2017
|
default:
|
|
1766
2018
|
throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
|
|
1767
2019
|
}
|
|
@@ -1886,6 +2138,9 @@ ExpressionClass EnumUtil::FromString<ExpressionClass>(const char *value) {
|
|
|
1886
2138
|
if (StringUtil::Equals(value, "BOUND_EXPRESSION")) {
|
|
1887
2139
|
return ExpressionClass::BOUND_EXPRESSION;
|
|
1888
2140
|
}
|
|
2141
|
+
if (StringUtil::Equals(value, "BOUND_EXPANDED")) {
|
|
2142
|
+
return ExpressionClass::BOUND_EXPANDED;
|
|
2143
|
+
}
|
|
1889
2144
|
throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
|
|
1890
2145
|
}
|
|
1891
2146
|
|
|
@@ -2028,6 +2283,8 @@ const char* EnumUtil::ToChars<ExpressionType>(ExpressionType value) {
|
|
|
2028
2283
|
return "POSITIONAL_REFERENCE";
|
|
2029
2284
|
case ExpressionType::BOUND_LAMBDA_REF:
|
|
2030
2285
|
return "BOUND_LAMBDA_REF";
|
|
2286
|
+
case ExpressionType::BOUND_EXPANDED:
|
|
2287
|
+
return "BOUND_EXPANDED";
|
|
2031
2288
|
default:
|
|
2032
2289
|
throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
|
|
2033
2290
|
}
|
|
@@ -2239,6 +2496,9 @@ ExpressionType EnumUtil::FromString<ExpressionType>(const char *value) {
|
|
|
2239
2496
|
if (StringUtil::Equals(value, "BOUND_LAMBDA_REF")) {
|
|
2240
2497
|
return ExpressionType::BOUND_LAMBDA_REF;
|
|
2241
2498
|
}
|
|
2499
|
+
if (StringUtil::Equals(value, "BOUND_EXPANDED")) {
|
|
2500
|
+
return ExpressionType::BOUND_EXPANDED;
|
|
2501
|
+
}
|
|
2242
2502
|
throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
|
|
2243
2503
|
}
|
|
2244
2504
|
|
|
@@ -2270,6 +2530,24 @@ ExtensionLoadResult EnumUtil::FromString<ExtensionLoadResult>(const char *value)
|
|
|
2270
2530
|
throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
|
|
2271
2531
|
}
|
|
2272
2532
|
|
|
2533
|
+
template<>
|
|
2534
|
+
const char* EnumUtil::ToChars<ExternalDependenciesType>(ExternalDependenciesType value) {
|
|
2535
|
+
switch(value) {
|
|
2536
|
+
case ExternalDependenciesType::PYTHON_DEPENDENCY:
|
|
2537
|
+
return "PYTHON_DEPENDENCY";
|
|
2538
|
+
default:
|
|
2539
|
+
throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
|
|
2540
|
+
}
|
|
2541
|
+
}
|
|
2542
|
+
|
|
2543
|
+
template<>
|
|
2544
|
+
ExternalDependenciesType EnumUtil::FromString<ExternalDependenciesType>(const char *value) {
|
|
2545
|
+
if (StringUtil::Equals(value, "PYTHON_DEPENDENCY")) {
|
|
2546
|
+
return ExternalDependenciesType::PYTHON_DEPENDENCY;
|
|
2547
|
+
}
|
|
2548
|
+
throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
|
|
2549
|
+
}
|
|
2550
|
+
|
|
2273
2551
|
template<>
|
|
2274
2552
|
const char* EnumUtil::ToChars<ExtraDropInfoType>(ExtraDropInfoType value) {
|
|
2275
2553
|
switch(value) {
|
|
@@ -4119,6 +4397,8 @@ const char* EnumUtil::ToChars<ParseInfoType>(ParseInfoType value) {
|
|
|
4119
4397
|
return "COMMENT_ON_INFO";
|
|
4120
4398
|
case ParseInfoType::COMMENT_ON_COLUMN_INFO:
|
|
4121
4399
|
return "COMMENT_ON_COLUMN_INFO";
|
|
4400
|
+
case ParseInfoType::COPY_DATABASE_INFO:
|
|
4401
|
+
return "COPY_DATABASE_INFO";
|
|
4122
4402
|
default:
|
|
4123
4403
|
throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
|
|
4124
4404
|
}
|
|
@@ -4171,6 +4451,9 @@ ParseInfoType EnumUtil::FromString<ParseInfoType>(const char *value) {
|
|
|
4171
4451
|
if (StringUtil::Equals(value, "COMMENT_ON_COLUMN_INFO")) {
|
|
4172
4452
|
return ParseInfoType::COMMENT_ON_COLUMN_INFO;
|
|
4173
4453
|
}
|
|
4454
|
+
if (StringUtil::Equals(value, "COPY_DATABASE_INFO")) {
|
|
4455
|
+
return ParseInfoType::COPY_DATABASE_INFO;
|
|
4456
|
+
}
|
|
4174
4457
|
throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
|
|
4175
4458
|
}
|
|
4176
4459
|
|
|
@@ -5301,6 +5584,29 @@ SampleMethod EnumUtil::FromString<SampleMethod>(const char *value) {
|
|
|
5301
5584
|
throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
|
|
5302
5585
|
}
|
|
5303
5586
|
|
|
5587
|
+
template<>
|
|
5588
|
+
const char* EnumUtil::ToChars<ScanType>(ScanType value) {
|
|
5589
|
+
switch(value) {
|
|
5590
|
+
case ScanType::TABLE:
|
|
5591
|
+
return "TABLE";
|
|
5592
|
+
case ScanType::PARQUET:
|
|
5593
|
+
return "PARQUET";
|
|
5594
|
+
default:
|
|
5595
|
+
throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
|
|
5596
|
+
}
|
|
5597
|
+
}
|
|
5598
|
+
|
|
5599
|
+
template<>
|
|
5600
|
+
ScanType EnumUtil::FromString<ScanType>(const char *value) {
|
|
5601
|
+
if (StringUtil::Equals(value, "TABLE")) {
|
|
5602
|
+
return ScanType::TABLE;
|
|
5603
|
+
}
|
|
5604
|
+
if (StringUtil::Equals(value, "PARQUET")) {
|
|
5605
|
+
return ScanType::PARQUET;
|
|
5606
|
+
}
|
|
5607
|
+
throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
|
|
5608
|
+
}
|
|
5609
|
+
|
|
5304
5610
|
template<>
|
|
5305
5611
|
const char* EnumUtil::ToChars<SecretDisplayType>(SecretDisplayType value) {
|
|
5306
5612
|
switch(value) {
|
|
@@ -141,6 +141,8 @@ string ExpressionTypeToString(ExpressionType type) {
|
|
|
141
141
|
return "LAMBDA";
|
|
142
142
|
case ExpressionType::ARROW:
|
|
143
143
|
return "ARROW";
|
|
144
|
+
case ExpressionType::BOUND_EXPANDED:
|
|
145
|
+
return "BOUND_EXPANDED";
|
|
144
146
|
case ExpressionType::INVALID:
|
|
145
147
|
break;
|
|
146
148
|
}
|
|
@@ -224,6 +226,8 @@ string ExpressionClassToString(ExpressionClass type) {
|
|
|
224
226
|
return "BOUND_LAMBDA";
|
|
225
227
|
case ExpressionClass::BOUND_EXPRESSION:
|
|
226
228
|
return "BOUND_EXPRESSION";
|
|
229
|
+
case ExpressionClass::BOUND_EXPANDED:
|
|
230
|
+
return "BOUND_EXPANDED";
|
|
227
231
|
default:
|
|
228
232
|
return "ExpressionClass::!!UNIMPLEMENTED_CASE!!";
|
|
229
233
|
}
|
|
@@ -10,7 +10,7 @@ struct DefaultOptimizerType {
|
|
|
10
10
|
OptimizerType type;
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
-
static DefaultOptimizerType internal_optimizer_types[] = {
|
|
13
|
+
static const DefaultOptimizerType internal_optimizer_types[] = {
|
|
14
14
|
{"expression_rewriter", OptimizerType::EXPRESSION_REWRITER},
|
|
15
15
|
{"filter_pullup", OptimizerType::FILTER_PULLUP},
|
|
16
16
|
{"filter_pushdown", OptimizerType::FILTER_PUSHDOWN},
|
|
@@ -45,6 +45,41 @@ extern "C" WINBASEAPI BOOL WINAPI GetPhysicallyInstalledSystemMemory(PULONGLONG)
|
|
|
45
45
|
|
|
46
46
|
namespace duckdb {
|
|
47
47
|
|
|
48
|
+
constexpr FileOpenFlags FileFlags::FILE_FLAGS_READ;
|
|
49
|
+
constexpr FileOpenFlags FileFlags::FILE_FLAGS_WRITE;
|
|
50
|
+
constexpr FileOpenFlags FileFlags::FILE_FLAGS_DIRECT_IO;
|
|
51
|
+
constexpr FileOpenFlags FileFlags::FILE_FLAGS_FILE_CREATE;
|
|
52
|
+
constexpr FileOpenFlags FileFlags::FILE_FLAGS_FILE_CREATE_NEW;
|
|
53
|
+
constexpr FileOpenFlags FileFlags::FILE_FLAGS_APPEND;
|
|
54
|
+
constexpr FileOpenFlags FileFlags::FILE_FLAGS_PRIVATE;
|
|
55
|
+
constexpr FileOpenFlags FileFlags::FILE_FLAGS_NULL_IF_NOT_EXISTS;
|
|
56
|
+
constexpr FileOpenFlags FileFlags::FILE_FLAGS_PARALLEL_ACCESS;
|
|
57
|
+
|
|
58
|
+
void FileOpenFlags::Verify() {
|
|
59
|
+
#ifdef DEBUG
|
|
60
|
+
bool is_read = flags & FileOpenFlags::FILE_FLAGS_READ;
|
|
61
|
+
bool is_write = flags & FileOpenFlags::FILE_FLAGS_WRITE;
|
|
62
|
+
bool is_create =
|
|
63
|
+
(flags & FileOpenFlags::FILE_FLAGS_FILE_CREATE) || (flags & FileOpenFlags::FILE_FLAGS_FILE_CREATE_NEW);
|
|
64
|
+
bool is_private = (flags & FileOpenFlags::FILE_FLAGS_PRIVATE);
|
|
65
|
+
bool null_if_not_exists = flags & FileOpenFlags::FILE_FLAGS_NULL_IF_NOT_EXISTS;
|
|
66
|
+
|
|
67
|
+
// require either READ or WRITE (or both)
|
|
68
|
+
D_ASSERT(is_read || is_write);
|
|
69
|
+
// CREATE/Append flags require writing
|
|
70
|
+
D_ASSERT(is_write || !(flags & FileOpenFlags::FILE_FLAGS_APPEND));
|
|
71
|
+
D_ASSERT(is_write || !(flags & FileOpenFlags::FILE_FLAGS_FILE_CREATE));
|
|
72
|
+
D_ASSERT(is_write || !(flags & FileOpenFlags::FILE_FLAGS_FILE_CREATE_NEW));
|
|
73
|
+
// cannot combine CREATE and CREATE_NEW flags
|
|
74
|
+
D_ASSERT(!(flags & FileOpenFlags::FILE_FLAGS_FILE_CREATE && flags & FileOpenFlags::FILE_FLAGS_FILE_CREATE_NEW));
|
|
75
|
+
|
|
76
|
+
// For is_private can only be set along with a create flag
|
|
77
|
+
D_ASSERT(!is_private || is_create);
|
|
78
|
+
// FILE_FLAGS_NULL_IF_NOT_EXISTS cannot be combined with CREATE/CREATE_NEW
|
|
79
|
+
D_ASSERT(!(null_if_not_exists && is_create));
|
|
80
|
+
#endif
|
|
81
|
+
}
|
|
82
|
+
|
|
48
83
|
FileSystem::~FileSystem() {
|
|
49
84
|
}
|
|
50
85
|
|
|
@@ -82,7 +117,7 @@ void FileSystem::SetWorkingDirectory(const string &path) {
|
|
|
82
117
|
}
|
|
83
118
|
}
|
|
84
119
|
|
|
85
|
-
|
|
120
|
+
optional_idx FileSystem::GetAvailableMemory() {
|
|
86
121
|
errno = 0;
|
|
87
122
|
|
|
88
123
|
#ifdef __MVS__
|
|
@@ -93,7 +128,7 @@ idx_t FileSystem::GetAvailableMemory() {
|
|
|
93
128
|
idx_t max_memory = MinValue<idx_t>((idx_t)sysconf(_SC_PHYS_PAGES) * (idx_t)sysconf(_SC_PAGESIZE), UINTPTR_MAX);
|
|
94
129
|
#endif
|
|
95
130
|
if (errno != 0) {
|
|
96
|
-
return
|
|
131
|
+
return optional_idx();
|
|
97
132
|
}
|
|
98
133
|
return max_memory;
|
|
99
134
|
}
|
|
@@ -183,7 +218,7 @@ void FileSystem::SetWorkingDirectory(const string &path) {
|
|
|
183
218
|
}
|
|
184
219
|
}
|
|
185
220
|
|
|
186
|
-
|
|
221
|
+
optional_idx FileSystem::GetAvailableMemory() {
|
|
187
222
|
ULONGLONG available_memory_kb;
|
|
188
223
|
if (GetPhysicallyInstalledSystemMemory(&available_memory_kb)) {
|
|
189
224
|
return MinValue<idx_t>(available_memory_kb * 1000, UINTPTR_MAX);
|
|
@@ -195,7 +230,7 @@ idx_t FileSystem::GetAvailableMemory() {
|
|
|
195
230
|
if (GlobalMemoryStatusEx(&mem_state)) {
|
|
196
231
|
return MinValue<idx_t>(mem_state.ullTotalPhys, UINTPTR_MAX);
|
|
197
232
|
}
|
|
198
|
-
return
|
|
233
|
+
return optional_idx();
|
|
199
234
|
}
|
|
200
235
|
|
|
201
236
|
string FileSystem::GetWorkingDirectory() {
|
|
@@ -286,8 +321,7 @@ string FileSystem::ExpandPath(const string &path) {
|
|
|
286
321
|
}
|
|
287
322
|
|
|
288
323
|
// LCOV_EXCL_START
|
|
289
|
-
unique_ptr<FileHandle> FileSystem::OpenFile(const string &path,
|
|
290
|
-
FileCompressionType compression, FileOpener *opener) {
|
|
324
|
+
unique_ptr<FileHandle> FileSystem::OpenFile(const string &path, FileOpenFlags flags, optional_ptr<FileOpener> opener) {
|
|
291
325
|
throw NotImplementedException("%s: OpenFile is not implemented!", GetName());
|
|
292
326
|
}
|
|
293
327
|
|
|
@@ -295,6 +329,11 @@ void FileSystem::Read(FileHandle &handle, void *buffer, int64_t nr_bytes, idx_t
|
|
|
295
329
|
throw NotImplementedException("%s: Read (with location) is not implemented!", GetName());
|
|
296
330
|
}
|
|
297
331
|
|
|
332
|
+
bool FileSystem::Trim(FileHandle &handle, idx_t offset_bytes, idx_t length_bytes) {
|
|
333
|
+
// This is not a required method. Derived FileSystems may optionally override/implement.
|
|
334
|
+
return false;
|
|
335
|
+
}
|
|
336
|
+
|
|
298
337
|
void FileSystem::Write(FileHandle &handle, void *buffer, int64_t nr_bytes, idx_t location) {
|
|
299
338
|
throw NotImplementedException("%s: Write (with location) is not implemented!", GetName());
|
|
300
339
|
}
|
|
@@ -323,15 +362,15 @@ void FileSystem::Truncate(FileHandle &handle, int64_t new_size) {
|
|
|
323
362
|
throw NotImplementedException("%s: Truncate is not implemented!", GetName());
|
|
324
363
|
}
|
|
325
364
|
|
|
326
|
-
bool FileSystem::DirectoryExists(const string &directory) {
|
|
365
|
+
bool FileSystem::DirectoryExists(const string &directory, optional_ptr<FileOpener> opener) {
|
|
327
366
|
throw NotImplementedException("%s: DirectoryExists is not implemented!", GetName());
|
|
328
367
|
}
|
|
329
368
|
|
|
330
|
-
void FileSystem::CreateDirectory(const string &directory) {
|
|
369
|
+
void FileSystem::CreateDirectory(const string &directory, optional_ptr<FileOpener> opener) {
|
|
331
370
|
throw NotImplementedException("%s: CreateDirectory is not implemented!", GetName());
|
|
332
371
|
}
|
|
333
372
|
|
|
334
|
-
void FileSystem::RemoveDirectory(const string &directory) {
|
|
373
|
+
void FileSystem::RemoveDirectory(const string &directory, optional_ptr<FileOpener> opener) {
|
|
335
374
|
throw NotImplementedException("%s: RemoveDirectory is not implemented!", GetName());
|
|
336
375
|
}
|
|
337
376
|
|
|
@@ -340,19 +379,19 @@ bool FileSystem::ListFiles(const string &directory, const std::function<void(con
|
|
|
340
379
|
throw NotImplementedException("%s: ListFiles is not implemented!", GetName());
|
|
341
380
|
}
|
|
342
381
|
|
|
343
|
-
void FileSystem::MoveFile(const string &source, const string &target) {
|
|
382
|
+
void FileSystem::MoveFile(const string &source, const string &target, optional_ptr<FileOpener> opener) {
|
|
344
383
|
throw NotImplementedException("%s: MoveFile is not implemented!", GetName());
|
|
345
384
|
}
|
|
346
385
|
|
|
347
|
-
bool FileSystem::FileExists(const string &filename) {
|
|
386
|
+
bool FileSystem::FileExists(const string &filename, optional_ptr<FileOpener> opener) {
|
|
348
387
|
throw NotImplementedException("%s: FileExists is not implemented!", GetName());
|
|
349
388
|
}
|
|
350
389
|
|
|
351
|
-
bool FileSystem::IsPipe(const string &filename) {
|
|
390
|
+
bool FileSystem::IsPipe(const string &filename, optional_ptr<FileOpener> opener) {
|
|
352
391
|
return false;
|
|
353
392
|
}
|
|
354
393
|
|
|
355
|
-
void FileSystem::RemoveFile(const string &filename) {
|
|
394
|
+
void FileSystem::RemoveFile(const string &filename, optional_ptr<FileOpener> opener) {
|
|
356
395
|
throw NotImplementedException("%s: RemoveFile is not implemented!", GetName());
|
|
357
396
|
}
|
|
358
397
|
|
|
@@ -458,6 +497,10 @@ bool FileSystem::CanSeek() {
|
|
|
458
497
|
throw NotImplementedException("%s: CanSeek is not implemented!", GetName());
|
|
459
498
|
}
|
|
460
499
|
|
|
500
|
+
bool FileSystem::IsManuallySet() {
|
|
501
|
+
return false;
|
|
502
|
+
}
|
|
503
|
+
|
|
461
504
|
unique_ptr<FileHandle> FileSystem::OpenCompressedFile(unique_ptr<FileHandle> handle, bool write) {
|
|
462
505
|
throw NotImplementedException("%s: OpenCompressedFile is not implemented!", GetName());
|
|
463
506
|
}
|
|
@@ -477,6 +520,10 @@ int64_t FileHandle::Read(void *buffer, idx_t nr_bytes) {
|
|
|
477
520
|
return file_system.Read(*this, buffer, nr_bytes);
|
|
478
521
|
}
|
|
479
522
|
|
|
523
|
+
bool FileHandle::Trim(idx_t offset_bytes, idx_t length_bytes) {
|
|
524
|
+
return file_system.Trim(*this, offset_bytes, length_bytes);
|
|
525
|
+
}
|
|
526
|
+
|
|
480
527
|
int64_t FileHandle::Write(void *buffer, idx_t nr_bytes) {
|
|
481
528
|
return file_system.Write(*this, buffer, nr_bytes);
|
|
482
529
|
}
|
|
@@ -7,34 +7,34 @@ void FilenamePattern::SetFilenamePattern(const string &pattern) {
|
|
|
7
7
|
const string id_format {"{i}"};
|
|
8
8
|
const string uuid_format {"{uuid}"};
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
base = pattern;
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
if (
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
pos = base.find(id_format);
|
|
13
|
+
if (pos != string::npos) {
|
|
14
|
+
base = StringUtil::Replace(base, id_format, "");
|
|
15
|
+
uuid = false;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
if (
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
pos = base.find(uuid_format);
|
|
19
|
+
if (pos != string::npos) {
|
|
20
|
+
base = StringUtil::Replace(base, uuid_format, "");
|
|
21
|
+
uuid = true;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
pos = std::min(pos, (idx_t)base.length());
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
string FilenamePattern::CreateFilename(FileSystem &fs, const string &path, const string &extension,
|
|
28
28
|
idx_t offset) const {
|
|
29
|
-
string result(
|
|
29
|
+
string result(base);
|
|
30
30
|
string replacement;
|
|
31
31
|
|
|
32
|
-
if (
|
|
32
|
+
if (uuid) {
|
|
33
33
|
replacement = UUID::ToString(UUID::GenerateRandomUUID());
|
|
34
34
|
} else {
|
|
35
35
|
replacement = std::to_string(offset);
|
|
36
36
|
}
|
|
37
|
-
result.insert(
|
|
37
|
+
result.insert(pos, replacement);
|
|
38
38
|
return fs.JoinPath(path, result + "." + extension);
|
|
39
39
|
}
|
|
40
40
|
|
|
@@ -74,7 +74,7 @@ shared_ptr<HTTPState> HTTPState::TryGetState(ClientContext &context, bool create
|
|
|
74
74
|
return http_state;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
shared_ptr<HTTPState> HTTPState::TryGetState(FileOpener
|
|
77
|
+
shared_ptr<HTTPState> HTTPState::TryGetState(optional_ptr<FileOpener> opener, bool create_on_missing) {
|
|
78
78
|
auto client_context = FileOpener::TryGetClientContext(opener);
|
|
79
79
|
if (client_context) {
|
|
80
80
|
return TryGetState(*client_context, create_on_missing);
|