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
|
@@ -32,8 +32,8 @@ public:
|
|
|
32
32
|
//! the total elapsed time. Otherwise returns how far along the timer is
|
|
33
33
|
//! right now.
|
|
34
34
|
double Elapsed() const {
|
|
35
|
-
auto
|
|
36
|
-
return std::chrono::duration_cast<std::chrono::duration<double>>(
|
|
35
|
+
auto measured_end = finished ? end : Tick();
|
|
36
|
+
return std::chrono::duration_cast<std::chrono::duration<double>>(measured_end - start).count();
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
private:
|
package/src/duckdb/src/include/duckdb/common/progress_bar/display/terminal_progress_bar_display.hpp
CHANGED
|
@@ -27,11 +27,11 @@ private:
|
|
|
27
27
|
int32_t rendered_percentage = -1;
|
|
28
28
|
static constexpr const idx_t PARTIAL_BLOCK_COUNT = UnicodeBar::PartialBlocksCount();
|
|
29
29
|
#ifndef DUCKDB_ASCII_TREE_RENDERER
|
|
30
|
-
const char *PROGRESS_EMPTY = " ";
|
|
31
|
-
const char *const *PROGRESS_PARTIAL = UnicodeBar::PartialBlocks();
|
|
32
|
-
const char *PROGRESS_BLOCK = UnicodeBar::FullBlock();
|
|
33
|
-
const char *PROGRESS_START = "\xE2\x96\x95";
|
|
34
|
-
const char *PROGRESS_END = "\xE2\x96\x8F";
|
|
30
|
+
const char *PROGRESS_EMPTY = " "; // NOLINT
|
|
31
|
+
const char *const *PROGRESS_PARTIAL = UnicodeBar::PartialBlocks(); // NOLINT
|
|
32
|
+
const char *PROGRESS_BLOCK = UnicodeBar::FullBlock(); // NOLINT
|
|
33
|
+
const char *PROGRESS_START = "\xE2\x96\x95"; // NOLINT
|
|
34
|
+
const char *PROGRESS_END = "\xE2\x96\x8F"; // NOLINT
|
|
35
35
|
#else
|
|
36
36
|
const char *PROGRESS_EMPTY = " ";
|
|
37
37
|
const char *const PROGRESS_PARTIAL[PARTIAL_BLOCK_COUNT] = {" ", " ", " ", " ", " ", " ", " ", " "};
|
|
@@ -14,8 +14,8 @@ enum class RegexOptions : uint8_t { NONE, CASE_INSENSITIVE };
|
|
|
14
14
|
|
|
15
15
|
class Regex {
|
|
16
16
|
public:
|
|
17
|
-
DUCKDB_API Regex(const std::string &pattern, RegexOptions options = RegexOptions::NONE);
|
|
18
|
-
Regex(const char *pattern, RegexOptions options = RegexOptions::NONE) : Regex(std::string(pattern)) {
|
|
17
|
+
DUCKDB_API explicit Regex(const std::string &pattern, RegexOptions options = RegexOptions::NONE);
|
|
18
|
+
explicit Regex(const char *pattern, RegexOptions options = RegexOptions::NONE) : Regex(std::string(pattern)) {
|
|
19
19
|
}
|
|
20
20
|
const duckdb_re2::RE2 &GetRegex() const {
|
|
21
21
|
return *regex;
|
|
@@ -29,10 +29,10 @@ struct GroupMatch {
|
|
|
29
29
|
std::string text;
|
|
30
30
|
uint32_t position;
|
|
31
31
|
|
|
32
|
-
const std::string &str() const {
|
|
32
|
+
const std::string &str() const { // NOLINT
|
|
33
33
|
return text;
|
|
34
34
|
}
|
|
35
|
-
operator std::string() const {
|
|
35
|
+
operator std::string() const { // NOLINT: allow implicit cast
|
|
36
36
|
return text;
|
|
37
37
|
}
|
|
38
38
|
};
|
|
@@ -47,15 +47,15 @@ struct Match {
|
|
|
47
47
|
return groups[index];
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
std::string str(uint64_t index) {
|
|
50
|
+
std::string str(uint64_t index) { // NOLINT
|
|
51
51
|
return GetGroup(index).text;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
uint64_t position(uint64_t index) {
|
|
54
|
+
uint64_t position(uint64_t index) { // NOLINT
|
|
55
55
|
return GetGroup(index).position;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
uint64_t length(uint64_t index) {
|
|
58
|
+
uint64_t length(uint64_t index) { // NOLINT
|
|
59
59
|
return GetGroup(index).text.size();
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -17,6 +17,7 @@ class BufferedFileReader : public ReadStream {
|
|
|
17
17
|
public:
|
|
18
18
|
BufferedFileReader(FileSystem &fs, const char *path, FileLockType lock_type = FileLockType::READ_LOCK,
|
|
19
19
|
optional_ptr<FileOpener> opener = nullptr);
|
|
20
|
+
BufferedFileReader(FileSystem &fs, unique_ptr<FileHandle> handle);
|
|
20
21
|
|
|
21
22
|
FileSystem &fs;
|
|
22
23
|
unsafe_unique_array<data_t> data;
|
|
@@ -33,6 +34,8 @@ public:
|
|
|
33
34
|
return file_size;
|
|
34
35
|
}
|
|
35
36
|
|
|
37
|
+
//! Resets reading - beginning at position 0
|
|
38
|
+
void Reset();
|
|
36
39
|
void Seek(uint64_t location);
|
|
37
40
|
uint64_t CurrentOffset();
|
|
38
41
|
|
|
@@ -17,11 +17,11 @@ namespace duckdb {
|
|
|
17
17
|
|
|
18
18
|
class BufferedFileWriter : public WriteStream {
|
|
19
19
|
public:
|
|
20
|
-
static constexpr
|
|
20
|
+
static constexpr FileOpenFlags DEFAULT_OPEN_FLAGS = FileFlags::FILE_FLAGS_WRITE | FileFlags::FILE_FLAGS_FILE_CREATE;
|
|
21
21
|
|
|
22
22
|
//! Serializes to a buffer allocated by the serializer, will expand when
|
|
23
23
|
//! writing past the initial threshold
|
|
24
|
-
DUCKDB_API BufferedFileWriter(FileSystem &fs, const string &path,
|
|
24
|
+
DUCKDB_API BufferedFileWriter(FileSystem &fs, const string &path, FileOpenFlags open_flags = DEFAULT_OPEN_FLAGS);
|
|
25
25
|
|
|
26
26
|
FileSystem &fs;
|
|
27
27
|
string path;
|
|
@@ -23,7 +23,7 @@ struct DeserializationData {
|
|
|
23
23
|
stack<reference<DatabaseInstance>> databases;
|
|
24
24
|
stack<idx_t> enums;
|
|
25
25
|
stack<reference<bound_parameter_map_t>> parameter_data;
|
|
26
|
-
stack<
|
|
26
|
+
stack<const_reference<LogicalType>> types;
|
|
27
27
|
|
|
28
28
|
template <class T>
|
|
29
29
|
void Set(T entry) = delete;
|
|
@@ -112,7 +112,7 @@ inline void DeserializationData::Unset<CatalogType>() {
|
|
|
112
112
|
|
|
113
113
|
template <>
|
|
114
114
|
inline void DeserializationData::Set(ClientContext &context) {
|
|
115
|
-
contexts.
|
|
115
|
+
contexts.emplace(context);
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
template <>
|
|
@@ -129,7 +129,7 @@ inline void DeserializationData::Unset<ClientContext>() {
|
|
|
129
129
|
|
|
130
130
|
template <>
|
|
131
131
|
inline void DeserializationData::Set(DatabaseInstance &db) {
|
|
132
|
-
databases.
|
|
132
|
+
databases.emplace(db);
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
template <>
|
|
@@ -146,7 +146,7 @@ inline void DeserializationData::Unset<DatabaseInstance>() {
|
|
|
146
146
|
|
|
147
147
|
template <>
|
|
148
148
|
inline void DeserializationData::Set(bound_parameter_map_t &context) {
|
|
149
|
-
parameter_data.
|
|
149
|
+
parameter_data.emplace(context);
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
template <>
|
|
@@ -167,13 +167,24 @@ inline void DeserializationData::Set(LogicalType &type) {
|
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
template <>
|
|
170
|
-
inline
|
|
170
|
+
inline void DeserializationData::Unset<LogicalType>() {
|
|
171
|
+
AssertNotEmpty(types);
|
|
172
|
+
types.pop();
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
template <>
|
|
176
|
+
inline void DeserializationData::Set(const LogicalType &type) {
|
|
177
|
+
types.emplace(type);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
template <>
|
|
181
|
+
inline const LogicalType &DeserializationData::Get() {
|
|
171
182
|
AssertNotEmpty(types);
|
|
172
183
|
return types.top();
|
|
173
184
|
}
|
|
174
185
|
|
|
175
186
|
template <>
|
|
176
|
-
inline void DeserializationData::Unset<LogicalType>() {
|
|
187
|
+
inline void DeserializationData::Unset<const LogicalType>() {
|
|
177
188
|
AssertNotEmpty(types);
|
|
178
189
|
types.pop();
|
|
179
190
|
}
|
|
@@ -114,6 +114,18 @@ public:
|
|
|
114
114
|
OnOptionalPropertyEnd(true);
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
+
template <typename T>
|
|
118
|
+
inline void ReadPropertyWithDefault(const field_id_t field_id, const char *tag, CSVOption<T> &ret,
|
|
119
|
+
T &&default_value) {
|
|
120
|
+
if (!OnOptionalPropertyBegin(field_id, tag)) {
|
|
121
|
+
ret = std::forward<T>(default_value);
|
|
122
|
+
OnOptionalPropertyEnd(false);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
ret = Read<T>();
|
|
126
|
+
OnOptionalPropertyEnd(true);
|
|
127
|
+
}
|
|
128
|
+
|
|
117
129
|
// Special case:
|
|
118
130
|
// Read into an existing data_ptr_t
|
|
119
131
|
inline void ReadProperty(const field_id_t field_id, const char *tag, data_ptr_t ret, idx_t count) {
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
#include "duckdb/common/shared_ptr.hpp"
|
|
12
12
|
#include "duckdb/common/unique_ptr.hpp"
|
|
13
13
|
#include "duckdb/common/optional_ptr.hpp"
|
|
14
|
+
#include "duckdb/common/optional_idx.hpp"
|
|
14
15
|
|
|
15
16
|
namespace duckdb {
|
|
16
17
|
|
|
@@ -24,6 +25,7 @@ const field_id_t MESSAGE_TERMINATOR_FIELD_ID = 0xFFFF;
|
|
|
24
25
|
template <class...>
|
|
25
26
|
using void_t = void;
|
|
26
27
|
|
|
28
|
+
// NOLINTBEGIN: match STL case
|
|
27
29
|
// Check for anything implementing a `void Serialize(Serializer &Serializer)` method
|
|
28
30
|
template <typename T, typename = T>
|
|
29
31
|
struct has_serialize : std::false_type {};
|
|
@@ -145,6 +147,8 @@ struct is_atomic<std::atomic<T>> : std::true_type {
|
|
|
145
147
|
typedef T TYPE;
|
|
146
148
|
};
|
|
147
149
|
|
|
150
|
+
// NOLINTEND
|
|
151
|
+
|
|
148
152
|
struct SerializationDefaultValue {
|
|
149
153
|
|
|
150
154
|
template <typename T = void>
|
|
@@ -258,6 +262,16 @@ struct SerializationDefaultValue {
|
|
|
258
262
|
static inline bool IsDefault(const typename std::enable_if<std::is_same<T, string>::value, T>::type &value) {
|
|
259
263
|
return value.empty();
|
|
260
264
|
}
|
|
265
|
+
|
|
266
|
+
template <typename T = void>
|
|
267
|
+
static inline typename std::enable_if<std::is_same<T, optional_idx>::value, T>::type GetDefault() {
|
|
268
|
+
return optional_idx();
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
template <typename T = void>
|
|
272
|
+
static inline bool IsDefault(const typename std::enable_if<std::is_same<T, optional_idx>::value, T>::type &value) {
|
|
273
|
+
return !value.IsValid();
|
|
274
|
+
}
|
|
261
275
|
};
|
|
262
276
|
|
|
263
277
|
} // namespace duckdb
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
#include "duckdb/common/unordered_set.hpp"
|
|
18
18
|
#include "duckdb/common/optional_idx.hpp"
|
|
19
19
|
#include "duckdb/common/value_operations/value_operations.hpp"
|
|
20
|
+
#include "duckdb/execution/operator/csv_scanner/csv_option.hpp"
|
|
20
21
|
|
|
21
22
|
namespace duckdb {
|
|
22
23
|
|
|
@@ -86,6 +87,21 @@ public:
|
|
|
86
87
|
OnOptionalPropertyEnd(true);
|
|
87
88
|
}
|
|
88
89
|
|
|
90
|
+
// Specialization for Value (default Value comparison throws when comparing nulls)
|
|
91
|
+
template <class T>
|
|
92
|
+
void WritePropertyWithDefault(const field_id_t field_id, const char *tag, const CSVOption<T> &value,
|
|
93
|
+
const T &&default_value) {
|
|
94
|
+
// If current value is default, don't write it
|
|
95
|
+
if (!serialize_default_values && (value == default_value)) {
|
|
96
|
+
OnOptionalPropertyBegin(field_id, tag, false);
|
|
97
|
+
OnOptionalPropertyEnd(false);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
OnOptionalPropertyBegin(field_id, tag, true);
|
|
101
|
+
WriteValue(value.GetValue());
|
|
102
|
+
OnOptionalPropertyEnd(true);
|
|
103
|
+
}
|
|
104
|
+
|
|
89
105
|
// Special case: data_ptr_T
|
|
90
106
|
void WriteProperty(const field_id_t field_id, const char *tag, const_data_ptr_t ptr, idx_t count) {
|
|
91
107
|
OnPropertyBegin(field_id, tag);
|
|
@@ -46,6 +46,8 @@ using duckdb::make_unsafe_uniq_array;
|
|
|
46
46
|
using duckdb::FastMemcpy;
|
|
47
47
|
using duckdb::FastMemcmp;
|
|
48
48
|
|
|
49
|
+
// NOLINTBEGIN
|
|
50
|
+
|
|
49
51
|
enum {
|
|
50
52
|
// Partitions below this size are sorted using insertion sort.
|
|
51
53
|
insertion_sort_threshold = 24,
|
|
@@ -704,5 +706,6 @@ inline void pdqsort_branchless(const PDQIterator &begin, const PDQIterator &end,
|
|
|
704
706
|
}
|
|
705
707
|
pdqsort_loop<true>(begin, end, constants, log2(end - begin));
|
|
706
708
|
}
|
|
709
|
+
// NOLINTEND
|
|
707
710
|
|
|
708
711
|
} // namespace duckdb_pdqsort
|
|
@@ -148,8 +148,8 @@ public:
|
|
|
148
148
|
|
|
149
149
|
//! Join multiple items of container with given size, transformed to string
|
|
150
150
|
//! using function, into one string using the given separator
|
|
151
|
-
template <typename C, typename S, typename
|
|
152
|
-
static string Join(const C &input, S count, const string &separator,
|
|
151
|
+
template <typename C, typename S, typename FUNC>
|
|
152
|
+
static string Join(const C &input, S count, const string &separator, FUNC f) {
|
|
153
153
|
// The result
|
|
154
154
|
std::string result;
|
|
155
155
|
|
|
@@ -188,8 +188,8 @@ public:
|
|
|
188
188
|
DUCKDB_API static bool CILessThan(const string &l1, const string &l2);
|
|
189
189
|
|
|
190
190
|
//! Format a string using printf semantics
|
|
191
|
-
template <typename...
|
|
192
|
-
static string Format(const string fmt_str,
|
|
191
|
+
template <typename... ARGS>
|
|
192
|
+
static string Format(const string fmt_str, ARGS... params) {
|
|
193
193
|
return Exception::ConstructMessage(fmt_str, params...);
|
|
194
194
|
}
|
|
195
195
|
|
|
@@ -39,36 +39,36 @@ public:
|
|
|
39
39
|
};
|
|
40
40
|
|
|
41
41
|
struct TreeRendererConfig {
|
|
42
|
-
void
|
|
43
|
-
|
|
42
|
+
void EnableDetailed() {
|
|
43
|
+
max_extra_lines = 1000;
|
|
44
44
|
detailed = true;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
void
|
|
48
|
-
|
|
47
|
+
void EnableStandard() {
|
|
48
|
+
max_extra_lines = 30;
|
|
49
49
|
detailed = false;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
idx_t
|
|
53
|
-
idx_t
|
|
54
|
-
idx_t
|
|
55
|
-
idx_t
|
|
52
|
+
idx_t maximum_render_width = 240;
|
|
53
|
+
idx_t node_render_width = 29;
|
|
54
|
+
idx_t minimum_render_width = 15;
|
|
55
|
+
idx_t max_extra_lines = 30;
|
|
56
56
|
bool detailed = false;
|
|
57
57
|
|
|
58
58
|
#ifndef DUCKDB_ASCII_TREE_RENDERER
|
|
59
|
-
const char *LTCORNER = "\342\224\214"; // "┌";
|
|
60
|
-
const char *RTCORNER = "\342\224\220"; // "┐";
|
|
61
|
-
const char *LDCORNER = "\342\224\224"; // "└";
|
|
62
|
-
const char *RDCORNER = "\342\224\230"; // "┘";
|
|
63
|
-
|
|
64
|
-
const char *MIDDLE = "\342\224\274"; // "┼";
|
|
65
|
-
const char *TMIDDLE = "\342\224\254"; // "┬";
|
|
66
|
-
const char *LMIDDLE = "\342\224\234"; // "├";
|
|
67
|
-
const char *RMIDDLE = "\342\224\244"; // "┤";
|
|
68
|
-
const char *DMIDDLE = "\342\224\264"; // "┴";
|
|
69
|
-
|
|
70
|
-
const char *VERTICAL = "\342\224\202"; // "│";
|
|
71
|
-
const char *HORIZONTAL = "\342\224\200"; // "─";
|
|
59
|
+
const char *LTCORNER = "\342\224\214"; // NOLINT "┌";
|
|
60
|
+
const char *RTCORNER = "\342\224\220"; // NOLINT "┐";
|
|
61
|
+
const char *LDCORNER = "\342\224\224"; // NOLINT "└";
|
|
62
|
+
const char *RDCORNER = "\342\224\230"; // NOLINT "┘";
|
|
63
|
+
|
|
64
|
+
const char *MIDDLE = "\342\224\274"; // NOLINT "┼";
|
|
65
|
+
const char *TMIDDLE = "\342\224\254"; // NOLINT "┬";
|
|
66
|
+
const char *LMIDDLE = "\342\224\234"; // NOLINT "├";
|
|
67
|
+
const char *RMIDDLE = "\342\224\244"; // NOLINT "┤";
|
|
68
|
+
const char *DMIDDLE = "\342\224\264"; // NOLINT "┴";
|
|
69
|
+
|
|
70
|
+
const char *VERTICAL = "\342\224\202"; // NOLINT "│";
|
|
71
|
+
const char *HORIZONTAL = "\342\224\200"; // NOLINT "─";
|
|
72
72
|
#else
|
|
73
73
|
// ASCII version
|
|
74
74
|
const char *LTCORNER = "<";
|
|
@@ -89,7 +89,7 @@ struct TreeRendererConfig {
|
|
|
89
89
|
|
|
90
90
|
class TreeRenderer {
|
|
91
91
|
public:
|
|
92
|
-
explicit TreeRenderer(TreeRendererConfig config_p = TreeRendererConfig()) : config(
|
|
92
|
+
explicit TreeRenderer(TreeRendererConfig config_p = TreeRendererConfig()) : config(config_p) {
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
string ToString(const LogicalOperator &op);
|
|
@@ -105,10 +105,10 @@ public:
|
|
|
105
105
|
void ToStream(RenderTree &root, std::ostream &ss);
|
|
106
106
|
|
|
107
107
|
void EnableDetailed() {
|
|
108
|
-
config.
|
|
108
|
+
config.EnableDetailed();
|
|
109
109
|
}
|
|
110
110
|
void EnableStandard() {
|
|
111
|
-
config.
|
|
111
|
+
config.EnableStandard();
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
private:
|
|
@@ -144,7 +144,6 @@ private:
|
|
|
144
144
|
|
|
145
145
|
template <class T>
|
|
146
146
|
unique_ptr<RenderTree> CreateRenderTree(const T &op);
|
|
147
|
-
string ExtractExpressionsRecursive(ExpressionInfo &states);
|
|
148
147
|
};
|
|
149
148
|
|
|
150
149
|
} // namespace duckdb
|
|
@@ -37,27 +37,27 @@ typedef idx_t column_t;
|
|
|
37
37
|
typedef idx_t storage_t;
|
|
38
38
|
|
|
39
39
|
template <class SRC>
|
|
40
|
-
data_ptr_t data_ptr_cast(SRC *src) {
|
|
40
|
+
data_ptr_t data_ptr_cast(SRC *src) { // NOLINT: naming
|
|
41
41
|
return reinterpret_cast<data_ptr_t>(src);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
template <class SRC>
|
|
45
|
-
const_data_ptr_t const_data_ptr_cast(const SRC *src) {
|
|
45
|
+
const_data_ptr_t const_data_ptr_cast(const SRC *src) { // NOLINT: naming
|
|
46
46
|
return reinterpret_cast<const_data_ptr_t>(src);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
template <class SRC>
|
|
50
|
-
char *char_ptr_cast(SRC *src) {
|
|
50
|
+
char *char_ptr_cast(SRC *src) { // NOLINT: naming
|
|
51
51
|
return reinterpret_cast<char *>(src);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
template <class SRC>
|
|
55
|
-
const char *const_char_ptr_cast(const SRC *src) {
|
|
55
|
+
const char *const_char_ptr_cast(const SRC *src) { // NOLINT: naming
|
|
56
56
|
return reinterpret_cast<const char *>(src);
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
template <class SRC>
|
|
60
|
-
const unsigned char *const_uchar_ptr_cast(const SRC *src) {
|
|
60
|
+
const unsigned char *const_uchar_ptr_cast(const SRC *src) { // NOLINT: naming
|
|
61
61
|
return reinterpret_cast<const unsigned char *>(src);
|
|
62
62
|
}
|
|
63
63
|
|
|
@@ -356,8 +356,7 @@ struct UhugeintToStringCast {
|
|
|
356
356
|
string_t result = StringVector::EmptyString(vector, str.length());
|
|
357
357
|
auto data = result.GetDataWriteable();
|
|
358
358
|
|
|
359
|
-
// null-termination not required
|
|
360
|
-
memcpy(data, str.data(), str.length());
|
|
359
|
+
memcpy(data, str.data(), str.length()); // NOLINT: null-termination not required
|
|
361
360
|
result.Finalize();
|
|
362
361
|
return result;
|
|
363
362
|
}
|
|
@@ -28,7 +28,7 @@ public:
|
|
|
28
28
|
//! Constructs an in-memory column data collection from an allocator
|
|
29
29
|
DUCKDB_API ColumnDataCollection(Allocator &allocator, vector<LogicalType> types);
|
|
30
30
|
//! Constructs an empty (but valid) in-memory column data collection from an allocator
|
|
31
|
-
DUCKDB_API ColumnDataCollection(Allocator &allocator);
|
|
31
|
+
DUCKDB_API explicit ColumnDataCollection(Allocator &allocator);
|
|
32
32
|
//! Constructs a buffer-managed column data collection
|
|
33
33
|
DUCKDB_API ColumnDataCollection(BufferManager &buffer_manager, vector<LogicalType> types);
|
|
34
34
|
//! Constructs either an in-memory or a buffer-managed column data collection
|
|
@@ -183,39 +183,39 @@ private:
|
|
|
183
183
|
//! The ColumnDataRowCollection represents a set of materialized rows, as obtained from the ColumnDataCollection
|
|
184
184
|
class ColumnDataRowCollection {
|
|
185
185
|
public:
|
|
186
|
-
DUCKDB_API ColumnDataRowCollection(const ColumnDataCollection &collection);
|
|
186
|
+
DUCKDB_API explicit ColumnDataRowCollection(const ColumnDataCollection &collection);
|
|
187
187
|
|
|
188
188
|
public:
|
|
189
189
|
DUCKDB_API Value GetValue(idx_t column, idx_t index) const;
|
|
190
190
|
|
|
191
191
|
public:
|
|
192
192
|
// container API
|
|
193
|
-
bool empty() const {
|
|
193
|
+
bool empty() const { // NOLINT: match stl API
|
|
194
194
|
return rows.empty();
|
|
195
195
|
}
|
|
196
|
-
idx_t size() const {
|
|
196
|
+
idx_t size() const { // NOLINT: match stl API
|
|
197
197
|
return rows.size();
|
|
198
198
|
}
|
|
199
199
|
|
|
200
200
|
DUCKDB_API ColumnDataRow &operator[](idx_t i);
|
|
201
201
|
DUCKDB_API const ColumnDataRow &operator[](idx_t i) const;
|
|
202
202
|
|
|
203
|
-
vector<ColumnDataRow>::iterator begin() {
|
|
203
|
+
vector<ColumnDataRow>::iterator begin() { // NOLINT: match stl API
|
|
204
204
|
return rows.begin();
|
|
205
205
|
}
|
|
206
|
-
vector<ColumnDataRow>::iterator end() {
|
|
206
|
+
vector<ColumnDataRow>::iterator end() { // NOLINT: match stl API
|
|
207
207
|
return rows.end();
|
|
208
208
|
}
|
|
209
|
-
vector<ColumnDataRow>::const_iterator cbegin() const {
|
|
209
|
+
vector<ColumnDataRow>::const_iterator cbegin() const { // NOLINT: match stl API
|
|
210
210
|
return rows.cbegin();
|
|
211
211
|
}
|
|
212
|
-
vector<ColumnDataRow>::const_iterator cend() const {
|
|
212
|
+
vector<ColumnDataRow>::const_iterator cend() const { // NOLINT: match stl API
|
|
213
213
|
return rows.cend();
|
|
214
214
|
}
|
|
215
|
-
vector<ColumnDataRow>::const_iterator begin() const {
|
|
215
|
+
vector<ColumnDataRow>::const_iterator begin() const { // NOLINT: match stl API
|
|
216
216
|
return rows.begin();
|
|
217
217
|
}
|
|
218
|
-
vector<ColumnDataRow>::const_iterator end() const {
|
|
218
|
+
vector<ColumnDataRow>::const_iterator end() const { // NOLINT: match stl API
|
|
219
219
|
return rows.end();
|
|
220
220
|
}
|
|
221
221
|
|
package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection_iterators.hpp
CHANGED
|
@@ -43,17 +43,17 @@ private:
|
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
public:
|
|
46
|
-
ColumnDataChunkIterator begin() {
|
|
46
|
+
ColumnDataChunkIterator begin() { // NOLINT: match stl API
|
|
47
47
|
return ColumnDataChunkIterator(&collection, column_ids);
|
|
48
48
|
}
|
|
49
|
-
ColumnDataChunkIterator end() {
|
|
49
|
+
ColumnDataChunkIterator end() { // NOLINT: match stl API
|
|
50
50
|
return ColumnDataChunkIterator(nullptr, vector<column_t>());
|
|
51
51
|
}
|
|
52
52
|
};
|
|
53
53
|
|
|
54
54
|
class ColumnDataRowIterationHelper {
|
|
55
55
|
public:
|
|
56
|
-
DUCKDB_API ColumnDataRowIterationHelper(const ColumnDataCollection &collection);
|
|
56
|
+
DUCKDB_API explicit ColumnDataRowIterationHelper(const ColumnDataCollection &collection);
|
|
57
57
|
|
|
58
58
|
private:
|
|
59
59
|
const ColumnDataCollection &collection;
|
|
@@ -79,8 +79,8 @@ private:
|
|
|
79
79
|
};
|
|
80
80
|
|
|
81
81
|
public:
|
|
82
|
-
DUCKDB_API ColumnDataRowIterator begin();
|
|
83
|
-
DUCKDB_API ColumnDataRowIterator end();
|
|
82
|
+
DUCKDB_API ColumnDataRowIterator begin(); // NOLINT: match stl API
|
|
83
|
+
DUCKDB_API ColumnDataRowIterator end(); // NOLINT: match stl API
|
|
84
84
|
};
|
|
85
85
|
|
|
86
86
|
} // namespace duckdb
|
|
@@ -11,14 +11,13 @@ class Index;
|
|
|
11
11
|
|
|
12
12
|
class ConflictInfo {
|
|
13
13
|
public:
|
|
14
|
-
ConflictInfo(const unordered_set<column_t> &column_ids, bool only_check_unique = true)
|
|
14
|
+
explicit ConflictInfo(const unordered_set<column_t> &column_ids, bool only_check_unique = true)
|
|
15
15
|
: column_ids(column_ids), only_check_unique(only_check_unique) {
|
|
16
16
|
}
|
|
17
17
|
const unordered_set<column_t> &column_ids;
|
|
18
18
|
|
|
19
19
|
public:
|
|
20
20
|
bool ConflictTargetMatches(Index &index) const;
|
|
21
|
-
void VerifyAllConflictsMeetCondition() const;
|
|
22
21
|
|
|
23
22
|
public:
|
|
24
23
|
bool only_check_unique = true;
|
|
@@ -131,7 +131,7 @@ public:
|
|
|
131
131
|
|
|
132
132
|
//! Slice all Vectors from other.data[i] to data[i + 'col_offset']
|
|
133
133
|
//! Turning all Vectors into Dictionary Vectors, using 'sel'
|
|
134
|
-
DUCKDB_API void Slice(DataChunk &other, const SelectionVector &sel, idx_t count, idx_t col_offset = 0);
|
|
134
|
+
DUCKDB_API void Slice(const DataChunk &other, const SelectionVector &sel, idx_t count, idx_t col_offset = 0);
|
|
135
135
|
|
|
136
136
|
//! Slice a DataChunk from "offset" to "offset + count"
|
|
137
137
|
DUCKDB_API void Slice(idx_t offset, idx_t count);
|
|
@@ -150,7 +150,7 @@ public:
|
|
|
150
150
|
DUCKDB_API void Hash(vector<idx_t> &column_ids, Vector &result);
|
|
151
151
|
|
|
152
152
|
//! Returns a list of types of the vectors of this data chunk
|
|
153
|
-
DUCKDB_API vector<LogicalType> GetTypes();
|
|
153
|
+
DUCKDB_API vector<LogicalType> GetTypes() const;
|
|
154
154
|
|
|
155
155
|
//! Converts this DataChunk to a printable string representation
|
|
156
156
|
DUCKDB_API string ToString() const;
|
|
@@ -14,13 +14,13 @@
|
|
|
14
14
|
namespace duckdb {
|
|
15
15
|
|
|
16
16
|
struct string_t;
|
|
17
|
-
struct interval_t;
|
|
17
|
+
struct interval_t; // NOLINT
|
|
18
18
|
|
|
19
19
|
// efficient hash function that maximizes the avalanche effect and minimizes
|
|
20
20
|
// bias
|
|
21
21
|
// see: https://nullprogram.com/blog/2018/07/31/
|
|
22
22
|
|
|
23
|
-
inline hash_t
|
|
23
|
+
inline hash_t MurmurHash64(uint64_t x) {
|
|
24
24
|
x ^= x >> 32;
|
|
25
25
|
x *= 0xd6e8feb86659fd93U;
|
|
26
26
|
x ^= x >> 32;
|
|
@@ -29,13 +29,13 @@ inline hash_t murmurhash64(uint64_t x) {
|
|
|
29
29
|
return x;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
inline hash_t
|
|
33
|
-
return
|
|
32
|
+
inline hash_t MurmurHash32(uint32_t x) {
|
|
33
|
+
return MurmurHash64(x);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
template <class T>
|
|
37
37
|
hash_t Hash(T value) {
|
|
38
|
-
return
|
|
38
|
+
return MurmurHash32(value);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
//! Combine two hashes by XORing them
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
|
|
13
13
|
namespace duckdb {
|
|
14
14
|
|
|
15
|
-
struct dtime_t;
|
|
16
|
-
struct date_t;
|
|
17
|
-
struct dtime_tz_t;
|
|
18
|
-
struct timestamp_t;
|
|
15
|
+
struct dtime_t; // NOLINT: literal casing
|
|
16
|
+
struct date_t; // NOLINT: literal casing
|
|
17
|
+
struct dtime_tz_t; // NOLINT: literal casing
|
|
18
|
+
struct timestamp_t; // NOLINT: literal casing
|
|
19
19
|
|
|
20
20
|
class Serializer;
|
|
21
21
|
class Deserializer;
|