couchbase 4.4.6 → 4.5.1
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/deps/couchbase-cxx-cache/mozilla-ca-bundle.crt +79 -165
- package/deps/couchbase-cxx-cache/mozilla-ca-bundle.sha256 +1 -1
- package/deps/couchbase-cxx-client/CMakeLists.txt +14 -3
- package/deps/couchbase-cxx-client/README.md +2 -2
- package/deps/couchbase-cxx-client/cmake/Profiler.cmake +15 -0
- package/deps/couchbase-cxx-client/core/app_telemetry_address.cxx +55 -0
- package/deps/couchbase-cxx-client/core/app_telemetry_address.hxx +39 -0
- package/deps/couchbase-cxx-client/core/app_telemetry_meter.cxx +791 -0
- package/deps/couchbase-cxx-client/core/app_telemetry_meter.hxx +200 -0
- package/deps/couchbase-cxx-client/core/app_telemetry_reporter.cxx +895 -0
- package/deps/couchbase-cxx-client/core/app_telemetry_reporter.hxx +59 -0
- package/deps/couchbase-cxx-client/core/bucket.cxx +77 -35
- package/deps/couchbase-cxx-client/core/bucket.hxx +17 -10
- package/deps/couchbase-cxx-client/core/cluster.cxx +56 -17
- package/deps/couchbase-cxx-client/core/cluster_credentials.cxx +27 -0
- package/deps/couchbase-cxx-client/core/cluster_credentials.hxx +36 -0
- package/deps/couchbase-cxx-client/core/cluster_options.hxx +13 -0
- package/deps/couchbase-cxx-client/core/collections_component.cxx +7 -5
- package/deps/couchbase-cxx-client/core/http_component.cxx +6 -0
- package/deps/couchbase-cxx-client/core/impl/bucket_manager.cxx +2 -0
- package/deps/couchbase-cxx-client/core/impl/cluster.cxx +10 -0
- package/deps/couchbase-cxx-client/core/impl/collection.cxx +2 -0
- package/deps/couchbase-cxx-client/core/impl/error.cxx +22 -6
- package/deps/couchbase-cxx-client/core/impl/error.hxx +1 -1
- package/deps/couchbase-cxx-client/core/impl/logger.cxx +51 -0
- package/deps/couchbase-cxx-client/core/impl/replica_utils.cxx +1 -1
- package/deps/couchbase-cxx-client/core/impl/transaction_get_multi_replicas_from_preferred_server_group_spec.cxx +32 -0
- package/deps/couchbase-cxx-client/core/impl/transaction_get_multi_spec.cxx +30 -0
- package/deps/couchbase-cxx-client/core/impl/transaction_op_error_category.cxx +2 -0
- package/deps/couchbase-cxx-client/core/io/config_tracker.cxx +6 -6
- package/deps/couchbase-cxx-client/core/io/http_command.hxx +35 -11
- package/deps/couchbase-cxx-client/core/io/http_session.cxx +10 -0
- package/deps/couchbase-cxx-client/core/io/http_session.hxx +4 -0
- package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +87 -35
- package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +41 -2
- package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +52 -19
- package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +3 -0
- package/deps/couchbase-cxx-client/core/logger/logger.cxx +46 -0
- package/deps/couchbase-cxx-client/core/logger/logger.hxx +41 -1
- package/deps/couchbase-cxx-client/core/management/bucket_settings.hxx +1 -0
- package/deps/couchbase-cxx-client/core/management/bucket_settings_json.hxx +4 -0
- package/deps/couchbase-cxx-client/core/meta/features.hxx +32 -0
- package/deps/couchbase-cxx-client/core/operations/document_analytics.cxx +9 -9
- package/deps/couchbase-cxx-client/core/operations/document_get_all_replicas.hxx +10 -2
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in.cxx +4 -0
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in_all_replicas.hxx +14 -2
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in_any_replica.hxx +4 -0
- package/deps/couchbase-cxx-client/core/operations/document_mutate_in.cxx +4 -0
- package/deps/couchbase-cxx-client/core/operations/document_mutate_in.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/document_query.cxx +12 -10
- package/deps/couchbase-cxx-client/core/operations/http_noop.cxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_create.cxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_update.cxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.cxx +3 -2
- package/deps/couchbase-cxx-client/core/origin.cxx +25 -5
- package/deps/couchbase-cxx-client/core/origin.hxx +18 -24
- package/deps/couchbase-cxx-client/core/platform/random.cc +6 -3
- package/deps/couchbase-cxx-client/core/platform/random.h +2 -2
- package/deps/couchbase-cxx-client/core/protocol/cmd_mutate_in.hxx +9 -0
- package/deps/couchbase-cxx-client/core/timeout_defaults.hxx +4 -0
- package/deps/couchbase-cxx-client/core/topology/configuration.cxx +10 -13
- package/deps/couchbase-cxx-client/core/topology/configuration.hxx +14 -15
- package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +6 -0
- package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.hxx +22 -2
- package/deps/couchbase-cxx-client/core/transactions/attempt_context.hxx +25 -7
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +723 -245
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +91 -12
- package/deps/couchbase-cxx-client/core/transactions/exceptions.cxx +5 -0
- package/deps/couchbase-cxx-client/core/transactions/exceptions.hxx +20 -0
- package/deps/couchbase-cxx-client/core/transactions/exceptions_fmt.hxx +3 -0
- package/deps/couchbase-cxx-client/core/transactions/forward_compat.cxx +71 -6
- package/deps/couchbase-cxx-client/core/transactions/forward_compat.hxx +45 -59
- package/deps/couchbase-cxx-client/core/transactions/get_multi_orchestrator.cxx +616 -0
- package/deps/couchbase-cxx-client/core/transactions/get_multi_orchestrator.hxx +61 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.cxx +8 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.hxx +16 -5
- package/deps/couchbase-cxx-client/core/transactions/internal/exceptions_internal.hxx +12 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/transaction_context.hxx +13 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/transaction_fields.hxx +1 -0
- package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +277 -96
- package/deps/couchbase-cxx-client/core/transactions/staged_mutation.hxx +28 -76
- package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +33 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_get_multi_mode.hxx +28 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_get_multi_replicas_from_preferred_server_group_mode.hxx +27 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_get_multi_replicas_from_preferred_server_group_result.hxx +72 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_get_multi_result.hxx +67 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_links.hxx +10 -0
- package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +8 -3
- package/deps/couchbase-cxx-client/core/utils/connection_string.cxx +7 -0
- package/deps/couchbase-cxx-client/core/utils/connection_string.hxx +1 -0
- package/deps/couchbase-cxx-client/core/utils/url_codec.cxx +26 -0
- package/deps/couchbase-cxx-client/core/utils/url_codec.hxx +11 -0
- package/deps/couchbase-cxx-client/core/websocket_codec.cxx +647 -0
- package/deps/couchbase-cxx-client/core/websocket_codec.hxx +77 -0
- package/deps/couchbase-cxx-client/couchbase/analytics_options.hxx +70 -6
- package/deps/couchbase-cxx-client/couchbase/application_telemetry_options.hxx +124 -0
- package/deps/couchbase-cxx-client/couchbase/behavior_options.hxx +9 -0
- package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +17 -0
- package/deps/couchbase-cxx-client/couchbase/error_codes.hxx +1 -0
- package/deps/couchbase-cxx-client/couchbase/logger.hxx +16 -0
- package/deps/couchbase-cxx-client/couchbase/management/bucket_settings.hxx +1 -0
- package/deps/couchbase-cxx-client/couchbase/query_options.hxx +70 -6
- package/deps/couchbase-cxx-client/couchbase/transactions/async_attempt_context.hxx +29 -5
- package/deps/couchbase-cxx-client/couchbase/transactions/attempt_context.hxx +24 -7
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_multi_mode.hxx +47 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_multi_options.hxx +44 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_multi_replicas_from_preferred_server_group_mode.hxx +46 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_multi_replicas_from_preferred_server_group_options.hxx +48 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_multi_replicas_from_preferred_server_group_result.hxx +112 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_multi_replicas_from_preferred_server_group_spec.hxx +47 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_multi_result.hxx +105 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_multi_spec.hxx +45 -0
- package/dist/analyticsindexmanager.d.ts +1 -0
- package/dist/binarycollection.d.ts +1 -0
- package/dist/binding.d.ts +82 -38
- package/dist/binding.js +14 -7
- package/dist/bindingutilities.d.ts +16 -4
- package/dist/bindingutilities.js +233 -31
- package/dist/cluster.d.ts +39 -0
- package/dist/cluster.js +21 -3
- package/dist/collection.d.ts +20 -1
- package/dist/collection.js +13 -0
- package/dist/errorcontexts.d.ts +24 -0
- package/dist/errorcontexts.js +12 -6
- package/dist/generaltypes.d.ts +16 -0
- package/dist/generaltypes.js +18 -1
- package/dist/httpexecutor.d.ts +1 -2
- package/dist/httpexecutor.js +0 -9
- package/dist/streamablepromises.d.ts +25 -7
- package/dist/streamablepromises.js +32 -7
- package/dist/transactions.d.ts +239 -1
- package/dist/transactions.js +316 -2
- package/dist/transcoders.d.ts +1 -0
- package/dist/utilities.d.ts +1 -0
- package/package.json +24 -24
- package/src/connection.cpp +34 -4
- package/src/constants.cpp +124 -0
- package/src/jstocbpp_autogen.hpp +22 -8
- package/src/jstocbpp_transactions.hpp +76 -2
- package/src/transaction.cpp +101 -0
- package/src/transaction.hpp +5 -0
- package/tools/gen-bindings-js.js +2 -1
- package/tools/gen-bindings-json.py +28 -3
@@ -42,4 +42,8 @@ constexpr std::chrono::milliseconds config_poll_interval{ 2'500 };
|
|
42
42
|
constexpr std::chrono::milliseconds config_poll_floor{ 50 };
|
43
43
|
constexpr std::chrono::milliseconds config_idle_redial_timeout{ 5 * 60'000 };
|
44
44
|
constexpr std::chrono::milliseconds idle_http_connection_timeout{ 1'000 };
|
45
|
+
|
46
|
+
constexpr std::chrono::milliseconds app_telemetry_ping_interval{ 30'000 };
|
47
|
+
constexpr std::chrono::milliseconds app_telemetry_ping_timeout{ 2'000 };
|
48
|
+
constexpr std::chrono::milliseconds app_telemetry_backoff_interval{ std::chrono::hours{ 1 } };
|
45
49
|
} // namespace couchbase::core::timeout_defaults
|
@@ -29,9 +29,8 @@
|
|
29
29
|
namespace couchbase::core::topology
|
30
30
|
{
|
31
31
|
auto
|
32
|
-
configuration::node::port_or(service_type type,
|
33
|
-
|
34
|
-
std::uint16_t default_value) const -> std::uint16_t
|
32
|
+
configuration::node::port_or(service_type type, bool is_tls, std::uint16_t default_value) const
|
33
|
+
-> std::uint16_t
|
35
34
|
{
|
36
35
|
if (is_tls) {
|
37
36
|
switch (type) {
|
@@ -90,7 +89,7 @@ configuration::node::hostname_for(const std::string& network) const -> const std
|
|
90
89
|
}
|
91
90
|
const auto& address = alt.find(network);
|
92
91
|
if (address == alt.end()) {
|
93
|
-
|
92
|
+
CB_LOG_DEBUG(R"(requested network "{}" is not found, fallback to "default" host)", network);
|
94
93
|
return hostname;
|
95
94
|
}
|
96
95
|
return address->second.hostname;
|
@@ -107,10 +106,9 @@ configuration::node::port_or(const std::string& network,
|
|
107
106
|
}
|
108
107
|
const auto& address = alt.find(network);
|
109
108
|
if (address == alt.end()) {
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
type);
|
109
|
+
CB_LOG_DEBUG(R"(requested network "{}" is not found, fallback to "default" port of {} service)",
|
110
|
+
network,
|
111
|
+
type);
|
114
112
|
return port_or(type, is_tls, default_value);
|
115
113
|
}
|
116
114
|
if (is_tls) {
|
@@ -163,9 +161,8 @@ configuration::node::port_or(const std::string& network,
|
|
163
161
|
}
|
164
162
|
|
165
163
|
auto
|
166
|
-
configuration::node::endpoint(const std::string& network,
|
167
|
-
|
168
|
-
bool is_tls) const -> std::optional<std::string>
|
164
|
+
configuration::node::endpoint(const std::string& network, service_type type, bool is_tls) const
|
165
|
+
-> std::optional<std::string>
|
169
166
|
{
|
170
167
|
auto p = port_or(type, is_tls, 0);
|
171
168
|
if (p == 0) {
|
@@ -234,8 +231,8 @@ configuration::index_for_this_node() const -> std::size_t
|
|
234
231
|
}
|
235
232
|
|
236
233
|
auto
|
237
|
-
configuration::server_by_vbucket(std::uint16_t vbucket,
|
238
|
-
|
234
|
+
configuration::server_by_vbucket(std::uint16_t vbucket, std::size_t index) const
|
235
|
+
-> std::optional<std::size_t>
|
239
236
|
{
|
240
237
|
if (!vbmap.has_value() || vbucket >= vbmap->size()) {
|
241
238
|
return {};
|
@@ -61,6 +61,8 @@ struct configuration {
|
|
61
61
|
port_map services_tls{};
|
62
62
|
std::map<std::string, alternate_address> alt{};
|
63
63
|
std::string server_group{};
|
64
|
+
std::optional<std::string> app_telemetry_path{};
|
65
|
+
std::string node_uuid{};
|
64
66
|
|
65
67
|
auto operator!=(const node& other) const -> bool
|
66
68
|
{
|
@@ -69,9 +71,8 @@ struct configuration {
|
|
69
71
|
services_tls.key_value != other.services_tls.key_value;
|
70
72
|
}
|
71
73
|
|
72
|
-
[[nodiscard]] auto port_or(service_type type,
|
73
|
-
|
74
|
-
std::uint16_t default_value) const -> std::uint16_t;
|
74
|
+
[[nodiscard]] auto port_or(service_type type, bool is_tls, std::uint16_t default_value) const
|
75
|
+
-> std::uint16_t;
|
75
76
|
|
76
77
|
[[nodiscard]] auto port_or(const std::string& network,
|
77
78
|
service_type type,
|
@@ -80,9 +81,8 @@ struct configuration {
|
|
80
81
|
|
81
82
|
[[nodiscard]] auto hostname_for(const std::string& network) const -> const std::string&;
|
82
83
|
|
83
|
-
[[nodiscard]] auto endpoint(const std::string& network,
|
84
|
-
|
85
|
-
bool is_tls) const -> std::optional<std::string>;
|
84
|
+
[[nodiscard]] auto endpoint(const std::string& network, service_type type, bool is_tls) const
|
85
|
+
-> std::optional<std::string>;
|
86
86
|
};
|
87
87
|
|
88
88
|
[[nodiscard]] auto select_network(const std::string& bootstrap_hostname) const -> std::string;
|
@@ -128,13 +128,13 @@ struct configuration {
|
|
128
128
|
const std::string& hostname,
|
129
129
|
const std::string& port) const -> bool;
|
130
130
|
|
131
|
-
auto map_key(const std::string& key,
|
132
|
-
|
133
|
-
auto map_key(const std::vector<std::byte>& key,
|
134
|
-
|
131
|
+
auto map_key(const std::string& key, std::size_t index) const
|
132
|
+
-> std::pair<std::uint16_t, std::optional<std::size_t>>;
|
133
|
+
auto map_key(const std::vector<std::byte>& key, std::size_t index) const
|
134
|
+
-> std::pair<std::uint16_t, std::optional<std::size_t>>;
|
135
135
|
|
136
|
-
auto server_by_vbucket(std::uint16_t vbucket,
|
137
|
-
|
136
|
+
auto server_by_vbucket(std::uint16_t vbucket, std::size_t index) const
|
137
|
+
-> std::optional<std::size_t>;
|
138
138
|
};
|
139
139
|
|
140
140
|
using endpoint = std::pair<std::string, std::string>;
|
@@ -145,7 +145,6 @@ make_blank_configuration(const std::string& hostname,
|
|
145
145
|
std::uint16_t tls_port) -> configuration;
|
146
146
|
|
147
147
|
auto
|
148
|
-
make_blank_configuration(const std::vector<endpoint>& endpoints,
|
149
|
-
|
150
|
-
bool force = false) -> configuration;
|
148
|
+
make_blank_configuration(const std::vector<endpoint>& endpoints, bool use_tls, bool force = false)
|
149
|
+
-> configuration;
|
151
150
|
} // namespace couchbase::core::topology
|
@@ -61,6 +61,12 @@ struct traits<couchbase::core::topology::configuration> {
|
|
61
61
|
if (const auto& group = o.find("serverGroup"); group != o.end()) {
|
62
62
|
n.server_group = group->second.get_string();
|
63
63
|
}
|
64
|
+
if (const auto& path = o.find("appTelemetryPath"); path != o.end()) {
|
65
|
+
n.app_telemetry_path = path->second.get_string();
|
66
|
+
}
|
67
|
+
if (const auto& uuid = o.find("nodeUUID"); uuid != o.end()) {
|
68
|
+
n.node_uuid = uuid->second.get_string();
|
69
|
+
}
|
64
70
|
const auto& s = o.at("services");
|
65
71
|
n.services_plain.key_value = s.template optional<std::uint16_t>("kv");
|
66
72
|
n.services_plain.management = s.template optional<std::uint16_t>("mgmt");
|
@@ -15,11 +15,14 @@
|
|
15
15
|
*/
|
16
16
|
#pragma once
|
17
17
|
|
18
|
-
#include "core/error_context/subdocument_error_context.hxx"
|
19
18
|
#include "core/operations/document_query.hxx"
|
20
|
-
#include "
|
19
|
+
#include "transaction_get_multi_mode.hxx"
|
20
|
+
#include "transaction_get_multi_replicas_from_preferred_server_group_mode.hxx"
|
21
|
+
#include "transaction_get_multi_replicas_from_preferred_server_group_result.hxx"
|
22
|
+
#include "transaction_get_multi_result.hxx"
|
21
23
|
#include "transaction_get_result.hxx"
|
22
24
|
|
25
|
+
// FIXME(SA): remove public API from the core
|
23
26
|
#include <couchbase/transactions/transaction_query_options.hxx>
|
24
27
|
|
25
28
|
#include <optional>
|
@@ -42,6 +45,11 @@ public:
|
|
42
45
|
using QueryCallback =
|
43
46
|
std::function<void(std::exception_ptr, std::optional<core::operations::query_response>)>;
|
44
47
|
|
48
|
+
async_attempt_context() = default;
|
49
|
+
async_attempt_context(async_attempt_context&&) = default;
|
50
|
+
async_attempt_context(const async_attempt_context&) noexcept = default;
|
51
|
+
auto operator=(async_attempt_context&&) -> async_attempt_context& = default;
|
52
|
+
auto operator=(const async_attempt_context&) noexcept -> async_attempt_context& = default;
|
45
53
|
virtual ~async_attempt_context() = default;
|
46
54
|
|
47
55
|
/**
|
@@ -78,6 +86,18 @@ public:
|
|
78
86
|
const core::document_id& id,
|
79
87
|
std::function<void(std::exception_ptr, std::optional<transaction_get_result>)>&& cb) = 0;
|
80
88
|
|
89
|
+
virtual void get_multi(
|
90
|
+
const std::vector<core::document_id>& ids,
|
91
|
+
transaction_get_multi_mode mode,
|
92
|
+
std::function<void(std::exception_ptr, std::optional<transaction_get_multi_result>)>&& cb) = 0;
|
93
|
+
|
94
|
+
virtual void get_multi_replicas_from_preferred_server_group(
|
95
|
+
const std::vector<core::document_id>& ids,
|
96
|
+
transaction_get_multi_replicas_from_preferred_server_group_mode mode,
|
97
|
+
std::function<void(
|
98
|
+
std::exception_ptr,
|
99
|
+
std::optional<transaction_get_multi_replicas_from_preferred_server_group_result>)>&& cb) = 0;
|
100
|
+
|
81
101
|
/**
|
82
102
|
* Mutates the specified document with new content, using the document's last
|
83
103
|
* TransactionDocument#cas().
|
@@ -15,10 +15,14 @@
|
|
15
15
|
*/
|
16
16
|
#pragma once
|
17
17
|
|
18
|
+
#include "core/operations/document_query.hxx"
|
19
|
+
#include "transaction_get_multi_mode.hxx"
|
20
|
+
#include "transaction_get_multi_replicas_from_preferred_server_group_mode.hxx"
|
21
|
+
#include "transaction_get_multi_replicas_from_preferred_server_group_result.hxx"
|
22
|
+
#include "transaction_get_multi_result.hxx"
|
18
23
|
#include "transaction_get_result.hxx"
|
19
24
|
|
20
|
-
|
21
|
-
|
25
|
+
// TODO(SA): remove public API from core interfaces
|
22
26
|
#include <couchbase/transactions/transaction_query_options.hxx>
|
23
27
|
|
24
28
|
#include <optional>
|
@@ -37,7 +41,13 @@ namespace couchbase::core::transactions
|
|
37
41
|
class attempt_context
|
38
42
|
{
|
39
43
|
public:
|
44
|
+
attempt_context() = default;
|
45
|
+
attempt_context(attempt_context&&) noexcept = default;
|
46
|
+
attempt_context(const attempt_context&) = default;
|
47
|
+
auto operator=(attempt_context&&) noexcept -> attempt_context& = default;
|
48
|
+
auto operator=(const attempt_context&) -> attempt_context& = default;
|
40
49
|
virtual ~attempt_context() = default;
|
50
|
+
|
41
51
|
/**
|
42
52
|
* Gets a document from the specified Couchbase collection matching the
|
43
53
|
* specified id.
|
@@ -80,6 +90,14 @@ public:
|
|
80
90
|
virtual auto get_replica_from_preferred_server_group(const core::document_id& id)
|
81
91
|
-> std::optional<transaction_get_result> = 0;
|
82
92
|
|
93
|
+
virtual auto get_multi(const std::vector<core::document_id>& ids, transaction_get_multi_mode mode)
|
94
|
+
-> transaction_get_multi_result = 0;
|
95
|
+
|
96
|
+
virtual auto get_multi_replicas_from_preferred_server_group(
|
97
|
+
const std::vector<core::document_id>& ids,
|
98
|
+
transaction_get_multi_replicas_from_preferred_server_group_mode mode)
|
99
|
+
-> transaction_get_multi_replicas_from_preferred_server_group_result = 0;
|
100
|
+
|
83
101
|
/**
|
84
102
|
* Mutates the specified document with new content, using the document's last
|
85
103
|
* TransactionDocument#cas().
|
@@ -101,8 +119,8 @@ public:
|
|
101
119
|
* @throws transaction_operation_failed which either should not be caught by
|
102
120
|
* the lambda, or rethrown if it is caught.
|
103
121
|
*/
|
104
|
-
virtual auto replace(const transaction_get_result& document,
|
105
|
-
|
122
|
+
virtual auto replace(const transaction_get_result& document, codec::encoded_value content)
|
123
|
+
-> transaction_get_result = 0;
|
106
124
|
|
107
125
|
/**
|
108
126
|
* Inserts a new document into the specified Couchbase collection.
|
@@ -124,8 +142,8 @@ public:
|
|
124
142
|
* @throws transaction_operation_failed which either should not be caught by
|
125
143
|
* the lambda, or rethrown if it is caught.
|
126
144
|
*/
|
127
|
-
virtual auto insert(const core::document_id& id,
|
128
|
-
|
145
|
+
virtual auto insert(const core::document_id& id, codec::encoded_value content)
|
146
|
+
-> transaction_get_result = 0;
|
129
147
|
|
130
148
|
/**
|
131
149
|
* Removes the specified document, using the document's last
|
@@ -157,7 +175,7 @@ public:
|
|
157
175
|
const couchbase::transactions::transaction_query_options& opts,
|
158
176
|
std::optional<std::string> query_context = {}) -> core::operations::query_response
|
159
177
|
{
|
160
|
-
return do_core_query(statement, opts, query_context);
|
178
|
+
return do_core_query(statement, opts, std::move(query_context));
|
161
179
|
};
|
162
180
|
|
163
181
|
/**
|