duckdb 1.1.2-dev2.0 → 1.1.2-dev6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.gyp +4 -2
- package/package.json +1 -1
- package/src/duckdb/extension/icu/third_party/icu/common/putil.cpp +0 -5
- package/src/duckdb/extension/icu/third_party/icu/common/rbbiscan.cpp +1 -1
- package/src/duckdb/extension/icu/third_party/icu/common/rbbitblb.cpp +1 -1
- package/src/duckdb/extension/icu/third_party/icu/common/ucurr.cpp +1 -1
- package/src/duckdb/extension/icu/third_party/icu/common/uresbund.cpp +1 -1
- package/src/duckdb/extension/icu/third_party/icu/common/uresimp.h +31 -31
- package/src/duckdb/extension/icu/third_party/icu/common/ustring.cpp +1 -1
- package/src/duckdb/extension/icu/third_party/icu/common/uvector.cpp +1 -1
- package/src/duckdb/extension/icu/third_party/icu/i18n/coleitr.cpp +12 -12
- package/src/duckdb/extension/icu/third_party/icu/i18n/format.cpp +1 -1
- package/src/duckdb/extension/icu/third_party/icu/i18n/listformatter.cpp +4 -4
- package/src/duckdb/extension/icu/third_party/icu/i18n/number_decimalquantity.h +1 -1
- package/src/duckdb/extension/icu/third_party/icu/i18n/tzgnames.cpp +1 -1
- package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/coleitr.h +28 -28
- package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/format.h +7 -7
- package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/ucol.h +1 -1
- package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/ucoleitr.h +41 -41
- package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/umsg.h +41 -41
- package/src/duckdb/extension/icu/third_party/icu/i18n/usrchimp.h +3 -3
- package/src/duckdb/extension/json/include/json_common.hpp +1 -1
- package/src/duckdb/extension/json/json_functions/json_structure.cpp +13 -7
- package/src/duckdb/extension/parquet/column_writer.cpp +2 -1
- package/src/duckdb/extension/parquet/geo_parquet.cpp +24 -9
- package/src/duckdb/extension/parquet/include/geo_parquet.hpp +3 -1
- package/src/duckdb/extension/parquet/include/parquet_reader.hpp +1 -0
- package/src/duckdb/extension/parquet/include/parquet_rle_bp_decoder.hpp +1 -1
- package/src/duckdb/extension/parquet/include/templated_column_reader.hpp +0 -4
- package/src/duckdb/extension/parquet/parquet_extension.cpp +20 -6
- package/src/duckdb/extension/parquet/parquet_reader.cpp +1 -2
- package/src/duckdb/extension/parquet/parquet_writer.cpp +1 -1
- package/src/duckdb/extension/parquet/serialize_parquet.cpp +0 -2
- package/src/duckdb/src/catalog/catalog_entry/duck_schema_entry.cpp +8 -1
- package/src/duckdb/src/catalog/default/default_functions.cpp +5 -5
- package/src/duckdb/src/common/allocator.cpp +3 -2
- package/src/duckdb/src/common/arrow/arrow_appender.cpp +1 -0
- package/src/duckdb/src/common/arrow/arrow_converter.cpp +11 -0
- package/src/duckdb/src/common/arrow/schema_metadata.cpp +6 -4
- package/src/duckdb/src/common/enum_util.cpp +33 -0
- package/src/duckdb/src/common/exception.cpp +3 -0
- package/src/duckdb/src/common/extra_type_info.cpp +1 -44
- package/src/duckdb/src/common/field_writer.cpp +97 -0
- package/src/duckdb/src/common/render_tree.cpp +7 -5
- package/src/duckdb/src/common/row_operations/row_match.cpp +359 -0
- package/src/duckdb/src/common/serializer/buffered_deserializer.cpp +27 -0
- package/src/duckdb/src/common/serializer/buffered_serializer.cpp +36 -0
- package/src/duckdb/src/common/serializer/format_serializer.cpp +15 -0
- package/src/duckdb/src/common/serializer.cpp +24 -0
- package/src/duckdb/src/common/sort/comparators.cpp +2 -2
- package/src/duckdb/src/common/types/bit.cpp +57 -34
- package/src/duckdb/src/common/types/data_chunk.cpp +32 -29
- package/src/duckdb/src/common/types/vector_cache.cpp +12 -6
- package/src/duckdb/src/common/vector_operations/comparison_operators.cpp +14 -0
- package/src/duckdb/src/core_functions/aggregate/distributive/bitstring_agg.cpp +20 -1
- package/src/duckdb/src/core_functions/aggregate/distributive/minmax.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/holistic/approx_top_k.cpp +32 -7
- package/src/duckdb/src/core_functions/function_list.cpp +1 -2
- package/src/duckdb/src/core_functions/scalar/bit/bitstring.cpp +23 -5
- package/src/duckdb/src/core_functions/scalar/date/date_diff.cpp +12 -6
- package/src/duckdb/src/core_functions/scalar/date/date_part.cpp +1 -1
- package/src/duckdb/src/execution/expression_executor/execute_between.cpp +4 -3
- package/src/duckdb/src/execution/expression_executor/execute_case.cpp +4 -3
- package/src/duckdb/src/execution/expression_executor/execute_cast.cpp +2 -1
- package/src/duckdb/src/execution/expression_executor/execute_comparison.cpp +3 -2
- package/src/duckdb/src/execution/expression_executor/execute_conjunction.cpp +2 -1
- package/src/duckdb/src/execution/expression_executor/execute_function.cpp +2 -1
- package/src/duckdb/src/execution/expression_executor/execute_operator.cpp +3 -2
- package/src/duckdb/src/execution/expression_executor/execute_reference.cpp +1 -1
- package/src/duckdb/src/execution/expression_executor.cpp +9 -3
- package/src/duckdb/src/execution/expression_executor_state.cpp +11 -9
- package/src/duckdb/src/execution/index/art/fixed_size_allocator.cpp +238 -0
- package/src/duckdb/src/execution/index/art/plan_art.cpp +94 -0
- package/src/duckdb/src/execution/index/index_type_set.cpp +4 -1
- package/src/duckdb/src/execution/join_hashtable.cpp +7 -8
- package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +6 -4
- package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.cpp +4 -4
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/base_scanner.cpp +1 -1
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/csv_schema.cpp +44 -5
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/string_value_scanner.cpp +28 -24
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp +25 -26
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp +5 -3
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/header_detection.cpp +4 -4
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_detection.cpp +2 -2
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_refinement.cpp +1 -1
- 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.cpp +1 -1
- package/src/duckdb/src/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.cpp +2 -2
- package/src/duckdb/src/execution/operator/csv_scanner/table_function/csv_file_scanner.cpp +1 -1
- package/src/duckdb/src/execution/operator/csv_scanner/table_function/global_csv_state.cpp +1 -1
- package/src/duckdb/src/execution/operator/csv_scanner/util/csv_reader_options.cpp +73 -27
- package/src/duckdb/src/execution/operator/helper/physical_buffered_collector.cpp +1 -1
- package/src/duckdb/src/execution/operator/persistent/base_csv_reader.cpp +695 -0
- package/src/duckdb/src/execution/operator/persistent/buffered_csv_reader.cpp +1487 -0
- package/src/duckdb/src/execution/operator/persistent/csv_buffer.cpp +72 -0
- package/src/duckdb/src/execution/operator/persistent/csv_file_handle.cpp +158 -0
- package/src/duckdb/src/execution/operator/persistent/csv_reader_options.cpp +280 -0
- package/src/duckdb/src/execution/operator/persistent/parallel_csv_reader.cpp +666 -0
- package/src/duckdb/src/execution/operator/persistent/physical_export.cpp +14 -4
- package/src/duckdb/src/execution/operator/schema/physical_create_index.cpp +207 -0
- package/src/duckdb/src/execution/partitionable_hashtable.cpp +207 -0
- package/src/duckdb/src/execution/perfect_aggregate_hashtable.cpp +6 -1
- package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +0 -4
- package/src/duckdb/src/execution/physical_plan/plan_create_index.cpp +14 -87
- package/src/duckdb/src/execution/physical_plan/plan_export.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan/plan_get.cpp +1 -1
- package/src/duckdb/src/execution/reservoir_sample.cpp +1 -1
- package/src/duckdb/src/execution/window_executor.cpp +3 -3
- package/src/duckdb/src/function/pragma/pragma_queries.cpp +1 -1
- package/src/duckdb/src/function/scalar/strftime_format.cpp +1 -2
- package/src/duckdb/src/function/scalar/string/concat.cpp +118 -151
- package/src/duckdb/src/function/table/arrow.cpp +13 -0
- package/src/duckdb/src/function/table/arrow_conversion.cpp +12 -7
- package/src/duckdb/src/function/table/copy_csv.cpp +1 -1
- package/src/duckdb/src/function/table/read_csv.cpp +2 -30
- package/src/duckdb/src/function/table/sniff_csv.cpp +2 -1
- package/src/duckdb/src/function/table/system/duckdb_secrets.cpp +15 -7
- package/src/duckdb/src/function/table/version/pragma_version.cpp +3 -3
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry_retriever.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/atomic.hpp +13 -1
- package/src/duckdb/src/include/duckdb/common/bitpacking.hpp +3 -4
- package/src/duckdb/src/include/duckdb/common/enum_util.hpp +8 -0
- package/src/duckdb/src/include/duckdb/common/enums/metric_type.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/exception.hpp +10 -0
- package/src/duckdb/src/include/duckdb/common/extra_type_info/enum_type_info.hpp +53 -0
- package/src/duckdb/src/include/duckdb/common/insertion_order_preserving_map.hpp +5 -5
- package/src/duckdb/src/include/duckdb/common/multi_file_reader.hpp +5 -0
- package/src/duckdb/src/include/duckdb/common/types/bit.hpp +36 -33
- package/src/duckdb/src/include/duckdb/common/types/data_chunk.hpp +10 -13
- package/src/duckdb/src/include/duckdb/common/types/uhugeint.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/vector_cache.hpp +7 -5
- package/src/duckdb/src/include/duckdb/common/windows_undefs.hpp +2 -1
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/minmax_n_helpers.hpp +2 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/bit_functions.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/scalar/list_functions.hpp +0 -6
- package/src/duckdb/src/include/duckdb/core_functions/scalar/math_functions.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/expression_executor_state.hpp +3 -2
- package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/index/index_type.hpp +16 -1
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_buffer_manager.hpp +4 -4
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_reader_options.hpp +4 -2
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_schema.hpp +3 -2
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp +91 -36
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/sniffer/sniff_result.hpp +36 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/string_value_scanner.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/join/perfect_hash_join_executor.hpp +0 -1
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_export.hpp +2 -5
- package/src/duckdb/src/include/duckdb/function/table_function.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/database.hpp +5 -0
- package/src/duckdb/src/include/duckdb/main/extension_entries.hpp +1 -0
- package/src/duckdb/src/include/duckdb/main/profiling_info.hpp +20 -22
- package/src/duckdb/src/include/duckdb/main/query_profiler.hpp +7 -9
- package/src/duckdb/src/include/duckdb/main/secret/secret.hpp +8 -1
- package/src/duckdb/src/include/duckdb/main/table_description.hpp +14 -0
- package/src/duckdb/src/include/duckdb/optimizer/unnest_rewriter.hpp +5 -5
- package/src/duckdb/src/include/duckdb/parser/parsed_data/exported_table_data.hpp +15 -5
- package/src/duckdb/src/include/duckdb/parser/transformer.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/expression_binder/order_binder.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_export.hpp +10 -13
- package/src/duckdb/src/include/duckdb/planner/table_filter.hpp +1 -0
- package/src/duckdb/src/include/duckdb/storage/metadata/metadata_manager.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/standard_buffer_manager.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/statistics/distinct_statistics.hpp +0 -2
- package/src/duckdb/src/include/duckdb/storage/table/segment_tree.hpp +1 -0
- package/src/duckdb/src/include/duckdb/transaction/duck_transaction.hpp +5 -1
- package/src/duckdb/src/include/duckdb.h +2 -2
- package/src/duckdb/src/main/appender.cpp +3 -0
- package/src/duckdb/src/main/capi/profiling_info-c.cpp +5 -2
- package/src/duckdb/src/main/client_context.cpp +8 -2
- package/src/duckdb/src/main/connection.cpp +1 -1
- package/src/duckdb/src/main/database.cpp +13 -0
- package/src/duckdb/src/main/extension/extension_helper.cpp +1 -1
- package/src/duckdb/src/main/extension/extension_install.cpp +9 -1
- package/src/duckdb/src/main/extension/extension_load.cpp +3 -2
- package/src/duckdb/src/main/extension_install_info.cpp +1 -1
- package/src/duckdb/src/main/profiling_info.cpp +78 -58
- package/src/duckdb/src/main/query_profiler.cpp +79 -89
- package/src/duckdb/src/main/relation/read_csv_relation.cpp +1 -1
- package/src/duckdb/src/main/secret/secret.cpp +2 -1
- package/src/duckdb/src/main/secret/secret_manager.cpp +14 -0
- package/src/duckdb/src/optimizer/cte_filter_pusher.cpp +4 -2
- package/src/duckdb/src/optimizer/deliminator.cpp +0 -7
- package/src/duckdb/src/optimizer/in_clause_rewriter.cpp +7 -0
- package/src/duckdb/src/optimizer/pushdown/pushdown_left_join.cpp +4 -1
- package/src/duckdb/src/optimizer/unnest_rewriter.cpp +21 -21
- package/src/duckdb/src/parallel/task_scheduler.cpp +9 -0
- package/src/duckdb/src/parser/parsed_data/exported_table_data.cpp +22 -0
- package/src/duckdb/src/parser/parsed_expression_iterator.cpp +3 -0
- package/src/duckdb/src/parser/statement/insert_statement.cpp +7 -1
- package/src/duckdb/src/parser/transform/expression/transform_boolean_test.cpp +1 -1
- package/src/duckdb/src/parser/transform/helpers/transform_typename.cpp +89 -87
- package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +2 -2
- package/src/duckdb/src/planner/binder/expression/bind_macro_expression.cpp +4 -9
- package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +4 -0
- package/src/duckdb/src/planner/binder/query_node/plan_setop.cpp +2 -2
- package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +4 -1
- package/src/duckdb/src/planner/binder/statement/bind_export.cpp +4 -3
- package/src/duckdb/src/planner/expression_binder/order_binder.cpp +13 -3
- package/src/duckdb/src/planner/expression_binder.cpp +1 -1
- package/src/duckdb/src/planner/operator/logical_export.cpp +28 -0
- package/src/duckdb/src/planner/table_binding.cpp +1 -2
- package/src/duckdb/src/planner/table_filter.cpp +6 -2
- package/src/duckdb/src/storage/buffer/buffer_pool.cpp +2 -1
- package/src/duckdb/src/storage/checkpoint_manager.cpp +1 -1
- package/src/duckdb/src/storage/compression/bitpacking.cpp +7 -3
- package/src/duckdb/src/storage/compression/dictionary_compression.cpp +1 -1
- package/src/duckdb/src/storage/metadata/metadata_manager.cpp +2 -2
- package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +16 -0
- package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +29 -0
- package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +15 -0
- package/src/duckdb/src/storage/single_file_block_manager.cpp +2 -1
- package/src/duckdb/src/storage/statistics/distinct_statistics.cpp +3 -5
- package/src/duckdb/src/storage/storage_info.cpp +4 -4
- package/src/duckdb/src/storage/table/row_group_collection.cpp +1 -1
- package/src/duckdb/src/storage/table/row_version_manager.cpp +5 -1
- package/src/duckdb/src/storage/temporary_file_manager.cpp +1 -1
- package/src/duckdb/src/transaction/duck_transaction.cpp +15 -14
- package/src/duckdb/third_party/brotli/common/brotli_platform.h +1 -1
- package/src/duckdb/third_party/brotli/dec/decode.cpp +1 -1
- package/src/duckdb/third_party/brotli/enc/memory.cpp +4 -4
- package/src/duckdb/third_party/fsst/libfsst.cpp +1 -1
- package/src/duckdb/third_party/hyperloglog/sds.cpp +1 -1
- package/src/duckdb/third_party/hyperloglog/sds.hpp +1 -1
- package/src/duckdb/third_party/libpg_query/include/common/keywords.hpp +1 -1
- package/src/duckdb/third_party/libpg_query/include/datatype/timestamp.hpp +1 -1
- package/src/duckdb/third_party/libpg_query/include/mb/pg_wchar.hpp +1 -1
- package/src/duckdb/third_party/libpg_query/include/nodes/bitmapset.hpp +1 -1
- package/src/duckdb/third_party/libpg_query/include/nodes/lockoptions.hpp +1 -1
- package/src/duckdb/third_party/libpg_query/include/nodes/makefuncs.hpp +1 -1
- package/src/duckdb/third_party/libpg_query/include/nodes/pg_list.hpp +1 -1
- package/src/duckdb/third_party/libpg_query/include/nodes/value.hpp +1 -1
- package/src/duckdb/third_party/libpg_query/include/parser/gramparse.hpp +1 -1
- package/src/duckdb/third_party/libpg_query/include/parser/parser.hpp +1 -1
- package/src/duckdb/third_party/libpg_query/include/parser/scanner.hpp +1 -1
- package/src/duckdb/third_party/libpg_query/include/parser/scansup.hpp +1 -1
- package/src/duckdb/third_party/libpg_query/include/pg_functions.hpp +1 -1
- package/src/duckdb/third_party/libpg_query/pg_functions.cpp +1 -1
- package/src/duckdb/third_party/libpg_query/src_backend_nodes_list.cpp +1 -1
- package/src/duckdb/third_party/libpg_query/src_backend_nodes_makefuncs.cpp +1 -1
- package/src/duckdb/third_party/libpg_query/src_backend_nodes_value.cpp +1 -1
- package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +1964 -1964
- package/src/duckdb/third_party/libpg_query/src_backend_parser_parser.cpp +1 -1
- package/src/duckdb/third_party/libpg_query/src_backend_parser_scansup.cpp +1 -1
- package/src/duckdb/third_party/libpg_query/src_common_keywords.cpp +1 -1
- package/src/duckdb/third_party/lz4/lz4.cpp +1 -1
- package/src/duckdb/third_party/mbedtls/include/des_alt.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/aes_alt.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/aria_alt.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/asn1write.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/camellia_alt.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/ccm_alt.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/chacha20.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/chachapoly.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/cmac.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/config_psa.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/ecdsa.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/ecp.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/gcm_alt.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/md5.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/nist_kw.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/pkcs12.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/pkcs5.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/psa_util.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/ripemd160.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/threading.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/mbedtls/timing.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/platform_alt.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/psa/crypto.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/rsa_alt.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/sha1_alt.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/sha256_alt.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/sha512_alt.h +1 -1
- package/src/duckdb/third_party/mbedtls/include/ssl_misc.h +1 -1
- package/src/duckdb/third_party/mbedtls/library/aesni.h +1 -1
- package/src/duckdb/third_party/mbedtls/library/padlock.h +1 -1
- package/src/duckdb/third_party/miniz/miniz.cpp +1 -1
- package/src/duckdb/third_party/parquet/parquet_types.cpp +1 -1
- package/src/duckdb/third_party/parquet/windows_compatibility.h +1 -1
- package/src/duckdb/third_party/pcg/pcg_extras.hpp +1 -1
- package/src/duckdb/third_party/pcg/pcg_uint128.hpp +1 -1
- package/src/duckdb/third_party/skiplist/Node.h +4 -4
- package/src/duckdb/third_party/snappy/snappy.cc +1 -1
- package/src/duckdb/third_party/snappy/snappy_version.hpp +1 -1
- package/src/duckdb/third_party/thrift/thrift/thrift-config.h +1 -1
- package/src/duckdb/third_party/zstd/decompress/zstd_decompress_block.cpp +1 -1
- package/src/duckdb/third_party/zstd/include/zstd_static.h +1 -1
- package/src/duckdb/ub_src_execution_index_art.cpp +2 -0
- package/src/duckdb/ub_src_parser_parsed_data.cpp +2 -0
- package/src/duckdb/ub_src_planner_operator.cpp +2 -0
@@ -11,7 +11,7 @@
|
|
11
11
|
* Modification History:
|
12
12
|
*
|
13
13
|
* Date Name Description
|
14
|
-
* 02/15/2001 synwee Modified all methods to process its own function
|
14
|
+
* 02/15/2001 synwee Modified all methods to process its own function
|
15
15
|
* instead of calling the equivalent c++ api (coleitr.h)
|
16
16
|
*******************************************************************************/
|
17
17
|
|
@@ -22,8 +22,8 @@
|
|
22
22
|
|
23
23
|
#if !UCONFIG_NO_COLLATION
|
24
24
|
|
25
|
-
/**
|
26
|
-
* This indicates an error has
|
25
|
+
/**
|
26
|
+
* This indicates an error has occurred during processing or if no more CEs is
|
27
27
|
* to be returned.
|
28
28
|
* @stable ICU 2.0
|
29
29
|
*/
|
@@ -31,7 +31,7 @@
|
|
31
31
|
|
32
32
|
#include "unicode/ucol.h"
|
33
33
|
|
34
|
-
/**
|
34
|
+
/**
|
35
35
|
* The UCollationElements struct.
|
36
36
|
* For usage in C programs.
|
37
37
|
* @stable ICU 2.0
|
@@ -42,10 +42,10 @@ typedef struct UCollationElements UCollationElements;
|
|
42
42
|
* \file
|
43
43
|
* \brief C API: UCollationElements
|
44
44
|
*
|
45
|
-
* The UCollationElements API is used as an iterator to walk through each
|
45
|
+
* The UCollationElements API is used as an iterator to walk through each
|
46
46
|
* character of an international string. Use the iterator to return the
|
47
|
-
* ordering priority of the positioned character. The ordering priority of a
|
48
|
-
* character, which we refer to as a key, defines how a character is collated
|
47
|
+
* ordering priority of the positioned character. The ordering priority of a
|
48
|
+
* character, which we refer to as a key, defines how a character is collated
|
49
49
|
* in the given collation object.
|
50
50
|
* For example, consider the following in Slovak and in traditional Spanish collation:
|
51
51
|
* <pre>
|
@@ -82,19 +82,19 @@ typedef struct UCollationElements UCollationElements;
|
|
82
82
|
* ucol_next() returns the collation order of the next.
|
83
83
|
* ucol_prev() returns the collation order of the previous character.
|
84
84
|
* The Collation Element Iterator moves only in one direction between calls to
|
85
|
-
* ucol_reset. That is, ucol_next() and ucol_prev can not be inter-used.
|
86
|
-
* Whenever ucol_prev is to be called after ucol_next() or vice versa,
|
87
|
-
* ucol_reset has to be called first to reset the status, shifting pointers to
|
88
|
-
* either the end or the start of the string. Hence at the next call of
|
89
|
-
* ucol_prev or ucol_next, the first or last collation order will be returned.
|
90
|
-
* If a change of direction is done without a ucol_reset, the result is
|
85
|
+
* ucol_reset. That is, ucol_next() and ucol_prev can not be inter-used.
|
86
|
+
* Whenever ucol_prev is to be called after ucol_next() or vice versa,
|
87
|
+
* ucol_reset has to be called first to reset the status, shifting pointers to
|
88
|
+
* either the end or the start of the string. Hence at the next call of
|
89
|
+
* ucol_prev or ucol_next, the first or last collation order will be returned.
|
90
|
+
* If a change of direction is done without a ucol_reset, the result is
|
91
91
|
* undefined.
|
92
|
-
* The result of a forward iterate (ucol_next) and reversed result of the
|
93
|
-
* backward iterate (ucol_prev) on the same string are equivalent, if
|
92
|
+
* The result of a forward iterate (ucol_next) and reversed result of the
|
93
|
+
* backward iterate (ucol_prev) on the same string are equivalent, if
|
94
94
|
* collation orders with the value 0 are ignored.
|
95
|
-
* Character based on the comparison level of the collator. A collation order
|
96
|
-
* consists of primary order, secondary order and tertiary order. The data
|
97
|
-
* type of the collation order is <strong>int32_t</strong>.
|
95
|
+
* Character based on the comparison level of the collator. A collation order
|
96
|
+
* consists of primary order, secondary order and tertiary order. The data
|
97
|
+
* type of the collation order is <strong>int32_t</strong>.
|
98
98
|
*
|
99
99
|
* @see UCollator
|
100
100
|
*/
|
@@ -109,7 +109,7 @@ typedef struct UCollationElements UCollationElements;
|
|
109
109
|
* @return a struct containing collation element information
|
110
110
|
* @stable ICU 2.0
|
111
111
|
*/
|
112
|
-
U_STABLE UCollationElements* U_EXPORT2
|
112
|
+
U_STABLE UCollationElements* U_EXPORT2
|
113
113
|
ucol_openElements(const UCollator *coll,
|
114
114
|
const UChar *text,
|
115
115
|
int32_t textLength,
|
@@ -123,7 +123,7 @@ ucol_openElements(const UCollator *coll,
|
|
123
123
|
* @return the hash code.
|
124
124
|
* @stable ICU 2.0
|
125
125
|
*/
|
126
|
-
U_STABLE int32_t U_EXPORT2
|
126
|
+
U_STABLE int32_t U_EXPORT2
|
127
127
|
ucol_keyHashCode(const uint8_t* key, int32_t length);
|
128
128
|
|
129
129
|
/**
|
@@ -132,7 +132,7 @@ ucol_keyHashCode(const uint8_t* key, int32_t length);
|
|
132
132
|
* @param elems The UCollationElements to close.
|
133
133
|
* @stable ICU 2.0
|
134
134
|
*/
|
135
|
-
U_STABLE void U_EXPORT2
|
135
|
+
U_STABLE void U_EXPORT2
|
136
136
|
ucol_closeElements(UCollationElements *elems);
|
137
137
|
|
138
138
|
/**
|
@@ -144,7 +144,7 @@ ucol_closeElements(UCollationElements *elems);
|
|
144
144
|
* @see ucol_previous
|
145
145
|
* @stable ICU 2.0
|
146
146
|
*/
|
147
|
-
U_STABLE void U_EXPORT2
|
147
|
+
U_STABLE void U_EXPORT2
|
148
148
|
ucol_reset(UCollationElements *elems);
|
149
149
|
|
150
150
|
/**
|
@@ -152,41 +152,41 @@ ucol_reset(UCollationElements *elems);
|
|
152
152
|
* A single character may contain more than one collation element.
|
153
153
|
* @param elems The UCollationElements containing the text.
|
154
154
|
* @param status A pointer to a UErrorCode to receive any errors.
|
155
|
-
* @return The next collation elements ordering, otherwise returns UCOL_NULLORDER
|
156
|
-
* if an error has
|
155
|
+
* @return The next collation elements ordering, otherwise returns UCOL_NULLORDER
|
156
|
+
* if an error has occurred or if the end of string has been reached
|
157
157
|
* @stable ICU 2.0
|
158
158
|
*/
|
159
|
-
U_STABLE int32_t U_EXPORT2
|
159
|
+
U_STABLE int32_t U_EXPORT2
|
160
160
|
ucol_next(UCollationElements *elems, UErrorCode *status);
|
161
161
|
|
162
162
|
/**
|
163
163
|
* Get the ordering priority of the previous collation element in the text.
|
164
164
|
* A single character may contain more than one collation element.
|
165
|
-
* Note that internally a stack is used to store buffered collation elements.
|
165
|
+
* Note that internally a stack is used to store buffered collation elements.
|
166
166
|
* @param elems The UCollationElements containing the text.
|
167
|
-
* @param status A pointer to a UErrorCode to receive any errors. Noteably
|
167
|
+
* @param status A pointer to a UErrorCode to receive any errors. Noteably
|
168
168
|
* a U_BUFFER_OVERFLOW_ERROR is returned if the internal stack
|
169
169
|
* buffer has been exhausted.
|
170
|
-
* @return The previous collation elements ordering, otherwise returns
|
171
|
-
* UCOL_NULLORDER if an error has
|
170
|
+
* @return The previous collation elements ordering, otherwise returns
|
171
|
+
* UCOL_NULLORDER if an error has occurred or if the start of string has
|
172
172
|
* been reached.
|
173
173
|
* @stable ICU 2.0
|
174
174
|
*/
|
175
|
-
U_STABLE int32_t U_EXPORT2
|
175
|
+
U_STABLE int32_t U_EXPORT2
|
176
176
|
ucol_previous(UCollationElements *elems, UErrorCode *status);
|
177
177
|
|
178
178
|
/**
|
179
|
-
* Get the maximum length of any expansion sequences that end with the
|
179
|
+
* Get the maximum length of any expansion sequences that end with the
|
180
180
|
* specified comparison order.
|
181
181
|
* This is useful for .... ?
|
182
182
|
* @param elems The UCollationElements containing the text.
|
183
183
|
* @param order A collation order returned by previous or next.
|
184
|
-
* @return maximum size of the expansion sequences ending with the collation
|
185
|
-
* element or 1 if collation element does not occur at the end of any
|
184
|
+
* @return maximum size of the expansion sequences ending with the collation
|
185
|
+
* element or 1 if collation element does not occur at the end of any
|
186
186
|
* expansion sequence
|
187
187
|
* @stable ICU 2.0
|
188
188
|
*/
|
189
|
-
U_STABLE int32_t U_EXPORT2
|
189
|
+
U_STABLE int32_t U_EXPORT2
|
190
190
|
ucol_getMaxExpansion(const UCollationElements *elems, int32_t order);
|
191
191
|
|
192
192
|
/**
|
@@ -201,8 +201,8 @@ ucol_getMaxExpansion(const UCollationElements *elems, int32_t order);
|
|
201
201
|
* @see ucol_getText
|
202
202
|
* @stable ICU 2.0
|
203
203
|
*/
|
204
|
-
U_STABLE void U_EXPORT2
|
205
|
-
ucol_setText( UCollationElements *elems,
|
204
|
+
U_STABLE void U_EXPORT2
|
205
|
+
ucol_setText( UCollationElements *elems,
|
206
206
|
const UChar *text,
|
207
207
|
int32_t textLength,
|
208
208
|
UErrorCode *status);
|
@@ -216,7 +216,7 @@ ucol_setText( UCollationElements *elems,
|
|
216
216
|
* @see ucol_setOffset
|
217
217
|
* @stable ICU 2.0
|
218
218
|
*/
|
219
|
-
U_STABLE int32_t U_EXPORT2
|
219
|
+
U_STABLE int32_t U_EXPORT2
|
220
220
|
ucol_getOffset(const UCollationElements *elems);
|
221
221
|
|
222
222
|
/**
|
@@ -231,7 +231,7 @@ ucol_getOffset(const UCollationElements *elems);
|
|
231
231
|
* @see ucol_getOffset
|
232
232
|
* @stable ICU 2.0
|
233
233
|
*/
|
234
|
-
U_STABLE void U_EXPORT2
|
234
|
+
U_STABLE void U_EXPORT2
|
235
235
|
ucol_setOffset(UCollationElements *elems,
|
236
236
|
int32_t offset,
|
237
237
|
UErrorCode *status);
|
@@ -243,7 +243,7 @@ ucol_setOffset(UCollationElements *elems,
|
|
243
243
|
* @stable ICU 2.6
|
244
244
|
*/
|
245
245
|
U_STABLE int32_t U_EXPORT2
|
246
|
-
ucol_primaryOrder (int32_t order);
|
246
|
+
ucol_primaryOrder (int32_t order);
|
247
247
|
|
248
248
|
/**
|
249
249
|
* Get the secondary order of a collation order.
|
@@ -252,7 +252,7 @@ ucol_primaryOrder (int32_t order);
|
|
252
252
|
* @stable ICU 2.6
|
253
253
|
*/
|
254
254
|
U_STABLE int32_t U_EXPORT2
|
255
|
-
ucol_secondaryOrder (int32_t order);
|
255
|
+
ucol_secondaryOrder (int32_t order);
|
256
256
|
|
257
257
|
/**
|
258
258
|
* Get the tertiary order of a collation order.
|
@@ -261,7 +261,7 @@ ucol_secondaryOrder (int32_t order);
|
|
261
261
|
* @stable ICU 2.6
|
262
262
|
*/
|
263
263
|
U_STABLE int32_t U_EXPORT2
|
264
|
-
ucol_tertiaryOrder (int32_t order);
|
264
|
+
ucol_tertiaryOrder (int32_t order);
|
265
265
|
|
266
266
|
#endif /* #if !UCONFIG_NO_COLLATION */
|
267
267
|
|
@@ -1,10 +1,10 @@
|
|
1
1
|
// © 2016 and later: Unicode, Inc. and others.
|
2
2
|
// License & terms of use: http://www.unicode.org/copyright.html
|
3
3
|
/********************************************************************
|
4
|
-
* COPYRIGHT:
|
4
|
+
* COPYRIGHT:
|
5
5
|
* Copyright (c) 1997-2011, International Business Machines Corporation and
|
6
6
|
* others. All Rights Reserved.
|
7
|
-
* Copyright (C) 2010 , Yahoo! Inc.
|
7
|
+
* Copyright (C) 2010 , Yahoo! Inc.
|
8
8
|
********************************************************************
|
9
9
|
*
|
10
10
|
* file name: umsg.h
|
@@ -100,8 +100,8 @@
|
|
100
100
|
* u_uastrcpy(str, "MyDisk");
|
101
101
|
* u_uastrcpy(pattern, "The disk {1} contains {0,choice,0#no files|1#one file|1<{0,number,integer} files}");
|
102
102
|
* for(i=0; i<3; i++){
|
103
|
-
* resultlength=0;
|
104
|
-
* resultLengthOut=u_formatMessage( "en_US", pattern, u_strlen(pattern), NULL, resultlength, &status, testArgs[i], str);
|
103
|
+
* resultlength=0;
|
104
|
+
* resultLengthOut=u_formatMessage( "en_US", pattern, u_strlen(pattern), NULL, resultlength, &status, testArgs[i], str);
|
105
105
|
* if(status==U_BUFFER_OVERFLOW_ERROR){
|
106
106
|
* status=U_ZERO_ERROR;
|
107
107
|
* resultlength=resultLengthOut+1;
|
@@ -175,7 +175,7 @@
|
|
175
175
|
* @see u_parseMessage
|
176
176
|
* @stable ICU 2.0
|
177
177
|
*/
|
178
|
-
U_STABLE int32_t U_EXPORT2
|
178
|
+
U_STABLE int32_t U_EXPORT2
|
179
179
|
u_formatMessage(const char *locale,
|
180
180
|
const UChar *pattern,
|
181
181
|
int32_t patternLength,
|
@@ -202,7 +202,7 @@ u_formatMessage(const char *locale,
|
|
202
202
|
* @see u_parseMessage
|
203
203
|
* @stable ICU 2.0
|
204
204
|
*/
|
205
|
-
U_STABLE int32_t U_EXPORT2
|
205
|
+
U_STABLE int32_t U_EXPORT2
|
206
206
|
u_vformatMessage( const char *locale,
|
207
207
|
const UChar *pattern,
|
208
208
|
int32_t patternLength,
|
@@ -227,7 +227,7 @@ u_vformatMessage( const char *locale,
|
|
227
227
|
* @see u_formatMessage
|
228
228
|
* @stable ICU 2.0
|
229
229
|
*/
|
230
|
-
U_STABLE void U_EXPORT2
|
230
|
+
U_STABLE void U_EXPORT2
|
231
231
|
u_parseMessage( const char *locale,
|
232
232
|
const UChar *pattern,
|
233
233
|
int32_t patternLength,
|
@@ -252,7 +252,7 @@ u_parseMessage( const char *locale,
|
|
252
252
|
* @see u_formatMessage
|
253
253
|
* @stable ICU 2.0
|
254
254
|
*/
|
255
|
-
U_STABLE void U_EXPORT2
|
255
|
+
U_STABLE void U_EXPORT2
|
256
256
|
u_vparseMessage(const char *locale,
|
257
257
|
const UChar *pattern,
|
258
258
|
int32_t patternLength,
|
@@ -281,7 +281,7 @@ u_vparseMessage(const char *locale,
|
|
281
281
|
* @see u_parseMessage
|
282
282
|
* @stable ICU 2.0
|
283
283
|
*/
|
284
|
-
U_STABLE int32_t U_EXPORT2
|
284
|
+
U_STABLE int32_t U_EXPORT2
|
285
285
|
u_formatMessageWithError( const char *locale,
|
286
286
|
const UChar *pattern,
|
287
287
|
int32_t patternLength,
|
@@ -310,7 +310,7 @@ u_formatMessageWithError( const char *locale,
|
|
310
310
|
* output was truncated.
|
311
311
|
* @stable ICU 2.0
|
312
312
|
*/
|
313
|
-
U_STABLE int32_t U_EXPORT2
|
313
|
+
U_STABLE int32_t U_EXPORT2
|
314
314
|
u_vformatMessageWithError( const char *locale,
|
315
315
|
const UChar *pattern,
|
316
316
|
int32_t patternLength,
|
@@ -338,7 +338,7 @@ u_vformatMessageWithError( const char *locale,
|
|
338
338
|
* @see u_formatMessage
|
339
339
|
* @stable ICU 2.0
|
340
340
|
*/
|
341
|
-
U_STABLE void U_EXPORT2
|
341
|
+
U_STABLE void U_EXPORT2
|
342
342
|
u_parseMessageWithError(const char *locale,
|
343
343
|
const UChar *pattern,
|
344
344
|
int32_t patternLength,
|
@@ -366,7 +366,7 @@ u_parseMessageWithError(const char *locale,
|
|
366
366
|
* @see u_formatMessage
|
367
367
|
* @stable ICU 2.0
|
368
368
|
*/
|
369
|
-
U_STABLE void U_EXPORT2
|
369
|
+
U_STABLE void U_EXPORT2
|
370
370
|
u_vparseMessageWithError(const char *locale,
|
371
371
|
const UChar *pattern,
|
372
372
|
int32_t patternLength,
|
@@ -377,7 +377,7 @@ u_vparseMessageWithError(const char *locale,
|
|
377
377
|
UErrorCode* status);
|
378
378
|
|
379
379
|
/*----------------------- New experimental API --------------------------- */
|
380
|
-
/**
|
380
|
+
/**
|
381
381
|
* The message format object
|
382
382
|
* @stable ICU 2.0
|
383
383
|
*/
|
@@ -389,14 +389,14 @@ typedef void* UMessageFormat;
|
|
389
389
|
* @param pattern A pattern specifying the format to use.
|
390
390
|
* @param patternLength Length of the pattern to use
|
391
391
|
* @param locale The locale for which the messages are formatted.
|
392
|
-
* @param parseError A pointer to UParseError struct to receive any errors
|
393
|
-
*
|
392
|
+
* @param parseError A pointer to UParseError struct to receive any errors
|
393
|
+
* occurred during parsing. Can be NULL.
|
394
394
|
* @param status A pointer to an UErrorCode to receive any errors.
|
395
|
-
* @return A pointer to a UMessageFormat to use for formatting
|
396
|
-
* messages, or 0 if an error occurred.
|
395
|
+
* @return A pointer to a UMessageFormat to use for formatting
|
396
|
+
* messages, or 0 if an error occurred.
|
397
397
|
* @stable ICU 2.0
|
398
398
|
*/
|
399
|
-
U_STABLE UMessageFormat* U_EXPORT2
|
399
|
+
U_STABLE UMessageFormat* U_EXPORT2
|
400
400
|
umsg_open( const UChar *pattern,
|
401
401
|
int32_t patternLength,
|
402
402
|
const char *locale,
|
@@ -409,7 +409,7 @@ umsg_open( const UChar *pattern,
|
|
409
409
|
* @param format The formatter to close.
|
410
410
|
* @stable ICU 2.0
|
411
411
|
*/
|
412
|
-
U_STABLE void U_EXPORT2
|
412
|
+
U_STABLE void U_EXPORT2
|
413
413
|
umsg_close(UMessageFormat* format);
|
414
414
|
|
415
415
|
#if U_SHOW_CPLUSPLUS_API
|
@@ -439,7 +439,7 @@ U_NAMESPACE_END
|
|
439
439
|
* @return A pointer to a UDateFormat identical to fmt.
|
440
440
|
* @stable ICU 2.0
|
441
441
|
*/
|
442
|
-
U_STABLE UMessageFormat U_EXPORT2
|
442
|
+
U_STABLE UMessageFormat U_EXPORT2
|
443
443
|
umsg_clone(const UMessageFormat *fmt,
|
444
444
|
UErrorCode *status);
|
445
445
|
|
@@ -450,7 +450,7 @@ umsg_clone(const UMessageFormat *fmt,
|
|
450
450
|
* @param locale The locale the formatter should use.
|
451
451
|
* @stable ICU 2.0
|
452
452
|
*/
|
453
|
-
U_STABLE void U_EXPORT2
|
453
|
+
U_STABLE void U_EXPORT2
|
454
454
|
umsg_setLocale(UMessageFormat *fmt,
|
455
455
|
const char* locale);
|
456
456
|
|
@@ -461,7 +461,7 @@ umsg_setLocale(UMessageFormat *fmt,
|
|
461
461
|
* @return the locale.
|
462
462
|
* @stable ICU 2.0
|
463
463
|
*/
|
464
|
-
U_STABLE const char* U_EXPORT2
|
464
|
+
U_STABLE const char* U_EXPORT2
|
465
465
|
umsg_getLocale(const UMessageFormat *fmt);
|
466
466
|
|
467
467
|
/**
|
@@ -469,14 +469,14 @@ umsg_getLocale(const UMessageFormat *fmt);
|
|
469
469
|
* @param fmt The formatter to use
|
470
470
|
* @param pattern The pattern to be applied.
|
471
471
|
* @param patternLength Length of the pattern to use
|
472
|
-
* @param parseError Struct to receive information on position
|
472
|
+
* @param parseError Struct to receive information on position
|
473
473
|
* of error if an error is encountered.Can be NULL.
|
474
474
|
* @param status Output param set to success/failure code on
|
475
475
|
* exit. If the pattern is invalid, this will be
|
476
476
|
* set to a failure result.
|
477
477
|
* @stable ICU 2.0
|
478
478
|
*/
|
479
|
-
U_STABLE void U_EXPORT2
|
479
|
+
U_STABLE void U_EXPORT2
|
480
480
|
umsg_applyPattern( UMessageFormat *fmt,
|
481
481
|
const UChar* pattern,
|
482
482
|
int32_t patternLength,
|
@@ -490,13 +490,13 @@ umsg_applyPattern( UMessageFormat *fmt,
|
|
490
490
|
* @param resultLength The maximum size of result.
|
491
491
|
* @param status Output param set to success/failure code on
|
492
492
|
* exit. If the pattern is invalid, this will be
|
493
|
-
* set to a failure result.
|
493
|
+
* set to a failure result.
|
494
494
|
* @return the pattern of the format
|
495
495
|
* @stable ICU 2.0
|
496
496
|
*/
|
497
|
-
U_STABLE int32_t U_EXPORT2
|
497
|
+
U_STABLE int32_t U_EXPORT2
|
498
498
|
umsg_toPattern(const UMessageFormat *fmt,
|
499
|
-
UChar* result,
|
499
|
+
UChar* result,
|
500
500
|
int32_t resultLength,
|
501
501
|
UErrorCode* status);
|
502
502
|
|
@@ -509,13 +509,13 @@ umsg_toPattern(const UMessageFormat *fmt,
|
|
509
509
|
* @param result A pointer to a buffer to receive the formatted message.
|
510
510
|
* @param resultLength The maximum size of result.
|
511
511
|
* @param status A pointer to an UErrorCode to receive any errors
|
512
|
-
* @param ... A variable-length argument list containing the arguments
|
512
|
+
* @param ... A variable-length argument list containing the arguments
|
513
513
|
* specified in pattern.
|
514
|
-
* @return The total buffer size needed; if greater than resultLength,
|
514
|
+
* @return The total buffer size needed; if greater than resultLength,
|
515
515
|
* the output was truncated.
|
516
516
|
* @stable ICU 2.0
|
517
517
|
*/
|
518
|
-
U_STABLE int32_t U_EXPORT2
|
518
|
+
U_STABLE int32_t U_EXPORT2
|
519
519
|
umsg_format( const UMessageFormat *fmt,
|
520
520
|
UChar *result,
|
521
521
|
int32_t resultLength,
|
@@ -527,17 +527,17 @@ umsg_format( const UMessageFormat *fmt,
|
|
527
527
|
* This function may perform re-ordering of the arguments depending on the
|
528
528
|
* locale. For all numeric arguments, double is assumed unless the type is
|
529
529
|
* explicitly integer. All choice format arguments must be of type double.
|
530
|
-
* @param fmt The formatter to use
|
530
|
+
* @param fmt The formatter to use
|
531
531
|
* @param result A pointer to a buffer to receive the formatted message.
|
532
532
|
* @param resultLength The maximum size of result.
|
533
|
-
* @param ap A variable-length argument list containing the arguments
|
533
|
+
* @param ap A variable-length argument list containing the arguments
|
534
534
|
* @param status A pointer to an UErrorCode to receive any errors
|
535
535
|
* specified in pattern.
|
536
|
-
* @return The total buffer size needed; if greater than resultLength,
|
536
|
+
* @return The total buffer size needed; if greater than resultLength,
|
537
537
|
* the output was truncated.
|
538
538
|
* @stable ICU 2.0
|
539
539
|
*/
|
540
|
-
U_STABLE int32_t U_EXPORT2
|
540
|
+
U_STABLE int32_t U_EXPORT2
|
541
541
|
umsg_vformat( const UMessageFormat *fmt,
|
542
542
|
UChar *result,
|
543
543
|
int32_t resultLength,
|
@@ -549,7 +549,7 @@ umsg_vformat( const UMessageFormat *fmt,
|
|
549
549
|
* For numeric arguments, this function will always use doubles. Integer types
|
550
550
|
* should not be passed.
|
551
551
|
* This function is not able to parse all output from {@link #umsg_format }.
|
552
|
-
* @param fmt The formatter to use
|
552
|
+
* @param fmt The formatter to use
|
553
553
|
* @param source The text to parse.
|
554
554
|
* @param sourceLength The length of source, or -1 if null-terminated.
|
555
555
|
* @param count Output param to receive number of elements returned.
|
@@ -558,7 +558,7 @@ umsg_vformat( const UMessageFormat *fmt,
|
|
558
558
|
* specified in pattern.
|
559
559
|
* @stable ICU 2.0
|
560
560
|
*/
|
561
|
-
U_STABLE void U_EXPORT2
|
561
|
+
U_STABLE void U_EXPORT2
|
562
562
|
umsg_parse( const UMessageFormat *fmt,
|
563
563
|
const UChar *source,
|
564
564
|
int32_t sourceLength,
|
@@ -571,7 +571,7 @@ umsg_parse( const UMessageFormat *fmt,
|
|
571
571
|
* For numeric arguments, this function will always use doubles. Integer types
|
572
572
|
* should not be passed.
|
573
573
|
* This function is not able to parse all output from {@link #umsg_format }.
|
574
|
-
* @param fmt The formatter to use
|
574
|
+
* @param fmt The formatter to use
|
575
575
|
* @param source The text to parse.
|
576
576
|
* @param sourceLength The length of source, or -1 if null-terminated.
|
577
577
|
* @param count Output param to receive number of elements returned.
|
@@ -581,7 +581,7 @@ umsg_parse( const UMessageFormat *fmt,
|
|
581
581
|
* @see u_formatMessage
|
582
582
|
* @stable ICU 2.0
|
583
583
|
*/
|
584
|
-
U_STABLE void U_EXPORT2
|
584
|
+
U_STABLE void U_EXPORT2
|
585
585
|
umsg_vparse(const UMessageFormat *fmt,
|
586
586
|
const UChar *source,
|
587
587
|
int32_t sourceLength,
|
@@ -593,7 +593,7 @@ umsg_vparse(const UMessageFormat *fmt,
|
|
593
593
|
/**
|
594
594
|
* Convert an 'apostrophe-friendly' pattern into a standard
|
595
595
|
* pattern. Standard patterns treat all apostrophes as
|
596
|
-
* quotes, which is problematic in some languages, e.g.
|
596
|
+
* quotes, which is problematic in some languages, e.g.
|
597
597
|
* French, where apostrophe is commonly used. This utility
|
598
598
|
* assumes that only an unpaired apostrophe immediately before
|
599
599
|
* a brace is a true quote. Other unpaired apostrophes are paired,
|
@@ -613,8 +613,8 @@ umsg_vparse(const UMessageFormat *fmt,
|
|
613
613
|
* not
|
614
614
|
* @stable ICU 3.4
|
615
615
|
*/
|
616
|
-
U_STABLE int32_t U_EXPORT2
|
617
|
-
umsg_autoQuoteApostrophe(const UChar* pattern,
|
616
|
+
U_STABLE int32_t U_EXPORT2
|
617
|
+
umsg_autoQuoteApostrophe(const UChar* pattern,
|
618
618
|
int32_t patternLength,
|
619
619
|
UChar* dest,
|
620
620
|
int32_t destCapacity,
|
@@ -43,7 +43,7 @@
|
|
43
43
|
#define isContinuation(CE) (((CE) & UCOL_CONTINUATION_MARKER) == UCOL_CONTINUATION_MARKER)
|
44
44
|
|
45
45
|
/**
|
46
|
-
* This indicates an error has
|
46
|
+
* This indicates an error has occurred during processing or there are no more CEs
|
47
47
|
* to be returned.
|
48
48
|
*/
|
49
49
|
#define UCOL_PROCESSED_NULLORDER ((int64_t)U_INT64_MAX)
|
@@ -101,7 +101,7 @@ public:
|
|
101
101
|
* @param ixHigh a pointer to an int32_t to receive the iterator index after fetching the CE.
|
102
102
|
* @param status A pointer to an UErrorCode to receive any errors.
|
103
103
|
* @return The next collation elements ordering, otherwise returns UCOL_PROCESSED_NULLORDER
|
104
|
-
* if an error has
|
104
|
+
* if an error has occurred or if the end of string has been reached
|
105
105
|
*/
|
106
106
|
int64_t nextProcessed(int32_t *ixLow, int32_t *ixHigh, UErrorCode *status);
|
107
107
|
/**
|
@@ -114,7 +114,7 @@ public:
|
|
114
114
|
* a U_BUFFER_OVERFLOW_ERROR is returned if the internal stack
|
115
115
|
* buffer has been exhausted.
|
116
116
|
* @return The previous collation elements ordering, otherwise returns
|
117
|
-
* UCOL_PROCESSED_NULLORDER if an error has
|
117
|
+
* UCOL_PROCESSED_NULLORDER if an error has occurred or if the start of
|
118
118
|
* string has been reached.
|
119
119
|
*/
|
120
120
|
int64_t previousProcessed(int32_t *ixLow, int32_t *ixHigh, UErrorCode *status);
|
@@ -301,7 +301,7 @@ private:
|
|
301
301
|
//! Get JSON pointer (/field/index/... syntax)
|
302
302
|
static inline yyjson_val *GetPointer(yyjson_val *val, const char *ptr, const idx_t &len) {
|
303
303
|
yyjson_ptr_err err;
|
304
|
-
return
|
304
|
+
return unsafe_yyjson_ptr_getx(val, ptr, len, &err);
|
305
305
|
}
|
306
306
|
//! Get JSON path ($.field[index]... syntax)
|
307
307
|
static yyjson_val *GetPath(yyjson_val *val, const char *ptr, const idx_t &len);
|
@@ -214,8 +214,8 @@ void JSONStructureNode::RefineCandidateTypesObject(yyjson_val *vals[], const idx
|
|
214
214
|
D_ASSERT(it != key_map.end());
|
215
215
|
const auto child_idx = it->second;
|
216
216
|
child_vals[child_idx][i] = child_val;
|
217
|
+
found_key_count += !found_keys[child_idx];
|
217
218
|
found_keys[child_idx] = true;
|
218
|
-
found_key_count++;
|
219
219
|
}
|
220
220
|
|
221
221
|
if (found_key_count != child_count) {
|
@@ -562,10 +562,12 @@ static void MergeNodeVal(JSONStructureNode &merged, const JSONStructureDescripti
|
|
562
562
|
}
|
563
563
|
if (!merged.initialized) {
|
564
564
|
merged_desc.candidate_types = child_desc.candidate_types;
|
565
|
-
} else if (
|
566
|
-
merged_desc.candidate_types.
|
565
|
+
} else if (merged_desc.candidate_types.empty() != child_desc.candidate_types.empty() // both empty or neither empty
|
566
|
+
|| (!merged_desc.candidate_types.empty() &&
|
567
|
+
merged_desc.candidate_types.back() != child_desc.candidate_types.back())) { // non-empty: check type
|
567
568
|
merged_desc.candidate_types.clear(); // Not the same, default to VARCHAR
|
568
569
|
}
|
570
|
+
|
569
571
|
merged.initialized = true;
|
570
572
|
}
|
571
573
|
|
@@ -704,14 +706,18 @@ static LogicalType StructureToTypeObject(ClientContext &context, const JSONStruc
|
|
704
706
|
D_ASSERT(node.descriptions.size() == 1 && node.descriptions[0].type == LogicalTypeId::STRUCT);
|
705
707
|
auto &desc = node.descriptions[0];
|
706
708
|
|
707
|
-
// If it's an empty struct we do MAP of JSON instead
|
708
709
|
if (desc.children.empty()) {
|
709
|
-
|
710
|
-
|
710
|
+
if (map_inference_threshold != DConstants::INVALID_INDEX) {
|
711
|
+
// Empty struct - let's do MAP of JSON instead
|
712
|
+
return LogicalType::MAP(LogicalType::VARCHAR, null_type);
|
713
|
+
} else {
|
714
|
+
return LogicalType::JSON();
|
715
|
+
}
|
711
716
|
}
|
712
717
|
|
713
718
|
// If it's an inconsistent object we also just do MAP with the best-possible, recursively-merged value type
|
714
|
-
if (
|
719
|
+
if (map_inference_threshold != DConstants::INVALID_INDEX &&
|
720
|
+
IsStructureInconsistent(desc, node.count, node.null_count, field_appearance_threshold)) {
|
715
721
|
return LogicalType::MAP(LogicalType::VARCHAR,
|
716
722
|
GetMergedType(context, node, max_depth, field_appearance_threshold,
|
717
723
|
map_inference_threshold, depth + 1, null_type));
|
@@ -2244,7 +2244,8 @@ unique_ptr<ColumnWriter> ColumnWriter::CreateWriterRecursive(ClientContext &cont
|
|
2244
2244
|
schemas.push_back(std::move(schema_element));
|
2245
2245
|
schema_path.push_back(name);
|
2246
2246
|
|
2247
|
-
if (type.id() == LogicalTypeId::BLOB && type.GetAlias() == "WKB_BLOB"
|
2247
|
+
if (type.id() == LogicalTypeId::BLOB && type.GetAlias() == "WKB_BLOB" &&
|
2248
|
+
GeoParquetFileMetadata::IsGeoParquetConversionEnabled(context)) {
|
2248
2249
|
return make_uniq<WKBColumnWriter>(context, writer, schema_idx, std::move(schema_path), max_repeat, max_define,
|
2249
2250
|
can_have_nulls, name);
|
2250
2251
|
}
|
@@ -177,7 +177,14 @@ void GeoParquetColumnMetadataWriter::Update(GeoParquetColumnMetadata &meta, Vect
|
|
177
177
|
//------------------------------------------------------------------------------
|
178
178
|
|
179
179
|
unique_ptr<GeoParquetFileMetadata>
|
180
|
-
GeoParquetFileMetadata::TryRead(const duckdb_parquet::format::FileMetaData &file_meta_data,
|
180
|
+
GeoParquetFileMetadata::TryRead(const duckdb_parquet::format::FileMetaData &file_meta_data,
|
181
|
+
const ClientContext &context) {
|
182
|
+
|
183
|
+
// Conversion not enabled, or spatial is not loaded!
|
184
|
+
if (!IsGeoParquetConversionEnabled(context)) {
|
185
|
+
return nullptr;
|
186
|
+
}
|
187
|
+
|
181
188
|
for (auto &kv : file_meta_data.key_value_metadata) {
|
182
189
|
if (kv.key == "geo") {
|
183
190
|
const auto geo_metadata = yyjson_read(kv.value.c_str(), kv.value.size(), 0);
|
@@ -186,14 +193,6 @@ GeoParquetFileMetadata::TryRead(const duckdb_parquet::format::FileMetaData &file
|
|
186
193
|
return nullptr;
|
187
194
|
}
|
188
195
|
|
189
|
-
// Check if the spatial extension is loaded, or try to autoload it.
|
190
|
-
const auto is_loaded = ExtensionHelper::TryAutoLoadExtension(context, "spatial");
|
191
|
-
if (!is_loaded) {
|
192
|
-
// Spatial extension is not available, we can't make use of the metadata anyway.
|
193
|
-
yyjson_doc_free(geo_metadata);
|
194
|
-
return nullptr;
|
195
|
-
}
|
196
|
-
|
197
196
|
try {
|
198
197
|
// Check the root object
|
199
198
|
const auto root = yyjson_doc_get_root(geo_metadata);
|
@@ -368,6 +367,22 @@ void GeoParquetFileMetadata::RegisterGeometryColumn(const string &column_name) {
|
|
368
367
|
geometry_columns[column_name] = GeoParquetColumnMetadata();
|
369
368
|
}
|
370
369
|
|
370
|
+
bool GeoParquetFileMetadata::IsGeoParquetConversionEnabled(const ClientContext &context) {
|
371
|
+
Value geoparquet_enabled;
|
372
|
+
if (!context.TryGetCurrentSetting("enable_geoparquet_conversion", geoparquet_enabled)) {
|
373
|
+
return false;
|
374
|
+
}
|
375
|
+
if (!geoparquet_enabled.GetValue<bool>()) {
|
376
|
+
// Disabled by setting
|
377
|
+
return false;
|
378
|
+
}
|
379
|
+
if (!context.db->ExtensionIsLoaded("spatial")) {
|
380
|
+
// Spatial extension is not loaded, we cant convert anyway
|
381
|
+
return false;
|
382
|
+
}
|
383
|
+
return true;
|
384
|
+
}
|
385
|
+
|
371
386
|
unique_ptr<ColumnReader> GeoParquetFileMetadata::CreateColumnReader(ParquetReader &reader,
|
372
387
|
const LogicalType &logical_type,
|
373
388
|
const SchemaElement &s_ele, idx_t schema_idx_p,
|
@@ -120,7 +120,7 @@ public:
|
|
120
120
|
// Try to read GeoParquet metadata. Returns nullptr if not found, invalid or the required spatial extension is not
|
121
121
|
// available.
|
122
122
|
static unique_ptr<GeoParquetFileMetadata> TryRead(const duckdb_parquet::format::FileMetaData &file_meta_data,
|
123
|
-
ClientContext &context);
|
123
|
+
const ClientContext &context);
|
124
124
|
void Write(duckdb_parquet::format::FileMetaData &file_meta_data) const;
|
125
125
|
|
126
126
|
void FlushColumnMeta(const string &column_name, const GeoParquetColumnMetadata &meta);
|
@@ -133,6 +133,8 @@ public:
|
|
133
133
|
bool IsGeometryColumn(const string &column_name) const;
|
134
134
|
void RegisterGeometryColumn(const string &column_name);
|
135
135
|
|
136
|
+
static bool IsGeoParquetConversionEnabled(const ClientContext &context);
|
137
|
+
|
136
138
|
private:
|
137
139
|
mutex write_lock;
|
138
140
|
string version = "1.1.0";
|