duckdb 0.10.2-dev0.0 → 0.10.2-dev5.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
- package/test/jsdoc.test.ts +3 -0
|
@@ -21,8 +21,7 @@ class ColumnDataCollection;
|
|
|
21
21
|
class ExecutionContext;
|
|
22
22
|
|
|
23
23
|
struct LocalFunctionData {
|
|
24
|
-
virtual ~LocalFunctionData()
|
|
25
|
-
}
|
|
24
|
+
virtual ~LocalFunctionData() = default;
|
|
26
25
|
|
|
27
26
|
template <class TARGET>
|
|
28
27
|
TARGET &Cast() {
|
|
@@ -31,14 +30,13 @@ struct LocalFunctionData {
|
|
|
31
30
|
}
|
|
32
31
|
template <class TARGET>
|
|
33
32
|
const TARGET &Cast() const {
|
|
34
|
-
|
|
33
|
+
DynamicCastCheck<TARGET>(this);
|
|
35
34
|
return reinterpret_cast<const TARGET &>(*this);
|
|
36
35
|
}
|
|
37
36
|
};
|
|
38
37
|
|
|
39
38
|
struct GlobalFunctionData {
|
|
40
|
-
virtual ~GlobalFunctionData()
|
|
41
|
-
}
|
|
39
|
+
virtual ~GlobalFunctionData() = default;
|
|
42
40
|
|
|
43
41
|
template <class TARGET>
|
|
44
42
|
TARGET &Cast() {
|
|
@@ -47,14 +45,13 @@ struct GlobalFunctionData {
|
|
|
47
45
|
}
|
|
48
46
|
template <class TARGET>
|
|
49
47
|
const TARGET &Cast() const {
|
|
50
|
-
|
|
48
|
+
DynamicCastCheck<TARGET>(this);
|
|
51
49
|
return reinterpret_cast<const TARGET &>(*this);
|
|
52
50
|
}
|
|
53
51
|
};
|
|
54
52
|
|
|
55
53
|
struct PreparedBatchData {
|
|
56
|
-
virtual ~PreparedBatchData()
|
|
57
|
-
}
|
|
54
|
+
virtual ~PreparedBatchData() = default;
|
|
58
55
|
|
|
59
56
|
template <class TARGET>
|
|
60
57
|
TARGET &Cast() {
|
|
@@ -63,18 +60,18 @@ struct PreparedBatchData {
|
|
|
63
60
|
}
|
|
64
61
|
template <class TARGET>
|
|
65
62
|
const TARGET &Cast() const {
|
|
66
|
-
|
|
63
|
+
DynamicCastCheck<TARGET>(this);
|
|
67
64
|
return reinterpret_cast<const TARGET &>(*this);
|
|
68
65
|
}
|
|
69
66
|
};
|
|
70
67
|
|
|
71
68
|
struct CopyFunctionBindInput {
|
|
69
|
+
explicit CopyFunctionBindInput(const CopyInfo &info_p) : info(info_p) {
|
|
70
|
+
}
|
|
71
|
+
|
|
72
72
|
const CopyInfo &info;
|
|
73
73
|
|
|
74
74
|
string file_extension;
|
|
75
|
-
|
|
76
|
-
CopyFunctionBindInput(const CopyInfo &info_p) : info(info_p) {
|
|
77
|
-
}
|
|
78
75
|
};
|
|
79
76
|
|
|
80
77
|
enum class CopyFunctionExecutionMode { REGULAR_COPY_TO_FILE, PARALLEL_COPY_TO_FILE, BATCH_COPY_TO_FILE };
|
|
@@ -114,7 +111,7 @@ enum class CopyTypeSupport { SUPPORTED, LOSSY, UNSUPPORTED };
|
|
|
114
111
|
|
|
115
112
|
typedef CopyTypeSupport (*copy_supports_type_t)(const LogicalType &type);
|
|
116
113
|
|
|
117
|
-
class CopyFunction : public Function {
|
|
114
|
+
class CopyFunction : public Function { // NOLINT: work-around bug in clang-tidy
|
|
118
115
|
public:
|
|
119
116
|
explicit CopyFunction(const string &name)
|
|
120
117
|
: Function(name), plan(nullptr), copy_to_bind(nullptr), copy_to_initialize_local(nullptr),
|
|
@@ -58,13 +58,13 @@ struct FunctionData {
|
|
|
58
58
|
}
|
|
59
59
|
template <class TARGET>
|
|
60
60
|
const TARGET &Cast() const {
|
|
61
|
-
|
|
61
|
+
DynamicCastCheck<TARGET>(this);
|
|
62
62
|
return reinterpret_cast<const TARGET &>(*this);
|
|
63
63
|
}
|
|
64
64
|
// FIXME: this function should be removed in the future
|
|
65
65
|
template <class TARGET>
|
|
66
66
|
TARGET &CastNoConst() const {
|
|
67
|
-
return const_cast<TARGET &>(
|
|
67
|
+
return const_cast<TARGET &>(Cast<TARGET>()); // NOLINT: FIXME
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
70
|
|
|
@@ -72,7 +72,7 @@ struct TableFunctionData : public FunctionData {
|
|
|
72
72
|
// used to pass on projections to table functions that support them. NB, can contain COLUMN_IDENTIFIER_ROW_ID
|
|
73
73
|
vector<idx_t> column_ids;
|
|
74
74
|
|
|
75
|
-
DUCKDB_API
|
|
75
|
+
DUCKDB_API ~TableFunctionData() override;
|
|
76
76
|
|
|
77
77
|
DUCKDB_API unique_ptr<FunctionData> Copy() const override;
|
|
78
78
|
DUCKDB_API bool Equals(const FunctionData &other) const override;
|
|
@@ -27,26 +27,26 @@ public:
|
|
|
27
27
|
|
|
28
28
|
public:
|
|
29
29
|
//! Bind a scalar function from the set of functions and input arguments. Returns the index of the chosen function,
|
|
30
|
-
//! returns
|
|
31
|
-
DUCKDB_API
|
|
32
|
-
|
|
33
|
-
DUCKDB_API
|
|
34
|
-
|
|
30
|
+
//! returns optional_idx() and sets error if none could be found
|
|
31
|
+
DUCKDB_API optional_idx BindFunction(const string &name, ScalarFunctionSet &functions,
|
|
32
|
+
const vector<LogicalType> &arguments, ErrorData &error);
|
|
33
|
+
DUCKDB_API optional_idx BindFunction(const string &name, ScalarFunctionSet &functions,
|
|
34
|
+
vector<unique_ptr<Expression>> &arguments, ErrorData &error);
|
|
35
35
|
//! Bind an aggregate function from the set of functions and input arguments. Returns the index of the chosen
|
|
36
|
-
//! function, returns
|
|
37
|
-
DUCKDB_API
|
|
38
|
-
|
|
39
|
-
DUCKDB_API
|
|
40
|
-
|
|
36
|
+
//! function, returns optional_idx() and sets error if none could be found
|
|
37
|
+
DUCKDB_API optional_idx BindFunction(const string &name, AggregateFunctionSet &functions,
|
|
38
|
+
const vector<LogicalType> &arguments, ErrorData &error);
|
|
39
|
+
DUCKDB_API optional_idx BindFunction(const string &name, AggregateFunctionSet &functions,
|
|
40
|
+
vector<unique_ptr<Expression>> &arguments, ErrorData &error);
|
|
41
41
|
//! Bind a table function from the set of functions and input arguments. Returns the index of the chosen
|
|
42
|
-
//! function, returns
|
|
43
|
-
DUCKDB_API
|
|
44
|
-
|
|
45
|
-
DUCKDB_API
|
|
46
|
-
|
|
42
|
+
//! function, returns optional_idx() and sets error if none could be found
|
|
43
|
+
DUCKDB_API optional_idx BindFunction(const string &name, TableFunctionSet &functions,
|
|
44
|
+
const vector<LogicalType> &arguments, ErrorData &error);
|
|
45
|
+
DUCKDB_API optional_idx BindFunction(const string &name, TableFunctionSet &functions,
|
|
46
|
+
vector<unique_ptr<Expression>> &arguments, ErrorData &error);
|
|
47
47
|
//! Bind a pragma function from the set of functions and input arguments
|
|
48
|
-
DUCKDB_API
|
|
49
|
-
|
|
48
|
+
DUCKDB_API optional_idx BindFunction(const string &name, PragmaFunctionSet &functions, vector<Value> ¶meters,
|
|
49
|
+
ErrorData &error);
|
|
50
50
|
|
|
51
51
|
DUCKDB_API unique_ptr<Expression> BindScalarFunction(const string &schema, const string &name,
|
|
52
52
|
vector<unique_ptr<Expression>> children, ErrorData &error,
|
|
@@ -70,20 +70,21 @@ public:
|
|
|
70
70
|
private:
|
|
71
71
|
//! Cast a set of expressions to the arguments of this function
|
|
72
72
|
void CastToFunctionArguments(SimpleFunction &function, vector<unique_ptr<Expression>> &children);
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
optional_idx BindVarArgsFunctionCost(const SimpleFunction &func, const vector<LogicalType> &arguments);
|
|
74
|
+
optional_idx BindFunctionCost(const SimpleFunction &func, const vector<LogicalType> &arguments);
|
|
75
75
|
|
|
76
76
|
template <class T>
|
|
77
77
|
vector<idx_t> BindFunctionsFromArguments(const string &name, FunctionSet<T> &functions,
|
|
78
78
|
const vector<LogicalType> &arguments, ErrorData &error);
|
|
79
79
|
|
|
80
80
|
template <class T>
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
optional_idx MultipleCandidateException(const string &name, FunctionSet<T> &functions,
|
|
82
|
+
vector<idx_t> &candidate_functions, const vector<LogicalType> &arguments,
|
|
83
|
+
ErrorData &error);
|
|
83
84
|
|
|
84
85
|
template <class T>
|
|
85
|
-
|
|
86
|
-
|
|
86
|
+
optional_idx BindFunctionFromArguments(const string &name, FunctionSet<T> &functions,
|
|
87
|
+
const vector<LogicalType> &arguments, ErrorData &error);
|
|
87
88
|
|
|
88
89
|
vector<LogicalType> GetLogicalTypesFromExpressions(vector<unique_ptr<Expression>> &arguments);
|
|
89
90
|
};
|
|
@@ -74,7 +74,7 @@ public:
|
|
|
74
74
|
template <class FUNC, class CATALOG_ENTRY>
|
|
75
75
|
static pair<FUNC, unique_ptr<FunctionData>> Deserialize(Deserializer &deserializer, CatalogType catalog_type,
|
|
76
76
|
vector<unique_ptr<Expression>> &children,
|
|
77
|
-
LogicalType return_type) {
|
|
77
|
+
LogicalType return_type) { // NOLINT: clang-tidy bug
|
|
78
78
|
auto &context = deserializer.Get<ClientContext &>();
|
|
79
79
|
auto entry = DeserializeBase<FUNC, CATALOG_ENTRY>(deserializer, catalog_type);
|
|
80
80
|
auto &function = entry.first;
|
|
@@ -28,7 +28,7 @@ typedef void (*pragma_function_t)(ClientContext &context, const FunctionParamete
|
|
|
28
28
|
//! -> this is similar to a call pragma but without parameters
|
|
29
29
|
//! Pragma functions can either return a new query to execute (pragma_query_t)
|
|
30
30
|
//! or they can
|
|
31
|
-
class PragmaFunction : public SimpleNamedParameterFunction {
|
|
31
|
+
class PragmaFunction : public SimpleNamedParameterFunction { // NOLINT: work-around bug in clang-tidy
|
|
32
32
|
public:
|
|
33
33
|
// Call
|
|
34
34
|
DUCKDB_API static PragmaFunction PragmaCall(const string &name, pragma_query_t query, vector<LogicalType> arguments,
|
|
@@ -44,13 +44,13 @@ struct RegexpExtractAll {
|
|
|
44
44
|
struct RegexpBaseBindData : public FunctionData {
|
|
45
45
|
RegexpBaseBindData();
|
|
46
46
|
RegexpBaseBindData(duckdb_re2::RE2::Options options, string constant_string, bool constant_pattern = true);
|
|
47
|
-
|
|
47
|
+
~RegexpBaseBindData() override;
|
|
48
48
|
|
|
49
49
|
duckdb_re2::RE2::Options options;
|
|
50
50
|
string constant_string;
|
|
51
51
|
bool constant_pattern;
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
bool Equals(const FunctionData &other_p) const override;
|
|
54
54
|
};
|
|
55
55
|
|
|
56
56
|
struct RegexpMatchesBindData : public RegexpBaseBindData {
|
|
@@ -105,7 +105,7 @@ struct RegexStringPieceArgs {
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
RegexStringPieceArgs &operator=(RegexStringPieceArgs &&other) {
|
|
108
|
+
RegexStringPieceArgs &operator=(RegexStringPieceArgs &&other) noexcept {
|
|
109
109
|
std::swap(this->size, other.size);
|
|
110
110
|
std::swap(this->capacity, other.capacity);
|
|
111
111
|
std::swap(this->group_buffer, other.group_buffer);
|
|
@@ -95,7 +95,7 @@ protected:
|
|
|
95
95
|
DUCKDB_API virtual void AddFormatSpecifier(string preceding_literal, StrTimeSpecifier specifier);
|
|
96
96
|
};
|
|
97
97
|
|
|
98
|
-
struct StrfTimeFormat : public StrTimeFormat {
|
|
98
|
+
struct StrfTimeFormat : public StrTimeFormat { // NOLINT: work-around bug in clang-tidy
|
|
99
99
|
DUCKDB_API idx_t GetLength(date_t date, dtime_t time, int32_t utc_offset, const char *tz_name);
|
|
100
100
|
|
|
101
101
|
DUCKDB_API void FormatString(date_t date, int32_t data[8], const char *tz_name, char *target);
|
|
@@ -128,7 +128,7 @@ protected:
|
|
|
128
128
|
char *target);
|
|
129
129
|
};
|
|
130
130
|
|
|
131
|
-
struct StrpTimeFormat : public StrTimeFormat {
|
|
131
|
+
struct StrpTimeFormat : public StrTimeFormat { // NOLINT: work-around bug in clang-tidy
|
|
132
132
|
public:
|
|
133
133
|
StrpTimeFormat();
|
|
134
134
|
|
|
@@ -137,15 +137,17 @@ public:
|
|
|
137
137
|
int32_t data[8]; // year, month, day, hour, min, sec, µs, offset
|
|
138
138
|
string tz;
|
|
139
139
|
string error_message;
|
|
140
|
-
|
|
140
|
+
optional_idx error_position;
|
|
141
141
|
|
|
142
142
|
bool is_special;
|
|
143
143
|
date_t special;
|
|
144
144
|
|
|
145
145
|
date_t ToDate();
|
|
146
|
+
dtime_t ToTime();
|
|
146
147
|
timestamp_t ToTimestamp();
|
|
147
148
|
|
|
148
149
|
bool TryToDate(date_t &result);
|
|
150
|
+
bool TryToTime(dtime_t &result);
|
|
149
151
|
bool TryToTimestamp(timestamp_t &result);
|
|
150
152
|
|
|
151
153
|
DUCKDB_API string FormatError(string_t input, const string &format_specifier);
|
|
@@ -160,16 +162,14 @@ public:
|
|
|
160
162
|
DUCKDB_API bool Parse(string_t str, ParseResult &result) const;
|
|
161
163
|
|
|
162
164
|
DUCKDB_API bool TryParseDate(string_t str, date_t &result, string &error_message) const;
|
|
165
|
+
DUCKDB_API bool TryParseTime(string_t str, dtime_t &result, string &error_message) const;
|
|
163
166
|
DUCKDB_API bool TryParseTimestamp(string_t str, timestamp_t &result, string &error_message) const;
|
|
164
167
|
|
|
165
|
-
date_t ParseDate(string_t str);
|
|
166
|
-
timestamp_t ParseTimestamp(string_t str);
|
|
167
|
-
|
|
168
168
|
void Serialize(Serializer &serializer) const;
|
|
169
169
|
static StrpTimeFormat Deserialize(Deserializer &deserializer);
|
|
170
170
|
|
|
171
171
|
protected:
|
|
172
|
-
static string FormatStrpTimeError(const string &input,
|
|
172
|
+
static string FormatStrpTimeError(const string &input, optional_idx position);
|
|
173
173
|
DUCKDB_API void AddFormatSpecifier(string preceding_literal, StrTimeSpecifier specifier) override;
|
|
174
174
|
int NumericSpecifierWidth(StrTimeSpecifier specifier);
|
|
175
175
|
int32_t TryParseCollection(const char *data, idx_t &pos, idx_t size, const string_t collection[],
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
#include "utf8proc.hpp"
|
|
13
13
|
#include "duckdb/function/built_in_functions.hpp"
|
|
14
14
|
|
|
15
|
-
namespace
|
|
15
|
+
namespace duckdb_re2 {
|
|
16
16
|
class RE2;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
namespace duckdb {
|
|
20
20
|
|
|
21
21
|
struct LowerFun {
|
|
22
|
-
static uint8_t
|
|
22
|
+
static const uint8_t ASCII_TO_LOWER_MAP[];
|
|
23
23
|
|
|
24
24
|
//! Returns the length of the result string obtained from lowercasing the given input (in bytes)
|
|
25
25
|
static idx_t LowerLength(const char *input_data, idx_t input_length);
|
|
@@ -31,7 +31,7 @@ struct LowerFun {
|
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
struct UpperFun {
|
|
34
|
-
static uint8_t
|
|
34
|
+
static const uint8_t ASCII_TO_UPPER_MAP[];
|
|
35
35
|
|
|
36
36
|
static void RegisterFunction(BuiltinFunctions &set);
|
|
37
37
|
};
|
|
@@ -29,14 +29,14 @@ struct FunctionLocalState {
|
|
|
29
29
|
}
|
|
30
30
|
template <class TARGET>
|
|
31
31
|
const TARGET &Cast() const {
|
|
32
|
-
|
|
32
|
+
DynamicCastCheck<TARGET>(this);
|
|
33
33
|
return reinterpret_cast<const TARGET &>(*this);
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
class Binder;
|
|
38
38
|
class BoundFunctionExpression;
|
|
39
|
-
class
|
|
39
|
+
class LogicalDependencyList;
|
|
40
40
|
class ScalarFunctionCatalogEntry;
|
|
41
41
|
|
|
42
42
|
struct FunctionStatisticsInput {
|
|
@@ -61,7 +61,7 @@ typedef unique_ptr<FunctionLocalState> (*init_local_state_t)(ExpressionState &st
|
|
|
61
61
|
const BoundFunctionExpression &expr,
|
|
62
62
|
FunctionData *bind_data);
|
|
63
63
|
//! The type to add the dependencies of this BoundFunctionExpression to the set of dependencies
|
|
64
|
-
typedef void (*dependency_function_t)(BoundFunctionExpression &expr,
|
|
64
|
+
typedef void (*dependency_function_t)(BoundFunctionExpression &expr, LogicalDependencyList &dependencies);
|
|
65
65
|
//! The type to propagate statistics for this scalar function
|
|
66
66
|
typedef unique_ptr<BaseStatistics> (*function_statistics_t)(ClientContext &context, FunctionStatisticsInput &input);
|
|
67
67
|
//! The type to bind lambda-specific parameter types
|
|
@@ -71,7 +71,7 @@ typedef void (*function_serialize_t)(Serializer &serializer, const optional_ptr<
|
|
|
71
71
|
const ScalarFunction &function);
|
|
72
72
|
typedef unique_ptr<FunctionData> (*function_deserialize_t)(Deserializer &deserializer, ScalarFunction &function);
|
|
73
73
|
|
|
74
|
-
class ScalarFunction : public BaseScalarFunction {
|
|
74
|
+
class ScalarFunction : public BaseScalarFunction { // NOLINT: work-around bug in clang-tidy
|
|
75
75
|
public:
|
|
76
76
|
DUCKDB_API ScalarFunction(string name, vector<LogicalType> arguments, LogicalType return_type,
|
|
77
77
|
scalar_function_t function, bind_scalar_function_t bind = nullptr,
|
|
@@ -135,7 +135,7 @@ public:
|
|
|
135
135
|
|
|
136
136
|
public:
|
|
137
137
|
template <class OP>
|
|
138
|
-
static scalar_function_t GetScalarUnaryFunction(LogicalType type) {
|
|
138
|
+
static scalar_function_t GetScalarUnaryFunction(const LogicalType &type) {
|
|
139
139
|
scalar_function_t function;
|
|
140
140
|
switch (type.id()) {
|
|
141
141
|
case LogicalTypeId::TINYINT:
|
|
@@ -181,7 +181,7 @@ public:
|
|
|
181
181
|
}
|
|
182
182
|
|
|
183
183
|
template <class TR, class OP>
|
|
184
|
-
static scalar_function_t GetScalarUnaryFunctionFixedReturn(LogicalType type) {
|
|
184
|
+
static scalar_function_t GetScalarUnaryFunctionFixedReturn(const LogicalType &type) {
|
|
185
185
|
scalar_function_t function;
|
|
186
186
|
switch (type.id()) {
|
|
187
187
|
case LogicalTypeId::TINYINT:
|
|
@@ -35,21 +35,21 @@ enum class ArrowDateTimeType : uint8_t {
|
|
|
35
35
|
class ArrowType {
|
|
36
36
|
public:
|
|
37
37
|
//! From a DuckDB type
|
|
38
|
-
ArrowType(LogicalType type_p)
|
|
38
|
+
ArrowType(LogicalType type_p) // NOLINT: allow implicit conversion
|
|
39
39
|
: type(std::move(type_p)), size_type(ArrowVariableSizeType::NORMAL),
|
|
40
40
|
date_time_precision(ArrowDateTimeType::DAYS) {};
|
|
41
41
|
|
|
42
42
|
//! From a DuckDB type + fixed_size
|
|
43
|
-
ArrowType(LogicalType type_p, idx_t fixed_size_p)
|
|
43
|
+
ArrowType(LogicalType type_p, idx_t fixed_size_p) // NOLINT: work-around bug in clang-tidy
|
|
44
44
|
: type(std::move(type_p)), size_type(ArrowVariableSizeType::FIXED_SIZE),
|
|
45
45
|
date_time_precision(ArrowDateTimeType::DAYS), fixed_size(fixed_size_p) {};
|
|
46
46
|
|
|
47
47
|
//! From a DuckDB type + variable size type
|
|
48
|
-
ArrowType(LogicalType type_p, ArrowVariableSizeType size_type_p)
|
|
48
|
+
ArrowType(LogicalType type_p, ArrowVariableSizeType size_type_p) // NOLINT: work-around bug in clang-tidy
|
|
49
49
|
: type(std::move(type_p)), size_type(size_type_p), date_time_precision(ArrowDateTimeType::DAYS) {};
|
|
50
50
|
|
|
51
51
|
//! From a DuckDB type + datetime type
|
|
52
|
-
ArrowType(LogicalType type_p, ArrowDateTimeType date_time_precision_p)
|
|
52
|
+
ArrowType(LogicalType type_p, ArrowDateTimeType date_time_precision_p) // NOLINT: work-around bug in clang-tidy
|
|
53
53
|
: type(std::move(type_p)), size_type(ArrowVariableSizeType::NORMAL),
|
|
54
54
|
date_time_precision(date_time_precision_p) {};
|
|
55
55
|
|
|
@@ -82,7 +82,7 @@ public:
|
|
|
82
82
|
struct ArrowScanLocalState;
|
|
83
83
|
struct ArrowArrayScanState {
|
|
84
84
|
public:
|
|
85
|
-
ArrowArrayScanState(ArrowScanLocalState &state);
|
|
85
|
+
explicit ArrowArrayScanState(ArrowScanLocalState &state);
|
|
86
86
|
|
|
87
87
|
public:
|
|
88
88
|
ArrowScanLocalState &state;
|
|
@@ -146,7 +146,7 @@ public:
|
|
|
146
146
|
if (it == array_states.end()) {
|
|
147
147
|
auto child_p = make_uniq<ArrowArrayScanState>(*this);
|
|
148
148
|
auto &child = *child_p;
|
|
149
|
-
array_states.emplace(
|
|
149
|
+
array_states.emplace(child_idx, std::move(child_p));
|
|
150
150
|
return child;
|
|
151
151
|
}
|
|
152
152
|
return *it->second;
|
|
@@ -30,8 +30,6 @@ public:
|
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
struct BaseCSVData : public TableFunctionData {
|
|
33
|
-
virtual ~BaseCSVData() {
|
|
34
|
-
}
|
|
35
33
|
//! The file path of the CSV file to read or write
|
|
36
34
|
vector<string> files;
|
|
37
35
|
//! The CSV reader options
|
|
@@ -55,7 +53,7 @@ struct WriteCSVData : public BaseCSVData {
|
|
|
55
53
|
//! The newline string to write
|
|
56
54
|
string newline = "\n";
|
|
57
55
|
//! The size of the CSV file (in bytes) that we buffer before we flush it to disk
|
|
58
|
-
idx_t flush_size =
|
|
56
|
+
idx_t flush_size = 4096ULL * 8ULL;
|
|
59
57
|
//! For each byte whether or not the CSV file requires quotes when containing the byte
|
|
60
58
|
unsafe_unique_array<bool> requires_quotes;
|
|
61
59
|
};
|
|
@@ -32,7 +32,7 @@ struct TableScanBindData : public TableFunctionData {
|
|
|
32
32
|
|
|
33
33
|
public:
|
|
34
34
|
bool Equals(const FunctionData &other_p) const override {
|
|
35
|
-
auto &other = (
|
|
35
|
+
auto &other = other_p.Cast<TableScanBindData>();
|
|
36
36
|
return &other.table == &table && result_ids == other.result_ids;
|
|
37
37
|
}
|
|
38
38
|
};
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
namespace duckdb {
|
|
22
22
|
|
|
23
23
|
class BaseStatistics;
|
|
24
|
-
class
|
|
24
|
+
class LogicalDependencyList;
|
|
25
25
|
class LogicalGet;
|
|
26
26
|
class TableFilterSet;
|
|
27
27
|
class TableCatalogEntry;
|
|
@@ -36,7 +36,7 @@ struct TableFunctionInfo {
|
|
|
36
36
|
}
|
|
37
37
|
template <class TARGET>
|
|
38
38
|
const TARGET &Cast() const {
|
|
39
|
-
|
|
39
|
+
DynamicCastCheck<TARGET>(this);
|
|
40
40
|
return reinterpret_cast<const TARGET &>(*this);
|
|
41
41
|
}
|
|
42
42
|
};
|
|
@@ -60,7 +60,7 @@ public:
|
|
|
60
60
|
}
|
|
61
61
|
template <class TARGET>
|
|
62
62
|
const TARGET &Cast() const {
|
|
63
|
-
|
|
63
|
+
DynamicCastCheck<TARGET>(this);
|
|
64
64
|
return reinterpret_cast<const TARGET &>(*this);
|
|
65
65
|
}
|
|
66
66
|
};
|
|
@@ -75,7 +75,7 @@ struct LocalTableFunctionState {
|
|
|
75
75
|
}
|
|
76
76
|
template <class TARGET>
|
|
77
77
|
const TARGET &Cast() const {
|
|
78
|
-
|
|
78
|
+
DynamicCastCheck<TARGET>(this);
|
|
79
79
|
return reinterpret_cast<const TARGET &>(*this);
|
|
80
80
|
}
|
|
81
81
|
};
|
|
@@ -83,9 +83,9 @@ struct LocalTableFunctionState {
|
|
|
83
83
|
struct TableFunctionBindInput {
|
|
84
84
|
TableFunctionBindInput(vector<Value> &inputs, named_parameter_map_t &named_parameters,
|
|
85
85
|
vector<LogicalType> &input_table_types, vector<string> &input_table_names,
|
|
86
|
-
optional_ptr<TableFunctionInfo> info)
|
|
86
|
+
optional_ptr<TableFunctionInfo> info, optional_ptr<Binder> binder)
|
|
87
87
|
: inputs(inputs), named_parameters(named_parameters), input_table_types(input_table_types),
|
|
88
|
-
input_table_names(input_table_names), info(info) {
|
|
88
|
+
input_table_names(input_table_names), info(info), binder(binder) {
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
vector<Value> &inputs;
|
|
@@ -93,6 +93,7 @@ struct TableFunctionBindInput {
|
|
|
93
93
|
vector<LogicalType> &input_table_types;
|
|
94
94
|
vector<string> &input_table_names;
|
|
95
95
|
optional_ptr<TableFunctionInfo> info;
|
|
96
|
+
optional_ptr<Binder> binder;
|
|
96
97
|
};
|
|
97
98
|
|
|
98
99
|
struct TableFunctionInitInput {
|
|
@@ -134,7 +135,7 @@ public:
|
|
|
134
135
|
optional_ptr<GlobalTableFunctionState> global_state;
|
|
135
136
|
};
|
|
136
137
|
|
|
137
|
-
enum ScanType { TABLE, PARQUET };
|
|
138
|
+
enum class ScanType : uint8_t { TABLE, PARQUET };
|
|
138
139
|
|
|
139
140
|
struct BindInfo {
|
|
140
141
|
public:
|
|
@@ -145,11 +146,11 @@ public:
|
|
|
145
146
|
ScanType type;
|
|
146
147
|
optional_ptr<TableCatalogEntry> table;
|
|
147
148
|
|
|
148
|
-
void InsertOption(const string &name, Value value) {
|
|
149
|
+
void InsertOption(const string &name, Value value) { // NOLINT: work-around bug in clang-tidy
|
|
149
150
|
if (options.find(name) != options.end()) {
|
|
150
151
|
throw InternalException("This option already exists");
|
|
151
152
|
}
|
|
152
|
-
options
|
|
153
|
+
options.emplace(name, std::move(value));
|
|
153
154
|
}
|
|
154
155
|
template <class T>
|
|
155
156
|
T GetOption(const string &name) {
|
|
@@ -199,7 +200,7 @@ typedef BindInfo (*table_function_get_bind_info_t)(const optional_ptr<FunctionDa
|
|
|
199
200
|
|
|
200
201
|
typedef double (*table_function_progress_t)(ClientContext &context, const FunctionData *bind_data,
|
|
201
202
|
const GlobalTableFunctionState *global_state);
|
|
202
|
-
typedef void (*table_function_dependency_t)(
|
|
203
|
+
typedef void (*table_function_dependency_t)(LogicalDependencyList &dependencies, const FunctionData *bind_data);
|
|
203
204
|
typedef unique_ptr<NodeStatistics> (*table_function_cardinality_t)(ClientContext &context,
|
|
204
205
|
const FunctionData *bind_data);
|
|
205
206
|
typedef void (*table_function_pushdown_complex_filter_t)(ClientContext &context, LogicalGet &get,
|
|
@@ -211,7 +212,7 @@ typedef void (*table_function_serialize_t)(Serializer &serializer, const optiona
|
|
|
211
212
|
const TableFunction &function);
|
|
212
213
|
typedef unique_ptr<FunctionData> (*table_function_deserialize_t)(Deserializer &deserializer, TableFunction &function);
|
|
213
214
|
|
|
214
|
-
class TableFunction : public SimpleNamedParameterFunction {
|
|
215
|
+
class TableFunction : public SimpleNamedParameterFunction { // NOLINT: work-around bug in clang-tidy
|
|
215
216
|
public:
|
|
216
217
|
DUCKDB_API
|
|
217
218
|
TableFunction(string name, vector<LogicalType> arguments, table_function_t function,
|