duckdb 0.10.2-dev0.0 → 0.10.2-dev5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.gyp +22 -18
- package/binding.gyp.in +3 -0
- package/package.json +1 -1
- package/src/duckdb/extension/icu/icu-timezone.cpp +3 -1
- package/src/duckdb/extension/icu/icu_extension.cpp +6 -2
- package/src/duckdb/extension/json/buffered_json_reader.cpp +10 -3
- package/src/duckdb/extension/json/include/buffered_json_reader.hpp +2 -0
- package/src/duckdb/extension/json/include/json_scan.hpp +13 -7
- package/src/duckdb/extension/json/include/json_serializer.hpp +5 -4
- package/src/duckdb/extension/json/include/json_structure.hpp +3 -3
- package/src/duckdb/extension/json/json_functions/json_serialize_plan.cpp +15 -5
- package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +15 -6
- package/src/duckdb/extension/json/json_functions/json_structure.cpp +21 -20
- package/src/duckdb/extension/json/json_functions/read_json.cpp +37 -3
- package/src/duckdb/extension/json/json_functions.cpp +7 -2
- package/src/duckdb/extension/json/json_scan.cpp +57 -33
- package/src/duckdb/extension/parquet/column_reader.cpp +12 -3
- package/src/duckdb/extension/parquet/column_writer.cpp +44 -7
- package/src/duckdb/extension/parquet/include/parquet_writer.hpp +5 -1
- package/src/duckdb/extension/parquet/parquet_extension.cpp +30 -3
- package/src/duckdb/extension/parquet/parquet_metadata.cpp +1 -1
- package/src/duckdb/extension/parquet/parquet_writer.cpp +4 -2
- package/src/duckdb/extension/parquet/zstd_file_system.cpp +1 -1
- package/src/duckdb/src/catalog/catalog.cpp +5 -1
- package/src/duckdb/src/catalog/catalog_entry/duck_schema_entry.cpp +21 -5
- package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +8 -9
- package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +3 -7
- package/src/duckdb/src/catalog/catalog_entry/sequence_catalog_entry.cpp +1 -1
- package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +6 -7
- package/src/duckdb/src/catalog/catalog_entry.cpp +8 -0
- package/src/duckdb/src/catalog/catalog_search_path.cpp +5 -0
- package/src/duckdb/src/catalog/catalog_set.cpp +2 -2
- package/src/duckdb/src/catalog/default/default_functions.cpp +6 -6
- package/src/duckdb/src/catalog/default/default_schemas.cpp +1 -1
- package/src/duckdb/src/catalog/default/default_views.cpp +7 -7
- package/src/duckdb/src/catalog/dependency_catalog_set.cpp +2 -1
- package/src/duckdb/src/catalog/dependency_list.cpp +92 -8
- package/src/duckdb/src/catalog/dependency_manager.cpp +53 -68
- package/src/duckdb/src/catalog/duck_catalog.cpp +1 -1
- package/src/duckdb/src/common/adbc/adbc.cpp +287 -45
- package/src/duckdb/src/common/arrow/appender/union_data.cpp +2 -2
- package/src/duckdb/src/common/box_renderer.cpp +12 -12
- package/src/duckdb/src/common/crypto/md5.cpp +2 -1
- package/src/duckdb/src/common/enum_util.cpp +307 -1
- package/src/duckdb/src/common/enums/expression_type.cpp +4 -0
- package/src/duckdb/src/common/enums/optimizer_type.cpp +1 -1
- package/src/duckdb/src/common/file_system.cpp +60 -13
- package/src/duckdb/src/common/filename_pattern.cpp +13 -13
- package/src/duckdb/src/common/gzip_file_system.cpp +1 -1
- package/src/duckdb/src/common/http_state.cpp +1 -1
- package/src/duckdb/src/common/local_file_system.cpp +72 -71
- package/src/duckdb/src/common/multi_file_reader.cpp +48 -28
- package/src/duckdb/src/common/row_operations/row_matcher.cpp +2 -2
- package/src/duckdb/src/common/serializer/buffered_file_reader.cpp +13 -1
- package/src/duckdb/src/common/serializer/buffered_file_writer.cpp +32 -13
- package/src/duckdb/src/common/string_util.cpp +2 -3
- package/src/duckdb/src/common/tree_renderer.cpp +32 -67
- package/src/duckdb/src/common/types/bit.cpp +6 -6
- package/src/duckdb/src/common/types/data_chunk.cpp +2 -2
- package/src/duckdb/src/common/types/hash.cpp +6 -6
- package/src/duckdb/src/common/types/hyperloglog.cpp +2 -0
- package/src/duckdb/src/common/types/row/tuple_data_allocator.cpp +13 -0
- package/src/duckdb/src/common/types/row/tuple_data_layout.cpp +5 -7
- package/src/duckdb/src/common/types/uuid.cpp +1 -1
- package/src/duckdb/src/common/types/vector.cpp +22 -14
- package/src/duckdb/src/common/types.cpp +8 -1
- package/src/duckdb/src/common/vector_operations/comparison_operators.cpp +20 -18
- package/src/duckdb/src/common/vector_operations/generators.cpp +1 -1
- package/src/duckdb/src/common/vector_operations/is_distinct_from.cpp +267 -110
- package/src/duckdb/src/common/vector_operations/vector_hash.cpp +52 -23
- package/src/duckdb/src/common/virtual_file_system.cpp +33 -20
- package/src/duckdb/src/core_functions/aggregate/algebraic/avg.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/distributive/minmax.cpp +3 -3
- package/src/duckdb/src/core_functions/aggregate/distributive/sum.cpp +31 -16
- package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +3 -0
- package/src/duckdb/src/core_functions/aggregate/nested/list.cpp +2 -0
- package/src/duckdb/src/core_functions/core_functions.cpp +1 -1
- package/src/duckdb/src/core_functions/function_list.cpp +2 -2
- package/src/duckdb/src/core_functions/scalar/date/time_bucket.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/generic/system_functions.cpp +46 -17
- package/src/duckdb/src/core_functions/scalar/list/array_slice.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/list/flatten.cpp +82 -45
- package/src/duckdb/src/core_functions/scalar/list/list_aggregates.cpp +2 -2
- package/src/duckdb/src/core_functions/scalar/list/list_sort.cpp +3 -0
- package/src/duckdb/src/core_functions/scalar/math/numeric.cpp +3 -2
- package/src/duckdb/src/core_functions/scalar/string/hex.cpp +2 -4
- package/src/duckdb/src/core_functions/scalar/string/repeat.cpp +12 -21
- package/src/duckdb/src/execution/column_binding_resolver.cpp +2 -10
- package/src/duckdb/src/execution/expression_executor/execute_comparison.cpp +133 -66
- package/src/duckdb/src/execution/expression_executor/execute_function.cpp +0 -2
- package/src/duckdb/src/execution/expression_executor.cpp +0 -4
- package/src/duckdb/src/execution/expression_executor_state.cpp +1 -1
- package/src/duckdb/src/execution/index/art/art.cpp +2 -2
- package/src/duckdb/src/execution/index/unknown_index.cpp +13 -13
- package/src/duckdb/src/execution/join_hashtable.cpp +1 -1
- package/src/duckdb/src/execution/nested_loop_join/nested_loop_join_mark.cpp +0 -1
- package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer.cpp +10 -7
- package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.cpp +32 -1
- package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_file_handle.cpp +16 -2
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/scanner_boundary.cpp +7 -7
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/string_value_scanner.cpp +354 -159
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp +11 -2
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp +22 -7
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_detection.cpp +1 -1
- package/src/duckdb/src/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.cpp +10 -10
- package/src/duckdb/src/execution/operator/csv_scanner/table_function/csv_file_scanner.cpp +9 -18
- package/src/duckdb/src/execution/operator/csv_scanner/table_function/global_csv_state.cpp +180 -47
- package/src/duckdb/src/execution/operator/csv_scanner/util/csv_error.cpp +100 -58
- package/src/duckdb/src/execution/operator/csv_scanner/util/csv_reader_options.cpp +88 -21
- package/src/duckdb/src/execution/operator/helper/physical_vacuum.cpp +12 -13
- package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +2 -0
- package/src/duckdb/src/execution/operator/persistent/csv_rejects_table.cpp +118 -23
- package/src/duckdb/src/execution/operator/persistent/physical_batch_copy_to_file.cpp +2 -2
- package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +14 -5
- package/src/duckdb/src/execution/operator/persistent/physical_copy_database.cpp +1 -1
- package/src/duckdb/src/execution/operator/persistent/physical_export.cpp +5 -5
- package/src/duckdb/src/execution/operator/schema/physical_attach.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan/plan_simple.cpp +0 -9
- package/src/duckdb/src/execution/physical_plan/plan_vacuum.cpp +18 -0
- package/src/duckdb/src/execution/physical_plan_generator.cpp +5 -3
- package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +81 -106
- package/src/duckdb/src/execution/reservoir_sample.cpp +1 -1
- package/src/duckdb/src/execution/window_executor.cpp +48 -28
- package/src/duckdb/src/execution/window_segment_tree.cpp +20 -23
- package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +1 -1
- package/src/duckdb/src/function/cast/enum_casts.cpp +20 -55
- package/src/duckdb/src/function/cast/vector_cast_helpers.cpp +10 -9
- package/src/duckdb/src/function/cast_rules.cpp +9 -1
- package/src/duckdb/src/function/compression_config.cpp +1 -1
- package/src/duckdb/src/function/function_binder.cpp +45 -44
- package/src/duckdb/src/function/function_set.cpp +9 -9
- package/src/duckdb/src/function/pragma/pragma_queries.cpp +1 -2
- package/src/duckdb/src/function/scalar/compressed_materialization/compress_integral.cpp +21 -5
- package/src/duckdb/src/function/scalar/compressed_materialization/compress_string.cpp +2 -2
- package/src/duckdb/src/function/scalar/list/list_select.cpp +5 -2
- package/src/duckdb/src/function/scalar/list/list_zip.cpp +5 -4
- package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +60 -32
- package/src/duckdb/src/function/scalar/sequence/nextval.cpp +1 -1
- package/src/duckdb/src/function/scalar/strftime_format.cpp +31 -25
- package/src/duckdb/src/function/scalar/string/caseconvert.cpp +6 -6
- package/src/duckdb/src/function/scalar/string/length.cpp +23 -2
- package/src/duckdb/src/function/scalar/string/like.cpp +1 -1
- package/src/duckdb/src/function/scalar/string/regexp/regexp_extract_all.cpp +1 -1
- package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +3 -3
- package/src/duckdb/src/function/table/arrow/arrow_array_scan_state.cpp +1 -1
- package/src/duckdb/src/function/table/arrow.cpp +7 -1
- package/src/duckdb/src/function/table/copy_csv.cpp +17 -13
- package/src/duckdb/src/function/table/read_csv.cpp +52 -39
- package/src/duckdb/src/function/table/sniff_csv.cpp +7 -13
- package/src/duckdb/src/function/table/system/duckdb_constraints.cpp +1 -1
- package/src/duckdb/src/function/table/system/duckdb_databases.cpp +7 -1
- package/src/duckdb/src/function/table/system/duckdb_extensions.cpp +12 -2
- package/src/duckdb/src/function/table/system/duckdb_sequences.cpp +1 -2
- package/src/duckdb/src/function/table/system/duckdb_tables.cpp +2 -2
- package/src/duckdb/src/function/table/system/pragma_metadata_info.cpp +9 -2
- package/src/duckdb/src/function/table/system/pragma_table_info.cpp +10 -6
- package/src/duckdb/src/function/table/table_scan.cpp +1 -4
- package/src/duckdb/src/function/table/version/pragma_version.cpp +3 -3
- package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +6 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_index_entry.hpp +1 -1
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_schema_entry.hpp +1 -1
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp +1 -1
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +6 -1
- package/src/duckdb/src/include/duckdb/catalog/catalog_set.hpp +3 -3
- package/src/duckdb/src/include/duckdb/catalog/default/default_functions.hpp +3 -3
- package/src/duckdb/src/include/duckdb/catalog/dependency.hpp +26 -4
- package/src/duckdb/src/include/duckdb/catalog/dependency_list.hpp +39 -6
- package/src/duckdb/src/include/duckdb/catalog/dependency_manager.hpp +19 -14
- package/src/duckdb/src/include/duckdb/catalog/duck_catalog.hpp +1 -1
- package/src/duckdb/src/include/duckdb/catalog/standard_entry.hpp +4 -0
- package/src/duckdb/src/include/duckdb/common/allocator.hpp +3 -3
- package/src/duckdb/src/include/duckdb/common/arrow/arrow_wrapper.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/bit_utils.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/box_renderer.hpp +16 -16
- package/src/duckdb/src/include/duckdb/common/crypto/md5.hpp +0 -1
- package/src/duckdb/src/include/duckdb/common/enum_util.hpp +32 -0
- package/src/duckdb/src/include/duckdb/common/enums/expression_type.hpp +4 -2
- package/src/duckdb/src/include/duckdb/common/exception/binder_exception.hpp +14 -10
- package/src/duckdb/src/include/duckdb/common/exception/catalog_exception.hpp +4 -4
- package/src/duckdb/src/include/duckdb/common/exception/conversion_exception.hpp +6 -6
- package/src/duckdb/src/include/duckdb/common/exception/http_exception.hpp +3 -3
- package/src/duckdb/src/include/duckdb/common/exception/parser_exception.hpp +4 -4
- package/src/duckdb/src/include/duckdb/common/exception/transaction_exception.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/exception.hpp +57 -58
- package/src/duckdb/src/include/duckdb/common/exception_format_value.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/extra_type_info.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/file_open_flags.hpp +134 -0
- package/src/duckdb/src/include/duckdb/common/file_opener.hpp +9 -6
- package/src/duckdb/src/include/duckdb/common/file_system.hpp +35 -36
- package/src/duckdb/src/include/duckdb/common/filename_pattern.hpp +4 -6
- package/src/duckdb/src/include/duckdb/common/fixed_size_map.hpp +13 -13
- package/src/duckdb/src/include/duckdb/common/helper.hpp +42 -47
- package/src/duckdb/src/include/duckdb/common/http_state.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/hugeint.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/index_vector.hpp +10 -10
- package/src/duckdb/src/include/duckdb/common/local_file_system.hpp +13 -10
- package/src/duckdb/src/include/duckdb/common/memory_safety.hpp +3 -3
- package/src/duckdb/src/include/duckdb/common/multi_file_reader_options.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/opener_file_system.hpp +50 -24
- package/src/duckdb/src/include/duckdb/common/operator/abs.hpp +12 -4
- package/src/duckdb/src/include/duckdb/common/optional_ptr.hpp +5 -5
- package/src/duckdb/src/include/duckdb/common/pipe_file_system.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/platform.h +1 -1
- package/src/duckdb/src/include/duckdb/common/printer.hpp +5 -5
- package/src/duckdb/src/include/duckdb/common/profiler.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/progress_bar/display/terminal_progress_bar_display.hpp +5 -5
- package/src/duckdb/src/include/duckdb/common/random_engine.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/re2_regex.hpp +7 -7
- package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_reader.hpp +3 -0
- package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_writer.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/serializer/deserialization_data.hpp +17 -6
- package/src/duckdb/src/include/duckdb/common/serializer/deserializer.hpp +12 -0
- package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +14 -0
- package/src/duckdb/src/include/duckdb/common/serializer/serializer.hpp +16 -0
- package/src/duckdb/src/include/duckdb/common/sort/duckdb_pdqsort.hpp +3 -0
- package/src/duckdb/src/include/duckdb/common/sort/partition_state.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/string_util.hpp +4 -4
- package/src/duckdb/src/include/duckdb/common/tree_renderer.hpp +24 -25
- package/src/duckdb/src/include/duckdb/common/typedefs.hpp +5 -5
- package/src/duckdb/src/include/duckdb/common/types/cast_helpers.hpp +1 -2
- package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection.hpp +10 -10
- package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection_iterators.hpp +5 -5
- package/src/duckdb/src/include/duckdb/common/types/column/partitioned_column_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/constraint_conflict_info.hpp +1 -2
- package/src/duckdb/src/include/duckdb/common/types/data_chunk.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/types/date.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/hash.hpp +5 -5
- package/src/duckdb/src/include/duckdb/common/types/hyperloglog.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/interval.hpp +4 -4
- package/src/duckdb/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_layout.hpp +10 -3
- package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_segment.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/selection_vector.hpp +12 -12
- package/src/duckdb/src/include/duckdb/common/types/string_heap.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/string_type.hpp +21 -20
- package/src/duckdb/src/include/duckdb/common/types/time.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/types/timestamp.hpp +3 -3
- package/src/duckdb/src/include/duckdb/common/types/uuid.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/types/value.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/types/vector.hpp +15 -7
- package/src/duckdb/src/include/duckdb/common/types/vector_buffer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types.hpp +14 -10
- package/src/duckdb/src/include/duckdb/common/uhugeint.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/union_by_name.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/unique_ptr.hpp +15 -14
- package/src/duckdb/src/include/duckdb/common/vector.hpp +21 -21
- package/src/duckdb/src/include/duckdb/common/vector_operations/aggregate_executor.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/vector_operations/general_cast.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/vector_operations/generic_executor.hpp +2 -3
- package/src/duckdb/src/include/duckdb/common/vector_operations/unary_executor.hpp +3 -2
- package/src/duckdb/src/include/duckdb/common/vector_operations/vector_operations.hpp +50 -32
- package/src/duckdb/src/include/duckdb/common/virtual_file_system.hpp +10 -11
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/distributive_functions.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/sum_helpers.hpp +13 -1
- package/src/duckdb/src/include/duckdb/core_functions/function_list.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/lambda_functions.hpp +2 -1
- package/src/duckdb/src/include/duckdb/execution/aggregate_hashtable.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/column_binding_resolver.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/expression_executor.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/expression_executor_state.hpp +2 -5
- package/src/duckdb/src/include/duckdb/execution/merge_sort_tree.hpp +3 -3
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/aggregate_object.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/distinct_aggregate_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/base_scanner.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/column_count_scanner.hpp +0 -3
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_buffer.hpp +9 -6
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_buffer_manager.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_error.hpp +40 -22
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_handle.hpp +5 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_scanner.hpp +1 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_option.hpp +6 -4
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_reader_options.hpp +24 -10
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state_machine.hpp +4 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/global_csv_state.hpp +3 -1
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/skip_scanner.hpp +0 -3
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/string_value_scanner.hpp +58 -17
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_explain_analyze.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_prepare.hpp +3 -3
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_set.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_vacuum.hpp +4 -1
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_rejects_table.hpp +16 -5
- package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +6 -6
- package/src/duckdb/src/include/duckdb/execution/physical_plan_generator.hpp +2 -1
- package/src/duckdb/src/include/duckdb/execution/window_executor.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/window_segment_tree.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/cast/cast_function_set.hpp +5 -5
- package/src/duckdb/src/include/duckdb/function/cast/default_casts.hpp +4 -4
- package/src/duckdb/src/include/duckdb/function/cast/vector_cast_helpers.hpp +6 -6
- package/src/duckdb/src/include/duckdb/function/compression_function.hpp +4 -4
- package/src/duckdb/src/include/duckdb/function/copy_function.hpp +10 -13
- package/src/duckdb/src/include/duckdb/function/function.hpp +3 -3
- package/src/duckdb/src/include/duckdb/function/function_binder.hpp +24 -23
- package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/function_set.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/pragma_function.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/scalar/regexp.hpp +3 -3
- package/src/duckdb/src/include/duckdb/function/scalar/strftime_format.hpp +7 -7
- package/src/duckdb/src/include/duckdb/function/scalar/string_functions.hpp +3 -3
- package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +6 -6
- package/src/duckdb/src/include/duckdb/function/table/arrow/arrow_duck_schema.hpp +4 -4
- package/src/duckdb/src/include/duckdb/function/table/arrow.hpp +2 -2
- package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +1 -3
- package/src/duckdb/src/include/duckdb/function/table/table_scan.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/table_function.hpp +12 -11
- package/src/duckdb/src/include/duckdb/function/udf_function.hpp +66 -60
- package/src/duckdb/src/include/duckdb/main/appender.hpp +6 -6
- package/src/duckdb/src/include/duckdb/main/attached_database.hpp +3 -1
- package/src/duckdb/src/include/duckdb/main/buffered_data/buffered_data.hpp +2 -2
- package/src/duckdb/src/include/duckdb/main/buffered_data/simple_buffered_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/capi/capi_internal.hpp +2 -2
- package/src/duckdb/src/include/duckdb/main/chunk_scan_state/query_result.hpp +2 -2
- package/src/duckdb/src/include/duckdb/main/client_context.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/client_context_file_opener.hpp +3 -2
- package/src/duckdb/src/include/duckdb/main/client_data.hpp +1 -0
- package/src/duckdb/src/include/duckdb/main/client_properties.hpp +2 -1
- package/src/duckdb/src/include/duckdb/main/config.hpp +14 -5
- package/src/duckdb/src/include/duckdb/main/connection.hpp +27 -26
- package/src/duckdb/src/include/duckdb/main/database.hpp +19 -3
- package/src/duckdb/src/include/duckdb/main/database_file_opener.hpp +58 -0
- package/src/duckdb/src/include/duckdb/main/database_path_and_type.hpp +2 -2
- package/src/duckdb/src/include/duckdb/main/error_manager.hpp +6 -6
- package/src/duckdb/src/include/duckdb/main/extension_entries.hpp +8 -0
- package/src/duckdb/src/include/duckdb/main/extension_helper.hpp +1 -0
- package/src/duckdb/src/include/duckdb/main/external_dependencies.hpp +2 -1
- package/src/duckdb/src/include/duckdb/main/prepared_statement.hpp +8 -8
- package/src/duckdb/src/include/duckdb/main/query_profiler.hpp +2 -59
- package/src/duckdb/src/include/duckdb/main/query_result.hpp +3 -3
- package/src/duckdb/src/include/duckdb/main/relation/query_relation.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/relation.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/secret/secret.hpp +11 -7
- package/src/duckdb/src/include/duckdb/main/secret/secret_manager.hpp +2 -2
- package/src/duckdb/src/include/duckdb/main/secret/secret_storage.hpp +4 -4
- package/src/duckdb/src/include/duckdb/main/settings.hpp +78 -70
- package/src/duckdb/src/include/duckdb/optimizer/column_lifetime_analyzer.hpp +45 -0
- package/src/duckdb/src/include/duckdb/optimizer/compressed_materialization.hpp +11 -13
- package/src/duckdb/src/include/duckdb/optimizer/join_order/cardinality_estimator.hpp +2 -2
- package/src/duckdb/src/include/duckdb/optimizer/join_order/cost_model.hpp +1 -1
- package/src/duckdb/src/include/duckdb/optimizer/join_order/join_node.hpp +1 -1
- package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph.hpp +1 -1
- package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph_manager.hpp +1 -1
- package/src/duckdb/src/include/duckdb/optimizer/join_order/relation_manager.hpp +1 -1
- package/src/duckdb/src/include/duckdb/optimizer/matcher/expression_matcher.hpp +7 -7
- package/src/duckdb/src/include/duckdb/optimizer/matcher/function_matcher.hpp +7 -7
- package/src/duckdb/src/include/duckdb/optimizer/matcher/type_matcher.hpp +1 -1
- package/src/duckdb/src/include/duckdb/optimizer/optimizer.hpp +3 -0
- package/src/duckdb/src/include/duckdb/optimizer/statistics_propagator.hpp +32 -30
- package/src/duckdb/src/include/duckdb/optimizer/unnest_rewriter.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parallel/event.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parallel/executor_task.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parallel/interrupt.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parallel/pipeline_event.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/column_list.hpp +4 -4
- package/src/duckdb/src/include/duckdb/parser/constraints/unique_constraint.hpp +49 -8
- package/src/duckdb/src/include/duckdb/parser/expression/bound_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_scalar_function_info.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_function_info.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/copy_database_info.hpp +40 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_function_info.hpp +2 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +1 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_info.hpp +2 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_macro_info.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_pragma_function_info.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_secret_info.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/parsed_data/extra_drop_info.hpp +3 -3
- package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +3 -2
- package/src/duckdb/src/include/duckdb/parser/parsed_data/vacuum_info.hpp +2 -5
- package/src/duckdb/src/include/duckdb/parser/parser.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parser_extension.hpp +3 -3
- package/src/duckdb/src/include/duckdb/parser/query_error_context.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/transformer.hpp +3 -5
- package/src/duckdb/src/include/duckdb/planner/bind_context.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/binder.hpp +16 -9
- package/src/duckdb/src/include/duckdb/planner/expression/bound_case_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_default_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_expanded_expression.hpp +34 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_subquery_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression_binder/base_select_binder.hpp +5 -8
- package/src/duckdb/src/include/duckdb/planner/expression_binder/column_alias_binder.hpp +3 -4
- package/src/duckdb/src/include/duckdb/planner/expression_binder/group_binder.hpp +3 -2
- package/src/duckdb/src/include/duckdb/planner/expression_binder/having_binder.hpp +3 -5
- package/src/duckdb/src/include/duckdb/planner/expression_binder/order_binder.hpp +6 -14
- package/src/duckdb/src/include/duckdb/planner/expression_binder/qualify_binder.hpp +3 -6
- package/src/duckdb/src/include/duckdb/planner/expression_binder/select_bind_state.hpp +52 -0
- package/src/duckdb/src/include/duckdb/planner/expression_binder/select_binder.hpp +4 -10
- package/src/duckdb/src/include/duckdb/planner/expression_binder/table_function_binder.hpp +5 -2
- package/src/duckdb/src/include/duckdb/planner/expression_binder.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/expression_iterator.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/filter/conjunction_filter.hpp +3 -6
- package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/logical_tokens.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/operator/list.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_copy_database.hpp +4 -12
- package/src/duckdb/src/include/duckdb/planner/operator/logical_create_secret.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_dummy_scan.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_explain.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_export.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_expression_get.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_extension_operator.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_materialized_cte.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_pragma.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_prepare.hpp +3 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +3 -3
- package/src/duckdb/src/include/duckdb/planner/operator/logical_reset.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_set.hpp +2 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_vacuum.hpp +52 -0
- package/src/duckdb/src/include/duckdb/planner/operator_extension.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/parsed_data/bound_create_table_info.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/query_node/bound_select_node.hpp +5 -4
- package/src/duckdb/src/include/duckdb/planner/subquery/flatten_dependent_join.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/arena_allocator.hpp +4 -1
- package/src/duckdb/src/include/duckdb/storage/buffer/block_handle.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/buffer_manager.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/checkpoint/row_group_writer.hpp +2 -3
- package/src/duckdb/src/include/duckdb/storage/checkpoint/string_checkpoint_state.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/checkpoint/table_data_writer.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/checkpoint_manager.hpp +5 -5
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_analyze.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_compress.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_fetch.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_scan.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/algorithm/alprd.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_analyze.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_compress.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_fetch.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_scan.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/algorithm/flag_buffer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/algorithm/leading_zero_buffer.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_analyze.hpp +0 -1
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_fetch.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_scan.hpp +4 -4
- package/src/duckdb/src/include/duckdb/storage/compression/patas/patas.hpp +4 -4
- package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_analyze.hpp +0 -1
- package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_fetch.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_scan.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/data_pointer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/index.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/magic_bytes.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/object_cache.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/optimistic_data_writer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/single_file_block_manager.hpp +4 -1
- package/src/duckdb/src/include/duckdb/storage/standard_buffer_manager.hpp +24 -24
- package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats_union.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/statistics/segment_statistics.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/storage_info.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +4 -4
- package/src/duckdb/src/include/duckdb/storage/string_uncompressed.hpp +9 -6
- package/src/duckdb/src/include/duckdb/storage/table/append_state.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/chunk_info.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +10 -1
- package/src/duckdb/src/include/duckdb/storage/table/data_table_info.hpp +3 -2
- package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/row_group_segment_tree.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/row_version_manager.hpp +2 -1
- package/src/duckdb/src/include/duckdb/storage/table/scan_state.hpp +3 -3
- package/src/duckdb/src/include/duckdb/storage/table/segment_lock.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/segment_tree.hpp +4 -4
- package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +2 -0
- package/src/duckdb/src/include/duckdb/storage/table/table_index_list.hpp +3 -2
- package/src/duckdb/src/include/duckdb/storage/table/table_statistics.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/update_segment.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table_storage_info.hpp +2 -1
- package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +1 -1
- package/src/duckdb/src/include/duckdb/transaction/delete_info.hpp +20 -1
- package/src/duckdb/src/include/duckdb/transaction/transaction.hpp +1 -1
- package/src/duckdb/src/include/duckdb/transaction/transaction_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/transaction/undo_buffer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/transaction/update_info.hpp +1 -1
- package/src/duckdb/src/main/appender.cpp +1 -1
- package/src/duckdb/src/main/attached_database.cpp +11 -3
- package/src/duckdb/src/main/capi/arrow-c.cpp +6 -2
- package/src/duckdb/src/main/capi/cast/utils-c.cpp +1 -1
- package/src/duckdb/src/main/capi/duckdb-c.cpp +1 -1
- package/src/duckdb/src/main/capi/pending-c.cpp +1 -1
- package/src/duckdb/src/main/capi/prepared-c.cpp +2 -2
- package/src/duckdb/src/main/capi/result-c.cpp +4 -4
- package/src/duckdb/src/main/client_context.cpp +4 -12
- package/src/duckdb/src/main/client_context_file_opener.cpp +15 -3
- package/src/duckdb/src/main/client_data.cpp +5 -0
- package/src/duckdb/src/main/config.cpp +82 -82
- package/src/duckdb/src/main/database.cpp +31 -7
- package/src/duckdb/src/main/database_manager.cpp +3 -2
- package/src/duckdb/src/main/database_path_and_type.cpp +4 -4
- package/src/duckdb/src/main/error_manager.cpp +1 -1
- package/src/duckdb/src/main/extension/extension_alias.cpp +9 -9
- package/src/duckdb/src/main/extension/extension_helper.cpp +10 -5
- package/src/duckdb/src/main/extension/extension_install.cpp +1 -1
- package/src/duckdb/src/main/extension/extension_load.cpp +111 -37
- package/src/duckdb/src/main/query_profiler.cpp +1 -118
- package/src/duckdb/src/main/secret/secret_manager.cpp +1 -2
- package/src/duckdb/src/main/secret/secret_storage.cpp +1 -1
- package/src/duckdb/src/main/settings/settings.cpp +81 -65
- package/src/duckdb/src/optimizer/column_lifetime_analyzer.cpp +8 -1
- package/src/duckdb/src/optimizer/compressed_materialization/compress_aggregate.cpp +3 -0
- package/src/duckdb/src/optimizer/compressed_materialization.cpp +26 -28
- package/src/duckdb/src/optimizer/cse_optimizer.cpp +5 -5
- package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +10 -6
- package/src/duckdb/src/optimizer/optimizer.cpp +14 -17
- package/src/duckdb/src/optimizer/pushdown/pushdown_cross_product.cpp +16 -5
- package/src/duckdb/src/optimizer/pushdown/pushdown_inner_join.cpp +7 -4
- package/src/duckdb/src/optimizer/pushdown/pushdown_set_operation.cpp +2 -2
- package/src/duckdb/src/optimizer/remove_unused_columns.cpp +3 -3
- package/src/duckdb/src/optimizer/rule/ordered_aggregate_optimizer.cpp +2 -2
- package/src/duckdb/src/optimizer/statistics/expression/propagate_aggregate.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/expression/propagate_between.cpp +8 -8
- package/src/duckdb/src/optimizer/statistics/expression/propagate_case.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/expression/propagate_cast.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/expression/propagate_columnref.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/expression/propagate_comparison.cpp +7 -7
- package/src/duckdb/src/optimizer/statistics/expression/propagate_conjunction.cpp +6 -6
- package/src/duckdb/src/optimizer/statistics/expression/propagate_constant.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/expression/propagate_function.cpp +2 -2
- package/src/duckdb/src/optimizer/statistics/expression/propagate_operator.cpp +10 -10
- package/src/duckdb/src/optimizer/statistics/operator/propagate_aggregate.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/operator/propagate_cross_product.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/operator/propagate_filter.cpp +14 -7
- package/src/duckdb/src/optimizer/statistics/operator/propagate_get.cpp +2 -2
- package/src/duckdb/src/optimizer/statistics/operator/propagate_join.cpp +9 -9
- package/src/duckdb/src/optimizer/statistics/operator/propagate_limit.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/operator/propagate_order.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/operator/propagate_projection.cpp +2 -2
- package/src/duckdb/src/optimizer/statistics/operator/propagate_set_operation.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/operator/propagate_window.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics_propagator.cpp +39 -18
- package/src/duckdb/src/parallel/pipeline_finish_event.cpp +1 -1
- package/src/duckdb/src/parallel/task_scheduler.cpp +8 -1
- package/src/duckdb/src/parser/constraints/unique_constraint.cpp +4 -2
- package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +64 -0
- package/src/duckdb/src/parser/parsed_data/vacuum_info.cpp +1 -0
- package/src/duckdb/src/parser/transform/expression/transform_function.cpp +13 -5
- package/src/duckdb/src/parser/transform/expression/transform_subquery.cpp +24 -0
- package/src/duckdb/src/parser/transform/helpers/transform_cte.cpp +1 -8
- package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +2 -1
- package/src/duckdb/src/parser/transform/statement/transform_create_index.cpp +3 -0
- package/src/duckdb/src/parser/transform/statement/transform_delete.cpp +2 -6
- package/src/duckdb/src/parser/transform/statement/transform_insert.cpp +2 -6
- package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +2 -6
- package/src/duckdb/src/parser/transform/statement/transform_pragma.cpp +1 -1
- package/src/duckdb/src/parser/transform/statement/transform_select.cpp +5 -2
- package/src/duckdb/src/parser/transform/statement/transform_select_node.cpp +2 -8
- package/src/duckdb/src/parser/transform/statement/transform_update.cpp +1 -6
- package/src/duckdb/src/parser/transform/statement/transform_use.cpp +3 -2
- package/src/duckdb/src/parser/transformer.cpp +14 -2
- package/src/duckdb/src/planner/binder/expression/bind_aggregate_expression.cpp +40 -17
- package/src/duckdb/src/planner/binder/expression/bind_unnest_expression.cpp +8 -3
- package/src/duckdb/src/planner/binder/expression/bind_window_expression.cpp +32 -30
- package/src/duckdb/src/planner/binder/query_node/bind_cte_node.cpp +28 -17
- package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +146 -101
- package/src/duckdb/src/planner/binder/query_node/bind_setop_node.cpp +28 -26
- package/src/duckdb/src/planner/binder/query_node/plan_cte_node.cpp +29 -0
- package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +10 -10
- package/src/duckdb/src/planner/binder/statement/bind_copy.cpp +3 -2
- package/src/duckdb/src/planner/binder/statement/bind_copy_database.cpp +23 -28
- package/src/duckdb/src/planner/binder/statement/bind_create.cpp +11 -12
- package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +9 -11
- package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +10 -13
- package/src/duckdb/src/planner/binder/statement/bind_pragma.cpp +3 -3
- package/src/duckdb/src/planner/binder/statement/bind_set.cpp +3 -0
- package/src/duckdb/src/planner/binder/statement/bind_vacuum.cpp +66 -65
- package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +54 -46
- package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +3 -0
- package/src/duckdb/src/planner/binder/tableref/bind_subqueryref.cpp +1 -1
- package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +5 -5
- package/src/duckdb/src/planner/binder.cpp +78 -6
- package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +11 -3
- package/src/duckdb/src/planner/expression/bound_expanded_expression.cpp +22 -0
- package/src/duckdb/src/planner/expression_binder/base_select_binder.cpp +11 -58
- package/src/duckdb/src/planner/expression_binder/column_alias_binder.cpp +5 -8
- package/src/duckdb/src/planner/expression_binder/group_binder.cpp +5 -4
- package/src/duckdb/src/planner/expression_binder/having_binder.cpp +5 -19
- package/src/duckdb/src/planner/expression_binder/lateral_binder.cpp +8 -8
- package/src/duckdb/src/planner/expression_binder/order_binder.cpp +42 -26
- package/src/duckdb/src/planner/expression_binder/qualify_binder.cpp +3 -22
- package/src/duckdb/src/planner/expression_binder/select_bind_state.cpp +52 -0
- package/src/duckdb/src/planner/expression_binder/select_binder.cpp +43 -5
- package/src/duckdb/src/planner/expression_binder/table_function_binder.cpp +19 -7
- package/src/duckdb/src/planner/logical_operator.cpp +20 -3
- package/src/duckdb/src/planner/operator/logical_copy_database.cpp +4 -14
- package/src/duckdb/src/planner/operator/logical_delete.cpp +1 -1
- package/src/duckdb/src/planner/operator/logical_get.cpp +1 -1
- package/src/duckdb/src/planner/operator/logical_insert.cpp +1 -1
- package/src/duckdb/src/planner/operator/logical_update.cpp +1 -1
- package/src/duckdb/src/planner/operator/logical_vacuum.cpp +65 -0
- package/src/duckdb/src/planner/planner.cpp +4 -4
- package/src/duckdb/src/planner/subquery/flatten_dependent_join.cpp +26 -27
- package/src/duckdb/src/storage/arena_allocator.cpp +9 -0
- package/src/duckdb/src/storage/buffer/buffer_pool_reservation.cpp +1 -1
- package/src/duckdb/src/storage/buffer_manager.cpp +2 -10
- package/src/duckdb/src/storage/checkpoint/table_data_writer.cpp +2 -3
- package/src/duckdb/src/storage/checkpoint_manager.cpp +15 -8
- package/src/duckdb/src/storage/compression/bitpacking.cpp +6 -1
- package/src/duckdb/src/storage/compression/string_uncompressed.cpp +1 -1
- package/src/duckdb/src/storage/data_pointer.cpp +1 -1
- package/src/duckdb/src/storage/data_table.cpp +18 -7
- package/src/duckdb/src/storage/local_storage.cpp +8 -5
- package/src/duckdb/src/storage/magic_bytes.cpp +6 -5
- package/src/duckdb/src/storage/partial_block_manager.cpp +1 -1
- package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +20 -9
- package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +12 -10
- package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +23 -0
- package/src/duckdb/src/storage/single_file_block_manager.cpp +46 -19
- package/src/duckdb/src/storage/standard_buffer_manager.cpp +21 -5
- package/src/duckdb/src/storage/statistics/array_stats.cpp +1 -1
- package/src/duckdb/src/storage/statistics/base_statistics.cpp +2 -3
- package/src/duckdb/src/storage/statistics/list_stats.cpp +1 -1
- package/src/duckdb/src/storage/statistics/struct_stats.cpp +1 -1
- package/src/duckdb/src/storage/storage_info.cpp +19 -19
- package/src/duckdb/src/storage/storage_manager.cpp +18 -13
- package/src/duckdb/src/storage/table/chunk_info.cpp +11 -3
- package/src/duckdb/src/storage/table/column_data.cpp +88 -66
- package/src/duckdb/src/storage/table/row_group.cpp +7 -7
- package/src/duckdb/src/storage/table/row_version_manager.cpp +2 -2
- package/src/duckdb/src/storage/table/standard_column_data.cpp +4 -0
- package/src/duckdb/src/storage/table/update_segment.cpp +3 -1
- package/src/duckdb/src/storage/table_index_list.cpp +6 -1
- package/src/duckdb/src/storage/temporary_file_manager.cpp +1 -1
- package/src/duckdb/src/storage/wal_replay.cpp +8 -7
- package/src/duckdb/src/storage/write_ahead_log.cpp +3 -4
- package/src/duckdb/src/transaction/cleanup_state.cpp +10 -3
- package/src/duckdb/src/transaction/commit_state.cpp +11 -4
- package/src/duckdb/src/transaction/duck_transaction.cpp +23 -3
- package/src/duckdb/src/transaction/rollback_state.cpp +1 -1
- package/src/duckdb/src/transaction/transaction_context.cpp +1 -1
- package/src/duckdb/src/transaction/undo_buffer.cpp +3 -1
- package/src/duckdb/third_party/fmt/include/fmt/core.h +0 -5
- package/src/duckdb/third_party/fsst/fsst.h +1 -1
- package/src/duckdb/third_party/fsst/libfsst.cpp +1 -140
- package/src/duckdb/third_party/fsst/libfsst.hpp +0 -13
- package/src/duckdb/third_party/hyperloglog/hyperloglog.hpp +4 -0
- package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +8 -1
- package/src/duckdb/third_party/libpg_query/include/parser/gram.hpp +2 -1
- package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +15401 -15354
- package/src/duckdb/third_party/libpg_query/src_backend_parser_scan.cpp +299 -538
- package/src/duckdb/third_party/lz4/lz4.cpp +2605 -0
- package/src/duckdb/third_party/lz4/lz4.hpp +843 -0
- package/src/duckdb/third_party/parquet/parquet_types.cpp +3 -0
- package/src/duckdb/third_party/parquet/parquet_types.h +2 -1
- package/src/duckdb/third_party/re2/re2/bitmap256.cc +44 -0
- package/src/duckdb/third_party/re2/re2/bitmap256.h +3 -35
- package/src/duckdb/third_party/re2/re2/bitstate.cc +31 -24
- package/src/duckdb/third_party/re2/re2/compile.cc +146 -164
- package/src/duckdb/third_party/re2/re2/dfa.cc +174 -181
- package/src/duckdb/third_party/re2/re2/filtered_re2.cc +19 -3
- package/src/duckdb/third_party/re2/re2/filtered_re2.h +27 -23
- package/src/duckdb/third_party/re2/re2/mimics_pcre.cc +21 -11
- package/src/duckdb/third_party/re2/re2/nfa.cc +91 -131
- package/src/duckdb/third_party/re2/re2/onepass.cc +11 -10
- package/src/duckdb/third_party/re2/re2/parse.cc +171 -154
- package/src/duckdb/third_party/re2/re2/perl_groups.cc +35 -35
- package/src/duckdb/third_party/re2/re2/pod_array.h +55 -0
- package/src/duckdb/third_party/re2/re2/prefilter.cc +40 -40
- package/src/duckdb/third_party/re2/re2/prefilter.h +24 -2
- package/src/duckdb/third_party/re2/re2/prefilter_tree.cc +70 -84
- package/src/duckdb/third_party/re2/re2/prefilter_tree.h +5 -4
- package/src/duckdb/third_party/re2/re2/prog.cc +315 -58
- package/src/duckdb/third_party/re2/re2/prog.h +77 -44
- package/src/duckdb/third_party/re2/re2/re2.cc +333 -221
- package/src/duckdb/third_party/re2/re2/re2.h +277 -201
- package/src/duckdb/third_party/re2/re2/regexp.cc +137 -105
- package/src/duckdb/third_party/re2/re2/regexp.h +45 -40
- package/src/duckdb/third_party/re2/re2/set.cc +40 -17
- package/src/duckdb/third_party/re2/re2/set.h +11 -6
- package/src/duckdb/third_party/re2/re2/simplify.cc +50 -41
- package/src/duckdb/third_party/re2/re2/sparse_array.h +392 -0
- package/src/duckdb/third_party/re2/re2/sparse_set.h +264 -0
- package/src/duckdb/third_party/re2/re2/stringpiece.cc +1 -1
- package/src/duckdb/third_party/re2/re2/stringpiece.h +11 -8
- package/src/duckdb/third_party/re2/re2/tostring.cc +8 -6
- package/src/duckdb/third_party/re2/re2/unicode_casefold.cc +39 -10
- package/src/duckdb/third_party/re2/re2/unicode_casefold.h +1 -1
- package/src/duckdb/third_party/re2/re2/unicode_groups.cc +5019 -4566
- package/src/duckdb/third_party/re2/re2/unicode_groups.h +1 -1
- package/src/duckdb/third_party/re2/re2/walker-inl.h +21 -20
- package/src/duckdb/third_party/re2/util/logging.h +14 -18
- package/src/duckdb/third_party/re2/util/mix.h +4 -4
- package/src/duckdb/third_party/re2/util/mutex.h +48 -15
- package/src/duckdb/third_party/re2/util/rune.cc +5 -5
- package/src/duckdb/third_party/re2/util/strutil.cc +1 -16
- package/src/duckdb/third_party/re2/util/strutil.h +1 -3
- package/src/duckdb/third_party/re2/util/utf.h +1 -1
- package/src/duckdb/third_party/re2/util/util.h +9 -1
- package/src/duckdb/third_party/utf8proc/include/utf8proc_wrapper.hpp +2 -0
- package/src/duckdb/third_party/utf8proc/utf8proc_wrapper.cpp +36 -1
- package/src/duckdb/ub_src_common.cpp +0 -2
- package/src/duckdb/ub_src_execution_physical_plan.cpp +2 -0
- package/src/duckdb/ub_src_planner_expression.cpp +2 -0
- package/src/duckdb/ub_src_planner_expression_binder.cpp +2 -0
- package/src/duckdb/ub_src_planner_operator.cpp +2 -0
- package/test/jsdoc.test.ts +3 -0
|
@@ -67,6 +67,8 @@ struct DuckDBAdbcStatementWrapper {
|
|
|
67
67
|
char *ingestion_table_name;
|
|
68
68
|
ArrowArrayStream ingestion_stream;
|
|
69
69
|
IngestionMode ingestion_mode = IngestionMode::CREATE;
|
|
70
|
+
uint8_t *substrait_plan;
|
|
71
|
+
uint64_t plan_length;
|
|
70
72
|
};
|
|
71
73
|
|
|
72
74
|
static AdbcStatusCode QueryInternal(struct AdbcConnection *connection, struct ArrowArrayStream *out, const char *query,
|
|
@@ -168,11 +170,10 @@ AdbcStatusCode StatementSetSubstraitPlan(struct AdbcStatement *statement, const
|
|
|
168
170
|
return ADBC_STATUS_INVALID_ARGUMENT;
|
|
169
171
|
}
|
|
170
172
|
auto wrapper = reinterpret_cast<DuckDBAdbcStatementWrapper *>(statement->private_data);
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
return CheckResult(res, error, error_msg);
|
|
173
|
+
wrapper->substrait_plan = (uint8_t *)malloc(sizeof(uint8_t) * (length));
|
|
174
|
+
wrapper->plan_length = length;
|
|
175
|
+
memcpy(wrapper->substrait_plan, plan, length);
|
|
176
|
+
return ADBC_STATUS_OK;
|
|
176
177
|
}
|
|
177
178
|
|
|
178
179
|
AdbcStatusCode DatabaseSetOption(struct AdbcDatabase *database, const char *key, const char *value,
|
|
@@ -234,16 +235,11 @@ AdbcStatusCode ConnectionGetTableSchema(struct AdbcConnection *connection, const
|
|
|
234
235
|
SetError(error, "Connection is not set");
|
|
235
236
|
return ADBC_STATUS_INVALID_ARGUMENT;
|
|
236
237
|
}
|
|
237
|
-
if (db_schema == nullptr) {
|
|
238
|
+
if (db_schema == nullptr || strlen(db_schema) == 0) {
|
|
238
239
|
// if schema is not set, we use the default schema
|
|
239
240
|
db_schema = "main";
|
|
240
241
|
}
|
|
241
|
-
if (
|
|
242
|
-
// In DuckDB this is the name of the database, not sure what's the expected functionality here, so for now,
|
|
243
|
-
// scream.
|
|
244
|
-
SetError(error, "Catalog Name is not used in DuckDB. It must be set to nullptr or an empty string");
|
|
245
|
-
return ADBC_STATUS_NOT_IMPLEMENTED;
|
|
246
|
-
} else if (table_name == nullptr) {
|
|
242
|
+
if (table_name == nullptr) {
|
|
247
243
|
SetError(error, "AdbcConnectionGetTableSchema: must provide table_name");
|
|
248
244
|
return ADBC_STATUS_INVALID_ARGUMENT;
|
|
249
245
|
} else if (strlen(table_name) == 0) {
|
|
@@ -253,9 +249,10 @@ AdbcStatusCode ConnectionGetTableSchema(struct AdbcConnection *connection, const
|
|
|
253
249
|
ArrowArrayStream arrow_stream;
|
|
254
250
|
|
|
255
251
|
std::string query = "SELECT * FROM ";
|
|
256
|
-
if (strlen(
|
|
257
|
-
query += std::string(
|
|
252
|
+
if (catalog != nullptr && strlen(catalog) > 0) {
|
|
253
|
+
query += std::string(catalog) + ".";
|
|
258
254
|
}
|
|
255
|
+
query += std::string(db_schema) + ".";
|
|
259
256
|
query += std::string(table_name) + " LIMIT 0;";
|
|
260
257
|
|
|
261
258
|
auto success = QueryInternal(connection, &arrow_stream, query.c_str(), error);
|
|
@@ -643,6 +640,8 @@ AdbcStatusCode StatementNew(struct AdbcConnection *connection, struct AdbcStatem
|
|
|
643
640
|
statement_wrapper->result = nullptr;
|
|
644
641
|
statement_wrapper->ingestion_stream.release = nullptr;
|
|
645
642
|
statement_wrapper->ingestion_table_name = nullptr;
|
|
643
|
+
statement_wrapper->substrait_plan = nullptr;
|
|
644
|
+
|
|
646
645
|
statement_wrapper->ingestion_mode = IngestionMode::CREATE;
|
|
647
646
|
return ADBC_STATUS_OK;
|
|
648
647
|
}
|
|
@@ -668,6 +667,10 @@ AdbcStatusCode StatementRelease(struct AdbcStatement *statement, struct AdbcErro
|
|
|
668
667
|
free(wrapper->ingestion_table_name);
|
|
669
668
|
wrapper->ingestion_table_name = nullptr;
|
|
670
669
|
}
|
|
670
|
+
if (wrapper->substrait_plan) {
|
|
671
|
+
free(wrapper->substrait_plan);
|
|
672
|
+
wrapper->substrait_plan = nullptr;
|
|
673
|
+
}
|
|
671
674
|
free(statement->private_data);
|
|
672
675
|
statement->private_data = nullptr;
|
|
673
676
|
return ADBC_STATUS_OK;
|
|
@@ -758,8 +761,24 @@ AdbcStatusCode StatementExecuteQuery(struct AdbcStatement *statement, struct Arr
|
|
|
758
761
|
if (has_stream && to_table) {
|
|
759
762
|
return IngestToTableFromBoundStream(wrapper, error);
|
|
760
763
|
}
|
|
761
|
-
|
|
762
|
-
|
|
764
|
+
if (wrapper->substrait_plan != nullptr) {
|
|
765
|
+
auto plan_str = std::string(reinterpret_cast<const char *>(wrapper->substrait_plan), wrapper->plan_length);
|
|
766
|
+
duckdb::vector<duckdb::Value> params;
|
|
767
|
+
params.emplace_back(duckdb::Value::BLOB_RAW(plan_str));
|
|
768
|
+
duckdb::unique_ptr<duckdb::QueryResult> query_result;
|
|
769
|
+
try {
|
|
770
|
+
query_result =
|
|
771
|
+
((duckdb::Connection *)wrapper->connection)->TableFunction("from_substrait", params)->Execute();
|
|
772
|
+
} catch (duckdb::Exception &e) {
|
|
773
|
+
std::string error_msg = "It was not possible to execute substrait query. " + std::string(e.what());
|
|
774
|
+
SetError(error, error_msg);
|
|
775
|
+
return ADBC_STATUS_INVALID_ARGUMENT;
|
|
776
|
+
}
|
|
777
|
+
auto arrow_wrapper = new duckdb::ArrowResultWrapper();
|
|
778
|
+
arrow_wrapper->result =
|
|
779
|
+
duckdb::unique_ptr_cast<duckdb::QueryResult, duckdb::MaterializedQueryResult>(std::move(query_result));
|
|
780
|
+
wrapper->result = reinterpret_cast<duckdb_arrow>(arrow_wrapper);
|
|
781
|
+
} else if (has_stream) {
|
|
763
782
|
// A stream was bound to the statement, use that to bind parameters
|
|
764
783
|
duckdb::unique_ptr<duckdb::QueryResult> result;
|
|
765
784
|
ArrowArrayStream stream = wrapper->ingestion_stream;
|
|
@@ -960,57 +979,280 @@ AdbcStatusCode StatementSetOption(struct AdbcStatement *statement, const char *k
|
|
|
960
979
|
AdbcStatusCode ConnectionGetObjects(struct AdbcConnection *connection, int depth, const char *catalog,
|
|
961
980
|
const char *db_schema, const char *table_name, const char **table_type,
|
|
962
981
|
const char *column_name, struct ArrowArrayStream *out, struct AdbcError *error) {
|
|
963
|
-
if (catalog != nullptr) {
|
|
964
|
-
if (strcmp(catalog, "duckdb") == 0) {
|
|
965
|
-
SetError(error, "catalog must be NULL or 'duckdb'");
|
|
966
|
-
return ADBC_STATUS_INVALID_ARGUMENT;
|
|
967
|
-
}
|
|
968
|
-
}
|
|
969
|
-
|
|
970
982
|
if (table_type != nullptr) {
|
|
971
983
|
SetError(error, "Table types parameter not yet supported");
|
|
972
984
|
return ADBC_STATUS_NOT_IMPLEMENTED;
|
|
973
985
|
}
|
|
986
|
+
|
|
987
|
+
std::string catalog_filter = catalog ? catalog : "%";
|
|
988
|
+
std::string db_schema_filter = db_schema ? db_schema : "%";
|
|
989
|
+
std::string table_name_filter = table_name ? table_name : "%";
|
|
990
|
+
std::string column_name_filter = column_name ? column_name : "%";
|
|
991
|
+
|
|
974
992
|
std::string query;
|
|
975
993
|
switch (depth) {
|
|
976
994
|
case ADBC_OBJECT_DEPTH_CATALOGS:
|
|
977
|
-
|
|
978
|
-
|
|
995
|
+
// Return metadata on catalogs.
|
|
996
|
+
query = duckdb::StringUtil::Format(R"(
|
|
997
|
+
SELECT
|
|
998
|
+
catalog_name,
|
|
999
|
+
[]::STRUCT(
|
|
1000
|
+
db_schema_name VARCHAR,
|
|
1001
|
+
db_schema_tables STRUCT(
|
|
1002
|
+
table_name VARCHAR,
|
|
1003
|
+
table_type VARCHAR,
|
|
1004
|
+
table_columns STRUCT(
|
|
1005
|
+
column_name VARCHAR,
|
|
1006
|
+
ordinal_position INTEGER,
|
|
1007
|
+
remarks VARCHAR,
|
|
1008
|
+
xdbc_data_type SMALLINT,
|
|
1009
|
+
xdbc_type_name VARCHAR,
|
|
1010
|
+
xdbc_column_size INTEGER,
|
|
1011
|
+
xdbc_decimal_digits SMALLINT,
|
|
1012
|
+
xdbc_num_prec_radix SMALLINT,
|
|
1013
|
+
xdbc_nullable SMALLINT,
|
|
1014
|
+
xdbc_column_def VARCHAR,
|
|
1015
|
+
xdbc_sql_data_type SMALLINT,
|
|
1016
|
+
xdbc_datetime_sub SMALLINT,
|
|
1017
|
+
xdbc_char_octet_length INTEGER,
|
|
1018
|
+
xdbc_is_nullable VARCHAR,
|
|
1019
|
+
xdbc_scope_catalog VARCHAR,
|
|
1020
|
+
xdbc_scope_schema VARCHAR,
|
|
1021
|
+
xdbc_scope_table VARCHAR,
|
|
1022
|
+
xdbc_is_autoincrement BOOLEAN,
|
|
1023
|
+
xdbc_is_generatedcolumn BOOLEAN
|
|
1024
|
+
)[],
|
|
1025
|
+
table_constraints STRUCT(
|
|
1026
|
+
constraint_name VARCHAR,
|
|
1027
|
+
constraint_type VARCHAR,
|
|
1028
|
+
constraint_column_names VARCHAR[],
|
|
1029
|
+
constraint_column_usage STRUCT(fk_catalog VARCHAR, fk_db_schema VARCHAR, fk_table VARCHAR, fk_column_name VARCHAR)[]
|
|
1030
|
+
)[]
|
|
1031
|
+
)[]
|
|
1032
|
+
)[] catalog_db_schemas
|
|
1033
|
+
FROM
|
|
1034
|
+
information_schema.schemata
|
|
1035
|
+
WHERE catalog_name LIKE '%s'
|
|
1036
|
+
GROUP BY catalog_name
|
|
1037
|
+
)",
|
|
1038
|
+
catalog_filter);
|
|
1039
|
+
break;
|
|
979
1040
|
case ADBC_OBJECT_DEPTH_DB_SCHEMAS:
|
|
980
1041
|
// Return metadata on catalogs and schemas.
|
|
981
1042
|
query = duckdb::StringUtil::Format(R"(
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
1043
|
+
WITH db_schemas AS (
|
|
1044
|
+
SELECT
|
|
1045
|
+
catalog_name,
|
|
1046
|
+
schema_name,
|
|
1047
|
+
FROM information_schema.schemata
|
|
1048
|
+
WHERE schema_name LIKE '%s'
|
|
1049
|
+
)
|
|
1050
|
+
|
|
1051
|
+
SELECT
|
|
1052
|
+
catalog_name,
|
|
1053
|
+
LIST({
|
|
1054
|
+
db_schema_name: schema_name,
|
|
1055
|
+
db_schema_tables: []::STRUCT(
|
|
1056
|
+
table_name VARCHAR,
|
|
1057
|
+
table_type VARCHAR,
|
|
1058
|
+
table_columns STRUCT(
|
|
1059
|
+
column_name VARCHAR,
|
|
1060
|
+
ordinal_position INTEGER,
|
|
1061
|
+
remarks VARCHAR,
|
|
1062
|
+
xdbc_data_type SMALLINT,
|
|
1063
|
+
xdbc_type_name VARCHAR,
|
|
1064
|
+
xdbc_column_size INTEGER,
|
|
1065
|
+
xdbc_decimal_digits SMALLINT,
|
|
1066
|
+
xdbc_num_prec_radix SMALLINT,
|
|
1067
|
+
xdbc_nullable SMALLINT,
|
|
1068
|
+
xdbc_column_def VARCHAR,
|
|
1069
|
+
xdbc_sql_data_type SMALLINT,
|
|
1070
|
+
xdbc_datetime_sub SMALLINT,
|
|
1071
|
+
xdbc_char_octet_length INTEGER,
|
|
1072
|
+
xdbc_is_nullable VARCHAR,
|
|
1073
|
+
xdbc_scope_catalog VARCHAR,
|
|
1074
|
+
xdbc_scope_schema VARCHAR,
|
|
1075
|
+
xdbc_scope_table VARCHAR,
|
|
1076
|
+
xdbc_is_autoincrement BOOLEAN,
|
|
1077
|
+
xdbc_is_generatedcolumn BOOLEAN
|
|
1078
|
+
)[],
|
|
1079
|
+
table_constraints STRUCT(
|
|
1080
|
+
constraint_name VARCHAR,
|
|
1081
|
+
constraint_type VARCHAR,
|
|
1082
|
+
constraint_column_names VARCHAR[],
|
|
1083
|
+
constraint_column_usage STRUCT(fk_catalog VARCHAR, fk_db_schema VARCHAR, fk_table VARCHAR, fk_column_name VARCHAR)[]
|
|
1084
|
+
)[]
|
|
1085
|
+
)[],
|
|
1086
|
+
}) FILTER (dbs.schema_name is not null) catalog_db_schemas
|
|
1087
|
+
FROM
|
|
1088
|
+
information_schema.schemata
|
|
1089
|
+
LEFT JOIN db_schemas dbs
|
|
1090
|
+
USING (catalog_name, schema_name)
|
|
1091
|
+
WHERE catalog_name LIKE '%s'
|
|
1092
|
+
GROUP BY catalog_name
|
|
985
1093
|
)",
|
|
986
|
-
|
|
987
|
-
column_name ? column_name : "%");
|
|
1094
|
+
db_schema_filter, catalog_filter);
|
|
988
1095
|
break;
|
|
989
1096
|
case ADBC_OBJECT_DEPTH_TABLES:
|
|
990
1097
|
// Return metadata on catalogs, schemas, and tables.
|
|
991
1098
|
query = duckdb::StringUtil::Format(R"(
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
1099
|
+
WITH tables AS (
|
|
1100
|
+
SELECT
|
|
1101
|
+
table_catalog catalog_name,
|
|
1102
|
+
table_schema schema_name,
|
|
1103
|
+
LIST({
|
|
1104
|
+
table_name: table_name,
|
|
1105
|
+
table_type: table_type,
|
|
1106
|
+
table_columns: []::STRUCT(
|
|
1107
|
+
column_name VARCHAR,
|
|
1108
|
+
ordinal_position INTEGER,
|
|
1109
|
+
remarks VARCHAR,
|
|
1110
|
+
xdbc_data_type SMALLINT,
|
|
1111
|
+
xdbc_type_name VARCHAR,
|
|
1112
|
+
xdbc_column_size INTEGER,
|
|
1113
|
+
xdbc_decimal_digits SMALLINT,
|
|
1114
|
+
xdbc_num_prec_radix SMALLINT,
|
|
1115
|
+
xdbc_nullable SMALLINT,
|
|
1116
|
+
xdbc_column_def VARCHAR,
|
|
1117
|
+
xdbc_sql_data_type SMALLINT,
|
|
1118
|
+
xdbc_datetime_sub SMALLINT,
|
|
1119
|
+
xdbc_char_octet_length INTEGER,
|
|
1120
|
+
xdbc_is_nullable VARCHAR,
|
|
1121
|
+
xdbc_scope_catalog VARCHAR,
|
|
1122
|
+
xdbc_scope_schema VARCHAR,
|
|
1123
|
+
xdbc_scope_table VARCHAR,
|
|
1124
|
+
xdbc_is_autoincrement BOOLEAN,
|
|
1125
|
+
xdbc_is_generatedcolumn BOOLEAN
|
|
1126
|
+
)[],
|
|
1127
|
+
table_constraints: []::STRUCT(
|
|
1128
|
+
constraint_name VARCHAR,
|
|
1129
|
+
constraint_type VARCHAR,
|
|
1130
|
+
constraint_column_names VARCHAR[],
|
|
1131
|
+
constraint_column_usage STRUCT(fk_catalog VARCHAR, fk_db_schema VARCHAR, fk_table VARCHAR, fk_column_name VARCHAR)[]
|
|
1132
|
+
)[],
|
|
1133
|
+
}) db_schema_tables
|
|
1134
|
+
FROM information_schema.tables
|
|
1135
|
+
WHERE table_name LIKE '%s'
|
|
1136
|
+
GROUP BY table_catalog, table_schema
|
|
1137
|
+
),
|
|
1138
|
+
db_schemas AS (
|
|
1139
|
+
SELECT
|
|
1140
|
+
catalog_name,
|
|
1141
|
+
schema_name,
|
|
1142
|
+
db_schema_tables,
|
|
1143
|
+
FROM information_schema.schemata
|
|
1144
|
+
LEFT JOIN tables
|
|
1145
|
+
USING (catalog_name, schema_name)
|
|
1146
|
+
WHERE schema_name LIKE '%s'
|
|
1147
|
+
)
|
|
1148
|
+
|
|
1149
|
+
SELECT
|
|
1150
|
+
catalog_name,
|
|
1151
|
+
LIST({
|
|
1152
|
+
db_schema_name: schema_name,
|
|
1153
|
+
db_schema_tables: db_schema_tables,
|
|
1154
|
+
}) FILTER (dbs.schema_name is not null) catalog_db_schemas
|
|
1155
|
+
FROM
|
|
1156
|
+
information_schema.schemata
|
|
1157
|
+
LEFT JOIN db_schemas dbs
|
|
1158
|
+
USING (catalog_name, schema_name)
|
|
1159
|
+
WHERE catalog_name LIKE '%s'
|
|
1160
|
+
GROUP BY catalog_name
|
|
998
1161
|
)",
|
|
999
|
-
|
|
1000
|
-
column_name ? column_name : "%");
|
|
1162
|
+
table_name_filter, db_schema_filter, catalog_filter);
|
|
1001
1163
|
break;
|
|
1002
1164
|
case ADBC_OBJECT_DEPTH_COLUMNS:
|
|
1003
1165
|
// Return metadata on catalogs, schemas, tables, and columns.
|
|
1004
1166
|
query = duckdb::StringUtil::Format(R"(
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1167
|
+
WITH columns AS (
|
|
1168
|
+
SELECT
|
|
1169
|
+
table_catalog,
|
|
1170
|
+
table_schema,
|
|
1171
|
+
table_name,
|
|
1172
|
+
LIST({
|
|
1173
|
+
column_name: column_name,
|
|
1174
|
+
ordinal_position: ordinal_position,
|
|
1175
|
+
remarks : '',
|
|
1176
|
+
xdbc_data_type: NULL::SMALLINT,
|
|
1177
|
+
xdbc_type_name: NULL::VARCHAR,
|
|
1178
|
+
xdbc_column_size: NULL::INTEGER,
|
|
1179
|
+
xdbc_decimal_digits: NULL::SMALLINT,
|
|
1180
|
+
xdbc_num_prec_radix: NULL::SMALLINT,
|
|
1181
|
+
xdbc_nullable: NULL::SMALLINT,
|
|
1182
|
+
xdbc_column_def: NULL::VARCHAR,
|
|
1183
|
+
xdbc_sql_data_type: NULL::SMALLINT,
|
|
1184
|
+
xdbc_datetime_sub: NULL::SMALLINT,
|
|
1185
|
+
xdbc_char_octet_length: NULL::INTEGER,
|
|
1186
|
+
xdbc_is_nullable: NULL::VARCHAR,
|
|
1187
|
+
xdbc_scope_catalog: NULL::VARCHAR,
|
|
1188
|
+
xdbc_scope_schema: NULL::VARCHAR,
|
|
1189
|
+
xdbc_scope_table: NULL::VARCHAR,
|
|
1190
|
+
xdbc_is_autoincrement: NULL::BOOLEAN,
|
|
1191
|
+
xdbc_is_generatedcolumn: NULL::BOOLEAN,
|
|
1192
|
+
}) table_columns
|
|
1008
1193
|
FROM information_schema.columns
|
|
1009
|
-
WHERE
|
|
1010
|
-
|
|
1194
|
+
WHERE column_name LIKE '%s'
|
|
1195
|
+
GROUP BY table_catalog, table_schema, table_name
|
|
1196
|
+
),
|
|
1197
|
+
constraints AS (
|
|
1198
|
+
SELECT
|
|
1199
|
+
table_catalog,
|
|
1200
|
+
table_schema,
|
|
1201
|
+
table_name,
|
|
1202
|
+
LIST(
|
|
1203
|
+
{
|
|
1204
|
+
constraint_name: constraint_name,
|
|
1205
|
+
constraint_type: constraint_type,
|
|
1206
|
+
constraint_column_names: []::VARCHAR[],
|
|
1207
|
+
constraint_column_usage: []::STRUCT(fk_catalog VARCHAR, fk_db_schema VARCHAR, fk_table VARCHAR, fk_column_name VARCHAR)[],
|
|
1208
|
+
}
|
|
1209
|
+
) table_constraints
|
|
1210
|
+
FROM information_schema.table_constraints
|
|
1211
|
+
GROUP BY table_catalog, table_schema, table_name
|
|
1212
|
+
),
|
|
1213
|
+
tables AS (
|
|
1214
|
+
SELECT
|
|
1215
|
+
table_catalog catalog_name,
|
|
1216
|
+
table_schema schema_name,
|
|
1217
|
+
LIST({
|
|
1218
|
+
table_name: table_name,
|
|
1219
|
+
table_type: table_type,
|
|
1220
|
+
table_columns: table_columns,
|
|
1221
|
+
table_constraints: table_constraints,
|
|
1222
|
+
}) db_schema_tables
|
|
1223
|
+
FROM information_schema.tables
|
|
1224
|
+
LEFT JOIN columns
|
|
1225
|
+
USING (table_catalog, table_schema, table_name)
|
|
1226
|
+
LEFT JOIN constraints
|
|
1227
|
+
USING (table_catalog, table_schema, table_name)
|
|
1228
|
+
WHERE table_name LIKE '%s'
|
|
1229
|
+
GROUP BY table_catalog, table_schema
|
|
1230
|
+
),
|
|
1231
|
+
db_schemas AS (
|
|
1232
|
+
SELECT
|
|
1233
|
+
catalog_name,
|
|
1234
|
+
schema_name,
|
|
1235
|
+
db_schema_tables,
|
|
1236
|
+
FROM information_schema.schemata
|
|
1237
|
+
LEFT JOIN tables
|
|
1238
|
+
USING (catalog_name, schema_name)
|
|
1239
|
+
WHERE schema_name LIKE '%s'
|
|
1240
|
+
)
|
|
1241
|
+
|
|
1242
|
+
SELECT
|
|
1243
|
+
catalog_name,
|
|
1244
|
+
LIST({
|
|
1245
|
+
db_schema_name: schema_name,
|
|
1246
|
+
db_schema_tables: db_schema_tables,
|
|
1247
|
+
}) FILTER (dbs.schema_name is not null) catalog_db_schemas
|
|
1248
|
+
FROM
|
|
1249
|
+
information_schema.schemata
|
|
1250
|
+
LEFT JOIN db_schemas dbs
|
|
1251
|
+
USING (catalog_name, schema_name)
|
|
1252
|
+
WHERE catalog_name LIKE '%s'
|
|
1253
|
+
GROUP BY catalog_name
|
|
1011
1254
|
)",
|
|
1012
|
-
|
|
1013
|
-
column_name ? column_name : "%");
|
|
1255
|
+
column_name_filter, table_name_filter, db_schema_filter, catalog_filter);
|
|
1014
1256
|
break;
|
|
1015
1257
|
default:
|
|
1016
1258
|
SetError(error, "Invalid value of Depth");
|
|
@@ -55,8 +55,8 @@ void ArrowUnionData::Append(ArrowAppendData &append_data, Vector &input, idx_t f
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
void ArrowUnionData::Finalize(ArrowAppendData &append_data, const LogicalType &type, ArrowArray *result) {
|
|
58
|
-
result->n_buffers =
|
|
59
|
-
result->buffers[
|
|
58
|
+
result->n_buffers = 1;
|
|
59
|
+
result->buffers[0] = append_data.main_buffer.data();
|
|
60
60
|
|
|
61
61
|
auto &child_types = UnionType::CopyMemberTypes(type);
|
|
62
62
|
ArrowAppender::AddChildren(append_data, child_types.size());
|
|
@@ -446,7 +446,7 @@ void BoxRenderer::RenderHeader(const vector<string> &names, const vector<Logical
|
|
|
446
446
|
}
|
|
447
447
|
}
|
|
448
448
|
ss << config.RTCORNER;
|
|
449
|
-
ss <<
|
|
449
|
+
ss << '\n';
|
|
450
450
|
|
|
451
451
|
// render the header names
|
|
452
452
|
for (idx_t c = 0; c < column_count; c++) {
|
|
@@ -460,7 +460,7 @@ void BoxRenderer::RenderHeader(const vector<string> &names, const vector<Logical
|
|
|
460
460
|
RenderValue(ss, name, widths[c]);
|
|
461
461
|
}
|
|
462
462
|
ss << config.VERTICAL;
|
|
463
|
-
ss <<
|
|
463
|
+
ss << '\n';
|
|
464
464
|
|
|
465
465
|
// render the types
|
|
466
466
|
if (config.render_mode == RenderMode::ROWS) {
|
|
@@ -470,7 +470,7 @@ void BoxRenderer::RenderHeader(const vector<string> &names, const vector<Logical
|
|
|
470
470
|
RenderValue(ss, type, widths[c]);
|
|
471
471
|
}
|
|
472
472
|
ss << config.VERTICAL;
|
|
473
|
-
ss <<
|
|
473
|
+
ss << '\n';
|
|
474
474
|
}
|
|
475
475
|
|
|
476
476
|
// render the line under the header
|
|
@@ -485,7 +485,7 @@ void BoxRenderer::RenderHeader(const vector<string> &names, const vector<Logical
|
|
|
485
485
|
}
|
|
486
486
|
}
|
|
487
487
|
ss << config.RMIDDLE;
|
|
488
|
-
ss <<
|
|
488
|
+
ss << '\n';
|
|
489
489
|
}
|
|
490
490
|
|
|
491
491
|
void BoxRenderer::RenderValues(const list<ColumnDataCollection> &collections, const vector<idx_t> &column_map,
|
|
@@ -534,7 +534,7 @@ void BoxRenderer::RenderValues(const list<ColumnDataCollection> &collections, co
|
|
|
534
534
|
RenderValue(ss, str, widths[c], alignment);
|
|
535
535
|
}
|
|
536
536
|
ss << config.VERTICAL;
|
|
537
|
-
ss <<
|
|
537
|
+
ss << '\n';
|
|
538
538
|
}
|
|
539
539
|
|
|
540
540
|
if (bottom_rows > 0) {
|
|
@@ -590,7 +590,7 @@ void BoxRenderer::RenderValues(const list<ColumnDataCollection> &collections, co
|
|
|
590
590
|
RenderValue(ss, str, widths[c], alignment);
|
|
591
591
|
}
|
|
592
592
|
ss << config.VERTICAL;
|
|
593
|
-
ss <<
|
|
593
|
+
ss << '\n';
|
|
594
594
|
}
|
|
595
595
|
// note that the bottom rows are in reverse order
|
|
596
596
|
for (idx_t r = 0; r < bottom_rows; r++) {
|
|
@@ -605,7 +605,7 @@ void BoxRenderer::RenderValues(const list<ColumnDataCollection> &collections, co
|
|
|
605
605
|
RenderValue(ss, str, widths[c], alignments[c]);
|
|
606
606
|
}
|
|
607
607
|
ss << config.VERTICAL;
|
|
608
|
-
ss <<
|
|
608
|
+
ss << '\n';
|
|
609
609
|
}
|
|
610
610
|
}
|
|
611
611
|
}
|
|
@@ -644,7 +644,7 @@ void BoxRenderer::RenderRowCount(string row_count_str, string shown_str, const s
|
|
|
644
644
|
}
|
|
645
645
|
}
|
|
646
646
|
ss << (render_anything ? config.RMIDDLE : config.RDCORNER);
|
|
647
|
-
ss <<
|
|
647
|
+
ss << '\n';
|
|
648
648
|
}
|
|
649
649
|
if (!render_anything) {
|
|
650
650
|
return;
|
|
@@ -658,16 +658,16 @@ void BoxRenderer::RenderRowCount(string row_count_str, string shown_str, const s
|
|
|
658
658
|
ss << column_count_str;
|
|
659
659
|
ss << " ";
|
|
660
660
|
ss << config.VERTICAL;
|
|
661
|
-
ss <<
|
|
661
|
+
ss << '\n';
|
|
662
662
|
} else if (render_rows) {
|
|
663
663
|
RenderValue(ss, row_count_str, total_length - 4);
|
|
664
664
|
ss << config.VERTICAL;
|
|
665
|
-
ss <<
|
|
665
|
+
ss << '\n';
|
|
666
666
|
|
|
667
667
|
if (display_shown_separately) {
|
|
668
668
|
RenderValue(ss, shown_str, total_length - 4);
|
|
669
669
|
ss << config.VERTICAL;
|
|
670
|
-
ss <<
|
|
670
|
+
ss << '\n';
|
|
671
671
|
}
|
|
672
672
|
}
|
|
673
673
|
// render the bottom line
|
|
@@ -676,7 +676,7 @@ void BoxRenderer::RenderRowCount(string row_count_str, string shown_str, const s
|
|
|
676
676
|
ss << config.HORIZONTAL;
|
|
677
677
|
}
|
|
678
678
|
ss << config.RDCORNER;
|
|
679
|
-
ss <<
|
|
679
|
+
ss << '\n';
|
|
680
680
|
}
|
|
681
681
|
|
|
682
682
|
void BoxRenderer::Render(ClientContext &context, const vector<string> &names, const ColumnDataCollection &result,
|
|
@@ -156,7 +156,8 @@ void MD5Context::MD5Update(const_data_ptr_t input, idx_t len) {
|
|
|
156
156
|
/* Update bitcount */
|
|
157
157
|
|
|
158
158
|
t = bits[0];
|
|
159
|
-
|
|
159
|
+
bits[0] = t + ((uint32_t)len << 3);
|
|
160
|
+
if (bits[0] < t) {
|
|
160
161
|
bits[1]++; /* Carry from low to high */
|
|
161
162
|
}
|
|
162
163
|
bits[1] += len >> 29;
|