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
|
@@ -24,12 +24,12 @@ struct SettingLookupResult {
|
|
|
24
24
|
public:
|
|
25
25
|
SettingLookupResult() : scope(SettingScope::INVALID) {
|
|
26
26
|
}
|
|
27
|
-
SettingLookupResult(SettingScope scope) : scope(scope) {
|
|
27
|
+
explicit SettingLookupResult(SettingScope scope) : scope(scope) {
|
|
28
28
|
D_ASSERT(scope != SettingScope::INVALID);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
public:
|
|
32
|
-
operator bool() {
|
|
32
|
+
operator bool() { // NOLINT: allow implicit conversion to bool
|
|
33
33
|
return scope != SettingScope::INVALID;
|
|
34
34
|
}
|
|
35
35
|
|
|
@@ -49,7 +49,7 @@ struct AccessModeSetting {
|
|
|
49
49
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
50
50
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
51
51
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
52
|
-
static Value GetSetting(ClientContext &context);
|
|
52
|
+
static Value GetSetting(const ClientContext &context);
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
struct AllowPersistentSecrets {
|
|
@@ -59,7 +59,7 @@ struct AllowPersistentSecrets {
|
|
|
59
59
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
60
60
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
61
61
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
62
|
-
static Value GetSetting(ClientContext &context);
|
|
62
|
+
static Value GetSetting(const ClientContext &context);
|
|
63
63
|
};
|
|
64
64
|
|
|
65
65
|
struct CheckpointThresholdSetting {
|
|
@@ -69,7 +69,7 @@ struct CheckpointThresholdSetting {
|
|
|
69
69
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
70
70
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
71
71
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
72
|
-
static Value GetSetting(ClientContext &context);
|
|
72
|
+
static Value GetSetting(const ClientContext &context);
|
|
73
73
|
};
|
|
74
74
|
|
|
75
75
|
struct DebugCheckpointAbort {
|
|
@@ -79,7 +79,7 @@ struct DebugCheckpointAbort {
|
|
|
79
79
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
80
80
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
81
81
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
82
|
-
static Value GetSetting(ClientContext &context);
|
|
82
|
+
static Value GetSetting(const ClientContext &context);
|
|
83
83
|
};
|
|
84
84
|
|
|
85
85
|
struct DebugForceExternal {
|
|
@@ -89,7 +89,7 @@ struct DebugForceExternal {
|
|
|
89
89
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
90
90
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
91
91
|
static void ResetLocal(ClientContext &context);
|
|
92
|
-
static Value GetSetting(ClientContext &context);
|
|
92
|
+
static Value GetSetting(const ClientContext &context);
|
|
93
93
|
};
|
|
94
94
|
|
|
95
95
|
struct DebugForceNoCrossProduct {
|
|
@@ -99,7 +99,7 @@ struct DebugForceNoCrossProduct {
|
|
|
99
99
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
100
100
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
101
101
|
static void ResetLocal(ClientContext &context);
|
|
102
|
-
static Value GetSetting(ClientContext &context);
|
|
102
|
+
static Value GetSetting(const ClientContext &context);
|
|
103
103
|
};
|
|
104
104
|
|
|
105
105
|
struct OrderedAggregateThreshold {
|
|
@@ -109,7 +109,7 @@ struct OrderedAggregateThreshold {
|
|
|
109
109
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::UBIGINT; // NOLINT
|
|
110
110
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
111
111
|
static void ResetLocal(ClientContext &context);
|
|
112
|
-
static Value GetSetting(ClientContext &context);
|
|
112
|
+
static Value GetSetting(const ClientContext &context);
|
|
113
113
|
};
|
|
114
114
|
|
|
115
115
|
struct DebugAsOfIEJoin {
|
|
@@ -118,7 +118,7 @@ struct DebugAsOfIEJoin {
|
|
|
118
118
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN; // NOLINT
|
|
119
119
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
120
120
|
static void ResetLocal(ClientContext &context);
|
|
121
|
-
static Value GetSetting(ClientContext &context);
|
|
121
|
+
static Value GetSetting(const ClientContext &context);
|
|
122
122
|
};
|
|
123
123
|
|
|
124
124
|
struct PreferRangeJoins {
|
|
@@ -127,7 +127,7 @@ struct PreferRangeJoins {
|
|
|
127
127
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN; // NOLINT
|
|
128
128
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
129
129
|
static void ResetLocal(ClientContext &context);
|
|
130
|
-
static Value GetSetting(ClientContext &context);
|
|
130
|
+
static Value GetSetting(const ClientContext &context);
|
|
131
131
|
};
|
|
132
132
|
|
|
133
133
|
struct DebugWindowMode {
|
|
@@ -136,7 +136,7 @@ struct DebugWindowMode {
|
|
|
136
136
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
137
137
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
138
138
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
139
|
-
static Value GetSetting(ClientContext &context);
|
|
139
|
+
static Value GetSetting(const ClientContext &context);
|
|
140
140
|
};
|
|
141
141
|
|
|
142
142
|
struct DefaultCollationSetting {
|
|
@@ -147,7 +147,7 @@ struct DefaultCollationSetting {
|
|
|
147
147
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
148
148
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
149
149
|
static void ResetLocal(ClientContext &context);
|
|
150
|
-
static Value GetSetting(ClientContext &context);
|
|
150
|
+
static Value GetSetting(const ClientContext &context);
|
|
151
151
|
};
|
|
152
152
|
|
|
153
153
|
struct DefaultOrderSetting {
|
|
@@ -156,7 +156,7 @@ struct DefaultOrderSetting {
|
|
|
156
156
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
157
157
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
158
158
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
159
|
-
static Value GetSetting(ClientContext &context);
|
|
159
|
+
static Value GetSetting(const ClientContext &context);
|
|
160
160
|
};
|
|
161
161
|
|
|
162
162
|
struct DefaultNullOrderSetting {
|
|
@@ -165,7 +165,7 @@ struct DefaultNullOrderSetting {
|
|
|
165
165
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
166
166
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
167
167
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
168
|
-
static Value GetSetting(ClientContext &context);
|
|
168
|
+
static Value GetSetting(const ClientContext &context);
|
|
169
169
|
};
|
|
170
170
|
|
|
171
171
|
struct DefaultSecretStorage {
|
|
@@ -174,7 +174,7 @@ struct DefaultSecretStorage {
|
|
|
174
174
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
175
175
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
176
176
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
177
|
-
static Value GetSetting(ClientContext &context);
|
|
177
|
+
static Value GetSetting(const ClientContext &context);
|
|
178
178
|
};
|
|
179
179
|
|
|
180
180
|
struct DisabledFileSystemsSetting {
|
|
@@ -183,7 +183,7 @@ struct DisabledFileSystemsSetting {
|
|
|
183
183
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
184
184
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
185
185
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
186
|
-
static Value GetSetting(ClientContext &context);
|
|
186
|
+
static Value GetSetting(const ClientContext &context);
|
|
187
187
|
};
|
|
188
188
|
|
|
189
189
|
struct DisabledOptimizersSetting {
|
|
@@ -192,7 +192,7 @@ struct DisabledOptimizersSetting {
|
|
|
192
192
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
193
193
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
194
194
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
195
|
-
static Value GetSetting(ClientContext &context);
|
|
195
|
+
static Value GetSetting(const ClientContext &context);
|
|
196
196
|
};
|
|
197
197
|
|
|
198
198
|
struct EnableExternalAccessSetting {
|
|
@@ -203,7 +203,7 @@ struct EnableExternalAccessSetting {
|
|
|
203
203
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
204
204
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
205
205
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
206
|
-
static Value GetSetting(ClientContext &context);
|
|
206
|
+
static Value GetSetting(const ClientContext &context);
|
|
207
207
|
};
|
|
208
208
|
|
|
209
209
|
struct EnableFSSTVectors {
|
|
@@ -213,7 +213,7 @@ struct EnableFSSTVectors {
|
|
|
213
213
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
214
214
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
215
215
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
216
|
-
static Value GetSetting(ClientContext &context);
|
|
216
|
+
static Value GetSetting(const ClientContext &context);
|
|
217
217
|
};
|
|
218
218
|
|
|
219
219
|
struct AllowUnsignedExtensionsSetting {
|
|
@@ -222,7 +222,16 @@ struct AllowUnsignedExtensionsSetting {
|
|
|
222
222
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
223
223
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
224
224
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
225
|
-
static Value GetSetting(ClientContext &context);
|
|
225
|
+
static Value GetSetting(const ClientContext &context);
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
struct AllowExtensionsMetadataMismatchSetting {
|
|
229
|
+
static constexpr const char *Name = "allow_extensions_metadata_mismatch";
|
|
230
|
+
static constexpr const char *Description = "Allow to load extensions with not compatible metadata";
|
|
231
|
+
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
232
|
+
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
233
|
+
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
234
|
+
static Value GetSetting(const ClientContext &context);
|
|
226
235
|
};
|
|
227
236
|
|
|
228
237
|
struct AllowUnredactedSecretsSetting {
|
|
@@ -231,7 +240,7 @@ struct AllowUnredactedSecretsSetting {
|
|
|
231
240
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
232
241
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
233
242
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
234
|
-
static Value GetSetting(ClientContext &context);
|
|
243
|
+
static Value GetSetting(const ClientContext &context);
|
|
235
244
|
};
|
|
236
245
|
|
|
237
246
|
struct CustomExtensionRepository {
|
|
@@ -240,7 +249,7 @@ struct CustomExtensionRepository {
|
|
|
240
249
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
241
250
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
242
251
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
243
|
-
static Value GetSetting(ClientContext &context);
|
|
252
|
+
static Value GetSetting(const ClientContext &context);
|
|
244
253
|
};
|
|
245
254
|
|
|
246
255
|
struct AutoloadExtensionRepository {
|
|
@@ -250,7 +259,7 @@ struct AutoloadExtensionRepository {
|
|
|
250
259
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
251
260
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
252
261
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
253
|
-
static Value GetSetting(ClientContext &context);
|
|
262
|
+
static Value GetSetting(const ClientContext &context);
|
|
254
263
|
};
|
|
255
264
|
|
|
256
265
|
struct AutoinstallKnownExtensions {
|
|
@@ -260,7 +269,7 @@ struct AutoinstallKnownExtensions {
|
|
|
260
269
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
261
270
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
262
271
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
263
|
-
static Value GetSetting(ClientContext &context);
|
|
272
|
+
static Value GetSetting(const ClientContext &context);
|
|
264
273
|
};
|
|
265
274
|
|
|
266
275
|
struct AutoloadKnownExtensions {
|
|
@@ -270,7 +279,7 @@ struct AutoloadKnownExtensions {
|
|
|
270
279
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
271
280
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
272
281
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
273
|
-
static Value GetSetting(ClientContext &context);
|
|
282
|
+
static Value GetSetting(const ClientContext &context);
|
|
274
283
|
};
|
|
275
284
|
|
|
276
285
|
struct EnableObjectCacheSetting {
|
|
@@ -279,7 +288,7 @@ struct EnableObjectCacheSetting {
|
|
|
279
288
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
280
289
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
281
290
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
282
|
-
static Value GetSetting(ClientContext &context);
|
|
291
|
+
static Value GetSetting(const ClientContext &context);
|
|
283
292
|
};
|
|
284
293
|
|
|
285
294
|
struct EnableHTTPMetadataCacheSetting {
|
|
@@ -288,7 +297,7 @@ struct EnableHTTPMetadataCacheSetting {
|
|
|
288
297
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
289
298
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
290
299
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
291
|
-
static Value GetSetting(ClientContext &context);
|
|
300
|
+
static Value GetSetting(const ClientContext &context);
|
|
292
301
|
};
|
|
293
302
|
|
|
294
303
|
struct EnableProfilingSetting {
|
|
@@ -298,7 +307,7 @@ struct EnableProfilingSetting {
|
|
|
298
307
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
299
308
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
300
309
|
static void ResetLocal(ClientContext &context);
|
|
301
|
-
static Value GetSetting(ClientContext &context);
|
|
310
|
+
static Value GetSetting(const ClientContext &context);
|
|
302
311
|
};
|
|
303
312
|
|
|
304
313
|
struct EnableProgressBarSetting {
|
|
@@ -308,7 +317,7 @@ struct EnableProgressBarSetting {
|
|
|
308
317
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
309
318
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
310
319
|
static void ResetLocal(ClientContext &context);
|
|
311
|
-
static Value GetSetting(ClientContext &context);
|
|
320
|
+
static Value GetSetting(const ClientContext &context);
|
|
312
321
|
};
|
|
313
322
|
|
|
314
323
|
struct EnableProgressBarPrintSetting {
|
|
@@ -318,7 +327,7 @@ struct EnableProgressBarPrintSetting {
|
|
|
318
327
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
319
328
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
320
329
|
static void ResetLocal(ClientContext &context);
|
|
321
|
-
static Value GetSetting(ClientContext &context);
|
|
330
|
+
static Value GetSetting(const ClientContext &context);
|
|
322
331
|
};
|
|
323
332
|
|
|
324
333
|
struct ErrorsAsJsonSetting {
|
|
@@ -327,7 +336,7 @@ struct ErrorsAsJsonSetting {
|
|
|
327
336
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
328
337
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
329
338
|
static void ResetLocal(ClientContext &context);
|
|
330
|
-
static Value GetSetting(ClientContext &context);
|
|
339
|
+
static Value GetSetting(const ClientContext &context);
|
|
331
340
|
};
|
|
332
341
|
|
|
333
342
|
struct ExplainOutputSetting {
|
|
@@ -336,7 +345,7 @@ struct ExplainOutputSetting {
|
|
|
336
345
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
337
346
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
338
347
|
static void ResetLocal(ClientContext &context);
|
|
339
|
-
static Value GetSetting(ClientContext &context);
|
|
348
|
+
static Value GetSetting(const ClientContext &context);
|
|
340
349
|
};
|
|
341
350
|
|
|
342
351
|
struct ExportLargeBufferArrow {
|
|
@@ -346,7 +355,7 @@ struct ExportLargeBufferArrow {
|
|
|
346
355
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
347
356
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
348
357
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
349
|
-
static Value GetSetting(ClientContext &context);
|
|
358
|
+
static Value GetSetting(const ClientContext &context);
|
|
350
359
|
};
|
|
351
360
|
|
|
352
361
|
struct ExtensionDirectorySetting {
|
|
@@ -355,7 +364,7 @@ struct ExtensionDirectorySetting {
|
|
|
355
364
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
356
365
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
357
366
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
358
|
-
static Value GetSetting(ClientContext &context);
|
|
367
|
+
static Value GetSetting(const ClientContext &context);
|
|
359
368
|
};
|
|
360
369
|
|
|
361
370
|
struct ExternalThreadsSetting {
|
|
@@ -364,7 +373,7 @@ struct ExternalThreadsSetting {
|
|
|
364
373
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BIGINT;
|
|
365
374
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
366
375
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
367
|
-
static Value GetSetting(ClientContext &context);
|
|
376
|
+
static Value GetSetting(const ClientContext &context);
|
|
368
377
|
};
|
|
369
378
|
|
|
370
379
|
struct FileSearchPathSetting {
|
|
@@ -373,7 +382,7 @@ struct FileSearchPathSetting {
|
|
|
373
382
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
374
383
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
375
384
|
static void ResetLocal(ClientContext &context);
|
|
376
|
-
static Value GetSetting(ClientContext &context);
|
|
385
|
+
static Value GetSetting(const ClientContext &context);
|
|
377
386
|
};
|
|
378
387
|
|
|
379
388
|
struct ForceCompressionSetting {
|
|
@@ -382,7 +391,7 @@ struct ForceCompressionSetting {
|
|
|
382
391
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
383
392
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
384
393
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
385
|
-
static Value GetSetting(ClientContext &context);
|
|
394
|
+
static Value GetSetting(const ClientContext &context);
|
|
386
395
|
};
|
|
387
396
|
|
|
388
397
|
struct ForceBitpackingModeSetting {
|
|
@@ -391,7 +400,7 @@ struct ForceBitpackingModeSetting {
|
|
|
391
400
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
392
401
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
393
402
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
394
|
-
static Value GetSetting(ClientContext &context);
|
|
403
|
+
static Value GetSetting(const ClientContext &context);
|
|
395
404
|
};
|
|
396
405
|
|
|
397
406
|
struct HomeDirectorySetting {
|
|
@@ -400,7 +409,7 @@ struct HomeDirectorySetting {
|
|
|
400
409
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
401
410
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
402
411
|
static void ResetLocal(ClientContext &context);
|
|
403
|
-
static Value GetSetting(ClientContext &context);
|
|
412
|
+
static Value GetSetting(const ClientContext &context);
|
|
404
413
|
};
|
|
405
414
|
|
|
406
415
|
struct IntegerDivisionSetting {
|
|
@@ -410,17 +419,17 @@ struct IntegerDivisionSetting {
|
|
|
410
419
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
411
420
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
412
421
|
static void ResetLocal(ClientContext &context);
|
|
413
|
-
static Value GetSetting(ClientContext &context);
|
|
422
|
+
static Value GetSetting(const ClientContext &context);
|
|
414
423
|
};
|
|
415
424
|
|
|
416
425
|
struct LogQueryPathSetting {
|
|
417
426
|
static constexpr const char *Name = "log_query_path";
|
|
418
427
|
static constexpr const char *Description =
|
|
419
|
-
"Specifies the path to which queries should be logged (default:
|
|
428
|
+
"Specifies the path to which queries should be logged (default: NULL, queries are not logged)";
|
|
420
429
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
421
430
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
422
431
|
static void ResetLocal(ClientContext &context);
|
|
423
|
-
static Value GetSetting(ClientContext &context);
|
|
432
|
+
static Value GetSetting(const ClientContext &context);
|
|
424
433
|
};
|
|
425
434
|
|
|
426
435
|
struct LockConfigurationSetting {
|
|
@@ -429,7 +438,7 @@ struct LockConfigurationSetting {
|
|
|
429
438
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
430
439
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
431
440
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
432
|
-
static Value GetSetting(ClientContext &context);
|
|
441
|
+
static Value GetSetting(const ClientContext &context);
|
|
433
442
|
};
|
|
434
443
|
|
|
435
444
|
struct ImmediateTransactionModeSetting {
|
|
@@ -439,7 +448,7 @@ struct ImmediateTransactionModeSetting {
|
|
|
439
448
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
440
449
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
441
450
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
442
|
-
static Value GetSetting(ClientContext &context);
|
|
451
|
+
static Value GetSetting(const ClientContext &context);
|
|
443
452
|
};
|
|
444
453
|
|
|
445
454
|
struct MaximumExpressionDepthSetting {
|
|
@@ -450,7 +459,7 @@ struct MaximumExpressionDepthSetting {
|
|
|
450
459
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::UBIGINT;
|
|
451
460
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
452
461
|
static void ResetLocal(ClientContext &context);
|
|
453
|
-
static Value GetSetting(ClientContext &context);
|
|
462
|
+
static Value GetSetting(const ClientContext &context);
|
|
454
463
|
};
|
|
455
464
|
|
|
456
465
|
struct MaximumMemorySetting {
|
|
@@ -459,7 +468,7 @@ struct MaximumMemorySetting {
|
|
|
459
468
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
460
469
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
461
470
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
462
|
-
static Value GetSetting(ClientContext &context);
|
|
471
|
+
static Value GetSetting(const ClientContext &context);
|
|
463
472
|
};
|
|
464
473
|
|
|
465
474
|
struct OldImplicitCasting {
|
|
@@ -468,7 +477,7 @@ struct OldImplicitCasting {
|
|
|
468
477
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
469
478
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
470
479
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
471
|
-
static Value GetSetting(ClientContext &context);
|
|
480
|
+
static Value GetSetting(const ClientContext &context);
|
|
472
481
|
};
|
|
473
482
|
|
|
474
483
|
struct PartitionedWriteFlushThreshold {
|
|
@@ -478,7 +487,7 @@ struct PartitionedWriteFlushThreshold {
|
|
|
478
487
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BIGINT;
|
|
479
488
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
480
489
|
static void ResetLocal(ClientContext &context);
|
|
481
|
-
static Value GetSetting(ClientContext &context);
|
|
490
|
+
static Value GetSetting(const ClientContext &context);
|
|
482
491
|
};
|
|
483
492
|
|
|
484
493
|
struct PasswordSetting {
|
|
@@ -487,16 +496,16 @@ struct PasswordSetting {
|
|
|
487
496
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
488
497
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
489
498
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
490
|
-
static Value GetSetting(ClientContext &context);
|
|
499
|
+
static Value GetSetting(const ClientContext &context);
|
|
491
500
|
};
|
|
492
501
|
|
|
493
502
|
struct PerfectHashThresholdSetting {
|
|
494
503
|
static constexpr const char *Name = "perfect_ht_threshold";
|
|
495
|
-
static constexpr const char *Description = "Threshold in bytes for when to use a perfect hash table
|
|
504
|
+
static constexpr const char *Description = "Threshold in bytes for when to use a perfect hash table";
|
|
496
505
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BIGINT;
|
|
497
506
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
498
507
|
static void ResetLocal(ClientContext &context);
|
|
499
|
-
static Value GetSetting(ClientContext &context);
|
|
508
|
+
static Value GetSetting(const ClientContext &context);
|
|
500
509
|
};
|
|
501
510
|
|
|
502
511
|
struct PivotFilterThreshold {
|
|
@@ -506,17 +515,16 @@ struct PivotFilterThreshold {
|
|
|
506
515
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BIGINT;
|
|
507
516
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
508
517
|
static void ResetLocal(ClientContext &context);
|
|
509
|
-
static Value GetSetting(ClientContext &context);
|
|
518
|
+
static Value GetSetting(const ClientContext &context);
|
|
510
519
|
};
|
|
511
520
|
|
|
512
521
|
struct PivotLimitSetting {
|
|
513
522
|
static constexpr const char *Name = "pivot_limit";
|
|
514
|
-
static constexpr const char *Description =
|
|
515
|
-
"The maximum number of pivot columns in a pivot statement (default: 100000)";
|
|
523
|
+
static constexpr const char *Description = "The maximum number of pivot columns in a pivot statement";
|
|
516
524
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BIGINT;
|
|
517
525
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
518
526
|
static void ResetLocal(ClientContext &context);
|
|
519
|
-
static Value GetSetting(ClientContext &context);
|
|
527
|
+
static Value GetSetting(const ClientContext &context);
|
|
520
528
|
};
|
|
521
529
|
|
|
522
530
|
struct PreserveIdentifierCase {
|
|
@@ -526,7 +534,7 @@ struct PreserveIdentifierCase {
|
|
|
526
534
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
527
535
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
528
536
|
static void ResetLocal(ClientContext &context);
|
|
529
|
-
static Value GetSetting(ClientContext &context);
|
|
537
|
+
static Value GetSetting(const ClientContext &context);
|
|
530
538
|
};
|
|
531
539
|
|
|
532
540
|
struct PreserveInsertionOrder {
|
|
@@ -537,7 +545,7 @@ struct PreserveInsertionOrder {
|
|
|
537
545
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN;
|
|
538
546
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
539
547
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
540
|
-
static Value GetSetting(ClientContext &context);
|
|
548
|
+
static Value GetSetting(const ClientContext &context);
|
|
541
549
|
};
|
|
542
550
|
|
|
543
551
|
struct ProfileOutputSetting {
|
|
@@ -547,7 +555,7 @@ struct ProfileOutputSetting {
|
|
|
547
555
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
548
556
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
549
557
|
static void ResetLocal(ClientContext &context);
|
|
550
|
-
static Value GetSetting(ClientContext &context);
|
|
558
|
+
static Value GetSetting(const ClientContext &context);
|
|
551
559
|
};
|
|
552
560
|
|
|
553
561
|
struct ProfilingModeSetting {
|
|
@@ -556,7 +564,7 @@ struct ProfilingModeSetting {
|
|
|
556
564
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
557
565
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
558
566
|
static void ResetLocal(ClientContext &context);
|
|
559
|
-
static Value GetSetting(ClientContext &context);
|
|
567
|
+
static Value GetSetting(const ClientContext &context);
|
|
560
568
|
};
|
|
561
569
|
|
|
562
570
|
struct ProgressBarTimeSetting {
|
|
@@ -566,7 +574,7 @@ struct ProgressBarTimeSetting {
|
|
|
566
574
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BIGINT;
|
|
567
575
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
568
576
|
static void ResetLocal(ClientContext &context);
|
|
569
|
-
static Value GetSetting(ClientContext &context);
|
|
577
|
+
static Value GetSetting(const ClientContext &context);
|
|
570
578
|
};
|
|
571
579
|
|
|
572
580
|
struct SchemaSetting {
|
|
@@ -576,7 +584,7 @@ struct SchemaSetting {
|
|
|
576
584
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
577
585
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
578
586
|
static void ResetLocal(ClientContext &context);
|
|
579
|
-
static Value GetSetting(ClientContext &context);
|
|
587
|
+
static Value GetSetting(const ClientContext &context);
|
|
580
588
|
};
|
|
581
589
|
|
|
582
590
|
struct SearchPathSetting {
|
|
@@ -586,7 +594,7 @@ struct SearchPathSetting {
|
|
|
586
594
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
587
595
|
static void SetLocal(ClientContext &context, const Value ¶meter);
|
|
588
596
|
static void ResetLocal(ClientContext &context);
|
|
589
|
-
static Value GetSetting(ClientContext &context);
|
|
597
|
+
static Value GetSetting(const ClientContext &context);
|
|
590
598
|
};
|
|
591
599
|
|
|
592
600
|
struct SecretDirectorySetting {
|
|
@@ -595,7 +603,7 @@ struct SecretDirectorySetting {
|
|
|
595
603
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
596
604
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
597
605
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
598
|
-
static Value GetSetting(ClientContext &context);
|
|
606
|
+
static Value GetSetting(const ClientContext &context);
|
|
599
607
|
};
|
|
600
608
|
|
|
601
609
|
struct TempDirectorySetting {
|
|
@@ -604,7 +612,7 @@ struct TempDirectorySetting {
|
|
|
604
612
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
605
613
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
606
614
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
607
|
-
static Value GetSetting(ClientContext &context);
|
|
615
|
+
static Value GetSetting(const ClientContext &context);
|
|
608
616
|
};
|
|
609
617
|
|
|
610
618
|
struct ThreadsSetting {
|
|
@@ -613,7 +621,7 @@ struct ThreadsSetting {
|
|
|
613
621
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::BIGINT;
|
|
614
622
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
615
623
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
616
|
-
static Value GetSetting(ClientContext &context);
|
|
624
|
+
static Value GetSetting(const ClientContext &context);
|
|
617
625
|
};
|
|
618
626
|
|
|
619
627
|
struct UsernameSetting {
|
|
@@ -622,7 +630,7 @@ struct UsernameSetting {
|
|
|
622
630
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
623
631
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
624
632
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
625
|
-
static Value GetSetting(ClientContext &context);
|
|
633
|
+
static Value GetSetting(const ClientContext &context);
|
|
626
634
|
};
|
|
627
635
|
|
|
628
636
|
struct FlushAllocatorSetting {
|
|
@@ -632,7 +640,7 @@ struct FlushAllocatorSetting {
|
|
|
632
640
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
633
641
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
634
642
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
635
|
-
static Value GetSetting(ClientContext &context);
|
|
643
|
+
static Value GetSetting(const ClientContext &context);
|
|
636
644
|
};
|
|
637
645
|
|
|
638
646
|
struct DuckDBApiSetting {
|
|
@@ -641,7 +649,7 @@ struct DuckDBApiSetting {
|
|
|
641
649
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
642
650
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
643
651
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
644
|
-
static Value GetSetting(ClientContext &context);
|
|
652
|
+
static Value GetSetting(const ClientContext &context);
|
|
645
653
|
};
|
|
646
654
|
|
|
647
655
|
struct CustomUserAgentSetting {
|
|
@@ -650,7 +658,7 @@ struct CustomUserAgentSetting {
|
|
|
650
658
|
static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR;
|
|
651
659
|
static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter);
|
|
652
660
|
static void ResetGlobal(DatabaseInstance *db, DBConfig &config);
|
|
653
|
-
static Value GetSetting(ClientContext &context);
|
|
661
|
+
static Value GetSetting(const ClientContext &context);
|
|
654
662
|
};
|
|
655
663
|
|
|
656
664
|
} // namespace duckdb
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
//===----------------------------------------------------------------------===//
|
|
2
|
+
// DuckDB
|
|
3
|
+
//
|
|
4
|
+
// duckdb/optimizer/column_lifetime_analyzer.hpp
|
|
5
|
+
//
|
|
6
|
+
//
|
|
7
|
+
//===----------------------------------------------------------------------===//
|
|
8
|
+
|
|
9
|
+
#pragma once
|
|
10
|
+
|
|
11
|
+
#include "duckdb/planner/logical_operator_visitor.hpp"
|
|
12
|
+
#include "duckdb/planner/column_binding_map.hpp"
|
|
13
|
+
#include "duckdb/common/vector.hpp"
|
|
14
|
+
|
|
15
|
+
namespace duckdb {
|
|
16
|
+
class BoundColumnRefExpression;
|
|
17
|
+
|
|
18
|
+
//! The ColumnLifetimeAnalyzer optimizer traverses the logical operator tree and ensures that columns are removed from
|
|
19
|
+
//! the plan when no longer required
|
|
20
|
+
class ColumnLifetimeAnalyzer : public LogicalOperatorVisitor {
|
|
21
|
+
public:
|
|
22
|
+
explicit ColumnLifetimeAnalyzer(bool is_root = false) : everything_referenced(is_root) {
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
void VisitOperator(LogicalOperator &op) override;
|
|
26
|
+
|
|
27
|
+
protected:
|
|
28
|
+
unique_ptr<Expression> VisitReplace(BoundColumnRefExpression &expr, unique_ptr<Expression> *expr_ptr) override;
|
|
29
|
+
unique_ptr<Expression> VisitReplace(BoundReferenceExpression &expr, unique_ptr<Expression> *expr_ptr) override;
|
|
30
|
+
|
|
31
|
+
private:
|
|
32
|
+
//! Whether or not all the columns are referenced. This happens in the case of the root expression (because the
|
|
33
|
+
//! output implicitly refers all the columns below it)
|
|
34
|
+
bool everything_referenced;
|
|
35
|
+
//! The set of column references
|
|
36
|
+
column_binding_set_t column_references;
|
|
37
|
+
|
|
38
|
+
private:
|
|
39
|
+
void StandardVisitOperator(LogicalOperator &op);
|
|
40
|
+
|
|
41
|
+
void ExtractUnusedColumnBindings(vector<ColumnBinding> bindings, column_binding_set_t &unused_bindings);
|
|
42
|
+
void GenerateProjectionMap(vector<ColumnBinding> bindings, column_binding_set_t &unused_bindings,
|
|
43
|
+
vector<idx_t> &map);
|
|
44
|
+
};
|
|
45
|
+
} // namespace duckdb
|