duckdb 1.0.1-dev21.0 → 1.0.1-dev27.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/.github/workflows/HighPriorityIssues.yml +2 -2
- package/.github/workflows/NodeJS.yml +1 -1
- package/binding.gyp +41 -0
- package/package.json +1 -1
- package/src/duckdb/extension/icu/icu-dateadd.cpp +4 -2
- package/src/duckdb/extension/icu/icu-datefunc.cpp +6 -2
- package/src/duckdb/extension/icu/icu-datesub.cpp +13 -2
- package/src/duckdb/extension/icu/icu-strptime.cpp +6 -6
- package/src/duckdb/extension/icu/icu-table-range.cpp +92 -73
- package/src/duckdb/extension/icu/icu-timebucket.cpp +12 -2
- package/src/duckdb/extension/icu/icu-timezone.cpp +3 -3
- package/src/duckdb/extension/icu/icu_extension.cpp +61 -9
- package/src/duckdb/extension/json/include/json_executors.hpp +20 -23
- package/src/duckdb/extension/json/include/json_functions.hpp +4 -0
- package/src/duckdb/extension/json/include/json_scan.hpp +6 -2
- package/src/duckdb/extension/json/include/json_structure.hpp +12 -9
- package/src/duckdb/extension/json/json_common.cpp +66 -10
- package/src/duckdb/extension/json/json_extension.cpp +13 -5
- package/src/duckdb/extension/json/json_functions/json_array_length.cpp +1 -1
- package/src/duckdb/extension/json/json_functions/json_create.cpp +21 -4
- package/src/duckdb/extension/json/json_functions/json_exists.cpp +32 -0
- package/src/duckdb/extension/json/json_functions/json_extract.cpp +2 -2
- package/src/duckdb/extension/json/json_functions/json_keys.cpp +1 -1
- package/src/duckdb/extension/json/json_functions/json_pretty.cpp +32 -0
- package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +5 -1
- package/src/duckdb/extension/json/json_functions/json_structure.cpp +305 -94
- package/src/duckdb/extension/json/json_functions/json_transform.cpp +1 -1
- package/src/duckdb/extension/json/json_functions/json_type.cpp +3 -3
- package/src/duckdb/extension/json/json_functions/json_value.cpp +42 -0
- package/src/duckdb/extension/json/json_functions/read_json.cpp +16 -2
- package/src/duckdb/extension/json/json_functions/read_json_objects.cpp +3 -2
- package/src/duckdb/extension/json/json_functions.cpp +5 -1
- package/src/duckdb/extension/json/json_scan.cpp +13 -12
- package/src/duckdb/extension/json/serialize_json.cpp +5 -3
- package/src/duckdb/extension/parquet/column_reader.cpp +206 -43
- package/src/duckdb/extension/parquet/column_writer.cpp +133 -62
- package/src/duckdb/extension/parquet/geo_parquet.cpp +391 -0
- package/src/duckdb/extension/parquet/include/boolean_column_reader.hpp +16 -5
- package/src/duckdb/extension/parquet/include/column_reader.hpp +37 -12
- package/src/duckdb/extension/parquet/include/column_writer.hpp +10 -11
- package/src/duckdb/extension/parquet/include/expression_column_reader.hpp +52 -0
- package/src/duckdb/extension/parquet/include/geo_parquet.hpp +139 -0
- package/src/duckdb/extension/parquet/include/parquet_crypto.hpp +13 -8
- package/src/duckdb/extension/parquet/include/parquet_decimal_utils.hpp +3 -0
- package/src/duckdb/extension/parquet/include/parquet_file_metadata_cache.hpp +7 -3
- package/src/duckdb/extension/parquet/include/parquet_reader.hpp +55 -8
- package/src/duckdb/extension/parquet/include/parquet_rle_bp_decoder.hpp +3 -3
- package/src/duckdb/extension/parquet/include/parquet_rle_bp_encoder.hpp +1 -1
- package/src/duckdb/extension/parquet/include/parquet_timestamp.hpp +8 -0
- package/src/duckdb/extension/parquet/include/parquet_writer.hpp +21 -7
- package/src/duckdb/extension/parquet/include/resizable_buffer.hpp +33 -11
- package/src/duckdb/extension/parquet/include/string_column_reader.hpp +5 -2
- package/src/duckdb/extension/parquet/include/templated_column_reader.hpp +48 -14
- package/src/duckdb/extension/parquet/parquet_crypto.cpp +109 -61
- package/src/duckdb/extension/parquet/parquet_extension.cpp +305 -72
- package/src/duckdb/extension/parquet/parquet_metadata.cpp +4 -4
- package/src/duckdb/extension/parquet/parquet_reader.cpp +151 -40
- package/src/duckdb/extension/parquet/parquet_statistics.cpp +50 -16
- package/src/duckdb/extension/parquet/parquet_timestamp.cpp +42 -1
- package/src/duckdb/extension/parquet/parquet_writer.cpp +67 -75
- package/src/duckdb/extension/parquet/serialize_parquet.cpp +3 -1
- package/src/duckdb/extension/parquet/zstd_file_system.cpp +5 -1
- package/src/duckdb/src/catalog/catalog.cpp +14 -16
- package/src/duckdb/src/catalog/catalog_entry/duck_index_entry.cpp +14 -11
- package/src/duckdb/src/catalog/catalog_entry/duck_schema_entry.cpp +39 -19
- package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +92 -78
- package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +10 -2
- package/src/duckdb/src/catalog/catalog_entry/macro_catalog_entry.cpp +10 -3
- package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +3 -3
- package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +7 -7
- package/src/duckdb/src/catalog/catalog_entry.cpp +6 -3
- package/src/duckdb/src/catalog/catalog_set.cpp +14 -19
- package/src/duckdb/src/catalog/default/default_functions.cpp +179 -166
- package/src/duckdb/src/catalog/default/default_generator.cpp +24 -0
- package/src/duckdb/src/catalog/default/default_schemas.cpp +4 -3
- package/src/duckdb/src/catalog/default/default_table_functions.cpp +148 -0
- package/src/duckdb/src/catalog/default/default_views.cpp +7 -3
- package/src/duckdb/src/catalog/duck_catalog.cpp +7 -1
- package/src/duckdb/src/common/adbc/adbc.cpp +120 -58
- package/src/duckdb/src/common/allocator.cpp +71 -6
- package/src/duckdb/src/common/arrow/appender/bool_data.cpp +8 -7
- package/src/duckdb/src/common/arrow/appender/fixed_size_list_data.cpp +1 -1
- package/src/duckdb/src/common/arrow/appender/union_data.cpp +4 -5
- package/src/duckdb/src/common/arrow/arrow_appender.cpp +55 -21
- package/src/duckdb/src/common/arrow/arrow_converter.cpp +85 -10
- package/src/duckdb/src/common/arrow/arrow_merge_event.cpp +142 -0
- package/src/duckdb/src/common/arrow/arrow_query_result.cpp +56 -0
- package/src/duckdb/src/common/arrow/physical_arrow_batch_collector.cpp +37 -0
- package/src/duckdb/src/common/arrow/physical_arrow_collector.cpp +128 -0
- package/src/duckdb/src/common/arrow/schema_metadata.cpp +101 -0
- package/src/duckdb/src/common/cgroups.cpp +189 -0
- package/src/duckdb/src/common/compressed_file_system.cpp +6 -3
- package/src/duckdb/src/common/encryption_state.cpp +38 -0
- package/src/duckdb/src/common/enum_util.cpp +682 -14
- package/src/duckdb/src/common/enums/file_compression_type.cpp +24 -0
- package/src/duckdb/src/common/enums/metric_type.cpp +208 -0
- package/src/duckdb/src/common/enums/optimizer_type.cpp +8 -2
- package/src/duckdb/src/common/enums/physical_operator_type.cpp +2 -0
- package/src/duckdb/src/common/enums/relation_type.cpp +4 -0
- package/src/duckdb/src/common/enums/statement_type.cpp +15 -0
- package/src/duckdb/src/common/error_data.cpp +22 -20
- package/src/duckdb/src/common/exception/binder_exception.cpp +5 -0
- package/src/duckdb/src/common/exception.cpp +11 -1
- package/src/duckdb/src/common/extra_type_info.cpp +3 -0
- package/src/duckdb/src/common/file_buffer.cpp +1 -1
- package/src/duckdb/src/common/file_system.cpp +25 -3
- package/src/duckdb/src/common/filename_pattern.cpp +1 -0
- package/src/duckdb/src/common/fsst.cpp +15 -14
- package/src/duckdb/src/common/gzip_file_system.cpp +3 -1
- package/src/duckdb/src/common/hive_partitioning.cpp +103 -43
- package/src/duckdb/src/common/http_util.cpp +25 -0
- package/src/duckdb/src/common/local_file_system.cpp +48 -27
- package/src/duckdb/src/common/multi_file_list.cpp +113 -22
- package/src/duckdb/src/common/multi_file_reader.cpp +59 -58
- package/src/duckdb/src/common/operator/cast_operators.cpp +133 -34
- package/src/duckdb/src/common/operator/string_cast.cpp +42 -11
- package/src/duckdb/src/common/progress_bar/progress_bar.cpp +2 -2
- package/src/duckdb/src/common/progress_bar/terminal_progress_bar_display.cpp +1 -1
- package/src/duckdb/src/common/radix_partitioning.cpp +31 -21
- package/src/duckdb/src/common/random_engine.cpp +4 -0
- package/src/duckdb/src/common/re2_regex.cpp +47 -12
- package/src/duckdb/src/common/render_tree.cpp +243 -0
- package/src/duckdb/src/common/row_operations/row_aggregate.cpp +1 -1
- package/src/duckdb/src/common/row_operations/row_gather.cpp +2 -2
- package/src/duckdb/src/common/row_operations/row_matcher.cpp +58 -5
- package/src/duckdb/src/common/row_operations/row_radix_scatter.cpp +79 -43
- package/src/duckdb/src/common/serializer/binary_deserializer.cpp +1 -1
- package/src/duckdb/src/common/serializer/buffered_file_reader.cpp +6 -4
- package/src/duckdb/src/common/serializer/buffered_file_writer.cpp +18 -9
- package/src/duckdb/src/common/serializer/memory_stream.cpp +1 -0
- package/src/duckdb/src/common/sort/partition_state.cpp +33 -18
- package/src/duckdb/src/common/sort/radix_sort.cpp +22 -15
- package/src/duckdb/src/common/sort/sort_state.cpp +19 -16
- package/src/duckdb/src/common/sort/sorted_block.cpp +11 -10
- package/src/duckdb/src/common/string_util.cpp +167 -10
- package/src/duckdb/src/common/tree_renderer/graphviz_tree_renderer.cpp +108 -0
- package/src/duckdb/src/common/tree_renderer/html_tree_renderer.cpp +267 -0
- package/src/duckdb/src/common/tree_renderer/json_tree_renderer.cpp +116 -0
- package/src/duckdb/src/common/tree_renderer/text_tree_renderer.cpp +482 -0
- package/src/duckdb/src/common/tree_renderer/tree_renderer.cpp +12 -0
- package/src/duckdb/src/common/tree_renderer.cpp +16 -508
- package/src/duckdb/src/common/types/batched_data_collection.cpp +78 -9
- package/src/duckdb/src/common/types/bit.cpp +24 -22
- package/src/duckdb/src/common/types/blob.cpp +15 -11
- package/src/duckdb/src/common/types/column/column_data_allocator.cpp +18 -9
- package/src/duckdb/src/common/types/column/column_data_collection.cpp +4 -4
- package/src/duckdb/src/common/types/column/column_data_collection_segment.cpp +3 -4
- package/src/duckdb/src/common/types/column/column_data_consumer.cpp +2 -2
- package/src/duckdb/src/common/types/column/partitioned_column_data.cpp +70 -21
- package/src/duckdb/src/common/types/data_chunk.cpp +10 -1
- package/src/duckdb/src/common/types/date.cpp +8 -19
- package/src/duckdb/src/common/types/decimal.cpp +3 -2
- package/src/duckdb/src/common/types/hugeint.cpp +11 -3
- package/src/duckdb/src/common/types/hyperloglog.cpp +212 -227
- package/src/duckdb/src/common/types/interval.cpp +1 -1
- package/src/duckdb/src/common/types/list_segment.cpp +83 -49
- package/src/duckdb/src/common/types/row/partitioned_tuple_data.cpp +22 -83
- package/src/duckdb/src/common/types/row/row_data_collection.cpp +2 -2
- package/src/duckdb/src/common/types/row/row_data_collection_scanner.cpp +20 -4
- package/src/duckdb/src/common/types/row/tuple_data_allocator.cpp +28 -7
- package/src/duckdb/src/common/types/row/tuple_data_collection.cpp +29 -14
- package/src/duckdb/src/common/types/row/tuple_data_scatter_gather.cpp +152 -102
- package/src/duckdb/src/common/types/row/tuple_data_segment.cpp +4 -1
- package/src/duckdb/src/common/types/selection_vector.cpp +17 -1
- package/src/duckdb/src/common/types/time.cpp +62 -31
- package/src/duckdb/src/common/types/timestamp.cpp +70 -12
- package/src/duckdb/src/common/types/uuid.cpp +1 -1
- package/src/duckdb/src/common/types/validity_mask.cpp +40 -5
- package/src/duckdb/src/common/types/value.cpp +50 -8
- package/src/duckdb/src/common/types/varint.cpp +295 -0
- package/src/duckdb/src/common/types/vector.cpp +165 -54
- package/src/duckdb/src/common/types/vector_buffer.cpp +5 -4
- package/src/duckdb/src/common/types.cpp +106 -26
- package/src/duckdb/src/common/vector_operations/vector_copy.cpp +13 -25
- package/src/duckdb/src/common/vector_operations/vector_hash.cpp +6 -0
- package/src/duckdb/src/common/virtual_file_system.cpp +3 -3
- package/src/duckdb/src/core_functions/aggregate/distributive/approx_count.cpp +35 -82
- package/src/duckdb/src/core_functions/aggregate/distributive/arg_min_max.cpp +283 -46
- package/src/duckdb/src/core_functions/aggregate/distributive/bitagg.cpp +4 -4
- package/src/duckdb/src/core_functions/aggregate/distributive/entropy.cpp +3 -2
- package/src/duckdb/src/core_functions/aggregate/distributive/minmax.cpp +226 -338
- package/src/duckdb/src/core_functions/aggregate/distributive/sum.cpp +2 -0
- package/src/duckdb/src/core_functions/aggregate/holistic/approx_top_k.cpp +388 -0
- package/src/duckdb/src/core_functions/aggregate/holistic/approximate_quantile.cpp +63 -21
- package/src/duckdb/src/core_functions/aggregate/holistic/mad.cpp +330 -0
- package/src/duckdb/src/core_functions/aggregate/holistic/mode.cpp +136 -97
- package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +601 -1485
- package/src/duckdb/src/core_functions/aggregate/nested/binned_histogram.cpp +405 -0
- package/src/duckdb/src/core_functions/aggregate/nested/histogram.cpp +136 -165
- package/src/duckdb/src/core_functions/function_list.cpp +35 -8
- package/src/duckdb/src/core_functions/lambda_functions.cpp +5 -7
- package/src/duckdb/src/core_functions/scalar/array/array_functions.cpp +172 -198
- package/src/duckdb/src/core_functions/scalar/blob/create_sort_key.cpp +341 -54
- package/src/duckdb/src/core_functions/scalar/date/date_diff.cpp +2 -2
- package/src/duckdb/src/core_functions/scalar/date/date_part.cpp +89 -29
- package/src/duckdb/src/core_functions/scalar/date/date_trunc.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/date/make_date.cpp +2 -2
- package/src/duckdb/src/core_functions/scalar/date/strftime.cpp +133 -71
- package/src/duckdb/src/core_functions/scalar/date/to_interval.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/enum/enum_functions.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/generic/can_implicitly_cast.cpp +40 -0
- package/src/duckdb/src/core_functions/scalar/generic/error.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/generic/least.cpp +161 -58
- package/src/duckdb/src/core_functions/scalar/generic/typeof.cpp +13 -0
- package/src/duckdb/src/core_functions/scalar/list/array_slice.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/list/list_aggregates.cpp +59 -75
- package/src/duckdb/src/core_functions/scalar/list/list_distance.cpp +93 -40
- package/src/duckdb/src/core_functions/scalar/list/list_has_any_or_all.cpp +227 -0
- package/src/duckdb/src/core_functions/scalar/list/list_reduce.cpp +20 -19
- package/src/duckdb/src/core_functions/scalar/list/list_sort.cpp +0 -2
- package/src/duckdb/src/core_functions/scalar/list/list_value.cpp +106 -8
- package/src/duckdb/src/core_functions/scalar/map/map_contains.cpp +56 -0
- package/src/duckdb/src/core_functions/scalar/map/map_extract.cpp +73 -118
- package/src/duckdb/src/core_functions/scalar/math/numeric.cpp +98 -2
- package/src/duckdb/src/core_functions/scalar/operators/bitwise.cpp +1 -2
- package/src/duckdb/src/core_functions/scalar/random/setseed.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/string/bar.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/string/hex.cpp +5 -1
- package/src/duckdb/src/core_functions/scalar/string/md5.cpp +10 -37
- package/src/duckdb/src/core_functions/scalar/string/printf.cpp +18 -2
- package/src/duckdb/src/core_functions/scalar/string/repeat.cpp +45 -0
- package/src/duckdb/src/core_functions/scalar/string/reverse.cpp +4 -5
- package/src/duckdb/src/core_functions/scalar/string/sha1.cpp +35 -0
- package/src/duckdb/src/core_functions/scalar/string/sha256.cpp +5 -2
- package/src/duckdb/src/core_functions/scalar/string/url_encode.cpp +49 -0
- package/src/duckdb/src/core_functions/scalar/struct/struct_pack.cpp +1 -2
- package/src/duckdb/src/core_functions/scalar/union/union_extract.cpp +4 -2
- package/src/duckdb/src/execution/adaptive_filter.cpp +30 -11
- package/src/duckdb/src/execution/aggregate_hashtable.cpp +13 -18
- package/src/duckdb/src/execution/expression_executor/execute_conjunction.cpp +4 -9
- package/src/duckdb/src/execution/expression_executor.cpp +1 -1
- package/src/duckdb/src/execution/index/art/art.cpp +683 -670
- package/src/duckdb/src/execution/index/art/art_key.cpp +121 -38
- package/src/duckdb/src/execution/index/art/base_leaf.cpp +168 -0
- package/src/duckdb/src/execution/index/art/base_node.cpp +163 -0
- package/src/duckdb/src/execution/index/art/iterator.cpp +148 -77
- package/src/duckdb/src/execution/index/art/leaf.cpp +159 -263
- package/src/duckdb/src/execution/index/art/node.cpp +493 -247
- package/src/duckdb/src/execution/index/art/node256.cpp +31 -91
- package/src/duckdb/src/execution/index/art/node256_leaf.cpp +71 -0
- package/src/duckdb/src/execution/index/art/node48.cpp +75 -143
- package/src/duckdb/src/execution/index/art/prefix.cpp +424 -244
- package/src/duckdb/src/execution/index/bound_index.cpp +7 -1
- package/src/duckdb/src/execution/index/fixed_size_allocator.cpp +22 -18
- package/src/duckdb/src/execution/index/fixed_size_buffer.cpp +22 -73
- package/src/duckdb/src/execution/join_hashtable.cpp +637 -179
- package/src/duckdb/src/execution/operator/aggregate/aggregate_object.cpp +4 -4
- package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +15 -10
- package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +13 -8
- package/src/duckdb/src/execution/operator/aggregate/physical_streaming_window.cpp +525 -132
- package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +147 -138
- package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +531 -312
- package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer.cpp +1 -1
- package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.cpp +4 -3
- package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_file_handle.cpp +9 -2
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/base_scanner.cpp +13 -17
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/column_count_scanner.cpp +60 -16
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/csv_schema.cpp +105 -0
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/scanner_boundary.cpp +24 -24
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/skip_scanner.cpp +25 -2
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/string_value_scanner.cpp +275 -112
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp +106 -11
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp +253 -115
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/header_detection.cpp +93 -52
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_detection.cpp +116 -76
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_refinement.cpp +29 -14
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_replacement.cpp +1 -1
- package/src/duckdb/src/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.cpp +70 -26
- package/src/duckdb/src/execution/operator/csv_scanner/table_function/csv_file_scanner.cpp +81 -60
- package/src/duckdb/src/execution/operator/csv_scanner/table_function/global_csv_state.cpp +88 -50
- package/src/duckdb/src/execution/operator/csv_scanner/util/csv_error.cpp +161 -51
- package/src/duckdb/src/execution/operator/csv_scanner/util/csv_reader_options.cpp +59 -17
- package/src/duckdb/src/execution/operator/filter/physical_filter.cpp +5 -5
- package/src/duckdb/src/execution/operator/helper/physical_batch_collector.cpp +0 -21
- package/src/duckdb/src/execution/operator/helper/physical_buffered_batch_collector.cpp +109 -0
- package/src/duckdb/src/execution/operator/helper/physical_buffered_collector.cpp +5 -13
- package/src/duckdb/src/execution/operator/helper/physical_explain_analyze.cpp +1 -1
- package/src/duckdb/src/execution/operator/helper/physical_load.cpp +12 -4
- package/src/duckdb/src/execution/operator/helper/physical_materialized_collector.cpp +0 -16
- package/src/duckdb/src/execution/operator/helper/physical_reservoir_sample.cpp +4 -2
- package/src/duckdb/src/execution/operator/helper/physical_reset.cpp +5 -0
- package/src/duckdb/src/execution/operator/helper/physical_result_collector.cpp +3 -1
- package/src/duckdb/src/execution/operator/helper/physical_set_variable.cpp +39 -0
- package/src/duckdb/src/execution/operator/helper/physical_streaming_sample.cpp +4 -2
- package/src/duckdb/src/execution/operator/helper/physical_transaction.cpp +16 -5
- package/src/duckdb/src/execution/operator/join/outer_join_marker.cpp +1 -1
- package/src/duckdb/src/execution/operator/join/perfect_hash_join_executor.cpp +1 -1
- package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +1 -1
- package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +5 -4
- package/src/duckdb/src/execution/operator/join/physical_comparison_join.cpp +59 -21
- package/src/duckdb/src/execution/operator/join/physical_delim_join.cpp +7 -4
- package/src/duckdb/src/execution/operator/join/physical_hash_join.cpp +333 -176
- package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +57 -34
- package/src/duckdb/src/execution/operator/join/physical_join.cpp +16 -8
- package/src/duckdb/src/execution/operator/join/physical_left_delim_join.cpp +10 -4
- package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +2 -5
- package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +3 -3
- package/src/duckdb/src/execution/operator/join/physical_range_join.cpp +5 -5
- package/src/duckdb/src/execution/operator/join/physical_right_delim_join.cpp +7 -2
- package/src/duckdb/src/execution/operator/order/physical_order.cpp +17 -12
- package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +12 -9
- package/src/duckdb/src/execution/operator/persistent/physical_batch_copy_to_file.cpp +35 -17
- package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +17 -11
- package/src/duckdb/src/execution/operator/persistent/physical_copy_database.cpp +5 -1
- package/src/duckdb/src/execution/operator/persistent/physical_copy_to_file.cpp +156 -47
- package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +10 -2
- package/src/duckdb/src/execution/operator/persistent/physical_update.cpp +1 -3
- package/src/duckdb/src/execution/operator/projection/physical_pivot.cpp +2 -2
- package/src/duckdb/src/execution/operator/projection/physical_projection.cpp +13 -6
- package/src/duckdb/src/execution/operator/projection/physical_tableinout_function.cpp +22 -3
- package/src/duckdb/src/execution/operator/projection/physical_unnest.cpp +19 -3
- package/src/duckdb/src/execution/operator/scan/physical_column_data_scan.cpp +37 -22
- package/src/duckdb/src/execution/operator/scan/physical_table_scan.cpp +77 -21
- package/src/duckdb/src/execution/operator/schema/physical_attach.cpp +27 -55
- package/src/duckdb/src/execution/operator/schema/physical_create_art_index.cpp +41 -44
- package/src/duckdb/src/execution/operator/set/physical_cte.cpp +4 -6
- package/src/duckdb/src/execution/operator/set/physical_recursive_cte.cpp +4 -6
- package/src/duckdb/src/execution/operator/set/physical_union.cpp +18 -4
- package/src/duckdb/src/execution/perfect_aggregate_hashtable.cpp +3 -2
- package/src/duckdb/src/execution/physical_operator.cpp +45 -4
- package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +18 -7
- package/src/duckdb/src/execution/physical_plan/plan_copy_to_file.cpp +8 -3
- package/src/duckdb/src/execution/physical_plan/plan_delim_join.cpp +13 -6
- package/src/duckdb/src/execution/physical_plan/plan_explain.cpp +3 -3
- package/src/duckdb/src/execution/physical_plan/plan_get.cpp +111 -19
- package/src/duckdb/src/execution/physical_plan/plan_limit.cpp +19 -2
- package/src/duckdb/src/execution/physical_plan/plan_set.cpp +9 -0
- package/src/duckdb/src/execution/physical_plan/plan_window.cpp +3 -1
- package/src/duckdb/src/execution/physical_plan_generator.cpp +3 -3
- package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +49 -49
- package/src/duckdb/src/execution/reservoir_sample.cpp +2 -2
- package/src/duckdb/src/execution/window_executor.cpp +556 -318
- package/src/duckdb/src/execution/window_segment_tree.cpp +1058 -485
- package/src/duckdb/src/function/aggregate/distributive/count.cpp +5 -5
- package/src/duckdb/src/function/aggregate/distributive/first.cpp +92 -95
- package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +10 -9
- package/src/duckdb/src/function/aggregate_function.cpp +8 -0
- package/src/duckdb/src/function/cast/cast_function_set.cpp +10 -1
- package/src/duckdb/src/function/cast/decimal_cast.cpp +10 -1
- package/src/duckdb/src/function/cast/default_casts.cpp +2 -0
- package/src/duckdb/src/function/cast/numeric_casts.cpp +3 -0
- package/src/duckdb/src/function/cast/string_cast.cpp +8 -5
- package/src/duckdb/src/function/cast/time_casts.cpp +2 -2
- package/src/duckdb/src/function/cast/union_casts.cpp +1 -1
- package/src/duckdb/src/function/cast/varint_casts.cpp +283 -0
- package/src/duckdb/src/function/cast/vector_cast_helpers.cpp +3 -1
- package/src/duckdb/src/function/cast_rules.cpp +104 -15
- package/src/duckdb/src/function/compression_config.cpp +35 -33
- package/src/duckdb/src/function/copy_function.cpp +27 -0
- package/src/duckdb/src/function/function_binder.cpp +39 -11
- package/src/duckdb/src/function/macro_function.cpp +75 -32
- package/src/duckdb/src/function/pragma/pragma_queries.cpp +10 -0
- package/src/duckdb/src/function/scalar/compressed_materialization/compress_string.cpp +1 -0
- package/src/duckdb/src/function/scalar/generic/binning.cpp +507 -0
- package/src/duckdb/src/function/scalar/generic/getvariable.cpp +58 -0
- package/src/duckdb/src/function/scalar/generic_functions.cpp +1 -0
- package/src/duckdb/src/function/scalar/list/contains_or_position.cpp +33 -47
- package/src/duckdb/src/function/scalar/list/list_extract.cpp +70 -143
- package/src/duckdb/src/function/scalar/list/list_resize.cpp +93 -84
- package/src/duckdb/src/function/scalar/list/list_zip.cpp +3 -0
- package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +24 -11
- package/src/duckdb/src/function/scalar/sequence/nextval.cpp +4 -4
- package/src/duckdb/src/function/scalar/strftime_format.cpp +196 -57
- package/src/duckdb/src/function/scalar/string/caseconvert.cpp +9 -7
- package/src/duckdb/src/function/scalar/string/concat.cpp +239 -123
- package/src/duckdb/src/function/scalar/string/concat_ws.cpp +149 -0
- package/src/duckdb/src/function/scalar/string/contains.cpp +18 -7
- package/src/duckdb/src/function/scalar/string/like.cpp +2 -2
- package/src/duckdb/src/function/scalar/string/substring.cpp +6 -11
- package/src/duckdb/src/function/scalar/string_functions.cpp +1 -0
- package/src/duckdb/src/function/scalar/struct/struct_extract.cpp +7 -3
- package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +5 -5
- package/src/duckdb/src/function/scalar_function.cpp +5 -2
- package/src/duckdb/src/function/scalar_macro_function.cpp +2 -2
- package/src/duckdb/src/function/table/arrow/arrow_duck_schema.cpp +20 -39
- package/src/duckdb/src/function/table/arrow/arrow_type_info.cpp +135 -0
- package/src/duckdb/src/function/table/arrow.cpp +194 -52
- package/src/duckdb/src/function/table/arrow_conversion.cpp +212 -69
- package/src/duckdb/src/function/table/copy_csv.cpp +43 -14
- package/src/duckdb/src/function/table/query_function.cpp +80 -0
- package/src/duckdb/src/function/table/range.cpp +222 -142
- package/src/duckdb/src/function/table/read_csv.cpp +25 -13
- package/src/duckdb/src/function/table/sniff_csv.cpp +55 -35
- package/src/duckdb/src/function/table/system/duckdb_constraints.cpp +141 -129
- package/src/duckdb/src/function/table/system/duckdb_extensions.cpp +25 -14
- package/src/duckdb/src/function/table/system/duckdb_functions.cpp +20 -14
- package/src/duckdb/src/function/table/system/duckdb_indexes.cpp +15 -1
- package/src/duckdb/src/function/table/system/duckdb_variables.cpp +84 -0
- package/src/duckdb/src/function/table/system/test_all_types.cpp +1 -0
- package/src/duckdb/src/function/table/system/test_vector_types.cpp +33 -3
- package/src/duckdb/src/function/table/system_functions.cpp +1 -0
- package/src/duckdb/src/function/table/table_scan.cpp +45 -22
- package/src/duckdb/src/function/table/unnest.cpp +2 -2
- package/src/duckdb/src/function/table/version/pragma_version.cpp +4 -4
- package/src/duckdb/src/function/table_function.cpp +5 -4
- package/src/duckdb/src/function/table_macro_function.cpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +8 -4
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_index_entry.hpp +5 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_schema_entry.hpp +3 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/macro_catalog_entry.hpp +3 -4
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +5 -5
- package/src/duckdb/src/include/duckdb/catalog/default/builtin_types/types.hpp +2 -1
- package/src/duckdb/src/include/duckdb/catalog/default/default_functions.hpp +4 -5
- package/src/duckdb/src/include/duckdb/catalog/default/default_generator.hpp +4 -5
- package/src/duckdb/src/include/duckdb/catalog/default/default_schemas.hpp +2 -1
- package/src/duckdb/src/include/duckdb/catalog/default/default_table_functions.hpp +47 -0
- package/src/duckdb/src/include/duckdb/catalog/duck_catalog.hpp +2 -0
- package/src/duckdb/src/include/duckdb/catalog/similar_catalog_entry.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/allocator.hpp +9 -1
- package/src/duckdb/src/include/duckdb/common/array_ptr.hpp +120 -0
- package/src/duckdb/src/include/duckdb/common/arrow/appender/append_data.hpp +37 -11
- package/src/duckdb/src/include/duckdb/common/arrow/appender/enum_data.hpp +9 -8
- package/src/duckdb/src/include/duckdb/common/arrow/appender/list.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/arrow/appender/list_data.hpp +6 -4
- package/src/duckdb/src/include/duckdb/common/arrow/appender/list_view_data.hpp +92 -0
- package/src/duckdb/src/include/duckdb/common/arrow/appender/map_data.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/arrow/appender/scalar_data.hpp +26 -4
- package/src/duckdb/src/include/duckdb/common/arrow/appender/varchar_data.hpp +90 -11
- package/src/duckdb/src/include/duckdb/common/arrow/arrow_appender.hpp +6 -6
- package/src/duckdb/src/include/duckdb/common/arrow/arrow_buffer.hpp +8 -1
- package/src/duckdb/src/include/duckdb/common/arrow/arrow_merge_event.hpp +62 -0
- package/src/duckdb/src/include/duckdb/common/arrow/arrow_query_result.hpp +52 -0
- package/src/duckdb/src/include/duckdb/common/arrow/arrow_types_extension.hpp +42 -0
- package/src/duckdb/src/include/duckdb/common/arrow/physical_arrow_batch_collector.hpp +30 -0
- package/src/duckdb/src/include/duckdb/common/arrow/physical_arrow_collector.hpp +65 -0
- package/src/duckdb/src/include/duckdb/common/arrow/schema_metadata.hpp +43 -0
- package/src/duckdb/src/include/duckdb/common/bswap.hpp +18 -16
- package/src/duckdb/src/include/duckdb/common/cgroups.hpp +30 -0
- package/src/duckdb/src/include/duckdb/common/compressed_file_system.hpp +3 -0
- package/src/duckdb/src/include/duckdb/common/dl.hpp +8 -1
- package/src/duckdb/src/include/duckdb/common/encryption_state.hpp +48 -0
- package/src/duckdb/src/include/duckdb/common/enum_util.hpp +88 -0
- package/src/duckdb/src/include/duckdb/common/enums/checkpoint_type.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/enums/copy_overwrite_mode.hpp +6 -1
- package/src/duckdb/src/include/duckdb/common/enums/destroy_buffer_upon.hpp +21 -0
- package/src/duckdb/src/include/duckdb/common/enums/explain_format.hpp +17 -0
- package/src/duckdb/src/include/duckdb/common/enums/file_compression_type.hpp +4 -0
- package/src/duckdb/src/include/duckdb/common/enums/join_type.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/enums/metric_type.hpp +88 -0
- package/src/duckdb/src/include/duckdb/common/enums/optimizer_type.hpp +6 -1
- package/src/duckdb/src/include/duckdb/common/enums/pending_execution_result.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/enums/physical_operator_type.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/enums/profiler_format.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/enums/relation_type.hpp +3 -1
- package/src/duckdb/src/include/duckdb/common/enums/set_scope.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/enums/statement_type.hpp +23 -2
- package/src/duckdb/src/include/duckdb/common/enums/stream_execution_result.hpp +25 -0
- package/src/duckdb/src/include/duckdb/common/enums/tableref_type.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/enums/wal_type.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/error_data.hpp +5 -2
- package/src/duckdb/src/include/duckdb/common/exception/binder_exception.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/exception.hpp +20 -2
- package/src/duckdb/src/include/duckdb/common/extra_operator_info.hpp +12 -0
- package/src/duckdb/src/include/duckdb/common/file_buffer.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/file_open_flags.hpp +16 -0
- package/src/duckdb/src/include/duckdb/common/file_opener.hpp +18 -0
- package/src/duckdb/src/include/duckdb/common/file_system.hpp +3 -0
- package/src/duckdb/src/include/duckdb/common/filename_pattern.hpp +4 -0
- package/src/duckdb/src/include/duckdb/common/fixed_size_map.hpp +160 -96
- package/src/duckdb/src/include/duckdb/common/fsst.hpp +9 -2
- package/src/duckdb/src/include/duckdb/common/helper.hpp +22 -8
- package/src/duckdb/src/include/duckdb/common/hive_partitioning.hpp +16 -7
- package/src/duckdb/src/include/duckdb/common/http_util.hpp +19 -0
- package/src/duckdb/src/include/duckdb/common/insertion_order_preserving_map.hpp +19 -6
- package/src/duckdb/src/include/duckdb/common/limits.hpp +9 -2
- package/src/duckdb/src/include/duckdb/common/multi_file_list.hpp +38 -6
- package/src/duckdb/src/include/duckdb/common/multi_file_reader.hpp +9 -2
- package/src/duckdb/src/include/duckdb/common/multi_file_reader_options.hpp +5 -1
- package/src/duckdb/src/include/duckdb/common/numeric_utils.hpp +82 -50
- package/src/duckdb/src/include/duckdb/common/operator/abs.hpp +11 -0
- package/src/duckdb/src/include/duckdb/common/operator/cast_operators.hpp +7 -3
- package/src/duckdb/src/include/duckdb/common/operator/decimal_cast_operators.hpp +23 -1
- package/src/duckdb/src/include/duckdb/common/operator/double_cast_operator.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/operator/integer_cast_operator.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/operator/numeric_cast.hpp +4 -0
- package/src/duckdb/src/include/duckdb/common/operator/string_cast.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/optional_ptr.hpp +10 -5
- package/src/duckdb/src/include/duckdb/common/optionally_owned_ptr.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/owning_string_map.hpp +155 -0
- package/src/duckdb/src/include/duckdb/common/perfect_map_set.hpp +2 -3
- package/src/duckdb/src/include/duckdb/common/platform.hpp +58 -0
- package/src/duckdb/src/include/duckdb/common/radix.hpp +172 -27
- package/src/duckdb/src/include/duckdb/common/radix_partitioning.hpp +5 -1
- package/src/duckdb/src/include/duckdb/common/random_engine.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/re2_regex.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/render_tree.hpp +77 -0
- package/src/duckdb/src/include/duckdb/common/row_operations/row_matcher.hpp +12 -0
- package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +6 -2
- package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_writer.hpp +5 -3
- package/src/duckdb/src/include/duckdb/common/serializer/deserializer.hpp +15 -7
- package/src/duckdb/src/include/duckdb/common/serializer/memory_stream.hpp +3 -1
- package/src/duckdb/src/include/duckdb/common/serializer/serialization_data.hpp +245 -0
- package/src/duckdb/src/include/duckdb/common/serializer/serializer.hpp +10 -0
- package/src/duckdb/src/include/duckdb/common/sort/duckdb_pdqsort.hpp +10 -11
- package/src/duckdb/src/include/duckdb/common/sort/partition_state.hpp +12 -6
- package/src/duckdb/src/include/duckdb/common/string_util.hpp +37 -7
- package/src/duckdb/src/include/duckdb/common/tree_renderer/graphviz_tree_renderer.hpp +44 -0
- package/src/duckdb/src/include/duckdb/common/tree_renderer/html_tree_renderer.hpp +44 -0
- package/src/duckdb/src/include/duckdb/common/tree_renderer/json_tree_renderer.hpp +44 -0
- package/src/duckdb/src/include/duckdb/common/tree_renderer/text_tree_renderer.hpp +119 -0
- package/src/duckdb/src/include/duckdb/common/tree_renderer.hpp +9 -123
- package/src/duckdb/src/include/duckdb/common/type_visitor.hpp +96 -0
- package/src/duckdb/src/include/duckdb/common/typedefs.hpp +11 -1
- package/src/duckdb/src/include/duckdb/common/types/arrow_string_view_type.hpp +84 -0
- package/src/duckdb/src/include/duckdb/common/types/batched_data_collection.hpp +36 -1
- package/src/duckdb/src/include/duckdb/common/types/bit.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/cast_helpers.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/types/column/column_data_allocator.hpp +4 -2
- package/src/duckdb/src/include/duckdb/common/types/column/partitioned_column_data.hpp +52 -0
- package/src/duckdb/src/include/duckdb/common/types/data_chunk.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/types/date.hpp +0 -3
- package/src/duckdb/src/include/duckdb/common/types/date_lookup_cache.hpp +65 -0
- package/src/duckdb/src/include/duckdb/common/types/datetime.hpp +5 -2
- package/src/duckdb/src/include/duckdb/common/types/hyperloglog.hpp +49 -40
- package/src/duckdb/src/include/duckdb/common/types/interval.hpp +5 -1
- package/src/duckdb/src/include/duckdb/common/types/list_segment.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp +41 -9
- package/src/duckdb/src/include/duckdb/common/types/row/row_data_collection.hpp +4 -3
- package/src/duckdb/src/include/duckdb/common/types/row/row_data_collection_scanner.hpp +3 -1
- package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_allocator.hpp +4 -0
- package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_collection.hpp +4 -0
- package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_states.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/selection_vector.hpp +4 -0
- package/src/duckdb/src/include/duckdb/common/types/string_type.hpp +4 -1
- package/src/duckdb/src/include/duckdb/common/types/time.hpp +11 -6
- package/src/duckdb/src/include/duckdb/common/types/timestamp.hpp +13 -3
- package/src/duckdb/src/include/duckdb/common/types/validity_mask.hpp +103 -12
- package/src/duckdb/src/include/duckdb/common/types/value.hpp +12 -3
- package/src/duckdb/src/include/duckdb/common/types/varint.hpp +107 -0
- package/src/duckdb/src/include/duckdb/common/types/vector.hpp +5 -1
- package/src/duckdb/src/include/duckdb/common/types/vector_buffer.hpp +7 -2
- package/src/duckdb/src/include/duckdb/common/types.hpp +6 -39
- package/src/duckdb/src/include/duckdb/common/union_by_name.hpp +42 -10
- package/src/duckdb/src/include/duckdb/common/vector_operations/generic_executor.hpp +29 -0
- package/src/duckdb/src/include/duckdb/common/vector_operations/unary_executor.hpp +0 -7
- package/src/duckdb/src/include/duckdb/common/vector_operations/vector_operations.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/winapi.hpp +8 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/covar.hpp +8 -4
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/stddev.hpp +8 -4
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/distributive_functions.hpp +4 -2
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/histogram_helpers.hpp +99 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/holistic_functions.hpp +16 -7
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/minmax_n_helpers.hpp +396 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/nested_functions.hpp +10 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/quantile_helpers.hpp +65 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/quantile_sort_tree.hpp +349 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/quantile_state.hpp +300 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_slope.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/sort_key_helpers.hpp +55 -0
- package/src/duckdb/src/include/duckdb/core_functions/array_kernels.hpp +107 -0
- package/src/duckdb/src/include/duckdb/core_functions/create_sort_key.hpp +55 -0
- package/src/duckdb/src/include/duckdb/core_functions/lambda_functions.hpp +1 -2
- package/src/duckdb/src/include/duckdb/core_functions/scalar/array_functions.hpp +24 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/date_functions.hpp +9 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/generic_functions.hpp +27 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/list_functions.hpp +80 -8
- package/src/duckdb/src/include/duckdb/core_functions/scalar/map_functions.hpp +9 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/math_functions.hpp +54 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/string_functions.hpp +30 -21
- package/src/duckdb/src/include/duckdb/execution/adaptive_filter.hpp +25 -14
- package/src/duckdb/src/include/duckdb/execution/aggregate_hashtable.hpp +2 -48
- package/src/duckdb/src/include/duckdb/execution/executor.hpp +25 -2
- package/src/duckdb/src/include/duckdb/execution/ht_entry.hpp +102 -0
- package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +94 -101
- package/src/duckdb/src/include/duckdb/execution/index/art/art_key.hpp +43 -25
- package/src/duckdb/src/include/duckdb/execution/index/art/base_leaf.hpp +109 -0
- package/src/duckdb/src/include/duckdb/execution/index/art/base_node.hpp +140 -0
- package/src/duckdb/src/include/duckdb/execution/index/art/iterator.hpp +43 -24
- package/src/duckdb/src/include/duckdb/execution/index/art/leaf.hpp +41 -52
- package/src/duckdb/src/include/duckdb/execution/index/art/node.hpp +133 -74
- package/src/duckdb/src/include/duckdb/execution/index/art/node256.hpp +46 -29
- package/src/duckdb/src/include/duckdb/execution/index/art/node256_leaf.hpp +53 -0
- package/src/duckdb/src/include/duckdb/execution/index/art/node48.hpp +52 -35
- package/src/duckdb/src/include/duckdb/execution/index/art/prefix.hpp +96 -57
- package/src/duckdb/src/include/duckdb/execution/index/bound_index.hpp +9 -4
- package/src/duckdb/src/include/duckdb/execution/index/fixed_size_allocator.hpp +48 -10
- package/src/duckdb/src/include/duckdb/execution/index/fixed_size_buffer.hpp +0 -2
- package/src/duckdb/src/include/duckdb/execution/index/index_pointer.hpp +4 -2
- package/src/duckdb/src/include/duckdb/execution/join_hashtable.hpp +114 -36
- package/src/duckdb/src/include/duckdb/execution/merge_sort_tree.hpp +158 -67
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/aggregate_object.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_perfecthash_aggregate.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_streaming_window.hpp +19 -2
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_ungrouped_aggregate.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_window.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/ungrouped_aggregate_state.hpp +75 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/base_scanner.hpp +81 -23
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/column_count_scanner.hpp +27 -8
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_buffer_manager.hpp +2 -1
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_error.hpp +31 -22
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_handle.hpp +4 -2
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_scanner.hpp +48 -5
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_option.hpp +7 -3
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_reader_options.hpp +22 -12
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_schema.hpp +35 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_sniffer.hpp +81 -39
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state.hpp +2 -1
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state_machine.hpp +18 -1
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state_machine_cache.hpp +9 -7
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/global_csv_state.hpp +5 -4
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/header_value.hpp +26 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/scanner_boundary.hpp +6 -9
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/skip_scanner.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/state_machine_options.hpp +5 -3
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/string_value_scanner.hpp +36 -19
- package/src/duckdb/src/include/duckdb/execution/operator/filter/physical_filter.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp +21 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_buffered_batch_collector.hpp +53 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_buffered_collector.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_explain_analyze.hpp +6 -2
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_materialized_collector.hpp +18 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_reservoir_sample.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_result_collector.hpp +6 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_set.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_set_variable.hpp +43 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_streaming_sample.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/join/join_filter_pushdown.hpp +59 -0
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_comparison_join.hpp +8 -1
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_delim_join.hpp +5 -2
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_hash_join.hpp +4 -2
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_iejoin.hpp +2 -0
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_join.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_left_delim_join.hpp +3 -1
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_range_join.hpp +4 -1
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_right_delim_join.hpp +3 -1
- package/src/duckdb/src/include/duckdb/execution/operator/order/physical_order.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/order/physical_top_n.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/batch_memory_manager.hpp +5 -37
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_copy_to_file.hpp +5 -4
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp +8 -2
- package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_projection.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_tableinout_function.hpp +2 -0
- package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_column_data_scan.hpp +9 -3
- package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_table_scan.hpp +8 -6
- package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_art_index.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/set/physical_cte.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/set/physical_recursive_cte.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +21 -6
- package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +3 -2
- package/src/duckdb/src/include/duckdb/execution/physical_plan_generator.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/window_executor.hpp +137 -110
- package/src/duckdb/src/include/duckdb/execution/window_segment_tree.hpp +57 -126
- package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +21 -4
- package/src/duckdb/src/include/duckdb/function/cast/default_casts.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/compression/compression.hpp +10 -10
- package/src/duckdb/src/include/duckdb/function/compression_function.hpp +37 -7
- package/src/duckdb/src/include/duckdb/function/copy_function.hpp +24 -11
- package/src/duckdb/src/include/duckdb/function/function_binder.hpp +4 -4
- package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +41 -1
- package/src/duckdb/src/include/duckdb/function/macro_function.hpp +15 -5
- package/src/duckdb/src/include/duckdb/function/pragma/pragma_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/replacement_scan.hpp +20 -4
- package/src/duckdb/src/include/duckdb/function/scalar/generic_functions.hpp +6 -0
- package/src/duckdb/src/include/duckdb/function/scalar/list/contains_or_position.hpp +77 -109
- package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/scalar/regexp.hpp +6 -3
- package/src/duckdb/src/include/duckdb/function/scalar/strftime_format.hpp +25 -12
- package/src/duckdb/src/include/duckdb/function/scalar/string_functions.hpp +9 -8
- package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +38 -4
- package/src/duckdb/src/include/duckdb/function/scalar_macro_function.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/table/arrow/arrow_duck_schema.hpp +11 -57
- package/src/duckdb/src/include/duckdb/function/table/arrow/arrow_type_info.hpp +142 -0
- package/src/duckdb/src/include/duckdb/function/table/arrow/enum/arrow_datetime_type.hpp +18 -0
- package/src/duckdb/src/include/duckdb/function/table/arrow/enum/arrow_type_info_type.hpp +7 -0
- package/src/duckdb/src/include/duckdb/function/table/arrow/enum/arrow_variable_size_type.hpp +10 -0
- package/src/duckdb/src/include/duckdb/function/table/arrow.hpp +2 -0
- package/src/duckdb/src/include/duckdb/function/table/range.hpp +4 -0
- package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +4 -1
- package/src/duckdb/src/include/duckdb/function/table/system_functions.hpp +4 -0
- package/src/duckdb/src/include/duckdb/function/table/table_scan.hpp +5 -5
- package/src/duckdb/src/include/duckdb/function/table_function.hpp +14 -2
- package/src/duckdb/src/include/duckdb/function/table_macro_function.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/appender.hpp +14 -4
- package/src/duckdb/src/include/duckdb/main/attached_database.hpp +25 -7
- package/src/duckdb/src/include/duckdb/main/buffered_data/batched_buffered_data.hpp +79 -0
- package/src/duckdb/src/include/duckdb/main/buffered_data/buffered_data.hpp +10 -20
- package/src/duckdb/src/include/duckdb/main/buffered_data/simple_buffered_data.hpp +11 -12
- package/src/duckdb/src/include/duckdb/main/capi/capi_internal.hpp +7 -2
- package/src/duckdb/src/include/duckdb/main/capi/cast/generic.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/capi/cast/utils.hpp +2 -2
- package/src/duckdb/src/include/duckdb/main/capi/extension_api.hpp +809 -0
- package/src/duckdb/src/include/duckdb/main/chunk_scan_state/batched_data_collection.hpp +35 -0
- package/src/duckdb/src/include/duckdb/main/client_config.hpp +68 -2
- package/src/duckdb/src/include/duckdb/main/client_context.hpp +30 -22
- package/src/duckdb/src/include/duckdb/main/client_context_state.hpp +79 -1
- package/src/duckdb/src/include/duckdb/main/client_properties.hpp +9 -3
- package/src/duckdb/src/include/duckdb/main/config.hpp +55 -7
- package/src/duckdb/src/include/duckdb/main/connection.hpp +5 -1
- package/src/duckdb/src/include/duckdb/main/database.hpp +16 -5
- package/src/duckdb/src/include/duckdb/main/database_manager.hpp +9 -8
- package/src/duckdb/src/include/duckdb/main/db_instance_cache.hpp +21 -6
- package/src/duckdb/src/include/duckdb/main/extension.hpp +20 -0
- package/src/duckdb/src/include/duckdb/main/extension_entries.hpp +25 -0
- package/src/duckdb/src/include/duckdb/main/extension_helper.hpp +29 -23
- package/src/duckdb/src/include/duckdb/main/extension_install_info.hpp +6 -0
- package/src/duckdb/src/include/duckdb/main/extension_util.hpp +3 -0
- package/src/duckdb/src/include/duckdb/main/pending_query_result.hpp +4 -2
- package/src/duckdb/src/include/duckdb/main/prepared_statement.hpp +5 -6
- package/src/duckdb/src/include/duckdb/main/prepared_statement_data.hpp +2 -5
- package/src/duckdb/src/include/duckdb/main/profiling_info.hpp +87 -0
- package/src/duckdb/src/include/duckdb/main/profiling_node.hpp +60 -0
- package/src/duckdb/src/include/duckdb/main/query_profiler.hpp +72 -34
- package/src/duckdb/src/include/duckdb/main/query_result.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/relation/create_table_relation.hpp +2 -1
- package/src/duckdb/src/include/duckdb/main/relation/delim_get_relation.hpp +30 -0
- package/src/duckdb/src/include/duckdb/main/relation/explain_relation.hpp +3 -1
- package/src/duckdb/src/include/duckdb/main/relation/join_relation.hpp +3 -0
- package/src/duckdb/src/include/duckdb/main/relation/materialized_relation.hpp +1 -4
- package/src/duckdb/src/include/duckdb/main/relation/query_relation.hpp +4 -1
- package/src/duckdb/src/include/duckdb/main/relation/read_json_relation.hpp +6 -0
- package/src/duckdb/src/include/duckdb/main/relation/table_function_relation.hpp +1 -0
- package/src/duckdb/src/include/duckdb/main/relation/view_relation.hpp +2 -0
- package/src/duckdb/src/include/duckdb/main/relation.hpp +7 -4
- package/src/duckdb/src/include/duckdb/main/secret/default_secrets.hpp +36 -0
- package/src/duckdb/src/include/duckdb/main/secret/secret.hpp +108 -0
- package/src/duckdb/src/include/duckdb/main/secret/secret_manager.hpp +14 -4
- package/src/duckdb/src/include/duckdb/main/settings.hpp +227 -3
- package/src/duckdb/src/include/duckdb/main/stream_query_result.hpp +8 -0
- package/src/duckdb/src/include/duckdb/optimizer/build_probe_side_optimizer.hpp +51 -0
- package/src/duckdb/src/include/duckdb/optimizer/compressed_materialization.hpp +7 -0
- package/src/duckdb/src/include/duckdb/optimizer/cte_filter_pusher.hpp +46 -0
- package/src/duckdb/src/include/duckdb/optimizer/filter_combiner.hpp +1 -1
- package/src/duckdb/src/include/duckdb/optimizer/filter_pushdown.hpp +7 -0
- package/src/duckdb/src/include/duckdb/optimizer/join_filter_pushdown_optimizer.hpp +31 -0
- package/src/duckdb/src/include/duckdb/optimizer/join_order/cardinality_estimator.hpp +51 -10
- package/src/duckdb/src/include/duckdb/optimizer/join_order/cost_model.hpp +1 -0
- package/src/duckdb/src/include/duckdb/optimizer/join_order/join_order_optimizer.hpp +17 -5
- 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 +15 -13
- package/src/duckdb/src/include/duckdb/optimizer/join_order/relation_manager.hpp +9 -4
- package/src/duckdb/src/include/duckdb/optimizer/limit_pushdown.hpp +25 -0
- package/src/duckdb/src/include/duckdb/optimizer/optimizer.hpp +1 -0
- package/src/duckdb/src/include/duckdb/optimizer/rule/join_dependent_filter.hpp +37 -0
- package/src/duckdb/src/include/duckdb/parallel/executor_task.hpp +6 -1
- package/src/duckdb/src/include/duckdb/parallel/interrupt.hpp +54 -2
- package/src/duckdb/src/include/duckdb/parallel/meta_pipeline.hpp +27 -8
- package/src/duckdb/src/include/duckdb/parallel/pipeline.hpp +1 -0
- package/src/duckdb/src/include/duckdb/parallel/pipeline_prepare_finish_event.hpp +25 -0
- package/src/duckdb/src/include/duckdb/parallel/task_executor.hpp +63 -0
- package/src/duckdb/src/include/duckdb/parallel/task_scheduler.hpp +10 -1
- package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +4 -1
- package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +5 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +5 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/attach_info.hpp +5 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_macro_info.hpp +11 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/transaction_info.hpp +9 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_expression_iterator.hpp +13 -6
- package/src/duckdb/src/include/duckdb/parser/parser_extension.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/sql_statement.hpp +1 -3
- package/src/duckdb/src/include/duckdb/parser/statement/copy_statement.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/statement/explain_statement.hpp +5 -1
- package/src/duckdb/src/include/duckdb/parser/statement/set_statement.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/statement/transaction_statement.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +0 -2
- package/src/duckdb/src/include/duckdb/parser/tableref/column_data_ref.hpp +9 -7
- package/src/duckdb/src/include/duckdb/parser/tableref/delimgetref.hpp +37 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +4 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +0 -2
- package/src/duckdb/src/include/duckdb/parser/tableref/subqueryref.hpp +0 -2
- package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +0 -1
- package/src/duckdb/src/include/duckdb/parser/tableref.hpp +3 -1
- package/src/duckdb/src/include/duckdb/parser/transformer.hpp +17 -9
- package/src/duckdb/src/include/duckdb/planner/binder.hpp +24 -14
- package/src/duckdb/src/include/duckdb/planner/collation_binding.hpp +44 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_aggregate_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +1 -1
- 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_columnref_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_conjunction_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_constant_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 +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_function_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_operator_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_data.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_reference_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_subquery_expression.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/expression/bound_unnest_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_window_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/expression_binder/column_alias_binder.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/expression_binder/group_binder.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/expression_binder/order_binder.hpp +6 -5
- package/src/duckdb/src/include/duckdb/planner/expression_binder/where_binder.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/expression_binder.hpp +19 -11
- package/src/duckdb/src/include/duckdb/planner/filter/conjunction_filter.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/filter/constant_filter.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/filter/null_filter.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/filter/struct_filter.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +7 -2
- package/src/duckdb/src/include/duckdb/planner/logical_operator_visitor.hpp +2 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_aggregate.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_any_join.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_comparison_join.hpp +6 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_copy_to_file.hpp +10 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_distinct.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_execute.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_explain.hpp +4 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_get.hpp +15 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_materialized_cte.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_order.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/subquery/flatten_dependent_join.hpp +2 -1
- package/src/duckdb/src/include/duckdb/planner/table_filter.hpp +24 -2
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_delimgetref.hpp +26 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_joinref.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_subqueryref.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_table_function.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/list.hpp +2 -0
- package/src/duckdb/src/include/duckdb/storage/arena_allocator.hpp +2 -1
- package/src/duckdb/src/include/duckdb/storage/block.hpp +4 -2
- package/src/duckdb/src/include/duckdb/storage/block_manager.hpp +48 -3
- package/src/duckdb/src/include/duckdb/storage/buffer/block_handle.hpp +21 -7
- package/src/duckdb/src/include/duckdb/storage/buffer/buffer_pool.hpp +65 -51
- package/src/duckdb/src/include/duckdb/storage/buffer_manager.hpp +14 -5
- package/src/duckdb/src/include/duckdb/storage/checkpoint/row_group_writer.hpp +0 -4
- package/src/duckdb/src/include/duckdb/storage/checkpoint/string_checkpoint_state.hpp +3 -2
- package/src/duckdb/src/include/duckdb/storage/checkpoint/table_data_writer.hpp +1 -0
- package/src/duckdb/src/include/duckdb/storage/checkpoint/write_overflow_strings_to_disk.hpp +3 -4
- package/src/duckdb/src/include/duckdb/storage/checkpoint_manager.hpp +2 -0
- package/src/duckdb/src/include/duckdb/storage/compression/alp/algorithm/alp.hpp +4 -4
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_analyze.hpp +6 -4
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_compress.hpp +19 -17
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_constants.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_scan.hpp +3 -4
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_utils.hpp +3 -2
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/algorithm/alprd.hpp +3 -2
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_analyze.hpp +13 -11
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_compress.hpp +19 -19
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_scan.hpp +3 -4
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_scan.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_scan.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/data_pointer.hpp +10 -2
- package/src/duckdb/src/include/duckdb/storage/data_table.hpp +3 -2
- package/src/duckdb/src/include/duckdb/storage/in_memory_block_manager.hpp +15 -0
- package/src/duckdb/src/include/duckdb/storage/index_storage_info.hpp +14 -10
- package/src/duckdb/src/include/duckdb/storage/metadata/metadata_manager.hpp +6 -8
- package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +7 -4
- package/src/duckdb/src/include/duckdb/storage/segment/uncompressed.hpp +4 -7
- package/src/duckdb/src/include/duckdb/storage/single_file_block_manager.hpp +29 -4
- package/src/duckdb/src/include/duckdb/storage/standard_buffer_manager.hpp +22 -7
- package/src/duckdb/src/include/duckdb/storage/statistics/base_statistics.hpp +15 -2
- package/src/duckdb/src/include/duckdb/storage/statistics/distinct_statistics.hpp +8 -2
- package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats.hpp +5 -16
- package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats_union.hpp +51 -13
- package/src/duckdb/src/include/duckdb/storage/statistics/string_stats.hpp +6 -3
- package/src/duckdb/src/include/duckdb/storage/storage_info.hpp +29 -19
- package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +23 -7
- package/src/duckdb/src/include/duckdb/storage/string_uncompressed.hpp +27 -18
- package/src/duckdb/src/include/duckdb/storage/table/append_state.hpp +6 -3
- package/src/duckdb/src/include/duckdb/storage/table/array_column_data.hpp +5 -2
- package/src/duckdb/src/include/duckdb/storage/table/chunk_info.hpp +3 -0
- package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +5 -1
- package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +77 -6
- package/src/duckdb/src/include/duckdb/storage/table/column_segment.hpp +23 -11
- package/src/duckdb/src/include/duckdb/storage/table/data_table_info.hpp +3 -0
- package/src/duckdb/src/include/duckdb/storage/table/list_column_data.hpp +5 -2
- package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +18 -4
- package/src/duckdb/src/include/duckdb/storage/table/row_group_collection.hpp +7 -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 +89 -14
- package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +4 -2
- package/src/duckdb/src/include/duckdb/storage/table/struct_column_data.hpp +4 -2
- package/src/duckdb/src/include/duckdb/storage/table/table_index_list.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/table/validity_column_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/temporary_memory_manager.hpp +33 -15
- package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +9 -9
- package/src/duckdb/src/include/duckdb/transaction/cleanup_state.hpp +3 -1
- package/src/duckdb/src/include/duckdb/transaction/commit_state.hpp +4 -16
- package/src/duckdb/src/include/duckdb/transaction/duck_transaction.hpp +27 -4
- package/src/duckdb/src/include/duckdb/transaction/duck_transaction_manager.hpp +11 -0
- package/src/duckdb/src/include/duckdb/transaction/local_storage.hpp +6 -2
- package/src/duckdb/src/include/duckdb/transaction/meta_transaction.hpp +5 -5
- package/src/duckdb/src/include/duckdb/transaction/transaction_context.hpp +6 -2
- package/src/duckdb/src/include/duckdb/transaction/undo_buffer.hpp +5 -3
- package/src/duckdb/src/include/duckdb/transaction/wal_write_state.hpp +48 -0
- package/src/duckdb/src/include/duckdb.h +1779 -739
- package/src/duckdb/src/include/duckdb_extension.h +921 -0
- package/src/duckdb/src/main/appender.cpp +53 -7
- package/src/duckdb/src/main/attached_database.cpp +87 -17
- package/src/duckdb/src/main/buffered_data/batched_buffered_data.cpp +226 -0
- package/src/duckdb/src/main/buffered_data/buffered_data.cpp +35 -0
- package/src/duckdb/src/main/buffered_data/simple_buffered_data.cpp +48 -23
- package/src/duckdb/src/main/capi/aggregate_function-c.cpp +327 -0
- package/src/duckdb/src/main/capi/appender-c.cpp +18 -0
- package/src/duckdb/src/main/capi/cast/utils-c.cpp +2 -2
- package/src/duckdb/src/main/capi/cast_function-c.cpp +210 -0
- package/src/duckdb/src/main/capi/config-c.cpp +3 -3
- package/src/duckdb/src/main/capi/data_chunk-c.cpp +18 -7
- package/src/duckdb/src/main/capi/duckdb_value-c.cpp +223 -24
- package/src/duckdb/src/main/capi/helper-c.cpp +51 -11
- package/src/duckdb/src/main/capi/logical_types-c.cpp +105 -46
- package/src/duckdb/src/main/capi/pending-c.cpp +7 -6
- package/src/duckdb/src/main/capi/prepared-c.cpp +18 -7
- package/src/duckdb/src/main/capi/profiling_info-c.cpp +84 -0
- package/src/duckdb/src/main/capi/result-c.cpp +139 -37
- package/src/duckdb/src/main/capi/scalar_function-c.cpp +269 -0
- package/src/duckdb/src/main/capi/table_description-c.cpp +82 -0
- package/src/duckdb/src/main/capi/table_function-c.cpp +161 -95
- package/src/duckdb/src/main/capi/value-c.cpp +2 -2
- package/src/duckdb/src/main/chunk_scan_state/batched_data_collection.cpp +57 -0
- package/src/duckdb/src/main/client_config.cpp +17 -0
- package/src/duckdb/src/main/client_context.cpp +67 -52
- package/src/duckdb/src/main/client_data.cpp +3 -3
- package/src/duckdb/src/main/config.cpp +120 -62
- package/src/duckdb/src/main/connection.cpp +14 -2
- package/src/duckdb/src/main/database.cpp +96 -35
- package/src/duckdb/src/main/database_manager.cpp +25 -23
- package/src/duckdb/src/main/database_path_and_type.cpp +2 -2
- package/src/duckdb/src/main/db_instance_cache.cpp +54 -19
- package/src/duckdb/src/main/extension/extension_helper.cpp +47 -42
- package/src/duckdb/src/main/extension/extension_install.cpp +155 -87
- package/src/duckdb/src/main/extension/extension_load.cpp +180 -26
- package/src/duckdb/src/main/extension/extension_util.cpp +8 -0
- package/src/duckdb/src/main/extension.cpp +72 -5
- package/src/duckdb/src/main/pending_query_result.cpp +20 -12
- package/src/duckdb/src/main/prepared_statement.cpp +6 -6
- package/src/duckdb/src/main/prepared_statement_data.cpp +28 -17
- package/src/duckdb/src/main/profiling_info.cpp +196 -0
- package/src/duckdb/src/main/query_profiler.cpp +413 -224
- package/src/duckdb/src/main/query_result.cpp +1 -1
- package/src/duckdb/src/main/relation/create_table_relation.cpp +4 -2
- package/src/duckdb/src/main/relation/create_view_relation.cpp +0 -6
- package/src/duckdb/src/main/relation/delim_get_relation.cpp +44 -0
- package/src/duckdb/src/main/relation/explain_relation.cpp +4 -3
- package/src/duckdb/src/main/relation/join_relation.cpp +5 -0
- package/src/duckdb/src/main/relation/limit_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/materialized_relation.cpp +3 -3
- package/src/duckdb/src/main/relation/query_relation.cpp +42 -15
- package/src/duckdb/src/main/relation/read_csv_relation.cpp +7 -14
- package/src/duckdb/src/main/relation/read_json_relation.cpp +20 -0
- package/src/duckdb/src/main/relation/setop_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/table_function_relation.cpp +6 -0
- package/src/duckdb/src/main/relation/view_relation.cpp +10 -0
- package/src/duckdb/src/main/relation.cpp +12 -8
- package/src/duckdb/src/main/secret/default_secrets.cpp +108 -0
- package/src/duckdb/src/main/secret/secret.cpp +145 -2
- package/src/duckdb/src/main/secret/secret_manager.cpp +85 -35
- package/src/duckdb/src/main/secret/secret_storage.cpp +29 -17
- package/src/duckdb/src/main/settings/settings.cpp +503 -11
- package/src/duckdb/src/main/stream_query_result.cpp +75 -2
- package/src/duckdb/src/optimizer/build_probe_side_optimizer.cpp +248 -0
- package/src/duckdb/src/optimizer/column_lifetime_analyzer.cpp +28 -6
- package/src/duckdb/src/optimizer/compressed_materialization/compress_comparison_join.cpp +152 -0
- package/src/duckdb/src/optimizer/compressed_materialization.cpp +11 -1
- package/src/duckdb/src/optimizer/cse_optimizer.cpp +3 -0
- package/src/duckdb/src/optimizer/cte_filter_pusher.cpp +117 -0
- package/src/duckdb/src/optimizer/filter_combiner.cpp +30 -9
- package/src/duckdb/src/optimizer/filter_pullup.cpp +54 -2
- package/src/duckdb/src/optimizer/filter_pushdown.cpp +71 -3
- package/src/duckdb/src/optimizer/join_filter_pushdown_optimizer.cpp +154 -0
- package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +245 -114
- package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +42 -20
- package/src/duckdb/src/optimizer/join_order/join_relation_set.cpp +6 -2
- package/src/duckdb/src/optimizer/join_order/plan_enumerator.cpp +32 -10
- package/src/duckdb/src/optimizer/join_order/query_graph_manager.cpp +97 -131
- package/src/duckdb/src/optimizer/join_order/relation_manager.cpp +265 -51
- package/src/duckdb/src/optimizer/join_order/relation_statistics_helper.cpp +21 -17
- package/src/duckdb/src/optimizer/limit_pushdown.cpp +42 -0
- package/src/duckdb/src/optimizer/optimizer.cpp +51 -8
- package/src/duckdb/src/optimizer/pushdown/pushdown_aggregate.cpp +17 -17
- package/src/duckdb/src/optimizer/pushdown/pushdown_cross_product.cpp +22 -4
- package/src/duckdb/src/optimizer/pushdown/pushdown_get.cpp +1 -18
- package/src/duckdb/src/optimizer/pushdown/pushdown_inner_join.cpp +6 -0
- package/src/duckdb/src/optimizer/pushdown/pushdown_mark_join.cpp +4 -2
- package/src/duckdb/src/optimizer/pushdown/pushdown_window.cpp +91 -0
- package/src/duckdb/src/optimizer/remove_unused_columns.cpp +21 -25
- package/src/duckdb/src/optimizer/rule/comparison_simplification.cpp +1 -0
- package/src/duckdb/src/optimizer/rule/empty_needle_removal.cpp +3 -0
- package/src/duckdb/src/optimizer/rule/equal_or_null_simplification.cpp +2 -2
- package/src/duckdb/src/optimizer/rule/in_clause_simplification_rule.cpp +8 -2
- package/src/duckdb/src/optimizer/rule/join_dependent_filter.cpp +135 -0
- package/src/duckdb/src/optimizer/rule/like_optimizations.cpp +1 -1
- package/src/duckdb/src/optimizer/rule/regex_optimizations.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/operator/propagate_filter.cpp +6 -1
- package/src/duckdb/src/optimizer/statistics/operator/propagate_get.cpp +7 -6
- package/src/duckdb/src/optimizer/statistics/operator/propagate_join.cpp +1 -1
- package/src/duckdb/src/optimizer/topn_optimizer.cpp +46 -7
- package/src/duckdb/src/parallel/executor.cpp +129 -51
- package/src/duckdb/src/parallel/executor_task.cpp +16 -3
- package/src/duckdb/src/parallel/meta_pipeline.cpp +98 -29
- package/src/duckdb/src/parallel/pipeline.cpp +17 -3
- package/src/duckdb/src/parallel/pipeline_executor.cpp +14 -2
- package/src/duckdb/src/parallel/pipeline_prepare_finish_event.cpp +34 -0
- package/src/duckdb/src/parallel/task_executor.cpp +84 -0
- package/src/duckdb/src/parallel/task_scheduler.cpp +94 -16
- package/src/duckdb/src/parallel/thread_context.cpp +1 -1
- package/src/duckdb/src/parser/expression/function_expression.cpp +14 -0
- package/src/duckdb/src/parser/expression/star_expression.cpp +35 -2
- package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +5 -1
- package/src/duckdb/src/parser/parsed_data/attach_info.cpp +17 -0
- package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +37 -28
- package/src/duckdb/src/parser/parsed_data/create_macro_info.cpp +44 -2
- package/src/duckdb/src/parser/parsed_data/transaction_info.cpp +21 -1
- package/src/duckdb/src/parser/parsed_expression_iterator.cpp +29 -25
- package/src/duckdb/src/parser/parser.cpp +41 -1
- package/src/duckdb/src/parser/query_node/recursive_cte_node.cpp +1 -0
- package/src/duckdb/src/parser/statement/explain_statement.cpp +28 -13
- package/src/duckdb/src/parser/statement/relation_statement.cpp +5 -0
- package/src/duckdb/src/parser/statement/set_statement.cpp +4 -2
- package/src/duckdb/src/parser/statement/transaction_statement.cpp +3 -3
- package/src/duckdb/src/parser/tableref/column_data_ref.cpp +1 -27
- package/src/duckdb/src/parser/tableref/delimgetref.cpp +30 -0
- package/src/duckdb/src/parser/tableref/joinref.cpp +4 -0
- package/src/duckdb/src/parser/transform/constraint/transform_constraint.cpp +35 -29
- package/src/duckdb/src/parser/transform/expression/transform_array_access.cpp +32 -32
- package/src/duckdb/src/parser/transform/expression/transform_columnref.cpp +2 -1
- package/src/duckdb/src/parser/transform/expression/transform_constant.cpp +17 -0
- package/src/duckdb/src/parser/transform/expression/transform_function.cpp +5 -0
- package/src/duckdb/src/parser/transform/expression/transform_multi_assign_reference.cpp +36 -34
- package/src/duckdb/src/parser/transform/expression/transform_operator.cpp +30 -14
- package/src/duckdb/src/parser/transform/expression/transform_subquery.cpp +1 -1
- package/src/duckdb/src/parser/transform/helpers/transform_alias.cpp +2 -1
- package/src/duckdb/src/parser/transform/helpers/transform_cte.cpp +27 -19
- package/src/duckdb/src/parser/transform/helpers/transform_orderby.cpp +31 -28
- package/src/duckdb/src/parser/transform/statement/transform_alter_table.cpp +25 -27
- package/src/duckdb/src/parser/transform/statement/transform_copy.cpp +1 -1
- package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +53 -42
- package/src/duckdb/src/parser/transform/statement/transform_create_table.cpp +6 -6
- package/src/duckdb/src/parser/transform/statement/transform_create_table_as.cpp +1 -1
- package/src/duckdb/src/parser/transform/statement/transform_create_type.cpp +1 -1
- package/src/duckdb/src/parser/transform/statement/transform_create_view.cpp +1 -1
- package/src/duckdb/src/parser/transform/statement/transform_explain.cpp +38 -3
- package/src/duckdb/src/parser/transform/statement/transform_insert.cpp +1 -2
- package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +1 -1
- package/src/duckdb/src/parser/transform/statement/transform_prepare.cpp +1 -1
- package/src/duckdb/src/parser/transform/statement/transform_select.cpp +26 -21
- package/src/duckdb/src/parser/transform/statement/transform_set.cpp +8 -8
- package/src/duckdb/src/parser/transform/statement/transform_show.cpp +5 -2
- package/src/duckdb/src/parser/transform/statement/transform_show_select.cpp +6 -4
- package/src/duckdb/src/parser/transform/statement/transform_transaction.cpp +27 -6
- package/src/duckdb/src/parser/transform/statement/transform_update.cpp +8 -9
- package/src/duckdb/src/parser/transform/statement/transform_upsert.cpp +11 -12
- package/src/duckdb/src/parser/transform/statement/transform_vacuum.cpp +3 -3
- package/src/duckdb/src/parser/transform/tableref/transform_join.cpp +16 -10
- package/src/duckdb/src/parser/transform/tableref/transform_pivot.cpp +1 -1
- package/src/duckdb/src/parser/transform/tableref/transform_subquery.cpp +1 -1
- package/src/duckdb/src/parser/transformer.cpp +11 -7
- package/src/duckdb/src/planner/bind_context.cpp +3 -3
- package/src/duckdb/src/planner/binder/expression/bind_aggregate_expression.cpp +22 -7
- package/src/duckdb/src/planner/binder/expression/bind_between_expression.cpp +3 -3
- package/src/duckdb/src/planner/binder/expression/bind_collate_expression.cpp +3 -2
- package/src/duckdb/src/planner/binder/expression/bind_columnref_expression.cpp +11 -4
- package/src/duckdb/src/planner/binder/expression/bind_comparison_expression.cpp +9 -54
- package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +3 -5
- package/src/duckdb/src/planner/binder/expression/bind_macro_expression.cpp +24 -27
- package/src/duckdb/src/planner/binder/expression/bind_operator_expression.cpp +7 -7
- package/src/duckdb/src/planner/binder/expression/bind_parameter_expression.cpp +9 -2
- package/src/duckdb/src/planner/binder/expression/bind_star_expression.cpp +26 -7
- package/src/duckdb/src/planner/binder/expression/bind_unnest_expression.cpp +5 -0
- package/src/duckdb/src/planner/binder/expression/bind_unpacked_star_expression.cpp +91 -0
- package/src/duckdb/src/planner/binder/expression/bind_window_expression.cpp +2 -2
- package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +11 -8
- package/src/duckdb/src/planner/binder/query_node/bind_setop_node.cpp +1 -1
- package/src/duckdb/src/planner/binder/query_node/bind_table_macro_node.cpp +6 -10
- package/src/duckdb/src/planner/binder/query_node/plan_cte_node.cpp +14 -10
- package/src/duckdb/src/planner/binder/query_node/plan_setop.cpp +3 -3
- package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +46 -7
- package/src/duckdb/src/planner/binder/statement/bind_call.cpp +13 -20
- package/src/duckdb/src/planner/binder/statement/bind_copy.cpp +105 -13
- package/src/duckdb/src/planner/binder/statement/bind_copy_database.cpp +7 -3
- package/src/duckdb/src/planner/binder/statement/bind_create.cpp +75 -55
- package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +1 -1
- package/src/duckdb/src/planner/binder/statement/bind_delete.cpp +5 -4
- package/src/duckdb/src/planner/binder/statement/bind_drop.cpp +2 -2
- package/src/duckdb/src/planner/binder/statement/bind_execute.cpp +24 -8
- package/src/duckdb/src/planner/binder/statement/bind_explain.cpp +2 -2
- package/src/duckdb/src/planner/binder/statement/bind_export.cpp +5 -105
- package/src/duckdb/src/planner/binder/statement/bind_extension.cpp +2 -2
- package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +109 -41
- package/src/duckdb/src/planner/binder/statement/bind_set.cpp +23 -7
- package/src/duckdb/src/planner/binder/statement/bind_simple.cpp +4 -1
- package/src/duckdb/src/planner/binder/statement/bind_summarize.cpp +17 -3
- package/src/duckdb/src/planner/binder/statement/bind_update.cpp +5 -4
- package/src/duckdb/src/planner/binder/statement/bind_vacuum.cpp +8 -6
- package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +55 -42
- package/src/duckdb/src/planner/binder/tableref/bind_column_data_ref.cpp +3 -2
- package/src/duckdb/src/planner/binder/tableref/bind_delimgetref.cpp +16 -0
- package/src/duckdb/src/planner/binder/tableref/bind_joinref.cpp +31 -1
- package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +6 -0
- package/src/duckdb/src/planner/binder/tableref/bind_showref.cpp +2 -0
- package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +106 -46
- package/src/duckdb/src/planner/binder/tableref/plan_delimgetref.cpp +11 -0
- package/src/duckdb/src/planner/binder/tableref/plan_joinref.cpp +15 -2
- package/src/duckdb/src/planner/binder/tableref/plan_table_function.cpp +4 -0
- package/src/duckdb/src/planner/binder.cpp +172 -15
- package/src/duckdb/src/planner/collation_binding.cpp +99 -0
- package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +10 -4
- package/src/duckdb/src/planner/expression/bound_between_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_case_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +14 -12
- package/src/duckdb/src/planner/expression/bound_columnref_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_comparison_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_conjunction_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_constant_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_expanded_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_function_expression.cpp +8 -2
- package/src/duckdb/src/planner/expression/bound_lambda_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_lambdaref_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_operator_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_reference_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_subquery_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_unnest_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_window_expression.cpp +6 -6
- package/src/duckdb/src/planner/expression_binder/aggregate_binder.cpp +1 -1
- package/src/duckdb/src/planner/expression_binder/alter_binder.cpp +2 -2
- package/src/duckdb/src/planner/expression_binder/base_select_binder.cpp +1 -1
- package/src/duckdb/src/planner/expression_binder/column_alias_binder.cpp +7 -0
- package/src/duckdb/src/planner/expression_binder/constant_binder.cpp +3 -3
- package/src/duckdb/src/planner/expression_binder/group_binder.cpp +26 -22
- package/src/duckdb/src/planner/expression_binder/having_binder.cpp +7 -1
- package/src/duckdb/src/planner/expression_binder/index_binder.cpp +2 -2
- package/src/duckdb/src/planner/expression_binder/insert_binder.cpp +2 -2
- package/src/duckdb/src/planner/expression_binder/lateral_binder.cpp +2 -2
- package/src/duckdb/src/planner/expression_binder/order_binder.cpp +61 -43
- package/src/duckdb/src/planner/expression_binder/qualify_binder.cpp +2 -2
- package/src/duckdb/src/planner/expression_binder/relation_binder.cpp +4 -4
- package/src/duckdb/src/planner/expression_binder/returning_binder.cpp +3 -2
- package/src/duckdb/src/planner/expression_binder/table_function_binder.cpp +10 -3
- package/src/duckdb/src/planner/expression_binder/update_binder.cpp +1 -1
- package/src/duckdb/src/planner/expression_binder/where_binder.cpp +9 -2
- package/src/duckdb/src/planner/expression_binder.cpp +121 -21
- package/src/duckdb/src/planner/expression_iterator.cpp +26 -1
- package/src/duckdb/src/planner/filter/conjunction_filter.cpp +33 -0
- package/src/duckdb/src/planner/filter/constant_filter.cpp +15 -0
- package/src/duckdb/src/planner/filter/null_filter.cpp +22 -0
- package/src/duckdb/src/planner/filter/struct_filter.cpp +16 -0
- package/src/duckdb/src/planner/logical_operator.cpp +24 -7
- package/src/duckdb/src/planner/operator/logical_aggregate.cpp +13 -7
- package/src/duckdb/src/planner/operator/logical_any_join.cpp +5 -2
- package/src/duckdb/src/planner/operator/logical_comparison_join.cpp +13 -5
- package/src/duckdb/src/planner/operator/logical_copy_to_file.cpp +64 -8
- package/src/duckdb/src/planner/operator/logical_cteref.cpp +7 -0
- package/src/duckdb/src/planner/operator/logical_distinct.cpp +6 -5
- package/src/duckdb/src/planner/operator/logical_get.cpp +60 -18
- package/src/duckdb/src/planner/operator/logical_materialized_cte.cpp +7 -0
- package/src/duckdb/src/planner/operator/logical_order.cpp +7 -4
- package/src/duckdb/src/planner/operator/logical_top_n.cpp +2 -2
- package/src/duckdb/src/planner/operator/logical_vacuum.cpp +1 -1
- package/src/duckdb/src/planner/planner.cpp +2 -3
- package/src/duckdb/src/planner/subquery/flatten_dependent_join.cpp +27 -10
- package/src/duckdb/src/planner/table_filter.cpp +51 -0
- package/src/duckdb/src/storage/arena_allocator.cpp +28 -10
- package/src/duckdb/src/storage/block.cpp +3 -2
- package/src/duckdb/src/storage/buffer/block_handle.cpp +29 -14
- package/src/duckdb/src/storage/buffer/block_manager.cpp +6 -5
- package/src/duckdb/src/storage/buffer/buffer_handle.cpp +1 -1
- package/src/duckdb/src/storage/buffer/buffer_pool.cpp +264 -125
- package/src/duckdb/src/storage/buffer_manager.cpp +5 -1
- package/src/duckdb/src/storage/checkpoint/row_group_writer.cpp +0 -6
- package/src/duckdb/src/storage/checkpoint/table_data_writer.cpp +26 -3
- package/src/duckdb/src/storage/checkpoint/write_overflow_strings_to_disk.cpp +21 -9
- package/src/duckdb/src/storage/checkpoint_manager.cpp +49 -24
- package/src/duckdb/src/storage/compression/alp/alp.cpp +6 -11
- package/src/duckdb/src/storage/compression/alprd.cpp +5 -9
- package/src/duckdb/src/storage/compression/bitpacking.cpp +35 -31
- package/src/duckdb/src/storage/compression/chimp/chimp.cpp +6 -8
- package/src/duckdb/src/storage/compression/dictionary_compression.cpp +71 -58
- package/src/duckdb/src/storage/compression/fixed_size_uncompressed.cpp +15 -13
- package/src/duckdb/src/storage/compression/fsst.cpp +66 -53
- package/src/duckdb/src/storage/compression/numeric_constant.cpp +4 -5
- package/src/duckdb/src/storage/compression/patas.cpp +6 -17
- package/src/duckdb/src/storage/compression/rle.cpp +20 -18
- package/src/duckdb/src/storage/compression/string_uncompressed.cpp +71 -52
- package/src/duckdb/src/storage/compression/uncompressed.cpp +2 -2
- package/src/duckdb/src/storage/compression/validity_uncompressed.cpp +8 -7
- package/src/duckdb/src/storage/data_pointer.cpp +22 -0
- package/src/duckdb/src/storage/data_table.cpp +41 -12
- package/src/duckdb/src/storage/local_storage.cpp +22 -8
- package/src/duckdb/src/storage/metadata/metadata_manager.cpp +33 -17
- package/src/duckdb/src/storage/metadata/metadata_reader.cpp +4 -4
- package/src/duckdb/src/storage/metadata/metadata_writer.cpp +3 -3
- package/src/duckdb/src/storage/partial_block_manager.cpp +19 -8
- package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +11 -8
- package/src/duckdb/src/storage/serialization/serialize_expression.cpp +1 -1
- package/src/duckdb/src/storage/serialization/serialize_extension_install_info.cpp +2 -0
- package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +3 -3
- package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +19 -5
- package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +21 -1
- package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +4 -2
- package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +2 -2
- package/src/duckdb/src/storage/serialization/serialize_storage.cpp +2 -0
- package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +8 -4
- package/src/duckdb/src/storage/serialization/serialize_types.cpp +4 -4
- package/src/duckdb/src/storage/single_file_block_manager.cpp +170 -34
- package/src/duckdb/src/storage/standard_buffer_manager.cpp +221 -64
- package/src/duckdb/src/storage/statistics/column_statistics.cpp +4 -3
- package/src/duckdb/src/storage/statistics/distinct_statistics.cpp +36 -26
- package/src/duckdb/src/storage/statistics/numeric_stats.cpp +4 -15
- package/src/duckdb/src/storage/statistics/string_stats.cpp +14 -8
- package/src/duckdb/src/storage/statistics/struct_stats.cpp +2 -1
- package/src/duckdb/src/storage/storage_info.cpp +34 -9
- package/src/duckdb/src/storage/storage_manager.cpp +147 -74
- package/src/duckdb/src/storage/table/array_column_data.cpp +37 -17
- package/src/duckdb/src/storage/table/chunk_info.cpp +38 -0
- package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +10 -6
- package/src/duckdb/src/storage/table/column_data.cpp +252 -31
- package/src/duckdb/src/storage/table/column_data_checkpointer.cpp +2 -12
- package/src/duckdb/src/storage/table/column_segment.cpp +63 -34
- package/src/duckdb/src/storage/table/list_column_data.cpp +34 -15
- package/src/duckdb/src/storage/table/row_group.cpp +228 -120
- package/src/duckdb/src/storage/table/row_group_collection.cpp +122 -120
- package/src/duckdb/src/storage/table/row_version_manager.cpp +27 -1
- package/src/duckdb/src/storage/table/scan_state.cpp +101 -18
- package/src/duckdb/src/storage/table/standard_column_data.cpp +20 -34
- package/src/duckdb/src/storage/table/struct_column_data.cpp +39 -42
- package/src/duckdb/src/storage/table/table_statistics.cpp +2 -1
- package/src/duckdb/src/storage/table/update_segment.cpp +9 -8
- package/src/duckdb/src/storage/table/validity_column_data.cpp +2 -2
- package/src/duckdb/src/storage/table_index_list.cpp +8 -7
- package/src/duckdb/src/storage/temporary_file_manager.cpp +11 -9
- package/src/duckdb/src/storage/temporary_memory_manager.cpp +227 -39
- package/src/duckdb/src/storage/wal_replay.cpp +68 -28
- package/src/duckdb/src/storage/write_ahead_log.cpp +56 -47
- package/src/duckdb/src/transaction/cleanup_state.cpp +9 -1
- package/src/duckdb/src/transaction/commit_state.cpp +7 -170
- package/src/duckdb/src/transaction/duck_transaction.cpp +87 -19
- package/src/duckdb/src/transaction/duck_transaction_manager.cpp +65 -10
- package/src/duckdb/src/transaction/meta_transaction.cpp +18 -3
- package/src/duckdb/src/transaction/transaction_context.cpp +21 -17
- package/src/duckdb/src/transaction/undo_buffer.cpp +20 -14
- package/src/duckdb/src/transaction/wal_write_state.cpp +292 -0
- package/src/duckdb/src/verification/prepared_statement_verifier.cpp +0 -1
- package/src/duckdb/third_party/brotli/common/brotli_constants.h +204 -0
- package/src/duckdb/third_party/brotli/common/brotli_platform.h +543 -0
- package/src/duckdb/third_party/brotli/common/constants.cpp +17 -0
- package/src/duckdb/third_party/brotli/common/context.cpp +156 -0
- package/src/duckdb/third_party/brotli/common/context.h +110 -0
- package/src/duckdb/third_party/brotli/common/dictionary.cpp +5912 -0
- package/src/duckdb/third_party/brotli/common/dictionary.h +60 -0
- package/src/duckdb/third_party/brotli/common/platform.cpp +24 -0
- package/src/duckdb/third_party/brotli/common/shared_dictionary.cpp +517 -0
- package/src/duckdb/third_party/brotli/common/shared_dictionary_internal.h +71 -0
- package/src/duckdb/third_party/brotli/common/transform.cpp +287 -0
- package/src/duckdb/third_party/brotli/common/transform.h +77 -0
- package/src/duckdb/third_party/brotli/common/version.h +51 -0
- package/src/duckdb/third_party/brotli/dec/bit_reader.cpp +74 -0
- package/src/duckdb/third_party/brotli/dec/bit_reader.h +419 -0
- package/src/duckdb/third_party/brotli/dec/decode.cpp +2758 -0
- package/src/duckdb/third_party/brotli/dec/huffman.cpp +338 -0
- package/src/duckdb/third_party/brotli/dec/huffman.h +118 -0
- package/src/duckdb/third_party/brotli/dec/prefix.h +733 -0
- package/src/duckdb/third_party/brotli/dec/state.cpp +178 -0
- package/src/duckdb/third_party/brotli/dec/state.h +386 -0
- package/src/duckdb/third_party/brotli/enc/backward_references.cpp +3775 -0
- package/src/duckdb/third_party/brotli/enc/backward_references.h +36 -0
- package/src/duckdb/third_party/brotli/enc/backward_references_hq.cpp +935 -0
- package/src/duckdb/third_party/brotli/enc/backward_references_hq.h +92 -0
- package/src/duckdb/third_party/brotli/enc/bit_cost.cpp +410 -0
- package/src/duckdb/third_party/brotli/enc/bit_cost.h +60 -0
- package/src/duckdb/third_party/brotli/enc/block_splitter.cpp +1653 -0
- package/src/duckdb/third_party/brotli/enc/block_splitter.h +48 -0
- package/src/duckdb/third_party/brotli/enc/brotli_bit_stream.cpp +1431 -0
- package/src/duckdb/third_party/brotli/enc/brotli_bit_stream.h +85 -0
- package/src/duckdb/third_party/brotli/enc/brotli_hash.h +4352 -0
- package/src/duckdb/third_party/brotli/enc/brotli_params.h +47 -0
- package/src/duckdb/third_party/brotli/enc/cluster.cpp +1025 -0
- package/src/duckdb/third_party/brotli/enc/cluster.h +1017 -0
- package/src/duckdb/third_party/brotli/enc/command.cpp +24 -0
- package/src/duckdb/third_party/brotli/enc/command.h +187 -0
- package/src/duckdb/third_party/brotli/enc/compound_dictionary.cpp +209 -0
- package/src/duckdb/third_party/brotli/enc/compound_dictionary.h +75 -0
- package/src/duckdb/third_party/brotli/enc/compress_fragment.cpp +796 -0
- package/src/duckdb/third_party/brotli/enc/compress_fragment.h +82 -0
- package/src/duckdb/third_party/brotli/enc/compress_fragment_two_pass.cpp +653 -0
- package/src/duckdb/third_party/brotli/enc/compress_fragment_two_pass.h +68 -0
- package/src/duckdb/third_party/brotli/enc/dictionary_hash.cpp +1844 -0
- package/src/duckdb/third_party/brotli/enc/dictionary_hash.h +21 -0
- package/src/duckdb/third_party/brotli/enc/encode.cpp +1990 -0
- package/src/duckdb/third_party/brotli/enc/encoder_dict.cpp +636 -0
- package/src/duckdb/third_party/brotli/enc/encoder_dict.h +153 -0
- package/src/duckdb/third_party/brotli/enc/entropy_encode.cpp +500 -0
- package/src/duckdb/third_party/brotli/enc/entropy_encode.h +119 -0
- package/src/duckdb/third_party/brotli/enc/entropy_encode_static.h +538 -0
- package/src/duckdb/third_party/brotli/enc/fast_log.cpp +101 -0
- package/src/duckdb/third_party/brotli/enc/fast_log.h +63 -0
- package/src/duckdb/third_party/brotli/enc/find_match_length.h +68 -0
- package/src/duckdb/third_party/brotli/enc/histogram.cpp +96 -0
- package/src/duckdb/third_party/brotli/enc/histogram.h +210 -0
- package/src/duckdb/third_party/brotli/enc/literal_cost.cpp +176 -0
- package/src/duckdb/third_party/brotli/enc/literal_cost.h +28 -0
- package/src/duckdb/third_party/brotli/enc/memory.cpp +190 -0
- package/src/duckdb/third_party/brotli/enc/memory.h +127 -0
- package/src/duckdb/third_party/brotli/enc/metablock.cpp +1225 -0
- package/src/duckdb/third_party/brotli/enc/metablock.h +102 -0
- package/src/duckdb/third_party/brotli/enc/prefix.h +50 -0
- package/src/duckdb/third_party/brotli/enc/quality.h +202 -0
- package/src/duckdb/third_party/brotli/enc/ringbuffer.h +164 -0
- package/src/duckdb/third_party/brotli/enc/state.h +106 -0
- package/src/duckdb/third_party/brotli/enc/static_dict.cpp +538 -0
- package/src/duckdb/third_party/brotli/enc/static_dict.h +37 -0
- package/src/duckdb/third_party/brotli/enc/static_dict_lut.h +5862 -0
- package/src/duckdb/third_party/brotli/enc/utf8_util.cpp +81 -0
- package/src/duckdb/third_party/brotli/enc/utf8_util.h +29 -0
- package/src/duckdb/third_party/brotli/enc/write_bits.h +84 -0
- package/src/duckdb/third_party/brotli/include/brotli/decode.h +405 -0
- package/src/duckdb/third_party/brotli/include/brotli/encode.h +489 -0
- package/src/duckdb/third_party/brotli/include/brotli/port.h +238 -0
- package/src/duckdb/third_party/brotli/include/brotli/shared_dictionary.h +96 -0
- package/src/duckdb/third_party/brotli/include/brotli/types.h +83 -0
- package/src/duckdb/third_party/fast_float/fast_float/fast_float.h +20 -4
- package/src/duckdb/third_party/fmt/include/fmt/format.h +54 -10
- package/src/duckdb/third_party/fsst/fsst.h +2 -2
- package/src/duckdb/third_party/fsst/libfsst.hpp +2 -2
- package/src/duckdb/third_party/httplib/httplib.hpp +6763 -5580
- package/src/duckdb/third_party/hyperloglog/hyperloglog.cpp +13 -30
- package/src/duckdb/third_party/hyperloglog/hyperloglog.hpp +8 -2
- package/src/duckdb/third_party/libpg_query/include/nodes/nodes.hpp +1 -0
- package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +22 -9
- package/src/duckdb/third_party/libpg_query/include/parser/gram.hpp +1041 -554
- package/src/duckdb/third_party/libpg_query/include/parser/kwlist.hpp +1 -0
- package/src/duckdb/third_party/libpg_query/postgres_parser.cpp +2 -1
- package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +21605 -21752
- package/src/duckdb/third_party/libpg_query/src_backend_parser_scan.cpp +538 -299
- package/src/duckdb/third_party/mbedtls/include/mbedtls/mbedtls_config.h +1 -0
- package/src/duckdb/third_party/mbedtls/include/mbedtls_wrapper.hpp +36 -12
- package/src/duckdb/third_party/mbedtls/library/md.cpp +6 -6
- package/src/duckdb/third_party/mbedtls/library/sha1.cpp +2 -0
- package/src/duckdb/third_party/mbedtls/library/sha256.cpp +3 -0
- package/src/duckdb/third_party/mbedtls/mbedtls_wrapper.cpp +99 -47
- package/src/duckdb/third_party/pcg/pcg_extras.hpp +1 -1
- package/src/duckdb/third_party/re2/re2/prog.cc +2 -2
- package/src/duckdb/third_party/snappy/snappy-internal.h +398 -0
- package/src/duckdb/third_party/snappy/snappy-sinksource.cc +111 -9
- package/src/duckdb/third_party/snappy/snappy-sinksource.h +158 -0
- package/src/duckdb/third_party/snappy/snappy-stubs-internal.h +523 -3
- package/src/duckdb/third_party/snappy/snappy-stubs-public.h +34 -1
- package/src/duckdb/third_party/snappy/snappy.cc +2626 -0
- package/src/duckdb/third_party/snappy/snappy.h +223 -0
- package/src/duckdb/third_party/snappy/snappy_version.hpp +11 -0
- package/src/duckdb/third_party/utf8proc/include/utf8proc.hpp +69 -101
- package/src/duckdb/third_party/utf8proc/include/utf8proc_wrapper.hpp +53 -0
- package/src/duckdb/third_party/utf8proc/utf8proc.cpp +627 -678
- package/src/duckdb/third_party/utf8proc/utf8proc_data.cpp +15008 -12868
- package/src/duckdb/third_party/utf8proc/utf8proc_wrapper.cpp +185 -29
- package/src/duckdb/ub_extension_json_json_functions.cpp +6 -0
- package/src/duckdb/ub_src_catalog_default.cpp +4 -0
- package/src/duckdb/ub_src_common.cpp +7 -1
- package/src/duckdb/ub_src_common_arrow.cpp +10 -0
- package/src/duckdb/ub_src_common_enums.cpp +2 -0
- package/src/duckdb/ub_src_common_tree_renderer.cpp +10 -0
- package/src/duckdb/ub_src_common_types.cpp +2 -0
- package/src/duckdb/ub_src_core_functions_aggregate_holistic.cpp +4 -0
- package/src/duckdb/ub_src_core_functions_aggregate_nested.cpp +2 -0
- package/src/duckdb/ub_src_core_functions_scalar_generic.cpp +2 -0
- package/src/duckdb/ub_src_core_functions_scalar_list.cpp +2 -4
- package/src/duckdb/ub_src_core_functions_scalar_map.cpp +2 -0
- package/src/duckdb/ub_src_core_functions_scalar_string.cpp +4 -0
- package/src/duckdb/ub_src_execution_index_art.cpp +5 -3
- package/src/duckdb/ub_src_execution_operator_csv_scanner_scanner.cpp +2 -0
- package/src/duckdb/ub_src_execution_operator_helper.cpp +4 -0
- package/src/duckdb/ub_src_function.cpp +4 -0
- package/src/duckdb/ub_src_function_cast.cpp +2 -0
- package/src/duckdb/ub_src_function_scalar_generic.cpp +4 -0
- package/src/duckdb/ub_src_function_scalar_list.cpp +0 -2
- package/src/duckdb/ub_src_function_scalar_string.cpp +2 -0
- package/src/duckdb/ub_src_function_table.cpp +2 -0
- package/src/duckdb/ub_src_function_table_arrow.cpp +2 -0
- package/src/duckdb/ub_src_function_table_system.cpp +2 -0
- package/src/duckdb/ub_src_main.cpp +4 -0
- package/src/duckdb/ub_src_main_buffered_data.cpp +4 -0
- package/src/duckdb/ub_src_main_capi.cpp +10 -0
- package/src/duckdb/ub_src_main_chunk_scan_state.cpp +2 -0
- package/src/duckdb/ub_src_main_relation.cpp +2 -0
- package/src/duckdb/ub_src_main_secret.cpp +2 -0
- package/src/duckdb/ub_src_optimizer.cpp +8 -0
- package/src/duckdb/ub_src_optimizer_compressed_materialization.cpp +2 -0
- package/src/duckdb/ub_src_optimizer_pushdown.cpp +2 -0
- package/src/duckdb/ub_src_optimizer_rule.cpp +2 -0
- package/src/duckdb/ub_src_parallel.cpp +4 -0
- package/src/duckdb/ub_src_parser_tableref.cpp +2 -0
- package/src/duckdb/ub_src_planner.cpp +2 -0
- package/src/duckdb/ub_src_planner_binder_expression.cpp +2 -0
- package/src/duckdb/ub_src_planner_binder_tableref.cpp +4 -0
- package/src/duckdb/ub_src_storage_statistics.cpp +0 -2
- package/src/duckdb/ub_src_transaction.cpp +2 -0
- package/test/columns.test.ts +1 -1
- package/test/prepare.test.ts +1 -1
- package/test/test_all_types.test.ts +1 -1
@@ -0,0 +1,921 @@
|
|
1
|
+
//===----------------------------------------------------------------------===//
|
2
|
+
//
|
3
|
+
// DuckDB
|
4
|
+
//
|
5
|
+
// duckdb_extension.h
|
6
|
+
//
|
7
|
+
//
|
8
|
+
//===----------------------------------------------------------------------===//
|
9
|
+
//
|
10
|
+
// !!!!!!!
|
11
|
+
// WARNING: this file is autogenerated by scripts/generate_c_api.py, manual changes will be overwritten
|
12
|
+
// !!!!!!!
|
13
|
+
|
14
|
+
// WARNING: this API is not yet stable, this means that this API is only guaranteed to work for this specific DuckDB
|
15
|
+
// version
|
16
|
+
|
17
|
+
#pragma once
|
18
|
+
|
19
|
+
#include "duckdb.h"
|
20
|
+
|
21
|
+
//===--------------------------------------------------------------------===//
|
22
|
+
// Util Macros
|
23
|
+
//===--------------------------------------------------------------------===//
|
24
|
+
|
25
|
+
#ifdef __cplusplus
|
26
|
+
#define DUCKDB_EXTENSION_EXTERN_C_GUARD_OPEN extern "C" {
|
27
|
+
#define DUCKDB_EXTENSION_EXTERN_C_GUARD_CLOSE }
|
28
|
+
#else
|
29
|
+
#define DUCKDB_EXTENSION_EXTERN_C_GUARD_OPEN
|
30
|
+
#define DUCKDB_EXTENSION_EXTERN_C_GUARD_CLOSE
|
31
|
+
#endif
|
32
|
+
|
33
|
+
#define DUCKDB_EXTENSION_GLUE_HELPER(x, y) x##y
|
34
|
+
#define DUCKDB_EXTENSION_GLUE(x, y) DUCKDB_EXTENSION_GLUE_HELPER(x, y)
|
35
|
+
#define DUCKDB_EXTENSION_STR_HELPER(x) #x
|
36
|
+
#define DUCKDB_EXTENSION_STR(x) DUCKDB_EXTENSION_STR_HELPER(x)
|
37
|
+
#define DUCKDB_EXTENSION_SEMVER_STRING(major, minor, patch) \
|
38
|
+
"v" DUCKDB_EXTENSION_STR_HELPER(major) "." DUCKDB_EXTENSION_STR_HELPER(minor) "." DUCKDB_EXTENSION_STR_HELPER(patch)
|
39
|
+
|
40
|
+
//===--------------------------------------------------------------------===//
|
41
|
+
// Versioning
|
42
|
+
//===--------------------------------------------------------------------===//
|
43
|
+
//! Set version to latest if no explicit version is defined
|
44
|
+
#if !defined(DUCKDB_EXTENSION_API_VERSION_MAJOR) && !defined(DUCKDB_EXTENSION_API_VERSION_MINOR) && \
|
45
|
+
!defined(DUCKDB_EXTENSION_API_VERSION_PATCH)
|
46
|
+
#define DUCKDB_EXTENSION_API_VERSION_MAJOR 0
|
47
|
+
#define DUCKDB_EXTENSION_API_VERSION_MINOR 0
|
48
|
+
#define DUCKDB_EXTENSION_API_VERSION_PATCH 1
|
49
|
+
#elif !(defined(DUCKDB_EXTENSION_API_VERSION_MAJOR) && defined(DUCKDB_EXTENSION_API_VERSION_MINOR) && \
|
50
|
+
defined(DUCKDB_EXTENSION_API_VERSION_PATCH))
|
51
|
+
#error "either all or none of the DUCKDB_EXTENSION_API_VERSION_ defines should be defined"
|
52
|
+
#endif
|
53
|
+
|
54
|
+
//! Set the DUCKDB_EXTENSION_API_VERSION_STRING which is passed to DuckDB on extension load
|
55
|
+
#if DUCKDB_EXTENSION_API_VERSION_DEV
|
56
|
+
#define DUCKDB_EXTENSION_API_VERSION_STRING "dev"
|
57
|
+
#else
|
58
|
+
#define DUCKDB_EXTENSION_API_VERSION_STRING \
|
59
|
+
DUCKDB_EXTENSION_SEMVER_STRING(DUCKDB_EXTENSION_API_VERSION_MAJOR, DUCKDB_EXTENSION_API_VERSION_MINOR, \
|
60
|
+
DUCKDB_EXTENSION_API_VERSION_PATCH)
|
61
|
+
#endif
|
62
|
+
|
63
|
+
#if DUCKDB_EXTENSION_API_VERSION_MAJOR != 0
|
64
|
+
#error "This version of the extension API header only supports API VERSION v0.x.x"
|
65
|
+
#endif
|
66
|
+
|
67
|
+
//===--------------------------------------------------------------------===//
|
68
|
+
// Function pointer struct
|
69
|
+
//===--------------------------------------------------------------------===//
|
70
|
+
typedef struct {
|
71
|
+
#if DUCKDB_EXTENSION_API_VERSION_MINOR >= 0 && DUCKDB_EXTENSION_API_VERSION_PATCH >= 1 // v0.0.1
|
72
|
+
duckdb_state (*duckdb_open)(const char *path, duckdb_database *out_database);
|
73
|
+
duckdb_state (*duckdb_open_ext)(const char *path, duckdb_database *out_database, duckdb_config config,
|
74
|
+
char **out_error);
|
75
|
+
void (*duckdb_close)(duckdb_database *database);
|
76
|
+
duckdb_state (*duckdb_connect)(duckdb_database database, duckdb_connection *out_connection);
|
77
|
+
void (*duckdb_interrupt)(duckdb_connection connection);
|
78
|
+
duckdb_query_progress_type (*duckdb_query_progress)(duckdb_connection connection);
|
79
|
+
void (*duckdb_disconnect)(duckdb_connection *connection);
|
80
|
+
const char *(*duckdb_library_version)();
|
81
|
+
duckdb_state (*duckdb_create_config)(duckdb_config *out_config);
|
82
|
+
size_t (*duckdb_config_count)();
|
83
|
+
duckdb_state (*duckdb_get_config_flag)(size_t index, const char **out_name, const char **out_description);
|
84
|
+
duckdb_state (*duckdb_set_config)(duckdb_config config, const char *name, const char *option);
|
85
|
+
void (*duckdb_destroy_config)(duckdb_config *config);
|
86
|
+
duckdb_state (*duckdb_query)(duckdb_connection connection, const char *query, duckdb_result *out_result);
|
87
|
+
void (*duckdb_destroy_result)(duckdb_result *result);
|
88
|
+
const char *(*duckdb_column_name)(duckdb_result *result, idx_t col);
|
89
|
+
duckdb_type (*duckdb_column_type)(duckdb_result *result, idx_t col);
|
90
|
+
duckdb_statement_type (*duckdb_result_statement_type)(duckdb_result result);
|
91
|
+
duckdb_logical_type (*duckdb_column_logical_type)(duckdb_result *result, idx_t col);
|
92
|
+
idx_t (*duckdb_column_count)(duckdb_result *result);
|
93
|
+
idx_t (*duckdb_rows_changed)(duckdb_result *result);
|
94
|
+
const char *(*duckdb_result_error)(duckdb_result *result);
|
95
|
+
void *(*duckdb_malloc)(size_t size);
|
96
|
+
void (*duckdb_free)(void *ptr);
|
97
|
+
idx_t (*duckdb_vector_size)();
|
98
|
+
bool (*duckdb_string_is_inlined)(duckdb_string_t string);
|
99
|
+
duckdb_date_struct (*duckdb_from_date)(duckdb_date date);
|
100
|
+
duckdb_date (*duckdb_to_date)(duckdb_date_struct date);
|
101
|
+
bool (*duckdb_is_finite_date)(duckdb_date date);
|
102
|
+
duckdb_time_struct (*duckdb_from_time)(duckdb_time time);
|
103
|
+
duckdb_time_tz (*duckdb_create_time_tz)(int64_t micros, int32_t offset);
|
104
|
+
duckdb_time_tz_struct (*duckdb_from_time_tz)(duckdb_time_tz micros);
|
105
|
+
duckdb_time (*duckdb_to_time)(duckdb_time_struct time);
|
106
|
+
duckdb_timestamp_struct (*duckdb_from_timestamp)(duckdb_timestamp ts);
|
107
|
+
duckdb_timestamp (*duckdb_to_timestamp)(duckdb_timestamp_struct ts);
|
108
|
+
bool (*duckdb_is_finite_timestamp)(duckdb_timestamp ts);
|
109
|
+
double (*duckdb_hugeint_to_double)(duckdb_hugeint val);
|
110
|
+
duckdb_hugeint (*duckdb_double_to_hugeint)(double val);
|
111
|
+
double (*duckdb_uhugeint_to_double)(duckdb_uhugeint val);
|
112
|
+
duckdb_uhugeint (*duckdb_double_to_uhugeint)(double val);
|
113
|
+
duckdb_decimal (*duckdb_double_to_decimal)(double val, uint8_t width, uint8_t scale);
|
114
|
+
double (*duckdb_decimal_to_double)(duckdb_decimal val);
|
115
|
+
duckdb_state (*duckdb_prepare)(duckdb_connection connection, const char *query,
|
116
|
+
duckdb_prepared_statement *out_prepared_statement);
|
117
|
+
void (*duckdb_destroy_prepare)(duckdb_prepared_statement *prepared_statement);
|
118
|
+
const char *(*duckdb_prepare_error)(duckdb_prepared_statement prepared_statement);
|
119
|
+
idx_t (*duckdb_nparams)(duckdb_prepared_statement prepared_statement);
|
120
|
+
const char *(*duckdb_parameter_name)(duckdb_prepared_statement prepared_statement, idx_t index);
|
121
|
+
duckdb_type (*duckdb_param_type)(duckdb_prepared_statement prepared_statement, idx_t param_idx);
|
122
|
+
duckdb_state (*duckdb_clear_bindings)(duckdb_prepared_statement prepared_statement);
|
123
|
+
duckdb_statement_type (*duckdb_prepared_statement_type)(duckdb_prepared_statement statement);
|
124
|
+
duckdb_state (*duckdb_bind_value)(duckdb_prepared_statement prepared_statement, idx_t param_idx, duckdb_value val);
|
125
|
+
duckdb_state (*duckdb_bind_parameter_index)(duckdb_prepared_statement prepared_statement, idx_t *param_idx_out,
|
126
|
+
const char *name);
|
127
|
+
duckdb_state (*duckdb_bind_boolean)(duckdb_prepared_statement prepared_statement, idx_t param_idx, bool val);
|
128
|
+
duckdb_state (*duckdb_bind_int8)(duckdb_prepared_statement prepared_statement, idx_t param_idx, int8_t val);
|
129
|
+
duckdb_state (*duckdb_bind_int16)(duckdb_prepared_statement prepared_statement, idx_t param_idx, int16_t val);
|
130
|
+
duckdb_state (*duckdb_bind_int32)(duckdb_prepared_statement prepared_statement, idx_t param_idx, int32_t val);
|
131
|
+
duckdb_state (*duckdb_bind_int64)(duckdb_prepared_statement prepared_statement, idx_t param_idx, int64_t val);
|
132
|
+
duckdb_state (*duckdb_bind_hugeint)(duckdb_prepared_statement prepared_statement, idx_t param_idx,
|
133
|
+
duckdb_hugeint val);
|
134
|
+
duckdb_state (*duckdb_bind_uhugeint)(duckdb_prepared_statement prepared_statement, idx_t param_idx,
|
135
|
+
duckdb_uhugeint val);
|
136
|
+
duckdb_state (*duckdb_bind_decimal)(duckdb_prepared_statement prepared_statement, idx_t param_idx,
|
137
|
+
duckdb_decimal val);
|
138
|
+
duckdb_state (*duckdb_bind_uint8)(duckdb_prepared_statement prepared_statement, idx_t param_idx, uint8_t val);
|
139
|
+
duckdb_state (*duckdb_bind_uint16)(duckdb_prepared_statement prepared_statement, idx_t param_idx, uint16_t val);
|
140
|
+
duckdb_state (*duckdb_bind_uint32)(duckdb_prepared_statement prepared_statement, idx_t param_idx, uint32_t val);
|
141
|
+
duckdb_state (*duckdb_bind_uint64)(duckdb_prepared_statement prepared_statement, idx_t param_idx, uint64_t val);
|
142
|
+
duckdb_state (*duckdb_bind_float)(duckdb_prepared_statement prepared_statement, idx_t param_idx, float val);
|
143
|
+
duckdb_state (*duckdb_bind_double)(duckdb_prepared_statement prepared_statement, idx_t param_idx, double val);
|
144
|
+
duckdb_state (*duckdb_bind_date)(duckdb_prepared_statement prepared_statement, idx_t param_idx, duckdb_date val);
|
145
|
+
duckdb_state (*duckdb_bind_time)(duckdb_prepared_statement prepared_statement, idx_t param_idx, duckdb_time val);
|
146
|
+
duckdb_state (*duckdb_bind_timestamp)(duckdb_prepared_statement prepared_statement, idx_t param_idx,
|
147
|
+
duckdb_timestamp val);
|
148
|
+
duckdb_state (*duckdb_bind_timestamp_tz)(duckdb_prepared_statement prepared_statement, idx_t param_idx,
|
149
|
+
duckdb_timestamp val);
|
150
|
+
duckdb_state (*duckdb_bind_interval)(duckdb_prepared_statement prepared_statement, idx_t param_idx,
|
151
|
+
duckdb_interval val);
|
152
|
+
duckdb_state (*duckdb_bind_varchar)(duckdb_prepared_statement prepared_statement, idx_t param_idx, const char *val);
|
153
|
+
duckdb_state (*duckdb_bind_varchar_length)(duckdb_prepared_statement prepared_statement, idx_t param_idx,
|
154
|
+
const char *val, idx_t length);
|
155
|
+
duckdb_state (*duckdb_bind_blob)(duckdb_prepared_statement prepared_statement, idx_t param_idx, const void *data,
|
156
|
+
idx_t length);
|
157
|
+
duckdb_state (*duckdb_bind_null)(duckdb_prepared_statement prepared_statement, idx_t param_idx);
|
158
|
+
duckdb_state (*duckdb_execute_prepared)(duckdb_prepared_statement prepared_statement, duckdb_result *out_result);
|
159
|
+
idx_t (*duckdb_extract_statements)(duckdb_connection connection, const char *query,
|
160
|
+
duckdb_extracted_statements *out_extracted_statements);
|
161
|
+
duckdb_state (*duckdb_prepare_extracted_statement)(duckdb_connection connection,
|
162
|
+
duckdb_extracted_statements extracted_statements, idx_t index,
|
163
|
+
duckdb_prepared_statement *out_prepared_statement);
|
164
|
+
const char *(*duckdb_extract_statements_error)(duckdb_extracted_statements extracted_statements);
|
165
|
+
void (*duckdb_destroy_extracted)(duckdb_extracted_statements *extracted_statements);
|
166
|
+
duckdb_state (*duckdb_pending_prepared)(duckdb_prepared_statement prepared_statement,
|
167
|
+
duckdb_pending_result *out_result);
|
168
|
+
void (*duckdb_destroy_pending)(duckdb_pending_result *pending_result);
|
169
|
+
const char *(*duckdb_pending_error)(duckdb_pending_result pending_result);
|
170
|
+
duckdb_pending_state (*duckdb_pending_execute_task)(duckdb_pending_result pending_result);
|
171
|
+
duckdb_pending_state (*duckdb_pending_execute_check_state)(duckdb_pending_result pending_result);
|
172
|
+
duckdb_state (*duckdb_execute_pending)(duckdb_pending_result pending_result, duckdb_result *out_result);
|
173
|
+
bool (*duckdb_pending_execution_is_finished)(duckdb_pending_state pending_state);
|
174
|
+
void (*duckdb_destroy_value)(duckdb_value *value);
|
175
|
+
duckdb_value (*duckdb_create_varchar)(const char *text);
|
176
|
+
duckdb_value (*duckdb_create_varchar_length)(const char *text, idx_t length);
|
177
|
+
duckdb_value (*duckdb_create_int64)(int64_t val);
|
178
|
+
duckdb_value (*duckdb_create_struct_value)(duckdb_logical_type type, duckdb_value *values);
|
179
|
+
duckdb_value (*duckdb_create_list_value)(duckdb_logical_type type, duckdb_value *values, idx_t value_count);
|
180
|
+
duckdb_value (*duckdb_create_array_value)(duckdb_logical_type type, duckdb_value *values, idx_t value_count);
|
181
|
+
char *(*duckdb_get_varchar)(duckdb_value value);
|
182
|
+
int64_t (*duckdb_get_int64)(duckdb_value val);
|
183
|
+
duckdb_logical_type (*duckdb_create_logical_type)(duckdb_type type);
|
184
|
+
char *(*duckdb_logical_type_get_alias)(duckdb_logical_type type);
|
185
|
+
duckdb_logical_type (*duckdb_create_list_type)(duckdb_logical_type type);
|
186
|
+
duckdb_logical_type (*duckdb_create_array_type)(duckdb_logical_type type, idx_t array_size);
|
187
|
+
duckdb_logical_type (*duckdb_create_map_type)(duckdb_logical_type key_type, duckdb_logical_type value_type);
|
188
|
+
duckdb_logical_type (*duckdb_create_union_type)(duckdb_logical_type *member_types, const char **member_names,
|
189
|
+
idx_t member_count);
|
190
|
+
duckdb_logical_type (*duckdb_create_struct_type)(duckdb_logical_type *member_types, const char **member_names,
|
191
|
+
idx_t member_count);
|
192
|
+
duckdb_logical_type (*duckdb_create_enum_type)(const char **member_names, idx_t member_count);
|
193
|
+
duckdb_logical_type (*duckdb_create_decimal_type)(uint8_t width, uint8_t scale);
|
194
|
+
duckdb_type (*duckdb_get_type_id)(duckdb_logical_type type);
|
195
|
+
uint8_t (*duckdb_decimal_width)(duckdb_logical_type type);
|
196
|
+
uint8_t (*duckdb_decimal_scale)(duckdb_logical_type type);
|
197
|
+
duckdb_type (*duckdb_decimal_internal_type)(duckdb_logical_type type);
|
198
|
+
duckdb_type (*duckdb_enum_internal_type)(duckdb_logical_type type);
|
199
|
+
uint32_t (*duckdb_enum_dictionary_size)(duckdb_logical_type type);
|
200
|
+
char *(*duckdb_enum_dictionary_value)(duckdb_logical_type type, idx_t index);
|
201
|
+
duckdb_logical_type (*duckdb_list_type_child_type)(duckdb_logical_type type);
|
202
|
+
duckdb_logical_type (*duckdb_array_type_child_type)(duckdb_logical_type type);
|
203
|
+
idx_t (*duckdb_array_type_array_size)(duckdb_logical_type type);
|
204
|
+
duckdb_logical_type (*duckdb_map_type_key_type)(duckdb_logical_type type);
|
205
|
+
duckdb_logical_type (*duckdb_map_type_value_type)(duckdb_logical_type type);
|
206
|
+
idx_t (*duckdb_struct_type_child_count)(duckdb_logical_type type);
|
207
|
+
char *(*duckdb_struct_type_child_name)(duckdb_logical_type type, idx_t index);
|
208
|
+
duckdb_logical_type (*duckdb_struct_type_child_type)(duckdb_logical_type type, idx_t index);
|
209
|
+
idx_t (*duckdb_union_type_member_count)(duckdb_logical_type type);
|
210
|
+
char *(*duckdb_union_type_member_name)(duckdb_logical_type type, idx_t index);
|
211
|
+
duckdb_logical_type (*duckdb_union_type_member_type)(duckdb_logical_type type, idx_t index);
|
212
|
+
void (*duckdb_destroy_logical_type)(duckdb_logical_type *type);
|
213
|
+
duckdb_data_chunk (*duckdb_fetch_chunk)(duckdb_result result);
|
214
|
+
duckdb_data_chunk (*duckdb_create_data_chunk)(duckdb_logical_type *types, idx_t column_count);
|
215
|
+
void (*duckdb_destroy_data_chunk)(duckdb_data_chunk *chunk);
|
216
|
+
void (*duckdb_data_chunk_reset)(duckdb_data_chunk chunk);
|
217
|
+
idx_t (*duckdb_data_chunk_get_column_count)(duckdb_data_chunk chunk);
|
218
|
+
duckdb_vector (*duckdb_data_chunk_get_vector)(duckdb_data_chunk chunk, idx_t col_idx);
|
219
|
+
idx_t (*duckdb_data_chunk_get_size)(duckdb_data_chunk chunk);
|
220
|
+
void (*duckdb_data_chunk_set_size)(duckdb_data_chunk chunk, idx_t size);
|
221
|
+
duckdb_logical_type (*duckdb_vector_get_column_type)(duckdb_vector vector);
|
222
|
+
void *(*duckdb_vector_get_data)(duckdb_vector vector);
|
223
|
+
uint64_t *(*duckdb_vector_get_validity)(duckdb_vector vector);
|
224
|
+
void (*duckdb_vector_ensure_validity_writable)(duckdb_vector vector);
|
225
|
+
void (*duckdb_vector_assign_string_element)(duckdb_vector vector, idx_t index, const char *str);
|
226
|
+
void (*duckdb_vector_assign_string_element_len)(duckdb_vector vector, idx_t index, const char *str, idx_t str_len);
|
227
|
+
duckdb_vector (*duckdb_list_vector_get_child)(duckdb_vector vector);
|
228
|
+
idx_t (*duckdb_list_vector_get_size)(duckdb_vector vector);
|
229
|
+
duckdb_state (*duckdb_list_vector_set_size)(duckdb_vector vector, idx_t size);
|
230
|
+
duckdb_state (*duckdb_list_vector_reserve)(duckdb_vector vector, idx_t required_capacity);
|
231
|
+
duckdb_vector (*duckdb_struct_vector_get_child)(duckdb_vector vector, idx_t index);
|
232
|
+
duckdb_vector (*duckdb_array_vector_get_child)(duckdb_vector vector);
|
233
|
+
bool (*duckdb_validity_row_is_valid)(uint64_t *validity, idx_t row);
|
234
|
+
void (*duckdb_validity_set_row_validity)(uint64_t *validity, idx_t row, bool valid);
|
235
|
+
void (*duckdb_validity_set_row_invalid)(uint64_t *validity, idx_t row);
|
236
|
+
void (*duckdb_validity_set_row_valid)(uint64_t *validity, idx_t row);
|
237
|
+
duckdb_scalar_function (*duckdb_create_scalar_function)();
|
238
|
+
void (*duckdb_destroy_scalar_function)(duckdb_scalar_function *scalar_function);
|
239
|
+
void (*duckdb_scalar_function_set_name)(duckdb_scalar_function scalar_function, const char *name);
|
240
|
+
void (*duckdb_scalar_function_add_parameter)(duckdb_scalar_function scalar_function, duckdb_logical_type type);
|
241
|
+
void (*duckdb_scalar_function_set_return_type)(duckdb_scalar_function scalar_function, duckdb_logical_type type);
|
242
|
+
void (*duckdb_scalar_function_set_extra_info)(duckdb_scalar_function scalar_function, void *extra_info,
|
243
|
+
duckdb_delete_callback_t destroy);
|
244
|
+
void (*duckdb_scalar_function_set_function)(duckdb_scalar_function scalar_function,
|
245
|
+
duckdb_scalar_function_t function);
|
246
|
+
duckdb_state (*duckdb_register_scalar_function)(duckdb_connection con, duckdb_scalar_function scalar_function);
|
247
|
+
duckdb_table_function (*duckdb_create_table_function)();
|
248
|
+
void (*duckdb_destroy_table_function)(duckdb_table_function *table_function);
|
249
|
+
void (*duckdb_table_function_set_name)(duckdb_table_function table_function, const char *name);
|
250
|
+
void (*duckdb_table_function_add_parameter)(duckdb_table_function table_function, duckdb_logical_type type);
|
251
|
+
void (*duckdb_table_function_add_named_parameter)(duckdb_table_function table_function, const char *name,
|
252
|
+
duckdb_logical_type type);
|
253
|
+
void (*duckdb_table_function_set_extra_info)(duckdb_table_function table_function, void *extra_info,
|
254
|
+
duckdb_delete_callback_t destroy);
|
255
|
+
void (*duckdb_table_function_set_bind)(duckdb_table_function table_function, duckdb_table_function_bind_t bind);
|
256
|
+
void (*duckdb_table_function_set_init)(duckdb_table_function table_function, duckdb_table_function_init_t init);
|
257
|
+
void (*duckdb_table_function_set_local_init)(duckdb_table_function table_function,
|
258
|
+
duckdb_table_function_init_t init);
|
259
|
+
void (*duckdb_table_function_set_function)(duckdb_table_function table_function, duckdb_table_function_t function);
|
260
|
+
void (*duckdb_table_function_supports_projection_pushdown)(duckdb_table_function table_function, bool pushdown);
|
261
|
+
duckdb_state (*duckdb_register_table_function)(duckdb_connection con, duckdb_table_function function);
|
262
|
+
void *(*duckdb_bind_get_extra_info)(duckdb_bind_info info);
|
263
|
+
void (*duckdb_bind_add_result_column)(duckdb_bind_info info, const char *name, duckdb_logical_type type);
|
264
|
+
idx_t (*duckdb_bind_get_parameter_count)(duckdb_bind_info info);
|
265
|
+
duckdb_value (*duckdb_bind_get_parameter)(duckdb_bind_info info, idx_t index);
|
266
|
+
duckdb_value (*duckdb_bind_get_named_parameter)(duckdb_bind_info info, const char *name);
|
267
|
+
void (*duckdb_bind_set_bind_data)(duckdb_bind_info info, void *bind_data, duckdb_delete_callback_t destroy);
|
268
|
+
void (*duckdb_bind_set_cardinality)(duckdb_bind_info info, idx_t cardinality, bool is_exact);
|
269
|
+
void (*duckdb_bind_set_error)(duckdb_bind_info info, const char *error);
|
270
|
+
void *(*duckdb_init_get_extra_info)(duckdb_init_info info);
|
271
|
+
void *(*duckdb_init_get_bind_data)(duckdb_init_info info);
|
272
|
+
void (*duckdb_init_set_init_data)(duckdb_init_info info, void *init_data, duckdb_delete_callback_t destroy);
|
273
|
+
idx_t (*duckdb_init_get_column_count)(duckdb_init_info info);
|
274
|
+
idx_t (*duckdb_init_get_column_index)(duckdb_init_info info, idx_t column_index);
|
275
|
+
void (*duckdb_init_set_max_threads)(duckdb_init_info info, idx_t max_threads);
|
276
|
+
void (*duckdb_init_set_error)(duckdb_init_info info, const char *error);
|
277
|
+
void *(*duckdb_function_get_extra_info)(duckdb_function_info info);
|
278
|
+
void *(*duckdb_function_get_bind_data)(duckdb_function_info info);
|
279
|
+
void *(*duckdb_function_get_init_data)(duckdb_function_info info);
|
280
|
+
void *(*duckdb_function_get_local_init_data)(duckdb_function_info info);
|
281
|
+
void (*duckdb_function_set_error)(duckdb_function_info info, const char *error);
|
282
|
+
void (*duckdb_add_replacement_scan)(duckdb_database db, duckdb_replacement_callback_t replacement, void *extra_data,
|
283
|
+
duckdb_delete_callback_t delete_callback);
|
284
|
+
void (*duckdb_replacement_scan_set_function_name)(duckdb_replacement_scan_info info, const char *function_name);
|
285
|
+
void (*duckdb_replacement_scan_add_parameter)(duckdb_replacement_scan_info info, duckdb_value parameter);
|
286
|
+
void (*duckdb_replacement_scan_set_error)(duckdb_replacement_scan_info info, const char *error);
|
287
|
+
duckdb_state (*duckdb_appender_create)(duckdb_connection connection, const char *schema, const char *table,
|
288
|
+
duckdb_appender *out_appender);
|
289
|
+
idx_t (*duckdb_appender_column_count)(duckdb_appender appender);
|
290
|
+
duckdb_logical_type (*duckdb_appender_column_type)(duckdb_appender appender, idx_t col_idx);
|
291
|
+
const char *(*duckdb_appender_error)(duckdb_appender appender);
|
292
|
+
duckdb_state (*duckdb_appender_flush)(duckdb_appender appender);
|
293
|
+
duckdb_state (*duckdb_appender_close)(duckdb_appender appender);
|
294
|
+
duckdb_state (*duckdb_appender_destroy)(duckdb_appender *appender);
|
295
|
+
duckdb_state (*duckdb_appender_begin_row)(duckdb_appender appender);
|
296
|
+
duckdb_state (*duckdb_appender_end_row)(duckdb_appender appender);
|
297
|
+
duckdb_state (*duckdb_append_default)(duckdb_appender appender);
|
298
|
+
duckdb_state (*duckdb_append_bool)(duckdb_appender appender, bool value);
|
299
|
+
duckdb_state (*duckdb_append_int8)(duckdb_appender appender, int8_t value);
|
300
|
+
duckdb_state (*duckdb_append_int16)(duckdb_appender appender, int16_t value);
|
301
|
+
duckdb_state (*duckdb_append_int32)(duckdb_appender appender, int32_t value);
|
302
|
+
duckdb_state (*duckdb_append_int64)(duckdb_appender appender, int64_t value);
|
303
|
+
duckdb_state (*duckdb_append_hugeint)(duckdb_appender appender, duckdb_hugeint value);
|
304
|
+
duckdb_state (*duckdb_append_uint8)(duckdb_appender appender, uint8_t value);
|
305
|
+
duckdb_state (*duckdb_append_uint16)(duckdb_appender appender, uint16_t value);
|
306
|
+
duckdb_state (*duckdb_append_uint32)(duckdb_appender appender, uint32_t value);
|
307
|
+
duckdb_state (*duckdb_append_uint64)(duckdb_appender appender, uint64_t value);
|
308
|
+
duckdb_state (*duckdb_append_uhugeint)(duckdb_appender appender, duckdb_uhugeint value);
|
309
|
+
duckdb_state (*duckdb_append_float)(duckdb_appender appender, float value);
|
310
|
+
duckdb_state (*duckdb_append_double)(duckdb_appender appender, double value);
|
311
|
+
duckdb_state (*duckdb_append_date)(duckdb_appender appender, duckdb_date value);
|
312
|
+
duckdb_state (*duckdb_append_time)(duckdb_appender appender, duckdb_time value);
|
313
|
+
duckdb_state (*duckdb_append_timestamp)(duckdb_appender appender, duckdb_timestamp value);
|
314
|
+
duckdb_state (*duckdb_append_interval)(duckdb_appender appender, duckdb_interval value);
|
315
|
+
duckdb_state (*duckdb_append_varchar)(duckdb_appender appender, const char *val);
|
316
|
+
duckdb_state (*duckdb_append_varchar_length)(duckdb_appender appender, const char *val, idx_t length);
|
317
|
+
duckdb_state (*duckdb_append_blob)(duckdb_appender appender, const void *data, idx_t length);
|
318
|
+
duckdb_state (*duckdb_append_null)(duckdb_appender appender);
|
319
|
+
duckdb_state (*duckdb_append_data_chunk)(duckdb_appender appender, duckdb_data_chunk chunk);
|
320
|
+
void (*duckdb_execute_tasks)(duckdb_database database, idx_t max_tasks);
|
321
|
+
duckdb_task_state (*duckdb_create_task_state)(duckdb_database database);
|
322
|
+
void (*duckdb_execute_tasks_state)(duckdb_task_state state);
|
323
|
+
idx_t (*duckdb_execute_n_tasks_state)(duckdb_task_state state, idx_t max_tasks);
|
324
|
+
void (*duckdb_finish_execution)(duckdb_task_state state);
|
325
|
+
bool (*duckdb_task_state_is_finished)(duckdb_task_state state);
|
326
|
+
void (*duckdb_destroy_task_state)(duckdb_task_state state);
|
327
|
+
bool (*duckdb_execution_is_finished)(duckdb_connection con);
|
328
|
+
duckdb_profiling_info (*duckdb_get_profiling_info)(duckdb_connection connection);
|
329
|
+
duckdb_value (*duckdb_profiling_info_get_value)(duckdb_profiling_info info, const char *key);
|
330
|
+
idx_t (*duckdb_profiling_info_get_child_count)(duckdb_profiling_info info);
|
331
|
+
duckdb_profiling_info (*duckdb_profiling_info_get_child)(duckdb_profiling_info info, idx_t index);
|
332
|
+
duckdb_value (*duckdb_profiling_info_get_metrics)(duckdb_profiling_info info);
|
333
|
+
void (*duckdb_scalar_function_set_varargs)(duckdb_scalar_function scalar_function, duckdb_logical_type type);
|
334
|
+
void (*duckdb_scalar_function_set_special_handling)(duckdb_scalar_function scalar_function);
|
335
|
+
void (*duckdb_scalar_function_set_volatile)(duckdb_scalar_function scalar_function);
|
336
|
+
void *(*duckdb_scalar_function_get_extra_info)(duckdb_function_info info);
|
337
|
+
void (*duckdb_scalar_function_set_error)(duckdb_function_info info, const char *error);
|
338
|
+
duckdb_state (*duckdb_table_description_create)(duckdb_connection connection, const char *schema, const char *table,
|
339
|
+
duckdb_table_description *out);
|
340
|
+
void (*duckdb_table_description_destroy)(duckdb_table_description *table_description);
|
341
|
+
const char *(*duckdb_table_description_error)(duckdb_table_description table_description);
|
342
|
+
duckdb_error_type (*duckdb_result_error_type)(duckdb_result *result);
|
343
|
+
uint32_t (*duckdb_string_t_length)(duckdb_string_t string);
|
344
|
+
const char *(*duckdb_string_t_data)(duckdb_string_t *string);
|
345
|
+
duckdb_value (*duckdb_create_bool)(bool input);
|
346
|
+
duckdb_value (*duckdb_create_int8)(int8_t input);
|
347
|
+
duckdb_value (*duckdb_create_uint8)(uint8_t input);
|
348
|
+
duckdb_value (*duckdb_create_int16)(int16_t input);
|
349
|
+
duckdb_value (*duckdb_create_uint16)(uint16_t input);
|
350
|
+
duckdb_value (*duckdb_create_int32)(int32_t input);
|
351
|
+
duckdb_value (*duckdb_create_uint32)(uint32_t input);
|
352
|
+
duckdb_value (*duckdb_create_uint64)(uint64_t input);
|
353
|
+
duckdb_value (*duckdb_create_hugeint)(duckdb_hugeint input);
|
354
|
+
duckdb_value (*duckdb_create_uhugeint)(duckdb_uhugeint input);
|
355
|
+
duckdb_value (*duckdb_create_float)(float input);
|
356
|
+
duckdb_value (*duckdb_create_double)(double input);
|
357
|
+
duckdb_value (*duckdb_create_date)(duckdb_date input);
|
358
|
+
duckdb_value (*duckdb_create_time)(duckdb_time input);
|
359
|
+
duckdb_value (*duckdb_create_time_tz_value)(duckdb_time_tz value);
|
360
|
+
duckdb_value (*duckdb_create_timestamp)(duckdb_timestamp input);
|
361
|
+
duckdb_value (*duckdb_create_interval)(duckdb_interval input);
|
362
|
+
duckdb_value (*duckdb_create_blob)(const uint8_t *data, idx_t length);
|
363
|
+
bool (*duckdb_get_bool)(duckdb_value val);
|
364
|
+
int8_t (*duckdb_get_int8)(duckdb_value val);
|
365
|
+
uint8_t (*duckdb_get_uint8)(duckdb_value val);
|
366
|
+
int16_t (*duckdb_get_int16)(duckdb_value val);
|
367
|
+
uint16_t (*duckdb_get_uint16)(duckdb_value val);
|
368
|
+
int32_t (*duckdb_get_int32)(duckdb_value val);
|
369
|
+
uint32_t (*duckdb_get_uint32)(duckdb_value val);
|
370
|
+
uint64_t (*duckdb_get_uint64)(duckdb_value val);
|
371
|
+
duckdb_hugeint (*duckdb_get_hugeint)(duckdb_value val);
|
372
|
+
duckdb_uhugeint (*duckdb_get_uhugeint)(duckdb_value val);
|
373
|
+
float (*duckdb_get_float)(duckdb_value val);
|
374
|
+
double (*duckdb_get_double)(duckdb_value val);
|
375
|
+
duckdb_date (*duckdb_get_date)(duckdb_value val);
|
376
|
+
duckdb_time (*duckdb_get_time)(duckdb_value val);
|
377
|
+
duckdb_time_tz (*duckdb_get_time_tz)(duckdb_value val);
|
378
|
+
duckdb_timestamp (*duckdb_get_timestamp)(duckdb_value val);
|
379
|
+
duckdb_interval (*duckdb_get_interval)(duckdb_value val);
|
380
|
+
duckdb_logical_type (*duckdb_get_value_type)(duckdb_value val);
|
381
|
+
duckdb_blob (*duckdb_get_blob)(duckdb_value val);
|
382
|
+
duckdb_scalar_function_set (*duckdb_create_scalar_function_set)(const char *name);
|
383
|
+
void (*duckdb_destroy_scalar_function_set)(duckdb_scalar_function_set *scalar_function_set);
|
384
|
+
duckdb_state (*duckdb_add_scalar_function_to_set)(duckdb_scalar_function_set set, duckdb_scalar_function function);
|
385
|
+
duckdb_state (*duckdb_register_scalar_function_set)(duckdb_connection con, duckdb_scalar_function_set set);
|
386
|
+
duckdb_aggregate_function_set (*duckdb_create_aggregate_function_set)(const char *name);
|
387
|
+
void (*duckdb_destroy_aggregate_function_set)(duckdb_aggregate_function_set *aggregate_function_set);
|
388
|
+
duckdb_state (*duckdb_add_aggregate_function_to_set)(duckdb_aggregate_function_set set,
|
389
|
+
duckdb_aggregate_function function);
|
390
|
+
duckdb_state (*duckdb_register_aggregate_function_set)(duckdb_connection con, duckdb_aggregate_function_set set);
|
391
|
+
idx_t (*duckdb_get_map_size)(duckdb_value value);
|
392
|
+
duckdb_value (*duckdb_get_map_key)(duckdb_value value, idx_t index);
|
393
|
+
duckdb_value (*duckdb_get_map_value)(duckdb_value value, idx_t index);
|
394
|
+
duckdb_aggregate_function (*duckdb_create_aggregate_function)();
|
395
|
+
void (*duckdb_destroy_aggregate_function)(duckdb_aggregate_function *aggregate_function);
|
396
|
+
void (*duckdb_aggregate_function_set_name)(duckdb_aggregate_function aggregate_function, const char *name);
|
397
|
+
void (*duckdb_aggregate_function_add_parameter)(duckdb_aggregate_function aggregate_function,
|
398
|
+
duckdb_logical_type type);
|
399
|
+
void (*duckdb_aggregate_function_set_return_type)(duckdb_aggregate_function aggregate_function,
|
400
|
+
duckdb_logical_type type);
|
401
|
+
void (*duckdb_aggregate_function_set_functions)(duckdb_aggregate_function aggregate_function,
|
402
|
+
duckdb_aggregate_state_size state_size,
|
403
|
+
duckdb_aggregate_init_t state_init,
|
404
|
+
duckdb_aggregate_update_t update,
|
405
|
+
duckdb_aggregate_combine_t combine,
|
406
|
+
duckdb_aggregate_finalize_t finalize);
|
407
|
+
void (*duckdb_aggregate_function_set_destructor)(duckdb_aggregate_function aggregate_function,
|
408
|
+
duckdb_aggregate_destroy_t destroy);
|
409
|
+
duckdb_state (*duckdb_register_aggregate_function)(duckdb_connection con,
|
410
|
+
duckdb_aggregate_function aggregate_function);
|
411
|
+
void (*duckdb_aggregate_function_set_special_handling)(duckdb_aggregate_function aggregate_function);
|
412
|
+
void (*duckdb_aggregate_function_set_extra_info)(duckdb_aggregate_function aggregate_function, void *extra_info,
|
413
|
+
duckdb_delete_callback_t destroy);
|
414
|
+
void *(*duckdb_aggregate_function_get_extra_info)(duckdb_function_info info);
|
415
|
+
void (*duckdb_aggregate_function_set_error)(duckdb_function_info info, const char *error);
|
416
|
+
void (*duckdb_logical_type_set_alias)(duckdb_logical_type type, const char *alias);
|
417
|
+
duckdb_state (*duckdb_register_logical_type)(duckdb_connection con, duckdb_logical_type type,
|
418
|
+
duckdb_create_type_info info);
|
419
|
+
duckdb_cast_function (*duckdb_create_cast_function)();
|
420
|
+
void (*duckdb_cast_function_set_source_type)(duckdb_cast_function cast_function, duckdb_logical_type source_type);
|
421
|
+
void (*duckdb_cast_function_set_target_type)(duckdb_cast_function cast_function, duckdb_logical_type target_type);
|
422
|
+
void (*duckdb_cast_function_set_implicit_cast_cost)(duckdb_cast_function cast_function, int64_t cost);
|
423
|
+
void (*duckdb_cast_function_set_function)(duckdb_cast_function cast_function, duckdb_cast_function_t function);
|
424
|
+
void (*duckdb_cast_function_set_extra_info)(duckdb_cast_function cast_function, void *extra_info,
|
425
|
+
duckdb_delete_callback_t destroy);
|
426
|
+
void *(*duckdb_cast_function_get_extra_info)(duckdb_function_info info);
|
427
|
+
duckdb_cast_mode (*duckdb_cast_function_get_cast_mode)(duckdb_function_info info);
|
428
|
+
void (*duckdb_cast_function_set_error)(duckdb_function_info info, const char *error);
|
429
|
+
void (*duckdb_cast_function_set_row_error)(duckdb_function_info info, const char *error, idx_t row,
|
430
|
+
duckdb_vector output);
|
431
|
+
duckdb_state (*duckdb_register_cast_function)(duckdb_connection con, duckdb_cast_function cast_function);
|
432
|
+
void (*duckdb_destroy_cast_function)(duckdb_cast_function *cast_function);
|
433
|
+
idx_t (*duckdb_row_count)(duckdb_result *result);
|
434
|
+
void *(*duckdb_column_data)(duckdb_result *result, idx_t col);
|
435
|
+
bool *(*duckdb_nullmask_data)(duckdb_result *result, idx_t col);
|
436
|
+
duckdb_data_chunk (*duckdb_result_get_chunk)(duckdb_result result, idx_t chunk_index);
|
437
|
+
bool (*duckdb_result_is_streaming)(duckdb_result result);
|
438
|
+
idx_t (*duckdb_result_chunk_count)(duckdb_result result);
|
439
|
+
duckdb_result_type (*duckdb_result_return_type)(duckdb_result result);
|
440
|
+
bool (*duckdb_value_boolean)(duckdb_result *result, idx_t col, idx_t row);
|
441
|
+
int8_t (*duckdb_value_int8)(duckdb_result *result, idx_t col, idx_t row);
|
442
|
+
int16_t (*duckdb_value_int16)(duckdb_result *result, idx_t col, idx_t row);
|
443
|
+
int32_t (*duckdb_value_int32)(duckdb_result *result, idx_t col, idx_t row);
|
444
|
+
int64_t (*duckdb_value_int64)(duckdb_result *result, idx_t col, idx_t row);
|
445
|
+
duckdb_hugeint (*duckdb_value_hugeint)(duckdb_result *result, idx_t col, idx_t row);
|
446
|
+
duckdb_uhugeint (*duckdb_value_uhugeint)(duckdb_result *result, idx_t col, idx_t row);
|
447
|
+
duckdb_decimal (*duckdb_value_decimal)(duckdb_result *result, idx_t col, idx_t row);
|
448
|
+
uint8_t (*duckdb_value_uint8)(duckdb_result *result, idx_t col, idx_t row);
|
449
|
+
uint16_t (*duckdb_value_uint16)(duckdb_result *result, idx_t col, idx_t row);
|
450
|
+
uint32_t (*duckdb_value_uint32)(duckdb_result *result, idx_t col, idx_t row);
|
451
|
+
uint64_t (*duckdb_value_uint64)(duckdb_result *result, idx_t col, idx_t row);
|
452
|
+
float (*duckdb_value_float)(duckdb_result *result, idx_t col, idx_t row);
|
453
|
+
double (*duckdb_value_double)(duckdb_result *result, idx_t col, idx_t row);
|
454
|
+
duckdb_date (*duckdb_value_date)(duckdb_result *result, idx_t col, idx_t row);
|
455
|
+
duckdb_time (*duckdb_value_time)(duckdb_result *result, idx_t col, idx_t row);
|
456
|
+
duckdb_timestamp (*duckdb_value_timestamp)(duckdb_result *result, idx_t col, idx_t row);
|
457
|
+
duckdb_interval (*duckdb_value_interval)(duckdb_result *result, idx_t col, idx_t row);
|
458
|
+
char *(*duckdb_value_varchar)(duckdb_result *result, idx_t col, idx_t row);
|
459
|
+
duckdb_string (*duckdb_value_string)(duckdb_result *result, idx_t col, idx_t row);
|
460
|
+
char *(*duckdb_value_varchar_internal)(duckdb_result *result, idx_t col, idx_t row);
|
461
|
+
duckdb_string (*duckdb_value_string_internal)(duckdb_result *result, idx_t col, idx_t row);
|
462
|
+
duckdb_blob (*duckdb_value_blob)(duckdb_result *result, idx_t col, idx_t row);
|
463
|
+
bool (*duckdb_value_is_null)(duckdb_result *result, idx_t col, idx_t row);
|
464
|
+
duckdb_state (*duckdb_execute_prepared_streaming)(duckdb_prepared_statement prepared_statement,
|
465
|
+
duckdb_result *out_result);
|
466
|
+
duckdb_state (*duckdb_pending_prepared_streaming)(duckdb_prepared_statement prepared_statement,
|
467
|
+
duckdb_pending_result *out_result);
|
468
|
+
duckdb_state (*duckdb_column_has_default)(duckdb_table_description table_description, idx_t index, bool *out);
|
469
|
+
duckdb_state (*duckdb_query_arrow)(duckdb_connection connection, const char *query, duckdb_arrow *out_result);
|
470
|
+
duckdb_state (*duckdb_query_arrow_schema)(duckdb_arrow result, duckdb_arrow_schema *out_schema);
|
471
|
+
duckdb_state (*duckdb_prepared_arrow_schema)(duckdb_prepared_statement prepared, duckdb_arrow_schema *out_schema);
|
472
|
+
void (*duckdb_result_arrow_array)(duckdb_result result, duckdb_data_chunk chunk, duckdb_arrow_array *out_array);
|
473
|
+
duckdb_state (*duckdb_query_arrow_array)(duckdb_arrow result, duckdb_arrow_array *out_array);
|
474
|
+
idx_t (*duckdb_arrow_column_count)(duckdb_arrow result);
|
475
|
+
idx_t (*duckdb_arrow_row_count)(duckdb_arrow result);
|
476
|
+
idx_t (*duckdb_arrow_rows_changed)(duckdb_arrow result);
|
477
|
+
const char *(*duckdb_query_arrow_error)(duckdb_arrow result);
|
478
|
+
void (*duckdb_destroy_arrow)(duckdb_arrow *result);
|
479
|
+
void (*duckdb_destroy_arrow_stream)(duckdb_arrow_stream *stream_p);
|
480
|
+
duckdb_state (*duckdb_execute_prepared_arrow)(duckdb_prepared_statement prepared_statement,
|
481
|
+
duckdb_arrow *out_result);
|
482
|
+
duckdb_state (*duckdb_arrow_scan)(duckdb_connection connection, const char *table_name, duckdb_arrow_stream arrow);
|
483
|
+
duckdb_state (*duckdb_arrow_array_scan)(duckdb_connection connection, const char *table_name,
|
484
|
+
duckdb_arrow_schema arrow_schema, duckdb_arrow_array arrow_array,
|
485
|
+
duckdb_arrow_stream *out_stream);
|
486
|
+
duckdb_data_chunk (*duckdb_stream_fetch_chunk)(duckdb_result result);
|
487
|
+
#endif
|
488
|
+
|
489
|
+
} duckdb_ext_api_v0;
|
490
|
+
|
491
|
+
//===--------------------------------------------------------------------===//
|
492
|
+
// Typedefs mapping functions to struct entries
|
493
|
+
//===--------------------------------------------------------------------===//
|
494
|
+
// Version v0.0.1
|
495
|
+
#define duckdb_open duckdb_ext_api.duckdb_open
|
496
|
+
#define duckdb_open_ext duckdb_ext_api.duckdb_open_ext
|
497
|
+
#define duckdb_close duckdb_ext_api.duckdb_close
|
498
|
+
#define duckdb_connect duckdb_ext_api.duckdb_connect
|
499
|
+
#define duckdb_interrupt duckdb_ext_api.duckdb_interrupt
|
500
|
+
#define duckdb_query_progress duckdb_ext_api.duckdb_query_progress
|
501
|
+
#define duckdb_disconnect duckdb_ext_api.duckdb_disconnect
|
502
|
+
#define duckdb_library_version duckdb_ext_api.duckdb_library_version
|
503
|
+
#define duckdb_create_config duckdb_ext_api.duckdb_create_config
|
504
|
+
#define duckdb_config_count duckdb_ext_api.duckdb_config_count
|
505
|
+
#define duckdb_get_config_flag duckdb_ext_api.duckdb_get_config_flag
|
506
|
+
#define duckdb_set_config duckdb_ext_api.duckdb_set_config
|
507
|
+
#define duckdb_destroy_config duckdb_ext_api.duckdb_destroy_config
|
508
|
+
#define duckdb_query duckdb_ext_api.duckdb_query
|
509
|
+
#define duckdb_destroy_result duckdb_ext_api.duckdb_destroy_result
|
510
|
+
#define duckdb_column_name duckdb_ext_api.duckdb_column_name
|
511
|
+
#define duckdb_column_type duckdb_ext_api.duckdb_column_type
|
512
|
+
#define duckdb_result_statement_type duckdb_ext_api.duckdb_result_statement_type
|
513
|
+
#define duckdb_column_logical_type duckdb_ext_api.duckdb_column_logical_type
|
514
|
+
#define duckdb_column_count duckdb_ext_api.duckdb_column_count
|
515
|
+
#define duckdb_row_count duckdb_ext_api.duckdb_row_count
|
516
|
+
#define duckdb_rows_changed duckdb_ext_api.duckdb_rows_changed
|
517
|
+
#define duckdb_column_data duckdb_ext_api.duckdb_column_data
|
518
|
+
#define duckdb_nullmask_data duckdb_ext_api.duckdb_nullmask_data
|
519
|
+
#define duckdb_result_error duckdb_ext_api.duckdb_result_error
|
520
|
+
#define duckdb_result_error_type duckdb_ext_api.duckdb_result_error_type
|
521
|
+
#define duckdb_result_get_chunk duckdb_ext_api.duckdb_result_get_chunk
|
522
|
+
#define duckdb_result_is_streaming duckdb_ext_api.duckdb_result_is_streaming
|
523
|
+
#define duckdb_result_chunk_count duckdb_ext_api.duckdb_result_chunk_count
|
524
|
+
#define duckdb_result_return_type duckdb_ext_api.duckdb_result_return_type
|
525
|
+
#define duckdb_value_boolean duckdb_ext_api.duckdb_value_boolean
|
526
|
+
#define duckdb_value_int8 duckdb_ext_api.duckdb_value_int8
|
527
|
+
#define duckdb_value_int16 duckdb_ext_api.duckdb_value_int16
|
528
|
+
#define duckdb_value_int32 duckdb_ext_api.duckdb_value_int32
|
529
|
+
#define duckdb_value_int64 duckdb_ext_api.duckdb_value_int64
|
530
|
+
#define duckdb_value_hugeint duckdb_ext_api.duckdb_value_hugeint
|
531
|
+
#define duckdb_value_uhugeint duckdb_ext_api.duckdb_value_uhugeint
|
532
|
+
#define duckdb_value_decimal duckdb_ext_api.duckdb_value_decimal
|
533
|
+
#define duckdb_value_uint8 duckdb_ext_api.duckdb_value_uint8
|
534
|
+
#define duckdb_value_uint16 duckdb_ext_api.duckdb_value_uint16
|
535
|
+
#define duckdb_value_uint32 duckdb_ext_api.duckdb_value_uint32
|
536
|
+
#define duckdb_value_uint64 duckdb_ext_api.duckdb_value_uint64
|
537
|
+
#define duckdb_value_float duckdb_ext_api.duckdb_value_float
|
538
|
+
#define duckdb_value_double duckdb_ext_api.duckdb_value_double
|
539
|
+
#define duckdb_value_date duckdb_ext_api.duckdb_value_date
|
540
|
+
#define duckdb_value_time duckdb_ext_api.duckdb_value_time
|
541
|
+
#define duckdb_value_timestamp duckdb_ext_api.duckdb_value_timestamp
|
542
|
+
#define duckdb_value_interval duckdb_ext_api.duckdb_value_interval
|
543
|
+
#define duckdb_value_varchar duckdb_ext_api.duckdb_value_varchar
|
544
|
+
#define duckdb_value_string duckdb_ext_api.duckdb_value_string
|
545
|
+
#define duckdb_value_varchar_internal duckdb_ext_api.duckdb_value_varchar_internal
|
546
|
+
#define duckdb_value_string_internal duckdb_ext_api.duckdb_value_string_internal
|
547
|
+
#define duckdb_value_blob duckdb_ext_api.duckdb_value_blob
|
548
|
+
#define duckdb_value_is_null duckdb_ext_api.duckdb_value_is_null
|
549
|
+
#define duckdb_malloc duckdb_ext_api.duckdb_malloc
|
550
|
+
#define duckdb_free duckdb_ext_api.duckdb_free
|
551
|
+
#define duckdb_vector_size duckdb_ext_api.duckdb_vector_size
|
552
|
+
#define duckdb_string_is_inlined duckdb_ext_api.duckdb_string_is_inlined
|
553
|
+
#define duckdb_string_t_length duckdb_ext_api.duckdb_string_t_length
|
554
|
+
#define duckdb_string_t_data duckdb_ext_api.duckdb_string_t_data
|
555
|
+
#define duckdb_from_date duckdb_ext_api.duckdb_from_date
|
556
|
+
#define duckdb_to_date duckdb_ext_api.duckdb_to_date
|
557
|
+
#define duckdb_is_finite_date duckdb_ext_api.duckdb_is_finite_date
|
558
|
+
#define duckdb_from_time duckdb_ext_api.duckdb_from_time
|
559
|
+
#define duckdb_create_time_tz duckdb_ext_api.duckdb_create_time_tz
|
560
|
+
#define duckdb_from_time_tz duckdb_ext_api.duckdb_from_time_tz
|
561
|
+
#define duckdb_to_time duckdb_ext_api.duckdb_to_time
|
562
|
+
#define duckdb_from_timestamp duckdb_ext_api.duckdb_from_timestamp
|
563
|
+
#define duckdb_to_timestamp duckdb_ext_api.duckdb_to_timestamp
|
564
|
+
#define duckdb_is_finite_timestamp duckdb_ext_api.duckdb_is_finite_timestamp
|
565
|
+
#define duckdb_hugeint_to_double duckdb_ext_api.duckdb_hugeint_to_double
|
566
|
+
#define duckdb_double_to_hugeint duckdb_ext_api.duckdb_double_to_hugeint
|
567
|
+
#define duckdb_uhugeint_to_double duckdb_ext_api.duckdb_uhugeint_to_double
|
568
|
+
#define duckdb_double_to_uhugeint duckdb_ext_api.duckdb_double_to_uhugeint
|
569
|
+
#define duckdb_double_to_decimal duckdb_ext_api.duckdb_double_to_decimal
|
570
|
+
#define duckdb_decimal_to_double duckdb_ext_api.duckdb_decimal_to_double
|
571
|
+
#define duckdb_prepare duckdb_ext_api.duckdb_prepare
|
572
|
+
#define duckdb_destroy_prepare duckdb_ext_api.duckdb_destroy_prepare
|
573
|
+
#define duckdb_prepare_error duckdb_ext_api.duckdb_prepare_error
|
574
|
+
#define duckdb_nparams duckdb_ext_api.duckdb_nparams
|
575
|
+
#define duckdb_parameter_name duckdb_ext_api.duckdb_parameter_name
|
576
|
+
#define duckdb_param_type duckdb_ext_api.duckdb_param_type
|
577
|
+
#define duckdb_clear_bindings duckdb_ext_api.duckdb_clear_bindings
|
578
|
+
#define duckdb_prepared_statement_type duckdb_ext_api.duckdb_prepared_statement_type
|
579
|
+
#define duckdb_bind_value duckdb_ext_api.duckdb_bind_value
|
580
|
+
#define duckdb_bind_parameter_index duckdb_ext_api.duckdb_bind_parameter_index
|
581
|
+
#define duckdb_bind_boolean duckdb_ext_api.duckdb_bind_boolean
|
582
|
+
#define duckdb_bind_int8 duckdb_ext_api.duckdb_bind_int8
|
583
|
+
#define duckdb_bind_int16 duckdb_ext_api.duckdb_bind_int16
|
584
|
+
#define duckdb_bind_int32 duckdb_ext_api.duckdb_bind_int32
|
585
|
+
#define duckdb_bind_int64 duckdb_ext_api.duckdb_bind_int64
|
586
|
+
#define duckdb_bind_hugeint duckdb_ext_api.duckdb_bind_hugeint
|
587
|
+
#define duckdb_bind_uhugeint duckdb_ext_api.duckdb_bind_uhugeint
|
588
|
+
#define duckdb_bind_decimal duckdb_ext_api.duckdb_bind_decimal
|
589
|
+
#define duckdb_bind_uint8 duckdb_ext_api.duckdb_bind_uint8
|
590
|
+
#define duckdb_bind_uint16 duckdb_ext_api.duckdb_bind_uint16
|
591
|
+
#define duckdb_bind_uint32 duckdb_ext_api.duckdb_bind_uint32
|
592
|
+
#define duckdb_bind_uint64 duckdb_ext_api.duckdb_bind_uint64
|
593
|
+
#define duckdb_bind_float duckdb_ext_api.duckdb_bind_float
|
594
|
+
#define duckdb_bind_double duckdb_ext_api.duckdb_bind_double
|
595
|
+
#define duckdb_bind_date duckdb_ext_api.duckdb_bind_date
|
596
|
+
#define duckdb_bind_time duckdb_ext_api.duckdb_bind_time
|
597
|
+
#define duckdb_bind_timestamp duckdb_ext_api.duckdb_bind_timestamp
|
598
|
+
#define duckdb_bind_timestamp_tz duckdb_ext_api.duckdb_bind_timestamp_tz
|
599
|
+
#define duckdb_bind_interval duckdb_ext_api.duckdb_bind_interval
|
600
|
+
#define duckdb_bind_varchar duckdb_ext_api.duckdb_bind_varchar
|
601
|
+
#define duckdb_bind_varchar_length duckdb_ext_api.duckdb_bind_varchar_length
|
602
|
+
#define duckdb_bind_blob duckdb_ext_api.duckdb_bind_blob
|
603
|
+
#define duckdb_bind_null duckdb_ext_api.duckdb_bind_null
|
604
|
+
#define duckdb_execute_prepared duckdb_ext_api.duckdb_execute_prepared
|
605
|
+
#define duckdb_execute_prepared_streaming duckdb_ext_api.duckdb_execute_prepared_streaming
|
606
|
+
#define duckdb_extract_statements duckdb_ext_api.duckdb_extract_statements
|
607
|
+
#define duckdb_prepare_extracted_statement duckdb_ext_api.duckdb_prepare_extracted_statement
|
608
|
+
#define duckdb_extract_statements_error duckdb_ext_api.duckdb_extract_statements_error
|
609
|
+
#define duckdb_destroy_extracted duckdb_ext_api.duckdb_destroy_extracted
|
610
|
+
#define duckdb_pending_prepared duckdb_ext_api.duckdb_pending_prepared
|
611
|
+
#define duckdb_pending_prepared_streaming duckdb_ext_api.duckdb_pending_prepared_streaming
|
612
|
+
#define duckdb_destroy_pending duckdb_ext_api.duckdb_destroy_pending
|
613
|
+
#define duckdb_pending_error duckdb_ext_api.duckdb_pending_error
|
614
|
+
#define duckdb_pending_execute_task duckdb_ext_api.duckdb_pending_execute_task
|
615
|
+
#define duckdb_pending_execute_check_state duckdb_ext_api.duckdb_pending_execute_check_state
|
616
|
+
#define duckdb_execute_pending duckdb_ext_api.duckdb_execute_pending
|
617
|
+
#define duckdb_pending_execution_is_finished duckdb_ext_api.duckdb_pending_execution_is_finished
|
618
|
+
#define duckdb_destroy_value duckdb_ext_api.duckdb_destroy_value
|
619
|
+
#define duckdb_create_varchar duckdb_ext_api.duckdb_create_varchar
|
620
|
+
#define duckdb_create_varchar_length duckdb_ext_api.duckdb_create_varchar_length
|
621
|
+
#define duckdb_create_bool duckdb_ext_api.duckdb_create_bool
|
622
|
+
#define duckdb_create_int8 duckdb_ext_api.duckdb_create_int8
|
623
|
+
#define duckdb_create_uint8 duckdb_ext_api.duckdb_create_uint8
|
624
|
+
#define duckdb_create_int16 duckdb_ext_api.duckdb_create_int16
|
625
|
+
#define duckdb_create_uint16 duckdb_ext_api.duckdb_create_uint16
|
626
|
+
#define duckdb_create_int32 duckdb_ext_api.duckdb_create_int32
|
627
|
+
#define duckdb_create_uint32 duckdb_ext_api.duckdb_create_uint32
|
628
|
+
#define duckdb_create_uint64 duckdb_ext_api.duckdb_create_uint64
|
629
|
+
#define duckdb_create_int64 duckdb_ext_api.duckdb_create_int64
|
630
|
+
#define duckdb_create_hugeint duckdb_ext_api.duckdb_create_hugeint
|
631
|
+
#define duckdb_create_uhugeint duckdb_ext_api.duckdb_create_uhugeint
|
632
|
+
#define duckdb_create_float duckdb_ext_api.duckdb_create_float
|
633
|
+
#define duckdb_create_double duckdb_ext_api.duckdb_create_double
|
634
|
+
#define duckdb_create_date duckdb_ext_api.duckdb_create_date
|
635
|
+
#define duckdb_create_time duckdb_ext_api.duckdb_create_time
|
636
|
+
#define duckdb_create_time_tz_value duckdb_ext_api.duckdb_create_time_tz_value
|
637
|
+
#define duckdb_create_timestamp duckdb_ext_api.duckdb_create_timestamp
|
638
|
+
#define duckdb_create_interval duckdb_ext_api.duckdb_create_interval
|
639
|
+
#define duckdb_create_blob duckdb_ext_api.duckdb_create_blob
|
640
|
+
#define duckdb_get_bool duckdb_ext_api.duckdb_get_bool
|
641
|
+
#define duckdb_get_int8 duckdb_ext_api.duckdb_get_int8
|
642
|
+
#define duckdb_get_uint8 duckdb_ext_api.duckdb_get_uint8
|
643
|
+
#define duckdb_get_int16 duckdb_ext_api.duckdb_get_int16
|
644
|
+
#define duckdb_get_uint16 duckdb_ext_api.duckdb_get_uint16
|
645
|
+
#define duckdb_get_int32 duckdb_ext_api.duckdb_get_int32
|
646
|
+
#define duckdb_get_uint32 duckdb_ext_api.duckdb_get_uint32
|
647
|
+
#define duckdb_get_int64 duckdb_ext_api.duckdb_get_int64
|
648
|
+
#define duckdb_get_uint64 duckdb_ext_api.duckdb_get_uint64
|
649
|
+
#define duckdb_get_hugeint duckdb_ext_api.duckdb_get_hugeint
|
650
|
+
#define duckdb_get_uhugeint duckdb_ext_api.duckdb_get_uhugeint
|
651
|
+
#define duckdb_get_float duckdb_ext_api.duckdb_get_float
|
652
|
+
#define duckdb_get_double duckdb_ext_api.duckdb_get_double
|
653
|
+
#define duckdb_get_date duckdb_ext_api.duckdb_get_date
|
654
|
+
#define duckdb_get_time duckdb_ext_api.duckdb_get_time
|
655
|
+
#define duckdb_get_time_tz duckdb_ext_api.duckdb_get_time_tz
|
656
|
+
#define duckdb_get_timestamp duckdb_ext_api.duckdb_get_timestamp
|
657
|
+
#define duckdb_get_interval duckdb_ext_api.duckdb_get_interval
|
658
|
+
#define duckdb_get_value_type duckdb_ext_api.duckdb_get_value_type
|
659
|
+
#define duckdb_get_blob duckdb_ext_api.duckdb_get_blob
|
660
|
+
#define duckdb_get_varchar duckdb_ext_api.duckdb_get_varchar
|
661
|
+
#define duckdb_create_struct_value duckdb_ext_api.duckdb_create_struct_value
|
662
|
+
#define duckdb_create_list_value duckdb_ext_api.duckdb_create_list_value
|
663
|
+
#define duckdb_create_array_value duckdb_ext_api.duckdb_create_array_value
|
664
|
+
#define duckdb_get_map_size duckdb_ext_api.duckdb_get_map_size
|
665
|
+
#define duckdb_get_map_key duckdb_ext_api.duckdb_get_map_key
|
666
|
+
#define duckdb_get_map_value duckdb_ext_api.duckdb_get_map_value
|
667
|
+
#define duckdb_create_logical_type duckdb_ext_api.duckdb_create_logical_type
|
668
|
+
#define duckdb_logical_type_get_alias duckdb_ext_api.duckdb_logical_type_get_alias
|
669
|
+
#define duckdb_logical_type_set_alias duckdb_ext_api.duckdb_logical_type_set_alias
|
670
|
+
#define duckdb_create_list_type duckdb_ext_api.duckdb_create_list_type
|
671
|
+
#define duckdb_create_array_type duckdb_ext_api.duckdb_create_array_type
|
672
|
+
#define duckdb_create_map_type duckdb_ext_api.duckdb_create_map_type
|
673
|
+
#define duckdb_create_union_type duckdb_ext_api.duckdb_create_union_type
|
674
|
+
#define duckdb_create_struct_type duckdb_ext_api.duckdb_create_struct_type
|
675
|
+
#define duckdb_create_enum_type duckdb_ext_api.duckdb_create_enum_type
|
676
|
+
#define duckdb_create_decimal_type duckdb_ext_api.duckdb_create_decimal_type
|
677
|
+
#define duckdb_get_type_id duckdb_ext_api.duckdb_get_type_id
|
678
|
+
#define duckdb_decimal_width duckdb_ext_api.duckdb_decimal_width
|
679
|
+
#define duckdb_decimal_scale duckdb_ext_api.duckdb_decimal_scale
|
680
|
+
#define duckdb_decimal_internal_type duckdb_ext_api.duckdb_decimal_internal_type
|
681
|
+
#define duckdb_enum_internal_type duckdb_ext_api.duckdb_enum_internal_type
|
682
|
+
#define duckdb_enum_dictionary_size duckdb_ext_api.duckdb_enum_dictionary_size
|
683
|
+
#define duckdb_enum_dictionary_value duckdb_ext_api.duckdb_enum_dictionary_value
|
684
|
+
#define duckdb_list_type_child_type duckdb_ext_api.duckdb_list_type_child_type
|
685
|
+
#define duckdb_array_type_child_type duckdb_ext_api.duckdb_array_type_child_type
|
686
|
+
#define duckdb_array_type_array_size duckdb_ext_api.duckdb_array_type_array_size
|
687
|
+
#define duckdb_map_type_key_type duckdb_ext_api.duckdb_map_type_key_type
|
688
|
+
#define duckdb_map_type_value_type duckdb_ext_api.duckdb_map_type_value_type
|
689
|
+
#define duckdb_struct_type_child_count duckdb_ext_api.duckdb_struct_type_child_count
|
690
|
+
#define duckdb_struct_type_child_name duckdb_ext_api.duckdb_struct_type_child_name
|
691
|
+
#define duckdb_struct_type_child_type duckdb_ext_api.duckdb_struct_type_child_type
|
692
|
+
#define duckdb_union_type_member_count duckdb_ext_api.duckdb_union_type_member_count
|
693
|
+
#define duckdb_union_type_member_name duckdb_ext_api.duckdb_union_type_member_name
|
694
|
+
#define duckdb_union_type_member_type duckdb_ext_api.duckdb_union_type_member_type
|
695
|
+
#define duckdb_destroy_logical_type duckdb_ext_api.duckdb_destroy_logical_type
|
696
|
+
#define duckdb_register_logical_type duckdb_ext_api.duckdb_register_logical_type
|
697
|
+
#define duckdb_create_data_chunk duckdb_ext_api.duckdb_create_data_chunk
|
698
|
+
#define duckdb_destroy_data_chunk duckdb_ext_api.duckdb_destroy_data_chunk
|
699
|
+
#define duckdb_data_chunk_reset duckdb_ext_api.duckdb_data_chunk_reset
|
700
|
+
#define duckdb_data_chunk_get_column_count duckdb_ext_api.duckdb_data_chunk_get_column_count
|
701
|
+
#define duckdb_data_chunk_get_vector duckdb_ext_api.duckdb_data_chunk_get_vector
|
702
|
+
#define duckdb_data_chunk_get_size duckdb_ext_api.duckdb_data_chunk_get_size
|
703
|
+
#define duckdb_data_chunk_set_size duckdb_ext_api.duckdb_data_chunk_set_size
|
704
|
+
#define duckdb_vector_get_column_type duckdb_ext_api.duckdb_vector_get_column_type
|
705
|
+
#define duckdb_vector_get_data duckdb_ext_api.duckdb_vector_get_data
|
706
|
+
#define duckdb_vector_get_validity duckdb_ext_api.duckdb_vector_get_validity
|
707
|
+
#define duckdb_vector_ensure_validity_writable duckdb_ext_api.duckdb_vector_ensure_validity_writable
|
708
|
+
#define duckdb_vector_assign_string_element duckdb_ext_api.duckdb_vector_assign_string_element
|
709
|
+
#define duckdb_vector_assign_string_element_len duckdb_ext_api.duckdb_vector_assign_string_element_len
|
710
|
+
#define duckdb_list_vector_get_child duckdb_ext_api.duckdb_list_vector_get_child
|
711
|
+
#define duckdb_list_vector_get_size duckdb_ext_api.duckdb_list_vector_get_size
|
712
|
+
#define duckdb_list_vector_set_size duckdb_ext_api.duckdb_list_vector_set_size
|
713
|
+
#define duckdb_list_vector_reserve duckdb_ext_api.duckdb_list_vector_reserve
|
714
|
+
#define duckdb_struct_vector_get_child duckdb_ext_api.duckdb_struct_vector_get_child
|
715
|
+
#define duckdb_array_vector_get_child duckdb_ext_api.duckdb_array_vector_get_child
|
716
|
+
#define duckdb_validity_row_is_valid duckdb_ext_api.duckdb_validity_row_is_valid
|
717
|
+
#define duckdb_validity_set_row_validity duckdb_ext_api.duckdb_validity_set_row_validity
|
718
|
+
#define duckdb_validity_set_row_invalid duckdb_ext_api.duckdb_validity_set_row_invalid
|
719
|
+
#define duckdb_validity_set_row_valid duckdb_ext_api.duckdb_validity_set_row_valid
|
720
|
+
#define duckdb_create_scalar_function duckdb_ext_api.duckdb_create_scalar_function
|
721
|
+
#define duckdb_destroy_scalar_function duckdb_ext_api.duckdb_destroy_scalar_function
|
722
|
+
#define duckdb_scalar_function_set_name duckdb_ext_api.duckdb_scalar_function_set_name
|
723
|
+
#define duckdb_scalar_function_set_varargs duckdb_ext_api.duckdb_scalar_function_set_varargs
|
724
|
+
#define duckdb_scalar_function_set_special_handling duckdb_ext_api.duckdb_scalar_function_set_special_handling
|
725
|
+
#define duckdb_scalar_function_set_volatile duckdb_ext_api.duckdb_scalar_function_set_volatile
|
726
|
+
#define duckdb_scalar_function_add_parameter duckdb_ext_api.duckdb_scalar_function_add_parameter
|
727
|
+
#define duckdb_scalar_function_set_return_type duckdb_ext_api.duckdb_scalar_function_set_return_type
|
728
|
+
#define duckdb_scalar_function_set_extra_info duckdb_ext_api.duckdb_scalar_function_set_extra_info
|
729
|
+
#define duckdb_scalar_function_set_function duckdb_ext_api.duckdb_scalar_function_set_function
|
730
|
+
#define duckdb_register_scalar_function duckdb_ext_api.duckdb_register_scalar_function
|
731
|
+
#define duckdb_scalar_function_get_extra_info duckdb_ext_api.duckdb_scalar_function_get_extra_info
|
732
|
+
#define duckdb_scalar_function_set_error duckdb_ext_api.duckdb_scalar_function_set_error
|
733
|
+
#define duckdb_create_scalar_function_set duckdb_ext_api.duckdb_create_scalar_function_set
|
734
|
+
#define duckdb_destroy_scalar_function_set duckdb_ext_api.duckdb_destroy_scalar_function_set
|
735
|
+
#define duckdb_add_scalar_function_to_set duckdb_ext_api.duckdb_add_scalar_function_to_set
|
736
|
+
#define duckdb_register_scalar_function_set duckdb_ext_api.duckdb_register_scalar_function_set
|
737
|
+
#define duckdb_create_aggregate_function duckdb_ext_api.duckdb_create_aggregate_function
|
738
|
+
#define duckdb_destroy_aggregate_function duckdb_ext_api.duckdb_destroy_aggregate_function
|
739
|
+
#define duckdb_aggregate_function_set_name duckdb_ext_api.duckdb_aggregate_function_set_name
|
740
|
+
#define duckdb_aggregate_function_add_parameter duckdb_ext_api.duckdb_aggregate_function_add_parameter
|
741
|
+
#define duckdb_aggregate_function_set_return_type duckdb_ext_api.duckdb_aggregate_function_set_return_type
|
742
|
+
#define duckdb_aggregate_function_set_functions duckdb_ext_api.duckdb_aggregate_function_set_functions
|
743
|
+
#define duckdb_aggregate_function_set_destructor duckdb_ext_api.duckdb_aggregate_function_set_destructor
|
744
|
+
#define duckdb_register_aggregate_function duckdb_ext_api.duckdb_register_aggregate_function
|
745
|
+
#define duckdb_aggregate_function_set_special_handling duckdb_ext_api.duckdb_aggregate_function_set_special_handling
|
746
|
+
#define duckdb_aggregate_function_set_extra_info duckdb_ext_api.duckdb_aggregate_function_set_extra_info
|
747
|
+
#define duckdb_aggregate_function_get_extra_info duckdb_ext_api.duckdb_aggregate_function_get_extra_info
|
748
|
+
#define duckdb_aggregate_function_set_error duckdb_ext_api.duckdb_aggregate_function_set_error
|
749
|
+
#define duckdb_create_aggregate_function_set duckdb_ext_api.duckdb_create_aggregate_function_set
|
750
|
+
#define duckdb_destroy_aggregate_function_set duckdb_ext_api.duckdb_destroy_aggregate_function_set
|
751
|
+
#define duckdb_add_aggregate_function_to_set duckdb_ext_api.duckdb_add_aggregate_function_to_set
|
752
|
+
#define duckdb_register_aggregate_function_set duckdb_ext_api.duckdb_register_aggregate_function_set
|
753
|
+
#define duckdb_create_table_function duckdb_ext_api.duckdb_create_table_function
|
754
|
+
#define duckdb_destroy_table_function duckdb_ext_api.duckdb_destroy_table_function
|
755
|
+
#define duckdb_table_function_set_name duckdb_ext_api.duckdb_table_function_set_name
|
756
|
+
#define duckdb_table_function_add_parameter duckdb_ext_api.duckdb_table_function_add_parameter
|
757
|
+
#define duckdb_table_function_add_named_parameter duckdb_ext_api.duckdb_table_function_add_named_parameter
|
758
|
+
#define duckdb_table_function_set_extra_info duckdb_ext_api.duckdb_table_function_set_extra_info
|
759
|
+
#define duckdb_table_function_set_bind duckdb_ext_api.duckdb_table_function_set_bind
|
760
|
+
#define duckdb_table_function_set_init duckdb_ext_api.duckdb_table_function_set_init
|
761
|
+
#define duckdb_table_function_set_local_init duckdb_ext_api.duckdb_table_function_set_local_init
|
762
|
+
#define duckdb_table_function_set_function duckdb_ext_api.duckdb_table_function_set_function
|
763
|
+
#define duckdb_table_function_supports_projection_pushdown \
|
764
|
+
duckdb_ext_api.duckdb_table_function_supports_projection_pushdown
|
765
|
+
#define duckdb_register_table_function duckdb_ext_api.duckdb_register_table_function
|
766
|
+
#define duckdb_bind_get_extra_info duckdb_ext_api.duckdb_bind_get_extra_info
|
767
|
+
#define duckdb_bind_add_result_column duckdb_ext_api.duckdb_bind_add_result_column
|
768
|
+
#define duckdb_bind_get_parameter_count duckdb_ext_api.duckdb_bind_get_parameter_count
|
769
|
+
#define duckdb_bind_get_parameter duckdb_ext_api.duckdb_bind_get_parameter
|
770
|
+
#define duckdb_bind_get_named_parameter duckdb_ext_api.duckdb_bind_get_named_parameter
|
771
|
+
#define duckdb_bind_set_bind_data duckdb_ext_api.duckdb_bind_set_bind_data
|
772
|
+
#define duckdb_bind_set_cardinality duckdb_ext_api.duckdb_bind_set_cardinality
|
773
|
+
#define duckdb_bind_set_error duckdb_ext_api.duckdb_bind_set_error
|
774
|
+
#define duckdb_init_get_extra_info duckdb_ext_api.duckdb_init_get_extra_info
|
775
|
+
#define duckdb_init_get_bind_data duckdb_ext_api.duckdb_init_get_bind_data
|
776
|
+
#define duckdb_init_set_init_data duckdb_ext_api.duckdb_init_set_init_data
|
777
|
+
#define duckdb_init_get_column_count duckdb_ext_api.duckdb_init_get_column_count
|
778
|
+
#define duckdb_init_get_column_index duckdb_ext_api.duckdb_init_get_column_index
|
779
|
+
#define duckdb_init_set_max_threads duckdb_ext_api.duckdb_init_set_max_threads
|
780
|
+
#define duckdb_init_set_error duckdb_ext_api.duckdb_init_set_error
|
781
|
+
#define duckdb_function_get_extra_info duckdb_ext_api.duckdb_function_get_extra_info
|
782
|
+
#define duckdb_function_get_bind_data duckdb_ext_api.duckdb_function_get_bind_data
|
783
|
+
#define duckdb_function_get_init_data duckdb_ext_api.duckdb_function_get_init_data
|
784
|
+
#define duckdb_function_get_local_init_data duckdb_ext_api.duckdb_function_get_local_init_data
|
785
|
+
#define duckdb_function_set_error duckdb_ext_api.duckdb_function_set_error
|
786
|
+
#define duckdb_add_replacement_scan duckdb_ext_api.duckdb_add_replacement_scan
|
787
|
+
#define duckdb_replacement_scan_set_function_name duckdb_ext_api.duckdb_replacement_scan_set_function_name
|
788
|
+
#define duckdb_replacement_scan_add_parameter duckdb_ext_api.duckdb_replacement_scan_add_parameter
|
789
|
+
#define duckdb_replacement_scan_set_error duckdb_ext_api.duckdb_replacement_scan_set_error
|
790
|
+
#define duckdb_get_profiling_info duckdb_ext_api.duckdb_get_profiling_info
|
791
|
+
#define duckdb_profiling_info_get_value duckdb_ext_api.duckdb_profiling_info_get_value
|
792
|
+
#define duckdb_profiling_info_get_metrics duckdb_ext_api.duckdb_profiling_info_get_metrics
|
793
|
+
#define duckdb_profiling_info_get_child_count duckdb_ext_api.duckdb_profiling_info_get_child_count
|
794
|
+
#define duckdb_profiling_info_get_child duckdb_ext_api.duckdb_profiling_info_get_child
|
795
|
+
#define duckdb_appender_create duckdb_ext_api.duckdb_appender_create
|
796
|
+
#define duckdb_appender_column_count duckdb_ext_api.duckdb_appender_column_count
|
797
|
+
#define duckdb_appender_column_type duckdb_ext_api.duckdb_appender_column_type
|
798
|
+
#define duckdb_appender_error duckdb_ext_api.duckdb_appender_error
|
799
|
+
#define duckdb_appender_flush duckdb_ext_api.duckdb_appender_flush
|
800
|
+
#define duckdb_appender_close duckdb_ext_api.duckdb_appender_close
|
801
|
+
#define duckdb_appender_destroy duckdb_ext_api.duckdb_appender_destroy
|
802
|
+
#define duckdb_appender_begin_row duckdb_ext_api.duckdb_appender_begin_row
|
803
|
+
#define duckdb_appender_end_row duckdb_ext_api.duckdb_appender_end_row
|
804
|
+
#define duckdb_append_default duckdb_ext_api.duckdb_append_default
|
805
|
+
#define duckdb_append_bool duckdb_ext_api.duckdb_append_bool
|
806
|
+
#define duckdb_append_int8 duckdb_ext_api.duckdb_append_int8
|
807
|
+
#define duckdb_append_int16 duckdb_ext_api.duckdb_append_int16
|
808
|
+
#define duckdb_append_int32 duckdb_ext_api.duckdb_append_int32
|
809
|
+
#define duckdb_append_int64 duckdb_ext_api.duckdb_append_int64
|
810
|
+
#define duckdb_append_hugeint duckdb_ext_api.duckdb_append_hugeint
|
811
|
+
#define duckdb_append_uint8 duckdb_ext_api.duckdb_append_uint8
|
812
|
+
#define duckdb_append_uint16 duckdb_ext_api.duckdb_append_uint16
|
813
|
+
#define duckdb_append_uint32 duckdb_ext_api.duckdb_append_uint32
|
814
|
+
#define duckdb_append_uint64 duckdb_ext_api.duckdb_append_uint64
|
815
|
+
#define duckdb_append_uhugeint duckdb_ext_api.duckdb_append_uhugeint
|
816
|
+
#define duckdb_append_float duckdb_ext_api.duckdb_append_float
|
817
|
+
#define duckdb_append_double duckdb_ext_api.duckdb_append_double
|
818
|
+
#define duckdb_append_date duckdb_ext_api.duckdb_append_date
|
819
|
+
#define duckdb_append_time duckdb_ext_api.duckdb_append_time
|
820
|
+
#define duckdb_append_timestamp duckdb_ext_api.duckdb_append_timestamp
|
821
|
+
#define duckdb_append_interval duckdb_ext_api.duckdb_append_interval
|
822
|
+
#define duckdb_append_varchar duckdb_ext_api.duckdb_append_varchar
|
823
|
+
#define duckdb_append_varchar_length duckdb_ext_api.duckdb_append_varchar_length
|
824
|
+
#define duckdb_append_blob duckdb_ext_api.duckdb_append_blob
|
825
|
+
#define duckdb_append_null duckdb_ext_api.duckdb_append_null
|
826
|
+
#define duckdb_append_data_chunk duckdb_ext_api.duckdb_append_data_chunk
|
827
|
+
#define duckdb_table_description_create duckdb_ext_api.duckdb_table_description_create
|
828
|
+
#define duckdb_table_description_destroy duckdb_ext_api.duckdb_table_description_destroy
|
829
|
+
#define duckdb_table_description_error duckdb_ext_api.duckdb_table_description_error
|
830
|
+
#define duckdb_column_has_default duckdb_ext_api.duckdb_column_has_default
|
831
|
+
#define duckdb_query_arrow duckdb_ext_api.duckdb_query_arrow
|
832
|
+
#define duckdb_query_arrow_schema duckdb_ext_api.duckdb_query_arrow_schema
|
833
|
+
#define duckdb_prepared_arrow_schema duckdb_ext_api.duckdb_prepared_arrow_schema
|
834
|
+
#define duckdb_result_arrow_array duckdb_ext_api.duckdb_result_arrow_array
|
835
|
+
#define duckdb_query_arrow_array duckdb_ext_api.duckdb_query_arrow_array
|
836
|
+
#define duckdb_arrow_column_count duckdb_ext_api.duckdb_arrow_column_count
|
837
|
+
#define duckdb_arrow_row_count duckdb_ext_api.duckdb_arrow_row_count
|
838
|
+
#define duckdb_arrow_rows_changed duckdb_ext_api.duckdb_arrow_rows_changed
|
839
|
+
#define duckdb_query_arrow_error duckdb_ext_api.duckdb_query_arrow_error
|
840
|
+
#define duckdb_destroy_arrow duckdb_ext_api.duckdb_destroy_arrow
|
841
|
+
#define duckdb_destroy_arrow_stream duckdb_ext_api.duckdb_destroy_arrow_stream
|
842
|
+
#define duckdb_execute_prepared_arrow duckdb_ext_api.duckdb_execute_prepared_arrow
|
843
|
+
#define duckdb_arrow_scan duckdb_ext_api.duckdb_arrow_scan
|
844
|
+
#define duckdb_arrow_array_scan duckdb_ext_api.duckdb_arrow_array_scan
|
845
|
+
#define duckdb_execute_tasks duckdb_ext_api.duckdb_execute_tasks
|
846
|
+
#define duckdb_create_task_state duckdb_ext_api.duckdb_create_task_state
|
847
|
+
#define duckdb_execute_tasks_state duckdb_ext_api.duckdb_execute_tasks_state
|
848
|
+
#define duckdb_execute_n_tasks_state duckdb_ext_api.duckdb_execute_n_tasks_state
|
849
|
+
#define duckdb_finish_execution duckdb_ext_api.duckdb_finish_execution
|
850
|
+
#define duckdb_task_state_is_finished duckdb_ext_api.duckdb_task_state_is_finished
|
851
|
+
#define duckdb_destroy_task_state duckdb_ext_api.duckdb_destroy_task_state
|
852
|
+
#define duckdb_execution_is_finished duckdb_ext_api.duckdb_execution_is_finished
|
853
|
+
#define duckdb_stream_fetch_chunk duckdb_ext_api.duckdb_stream_fetch_chunk
|
854
|
+
#define duckdb_fetch_chunk duckdb_ext_api.duckdb_fetch_chunk
|
855
|
+
#define duckdb_create_cast_function duckdb_ext_api.duckdb_create_cast_function
|
856
|
+
#define duckdb_cast_function_set_source_type duckdb_ext_api.duckdb_cast_function_set_source_type
|
857
|
+
#define duckdb_cast_function_set_target_type duckdb_ext_api.duckdb_cast_function_set_target_type
|
858
|
+
#define duckdb_cast_function_set_implicit_cast_cost duckdb_ext_api.duckdb_cast_function_set_implicit_cast_cost
|
859
|
+
#define duckdb_cast_function_set_function duckdb_ext_api.duckdb_cast_function_set_function
|
860
|
+
#define duckdb_cast_function_set_extra_info duckdb_ext_api.duckdb_cast_function_set_extra_info
|
861
|
+
#define duckdb_cast_function_get_extra_info duckdb_ext_api.duckdb_cast_function_get_extra_info
|
862
|
+
#define duckdb_cast_function_get_cast_mode duckdb_ext_api.duckdb_cast_function_get_cast_mode
|
863
|
+
#define duckdb_cast_function_set_error duckdb_ext_api.duckdb_cast_function_set_error
|
864
|
+
#define duckdb_cast_function_set_row_error duckdb_ext_api.duckdb_cast_function_set_row_error
|
865
|
+
#define duckdb_register_cast_function duckdb_ext_api.duckdb_register_cast_function
|
866
|
+
#define duckdb_destroy_cast_function duckdb_ext_api.duckdb_destroy_cast_function
|
867
|
+
|
868
|
+
//===--------------------------------------------------------------------===//
|
869
|
+
// Struct Global Macros
|
870
|
+
//===--------------------------------------------------------------------===//
|
871
|
+
// This goes in the c/c++ file containing the entrypoint (handle
|
872
|
+
#define DUCKDB_EXTENSION_GLOBAL duckdb_ext_api_v0 duckdb_ext_api = {0};
|
873
|
+
// Initializes the C Extension API: First thing to call in the extension entrypoint
|
874
|
+
#define DUCKDB_EXTENSION_API_INIT(info, access, minimum_api_version) \
|
875
|
+
duckdb_ext_api_v0 *res = (duckdb_ext_api_v0 *)access->get_api(info, minimum_api_version); \
|
876
|
+
if (!res) { \
|
877
|
+
return; \
|
878
|
+
}; \
|
879
|
+
duckdb_ext_api = *res;
|
880
|
+
|
881
|
+
// Place in global scope of any C/C++ file that needs to access the extension API
|
882
|
+
#define DUCKDB_EXTENSION_EXTERN extern duckdb_ext_api_v0 duckdb_ext_api;
|
883
|
+
|
884
|
+
//===--------------------------------------------------------------------===//
|
885
|
+
// Entrypoint Macros
|
886
|
+
//===--------------------------------------------------------------------===//
|
887
|
+
|
888
|
+
// Note: the DUCKDB_EXTENSION_ENTRYPOINT macro requires DUCKDB_EXTENSION_NAME to be set.
|
889
|
+
|
890
|
+
#ifdef DUCKDB_EXTENSION_NAME
|
891
|
+
|
892
|
+
// Main entrypoint: opens (and closes) a connection automatically for the extension to register its functionality
|
893
|
+
// through
|
894
|
+
#define DUCKDB_EXTENSION_ENTRYPOINT \
|
895
|
+
DUCKDB_EXTENSION_GLOBAL static void DUCKDB_EXTENSION_GLUE(DUCKDB_EXTENSION_NAME, _init_c_api_internal)( \
|
896
|
+
duckdb_connection connection, duckdb_extension_info info, duckdb_extension_access * access); \
|
897
|
+
DUCKDB_EXTENSION_EXTERN_C_GUARD_OPEN DUCKDB_EXTENSION_API void DUCKDB_EXTENSION_GLUE( \
|
898
|
+
DUCKDB_EXTENSION_NAME, _init_c_api)(duckdb_extension_info info, duckdb_extension_access * access) { \
|
899
|
+
DUCKDB_EXTENSION_API_INIT(info, access, DUCKDB_EXTENSION_API_VERSION_STRING); \
|
900
|
+
duckdb_database *db = access->get_database(info); \
|
901
|
+
duckdb_connection conn; \
|
902
|
+
if (duckdb_connect(*db, &conn) == DuckDBError) { \
|
903
|
+
access->set_error(info, "Failed to open connection to database"); \
|
904
|
+
return; \
|
905
|
+
} \
|
906
|
+
DUCKDB_EXTENSION_GLUE(DUCKDB_EXTENSION_NAME, _init_c_api_internal)(conn, info, access); \
|
907
|
+
duckdb_disconnect(&conn); \
|
908
|
+
} \
|
909
|
+
DUCKDB_EXTENSION_EXTERN_C_GUARD_CLOSE static void DUCKDB_EXTENSION_GLUE(DUCKDB_EXTENSION_NAME, _init_c_api_internal)
|
910
|
+
|
911
|
+
// Custom entrypoint: just forwards the info and access
|
912
|
+
#define DUCKDB_EXTENSION_ENTRYPOINT_CUSTOM \
|
913
|
+
DUCKDB_EXTENSION_GLOBAL static void DUCKDB_EXTENSION_GLUE(DUCKDB_EXTENSION_NAME, _init_c_api_internal)( \
|
914
|
+
duckdb_extension_info info, duckdb_extension_access * access); \
|
915
|
+
DUCKDB_EXTENSION_EXTERN_C_GUARD_OPEN DUCKDB_EXTENSION_API void DUCKDB_EXTENSION_GLUE( \
|
916
|
+
DUCKDB_EXTENSION_NAME, _init_c_api)(duckdb_extension_info info, duckdb_extension_access * access) { \
|
917
|
+
DUCKDB_EXTENSION_API_INIT(info, access, DUCKDB_EXTENSION_API_VERSION_STRING); \
|
918
|
+
DUCKDB_EXTENSION_GLUE(DUCKDB_EXTENSION_NAME, _init_c_api_internal)(info, access); \
|
919
|
+
} \
|
920
|
+
DUCKDB_EXTENSION_EXTERN_C_GUARD_CLOSE static void DUCKDB_EXTENSION_GLUE(DUCKDB_EXTENSION_NAME, _init_c_api_internal)
|
921
|
+
#endif
|