couchbase 4.2.8-dev.1 → 4.2.9
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 +397 -424
- 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 +22 -8
- package/deps/couchbase-cxx-client/core/bucket.hxx +3 -1
- package/deps/couchbase-cxx-client/core/cluster.cxx +1453 -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 +78 -0
- package/deps/couchbase-cxx-client/core/impl/bucket_manager.cxx +433 -0
- package/deps/couchbase-cxx-client/core/impl/cluster.cxx +226 -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/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 +172 -0
- package/deps/couchbase-cxx-client/core/impl/search.cxx +12 -61
- package/deps/couchbase-cxx-client/core/impl/search.hxx +37 -0
- package/deps/couchbase-cxx-client/core/impl/search_index_manager.cxx +469 -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/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_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 +51 -21
- package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +2 -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 +28 -0
- package/deps/couchbase-cxx-client/core/operations/document_query.cxx +17 -1
- package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -1
- 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 +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/collection_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/collection_update.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/error_utils.cxx +6 -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 +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.cxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.cxx +2 -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 +2 -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/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 +1 -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/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 +13 -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 +41 -73
- package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +1 -27
- 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 +3 -2
- 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/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/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 +0 -23
- 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/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/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 +13 -45
- 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_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/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/upsert_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/upsert_search_index_options.hxx +41 -0
- package/dist/binding.d.ts +7 -9
- package/dist/bindingutilities.js +2 -0
- package/dist/collection.js +3 -3
- package/dist/errors.d.ts +9 -0
- package/dist/errors.js +14 -2
- package/dist/transactions.d.ts +2 -0
- package/dist/transactions.js +2 -3
- package/dist/usermanager.js +1 -1
- 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 +3 -0
- package/src/instance.cpp +2 -2
- package/src/instance.hpp +1 -1
- package/src/jstocbpp_autogen.hpp +21 -38
- 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 +39 -16
- package/deps/couchbase-cxx-cache/spdlog/66ab2619a0014319471759c03e2de1af6bda14de/spdlog/example/CMakeLists.txt +0 -23
- package/deps/couchbase-cxx-cache/spdlog/66ab2619a0014319471759c03e2de1af6bda14de/spdlog/example/example.cpp +0 -398
- 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
|
@@ -25,17 +25,17 @@
|
|
|
25
25
|
#include <future>
|
|
26
26
|
#include <memory>
|
|
27
27
|
|
|
28
|
+
namespace couchbase
|
|
29
|
+
{
|
|
30
|
+
class collection;
|
|
28
31
|
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
29
|
-
namespace
|
|
32
|
+
namespace core
|
|
30
33
|
{
|
|
31
34
|
class cluster;
|
|
32
|
-
} // namespace
|
|
35
|
+
} // namespace core
|
|
36
|
+
class binary_collection_impl;
|
|
33
37
|
#endif
|
|
34
38
|
|
|
35
|
-
namespace couchbase
|
|
36
|
-
{
|
|
37
|
-
class collection;
|
|
38
|
-
|
|
39
39
|
/**
|
|
40
40
|
* Allows to perform certain operations on non-JSON documents.
|
|
41
41
|
*
|
|
@@ -53,10 +53,7 @@ class binary_collection
|
|
|
53
53
|
* @since 1.0.0
|
|
54
54
|
* @committed
|
|
55
55
|
*/
|
|
56
|
-
[[nodiscard]] auto bucket_name() const
|
|
57
|
-
{
|
|
58
|
-
return bucket_name_;
|
|
59
|
-
}
|
|
56
|
+
[[nodiscard]] auto bucket_name() const -> const std::string&;
|
|
60
57
|
|
|
61
58
|
/**
|
|
62
59
|
* Returns name of the scope where the collection is defined.
|
|
@@ -66,10 +63,7 @@ class binary_collection
|
|
|
66
63
|
* @since 1.0.0
|
|
67
64
|
* @committed
|
|
68
65
|
*/
|
|
69
|
-
[[nodiscard]] auto scope_name() const
|
|
70
|
-
{
|
|
71
|
-
return scope_name_;
|
|
72
|
-
}
|
|
66
|
+
[[nodiscard]] auto scope_name() const -> const std::string&;
|
|
73
67
|
|
|
74
68
|
/**
|
|
75
69
|
* Returns name of the collection.
|
|
@@ -79,16 +73,11 @@ class binary_collection
|
|
|
79
73
|
* @since 1.0.0
|
|
80
74
|
* @committed
|
|
81
75
|
*/
|
|
82
|
-
[[nodiscard]] auto name() const
|
|
83
|
-
{
|
|
84
|
-
return name_;
|
|
85
|
-
}
|
|
76
|
+
[[nodiscard]] auto name() const -> const std::string&;
|
|
86
77
|
|
|
87
78
|
/**
|
|
88
79
|
* Appends binary content to the document.
|
|
89
80
|
*
|
|
90
|
-
* @tparam Handler type of the handler that implements @ref append_handler
|
|
91
|
-
*
|
|
92
81
|
* @param document_id the document id which is used to uniquely identify it.
|
|
93
82
|
* @param data the document content to append.
|
|
94
83
|
* @param options custom options to customize the append behavior.
|
|
@@ -102,18 +91,7 @@ class binary_collection
|
|
|
102
91
|
* @since 1.0.0
|
|
103
92
|
* @committed
|
|
104
93
|
*/
|
|
105
|
-
|
|
106
|
-
void append(std::string document_id, std::vector<std::byte> data, const append_options& options, Handler&& handler) const
|
|
107
|
-
{
|
|
108
|
-
return core::impl::initiate_append_operation(core_,
|
|
109
|
-
bucket_name_,
|
|
110
|
-
scope_name_,
|
|
111
|
-
name_,
|
|
112
|
-
std::move(document_id),
|
|
113
|
-
std::move(data),
|
|
114
|
-
options.build(),
|
|
115
|
-
std::forward<Handler>(handler));
|
|
116
|
-
}
|
|
94
|
+
void append(std::string document_id, std::vector<std::byte> data, const append_options& options, append_handler&& handler) const;
|
|
117
95
|
|
|
118
96
|
/**
|
|
119
97
|
* Appends binary content to the document.
|
|
@@ -132,15 +110,7 @@ class binary_collection
|
|
|
132
110
|
* @committed
|
|
133
111
|
*/
|
|
134
112
|
[[nodiscard]] auto append(std::string document_id, std::vector<std::byte> data, const append_options& options) const
|
|
135
|
-
-> std::future<std::pair<key_value_error_context, mutation_result
|
|
136
|
-
{
|
|
137
|
-
auto barrier = std::make_shared<std::promise<std::pair<key_value_error_context, mutation_result>>>();
|
|
138
|
-
auto future = barrier->get_future();
|
|
139
|
-
append(std::move(document_id), std::move(data), options, [barrier](auto ctx, auto result) {
|
|
140
|
-
barrier->set_value({ std::move(ctx), std::move(result) });
|
|
141
|
-
});
|
|
142
|
-
return future;
|
|
143
|
-
}
|
|
113
|
+
-> std::future<std::pair<key_value_error_context, mutation_result>>;
|
|
144
114
|
|
|
145
115
|
/**
|
|
146
116
|
* Prepends binary content to the document.
|
|
@@ -160,18 +130,7 @@ class binary_collection
|
|
|
160
130
|
* @since 1.0.0
|
|
161
131
|
* @committed
|
|
162
132
|
*/
|
|
163
|
-
|
|
164
|
-
void prepend(std::string document_id, std::vector<std::byte> data, const prepend_options& options, Handler&& handler) const
|
|
165
|
-
{
|
|
166
|
-
return core::impl::initiate_prepend_operation(core_,
|
|
167
|
-
bucket_name_,
|
|
168
|
-
scope_name_,
|
|
169
|
-
name_,
|
|
170
|
-
std::move(document_id),
|
|
171
|
-
std::move(data),
|
|
172
|
-
options.build(),
|
|
173
|
-
std::forward<Handler>(handler));
|
|
174
|
-
}
|
|
133
|
+
void prepend(std::string document_id, std::vector<std::byte> data, const prepend_options& options, prepend_handler&& handler) const;
|
|
175
134
|
|
|
176
135
|
/**
|
|
177
136
|
* Prepends binary content to the document.
|
|
@@ -190,15 +149,7 @@ class binary_collection
|
|
|
190
149
|
* @committed
|
|
191
150
|
*/
|
|
192
151
|
[[nodiscard]] auto prepend(std::string document_id, std::vector<std::byte> data, const prepend_options& options) const
|
|
193
|
-
-> std::future<std::pair<key_value_error_context, mutation_result
|
|
194
|
-
{
|
|
195
|
-
auto barrier = std::make_shared<std::promise<std::pair<key_value_error_context, mutation_result>>>();
|
|
196
|
-
auto future = barrier->get_future();
|
|
197
|
-
prepend(std::move(document_id), std::move(data), options, [barrier](auto ctx, auto result) {
|
|
198
|
-
barrier->set_value({ std::move(ctx), std::move(result) });
|
|
199
|
-
});
|
|
200
|
-
return future;
|
|
201
|
-
}
|
|
152
|
+
-> std::future<std::pair<key_value_error_context, mutation_result>>;
|
|
202
153
|
|
|
203
154
|
/**
|
|
204
155
|
* Increments the counter document by one or the number defined in the options.
|
|
@@ -216,12 +167,7 @@ class binary_collection
|
|
|
216
167
|
* @since 1.0.0
|
|
217
168
|
* @committed
|
|
218
169
|
*/
|
|
219
|
-
|
|
220
|
-
void increment(std::string document_id, const increment_options& options, Handler&& handler) const
|
|
221
|
-
{
|
|
222
|
-
return core::impl::initiate_increment_operation(
|
|
223
|
-
core_, bucket_name_, scope_name_, name_, std::move(document_id), options.build(), std::forward<Handler>(handler));
|
|
224
|
-
}
|
|
170
|
+
void increment(std::string document_id, const increment_options& options, increment_handler&& handler) const;
|
|
225
171
|
|
|
226
172
|
/**
|
|
227
173
|
* Increments the counter document by one or the number defined in the options.
|
|
@@ -238,15 +184,7 @@ class binary_collection
|
|
|
238
184
|
* @committed
|
|
239
185
|
*/
|
|
240
186
|
[[nodiscard]] auto increment(std::string document_id, const increment_options& options) const
|
|
241
|
-
-> std::future<std::pair<key_value_error_context, counter_result
|
|
242
|
-
{
|
|
243
|
-
auto barrier = std::make_shared<std::promise<std::pair<key_value_error_context, counter_result>>>();
|
|
244
|
-
auto future = barrier->get_future();
|
|
245
|
-
increment(std::move(document_id), options, [barrier](auto ctx, auto result) {
|
|
246
|
-
barrier->set_value({ std::move(ctx), std::move(result) });
|
|
247
|
-
});
|
|
248
|
-
return future;
|
|
249
|
-
}
|
|
187
|
+
-> std::future<std::pair<key_value_error_context, counter_result>>;
|
|
250
188
|
|
|
251
189
|
/**
|
|
252
190
|
* Decrements the counter document by one or the number defined in the options.
|
|
@@ -264,12 +202,7 @@ class binary_collection
|
|
|
264
202
|
* @since 1.0.0
|
|
265
203
|
* @committed
|
|
266
204
|
*/
|
|
267
|
-
|
|
268
|
-
void decrement(std::string document_id, const decrement_options& options, Handler&& handler) const
|
|
269
|
-
{
|
|
270
|
-
return core::impl::initiate_decrement_operation(
|
|
271
|
-
core_, bucket_name_, scope_name_, name_, std::move(document_id), options.build(), std::forward<Handler>(handler));
|
|
272
|
-
}
|
|
205
|
+
void decrement(std::string document_id, const decrement_options& options, decrement_handler&& handler) const;
|
|
273
206
|
|
|
274
207
|
/**
|
|
275
208
|
* Decrements the counter document by one or the number defined in the options.
|
|
@@ -286,42 +219,13 @@ class binary_collection
|
|
|
286
219
|
* @committed
|
|
287
220
|
*/
|
|
288
221
|
[[nodiscard]] auto decrement(std::string document_id, const decrement_options& options) const
|
|
289
|
-
-> std::future<std::pair<key_value_error_context, counter_result
|
|
290
|
-
{
|
|
291
|
-
auto barrier = std::make_shared<std::promise<std::pair<key_value_error_context, counter_result>>>();
|
|
292
|
-
auto future = barrier->get_future();
|
|
293
|
-
decrement(std::move(document_id), options, [barrier](auto ctx, auto result) {
|
|
294
|
-
barrier->set_value({ std::move(ctx), std::move(result) });
|
|
295
|
-
});
|
|
296
|
-
return future;
|
|
297
|
-
}
|
|
222
|
+
-> std::future<std::pair<key_value_error_context, counter_result>>;
|
|
298
223
|
|
|
299
224
|
private:
|
|
300
225
|
friend class collection;
|
|
301
226
|
|
|
302
|
-
|
|
303
|
-
* @param core
|
|
304
|
-
* @param bucket_name
|
|
305
|
-
* @param scope_name
|
|
306
|
-
* @param name
|
|
307
|
-
*
|
|
308
|
-
* @since 1.0.0
|
|
309
|
-
* @internal
|
|
310
|
-
*/
|
|
311
|
-
binary_collection(std::shared_ptr<couchbase::core::cluster> core,
|
|
312
|
-
std::string_view bucket_name,
|
|
313
|
-
std::string_view scope_name,
|
|
314
|
-
std::string_view name)
|
|
315
|
-
: core_(std::move(core))
|
|
316
|
-
, bucket_name_(bucket_name)
|
|
317
|
-
, scope_name_(scope_name)
|
|
318
|
-
, name_(name)
|
|
319
|
-
{
|
|
320
|
-
}
|
|
227
|
+
binary_collection(core::cluster core, std::string_view bucket_name, std::string_view scope_name, std::string_view name);
|
|
321
228
|
|
|
322
|
-
std::shared_ptr<
|
|
323
|
-
std::string bucket_name_;
|
|
324
|
-
std::string scope_name_;
|
|
325
|
-
std::string name_;
|
|
229
|
+
std::shared_ptr<binary_collection_impl> impl_;
|
|
326
230
|
};
|
|
327
231
|
} // namespace couchbase
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
|
|
24
24
|
#include <memory>
|
|
25
25
|
|
|
26
|
+
namespace couchbase
|
|
27
|
+
{
|
|
26
28
|
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
27
|
-
namespace
|
|
29
|
+
namespace core
|
|
28
30
|
{
|
|
29
31
|
class cluster;
|
|
30
|
-
} // namespace
|
|
31
|
-
#endif
|
|
32
|
-
|
|
33
|
-
namespace couchbase
|
|
34
|
-
{
|
|
32
|
+
} // namespace core
|
|
35
33
|
class cluster;
|
|
34
|
+
class bucket_impl;
|
|
35
|
+
#endif
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
38
|
* Provides access to Couchbase bucket
|
|
@@ -51,10 +51,7 @@ class bucket
|
|
|
51
51
|
* @since 1.0.0
|
|
52
52
|
* @committed
|
|
53
53
|
*/
|
|
54
|
-
[[nodiscard]] auto default_scope() const -> scope
|
|
55
|
-
{
|
|
56
|
-
return { core_, name_, scope::default_name };
|
|
57
|
-
}
|
|
54
|
+
[[nodiscard]] auto default_scope() const -> scope;
|
|
58
55
|
|
|
59
56
|
/**
|
|
60
57
|
* Opens the default collection for this bucket using the default scope.
|
|
@@ -64,10 +61,7 @@ class bucket
|
|
|
64
61
|
* @since 1.0.0
|
|
65
62
|
* @committed
|
|
66
63
|
*/
|
|
67
|
-
[[nodiscard]] auto default_collection() const -> collection
|
|
68
|
-
{
|
|
69
|
-
return { core_, name_, scope::default_name, collection::default_name };
|
|
70
|
-
}
|
|
64
|
+
[[nodiscard]] auto default_collection() const -> collection;
|
|
71
65
|
|
|
72
66
|
/**
|
|
73
67
|
* Opens the {@link scope} with the given name.
|
|
@@ -78,10 +72,7 @@ class bucket
|
|
|
78
72
|
* @since 1.0.0
|
|
79
73
|
* @committed
|
|
80
74
|
*/
|
|
81
|
-
[[nodiscard]] auto scope(std::string_view scope_name) const -> scope
|
|
82
|
-
{
|
|
83
|
-
return { core_, name_, scope_name };
|
|
84
|
-
}
|
|
75
|
+
[[nodiscard]] auto scope(std::string_view scope_name) const -> scope;
|
|
85
76
|
|
|
86
77
|
/**
|
|
87
78
|
* Provides access to the collection management services.
|
|
@@ -91,21 +82,13 @@ class bucket
|
|
|
91
82
|
* @since 1.0.0
|
|
92
83
|
* @committed
|
|
93
84
|
*/
|
|
94
|
-
[[nodiscard]] auto collections() const -> collection_manager
|
|
95
|
-
{
|
|
96
|
-
return collection_manager{ core_, name_ };
|
|
97
|
-
}
|
|
85
|
+
[[nodiscard]] auto collections() const -> collection_manager;
|
|
98
86
|
|
|
99
87
|
private:
|
|
100
|
-
friend
|
|
88
|
+
friend cluster;
|
|
101
89
|
|
|
102
|
-
bucket(
|
|
103
|
-
: core_(std::move(core))
|
|
104
|
-
, name_(name)
|
|
105
|
-
{
|
|
106
|
-
}
|
|
90
|
+
bucket(core::cluster core, std::string_view name);
|
|
107
91
|
|
|
108
|
-
std::shared_ptr<
|
|
109
|
-
std::string name_;
|
|
92
|
+
std::shared_ptr<bucket_impl> impl_;
|
|
110
93
|
};
|
|
111
94
|
} // namespace couchbase
|
|
@@ -28,10 +28,14 @@
|
|
|
28
28
|
#include <memory>
|
|
29
29
|
|
|
30
30
|
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
31
|
-
namespace couchbase
|
|
31
|
+
namespace couchbase
|
|
32
|
+
{
|
|
33
|
+
namespace core
|
|
32
34
|
{
|
|
33
35
|
class cluster;
|
|
34
|
-
} // namespace
|
|
36
|
+
} // namespace core
|
|
37
|
+
class bucket_manager_impl;
|
|
38
|
+
} // namespace couchbase
|
|
35
39
|
#endif
|
|
36
40
|
|
|
37
41
|
namespace couchbase
|
|
@@ -125,11 +129,8 @@ class bucket_manager
|
|
|
125
129
|
private:
|
|
126
130
|
friend class cluster;
|
|
127
131
|
|
|
128
|
-
explicit bucket_manager(
|
|
129
|
-
: core_(std::move(core))
|
|
130
|
-
{
|
|
131
|
-
}
|
|
132
|
+
explicit bucket_manager(core::cluster core);
|
|
132
133
|
|
|
133
|
-
std::shared_ptr<
|
|
134
|
+
std::shared_ptr<bucket_manager_impl> impl_;
|
|
134
135
|
};
|
|
135
136
|
} // namespace couchbase
|
|
@@ -17,32 +17,30 @@
|
|
|
17
17
|
|
|
18
18
|
#pragma once
|
|
19
19
|
|
|
20
|
+
#include <couchbase/analytics_index_manager.hxx>
|
|
20
21
|
#include <couchbase/analytics_options.hxx>
|
|
21
22
|
#include <couchbase/bucket.hxx>
|
|
22
23
|
#include <couchbase/bucket_manager.hxx>
|
|
23
24
|
#include <couchbase/cluster_options.hxx>
|
|
24
25
|
#include <couchbase/query_index_manager.hxx>
|
|
25
26
|
#include <couchbase/query_options.hxx>
|
|
27
|
+
#include <couchbase/search_index_manager.hxx>
|
|
26
28
|
#include <couchbase/search_options.hxx>
|
|
27
29
|
#include <couchbase/search_query.hxx>
|
|
28
30
|
#include <couchbase/transactions.hxx>
|
|
29
31
|
|
|
30
32
|
#include <memory>
|
|
31
33
|
|
|
32
|
-
|
|
33
|
-
namespace couchbase::core
|
|
34
|
+
namespace couchbase
|
|
34
35
|
{
|
|
35
|
-
|
|
36
|
+
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
37
|
+
namespace core
|
|
36
38
|
{
|
|
37
|
-
class transactions;
|
|
38
|
-
} // namespace transactions
|
|
39
|
-
|
|
40
39
|
class cluster;
|
|
41
|
-
} // namespace
|
|
40
|
+
} // namespace core
|
|
41
|
+
class cluster_impl;
|
|
42
42
|
#endif
|
|
43
43
|
|
|
44
|
-
namespace couchbase
|
|
45
|
-
{
|
|
46
44
|
/**
|
|
47
45
|
* The {@link cluster} is the main entry point when connecting to a Couchbase cluster.
|
|
48
46
|
*
|
|
@@ -55,21 +53,18 @@ class cluster
|
|
|
55
53
|
/**
|
|
56
54
|
* Connect to a Couchbase cluster.
|
|
57
55
|
*
|
|
58
|
-
* @tparam Handler callable type that implements @ref cluster_connect_handler signature
|
|
59
|
-
*
|
|
60
56
|
* @param io IO context
|
|
61
57
|
* @param connection_string connection string used to locate the Couchbase cluster object.
|
|
62
58
|
* @param options options to customize connection (note, that connection_string takes precedence over this options).
|
|
63
|
-
* @param handler the handler
|
|
59
|
+
* @param handler the handler
|
|
64
60
|
*
|
|
65
61
|
* @since 1.0.0
|
|
66
62
|
* @committed
|
|
67
63
|
*/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
64
|
+
static void connect(asio::io_context& io,
|
|
65
|
+
const std::string& connection_string,
|
|
66
|
+
const cluster_options& options,
|
|
67
|
+
cluster_connect_handler&& handler);
|
|
73
68
|
|
|
74
69
|
/**
|
|
75
70
|
* Connect to a Couchbase cluster.
|
|
@@ -84,13 +79,7 @@ class cluster
|
|
|
84
79
|
* @committed
|
|
85
80
|
*/
|
|
86
81
|
[[nodiscard]] static auto connect(asio::io_context& io, const std::string& connection_string, const cluster_options& options)
|
|
87
|
-
-> std::future<std::pair<cluster, std::error_code
|
|
88
|
-
{
|
|
89
|
-
auto barrier = std::make_shared<std::promise<std::pair<cluster, std::error_code>>>();
|
|
90
|
-
auto future = barrier->get_future();
|
|
91
|
-
connect(io, connection_string, options, [barrier](auto c, auto ec) { barrier->set_value({ std::move(c), ec }); });
|
|
92
|
-
return future;
|
|
93
|
-
}
|
|
82
|
+
-> std::future<std::pair<cluster, std::error_code>>;
|
|
94
83
|
|
|
95
84
|
cluster() = default;
|
|
96
85
|
cluster(const cluster& other) = default;
|
|
@@ -98,7 +87,7 @@ class cluster
|
|
|
98
87
|
auto operator=(const cluster& other) -> cluster& = default;
|
|
99
88
|
auto operator=(cluster&& other) -> cluster& = default;
|
|
100
89
|
|
|
101
|
-
void close();
|
|
90
|
+
void close() const;
|
|
102
91
|
|
|
103
92
|
/**
|
|
104
93
|
* Wraps low-level implementation of the SDK to provide common API.
|
|
@@ -108,10 +97,7 @@ class cluster
|
|
|
108
97
|
* @since 1.0.0
|
|
109
98
|
* @volatile
|
|
110
99
|
*/
|
|
111
|
-
explicit cluster(
|
|
112
|
-
: core_(std::move(core))
|
|
113
|
-
{
|
|
114
|
-
}
|
|
100
|
+
explicit cluster(core::cluster core);
|
|
115
101
|
|
|
116
102
|
/**
|
|
117
103
|
* Opens a {@link bucket} with the given name.
|
|
@@ -122,16 +108,11 @@ class cluster
|
|
|
122
108
|
* @since 1.0.0
|
|
123
109
|
* @committed
|
|
124
110
|
*/
|
|
125
|
-
[[nodiscard]] auto bucket(std::string_view bucket_name) const -> bucket
|
|
126
|
-
{
|
|
127
|
-
return { core_, bucket_name };
|
|
128
|
-
}
|
|
111
|
+
[[nodiscard]] auto bucket(std::string_view bucket_name) const -> bucket;
|
|
129
112
|
|
|
130
113
|
/**
|
|
131
114
|
* Performs a query against the query (N1QL) services.
|
|
132
115
|
*
|
|
133
|
-
* @tparam Handler callable type that implements @ref query_handler signature
|
|
134
|
-
*
|
|
135
116
|
* @param statement the N1QL query statement.
|
|
136
117
|
* @param options options to customize the query request.
|
|
137
118
|
* @param handler the handler that implements @ref query_handler
|
|
@@ -142,11 +123,7 @@ class cluster
|
|
|
142
123
|
* @since 1.0.0
|
|
143
124
|
* @committed
|
|
144
125
|
*/
|
|
145
|
-
|
|
146
|
-
void query(std::string statement, const query_options& options, Handler&& handler) const
|
|
147
|
-
{
|
|
148
|
-
return core::impl::initiate_query_operation(core_, std::move(statement), {}, options.build(), std::forward<Handler>(handler));
|
|
149
|
-
}
|
|
126
|
+
void query(std::string statement, const query_options& options, query_handler&& handler) const;
|
|
150
127
|
|
|
151
128
|
/**
|
|
152
129
|
* Performs a query against the query (N1QL) services.
|
|
@@ -159,15 +136,7 @@ class cluster
|
|
|
159
136
|
* @committed
|
|
160
137
|
*/
|
|
161
138
|
[[nodiscard]] auto query(std::string statement, const query_options& options) const
|
|
162
|
-
-> std::future<std::pair<query_error_context, query_result
|
|
163
|
-
{
|
|
164
|
-
auto barrier = std::make_shared<std::promise<std::pair<query_error_context, query_result>>>();
|
|
165
|
-
auto future = barrier->get_future();
|
|
166
|
-
query(std::move(statement), options, [barrier](auto ctx, auto result) {
|
|
167
|
-
barrier->set_value({ std::move(ctx), std::move(result) });
|
|
168
|
-
});
|
|
169
|
-
return future;
|
|
170
|
-
}
|
|
139
|
+
-> std::future<std::pair<query_error_context, query_result>>;
|
|
171
140
|
|
|
172
141
|
/**
|
|
173
142
|
* Performs a query against the full text search services.
|
|
@@ -246,52 +215,51 @@ class cluster
|
|
|
246
215
|
* @since 1.0.0
|
|
247
216
|
* @committed
|
|
248
217
|
*/
|
|
249
|
-
[[nodiscard]] auto query_indexes() const -> query_index_manager
|
|
250
|
-
{
|
|
251
|
-
return query_index_manager{ core_ };
|
|
252
|
-
}
|
|
218
|
+
[[nodiscard]] auto query_indexes() const -> query_index_manager;
|
|
253
219
|
|
|
254
220
|
/**
|
|
255
|
-
* Provides access
|
|
221
|
+
* Provides access ot the Analytics index management services.
|
|
256
222
|
*
|
|
257
223
|
* @return a manager instance
|
|
258
224
|
*
|
|
259
225
|
* @since 1.0.0
|
|
260
226
|
* @committed
|
|
261
227
|
*/
|
|
262
|
-
[[nodiscard]] auto
|
|
263
|
-
{
|
|
264
|
-
return bucket_manager{ core_ };
|
|
265
|
-
}
|
|
228
|
+
[[nodiscard]] auto analytics_indexes() const -> analytics_index_manager;
|
|
266
229
|
|
|
267
230
|
/**
|
|
268
|
-
* Provides access to
|
|
269
|
-
*
|
|
270
|
-
* See {@link transactions} for details on using the transactions object.
|
|
231
|
+
* Provides access to the bucket management services.
|
|
271
232
|
*
|
|
272
|
-
* @return
|
|
233
|
+
* @return a manager instance
|
|
273
234
|
*
|
|
274
235
|
* @since 1.0.0
|
|
275
236
|
* @committed
|
|
276
237
|
*/
|
|
238
|
+
[[nodiscard]] auto buckets() const -> bucket_manager;
|
|
277
239
|
|
|
278
|
-
|
|
240
|
+
/**
|
|
241
|
+
* Provides access to search index management services
|
|
242
|
+
*
|
|
243
|
+
* @return a manager instance
|
|
244
|
+
*
|
|
245
|
+
* @since 1.0.0
|
|
246
|
+
* @committed
|
|
247
|
+
*/
|
|
248
|
+
[[nodiscard]] auto search_indexes() const -> search_index_manager;
|
|
279
249
|
|
|
280
250
|
/**
|
|
281
|
-
*
|
|
251
|
+
* Provides access to transaction services.
|
|
282
252
|
*
|
|
283
|
-
*
|
|
253
|
+
* See {@link transactions} for details on using the transactions object.
|
|
284
254
|
*
|
|
285
|
-
* @return
|
|
286
|
-
*
|
|
255
|
+
* @return an {@link transactions} object
|
|
256
|
+
*
|
|
257
|
+
* @since 1.0.0
|
|
258
|
+
* @committed
|
|
287
259
|
*/
|
|
288
|
-
[[nodiscard]] auto
|
|
289
|
-
{
|
|
290
|
-
return core_;
|
|
291
|
-
}
|
|
260
|
+
[[nodiscard]] auto transactions() const -> std::shared_ptr<couchbase::transactions::transactions>;
|
|
292
261
|
|
|
293
262
|
private:
|
|
294
|
-
std::shared_ptr<
|
|
295
|
-
std::shared_ptr<couchbase::core::transactions::transactions> transactions_{};
|
|
263
|
+
std::shared_ptr<cluster_impl> impl_{};
|
|
296
264
|
};
|
|
297
265
|
} // namespace couchbase
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
#include <couchbase/metrics_options.hxx>
|
|
26
26
|
#include <couchbase/network_options.hxx>
|
|
27
27
|
#include <couchbase/password_authenticator.hxx>
|
|
28
|
+
#include <couchbase/retry_strategy.hxx>
|
|
28
29
|
#include <couchbase/security_options.hxx>
|
|
29
30
|
#include <couchbase/timeout_options.hxx>
|
|
30
31
|
#include <couchbase/tracing_options.hxx>
|
|
@@ -312,31 +313,4 @@ class cluster;
|
|
|
312
313
|
* @uncommitted
|
|
313
314
|
*/
|
|
314
315
|
using cluster_connect_handler = std::function<void(cluster, std::error_code)>;
|
|
315
|
-
|
|
316
|
-
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
317
|
-
namespace core
|
|
318
|
-
{
|
|
319
|
-
class cluster;
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
namespace core::impl
|
|
323
|
-
{
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
* @since 1.0.0
|
|
327
|
-
* @internal
|
|
328
|
-
*/
|
|
329
|
-
void
|
|
330
|
-
initiate_cluster_connect(asio::io_context& io,
|
|
331
|
-
const std::string& connection_string,
|
|
332
|
-
const couchbase::cluster_options& options,
|
|
333
|
-
cluster_connect_handler&& handler);
|
|
334
|
-
/**
|
|
335
|
-
* @since 1.0.0
|
|
336
|
-
* @internal
|
|
337
|
-
*/
|
|
338
|
-
void
|
|
339
|
-
initiate_cluster_close(std::shared_ptr<couchbase::core::cluster> core);
|
|
340
|
-
#endif
|
|
341
|
-
} // namespace core::impl
|
|
342
316
|
} // namespace couchbase
|