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
|
@@ -29,10 +29,14 @@
|
|
|
29
29
|
#include <memory>
|
|
30
30
|
|
|
31
31
|
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
32
|
-
namespace couchbase
|
|
32
|
+
namespace couchbase
|
|
33
|
+
{
|
|
34
|
+
namespace core
|
|
33
35
|
{
|
|
34
36
|
class cluster;
|
|
35
|
-
} // namespace
|
|
37
|
+
} // namespace core
|
|
38
|
+
class collection_manager_impl;
|
|
39
|
+
} // namespace couchbase
|
|
36
40
|
#endif
|
|
37
41
|
|
|
38
42
|
namespace couchbase
|
|
@@ -148,13 +152,8 @@ class collection_manager
|
|
|
148
152
|
private:
|
|
149
153
|
friend class bucket;
|
|
150
154
|
|
|
151
|
-
|
|
152
|
-
: core_(std::move(core))
|
|
153
|
-
, bucket_name_(std::move(bucket_name))
|
|
154
|
-
{
|
|
155
|
-
}
|
|
155
|
+
collection_manager(core::cluster core, std::string_view bucket_name);
|
|
156
156
|
|
|
157
|
-
std::shared_ptr<
|
|
158
|
-
std::string bucket_name_;
|
|
157
|
+
std::shared_ptr<collection_manager_impl> impl_;
|
|
159
158
|
};
|
|
160
159
|
} // namespace couchbase
|
|
@@ -29,13 +29,14 @@
|
|
|
29
29
|
#include <memory>
|
|
30
30
|
|
|
31
31
|
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
32
|
-
namespace couchbase
|
|
32
|
+
namespace couchbase
|
|
33
|
+
{
|
|
34
|
+
namespace core
|
|
33
35
|
{
|
|
34
36
|
class cluster;
|
|
35
|
-
|
|
36
|
-
class
|
|
37
|
-
|
|
38
|
-
} // namespace couchbase::core
|
|
37
|
+
} // namespace core
|
|
38
|
+
class query_index_manager_impl;
|
|
39
|
+
} // namespace couchbase
|
|
39
40
|
#endif
|
|
40
41
|
|
|
41
42
|
namespace couchbase
|
|
@@ -64,7 +65,7 @@ class collection_query_index_manager
|
|
|
64
65
|
void get_all_indexes(const get_all_query_indexes_options& options, get_all_query_indexes_handler&& handler) const;
|
|
65
66
|
|
|
66
67
|
[[nodiscard]] auto get_all_indexes(const get_all_query_indexes_options& options) const
|
|
67
|
-
-> std::future<std::pair<manager_error_context, std::vector<couchbase::management::
|
|
68
|
+
-> std::future<std::pair<manager_error_context, std::vector<couchbase::management::query_index>>>;
|
|
68
69
|
/**
|
|
69
70
|
* Create an index on the collection.
|
|
70
71
|
*
|
|
@@ -96,7 +97,8 @@ class collection_query_index_manager
|
|
|
96
97
|
*/
|
|
97
98
|
void create_primary_index(const create_primary_query_index_options& options, create_query_index_handler&& handler) const;
|
|
98
99
|
|
|
99
|
-
[[nodiscard]] auto create_primary_index(const create_primary_query_index_options& options) -> std::future<manager_error_context>;
|
|
100
|
+
[[nodiscard]] auto create_primary_index(const create_primary_query_index_options& options) const -> std::future<manager_error_context>;
|
|
101
|
+
|
|
100
102
|
/**
|
|
101
103
|
* Drop primary index on a collection.
|
|
102
104
|
*
|
|
@@ -122,7 +124,8 @@ class collection_query_index_manager
|
|
|
122
124
|
*/
|
|
123
125
|
void drop_index(std::string index_name, const drop_query_index_options& options, drop_query_index_handler&& handler) const;
|
|
124
126
|
|
|
125
|
-
[[nodiscard]] auto drop_index(std::string index_name, const drop_query_index_options& options)
|
|
127
|
+
[[nodiscard]] auto drop_index(std::string index_name, const drop_query_index_options& options) const
|
|
128
|
+
-> std::future<manager_error_context>;
|
|
126
129
|
/**
|
|
127
130
|
* Builds all currently deferred indexes in this collection.
|
|
128
131
|
*
|
|
@@ -152,26 +155,20 @@ class collection_query_index_manager
|
|
|
152
155
|
const watch_query_indexes_options& options,
|
|
153
156
|
watch_query_indexes_handler&& handler) const;
|
|
154
157
|
|
|
155
|
-
[[nodiscard]] auto watch_indexes(std::vector<std::string> index_names, const watch_query_indexes_options& options)
|
|
158
|
+
[[nodiscard]] auto watch_indexes(std::vector<std::string> index_names, const watch_query_indexes_options& options) const
|
|
156
159
|
-> std::future<manager_error_context>;
|
|
157
160
|
|
|
158
161
|
private:
|
|
159
162
|
friend class collection;
|
|
160
163
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
{
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
std::shared_ptr<couchbase::core::cluster> core_;
|
|
173
|
-
std::string bucket_name_;
|
|
174
|
-
std::string scope_name_;
|
|
175
|
-
std::string collection_name_;
|
|
164
|
+
collection_query_index_manager(couchbase::core::cluster core,
|
|
165
|
+
std::string bucket_name,
|
|
166
|
+
std::string scope_name,
|
|
167
|
+
std::string collection_name);
|
|
168
|
+
|
|
169
|
+
std::shared_ptr<query_index_manager_impl> impl_;
|
|
170
|
+
std::string bucket_name_{};
|
|
171
|
+
std::string scope_name_{};
|
|
172
|
+
std::string collection_name_{};
|
|
176
173
|
};
|
|
177
174
|
} // namespace couchbase
|
|
@@ -0,0 +1,116 @@
|
|
|
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
|
+
#include <couchbase/common_options.hxx>
|
|
21
|
+
#include <couchbase/error_codes.hxx>
|
|
22
|
+
#include <couchbase/manager_error_context.hxx>
|
|
23
|
+
|
|
24
|
+
#include <functional>
|
|
25
|
+
#include <optional>
|
|
26
|
+
#include <string>
|
|
27
|
+
|
|
28
|
+
namespace couchbase
|
|
29
|
+
{
|
|
30
|
+
class connect_link_analytics_options : public common_options<connect_link_analytics_options>
|
|
31
|
+
{
|
|
32
|
+
public:
|
|
33
|
+
/**
|
|
34
|
+
* The name of the dataverse in which the link should be disconnected.
|
|
35
|
+
*
|
|
36
|
+
* defaults to `Default`
|
|
37
|
+
*
|
|
38
|
+
* @param dataverse_name
|
|
39
|
+
* @return reference to this object, for use in chaining
|
|
40
|
+
*
|
|
41
|
+
* @since 1.0.0
|
|
42
|
+
* @committed
|
|
43
|
+
*/
|
|
44
|
+
auto dataverse_name(std::string dataverse_name) -> connect_link_analytics_options&
|
|
45
|
+
{
|
|
46
|
+
dataverse_name_ = std::move(dataverse_name);
|
|
47
|
+
return self();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The name of the link
|
|
52
|
+
*
|
|
53
|
+
* defaults to `Local`
|
|
54
|
+
*
|
|
55
|
+
* @param link_name
|
|
56
|
+
* @return reference to this object, for use in chaining
|
|
57
|
+
*
|
|
58
|
+
* @since 1.0.0
|
|
59
|
+
* @committed
|
|
60
|
+
*/
|
|
61
|
+
auto link_name(std::string link_name) -> connect_link_analytics_options&
|
|
62
|
+
{
|
|
63
|
+
link_name_ = std::move(link_name);
|
|
64
|
+
return self();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Whether to force link creation even if the bucket UUID changed, for example, due to the bucket being deleted and recreated.
|
|
69
|
+
*/
|
|
70
|
+
auto force(bool force) -> connect_link_analytics_options&
|
|
71
|
+
{
|
|
72
|
+
force_ = force;
|
|
73
|
+
return self();
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Immutable value object representing consistent options.
|
|
78
|
+
*
|
|
79
|
+
* @since 1.0.0
|
|
80
|
+
* @internal
|
|
81
|
+
*/
|
|
82
|
+
struct built : public common_options<connect_link_analytics_options>::built {
|
|
83
|
+
std::optional<std::string> dataverse_name{};
|
|
84
|
+
std::optional<std::string> link_name{};
|
|
85
|
+
bool force{ false };
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Validates options and returns them as an immutable value.
|
|
90
|
+
*
|
|
91
|
+
* @return consistent options as an immutable value
|
|
92
|
+
*
|
|
93
|
+
* @exception std::system_error with code errc::common::invalid_argument if the options are not valid
|
|
94
|
+
*
|
|
95
|
+
* @since 1.0.0
|
|
96
|
+
* @internal
|
|
97
|
+
*/
|
|
98
|
+
[[nodiscard]] auto build() const -> built
|
|
99
|
+
{
|
|
100
|
+
return { build_common_options(), dataverse_name_, link_name_, force_ };
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
private:
|
|
104
|
+
bool force_{ false };
|
|
105
|
+
std::optional<std::string> dataverse_name_{};
|
|
106
|
+
std::optional<std::string> link_name_{};
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* The signature for the handler of the @ref analytics_index_manager#connect_link() operation
|
|
111
|
+
*
|
|
112
|
+
* @since 1.0.0
|
|
113
|
+
* @uncommitted
|
|
114
|
+
*/
|
|
115
|
+
using connect_link_analytics_handler = std::function<void(couchbase::manager_error_context)>;
|
|
116
|
+
} // namespace couchbase
|
|
@@ -0,0 +1,120 @@
|
|
|
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
|
+
#include <couchbase/common_options.hxx>
|
|
21
|
+
#include <couchbase/error_codes.hxx>
|
|
22
|
+
#include <couchbase/manager_error_context.hxx>
|
|
23
|
+
|
|
24
|
+
#include <functional>
|
|
25
|
+
#include <optional>
|
|
26
|
+
#include <string>
|
|
27
|
+
|
|
28
|
+
namespace couchbase
|
|
29
|
+
{
|
|
30
|
+
class create_dataset_analytics_options : public common_options<create_dataset_analytics_options>
|
|
31
|
+
{
|
|
32
|
+
public:
|
|
33
|
+
/**
|
|
34
|
+
* Ignore error if the dataset already exists.
|
|
35
|
+
*
|
|
36
|
+
* defaults to `false`
|
|
37
|
+
*
|
|
38
|
+
* @param ignore_if_exists
|
|
39
|
+
* @return reference to this object, for use in chaining
|
|
40
|
+
*
|
|
41
|
+
* @since 1.0.0
|
|
42
|
+
* @committed
|
|
43
|
+
*/
|
|
44
|
+
auto ignore_if_exists(bool ignore_if_exists) -> create_dataset_analytics_options&
|
|
45
|
+
{
|
|
46
|
+
ignore_if_exists_ = ignore_if_exists;
|
|
47
|
+
return self();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* WHERE clause to use for creating the dataset
|
|
52
|
+
*
|
|
53
|
+
* @param condition
|
|
54
|
+
* @return reference to this object, for use in chaining
|
|
55
|
+
*
|
|
56
|
+
* @since 1.0.0
|
|
57
|
+
* @committed
|
|
58
|
+
*/
|
|
59
|
+
auto condition(std::string condition) -> create_dataset_analytics_options&
|
|
60
|
+
{
|
|
61
|
+
condition_ = std::move(condition);
|
|
62
|
+
return self();
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* The name of the dataverse the dataset should be created into
|
|
67
|
+
*
|
|
68
|
+
* @param dataverse_name
|
|
69
|
+
* @return reference to this object, for use in chaining
|
|
70
|
+
*
|
|
71
|
+
* @since 1.0.0
|
|
72
|
+
* @committed
|
|
73
|
+
*/
|
|
74
|
+
auto dataverse_name(std::string dataverse_name) -> create_dataset_analytics_options&
|
|
75
|
+
{
|
|
76
|
+
dataverse_name_ = std::move(dataverse_name);
|
|
77
|
+
return self();
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Immutable value object representing consistent options.
|
|
82
|
+
*
|
|
83
|
+
* @since 1.0.0
|
|
84
|
+
* @internal
|
|
85
|
+
*/
|
|
86
|
+
struct built : public common_options<create_dataset_analytics_options>::built {
|
|
87
|
+
bool ignore_if_exists{};
|
|
88
|
+
std::optional<std::string> condition{};
|
|
89
|
+
std::optional<std::string> dataverse_name{};
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Validates options and returns them as an immutable value.
|
|
94
|
+
*
|
|
95
|
+
* @return consistent options as an immutable value
|
|
96
|
+
*
|
|
97
|
+
* @exception std::system_error with code errc::common::invalid_argument if the options are not valid
|
|
98
|
+
*
|
|
99
|
+
* @since 1.0.0
|
|
100
|
+
* @internal
|
|
101
|
+
*/
|
|
102
|
+
[[nodiscard]] auto build() const -> built
|
|
103
|
+
{
|
|
104
|
+
return { build_common_options(), ignore_if_exists_, condition_, dataverse_name_ };
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
private:
|
|
108
|
+
bool ignore_if_exists_{ false };
|
|
109
|
+
std::optional<std::string> condition_{};
|
|
110
|
+
std::optional<std::string> dataverse_name_{};
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* The signature for the handler of the @ref analytics_index_manager#create_dataset() operation
|
|
115
|
+
*
|
|
116
|
+
* @since 1.0.0
|
|
117
|
+
* @uncommitted
|
|
118
|
+
*/
|
|
119
|
+
using create_dataset_analytics_handler = std::function<void(couchbase::manager_error_context)>;
|
|
120
|
+
} // namespace couchbase
|
|
@@ -0,0 +1,85 @@
|
|
|
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
|
+
#include <couchbase/common_options.hxx>
|
|
21
|
+
#include <couchbase/error_codes.hxx>
|
|
22
|
+
#include <couchbase/manager_error_context.hxx>
|
|
23
|
+
|
|
24
|
+
#include <functional>
|
|
25
|
+
|
|
26
|
+
namespace couchbase
|
|
27
|
+
{
|
|
28
|
+
class create_dataverse_analytics_options : public common_options<create_dataverse_analytics_options>
|
|
29
|
+
{
|
|
30
|
+
public:
|
|
31
|
+
/**
|
|
32
|
+
* Ignore error if the dataverse already exists.
|
|
33
|
+
*
|
|
34
|
+
* defaults to `false`
|
|
35
|
+
*
|
|
36
|
+
* @param ignore_if_exists
|
|
37
|
+
* @return reference to this object, for use in chaining
|
|
38
|
+
*
|
|
39
|
+
* @since 1.0.0
|
|
40
|
+
* @committed
|
|
41
|
+
*/
|
|
42
|
+
auto ignore_if_exists(bool ignore_if_exists) -> create_dataverse_analytics_options&
|
|
43
|
+
{
|
|
44
|
+
ignore_if_exists_ = ignore_if_exists;
|
|
45
|
+
return self();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Immutable value object representing consistent options.
|
|
50
|
+
*
|
|
51
|
+
* @since 1.0.0
|
|
52
|
+
* @internal
|
|
53
|
+
*/
|
|
54
|
+
struct built : public common_options<create_dataverse_analytics_options>::built {
|
|
55
|
+
bool ignore_if_exists{};
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Validates options and returns them as an immutable value.
|
|
60
|
+
*
|
|
61
|
+
* @return consistent options as an immutable value
|
|
62
|
+
*
|
|
63
|
+
* @exception std::system_error with code errc::common::invalid_argument if the options are not valid
|
|
64
|
+
*
|
|
65
|
+
* @since 1.0.0
|
|
66
|
+
* @internal
|
|
67
|
+
*/
|
|
68
|
+
[[nodiscard]] auto build() const -> built
|
|
69
|
+
{
|
|
70
|
+
return { build_common_options(), ignore_if_exists_ };
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
private:
|
|
74
|
+
bool ignore_if_exists_{ false };
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* The signature for the handler of the @ref analytics_index_manager#create_dataverse() operation
|
|
79
|
+
*
|
|
80
|
+
* @since 1.0.0
|
|
81
|
+
* @uncommitted
|
|
82
|
+
*/
|
|
83
|
+
|
|
84
|
+
using create_dataverse_analytics_handler = std::function<void(couchbase::manager_error_context)>;
|
|
85
|
+
} // namespace couchbase
|
|
@@ -0,0 +1,103 @@
|
|
|
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
|
+
#include <couchbase/common_options.hxx>
|
|
21
|
+
#include <couchbase/error_codes.hxx>
|
|
22
|
+
#include <couchbase/manager_error_context.hxx>
|
|
23
|
+
|
|
24
|
+
#include <functional>
|
|
25
|
+
#include <optional>
|
|
26
|
+
#include <string>
|
|
27
|
+
|
|
28
|
+
namespace couchbase
|
|
29
|
+
{
|
|
30
|
+
class create_index_analytics_options : public common_options<create_index_analytics_options>
|
|
31
|
+
{
|
|
32
|
+
public:
|
|
33
|
+
/**
|
|
34
|
+
* Ignore error if the index already exists.
|
|
35
|
+
*
|
|
36
|
+
* defaults to `false`
|
|
37
|
+
*
|
|
38
|
+
* @param ignore_if_exists
|
|
39
|
+
* @return reference to this object, for use in chaining
|
|
40
|
+
*
|
|
41
|
+
* @since 1.0.0
|
|
42
|
+
* @committed
|
|
43
|
+
*/
|
|
44
|
+
auto ignore_if_exists(bool ignore_if_exists) -> create_index_analytics_options&
|
|
45
|
+
{
|
|
46
|
+
ignore_if_exists_ = ignore_if_exists;
|
|
47
|
+
return self();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The name of the dataverse the index should be created into
|
|
52
|
+
*
|
|
53
|
+
* @param dataverse_name
|
|
54
|
+
* @return reference to this object, for use in chaining
|
|
55
|
+
*
|
|
56
|
+
* @since 1.0.0
|
|
57
|
+
* @committed
|
|
58
|
+
*/
|
|
59
|
+
auto dataverse_name(std::string dataverse_name) -> create_index_analytics_options&
|
|
60
|
+
{
|
|
61
|
+
dataverse_name_ = std::move(dataverse_name);
|
|
62
|
+
return self();
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Immutable value object representing consistent options.
|
|
67
|
+
*
|
|
68
|
+
* @since 1.0.0
|
|
69
|
+
* @internal
|
|
70
|
+
*/
|
|
71
|
+
struct built : public common_options<create_index_analytics_options>::built {
|
|
72
|
+
bool ignore_if_exists{};
|
|
73
|
+
std::optional<std::string> dataverse_name{};
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Validates options and returns them as an immutable value.
|
|
78
|
+
*
|
|
79
|
+
* @return consistent options as an immutable value
|
|
80
|
+
*
|
|
81
|
+
* @exception std::system_error with code errc::common::invalid_argument if the options are not valid
|
|
82
|
+
*
|
|
83
|
+
* @since 1.0.0
|
|
84
|
+
* @internal
|
|
85
|
+
*/
|
|
86
|
+
[[nodiscard]] auto build() const -> built
|
|
87
|
+
{
|
|
88
|
+
return { build_common_options(), ignore_if_exists_, dataverse_name_ };
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
private:
|
|
92
|
+
bool ignore_if_exists_{ false };
|
|
93
|
+
std::optional<std::string> dataverse_name_{};
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* The signature for the handler of the @ref analytics_index_manager#create_index() operation
|
|
98
|
+
*
|
|
99
|
+
* @since 1.0.0
|
|
100
|
+
* @uncommitted
|
|
101
|
+
*/
|
|
102
|
+
using create_index_analytics_handler = std::function<void(couchbase::manager_error_context)>;
|
|
103
|
+
} // namespace couchbase
|
|
@@ -0,0 +1,63 @@
|
|
|
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
|
+
#include <couchbase/common_options.hxx>
|
|
21
|
+
#include <couchbase/error_codes.hxx>
|
|
22
|
+
#include <couchbase/manager_error_context.hxx>
|
|
23
|
+
|
|
24
|
+
#include <functional>
|
|
25
|
+
|
|
26
|
+
namespace couchbase
|
|
27
|
+
{
|
|
28
|
+
class create_link_analytics_options : public common_options<create_link_analytics_options>
|
|
29
|
+
{
|
|
30
|
+
public:
|
|
31
|
+
/**
|
|
32
|
+
* Immutable value object representing consistent options.
|
|
33
|
+
*
|
|
34
|
+
* @since 1.0.0
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
struct built : public common_options<create_link_analytics_options>::built {
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Validates options and returns them as an immutable value.
|
|
42
|
+
*
|
|
43
|
+
* @return consistent options as an immutable value
|
|
44
|
+
*
|
|
45
|
+
* @exception std::system_error with code errc::common::invalid_argument if the options are not valid
|
|
46
|
+
*
|
|
47
|
+
* @since 1.0.0
|
|
48
|
+
* @internal
|
|
49
|
+
*/
|
|
50
|
+
[[nodiscard]] auto build() const -> built
|
|
51
|
+
{
|
|
52
|
+
return { build_common_options() };
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* The signature for the handler of the @ref analytics_index_manager#create_link() operation
|
|
58
|
+
*
|
|
59
|
+
* @since 1.0.0
|
|
60
|
+
* @uncommitted
|
|
61
|
+
*/
|
|
62
|
+
using create_link_analytics_handler = std::function<void(couchbase::manager_error_context)>;
|
|
63
|
+
} // namespace couchbase
|
|
@@ -140,27 +140,4 @@ struct decrement_options : public common_durability_options<decrement_options> {
|
|
|
140
140
|
* @uncommitted
|
|
141
141
|
*/
|
|
142
142
|
using decrement_handler = std::function<void(couchbase::key_value_error_context, counter_result)>;
|
|
143
|
-
|
|
144
|
-
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
145
|
-
namespace core
|
|
146
|
-
{
|
|
147
|
-
class cluster;
|
|
148
|
-
namespace impl
|
|
149
|
-
{
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* @since 1.0.0
|
|
153
|
-
* @internal
|
|
154
|
-
*/
|
|
155
|
-
void
|
|
156
|
-
initiate_decrement_operation(std::shared_ptr<couchbase::core::cluster> core,
|
|
157
|
-
std::string bucket_name,
|
|
158
|
-
std::string scope_name,
|
|
159
|
-
std::string collection_name,
|
|
160
|
-
std::string document_key,
|
|
161
|
-
decrement_options::built options,
|
|
162
|
-
decrement_handler&& handler);
|
|
163
|
-
#endif
|
|
164
|
-
} // namespace impl
|
|
165
|
-
} // namespace core
|
|
166
143
|
} // namespace couchbase
|