couchbase 4.2.8 → 4.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CMakeLists.txt +1 -1
- package/deps/couchbase-cxx-cache/mozilla-ca-bundle.crt +139 -56
- package/deps/couchbase-cxx-cache/mozilla-ca-bundle.sha256 +1 -1
- package/deps/couchbase-cxx-client/CMakeLists.txt +401 -424
- package/deps/couchbase-cxx-client/cmake/CompilerWarnings.cmake +7 -3
- package/deps/couchbase-cxx-client/cmake/OpenSSL.cmake +1 -0
- package/deps/couchbase-cxx-client/core/agent_config.hxx +1 -1
- package/deps/couchbase-cxx-client/core/agent_group.cxx +0 -1
- package/deps/couchbase-cxx-client/core/agent_group.hxx +9 -0
- package/deps/couchbase-cxx-client/core/agent_group_config.hxx +1 -1
- package/deps/couchbase-cxx-client/core/bucket.cxx +74 -10
- package/deps/couchbase-cxx-client/core/bucket.hxx +4 -2
- package/deps/couchbase-cxx-client/core/cluster.cxx +1491 -108
- package/deps/couchbase-cxx-client/core/cluster.hxx +183 -473
- package/deps/couchbase-cxx-client/core/cluster_agent_config.hxx +1 -1
- package/deps/couchbase-cxx-client/core/cluster_options.cxx +12 -2
- package/deps/couchbase-cxx-client/core/cluster_options.hxx +9 -8
- package/deps/couchbase-cxx-client/core/config_profiles.cxx +2 -2
- package/deps/couchbase-cxx-client/core/config_profiles.hxx +1 -1
- package/deps/couchbase-cxx-client/core/core_sdk_shim.cxx +1 -2
- package/deps/couchbase-cxx-client/core/core_sdk_shim.hxx +3 -2
- package/deps/couchbase-cxx-client/core/diagnostics.hxx +0 -1
- package/deps/couchbase-cxx-client/core/dispatcher.cxx +2 -2
- package/deps/couchbase-cxx-client/core/impl/analytics.cxx +38 -76
- package/deps/couchbase-cxx-client/core/impl/analytics.hxx +40 -0
- package/deps/couchbase-cxx-client/core/impl/analytics_index_manager.cxx +820 -0
- package/deps/couchbase-cxx-client/core/impl/binary_collection.cxx +403 -0
- package/deps/couchbase-cxx-client/core/impl/bucket.cxx +102 -0
- package/deps/couchbase-cxx-client/core/impl/bucket_manager.cxx +433 -0
- package/deps/couchbase-cxx-client/core/impl/cluster.cxx +299 -44
- package/deps/couchbase-cxx-client/core/impl/collection.cxx +1384 -0
- package/deps/couchbase-cxx-client/core/impl/collection_manager.cxx +306 -0
- package/deps/couchbase-cxx-client/core/impl/configuration_profiles_registry.cxx +3 -1
- package/deps/couchbase-cxx-client/core/impl/diagnostics.cxx +294 -0
- package/deps/couchbase-cxx-client/core/impl/diagnostics.hxx +39 -0
- package/deps/couchbase-cxx-client/core/impl/dns_srv_tracker.cxx +2 -0
- package/deps/couchbase-cxx-client/core/{operations/mcbp_noop.cxx → impl/doc_id_query.cxx} +19 -15
- package/deps/couchbase-cxx-client/core/impl/key_value_error_category.cxx +4 -2
- package/deps/couchbase-cxx-client/core/impl/lookup_in_all_replicas.hxx +0 -10
- package/deps/couchbase-cxx-client/core/impl/lookup_in_any_replica.hxx +0 -10
- package/deps/couchbase-cxx-client/core/impl/observe_poll.cxx +24 -17
- package/deps/couchbase-cxx-client/core/impl/observe_poll.hxx +1 -1
- package/deps/couchbase-cxx-client/core/impl/query.cxx +45 -68
- package/deps/couchbase-cxx-client/core/impl/query.hxx +34 -0
- package/deps/couchbase-cxx-client/core/impl/query_index_manager.cxx +628 -0
- package/deps/couchbase-cxx-client/core/impl/scope.cxx +187 -0
- package/deps/couchbase-cxx-client/core/impl/search.cxx +81 -57
- package/deps/couchbase-cxx-client/core/impl/search.hxx +45 -0
- package/deps/couchbase-cxx-client/core/impl/search_index_manager.cxx +712 -0
- package/deps/couchbase-cxx-client/core/impl/search_request.cxx +139 -0
- package/deps/couchbase-cxx-client/core/impl/search_row_location.cxx +12 -0
- package/deps/couchbase-cxx-client/core/impl/search_sort_geo_distance.cxx +87 -0
- package/deps/couchbase-cxx-client/core/impl/vector_query.cxx +42 -0
- package/deps/couchbase-cxx-client/core/impl/vector_search.cxx +40 -0
- package/deps/couchbase-cxx-client/core/impl/with_legacy_durability.hxx +23 -25
- package/deps/couchbase-cxx-client/core/io/dns_config.cxx +28 -0
- package/deps/couchbase-cxx-client/core/io/dns_config.hxx +6 -25
- package/deps/couchbase-cxx-client/core/io/http_session.hxx +6 -3
- package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +9 -1
- package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +1 -1
- package/deps/couchbase-cxx-client/core/io/mcbp_message.hxx +3 -2
- package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +75 -53
- package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +3 -1
- package/deps/couchbase-cxx-client/core/logger/logger.cxx +1 -1
- package/deps/couchbase-cxx-client/core/logger/logger.hxx +4 -4
- package/deps/couchbase-cxx-client/core/management/bucket_settings.hxx +1 -1
- package/deps/couchbase-cxx-client/core/mcbp/packet.cxx +1 -1
- package/deps/couchbase-cxx-client/core/mcbp/queue_callback.hxx +1 -1
- package/deps/couchbase-cxx-client/core/meta/features.hxx +38 -0
- package/deps/couchbase-cxx-client/core/operations/document_query.cxx +23 -2
- package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_search.cxx +37 -1
- package/deps/couchbase-cxx-client/core/operations/document_search.hxx +11 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_create.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_create.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_get_pending_mutations.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_index_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_connect.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_disconnect.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_create.cxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_get.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/change_password.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/collection_create.cxx +9 -6
- package/deps/couchbase-cxx-client/core/operations/management/collection_create.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/collection_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/collection_update.cxx +9 -8
- package/deps/couchbase-cxx-client/core/operations/management/collection_update.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/error_utils.cxx +9 -5
- package/deps/couchbase-cxx-client/core/operations/management/eventing_deploy_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_drop_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_get_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_pause_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_resume_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_undeploy_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_upsert_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_get.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_get_all.cxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +2 -2
- package/deps/couchbase-cxx-client/core/operations/management/query_index_create.cxx +4 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.cxx +4 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.cxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/scope_create.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/scope_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.cxx +4 -4
- package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.hxx +4 -4
- package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.cxx +19 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.cxx +23 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.cxx +23 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.cxx +23 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.cxx +19 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get.cxx +19 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.cxx +39 -22
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.cxx +20 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_stats.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.cxx +19 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_get.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations.hxx +0 -1
- package/deps/couchbase-cxx-client/core/operations_fwd.hxx +260 -0
- package/deps/couchbase-cxx-client/core/origin.cxx +146 -5
- package/deps/couchbase-cxx-client/core/origin.hxx +30 -140
- package/deps/couchbase-cxx-client/core/protocol/cmd_cluster_map_change_notification.hxx +3 -3
- package/deps/couchbase-cxx-client/core/protocol/cmd_hello.hxx +5 -0
- package/deps/couchbase-cxx-client/core/protocol/cmd_observe_seqno.hxx +4 -4
- package/deps/couchbase-cxx-client/core/protocol/hello_feature.hxx +6 -0
- package/deps/couchbase-cxx-client/core/protocol/hello_feature_fmt.hxx +3 -0
- package/deps/couchbase-cxx-client/core/protocol/status.cxx +6 -0
- package/deps/couchbase-cxx-client/core/protocol/status.hxx +1 -0
- package/deps/couchbase-cxx-client/core/query_context.hxx +11 -7
- package/deps/couchbase-cxx-client/core/range_scan_orchestrator.cxx +1 -1
- package/deps/couchbase-cxx-client/core/topology/collections_manifest.hxx +1 -1
- package/deps/couchbase-cxx-client/core/topology/collections_manifest_json.hxx +1 -1
- package/deps/couchbase-cxx-client/core/topology/configuration.cxx +23 -0
- package/deps/couchbase-cxx-client/core/topology/configuration.hxx +8 -12
- package/deps/couchbase-cxx-client/core/topology/configuration_fmt.hxx +3 -3
- package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +2 -0
- package/deps/couchbase-cxx-client/core/topology/error_map.hxx +2 -2
- package/deps/couchbase-cxx-client/core/topology/error_map_json.hxx +4 -0
- package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.cxx +58 -0
- package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.hxx +5 -40
- package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.cxx +30 -0
- package/deps/couchbase-cxx-client/core/transactions/atr_cleanup_entry.cxx +18 -18
- package/deps/couchbase-cxx-client/core/transactions/attempt_context.cxx +36 -0
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +39 -41
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +2 -2
- package/deps/couchbase-cxx-client/core/transactions/internal/atr_cleanup_entry.hxx +3 -1
- package/deps/couchbase-cxx-client/core/transactions/internal/atr_entry.hxx +2 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.cxx +32 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.hxx +4 -30
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record_fmt.hxx +41 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/logging.hxx +17 -15
- package/deps/couchbase-cxx-client/core/transactions/internal/transaction_context.hxx +1 -1
- package/deps/couchbase-cxx-client/core/transactions/internal/transactions_cleanup.hxx +4 -4
- package/deps/couchbase-cxx-client/core/transactions/internal/utils.hxx +5 -13
- package/deps/couchbase-cxx-client/core/transactions/result.hxx +0 -26
- package/deps/couchbase-cxx-client/core/transactions/result_fmt.hxx +46 -0
- package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +16 -14
- package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +6 -6
- package/deps/couchbase-cxx-client/core/transactions/transaction_keyspace.cxx +48 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_links.hxx +1 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_options.cxx +61 -4
- package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +9 -8
- package/deps/couchbase-cxx-client/core/transactions/transactions_cleanup.cxx +9 -16
- package/deps/couchbase-cxx-client/core/transactions/transactions_config.cxx +7 -6
- package/deps/couchbase-cxx-client/core/transactions.hxx +6 -5
- package/deps/couchbase-cxx-client/core/utils/join_strings.hxx +4 -3
- package/deps/couchbase-cxx-client/core/utils/keyspace.hxx +4 -4
- package/deps/couchbase-cxx-client/core/vector_query_combination.hxx +23 -0
- package/deps/couchbase-cxx-client/couchbase/allow_querying_search_index_options.hxx +44 -0
- package/deps/couchbase-cxx-client/couchbase/analytics_index_manager.hxx +463 -0
- package/deps/couchbase-cxx-client/couchbase/analyze_document_options.hxx +44 -0
- package/deps/couchbase-cxx-client/couchbase/append_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/behavior_options.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/binary_collection.hxx +19 -115
- package/deps/couchbase-cxx-client/couchbase/bucket.hxx +42 -30
- package/deps/couchbase-cxx-client/couchbase/bucket_manager.hxx +8 -7
- package/deps/couchbase-cxx-client/couchbase/build_query_index_options.hxx +0 -1
- package/deps/couchbase-cxx-client/couchbase/cluster.hxx +151 -73
- package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +1 -27
- package/deps/couchbase-cxx-client/couchbase/codec/json_transcoder.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/codec/raw_binary_transcoder.hxx +2 -1
- package/deps/couchbase-cxx-client/couchbase/codec/raw_json_transcoder.hxx +78 -0
- package/deps/couchbase-cxx-client/couchbase/codec/raw_string_transcoder.hxx +72 -0
- package/deps/couchbase-cxx-client/couchbase/collection.hxx +176 -386
- package/deps/couchbase-cxx-client/couchbase/collection_manager.hxx +8 -9
- package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +21 -24
- package/deps/couchbase-cxx-client/couchbase/connect_link_analytics_options.hxx +116 -0
- package/deps/couchbase-cxx-client/couchbase/create_bucket_options.hxx +3 -3
- package/deps/couchbase-cxx-client/couchbase/create_collection_options.hxx +32 -3
- package/deps/couchbase-cxx-client/couchbase/create_dataset_analytics_options.hxx +120 -0
- package/deps/couchbase-cxx-client/couchbase/create_dataverse_analytics_options.hxx +85 -0
- package/deps/couchbase-cxx-client/couchbase/create_index_analytics_options.hxx +103 -0
- package/deps/couchbase-cxx-client/couchbase/create_link_analytics_options.hxx +63 -0
- package/deps/couchbase-cxx-client/couchbase/decrement_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/diagnostics_options.hxx +75 -0
- package/deps/couchbase-cxx-client/couchbase/diagnostics_result.hxx +124 -0
- package/deps/couchbase-cxx-client/couchbase/disallow_querying_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/disconnect_link_analytics_options.hxx +105 -0
- package/deps/couchbase-cxx-client/couchbase/drop_dataset_analytics_options.hxx +103 -0
- package/deps/couchbase-cxx-client/couchbase/drop_dataverse_analytics_options.hxx +84 -0
- package/deps/couchbase-cxx-client/couchbase/drop_index_analytics_options.hxx +103 -0
- package/deps/couchbase-cxx-client/couchbase/drop_link_analytics_options.hxx +63 -0
- package/deps/couchbase-cxx-client/couchbase/drop_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/endpoint_diagnostics.hxx +206 -0
- package/deps/couchbase-cxx-client/couchbase/endpoint_ping_report.hxx +205 -0
- package/deps/couchbase-cxx-client/couchbase/error_codes.hxx +22 -1
- package/deps/couchbase-cxx-client/couchbase/exists_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/fmt/key_value_error_map_attribute.hxx +6 -0
- package/deps/couchbase-cxx-client/couchbase/fmt/key_value_status_code.hxx +3 -0
- package/deps/couchbase-cxx-client/couchbase/fmt/transaction_keyspace.hxx +37 -0
- package/deps/couchbase-cxx-client/couchbase/freeze_plan_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/get_all_datasets_analytics_options.hxx +66 -0
- package/deps/couchbase-cxx-client/couchbase/get_all_indexes_analytics_options.hxx +65 -0
- package/deps/couchbase-cxx-client/couchbase/get_all_query_indexes_options.hxx +1 -4
- package/deps/couchbase-cxx-client/couchbase/get_all_replicas_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/get_all_search_indexes_options.hxx +45 -0
- package/deps/couchbase-cxx-client/couchbase/get_and_lock_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/get_and_touch_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/get_any_replica_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/get_indexed_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/get_links_analytics_options.hxx +121 -0
- package/deps/couchbase-cxx-client/couchbase/get_options.hxx +1 -29
- package/deps/couchbase-cxx-client/couchbase/get_pending_mutations_analytics_options.hxx +67 -0
- package/deps/couchbase-cxx-client/couchbase/get_search_index_options.hxx +44 -0
- package/deps/couchbase-cxx-client/couchbase/increment_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/insert_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/key_value_error_map_attribute.hxx +12 -0
- package/deps/couchbase-cxx-client/couchbase/key_value_status_code.hxx +1 -0
- package/deps/couchbase-cxx-client/couchbase/lookup_in_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/management/analytics_dataset.hxx +48 -0
- package/deps/couchbase-cxx-client/couchbase/management/analytics_index.hxx +48 -0
- package/deps/couchbase-cxx-client/couchbase/management/analytics_link.hxx +239 -0
- package/deps/couchbase-cxx-client/couchbase/management/collection_spec.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/management/query_index.hxx +3 -3
- package/deps/couchbase-cxx-client/couchbase/management/search_index.hxx +40 -0
- package/deps/couchbase-cxx-client/couchbase/manager_error_context.hxx +0 -1
- package/deps/couchbase-cxx-client/couchbase/mutate_in_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/network_options.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/pause_ingest_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/phrase_query.hxx +19 -0
- package/deps/couchbase-cxx-client/couchbase/ping_options.hxx +93 -0
- package/deps/couchbase-cxx-client/couchbase/ping_result.hxx +118 -0
- package/deps/couchbase-cxx-client/couchbase/prepend_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/query_index_manager.hxx +99 -20
- package/deps/couchbase-cxx-client/couchbase/query_options.hxx +0 -21
- package/deps/couchbase-cxx-client/couchbase/remove_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/replace_link_analytics_options.hxx +63 -0
- package/deps/couchbase-cxx-client/couchbase/replace_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/resume_ingest_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/scope.hxx +37 -53
- package/deps/couchbase-cxx-client/couchbase/scope_search_index_manager.hxx +291 -0
- package/deps/couchbase-cxx-client/couchbase/search_facet_result.hxx +1 -7
- package/deps/couchbase-cxx-client/couchbase/search_geo_distance_units.hxx +26 -0
- package/deps/couchbase-cxx-client/couchbase/search_index_manager.hxx +292 -0
- package/deps/couchbase-cxx-client/couchbase/search_request.hxx +120 -0
- package/deps/couchbase-cxx-client/couchbase/search_row_location.hxx +10 -0
- package/deps/couchbase-cxx-client/couchbase/search_sort_geo_distance.hxx +84 -0
- package/deps/couchbase-cxx-client/couchbase/security_options.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/service_type.hxx +58 -0
- package/deps/couchbase-cxx-client/couchbase/touch_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/tracing/request_tracer.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/transactions/async_attempt_context.hxx +10 -7
- package/deps/couchbase-cxx-client/couchbase/transactions/attempt_context.hxx +10 -10
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_keyspace.hxx +8 -58
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_options.hxx +28 -70
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_options.hxx +7 -2
- package/deps/couchbase-cxx-client/couchbase/transactions/transactions_cleanup_config.hxx +2 -1
- package/deps/couchbase-cxx-client/couchbase/transactions/transactions_config.hxx +11 -38
- package/deps/couchbase-cxx-client/couchbase/unfreeze_plan_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/unlock_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/update_collection_options.hxx +32 -3
- package/deps/couchbase-cxx-client/couchbase/upsert_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/upsert_search_index_options.hxx +41 -0
- package/deps/couchbase-cxx-client/couchbase/vector_query.hxx +99 -0
- package/deps/couchbase-cxx-client/couchbase/vector_search.hxx +85 -0
- package/deps/couchbase-cxx-client/couchbase/vector_search_options.hxx +76 -0
- package/dist/binding.d.ts +16 -9
- package/dist/binding.js +4 -1
- package/dist/bindingutilities.d.ts +6 -1
- package/dist/bindingutilities.js +17 -1
- package/dist/cluster.d.ts +12 -1
- package/dist/cluster.js +22 -0
- package/dist/collection.js +3 -3
- package/dist/couchbase.d.ts +1 -0
- package/dist/couchbase.js +1 -0
- package/dist/errors.d.ts +9 -0
- package/dist/errors.js +14 -2
- package/dist/searchexecutor.d.ts +2 -2
- package/dist/searchexecutor.js +19 -3
- package/dist/searchtypes.d.ts +46 -0
- package/dist/searchtypes.js +81 -1
- package/dist/transactions.d.ts +2 -0
- package/dist/transactions.js +2 -3
- package/dist/usermanager.js +1 -1
- package/dist/vectorsearch.d.ts +99 -0
- package/dist/vectorsearch.js +132 -0
- package/package.json +7 -7
- package/src/binding.cpp +1 -0
- package/src/connection.cpp +12 -9
- package/src/connection.hpp +3 -3
- package/src/connection_autogen.cpp +7 -5
- package/src/constants.cpp +14 -0
- package/src/instance.cpp +2 -2
- package/src/instance.hpp +1 -1
- package/src/jstocbpp_autogen.hpp +45 -45
- package/src/jstocbpp_basic.hpp +2 -0
- package/src/jstocbpp_errors.hpp +1 -0
- package/src/jstocbpp_transactions.hpp +6 -22
- package/src/mutationtoken.hpp +1 -0
- package/tools/gen-bindings-json.py +41 -16
- package/deps/couchbase-cxx-client/core/impl/append.cxx +0 -87
- package/deps/couchbase-cxx-client/core/impl/build_deferred_query_indexes.cxx +0 -157
- package/deps/couchbase-cxx-client/core/impl/create_bucket.cxx +0 -158
- package/deps/couchbase-cxx-client/core/impl/create_collection.cxx +0 -83
- package/deps/couchbase-cxx-client/core/impl/create_query_index.cxx +0 -232
- package/deps/couchbase-cxx-client/core/impl/create_scope.cxx +0 -69
- package/deps/couchbase-cxx-client/core/impl/decrement.cxx +0 -96
- package/deps/couchbase-cxx-client/core/impl/drop_bucket.cxx +0 -66
- package/deps/couchbase-cxx-client/core/impl/drop_collection.cxx +0 -76
- package/deps/couchbase-cxx-client/core/impl/drop_query_index.cxx +0 -187
- package/deps/couchbase-cxx-client/core/impl/drop_scope.cxx +0 -68
- package/deps/couchbase-cxx-client/core/impl/exists.cxx +0 -47
- package/deps/couchbase-cxx-client/core/impl/flush_bucket.cxx +0 -66
- package/deps/couchbase-cxx-client/core/impl/get.cxx +0 -68
- package/deps/couchbase-cxx-client/core/impl/get_all_buckets.cxx +0 -178
- package/deps/couchbase-cxx-client/core/impl/get_all_query_indexes.cxx +0 -106
- package/deps/couchbase-cxx-client/core/impl/get_all_replicas.cxx +0 -145
- package/deps/couchbase-cxx-client/core/impl/get_all_scopes.cxx +0 -94
- package/deps/couchbase-cxx-client/core/impl/get_and_lock.cxx +0 -49
- package/deps/couchbase-cxx-client/core/impl/get_and_touch.cxx +0 -49
- package/deps/couchbase-cxx-client/core/impl/get_any_replica.cxx +0 -134
- package/deps/couchbase-cxx-client/core/impl/get_bucket.cxx +0 -168
- package/deps/couchbase-cxx-client/core/impl/increment.cxx +0 -96
- package/deps/couchbase-cxx-client/core/impl/insert.cxx +0 -90
- package/deps/couchbase-cxx-client/core/impl/lookup_in.cxx +0 -69
- package/deps/couchbase-cxx-client/core/impl/lookup_in_all_replicas.cxx +0 -178
- package/deps/couchbase-cxx-client/core/impl/lookup_in_any_replica.cxx +0 -169
- package/deps/couchbase-cxx-client/core/impl/mutate_in.cxx +0 -125
- package/deps/couchbase-cxx-client/core/impl/prepend.cxx +0 -87
- package/deps/couchbase-cxx-client/core/impl/remove.cxx +0 -86
- package/deps/couchbase-cxx-client/core/impl/replace.cxx +0 -102
- package/deps/couchbase-cxx-client/core/impl/touch.cxx +0 -49
- package/deps/couchbase-cxx-client/core/impl/unlock.cxx +0 -47
- package/deps/couchbase-cxx-client/core/impl/update_bucket.cxx +0 -133
- package/deps/couchbase-cxx-client/core/impl/update_collection.cxx +0 -83
- package/deps/couchbase-cxx-client/core/impl/upsert.cxx +0 -100
- package/deps/couchbase-cxx-client/core/impl/watch_query_indexes.cxx +0 -196
- package/deps/couchbase-cxx-client/core/operations/mcbp_noop.hxx +0 -49
- /package/deps/couchbase-cxx-client/core/impl/{streaming_json_lexter_error_category.cxx → streaming_json_lexer_error_category.cxx} +0 -0
|
@@ -19,7 +19,12 @@
|
|
|
19
19
|
#include <couchbase/transactions/transaction_query_options.hxx>
|
|
20
20
|
#include <couchbase/transactions/transaction_query_result.hxx>
|
|
21
21
|
|
|
22
|
-
namespace couchbase
|
|
22
|
+
namespace couchbase
|
|
23
|
+
{
|
|
24
|
+
class collection;
|
|
25
|
+
class scope;
|
|
26
|
+
|
|
27
|
+
namespace transactions
|
|
23
28
|
{
|
|
24
29
|
/**
|
|
25
30
|
* The attempt_context is used for all synchronous transaction operations
|
|
@@ -108,10 +113,7 @@ class attempt_context
|
|
|
108
113
|
* @return The result of the operation, with is an @ref transaction_op_error_context and a @ref transaction_query_result.
|
|
109
114
|
*/
|
|
110
115
|
std::pair<transaction_op_error_context, transaction_query_result> query(const std::string& statement,
|
|
111
|
-
const transaction_query_options& options = {})
|
|
112
|
-
{
|
|
113
|
-
return do_public_query(statement, options, {});
|
|
114
|
-
}
|
|
116
|
+
const transaction_query_options& options = {});
|
|
115
117
|
|
|
116
118
|
/**
|
|
117
119
|
* Perform a scoped query.
|
|
@@ -123,10 +125,7 @@ class attempt_context
|
|
|
123
125
|
*/
|
|
124
126
|
std::pair<transaction_op_error_context, transaction_query_result> query(const scope& scope,
|
|
125
127
|
const std::string& statement,
|
|
126
|
-
const transaction_query_options& opts = {})
|
|
127
|
-
{
|
|
128
|
-
return do_public_query(statement, opts, fmt::format("{}.{}", scope.bucket_name(), scope.name()));
|
|
129
|
-
}
|
|
128
|
+
const transaction_query_options& opts = {});
|
|
130
129
|
|
|
131
130
|
virtual ~attempt_context() = default;
|
|
132
131
|
|
|
@@ -143,4 +142,5 @@ class attempt_context
|
|
|
143
142
|
const transaction_query_options& options,
|
|
144
143
|
std::optional<std::string> query_context) = 0;
|
|
145
144
|
};
|
|
146
|
-
} // namespace
|
|
145
|
+
} // namespace transactions
|
|
146
|
+
} // namespace couchbase
|
|
@@ -15,12 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
#pragma once
|
|
17
17
|
|
|
18
|
-
#include "couchbase/collection.hxx"
|
|
19
|
-
#include "couchbase/scope.hxx"
|
|
20
|
-
|
|
21
|
-
#include <fmt/format.h>
|
|
22
18
|
#include <string>
|
|
23
|
-
#include <utility>
|
|
24
19
|
|
|
25
20
|
namespace couchbase::transactions
|
|
26
21
|
{
|
|
@@ -28,44 +23,15 @@ namespace couchbase::transactions
|
|
|
28
23
|
* @brief Offline, serializable representation of a bucket, scope, and collection
|
|
29
24
|
*/
|
|
30
25
|
struct transaction_keyspace {
|
|
26
|
+
transaction_keyspace(std::string bucket_name, std::string scope_name, std::string collection_name);
|
|
31
27
|
|
|
32
|
-
std::string
|
|
33
|
-
std::string scope{ couchbase::scope::default_name };
|
|
34
|
-
std::string collection{ couchbase::collection::default_name };
|
|
28
|
+
explicit transaction_keyspace(const std::string& bucket_name);
|
|
35
29
|
|
|
36
|
-
|
|
37
|
-
transaction_keyspace(transaction_keyspace&&) = default;
|
|
38
|
-
transaction_keyspace& operator=(const transaction_keyspace& keyspace)
|
|
39
|
-
{
|
|
40
|
-
if (this != &keyspace) {
|
|
41
|
-
bucket = keyspace.bucket;
|
|
42
|
-
scope = keyspace.scope;
|
|
43
|
-
collection = keyspace.collection;
|
|
44
|
-
}
|
|
45
|
-
return *this;
|
|
46
|
-
}
|
|
47
|
-
bool operator==(const transaction_keyspace& keyspace)
|
|
30
|
+
bool operator==(const transaction_keyspace& keyspace) const
|
|
48
31
|
{
|
|
49
32
|
return bucket == keyspace.bucket && scope == keyspace.scope && collection == keyspace.collection;
|
|
50
33
|
}
|
|
51
34
|
|
|
52
|
-
transaction_keyspace(std::string bucket_name, std::string scope_name, std::string collection_name)
|
|
53
|
-
: bucket(std::move(bucket_name))
|
|
54
|
-
, scope(std::move(scope_name))
|
|
55
|
-
, collection(std::move(collection_name))
|
|
56
|
-
{
|
|
57
|
-
if (scope.empty()) {
|
|
58
|
-
scope = couchbase::scope::default_name;
|
|
59
|
-
}
|
|
60
|
-
if (collection.empty()) {
|
|
61
|
-
collection = couchbase::collection::default_name;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
explicit transaction_keyspace(const std::string& bucket_name)
|
|
66
|
-
: transaction_keyspace{ bucket_name, couchbase::scope::default_name, couchbase::collection::default_name }
|
|
67
|
-
{
|
|
68
|
-
}
|
|
69
35
|
/**
|
|
70
36
|
* Check if a keyspace is valid.
|
|
71
37
|
*
|
|
@@ -74,10 +40,7 @@ struct transaction_keyspace {
|
|
|
74
40
|
*
|
|
75
41
|
* @return true if valid.
|
|
76
42
|
*/
|
|
77
|
-
bool valid()
|
|
78
|
-
{
|
|
79
|
-
return !bucket.empty() && !scope.empty() && !collection.empty();
|
|
80
|
-
}
|
|
43
|
+
bool valid();
|
|
81
44
|
|
|
82
45
|
/** @private */
|
|
83
46
|
template<typename OStream>
|
|
@@ -90,22 +53,9 @@ struct transaction_keyspace {
|
|
|
90
53
|
os << "}";
|
|
91
54
|
return os;
|
|
92
55
|
}
|
|
56
|
+
|
|
57
|
+
std::string bucket;
|
|
58
|
+
std::string scope;
|
|
59
|
+
std::string collection;
|
|
93
60
|
};
|
|
94
61
|
} // namespace couchbase::transactions
|
|
95
|
-
|
|
96
|
-
/** @private */
|
|
97
|
-
template<>
|
|
98
|
-
struct fmt::formatter<couchbase::transactions::transaction_keyspace> {
|
|
99
|
-
public:
|
|
100
|
-
template<typename ParseContext>
|
|
101
|
-
constexpr auto parse(ParseContext& ctx)
|
|
102
|
-
{
|
|
103
|
-
return ctx.begin();
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
template<typename FormatContext>
|
|
107
|
-
auto format(const couchbase::transactions::transaction_keyspace& k, FormatContext& ctx) const
|
|
108
|
-
{
|
|
109
|
-
return format_to(ctx.out(), "transaction_keyspace:{{ bucket: {}, scope: {}, collection: {} }}", k.bucket, k.scope, k.collection);
|
|
110
|
-
}
|
|
111
|
-
};
|
|
@@ -16,13 +16,18 @@
|
|
|
16
16
|
|
|
17
17
|
#pragma once
|
|
18
18
|
|
|
19
|
+
#include <couchbase/durability_level.hxx>
|
|
19
20
|
#include <couchbase/query_scan_consistency.hxx>
|
|
20
21
|
#include <couchbase/transactions/transactions_config.hxx>
|
|
21
22
|
|
|
22
23
|
#include <chrono>
|
|
23
24
|
#include <optional>
|
|
24
25
|
|
|
25
|
-
namespace couchbase
|
|
26
|
+
namespace couchbase
|
|
27
|
+
{
|
|
28
|
+
class collection;
|
|
29
|
+
|
|
30
|
+
namespace transactions
|
|
26
31
|
{
|
|
27
32
|
/**
|
|
28
33
|
* The transaction_options can be passed in to override some elements of the global @ref transactions_config.
|
|
@@ -40,11 +45,8 @@ class transaction_options
|
|
|
40
45
|
* @param level Durability level for this transaction.
|
|
41
46
|
* @return reference to this object, convenient for chaining operations.
|
|
42
47
|
*/
|
|
43
|
-
transaction_options& durability_level(durability_level level)
|
|
44
|
-
|
|
45
|
-
durability_ = level;
|
|
46
|
-
return *this;
|
|
47
|
-
}
|
|
48
|
+
transaction_options& durability_level(durability_level level);
|
|
49
|
+
|
|
48
50
|
/**
|
|
49
51
|
* Get the durability if it has been set.
|
|
50
52
|
*
|
|
@@ -52,10 +54,8 @@ class transaction_options
|
|
|
52
54
|
*
|
|
53
55
|
* @return durability if set.
|
|
54
56
|
*/
|
|
55
|
-
std::optional<couchbase::durability_level> durability_level()
|
|
56
|
-
|
|
57
|
-
return durability_;
|
|
58
|
-
}
|
|
57
|
+
[[nodiscard]] std::optional<couchbase::durability_level> durability_level() const;
|
|
58
|
+
|
|
59
59
|
/**
|
|
60
60
|
* Set the @ref query_scan_consistency for this transaction.
|
|
61
61
|
*
|
|
@@ -64,11 +64,8 @@ class transaction_options
|
|
|
64
64
|
* @param scan_consistency The desired @ref query_scan_consistency for this transaction.
|
|
65
65
|
* @return reference to this object, convenient for chaining operations.
|
|
66
66
|
*/
|
|
67
|
-
transaction_options& scan_consistency(query_scan_consistency scan_consistency)
|
|
68
|
-
|
|
69
|
-
scan_consistency_ = scan_consistency;
|
|
70
|
-
return *this;
|
|
71
|
-
}
|
|
67
|
+
transaction_options& scan_consistency(query_scan_consistency scan_consistency);
|
|
68
|
+
|
|
72
69
|
/**
|
|
73
70
|
* Get the scan_consistency if it has been set.
|
|
74
71
|
*
|
|
@@ -76,55 +73,28 @@ class transaction_options
|
|
|
76
73
|
*
|
|
77
74
|
* @return The scan_consistency, if set.
|
|
78
75
|
*/
|
|
79
|
-
std::optional<query_scan_consistency> scan_consistency()
|
|
80
|
-
{
|
|
81
|
-
return scan_consistency_;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Set the timeout for key-value operations for this transaction.
|
|
85
|
-
*
|
|
86
|
-
* @param kv_timeout Desired key-value timeout.
|
|
87
|
-
* @return reference to this object, convenient for chaining operations.
|
|
88
|
-
*/
|
|
89
|
-
transaction_options& kv_timeout(std::chrono::milliseconds kv_timeout)
|
|
90
|
-
{
|
|
91
|
-
kv_timeout_ = kv_timeout;
|
|
92
|
-
return *this;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Get the key-value timeout if it has been set.
|
|
97
|
-
*
|
|
98
|
-
* @return The key-value timeout, if set.
|
|
99
|
-
*/
|
|
100
|
-
std::optional<std::chrono::milliseconds> kv_timeout()
|
|
101
|
-
{
|
|
102
|
-
return kv_timeout_;
|
|
103
|
-
}
|
|
76
|
+
[[nodiscard]] std::optional<query_scan_consistency> scan_consistency() const;
|
|
104
77
|
|
|
105
78
|
/**
|
|
106
|
-
* Set the
|
|
79
|
+
* Set the timeout for this transaction.
|
|
107
80
|
*
|
|
108
|
-
* @tparam T
|
|
109
|
-
* @param
|
|
81
|
+
* @tparam T timeout type, e.g. @ref std::chrono::milliseconds, or similar
|
|
82
|
+
* @param timeout Desired timeout
|
|
110
83
|
* @return reference to this object, convenient for chaining operations.
|
|
111
84
|
*/
|
|
112
85
|
template<typename T>
|
|
113
|
-
transaction_options&
|
|
86
|
+
transaction_options& timeout(T timeout)
|
|
114
87
|
{
|
|
115
|
-
|
|
88
|
+
timeout_ = std::chrono::duration_cast<std::chrono::nanoseconds>(timeout);
|
|
116
89
|
return *this;
|
|
117
90
|
}
|
|
118
91
|
|
|
119
92
|
/**
|
|
120
|
-
* Get the
|
|
93
|
+
* Get the timeout, if set.
|
|
121
94
|
*
|
|
122
|
-
* @return the
|
|
95
|
+
* @return the timeout, if set.
|
|
123
96
|
*/
|
|
124
|
-
std::optional<std::chrono::nanoseconds>
|
|
125
|
-
{
|
|
126
|
-
return expiration_time_;
|
|
127
|
-
}
|
|
97
|
+
std::optional<std::chrono::nanoseconds> timeout();
|
|
128
98
|
|
|
129
99
|
/**
|
|
130
100
|
* Set the metadata collection to use for this transaction
|
|
@@ -136,11 +106,8 @@ class transaction_options
|
|
|
136
106
|
* @param coll The desired collection to use.
|
|
137
107
|
* @return reference to this object, convenient for chaining operations.
|
|
138
108
|
*/
|
|
139
|
-
transaction_options& metadata_collection(const couchbase::collection& coll)
|
|
140
|
-
|
|
141
|
-
metadata_collection_.emplace(coll.bucket_name(), coll.scope_name(), coll.name());
|
|
142
|
-
return *this;
|
|
143
|
-
}
|
|
109
|
+
transaction_options& metadata_collection(const couchbase::collection& coll);
|
|
110
|
+
|
|
144
111
|
/**
|
|
145
112
|
* Set metadata collection to use for this transaction
|
|
146
113
|
*
|
|
@@ -157,30 +124,21 @@ class transaction_options
|
|
|
157
124
|
*
|
|
158
125
|
* @return the metadata collection, as a @ref transaction_keyspace, if set.
|
|
159
126
|
*/
|
|
160
|
-
std::optional<transaction_keyspace> metadata_collection()
|
|
161
|
-
{
|
|
162
|
-
return metadata_collection_;
|
|
163
|
-
}
|
|
127
|
+
[[nodiscard]] std::optional<transaction_keyspace> metadata_collection() const;
|
|
164
128
|
|
|
165
129
|
/** @private */
|
|
166
130
|
transaction_options& test_factories(std::shared_ptr<core::transactions::attempt_context_testing_hooks> hooks,
|
|
167
|
-
std::shared_ptr<core::transactions::cleanup_testing_hooks> cleanup_hooks)
|
|
168
|
-
{
|
|
169
|
-
attempt_context_hooks_ = hooks;
|
|
170
|
-
cleanup_hooks_ = cleanup_hooks;
|
|
171
|
-
return *this;
|
|
172
|
-
}
|
|
131
|
+
std::shared_ptr<core::transactions::cleanup_testing_hooks> cleanup_hooks);
|
|
173
132
|
/** @private */
|
|
174
133
|
[[nodiscard]] transactions_config::built apply(const transactions_config::built& conf) const;
|
|
175
134
|
|
|
176
135
|
private:
|
|
177
136
|
std::optional<couchbase::durability_level> durability_;
|
|
178
137
|
std::optional<couchbase::query_scan_consistency> scan_consistency_;
|
|
179
|
-
std::optional<std::chrono::
|
|
180
|
-
std::optional<std::chrono::nanoseconds> expiration_time_;
|
|
138
|
+
std::optional<std::chrono::nanoseconds> timeout_;
|
|
181
139
|
std::optional<transaction_keyspace> metadata_collection_;
|
|
182
140
|
std::shared_ptr<core::transactions::attempt_context_testing_hooks> attempt_context_hooks_;
|
|
183
141
|
std::shared_ptr<core::transactions::cleanup_testing_hooks> cleanup_hooks_;
|
|
184
142
|
};
|
|
185
|
-
|
|
186
|
-
} // namespace couchbase
|
|
143
|
+
} // namespace transactions
|
|
144
|
+
} // namespace couchbase
|
|
@@ -15,8 +15,6 @@
|
|
|
15
15
|
*/
|
|
16
16
|
#pragma once
|
|
17
17
|
|
|
18
|
-
// TODO: remove this when moving the wrap_request call
|
|
19
|
-
#include "core/operations/document_query.hxx"
|
|
20
18
|
#include <couchbase/query_options.hxx>
|
|
21
19
|
|
|
22
20
|
// NOTE: when query is in public api, we will hold a query_options struct instead, and
|
|
@@ -57,6 +55,7 @@ class transaction_query_options
|
|
|
57
55
|
opts_.raw(key, value);
|
|
58
56
|
return *this;
|
|
59
57
|
}
|
|
58
|
+
|
|
60
59
|
/**
|
|
61
60
|
* Set ad_hoc.
|
|
62
61
|
*
|
|
@@ -71,6 +70,7 @@ class transaction_query_options
|
|
|
71
70
|
opts_.adhoc(value);
|
|
72
71
|
return *this;
|
|
73
72
|
}
|
|
73
|
+
|
|
74
74
|
/**
|
|
75
75
|
* Set the query_scan_consistency for this query.
|
|
76
76
|
*
|
|
@@ -98,6 +98,7 @@ class transaction_query_options
|
|
|
98
98
|
opts_.profile(mode);
|
|
99
99
|
return *this;
|
|
100
100
|
}
|
|
101
|
+
|
|
101
102
|
/**
|
|
102
103
|
* Set a client id for this query.
|
|
103
104
|
*
|
|
@@ -139,6 +140,7 @@ class transaction_query_options
|
|
|
139
140
|
opts_.readonly(readonly);
|
|
140
141
|
return *this;
|
|
141
142
|
}
|
|
143
|
+
|
|
142
144
|
/**
|
|
143
145
|
* Set the scan cap for this query.
|
|
144
146
|
*
|
|
@@ -152,6 +154,7 @@ class transaction_query_options
|
|
|
152
154
|
opts_.scan_cap(cap);
|
|
153
155
|
return *this;
|
|
154
156
|
}
|
|
157
|
+
|
|
155
158
|
/**
|
|
156
159
|
* Set pipeline_batch size for this query.
|
|
157
160
|
*
|
|
@@ -195,6 +198,7 @@ class transaction_query_options
|
|
|
195
198
|
opts_.positional_parameters(parameters...);
|
|
196
199
|
return *this;
|
|
197
200
|
}
|
|
201
|
+
|
|
198
202
|
/**
|
|
199
203
|
* Set named parameters for this query.
|
|
200
204
|
*
|
|
@@ -210,6 +214,7 @@ class transaction_query_options
|
|
|
210
214
|
opts_.named_parameters(parameters...);
|
|
211
215
|
return *this;
|
|
212
216
|
}
|
|
217
|
+
|
|
213
218
|
/**
|
|
214
219
|
* Set metrics for this query.
|
|
215
220
|
*
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
1
2
|
/*
|
|
2
3
|
* Copyright 2021-Present Couchbase, Inc.
|
|
3
4
|
*
|
|
@@ -15,6 +16,7 @@
|
|
|
15
16
|
*/
|
|
16
17
|
#pragma once
|
|
17
18
|
|
|
19
|
+
#include <couchbase/durability_level.hxx>
|
|
18
20
|
#include <couchbase/transactions/transaction_keyspace.hxx>
|
|
19
21
|
#include <couchbase/transactions/transactions_cleanup_config.hxx>
|
|
20
22
|
#include <couchbase/transactions/transactions_query_config.hxx>
|
|
@@ -77,55 +79,28 @@ class transactions_config
|
|
|
77
79
|
}
|
|
78
80
|
|
|
79
81
|
/**
|
|
80
|
-
* @brief
|
|
81
|
-
*
|
|
82
|
-
* @see kv_timeout()
|
|
83
|
-
* @param duration An std::chrono::duration representing the desired default kv operation timeout.
|
|
84
|
-
* @return reference to this, so calls can be chained.
|
|
85
|
-
*/
|
|
86
|
-
template<typename T>
|
|
87
|
-
transactions_config& kv_timeout(T duration)
|
|
88
|
-
{
|
|
89
|
-
kv_timeout_ = std::chrono::duration_cast<std::chrono::milliseconds>(duration);
|
|
90
|
-
return *this;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* @brief Get kv_timeout
|
|
95
|
-
*
|
|
96
|
-
* This is the default kv operation timeout used throughout the transactions. Note all the operations
|
|
97
|
-
* have an options class which allows you to override this value for a particular operation, if desired.
|
|
98
|
-
*
|
|
99
|
-
* @return The default kv operation timeout.
|
|
100
|
-
*/
|
|
101
|
-
[[nodiscard]] std::optional<std::chrono::milliseconds> kv_timeout() const
|
|
102
|
-
{
|
|
103
|
-
return kv_timeout_;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* @brief Get expiration time for transactions
|
|
82
|
+
* @brief Get the timeout for transactions
|
|
108
83
|
*
|
|
109
84
|
* Transactions can conflict (or other operations on those documents), and may retry.
|
|
110
85
|
* This is the maximum time a transaction can take, including any retries. The transaction will throw
|
|
111
86
|
* an @ref transaction_expired and rollback when this occurs.
|
|
112
87
|
*
|
|
113
|
-
* @return
|
|
88
|
+
* @return timeout for transactions.
|
|
114
89
|
*/
|
|
115
|
-
[[nodiscard]] std::chrono::nanoseconds
|
|
90
|
+
[[nodiscard]] std::chrono::nanoseconds timeout() const
|
|
116
91
|
{
|
|
117
|
-
return
|
|
92
|
+
return timeout_;
|
|
118
93
|
}
|
|
119
94
|
/**
|
|
120
|
-
* @brief Set the
|
|
95
|
+
* @brief Set the timeout for transactions.
|
|
121
96
|
*
|
|
122
97
|
* @param duration desired expiration for transactions.
|
|
123
98
|
* @return reference to this, so calls can be chained.
|
|
124
99
|
*/
|
|
125
100
|
template<typename T>
|
|
126
|
-
transactions_config&
|
|
101
|
+
transactions_config& timeout(T duration)
|
|
127
102
|
{
|
|
128
|
-
|
|
103
|
+
timeout_ = std::chrono::duration_cast<std::chrono::nanoseconds>(duration);
|
|
129
104
|
return *this;
|
|
130
105
|
}
|
|
131
106
|
|
|
@@ -234,8 +209,7 @@ class transactions_config
|
|
|
234
209
|
/** @private */
|
|
235
210
|
struct built {
|
|
236
211
|
couchbase::durability_level level;
|
|
237
|
-
std::chrono::nanoseconds
|
|
238
|
-
std::optional<std::chrono::milliseconds> kv_timeout;
|
|
212
|
+
std::chrono::nanoseconds timeout;
|
|
239
213
|
std::shared_ptr<core::transactions::attempt_context_testing_hooks> attempt_context_hooks;
|
|
240
214
|
std::shared_ptr<core::transactions::cleanup_testing_hooks> cleanup_hooks;
|
|
241
215
|
std::optional<couchbase::transactions::transaction_keyspace> metadata_collection;
|
|
@@ -248,8 +222,7 @@ class transactions_config
|
|
|
248
222
|
|
|
249
223
|
private:
|
|
250
224
|
couchbase::durability_level level_{ couchbase::durability_level::majority };
|
|
251
|
-
std::chrono::nanoseconds
|
|
252
|
-
std::optional<std::chrono::milliseconds> kv_timeout_;
|
|
225
|
+
std::chrono::nanoseconds timeout_{ std::chrono::seconds(15) };
|
|
253
226
|
std::shared_ptr<core::transactions::attempt_context_testing_hooks> attempt_context_hooks_;
|
|
254
227
|
std::shared_ptr<core::transactions::cleanup_testing_hooks> cleanup_hooks_;
|
|
255
228
|
std::optional<couchbase::transactions::transaction_keyspace> metadata_collection_;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2020-Present Couchbase, Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#pragma once
|
|
19
|
+
|
|
20
|
+
#include <couchbase/common_options.hxx>
|
|
21
|
+
|
|
22
|
+
#include <functional>
|
|
23
|
+
#include <memory>
|
|
24
|
+
#include <optional>
|
|
25
|
+
#include <string>
|
|
26
|
+
|
|
27
|
+
namespace couchbase
|
|
28
|
+
{
|
|
29
|
+
struct unfreeze_plan_search_index_options : public common_options<unfreeze_plan_search_index_options> {
|
|
30
|
+
public:
|
|
31
|
+
struct built : public common_options<unfreeze_plan_search_index_options>::built {
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
[[nodiscard]] auto build() const -> built
|
|
35
|
+
{
|
|
36
|
+
return { build_common_options() };
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
private:
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
using unfreeze_plan_search_index_handler = std::function<void(couchbase::manager_error_context)>;
|
|
43
|
+
} // namespace couchbase
|
|
@@ -70,28 +70,4 @@ struct unlock_options : public common_options<unlock_options> {
|
|
|
70
70
|
* @uncommitted
|
|
71
71
|
*/
|
|
72
72
|
using unlock_handler = std::function<void(couchbase::key_value_error_context)>;
|
|
73
|
-
|
|
74
|
-
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
75
|
-
namespace core
|
|
76
|
-
{
|
|
77
|
-
class cluster;
|
|
78
|
-
namespace impl
|
|
79
|
-
{
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* @since 1.0.0
|
|
83
|
-
* @internal
|
|
84
|
-
*/
|
|
85
|
-
void
|
|
86
|
-
initiate_unlock_operation(std::shared_ptr<couchbase::core::cluster> core,
|
|
87
|
-
std::string bucket_name,
|
|
88
|
-
std::string scope_name,
|
|
89
|
-
std::string collection_name,
|
|
90
|
-
std::string document_key,
|
|
91
|
-
couchbase::cas cas,
|
|
92
|
-
couchbase::unlock_options::built options,
|
|
93
|
-
couchbase::unlock_handler&& handler);
|
|
94
|
-
#endif
|
|
95
|
-
} // namespace impl
|
|
96
|
-
} // namespace core
|
|
97
73
|
} // namespace couchbase
|
|
@@ -17,26 +17,55 @@
|
|
|
17
17
|
|
|
18
18
|
#pragma once
|
|
19
19
|
|
|
20
|
-
#include <
|
|
20
|
+
#include <couchbase/common_options.hxx>
|
|
21
|
+
#include <couchbase/manager_error_context.hxx>
|
|
22
|
+
|
|
23
|
+
#include <cstdint>
|
|
21
24
|
#include <memory>
|
|
22
25
|
#include <optional>
|
|
23
|
-
#include <string>
|
|
24
26
|
|
|
25
27
|
namespace couchbase
|
|
26
28
|
{
|
|
27
29
|
struct update_collection_options : public common_options<update_collection_options> {
|
|
28
30
|
public:
|
|
31
|
+
/**
|
|
32
|
+
* Immutable value object representing consistent options.
|
|
33
|
+
*
|
|
34
|
+
* @since 1.0.0
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
29
37
|
struct built : public common_options<update_collection_options>::built {
|
|
30
38
|
};
|
|
31
39
|
|
|
40
|
+
/**
|
|
41
|
+
* Validates the 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
|
+
*/
|
|
32
50
|
[[nodiscard]] auto build() const -> built
|
|
33
51
|
{
|
|
34
52
|
return { build_common_options() };
|
|
35
53
|
}
|
|
36
54
|
};
|
|
37
55
|
|
|
56
|
+
/**
|
|
57
|
+
* The settings that should be updated for the collection
|
|
58
|
+
*/
|
|
38
59
|
struct update_collection_settings {
|
|
39
|
-
|
|
60
|
+
/**
|
|
61
|
+
* The maximum expiry, in seconds, for documents in this collection. Values greater than or equal to -1 are valid.
|
|
62
|
+
* Value of 0 sets max_expiry to the bucket-level setting and value of -1 to set it as no-expiry.
|
|
63
|
+
*/
|
|
64
|
+
std::optional<std::int32_t> max_expiry{};
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Whether history retention should be enabled.
|
|
68
|
+
*/
|
|
40
69
|
std::optional<bool> history{};
|
|
41
70
|
};
|
|
42
71
|
|
|
@@ -131,28 +131,4 @@ struct upsert_options : public common_durability_options<upsert_options> {
|
|
|
131
131
|
* @uncommitted
|
|
132
132
|
*/
|
|
133
133
|
using upsert_handler = std::function<void(couchbase::key_value_error_context, mutation_result)>;
|
|
134
|
-
|
|
135
|
-
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
136
|
-
namespace core
|
|
137
|
-
{
|
|
138
|
-
class cluster;
|
|
139
|
-
namespace impl
|
|
140
|
-
{
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* @since 1.0.0
|
|
144
|
-
* @internal
|
|
145
|
-
*/
|
|
146
|
-
void
|
|
147
|
-
initiate_upsert_operation(std::shared_ptr<couchbase::core::cluster> core,
|
|
148
|
-
std::string bucket_name,
|
|
149
|
-
std::string scope_name,
|
|
150
|
-
std::string collection_name,
|
|
151
|
-
std::string document_key,
|
|
152
|
-
couchbase::codec::encoded_value encoded,
|
|
153
|
-
couchbase::upsert_options::built options,
|
|
154
|
-
couchbase::upsert_handler&& handler);
|
|
155
|
-
#endif
|
|
156
|
-
} // namespace impl
|
|
157
|
-
} // namespace core
|
|
158
134
|
} // namespace couchbase
|