couchbase 4.2.8 → 4.2.10
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/CMakeLists.txt +1 -1
- package/deps/couchbase-cxx-cache/mozilla-ca-bundle.crt +139 -56
- package/deps/couchbase-cxx-cache/mozilla-ca-bundle.sha256 +1 -1
- package/deps/couchbase-cxx-client/CMakeLists.txt +401 -424
- package/deps/couchbase-cxx-client/cmake/CompilerWarnings.cmake +7 -3
- package/deps/couchbase-cxx-client/cmake/OpenSSL.cmake +1 -0
- package/deps/couchbase-cxx-client/core/agent_config.hxx +1 -1
- package/deps/couchbase-cxx-client/core/agent_group.cxx +0 -1
- package/deps/couchbase-cxx-client/core/agent_group.hxx +9 -0
- package/deps/couchbase-cxx-client/core/agent_group_config.hxx +1 -1
- package/deps/couchbase-cxx-client/core/bucket.cxx +74 -10
- package/deps/couchbase-cxx-client/core/bucket.hxx +4 -2
- package/deps/couchbase-cxx-client/core/cluster.cxx +1491 -108
- package/deps/couchbase-cxx-client/core/cluster.hxx +183 -473
- package/deps/couchbase-cxx-client/core/cluster_agent_config.hxx +1 -1
- package/deps/couchbase-cxx-client/core/cluster_options.cxx +12 -2
- package/deps/couchbase-cxx-client/core/cluster_options.hxx +9 -8
- package/deps/couchbase-cxx-client/core/config_profiles.cxx +2 -2
- package/deps/couchbase-cxx-client/core/config_profiles.hxx +1 -1
- package/deps/couchbase-cxx-client/core/core_sdk_shim.cxx +1 -2
- package/deps/couchbase-cxx-client/core/core_sdk_shim.hxx +3 -2
- package/deps/couchbase-cxx-client/core/diagnostics.hxx +0 -1
- package/deps/couchbase-cxx-client/core/dispatcher.cxx +2 -2
- package/deps/couchbase-cxx-client/core/impl/analytics.cxx +38 -76
- package/deps/couchbase-cxx-client/core/impl/analytics.hxx +40 -0
- package/deps/couchbase-cxx-client/core/impl/analytics_index_manager.cxx +820 -0
- package/deps/couchbase-cxx-client/core/impl/binary_collection.cxx +403 -0
- package/deps/couchbase-cxx-client/core/impl/bucket.cxx +102 -0
- package/deps/couchbase-cxx-client/core/impl/bucket_manager.cxx +433 -0
- package/deps/couchbase-cxx-client/core/impl/cluster.cxx +299 -44
- package/deps/couchbase-cxx-client/core/impl/collection.cxx +1384 -0
- package/deps/couchbase-cxx-client/core/impl/collection_manager.cxx +306 -0
- package/deps/couchbase-cxx-client/core/impl/configuration_profiles_registry.cxx +3 -1
- package/deps/couchbase-cxx-client/core/impl/diagnostics.cxx +294 -0
- package/deps/couchbase-cxx-client/core/impl/diagnostics.hxx +39 -0
- package/deps/couchbase-cxx-client/core/impl/dns_srv_tracker.cxx +2 -0
- package/deps/couchbase-cxx-client/core/{operations/mcbp_noop.cxx → impl/doc_id_query.cxx} +19 -15
- package/deps/couchbase-cxx-client/core/impl/key_value_error_category.cxx +4 -2
- package/deps/couchbase-cxx-client/core/impl/lookup_in_all_replicas.hxx +0 -10
- package/deps/couchbase-cxx-client/core/impl/lookup_in_any_replica.hxx +0 -10
- package/deps/couchbase-cxx-client/core/impl/observe_poll.cxx +24 -17
- package/deps/couchbase-cxx-client/core/impl/observe_poll.hxx +1 -1
- package/deps/couchbase-cxx-client/core/impl/query.cxx +45 -68
- package/deps/couchbase-cxx-client/core/impl/query.hxx +34 -0
- package/deps/couchbase-cxx-client/core/impl/query_index_manager.cxx +628 -0
- package/deps/couchbase-cxx-client/core/impl/scope.cxx +187 -0
- package/deps/couchbase-cxx-client/core/impl/search.cxx +81 -57
- package/deps/couchbase-cxx-client/core/impl/search.hxx +45 -0
- package/deps/couchbase-cxx-client/core/impl/search_index_manager.cxx +712 -0
- package/deps/couchbase-cxx-client/core/impl/search_request.cxx +139 -0
- package/deps/couchbase-cxx-client/core/impl/search_row_location.cxx +12 -0
- package/deps/couchbase-cxx-client/core/impl/search_sort_geo_distance.cxx +87 -0
- package/deps/couchbase-cxx-client/core/impl/vector_query.cxx +42 -0
- package/deps/couchbase-cxx-client/core/impl/vector_search.cxx +40 -0
- package/deps/couchbase-cxx-client/core/impl/with_legacy_durability.hxx +23 -25
- package/deps/couchbase-cxx-client/core/io/dns_config.cxx +28 -0
- package/deps/couchbase-cxx-client/core/io/dns_config.hxx +6 -25
- package/deps/couchbase-cxx-client/core/io/http_session.hxx +6 -3
- package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +9 -1
- package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +1 -1
- package/deps/couchbase-cxx-client/core/io/mcbp_message.hxx +3 -2
- package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +75 -53
- package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +3 -1
- package/deps/couchbase-cxx-client/core/logger/logger.cxx +1 -1
- package/deps/couchbase-cxx-client/core/logger/logger.hxx +4 -4
- package/deps/couchbase-cxx-client/core/management/bucket_settings.hxx +1 -1
- package/deps/couchbase-cxx-client/core/mcbp/packet.cxx +1 -1
- package/deps/couchbase-cxx-client/core/mcbp/queue_callback.hxx +1 -1
- package/deps/couchbase-cxx-client/core/meta/features.hxx +38 -0
- package/deps/couchbase-cxx-client/core/operations/document_query.cxx +23 -2
- package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_search.cxx +37 -1
- package/deps/couchbase-cxx-client/core/operations/document_search.hxx +11 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_create.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_create.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_get_pending_mutations.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_index_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_connect.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_disconnect.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_create.cxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_get.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/change_password.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/collection_create.cxx +9 -6
- package/deps/couchbase-cxx-client/core/operations/management/collection_create.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/collection_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/collection_update.cxx +9 -8
- package/deps/couchbase-cxx-client/core/operations/management/collection_update.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/error_utils.cxx +9 -5
- package/deps/couchbase-cxx-client/core/operations/management/eventing_deploy_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_drop_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_get_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_pause_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_resume_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_undeploy_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_upsert_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_get.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_get_all.cxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +2 -2
- package/deps/couchbase-cxx-client/core/operations/management/query_index_create.cxx +4 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.cxx +4 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.cxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/scope_create.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/scope_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.cxx +4 -4
- package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.hxx +4 -4
- package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.cxx +19 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.cxx +23 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.cxx +23 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.cxx +23 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.cxx +19 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get.cxx +19 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.cxx +39 -22
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.cxx +20 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_stats.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.cxx +19 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_get.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations.hxx +0 -1
- package/deps/couchbase-cxx-client/core/operations_fwd.hxx +260 -0
- package/deps/couchbase-cxx-client/core/origin.cxx +146 -5
- package/deps/couchbase-cxx-client/core/origin.hxx +30 -140
- package/deps/couchbase-cxx-client/core/protocol/cmd_cluster_map_change_notification.hxx +3 -3
- package/deps/couchbase-cxx-client/core/protocol/cmd_hello.hxx +5 -0
- package/deps/couchbase-cxx-client/core/protocol/cmd_observe_seqno.hxx +4 -4
- package/deps/couchbase-cxx-client/core/protocol/hello_feature.hxx +6 -0
- package/deps/couchbase-cxx-client/core/protocol/hello_feature_fmt.hxx +3 -0
- package/deps/couchbase-cxx-client/core/protocol/status.cxx +6 -0
- package/deps/couchbase-cxx-client/core/protocol/status.hxx +1 -0
- package/deps/couchbase-cxx-client/core/query_context.hxx +11 -7
- package/deps/couchbase-cxx-client/core/range_scan_orchestrator.cxx +1 -1
- package/deps/couchbase-cxx-client/core/topology/collections_manifest.hxx +1 -1
- package/deps/couchbase-cxx-client/core/topology/collections_manifest_json.hxx +1 -1
- package/deps/couchbase-cxx-client/core/topology/configuration.cxx +23 -0
- package/deps/couchbase-cxx-client/core/topology/configuration.hxx +8 -12
- package/deps/couchbase-cxx-client/core/topology/configuration_fmt.hxx +3 -3
- package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +2 -0
- package/deps/couchbase-cxx-client/core/topology/error_map.hxx +2 -2
- package/deps/couchbase-cxx-client/core/topology/error_map_json.hxx +4 -0
- package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.cxx +58 -0
- package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.hxx +5 -40
- package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.cxx +30 -0
- package/deps/couchbase-cxx-client/core/transactions/atr_cleanup_entry.cxx +18 -18
- package/deps/couchbase-cxx-client/core/transactions/attempt_context.cxx +36 -0
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +39 -41
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +2 -2
- package/deps/couchbase-cxx-client/core/transactions/internal/atr_cleanup_entry.hxx +3 -1
- package/deps/couchbase-cxx-client/core/transactions/internal/atr_entry.hxx +2 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.cxx +32 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.hxx +4 -30
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record_fmt.hxx +41 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/logging.hxx +17 -15
- package/deps/couchbase-cxx-client/core/transactions/internal/transaction_context.hxx +1 -1
- package/deps/couchbase-cxx-client/core/transactions/internal/transactions_cleanup.hxx +4 -4
- package/deps/couchbase-cxx-client/core/transactions/internal/utils.hxx +5 -13
- package/deps/couchbase-cxx-client/core/transactions/result.hxx +0 -26
- package/deps/couchbase-cxx-client/core/transactions/result_fmt.hxx +46 -0
- package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +16 -14
- package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +6 -6
- package/deps/couchbase-cxx-client/core/transactions/transaction_keyspace.cxx +48 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_links.hxx +1 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_options.cxx +61 -4
- package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +9 -8
- package/deps/couchbase-cxx-client/core/transactions/transactions_cleanup.cxx +9 -16
- package/deps/couchbase-cxx-client/core/transactions/transactions_config.cxx +7 -6
- package/deps/couchbase-cxx-client/core/transactions.hxx +6 -5
- package/deps/couchbase-cxx-client/core/utils/join_strings.hxx +4 -3
- package/deps/couchbase-cxx-client/core/utils/keyspace.hxx +4 -4
- package/deps/couchbase-cxx-client/core/vector_query_combination.hxx +23 -0
- package/deps/couchbase-cxx-client/couchbase/allow_querying_search_index_options.hxx +44 -0
- package/deps/couchbase-cxx-client/couchbase/analytics_index_manager.hxx +463 -0
- package/deps/couchbase-cxx-client/couchbase/analyze_document_options.hxx +44 -0
- package/deps/couchbase-cxx-client/couchbase/append_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/behavior_options.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/binary_collection.hxx +19 -115
- package/deps/couchbase-cxx-client/couchbase/bucket.hxx +42 -30
- package/deps/couchbase-cxx-client/couchbase/bucket_manager.hxx +8 -7
- package/deps/couchbase-cxx-client/couchbase/build_query_index_options.hxx +0 -1
- package/deps/couchbase-cxx-client/couchbase/cluster.hxx +151 -73
- package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +1 -27
- package/deps/couchbase-cxx-client/couchbase/codec/json_transcoder.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/codec/raw_binary_transcoder.hxx +2 -1
- package/deps/couchbase-cxx-client/couchbase/codec/raw_json_transcoder.hxx +78 -0
- package/deps/couchbase-cxx-client/couchbase/codec/raw_string_transcoder.hxx +72 -0
- package/deps/couchbase-cxx-client/couchbase/collection.hxx +176 -386
- package/deps/couchbase-cxx-client/couchbase/collection_manager.hxx +8 -9
- package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +21 -24
- package/deps/couchbase-cxx-client/couchbase/connect_link_analytics_options.hxx +116 -0
- package/deps/couchbase-cxx-client/couchbase/create_bucket_options.hxx +3 -3
- package/deps/couchbase-cxx-client/couchbase/create_collection_options.hxx +32 -3
- package/deps/couchbase-cxx-client/couchbase/create_dataset_analytics_options.hxx +120 -0
- package/deps/couchbase-cxx-client/couchbase/create_dataverse_analytics_options.hxx +85 -0
- package/deps/couchbase-cxx-client/couchbase/create_index_analytics_options.hxx +103 -0
- package/deps/couchbase-cxx-client/couchbase/create_link_analytics_options.hxx +63 -0
- package/deps/couchbase-cxx-client/couchbase/decrement_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/diagnostics_options.hxx +75 -0
- package/deps/couchbase-cxx-client/couchbase/diagnostics_result.hxx +124 -0
- package/deps/couchbase-cxx-client/couchbase/disallow_querying_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/disconnect_link_analytics_options.hxx +105 -0
- package/deps/couchbase-cxx-client/couchbase/drop_dataset_analytics_options.hxx +103 -0
- package/deps/couchbase-cxx-client/couchbase/drop_dataverse_analytics_options.hxx +84 -0
- package/deps/couchbase-cxx-client/couchbase/drop_index_analytics_options.hxx +103 -0
- package/deps/couchbase-cxx-client/couchbase/drop_link_analytics_options.hxx +63 -0
- package/deps/couchbase-cxx-client/couchbase/drop_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/endpoint_diagnostics.hxx +206 -0
- package/deps/couchbase-cxx-client/couchbase/endpoint_ping_report.hxx +205 -0
- package/deps/couchbase-cxx-client/couchbase/error_codes.hxx +22 -1
- package/deps/couchbase-cxx-client/couchbase/exists_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/fmt/key_value_error_map_attribute.hxx +6 -0
- package/deps/couchbase-cxx-client/couchbase/fmt/key_value_status_code.hxx +3 -0
- package/deps/couchbase-cxx-client/couchbase/fmt/transaction_keyspace.hxx +37 -0
- package/deps/couchbase-cxx-client/couchbase/freeze_plan_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/get_all_datasets_analytics_options.hxx +66 -0
- package/deps/couchbase-cxx-client/couchbase/get_all_indexes_analytics_options.hxx +65 -0
- package/deps/couchbase-cxx-client/couchbase/get_all_query_indexes_options.hxx +1 -4
- package/deps/couchbase-cxx-client/couchbase/get_all_replicas_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/get_all_search_indexes_options.hxx +45 -0
- package/deps/couchbase-cxx-client/couchbase/get_and_lock_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/get_and_touch_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/get_any_replica_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/get_indexed_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/get_links_analytics_options.hxx +121 -0
- package/deps/couchbase-cxx-client/couchbase/get_options.hxx +1 -29
- package/deps/couchbase-cxx-client/couchbase/get_pending_mutations_analytics_options.hxx +67 -0
- package/deps/couchbase-cxx-client/couchbase/get_search_index_options.hxx +44 -0
- package/deps/couchbase-cxx-client/couchbase/increment_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/insert_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/key_value_error_map_attribute.hxx +12 -0
- package/deps/couchbase-cxx-client/couchbase/key_value_status_code.hxx +1 -0
- package/deps/couchbase-cxx-client/couchbase/lookup_in_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/management/analytics_dataset.hxx +48 -0
- package/deps/couchbase-cxx-client/couchbase/management/analytics_index.hxx +48 -0
- package/deps/couchbase-cxx-client/couchbase/management/analytics_link.hxx +239 -0
- package/deps/couchbase-cxx-client/couchbase/management/collection_spec.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/management/query_index.hxx +3 -3
- package/deps/couchbase-cxx-client/couchbase/management/search_index.hxx +40 -0
- package/deps/couchbase-cxx-client/couchbase/manager_error_context.hxx +0 -1
- package/deps/couchbase-cxx-client/couchbase/mutate_in_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/network_options.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/pause_ingest_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/phrase_query.hxx +19 -0
- package/deps/couchbase-cxx-client/couchbase/ping_options.hxx +93 -0
- package/deps/couchbase-cxx-client/couchbase/ping_result.hxx +118 -0
- package/deps/couchbase-cxx-client/couchbase/prepend_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/query_index_manager.hxx +99 -20
- package/deps/couchbase-cxx-client/couchbase/query_options.hxx +0 -21
- package/deps/couchbase-cxx-client/couchbase/remove_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/replace_link_analytics_options.hxx +63 -0
- package/deps/couchbase-cxx-client/couchbase/replace_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/resume_ingest_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/scope.hxx +37 -53
- package/deps/couchbase-cxx-client/couchbase/scope_search_index_manager.hxx +291 -0
- package/deps/couchbase-cxx-client/couchbase/search_facet_result.hxx +1 -7
- package/deps/couchbase-cxx-client/couchbase/search_geo_distance_units.hxx +26 -0
- package/deps/couchbase-cxx-client/couchbase/search_index_manager.hxx +292 -0
- package/deps/couchbase-cxx-client/couchbase/search_request.hxx +120 -0
- package/deps/couchbase-cxx-client/couchbase/search_row_location.hxx +10 -0
- package/deps/couchbase-cxx-client/couchbase/search_sort_geo_distance.hxx +84 -0
- package/deps/couchbase-cxx-client/couchbase/security_options.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/service_type.hxx +58 -0
- package/deps/couchbase-cxx-client/couchbase/touch_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/tracing/request_tracer.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/transactions/async_attempt_context.hxx +10 -7
- package/deps/couchbase-cxx-client/couchbase/transactions/attempt_context.hxx +10 -10
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_keyspace.hxx +8 -58
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_options.hxx +28 -70
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_options.hxx +7 -2
- package/deps/couchbase-cxx-client/couchbase/transactions/transactions_cleanup_config.hxx +2 -1
- package/deps/couchbase-cxx-client/couchbase/transactions/transactions_config.hxx +11 -38
- package/deps/couchbase-cxx-client/couchbase/unfreeze_plan_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/unlock_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/update_collection_options.hxx +32 -3
- package/deps/couchbase-cxx-client/couchbase/upsert_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/upsert_search_index_options.hxx +41 -0
- package/deps/couchbase-cxx-client/couchbase/vector_query.hxx +99 -0
- package/deps/couchbase-cxx-client/couchbase/vector_search.hxx +85 -0
- package/deps/couchbase-cxx-client/couchbase/vector_search_options.hxx +76 -0
- package/dist/binding.d.ts +16 -9
- package/dist/binding.js +4 -1
- package/dist/bindingutilities.d.ts +6 -1
- package/dist/bindingutilities.js +17 -1
- package/dist/cluster.d.ts +12 -1
- package/dist/cluster.js +22 -0
- package/dist/collection.js +3 -3
- package/dist/couchbase.d.ts +1 -0
- package/dist/couchbase.js +1 -0
- package/dist/errors.d.ts +9 -0
- package/dist/errors.js +14 -2
- package/dist/searchexecutor.d.ts +2 -2
- package/dist/searchexecutor.js +19 -3
- package/dist/searchtypes.d.ts +46 -0
- package/dist/searchtypes.js +81 -1
- package/dist/transactions.d.ts +2 -0
- package/dist/transactions.js +2 -3
- package/dist/usermanager.js +1 -1
- package/dist/vectorsearch.d.ts +99 -0
- package/dist/vectorsearch.js +132 -0
- package/package.json +7 -7
- package/src/binding.cpp +1 -0
- package/src/connection.cpp +12 -9
- package/src/connection.hpp +3 -3
- package/src/connection_autogen.cpp +7 -5
- package/src/constants.cpp +14 -0
- package/src/instance.cpp +2 -2
- package/src/instance.hpp +1 -1
- package/src/jstocbpp_autogen.hpp +45 -45
- package/src/jstocbpp_basic.hpp +2 -0
- package/src/jstocbpp_errors.hpp +1 -0
- package/src/jstocbpp_transactions.hpp +6 -22
- package/src/mutationtoken.hpp +1 -0
- package/tools/gen-bindings-json.py +41 -16
- package/deps/couchbase-cxx-client/core/impl/append.cxx +0 -87
- package/deps/couchbase-cxx-client/core/impl/build_deferred_query_indexes.cxx +0 -157
- package/deps/couchbase-cxx-client/core/impl/create_bucket.cxx +0 -158
- package/deps/couchbase-cxx-client/core/impl/create_collection.cxx +0 -83
- package/deps/couchbase-cxx-client/core/impl/create_query_index.cxx +0 -232
- package/deps/couchbase-cxx-client/core/impl/create_scope.cxx +0 -69
- package/deps/couchbase-cxx-client/core/impl/decrement.cxx +0 -96
- package/deps/couchbase-cxx-client/core/impl/drop_bucket.cxx +0 -66
- package/deps/couchbase-cxx-client/core/impl/drop_collection.cxx +0 -76
- package/deps/couchbase-cxx-client/core/impl/drop_query_index.cxx +0 -187
- package/deps/couchbase-cxx-client/core/impl/drop_scope.cxx +0 -68
- package/deps/couchbase-cxx-client/core/impl/exists.cxx +0 -47
- package/deps/couchbase-cxx-client/core/impl/flush_bucket.cxx +0 -66
- package/deps/couchbase-cxx-client/core/impl/get.cxx +0 -68
- package/deps/couchbase-cxx-client/core/impl/get_all_buckets.cxx +0 -178
- package/deps/couchbase-cxx-client/core/impl/get_all_query_indexes.cxx +0 -106
- package/deps/couchbase-cxx-client/core/impl/get_all_replicas.cxx +0 -145
- package/deps/couchbase-cxx-client/core/impl/get_all_scopes.cxx +0 -94
- package/deps/couchbase-cxx-client/core/impl/get_and_lock.cxx +0 -49
- package/deps/couchbase-cxx-client/core/impl/get_and_touch.cxx +0 -49
- package/deps/couchbase-cxx-client/core/impl/get_any_replica.cxx +0 -134
- package/deps/couchbase-cxx-client/core/impl/get_bucket.cxx +0 -168
- package/deps/couchbase-cxx-client/core/impl/increment.cxx +0 -96
- package/deps/couchbase-cxx-client/core/impl/insert.cxx +0 -90
- package/deps/couchbase-cxx-client/core/impl/lookup_in.cxx +0 -69
- package/deps/couchbase-cxx-client/core/impl/lookup_in_all_replicas.cxx +0 -178
- package/deps/couchbase-cxx-client/core/impl/lookup_in_any_replica.cxx +0 -169
- package/deps/couchbase-cxx-client/core/impl/mutate_in.cxx +0 -125
- package/deps/couchbase-cxx-client/core/impl/prepend.cxx +0 -87
- package/deps/couchbase-cxx-client/core/impl/remove.cxx +0 -86
- package/deps/couchbase-cxx-client/core/impl/replace.cxx +0 -102
- package/deps/couchbase-cxx-client/core/impl/touch.cxx +0 -49
- package/deps/couchbase-cxx-client/core/impl/unlock.cxx +0 -47
- package/deps/couchbase-cxx-client/core/impl/update_bucket.cxx +0 -133
- package/deps/couchbase-cxx-client/core/impl/update_collection.cxx +0 -83
- package/deps/couchbase-cxx-client/core/impl/upsert.cxx +0 -100
- package/deps/couchbase-cxx-client/core/impl/watch_query_indexes.cxx +0 -196
- package/deps/couchbase-cxx-client/core/operations/mcbp_noop.hxx +0 -49
- /package/deps/couchbase-cxx-client/core/impl/{streaming_json_lexter_error_category.cxx → streaming_json_lexer_error_category.cxx} +0 -0
|
@@ -20,20 +20,24 @@
|
|
|
20
20
|
#include <couchbase/analytics_options.hxx>
|
|
21
21
|
#include <couchbase/collection.hxx>
|
|
22
22
|
#include <couchbase/query_options.hxx>
|
|
23
|
+
#include <couchbase/scope_search_index_manager.hxx>
|
|
23
24
|
#include <couchbase/search_options.hxx>
|
|
24
25
|
#include <couchbase/search_query.hxx>
|
|
26
|
+
#include <couchbase/search_request.hxx>
|
|
25
27
|
|
|
26
28
|
#include <memory>
|
|
27
29
|
|
|
28
|
-
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
29
30
|
namespace couchbase
|
|
30
31
|
{
|
|
32
|
+
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
33
|
+
namespace core
|
|
34
|
+
{
|
|
31
35
|
class cluster;
|
|
32
|
-
} // namespace
|
|
36
|
+
} // namespace core
|
|
37
|
+
class bucket;
|
|
38
|
+
class scope_impl;
|
|
33
39
|
#endif
|
|
34
40
|
|
|
35
|
-
namespace couchbase
|
|
36
|
-
{
|
|
37
41
|
/**
|
|
38
42
|
* The scope identifies a group of collections and allows high application density as a result.
|
|
39
43
|
*
|
|
@@ -58,10 +62,7 @@ class scope
|
|
|
58
62
|
* @since 1.0.0
|
|
59
63
|
* @committed
|
|
60
64
|
*/
|
|
61
|
-
[[nodiscard]] auto bucket_name() const -> const std::string
|
|
62
|
-
{
|
|
63
|
-
return bucket_name_;
|
|
64
|
-
}
|
|
65
|
+
[[nodiscard]] auto bucket_name() const -> const std::string&;
|
|
65
66
|
|
|
66
67
|
/**
|
|
67
68
|
* Returns name of the scope.
|
|
@@ -71,10 +72,7 @@ class scope
|
|
|
71
72
|
* @since 1.0.0
|
|
72
73
|
* @committed
|
|
73
74
|
*/
|
|
74
|
-
[[nodiscard]] auto name() const -> const std::string
|
|
75
|
-
{
|
|
76
|
-
return name_;
|
|
77
|
-
}
|
|
75
|
+
[[nodiscard]] auto name() const -> const std::string&;
|
|
78
76
|
|
|
79
77
|
/**
|
|
80
78
|
* Opens a collection for this scope with an explicit name.
|
|
@@ -85,16 +83,11 @@ class scope
|
|
|
85
83
|
* @since 1.0.0
|
|
86
84
|
* @committed
|
|
87
85
|
*/
|
|
88
|
-
[[nodiscard]] auto collection(std::string_view collection_name) const -> collection
|
|
89
|
-
{
|
|
90
|
-
return { core_, bucket_name_, name_, collection_name };
|
|
91
|
-
}
|
|
86
|
+
[[nodiscard]] auto collection(std::string_view collection_name) const -> collection;
|
|
92
87
|
|
|
93
88
|
/**
|
|
94
89
|
* Performs a query against the query (N1QL) services.
|
|
95
90
|
*
|
|
96
|
-
* @tparam Handler callable type that implements @ref query_handler signature
|
|
97
|
-
*
|
|
98
91
|
* @param statement the N1QL query statement.
|
|
99
92
|
* @param options options to customize the query request.
|
|
100
93
|
* @param handler the handler that implements @ref query_handler
|
|
@@ -105,15 +98,7 @@ class scope
|
|
|
105
98
|
* @since 1.0.0
|
|
106
99
|
* @committed
|
|
107
100
|
*/
|
|
108
|
-
|
|
109
|
-
void query(std::string statement, const query_options& options, Handler&& handler) const
|
|
110
|
-
{
|
|
111
|
-
return core::impl::initiate_query_operation(core_,
|
|
112
|
-
std::move(statement),
|
|
113
|
-
fmt::format("default:`{}`.`{}`", bucket_name_, name_),
|
|
114
|
-
options.build(),
|
|
115
|
-
std::forward<Handler>(handler));
|
|
116
|
-
}
|
|
101
|
+
void query(std::string statement, const query_options& options, query_handler&& handler) const;
|
|
117
102
|
|
|
118
103
|
/**
|
|
119
104
|
* Performs a query against the query (N1QL) services.
|
|
@@ -126,21 +111,15 @@ class scope
|
|
|
126
111
|
* @committed
|
|
127
112
|
*/
|
|
128
113
|
[[nodiscard]] auto query(std::string statement, const query_options& options = {}) const
|
|
129
|
-
-> std::future<std::pair<query_error_context, query_result
|
|
130
|
-
{
|
|
131
|
-
auto barrier = std::make_shared<std::promise<std::pair<query_error_context, query_result>>>();
|
|
132
|
-
auto future = barrier->get_future();
|
|
133
|
-
query(std::move(statement), options, [barrier](auto ctx, auto result) {
|
|
134
|
-
barrier->set_value({ std::move(ctx), std::move(result) });
|
|
135
|
-
});
|
|
136
|
-
return future;
|
|
137
|
-
}
|
|
114
|
+
-> std::future<std::pair<query_error_context, query_result>>;
|
|
138
115
|
|
|
139
116
|
/**
|
|
140
|
-
* Performs a
|
|
117
|
+
* Performs a request against the full text search services.
|
|
118
|
+
*
|
|
119
|
+
* This can be used to perform a traditional FTS query, and/or a vector search.
|
|
141
120
|
*
|
|
142
121
|
* @param index_name name of the search index
|
|
143
|
-
* @param
|
|
122
|
+
* @param request request object, see @ref search_request for more details.
|
|
144
123
|
* @param options options to customize the query request.
|
|
145
124
|
* @param handler the handler that implements @ref search_handler
|
|
146
125
|
*
|
|
@@ -150,15 +129,17 @@ class scope
|
|
|
150
129
|
* @see https://docs.couchbase.com/server/current/fts/fts-introduction.html
|
|
151
130
|
*
|
|
152
131
|
* @since 1.0.0
|
|
153
|
-
* @
|
|
132
|
+
* @volatile
|
|
154
133
|
*/
|
|
155
|
-
void
|
|
134
|
+
void search(std::string index_name, search_request request, const search_options& options, search_handler&& handler) const;
|
|
156
135
|
|
|
157
136
|
/**
|
|
158
|
-
* Performs a
|
|
137
|
+
* Performs a request against the full text search services.
|
|
138
|
+
*
|
|
139
|
+
* This can be used to perform a traditional FTS query, and/or a vector search.
|
|
159
140
|
*
|
|
160
141
|
* @param index_name name of the search index
|
|
161
|
-
* @param
|
|
142
|
+
* @param request request object, see @ref search_request for more details.
|
|
162
143
|
* @param options options to customize the query request.
|
|
163
144
|
* @return future object that carries result of the operation
|
|
164
145
|
*
|
|
@@ -168,9 +149,9 @@ class scope
|
|
|
168
149
|
* @see https://docs.couchbase.com/server/current/fts/fts-introduction.html
|
|
169
150
|
*
|
|
170
151
|
* @since 1.0.0
|
|
171
|
-
* @
|
|
152
|
+
* @volatile
|
|
172
153
|
*/
|
|
173
|
-
[[nodiscard]] auto
|
|
154
|
+
[[nodiscard]] auto search(std::string index_name, search_request request, const search_options& = {}) const
|
|
174
155
|
-> std::future<std::pair<search_error_context, search_result>>;
|
|
175
156
|
|
|
176
157
|
/**
|
|
@@ -205,18 +186,21 @@ class scope
|
|
|
205
186
|
[[nodiscard]] auto analytics_query(std::string statement, const analytics_options& options = {}) const
|
|
206
187
|
-> std::future<std::pair<analytics_error_context, analytics_result>>;
|
|
207
188
|
|
|
189
|
+
/**
|
|
190
|
+
* Provides access to search index management services at the scope level
|
|
191
|
+
*
|
|
192
|
+
* @return a manager instance
|
|
193
|
+
*
|
|
194
|
+
* @since 1.0.0
|
|
195
|
+
* @volatile
|
|
196
|
+
*/
|
|
197
|
+
[[nodiscard]] auto search_indexes() const -> scope_search_index_manager;
|
|
198
|
+
|
|
208
199
|
private:
|
|
209
200
|
friend class bucket;
|
|
210
201
|
|
|
211
|
-
scope(
|
|
212
|
-
: core_(std::move(core))
|
|
213
|
-
, bucket_name_(bucket_name)
|
|
214
|
-
, name_(name)
|
|
215
|
-
{
|
|
216
|
-
}
|
|
202
|
+
scope(core::cluster core, std::string_view bucket_name, std::string_view name);
|
|
217
203
|
|
|
218
|
-
std::shared_ptr<
|
|
219
|
-
std::string bucket_name_;
|
|
220
|
-
std::string name_;
|
|
204
|
+
std::shared_ptr<scope_impl> impl_;
|
|
221
205
|
};
|
|
222
206
|
} // namespace couchbase
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2020-Present Couchbase, Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#pragma once
|
|
19
|
+
|
|
20
|
+
#include <couchbase/allow_querying_search_index_options.hxx>
|
|
21
|
+
#include <couchbase/analyze_document_options.hxx>
|
|
22
|
+
#include <couchbase/disallow_querying_search_index_options.hxx>
|
|
23
|
+
#include <couchbase/drop_search_index_options.hxx>
|
|
24
|
+
#include <couchbase/freeze_plan_search_index_options.hxx>
|
|
25
|
+
#include <couchbase/get_all_search_indexes_options.hxx>
|
|
26
|
+
#include <couchbase/get_indexed_search_index_options.hxx>
|
|
27
|
+
#include <couchbase/get_search_index_options.hxx>
|
|
28
|
+
#include <couchbase/pause_ingest_search_index_options.hxx>
|
|
29
|
+
#include <couchbase/resume_ingest_search_index_options.hxx>
|
|
30
|
+
#include <couchbase/unfreeze_plan_search_index_options.hxx>
|
|
31
|
+
#include <couchbase/upsert_search_index_options.hxx>
|
|
32
|
+
|
|
33
|
+
#include <future>
|
|
34
|
+
|
|
35
|
+
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
36
|
+
namespace couchbase
|
|
37
|
+
{
|
|
38
|
+
namespace core
|
|
39
|
+
{
|
|
40
|
+
class cluster;
|
|
41
|
+
} // namespace core
|
|
42
|
+
class search_index_manager_impl;
|
|
43
|
+
} // namespace couchbase
|
|
44
|
+
#endif
|
|
45
|
+
|
|
46
|
+
namespace couchbase
|
|
47
|
+
{
|
|
48
|
+
class scope;
|
|
49
|
+
|
|
50
|
+
class scope_search_index_manager
|
|
51
|
+
{
|
|
52
|
+
public:
|
|
53
|
+
/**
|
|
54
|
+
* Fetches a scope-level index from the server if it exists
|
|
55
|
+
*
|
|
56
|
+
* @param index_name the name of the index
|
|
57
|
+
* @param options optional parameters
|
|
58
|
+
* @param handler handler that implements @ref get_search_index_handler
|
|
59
|
+
*
|
|
60
|
+
* @since 1.0.0
|
|
61
|
+
* @volatile
|
|
62
|
+
*/
|
|
63
|
+
void get_index(std::string index_name, const get_search_index_options& options, get_search_index_handler&& handler) const;
|
|
64
|
+
|
|
65
|
+
[[nodiscard]] auto get_index(std::string index_name, const get_search_index_options& options = {}) const
|
|
66
|
+
-> std::future<std::pair<manager_error_context, management::search::index>>;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Fetches all scope-level indexes from the server
|
|
70
|
+
*
|
|
71
|
+
* @param options optional parameters
|
|
72
|
+
* @param handler handler that implements @ref get_all_search_indexes_handler
|
|
73
|
+
*
|
|
74
|
+
* @since 1.0.0
|
|
75
|
+
* @volatile
|
|
76
|
+
*/
|
|
77
|
+
void get_all_indexes(const get_all_search_indexes_options& options, get_all_search_indexes_handler&& handler) const;
|
|
78
|
+
|
|
79
|
+
[[nodiscard]] auto get_all_indexes(const get_all_search_indexes_options& options = {}) const
|
|
80
|
+
-> std::future<std::pair<manager_error_context, std::vector<management::search::index>>>;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Creates, or updates a scope-level index
|
|
84
|
+
*
|
|
85
|
+
* @param search_index the index definition including name and settings
|
|
86
|
+
* @param options optional parameters
|
|
87
|
+
* @param handler handler that implements @ref upsert_search_index_handler
|
|
88
|
+
*
|
|
89
|
+
* @since 1.0.0
|
|
90
|
+
* @volatile
|
|
91
|
+
*/
|
|
92
|
+
void upsert_index(const management::search::index& search_index,
|
|
93
|
+
const upsert_search_index_options& options,
|
|
94
|
+
upsert_search_index_handler&& handler) const;
|
|
95
|
+
|
|
96
|
+
[[nodiscard]] auto upsert_index(const management::search::index& search_index, const upsert_search_index_options& options = {}) const
|
|
97
|
+
-> std::future<manager_error_context>;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Drops a scope-level index
|
|
101
|
+
*
|
|
102
|
+
* @param index_name the name of the search index
|
|
103
|
+
* @param options optional parameters
|
|
104
|
+
* @param handler handler that implements @ref drop_search_index_handler
|
|
105
|
+
*
|
|
106
|
+
* @since 1.0.0
|
|
107
|
+
* @volatile
|
|
108
|
+
*/
|
|
109
|
+
void drop_index(std::string index_name, const drop_search_index_options& options, drop_search_index_handler&& handler) const;
|
|
110
|
+
|
|
111
|
+
[[nodiscard]] auto drop_index(std::string index_name, const drop_search_index_options& options = {}) const
|
|
112
|
+
-> std::future<manager_error_context>;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Retrieves the number of documents that have been indexed for a scope-level index
|
|
116
|
+
*
|
|
117
|
+
* @param index_name the name of the search index
|
|
118
|
+
* @param options optional parameters
|
|
119
|
+
* @param handler handler that implements @ref get_indexed_search_index_handler
|
|
120
|
+
*
|
|
121
|
+
* @since 1.0.0
|
|
122
|
+
* @volatile
|
|
123
|
+
*/
|
|
124
|
+
void get_indexed_documents_count(std::string index_name,
|
|
125
|
+
const get_indexed_search_index_options& options,
|
|
126
|
+
get_indexed_search_index_handler&& handler) const;
|
|
127
|
+
|
|
128
|
+
[[nodiscard]] auto get_indexed_documents_count(std::string index_name, const get_indexed_search_index_options& options = {}) const
|
|
129
|
+
-> std::future<std::pair<manager_error_context, std::uint64_t>>;
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Pauses updates and maintenance for a scope-level index.
|
|
133
|
+
*
|
|
134
|
+
* @param index_name the name of the search index
|
|
135
|
+
* @param options optional parameters
|
|
136
|
+
* @param handler handler that implements @ref pause_ingest_search_index_handler
|
|
137
|
+
*
|
|
138
|
+
* @since 1.0.0
|
|
139
|
+
* @volatile
|
|
140
|
+
*/
|
|
141
|
+
void pause_ingest(std::string index_name,
|
|
142
|
+
const pause_ingest_search_index_options& options,
|
|
143
|
+
pause_ingest_search_index_handler&& handler) const;
|
|
144
|
+
|
|
145
|
+
[[nodiscard]] auto pause_ingest(std::string index_name, const pause_ingest_search_index_options& options = {}) const
|
|
146
|
+
-> std::future<manager_error_context>;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Resumes updates and maintenance for a scope-level index.
|
|
150
|
+
*
|
|
151
|
+
* @param index_name the name of the search index
|
|
152
|
+
* @param options optional parameters
|
|
153
|
+
* @param handler handler that implements @ref resume_ingest_search_index_handler
|
|
154
|
+
*
|
|
155
|
+
* @since 1.0.0
|
|
156
|
+
* @volatile
|
|
157
|
+
*/
|
|
158
|
+
void resume_ingest(std::string index_name,
|
|
159
|
+
const resume_ingest_search_index_options& options,
|
|
160
|
+
resume_ingest_search_index_handler&& handler) const;
|
|
161
|
+
|
|
162
|
+
[[nodiscard]] auto resume_ingest(std::string index_name, const resume_ingest_search_index_options& options = {}) const
|
|
163
|
+
-> std::future<manager_error_context>;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Allows querying against a scope-level index
|
|
167
|
+
*
|
|
168
|
+
* @param index_name the name of the search index
|
|
169
|
+
* @param options optional parameters
|
|
170
|
+
* @param handler handler that implements @ref allow_querying_search_index_handler
|
|
171
|
+
*
|
|
172
|
+
* @since 1.0.0
|
|
173
|
+
* @volatile
|
|
174
|
+
*/
|
|
175
|
+
void allow_querying(std::string index_name,
|
|
176
|
+
const allow_querying_search_index_options& options,
|
|
177
|
+
allow_querying_search_index_handler&& handler) const;
|
|
178
|
+
|
|
179
|
+
[[nodiscard]] auto allow_querying(std::string index_name, const allow_querying_search_index_options& options = {}) const
|
|
180
|
+
-> std::future<manager_error_context>;
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Disallows querying against a scope-level index
|
|
184
|
+
*
|
|
185
|
+
* @param index_name the name of the search index
|
|
186
|
+
* @param options optional parameters
|
|
187
|
+
* @param handler handler that implements @ref disallow_querying_search_index_handler
|
|
188
|
+
*
|
|
189
|
+
* @since 1.0.0
|
|
190
|
+
* @volatile
|
|
191
|
+
*/
|
|
192
|
+
void disallow_querying(std::string index_name,
|
|
193
|
+
const disallow_querying_search_index_options& options,
|
|
194
|
+
disallow_querying_search_index_handler&& handler) const;
|
|
195
|
+
|
|
196
|
+
[[nodiscard]] auto disallow_querying(std::string index_name, const disallow_querying_search_index_options& options = {}) const
|
|
197
|
+
-> std::future<manager_error_context>;
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Freeze the assignment of scope-level index partitions to nodes.
|
|
201
|
+
*
|
|
202
|
+
* @param index_name the name of the search index
|
|
203
|
+
* @param options optional parameters
|
|
204
|
+
* @param handler handler that implements @ref freeze_plan_search_index_handler
|
|
205
|
+
*
|
|
206
|
+
* @since 1.0.0
|
|
207
|
+
* @volatile
|
|
208
|
+
*/
|
|
209
|
+
void freeze_plan(std::string index_name,
|
|
210
|
+
const freeze_plan_search_index_options& options,
|
|
211
|
+
freeze_plan_search_index_handler&& handler) const;
|
|
212
|
+
|
|
213
|
+
[[nodiscard]] auto freeze_plan(std::string index_name, const freeze_plan_search_index_options& options = {}) const
|
|
214
|
+
-> std::future<manager_error_context>;
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* Unfreeze the assignment of scope-level index partitions to nodes.
|
|
218
|
+
*
|
|
219
|
+
* @param index_name the name of the search index
|
|
220
|
+
* @param options optional parameters
|
|
221
|
+
* @param handler handler that implements @ref unfreeze_plan_search_index_handler
|
|
222
|
+
*
|
|
223
|
+
* @since 1.0.0
|
|
224
|
+
* @volatile
|
|
225
|
+
*/
|
|
226
|
+
void unfreeze_plan(std::string index_name,
|
|
227
|
+
const unfreeze_plan_search_index_options& options,
|
|
228
|
+
unfreeze_plan_search_index_handler&& handler) const;
|
|
229
|
+
|
|
230
|
+
[[nodiscard]] auto unfreeze_plan(std::string index_name, const unfreeze_plan_search_index_options& options = {}) const
|
|
231
|
+
-> std::future<manager_error_context>;
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Allows to see how a document is analyzed against a specific scope-level index.
|
|
235
|
+
*
|
|
236
|
+
* @param index_name the name of the search index
|
|
237
|
+
* @param document the document to be analyzed
|
|
238
|
+
* @param options optional parameters
|
|
239
|
+
* @param handler handler that implements @ref analyze_document_handler
|
|
240
|
+
*
|
|
241
|
+
* @since 1.0.0
|
|
242
|
+
* @volatile
|
|
243
|
+
*/
|
|
244
|
+
template<typename Document>
|
|
245
|
+
void analyze_document(std::string index_name,
|
|
246
|
+
Document document,
|
|
247
|
+
const analyze_document_options& options,
|
|
248
|
+
analyze_document_handler&& handler) const
|
|
249
|
+
{
|
|
250
|
+
auto encoded = couchbase::codec::default_json_transcoder::encode(document); // Encode as JSON and convert to string
|
|
251
|
+
auto decoded = std::string{ reinterpret_cast<const char*>(encoded.data.data()), encoded.data.size() };
|
|
252
|
+
return analyze_document(std::move(index_name), decoded, options, std::move(handler));
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
template<typename Document>
|
|
256
|
+
[[nodiscard]] auto analyze_document(std::string index_name, Document document, const analyze_document_options& options = {}) const
|
|
257
|
+
-> std::future<std::pair<manager_error_context, std::vector<std::string>>>
|
|
258
|
+
{
|
|
259
|
+
auto encoded = couchbase::codec::default_json_transcoder::encode(document); // Encode as JSON and convert to string
|
|
260
|
+
auto decoded = std::string{ reinterpret_cast<const char*>(encoded.data.data()), encoded.data.size() };
|
|
261
|
+
|
|
262
|
+
return analyze_document(std::move(index_name), decoded, options);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Allows to see how a document is analyzed against a specific scope-level index.
|
|
267
|
+
*
|
|
268
|
+
* @param index_name the name of the search index
|
|
269
|
+
* @param document the document to be analyzed encoded in JSON
|
|
270
|
+
* @param options optional parameters
|
|
271
|
+
* @param handler handler that implements @ref analyze_document_handler
|
|
272
|
+
*
|
|
273
|
+
* @since 1.0.0
|
|
274
|
+
* @volatile
|
|
275
|
+
*/
|
|
276
|
+
void analyze_document(std::string index_name,
|
|
277
|
+
std::string document,
|
|
278
|
+
const analyze_document_options& options,
|
|
279
|
+
analyze_document_handler&& handler) const;
|
|
280
|
+
|
|
281
|
+
[[nodiscard]] auto analyze_document(std::string index_name, std::string document, const analyze_document_options& options) const
|
|
282
|
+
-> std::future<std::pair<manager_error_context, std::vector<std::string>>>;
|
|
283
|
+
|
|
284
|
+
private:
|
|
285
|
+
friend class scope;
|
|
286
|
+
|
|
287
|
+
explicit scope_search_index_manager(core::cluster core, std::string bucket_name, std::string scope_name);
|
|
288
|
+
|
|
289
|
+
std::shared_ptr<search_index_manager_impl> impl_;
|
|
290
|
+
};
|
|
291
|
+
} // namespace couchbase
|
|
@@ -17,14 +17,8 @@
|
|
|
17
17
|
|
|
18
18
|
#pragma once
|
|
19
19
|
|
|
20
|
-
#include <couchbase/codec/tao_json_serializer.hxx>
|
|
21
|
-
#include <couchbase/search_meta_data.hxx>
|
|
22
|
-
|
|
23
|
-
#include "search_row.hxx"
|
|
24
|
-
#include <chrono>
|
|
25
20
|
#include <cinttypes>
|
|
26
|
-
#include <
|
|
27
|
-
#include <vector>
|
|
21
|
+
#include <string>
|
|
28
22
|
|
|
29
23
|
namespace couchbase
|
|
30
24
|
{
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2023-Present Couchbase, Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#pragma once
|
|
19
|
+
|
|
20
|
+
namespace couchbase
|
|
21
|
+
{
|
|
22
|
+
/**
|
|
23
|
+
* Enumeration of units for geo_distance sorting
|
|
24
|
+
*/
|
|
25
|
+
enum class search_geo_distance_units { meters, miles, centimeters, millimeters, nautical_miles, kilometers, feet, yards, inch };
|
|
26
|
+
} // namespace couchbase
|