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
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2020-Present Couchbase, Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#pragma once
|
|
19
|
+
|
|
20
|
+
#include <couchbase/allow_querying_search_index_options.hxx>
|
|
21
|
+
#include <couchbase/analyze_document_options.hxx>
|
|
22
|
+
#include <couchbase/disallow_querying_search_index_options.hxx>
|
|
23
|
+
#include <couchbase/drop_search_index_options.hxx>
|
|
24
|
+
#include <couchbase/freeze_plan_search_index_options.hxx>
|
|
25
|
+
#include <couchbase/get_all_search_indexes_options.hxx>
|
|
26
|
+
#include <couchbase/get_indexed_search_index_options.hxx>
|
|
27
|
+
#include <couchbase/get_search_index_options.hxx>
|
|
28
|
+
#include <couchbase/pause_ingest_search_index_options.hxx>
|
|
29
|
+
#include <couchbase/resume_ingest_search_index_options.hxx>
|
|
30
|
+
#include <couchbase/unfreeze_plan_search_index_options.hxx>
|
|
31
|
+
#include <couchbase/upsert_search_index_options.hxx>
|
|
32
|
+
|
|
33
|
+
#include <future>
|
|
34
|
+
#include <memory>
|
|
35
|
+
|
|
36
|
+
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
37
|
+
namespace couchbase
|
|
38
|
+
{
|
|
39
|
+
namespace core
|
|
40
|
+
{
|
|
41
|
+
class cluster;
|
|
42
|
+
} // namespace core
|
|
43
|
+
class search_index_manager_impl;
|
|
44
|
+
} // namespace couchbase
|
|
45
|
+
#endif
|
|
46
|
+
|
|
47
|
+
namespace couchbase
|
|
48
|
+
{
|
|
49
|
+
class cluster;
|
|
50
|
+
|
|
51
|
+
class search_index_manager
|
|
52
|
+
{
|
|
53
|
+
public:
|
|
54
|
+
/**
|
|
55
|
+
* Fetches an index from the server if it exists
|
|
56
|
+
*
|
|
57
|
+
* @param index_name the name of the index
|
|
58
|
+
* @param options optional parameters
|
|
59
|
+
* @param handler handler that implements @ref get_search_index_handler
|
|
60
|
+
*
|
|
61
|
+
* @since 1.0.0
|
|
62
|
+
* @committed
|
|
63
|
+
*/
|
|
64
|
+
void get_index(std::string index_name, const get_search_index_options& options, get_search_index_handler&& handler) const;
|
|
65
|
+
|
|
66
|
+
[[nodiscard]] auto get_index(std::string index_name, const get_search_index_options& options = {}) const
|
|
67
|
+
-> std::future<std::pair<manager_error_context, management::search::index>>;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Fetches all indexes from the server
|
|
71
|
+
*
|
|
72
|
+
* @param options optional parameters
|
|
73
|
+
* @param handler handler that implements @ref get_all_search_indexes_handler
|
|
74
|
+
*
|
|
75
|
+
* @since 1.0.0
|
|
76
|
+
* @committed
|
|
77
|
+
*/
|
|
78
|
+
void get_all_indexes(const get_all_search_indexes_options& options, get_all_search_indexes_handler&& handler) const;
|
|
79
|
+
|
|
80
|
+
[[nodiscard]] auto get_all_indexes(const get_all_search_indexes_options& options = {}) const
|
|
81
|
+
-> std::future<std::pair<manager_error_context, std::vector<management::search::index>>>;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Creates, or updates an index
|
|
85
|
+
*
|
|
86
|
+
* @param search_index the index definition including name and settings
|
|
87
|
+
* @param options optional parameters
|
|
88
|
+
* @param handler handler that implements @ref upsert_search_index_handler
|
|
89
|
+
*
|
|
90
|
+
* @since 1.0.0
|
|
91
|
+
* @committed
|
|
92
|
+
*/
|
|
93
|
+
void upsert_index(const management::search::index& search_index,
|
|
94
|
+
const upsert_search_index_options& options,
|
|
95
|
+
upsert_search_index_handler&& handler) const;
|
|
96
|
+
|
|
97
|
+
[[nodiscard]] auto upsert_index(const management::search::index& search_index, const upsert_search_index_options& options = {}) const
|
|
98
|
+
-> std::future<manager_error_context>;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Drops an index
|
|
102
|
+
*
|
|
103
|
+
* @param index_name the name of the search index
|
|
104
|
+
* @param options optional parameters
|
|
105
|
+
* @param handler handler that implements @ref drop_search_index_handler
|
|
106
|
+
*
|
|
107
|
+
* @since 1.0.0
|
|
108
|
+
* @committed
|
|
109
|
+
*/
|
|
110
|
+
void drop_index(std::string index_name, const drop_search_index_options& options, drop_search_index_handler&& handler) const;
|
|
111
|
+
|
|
112
|
+
[[nodiscard]] auto drop_index(std::string index_name, const drop_search_index_options& options = {}) const
|
|
113
|
+
-> std::future<manager_error_context>;
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Retrieves the number of documents that have been indexed for an index
|
|
117
|
+
*
|
|
118
|
+
* @param index_name the name of the search index
|
|
119
|
+
* @param options optional parameters
|
|
120
|
+
* @param handler handler that implements @ref get_indexed_search_index_handler
|
|
121
|
+
*
|
|
122
|
+
* @since 1.0.0
|
|
123
|
+
* @committed
|
|
124
|
+
*/
|
|
125
|
+
void get_indexed_documents_count(std::string index_name,
|
|
126
|
+
const get_indexed_search_index_options& options,
|
|
127
|
+
get_indexed_search_index_handler&& handler) const;
|
|
128
|
+
|
|
129
|
+
[[nodiscard]] auto get_indexed_documents_count(std::string index_name, const get_indexed_search_index_options& options = {}) const
|
|
130
|
+
-> std::future<std::pair<manager_error_context, std::uint64_t>>;
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Pauses updates and maintenance for an index.
|
|
134
|
+
*
|
|
135
|
+
* @param index_name the name of the search index
|
|
136
|
+
* @param options optional parameters
|
|
137
|
+
* @param handler handler that implements @ref pause_ingest_search_index_handler
|
|
138
|
+
*
|
|
139
|
+
* @since 1.0.0
|
|
140
|
+
* @committed
|
|
141
|
+
*/
|
|
142
|
+
void pause_ingest(std::string index_name,
|
|
143
|
+
const pause_ingest_search_index_options& options,
|
|
144
|
+
pause_ingest_search_index_handler&& handler) const;
|
|
145
|
+
|
|
146
|
+
[[nodiscard]] auto pause_ingest(std::string index_name, const pause_ingest_search_index_options& options = {}) const
|
|
147
|
+
-> std::future<manager_error_context>;
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Resumes updates and maintenance for an index.
|
|
151
|
+
*
|
|
152
|
+
* @param index_name the name of the search index
|
|
153
|
+
* @param options optional parameters
|
|
154
|
+
* @param handler handler that implements @ref resume_ingest_search_index_handler
|
|
155
|
+
*
|
|
156
|
+
* @since 1.0.0
|
|
157
|
+
* @committed
|
|
158
|
+
*/
|
|
159
|
+
void resume_ingest(std::string index_name,
|
|
160
|
+
const resume_ingest_search_index_options& options,
|
|
161
|
+
resume_ingest_search_index_handler&& handler) const;
|
|
162
|
+
|
|
163
|
+
[[nodiscard]] auto resume_ingest(std::string index_name, const resume_ingest_search_index_options& options = {}) const
|
|
164
|
+
-> std::future<manager_error_context>;
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Allows querying against an index
|
|
168
|
+
*
|
|
169
|
+
* @param index_name the name of the search index
|
|
170
|
+
* @param options optional parameters
|
|
171
|
+
* @param handler handler that implements @ref allow_querying_search_index_handler
|
|
172
|
+
*
|
|
173
|
+
* @since 1.0.0
|
|
174
|
+
* @committed
|
|
175
|
+
*/
|
|
176
|
+
void allow_querying(std::string index_name,
|
|
177
|
+
const allow_querying_search_index_options& options,
|
|
178
|
+
allow_querying_search_index_handler&& handler) const;
|
|
179
|
+
|
|
180
|
+
[[nodiscard]] auto allow_querying(std::string index_name, const allow_querying_search_index_options& options = {}) const
|
|
181
|
+
-> std::future<manager_error_context>;
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Disallows querying against an index
|
|
185
|
+
*
|
|
186
|
+
* @param index_name the name of the search index
|
|
187
|
+
* @param options optional parameters
|
|
188
|
+
* @param handler handler that implements @ref disallow_querying_search_index_handler
|
|
189
|
+
*
|
|
190
|
+
* @since 1.0.0
|
|
191
|
+
* @committed
|
|
192
|
+
*/
|
|
193
|
+
void disallow_querying(std::string index_name,
|
|
194
|
+
const disallow_querying_search_index_options& options,
|
|
195
|
+
disallow_querying_search_index_handler&& handler) const;
|
|
196
|
+
|
|
197
|
+
[[nodiscard]] auto disallow_querying(std::string index_name, const disallow_querying_search_index_options& options = {}) const
|
|
198
|
+
-> std::future<manager_error_context>;
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Freeze the assignment of index partitions to nodes.
|
|
202
|
+
*
|
|
203
|
+
* @param index_name the name of the search index
|
|
204
|
+
* @param options optional parameters
|
|
205
|
+
* @param handler handler that implements @ref freeze_plan_search_index_handler
|
|
206
|
+
*
|
|
207
|
+
* @since 1.0.0
|
|
208
|
+
* @committed
|
|
209
|
+
*/
|
|
210
|
+
void freeze_plan(std::string index_name,
|
|
211
|
+
const freeze_plan_search_index_options& options,
|
|
212
|
+
freeze_plan_search_index_handler&& handler) const;
|
|
213
|
+
|
|
214
|
+
[[nodiscard]] auto freeze_plan(std::string index_name, const freeze_plan_search_index_options& options = {}) const
|
|
215
|
+
-> std::future<manager_error_context>;
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Unfreeze the assignment of index partitions to nodes.
|
|
219
|
+
*
|
|
220
|
+
* @param index_name the name of the search index
|
|
221
|
+
* @param options optional parameters
|
|
222
|
+
* @param handler handler that implements @ref unfreeze_plan_search_index_handler
|
|
223
|
+
*
|
|
224
|
+
* @since 1.0.0
|
|
225
|
+
* @committed
|
|
226
|
+
*/
|
|
227
|
+
void unfreeze_plan(std::string index_name,
|
|
228
|
+
const unfreeze_plan_search_index_options& options,
|
|
229
|
+
unfreeze_plan_search_index_handler&& handler) const;
|
|
230
|
+
|
|
231
|
+
[[nodiscard]] auto unfreeze_plan(std::string index_name, const unfreeze_plan_search_index_options& options = {}) const
|
|
232
|
+
-> std::future<manager_error_context>;
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Allows to see how a document is analyzed against a specific index.
|
|
236
|
+
*
|
|
237
|
+
* @param index_name the name of the search index
|
|
238
|
+
* @param document the document to be analyzed
|
|
239
|
+
* @param options optional parameters
|
|
240
|
+
* @param handler handler that implements @ref analyze_document_handler
|
|
241
|
+
*
|
|
242
|
+
* @since 1.0.0
|
|
243
|
+
* @committed
|
|
244
|
+
*/
|
|
245
|
+
template<typename Document>
|
|
246
|
+
void analyze_document(std::string index_name,
|
|
247
|
+
Document document,
|
|
248
|
+
const analyze_document_options& options,
|
|
249
|
+
analyze_document_handler&& handler) const
|
|
250
|
+
{
|
|
251
|
+
auto encoded = couchbase::codec::default_json_transcoder::encode(document); // Encode as JSON and convert to string
|
|
252
|
+
auto decoded = std::string{ reinterpret_cast<const char*>(encoded.data.data()), encoded.data.size() };
|
|
253
|
+
return analyze_document(std::move(index_name), decoded, options, std::move(handler));
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
template<typename Document>
|
|
257
|
+
[[nodiscard]] auto analyze_document(std::string index_name, Document document, const analyze_document_options& options = {}) const
|
|
258
|
+
-> std::future<std::pair<manager_error_context, std::vector<std::string>>>
|
|
259
|
+
{
|
|
260
|
+
auto encoded = couchbase::codec::default_json_transcoder::encode(document); // Encode as JSON and convert to string
|
|
261
|
+
auto decoded = std::string{ reinterpret_cast<const char*>(encoded.data.data()), encoded.data.size() };
|
|
262
|
+
|
|
263
|
+
return analyze_document(std::move(index_name), decoded, options);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* Allows to see how a document is analyzed against a specific index.
|
|
268
|
+
*
|
|
269
|
+
* @param index_name the name of the search index
|
|
270
|
+
* @param document the document to be analyzed encoded in JSON
|
|
271
|
+
* @param options optional parameters
|
|
272
|
+
* @param handler handler that implements @ref analyze_document_handler
|
|
273
|
+
*
|
|
274
|
+
* @since 1.0.0
|
|
275
|
+
* @committed
|
|
276
|
+
*/
|
|
277
|
+
void analyze_document(std::string index_name,
|
|
278
|
+
std::string document,
|
|
279
|
+
const analyze_document_options& options,
|
|
280
|
+
analyze_document_handler&& handler) const;
|
|
281
|
+
|
|
282
|
+
[[nodiscard]] auto analyze_document(std::string index_name, std::string document, const analyze_document_options& options) const
|
|
283
|
+
-> std::future<std::pair<manager_error_context, std::vector<std::string>>>;
|
|
284
|
+
|
|
285
|
+
private:
|
|
286
|
+
friend class cluster;
|
|
287
|
+
|
|
288
|
+
explicit search_index_manager(core::cluster core);
|
|
289
|
+
|
|
290
|
+
std::shared_ptr<search_index_manager_impl> impl_;
|
|
291
|
+
};
|
|
292
|
+
} // namespace couchbase
|
|
@@ -41,6 +41,16 @@ class search_row_location
|
|
|
41
41
|
*/
|
|
42
42
|
explicit search_row_location(internal_search_row_location location);
|
|
43
43
|
|
|
44
|
+
search_row_location();
|
|
45
|
+
|
|
46
|
+
~search_row_location();
|
|
47
|
+
|
|
48
|
+
search_row_location(const search_row_location&) = delete;
|
|
49
|
+
search_row_location& operator=(const search_row_location&) = delete;
|
|
50
|
+
|
|
51
|
+
search_row_location(search_row_location&&) noexcept;
|
|
52
|
+
search_row_location& operator=(search_row_location&&) noexcept;
|
|
53
|
+
|
|
44
54
|
[[nodiscard]] auto field() const -> const std::string&;
|
|
45
55
|
[[nodiscard]] auto term() const -> const std::string&;
|
|
46
56
|
[[nodiscard]] auto position() const -> const std::uint64_t&;
|
|
@@ -0,0 +1,84 @@
|
|
|
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/geo_point.hxx>
|
|
21
|
+
#include <couchbase/search_geo_distance_units.hxx>
|
|
22
|
+
#include <couchbase/search_sort.hxx>
|
|
23
|
+
|
|
24
|
+
#include <string>
|
|
25
|
+
|
|
26
|
+
namespace couchbase
|
|
27
|
+
{
|
|
28
|
+
/**
|
|
29
|
+
* Sorts by location in the hits
|
|
30
|
+
*
|
|
31
|
+
* @see https://docs.couchbase.com/server/current/fts/fts-search-request.html#sorting-with-objects
|
|
32
|
+
*
|
|
33
|
+
* @since 1.0.0
|
|
34
|
+
*/
|
|
35
|
+
class search_sort_geo_distance : public search_sort
|
|
36
|
+
{
|
|
37
|
+
public:
|
|
38
|
+
search_sort_geo_distance(geo_point location, std::string field)
|
|
39
|
+
: location_{ location }
|
|
40
|
+
, field_{ std::move(field) }
|
|
41
|
+
{
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
search_sort_geo_distance(double latitude, double longitude, std::string field)
|
|
45
|
+
: location_{ geo_point{ latitude, longitude } }
|
|
46
|
+
, field_{ std::move(field) }
|
|
47
|
+
{
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Set the sorting direction.
|
|
52
|
+
*
|
|
53
|
+
* @param desc `true` for descending order, `false` for ascending
|
|
54
|
+
* @return pointer to this
|
|
55
|
+
*
|
|
56
|
+
* @since 1.0.0
|
|
57
|
+
* @committed
|
|
58
|
+
*/
|
|
59
|
+
auto descending(bool desc) -> search_sort_geo_distance&;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Specifies the unit used for sorting
|
|
63
|
+
*
|
|
64
|
+
* @param unit the unit used
|
|
65
|
+
*
|
|
66
|
+
* @since 1.0.0
|
|
67
|
+
* @committed
|
|
68
|
+
*/
|
|
69
|
+
auto unit(search_geo_distance_units unit) -> search_sort_geo_distance&;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* @return encoded representation of the search facet.
|
|
73
|
+
*
|
|
74
|
+
* @since 1.0.0
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
[[nodiscard]] auto encode() const -> encoded_search_sort override;
|
|
78
|
+
|
|
79
|
+
private:
|
|
80
|
+
geo_point location_;
|
|
81
|
+
std::string field_;
|
|
82
|
+
std::optional<search_geo_distance_units> unit_;
|
|
83
|
+
};
|
|
84
|
+
} // namespace couchbase
|
|
@@ -67,28 +67,4 @@ struct touch_options : public common_options<touch_options> {
|
|
|
67
67
|
* @uncommitted
|
|
68
68
|
*/
|
|
69
69
|
using touch_handler = std::function<void(couchbase::key_value_error_context, result)>;
|
|
70
|
-
|
|
71
|
-
#ifndef COUCHBASE_CXX_CLIENT_DOXYGEN
|
|
72
|
-
namespace core
|
|
73
|
-
{
|
|
74
|
-
class cluster;
|
|
75
|
-
namespace impl
|
|
76
|
-
{
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* @since 1.0.0
|
|
80
|
-
* @internal
|
|
81
|
-
*/
|
|
82
|
-
void
|
|
83
|
-
initiate_touch_operation(std::shared_ptr<couchbase::core::cluster> core,
|
|
84
|
-
std::string bucket_name,
|
|
85
|
-
std::string scope_name,
|
|
86
|
-
std::string collection_name,
|
|
87
|
-
std::string document_key,
|
|
88
|
-
std::uint32_t expiry,
|
|
89
|
-
couchbase::touch_options::built options,
|
|
90
|
-
couchbase::touch_handler&& handler);
|
|
91
|
-
#endif
|
|
92
|
-
} // namespace impl
|
|
93
|
-
} // namespace core
|
|
94
70
|
} // namespace couchbase
|
|
@@ -15,12 +15,16 @@
|
|
|
15
15
|
*/
|
|
16
16
|
#pragma once
|
|
17
17
|
|
|
18
|
-
#include <couchbase/scope.hxx>
|
|
19
18
|
#include <couchbase/transactions/transaction_get_result.hxx>
|
|
20
19
|
#include <couchbase/transactions/transaction_query_options.hxx>
|
|
21
20
|
#include <couchbase/transactions/transaction_query_result.hxx>
|
|
22
21
|
|
|
23
|
-
namespace couchbase
|
|
22
|
+
namespace couchbase
|
|
23
|
+
{
|
|
24
|
+
class collection;
|
|
25
|
+
class scope;
|
|
26
|
+
|
|
27
|
+
namespace transactions
|
|
24
28
|
{
|
|
25
29
|
using async_result_handler = std::function<void(transaction_op_error_context, transaction_get_result)>;
|
|
26
30
|
using async_query_handler = std::function<void(transaction_op_error_context, transaction_query_result)>;
|
|
@@ -111,10 +115,8 @@ class async_attempt_context
|
|
|
111
115
|
* @param opts Options for the query
|
|
112
116
|
* @param handler Handler which implements @ref async_query_handler.
|
|
113
117
|
*/
|
|
114
|
-
void query(const scope& scope, std::string statement, transaction_query_options opts, async_query_handler&& handler)
|
|
115
|
-
|
|
116
|
-
return query(std::move(statement), std::move(opts), fmt::format("{}.{}", scope.bucket_name(), scope.name()), std::move(handler));
|
|
117
|
-
}
|
|
118
|
+
void query(const scope& scope, std::string statement, transaction_query_options opts, async_query_handler&& handler);
|
|
119
|
+
|
|
118
120
|
/**
|
|
119
121
|
* Perform a query.
|
|
120
122
|
*
|
|
@@ -154,4 +156,5 @@ class async_attempt_context
|
|
|
154
156
|
std::optional<std::string> query_context,
|
|
155
157
|
async_query_handler&&) = 0;
|
|
156
158
|
};
|
|
157
|
-
} // namespace
|
|
159
|
+
} // namespace transactions
|
|
160
|
+
} // namespace couchbase
|
|
@@ -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
|
-
};
|